# compiler: R8
# compiler_version: 3.3.18-dev
# compiler_hash: engineering
# common_typos_disable
# {"id":"com.android.tools.r8.mapping","version":"2.0"}
# pg_map_id: 3.3.18-dev
# pg_map_hash: SHA-256 57e00dac6d82ecf6f07c88743a0b3a2e4dcfa5971f897ee9f800febdeedc366d
com.android.tools.r8.ApiLevelException -> com.android.tools.r8.internal.i2:
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():10:10 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):14:14 -> <init>
    1:4:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):21:24 -> a
    5:5:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":11,"2":12,"3":13}}
    11:11:java.lang.String com.android.tools.r8.utils.AndroidApiLevel.getName():64:64 -> a
    11:11:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24 -> a
    12:12:java.lang.String com.android.tools.r8.utils.AndroidApiLevel.getName():64:64 -> a
    12:12:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24 -> a
    13:13:java.lang.String com.android.tools.r8.utils.AndroidApiLevel.getName():64:64 -> a
    13:13:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24 -> a
    6:6:java.lang.String com.android.tools.r8.utils.AndroidApiLevel.getName():64:64 -> a
    6:6:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24 -> a
    7:9:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):24:26 -> a
    10:10:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":14,"2":15,"3":16,"4":17,"5":18,"6":19}}
    14:14:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
    15:15:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
    16:16:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
    17:17:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
    18:18:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
    19:19:java.lang.String makeMessage(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String):28:28 -> a
com.android.tools.r8.ArchiveClassFileProvider -> com.android.tools.r8.ArchiveClassFileProvider:
    com.android.tools.r8.origin.Origin origin -> b
    java.util.Set descriptors -> d
    java.util.zip.ZipFile zipFile -> c
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():39:39 -> <clinit>
    1:1:void <init>(java.nio.file.Path):51:51 -> <init>
    2:2:void <init>(java.nio.file.Path,java.util.function.Predicate):60:60 -> <init>
    3:37:void <init>(java.nio.file.Path,java.util.function.Predicate):43:77 -> <init>
    38:41:void <init>(java.nio.file.Path,java.util.function.Predicate):66:69 -> <init>
    boolean lambda$new$0(java.lang.String) -> a
    1:1:void close():112:112 -> close
    1:2:void finalize():106:107 -> finalize
    1:1:java.util.Set getClassDescriptors():84:84 -> getClassDescriptors
    1:1:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):89:89 -> getProgramResource
    2:2:java.util.zip.ZipEntry getZipEntryFromDescriptor(java.lang.String):116:116 -> getProgramResource
    2:2:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):92 -> getProgramResource
    3:8:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):93:98 -> getProgramResource
    9:14:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):94:99 -> getProgramResource
    15:22:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):93:100 -> getProgramResource
    23:23:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):0:0 -> getProgramResource
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":126,"2":127,"3":128,"4":129,"5":130}}
    126:126:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
    127:127:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
    128:128:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
    129:129:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
    130:130:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
    123:123:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
    124:124:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> getProgramResource
    124:124:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> getProgramResource
    124:124:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100 -> getProgramResource
    125:125:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):100:100 -> getProgramResource
com.android.tools.r8.ArchiveProgramResourceProvider -> com.android.tools.r8.ArchiveProgramResourceProvider:
    com.android.tools.r8.origin.Origin origin -> a
    java.util.function.Predicate include -> c
    com.android.tools.r8.ArchiveProgramResourceProvider$ZipFileSupplier supplier -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:7:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.ArchiveProgramResourceProvider$ZipFileSupplier,java.util.function.Predicate):82:88 -> <init>
    1:1:java.util.zip.ZipFile lambda$fromArchive$0(java.nio.file.Path):66:66 -> a
    2:7:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):92:97 -> a
    8:8:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):100:100 -> a
    8:8:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):98 -> a
    9:9:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):96:96 -> a
    10:10:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):100:100 -> a
    10:10:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):98 -> a
    11:11:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):98:98 -> a
    12:12:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):100:100 -> a
    12:12:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):100 -> a
    13:13:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):92:92 -> a
    14:14:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):100:100 -> a
    14:14:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):100 -> a
    15:16:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):100:101 -> a
    17:17:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":121,"2":122,"3":123}}
    121:121:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):101:101 -> a
    122:122:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):101:101 -> a
    123:123:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):101:101 -> a
    118:118:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):101:101 -> a
    119:119:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    119:119:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):101 -> a
    120:120:void readArchive(com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer):101:101 -> a
    124:126:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):112:114 -> a
    127:128:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> a
    127:128:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):114 -> a
    129:131:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):115:117 -> a
    132:132:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):116:116 -> a
    133:143:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):115:125 -> a
    144:144:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):121:121 -> a
    145:145:void lambda$getProgramResources$1(java.util.List,java.util.List,com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream):120:120 -> a
    1:1:com.android.tools.r8.ArchiveProgramResourceProvider fromArchive(java.nio.file.Path):59:59 -> fromArchive
    2:2:com.android.tools.r8.ArchiveProgramResourceProvider fromArchive(java.nio.file.Path,java.util.function.Predicate):64:64 -> fromArchive
    1:1:com.android.tools.r8.ArchiveProgramResourceProvider fromSupplier(com.android.tools.r8.origin.Origin,com.android.tools.r8.ArchiveProgramResourceProvider$ZipFileSupplier):72:72 -> fromSupplier
    2:2:com.android.tools.r8.ArchiveProgramResourceProvider fromSupplier(com.android.tools.r8.origin.Origin,com.android.tools.r8.ArchiveProgramResourceProvider$ZipFileSupplier,java.util.function.Predicate):78:78 -> fromSupplier
    1:23:java.util.Collection getProgramResources():108:130 -> getProgramResources
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> getProgramResources
    24:24:java.util.Collection getProgramResources():130 -> getProgramResources
    25:32:java.util.Collection getProgramResources():130:137 -> getProgramResources
    1:1:boolean includeClassFileEntries(java.lang.String):43:43 -> includeClassFileEntries
    1:1:boolean includeClassFileOrDexEntries(java.lang.String):51:51 -> includeClassFileOrDexEntries
    2:3:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> includeClassFileOrDexEntries
    2:3:boolean includeClassFileOrDexEntries(java.lang.String):51 -> includeClassFileOrDexEntries
    1:1:boolean includeDexEntries(java.lang.String):47:47 -> includeDexEntries
    2:3:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> includeDexEntries
    2:3:boolean includeDexEntries(java.lang.String):47 -> includeDexEntries
com.android.tools.r8.ArchiveProgramResourceProvider$ArchiveEntryConsumer -> com.android.tools.r8.ArchiveProgramResourceProvider$a:
    void accept(com.android.tools.r8.origin.ArchiveEntryOrigin,java.io.InputStream) -> a
com.android.tools.r8.AssertionsConfiguration -> com.android.tools.r8.AssertionsConfiguration:
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation transformation -> a
    com.android.tools.r8.references.MethodReference assertionHandler -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope scope -> c
    java.lang.String value -> d
    1:1:void <clinit>():11:11 -> <clinit>
    1:6:void <init>(com.android.tools.r8.AssertionsConfiguration$AssertionTransformation,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope,java.lang.String):51:56 -> <init>
    1:1:com.android.tools.r8.references.MethodReference getAssertionHandler():85:85 -> getAssertionHandler
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope getScope():89:89 -> getScope
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation getTransformation():81:81 -> getTransformation
    1:1:java.lang.String getValue():93:93 -> getValue
    1:1:boolean isAssertionHandler():72:72 -> isAssertionHandler
    1:1:boolean isCompileTimeDisabled():64:64 -> isCompileTimeDisabled
    1:1:boolean isCompileTimeEnabled():60:60 -> isCompileTimeEnabled
    1:1:boolean isPassthrough():68:68 -> isPassthrough
com.android.tools.r8.AssertionsConfiguration$AssertionTransformation -> com.android.tools.r8.AssertionsConfiguration$AssertionTransformation:
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation[] $VALUES -> b
    1:8:void <clinit>():26:33 -> <clinit>
    9:9:void <clinit>():22:22 -> <clinit>
    1:1:void <init>(java.lang.String,int):24:24 -> <init>
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation valueOf(java.lang.String):22:22 -> valueOf
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformation[] values():22:22 -> values
com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope -> com.android.tools.r8.AssertionsConfiguration$a:
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope[] $VALUES -> e
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope CLASS -> d
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope PACKAGE -> c
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope ALL -> b
    1:3:void <clinit>():37:39 -> <clinit>
    4:4:void <clinit>():36:36 -> <clinit>
    1:1:void <init>(java.lang.String,int):36:36 -> <init>
    1:1:com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope[] values():36:36 -> a
com.android.tools.r8.AssertionsConfiguration$Builder -> com.android.tools.r8.AssertionsConfiguration$Builder:
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformation transformation -> b
    com.android.tools.r8.references.MethodReference assertionHandler -> c
    com.android.tools.r8.utils.Reporter reporter -> a
    com.android.tools.r8.AssertionsConfiguration$AssertionTransformationScope scope -> d
    java.lang.String value -> e
    1:1:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.AssertionsConfiguration$1):107:107 -> <init>
    2:3:void <init>(com.android.tools.r8.utils.Reporter):114:115 -> <init>
    1:14:com.android.tools.r8.AssertionsConfiguration build():225:238 -> build
    1:1:com.android.tools.r8.AssertionsConfiguration compileTimeDisableAllAssertions(com.android.tools.r8.AssertionsConfiguration$Builder):301:301 -> compileTimeDisableAllAssertions
    1:1:com.android.tools.r8.AssertionsConfiguration compileTimeEnableAllAssertions(com.android.tools.r8.AssertionsConfiguration$Builder):264:264 -> compileTimeEnableAllAssertions
    1:1:com.android.tools.r8.AssertionsConfiguration disableAllAssertions(com.android.tools.r8.AssertionsConfiguration$Builder):311:311 -> disableAllAssertions
    1:1:com.android.tools.r8.AssertionsConfiguration enableAllAssertions(com.android.tools.r8.AssertionsConfiguration$Builder):274:274 -> enableAllAssertions
    1:1:com.android.tools.r8.AssertionsConfiguration passthroughAllAssertions(com.android.tools.r8.AssertionsConfiguration$Builder):336:336 -> passthroughAllAssertions
    1:2:com.android.tools.r8.AssertionsConfiguration$Builder setAssertionHandler(com.android.tools.r8.references.MethodReference):180:181 -> setAssertionHandler
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setCompileTimeDisable():153:153 -> setCompileTimeDisable
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setCompileTimeEnable():137:137 -> setCompileTimeEnable
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setDisable():160:160 -> setDisable
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setEnable():144:144 -> setEnable
    1:1:com.android.tools.r8.AssertionsConfiguration$Builder setPassthrough():166:166 -> setPassthrough
    1:2:com.android.tools.r8.AssertionsConfiguration$Builder setScopeAll():186:187 -> setScopeAll
    1:2:com.android.tools.r8.AssertionsConfiguration$Builder setScopeClass(java.lang.String):218:219 -> setScopeClass
    1:2:com.android.tools.r8.AssertionsConfiguration$Builder setScopePackage(java.lang.String):203:204 -> setScopePackage
    1:2:com.android.tools.r8.AssertionsConfiguration$Builder setTransformation(com.android.tools.r8.AssertionsConfiguration$AssertionTransformation):127:128 -> setTransformation
com.android.tools.r8.BackportedMethodList -> com.android.tools.r8.BackportedMethodList:
    java.lang.String USAGE_MESSAGE -> a
    1:2:void <clinit>():53:54 -> <clinit>
    1:1:void <init>():51:51 -> <init>
    1:4:java.lang.String formatMethod(com.android.tools.r8.graph.DexMethod):66:69 -> a
    5:5:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    5:5:java.lang.String formatMethod(com.android.tools.r8.graph.DexMethod):69 -> a
    6:6:java.lang.String formatMethod(com.android.tools.r8.graph.DexMethod):69:69 -> a
    7:7:void lambda$run$1(com.android.tools.r8.BackportedMethodListCommand,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):89:89 -> a
    8:18:void lambda$run$1(com.android.tools.r8.BackportedMethodListCommand,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):88:98 -> a
    19:20:void lambda$run$0(com.android.tools.r8.BackportedMethodListCommand,java.lang.String):96:97 -> a
    21:21:void lambda$main$2(java.lang.String[]):110:110 -> a
    1:1:void main(java.lang.String[]):110:110 -> main
    1:6:void run(com.android.tools.r8.BackportedMethodListCommand):73:78 -> run
    7:7:void run(com.android.tools.r8.BackportedMethodListCommand):0:0 -> run
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":111,"2":112,"3":113}}
    111:111:void run(com.android.tools.r8.BackportedMethodListCommand):78:78 -> run
    112:112:void run(com.android.tools.r8.BackportedMethodListCommand):78:78 -> run
    113:113:void run(com.android.tools.r8.BackportedMethodListCommand):78:78 -> run
    85:93:void run(com.android.tools.r8.BackportedMethodListCommand):78:86 -> run
    94:110:void run(com.android.tools.r8.BackportedMethodListCommand):85:101 -> run
    114:114:void run(java.lang.String[]):106:106 -> run
com.android.tools.r8.BackportedMethodListCommand -> com.android.tools.r8.BackportedMethodListCommand:
    com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification desugaredLibrarySpecification -> e
    com.android.tools.r8.graph.DexItemFactory factory -> h
    com.android.tools.r8.StringConsumer backportedMethodListConsumer -> g
    int minApiLevel -> d
    boolean printHelp -> a
    boolean printVersion -> b
    com.android.tools.r8.utils.AndroidApp app -> f
    com.android.tools.r8.utils.Reporter reporter -> c
    1:1:void <init>(com.android.tools.r8.utils.Reporter,int,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.StringConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.BackportedMethodListCommand$1):39:39 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.BackportedMethodListCommand$1):39:39 -> <init>
    3:11:void <init>(boolean,boolean):78:86 -> <init>
    12:20:void <init>(com.android.tools.r8.utils.Reporter,int,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.StringConsumer,com.android.tools.r8.graph.DexItemFactory):95:103 -> <init>
    1:1:com.android.tools.r8.utils.AndroidApp getInputApp():75:75 -> a
    1:1:com.android.tools.r8.utils.InternalOptions getInternalOptions():107:107 -> b
    2:2:com.android.tools.r8.utils.Reporter getReporter():59:59 -> b
    2:2:com.android.tools.r8.utils.InternalOptions getInternalOptions():107 -> b
    3:5:com.android.tools.r8.utils.InternalOptions getInternalOptions():107:109 -> b
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder builder():114:114 -> builder
    2:2:com.android.tools.r8.BackportedMethodListCommand$Builder builder(com.android.tools.r8.DiagnosticsHandler):118:118 -> builder
    1:1:com.android.tools.r8.utils.Reporter getReporter():59:59 -> c
    1:1:com.android.tools.r8.StringConsumer getBackportedMethodListConsumer():71:71 -> getBackportedMethodListConsumer
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration():67:67 -> getDesugaredLibraryConfiguration
    1:1:int getMinApiLevel():63:63 -> getMinApiLevel
    1:1:boolean isPrintHelp():51:51 -> isPrintHelp
    1:1:boolean isPrintVersion():55:55 -> isPrintVersion
    1:12:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):123:134 -> parse
    13:13:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":473,"2":474,"3":475}}
    473:473:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    474:474:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    475:475:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    147:147:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    148:148:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":476,"2":477,"3":478}}
    476:476:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    477:477:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    478:478:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:134 -> parse
    282:292:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):134:144 -> parse
    293:299:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):165:171 -> parse
    293:299:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    300:300:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":479,"2":480,"3":481,"4":482,"5":483}}
    479:479:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):171:171 -> parse
    479:479:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    480:480:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):171:171 -> parse
    480:480:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    481:481:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):171:171 -> parse
    481:481:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    482:482:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):171:171 -> parse
    482:482:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    483:483:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):171:171 -> parse
    483:483:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    301:304:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):171:174 -> parse
    301:304:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    305:305:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    305:305:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    306:306:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":484,"2":485,"3":486,"4":487,"5":488}}
    484:484:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    484:484:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    485:485:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    485:485:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    486:486:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    486:486:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    487:487:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    487:487:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    488:488:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    488:488:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    307:307:void parseMinApi(com.android.tools.r8.BackportedMethodListCommand$Builder,java.lang.String):167:167 -> parse
    307:307:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):146 -> parse
    308:315:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):149:156 -> parse
    316:316:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":489,"2":490,"3":491,"4":492,"5":493}}
    489:489:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):156:156 -> parse
    490:490:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):156:156 -> parse
    491:491:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):156:156 -> parse
    492:492:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):156:156 -> parse
    493:493:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):156:156 -> parse
    472:472:com.android.tools.r8.BackportedMethodListCommand$Builder parse(java.lang.String[]):156:156 -> parse
com.android.tools.r8.BackportedMethodListCommand$Builder -> com.android.tools.r8.BackportedMethodListCommand$Builder:
    java.util.List desugaredLibrarySpecificationResources -> c
    com.android.tools.r8.utils.AndroidApp$Builder app -> d
    boolean printHelp -> f
    com.android.tools.r8.StringConsumer backportedMethodListConsumer -> e
    boolean printVersion -> g
    int minApiLevel -> b
    com.android.tools.r8.utils.Reporter reporter -> a
    1:1:void <init>(com.android.tools.r8.BackportedMethodListCommand$1):178:178 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.BackportedMethodListCommand$1):178:178 -> <init>
    3:3:void <init>():189:189 -> <init>
    4:4:void <init>(com.android.tools.r8.DiagnosticsHandler):192:192 -> <init>
    5:18:void <init>(com.android.tools.r8.DiagnosticsHandler):181:194 -> <init>
    1:1:void error(com.android.tools.r8.Diagnostic):304:304 -> a
    1:1:void access$200(com.android.tools.r8.BackportedMethodListCommand$Builder,com.android.tools.r8.Diagnostic):178 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void error(com.android.tools.r8.Diagnostic):304:304 -> a
    2:2:void access$200(com.android.tools.r8.BackportedMethodListCommand$Builder,com.android.tools.r8.Diagnostic):178 -> a
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder addDesugaredLibraryConfiguration(com.android.tools.r8.StringResource):219:219 -> addDesugaredLibraryConfiguration
    2:2:com.android.tools.r8.BackportedMethodListCommand$Builder addDesugaredLibraryConfiguration(java.lang.String):226:226 -> addDesugaredLibraryConfiguration
    3:3:com.android.tools.r8.BackportedMethodListCommand$Builder addDesugaredLibraryConfiguration(java.lang.String):225:225 -> addDesugaredLibraryConfiguration
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder addLibraryFiles(java.nio.file.Path[]):237:237 -> addLibraryFiles
    2:3:com.android.tools.r8.BackportedMethodListCommand$Builder addLibraryFiles(java.util.Collection):243:244 -> addLibraryFiles
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder addLibraryResourceProvider(com.android.tools.r8.ClassFileResourceProvider):231:231 -> addLibraryResourceProvider
    1:25:com.android.tools.r8.BackportedMethodListCommand build():308:332 -> build
    26:35:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory):250:259 -> build
    26:35:com.android.tools.r8.BackportedMethodListCommand build():335 -> build
    36:36:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory):258:258 -> build
    36:36:com.android.tools.r8.BackportedMethodListCommand build():335 -> build
    37:37:com.android.tools.r8.BackportedMethodListCommand build():335:335 -> build
    38:38:com.android.tools.r8.BackportedMethodListCommand build():316:316 -> build
    1:1:int getMinApiLevel():214:214 -> getMinApiLevel
    1:1:boolean isPrintHelp():283:283 -> isPrintHelp
    1:1:boolean isPrintVersion():294:294 -> isPrintVersion
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder setConsumer(com.android.tools.r8.StringConsumer):277:277 -> setConsumer
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:206 -> setMinApiLevel
    2:2:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):0:0 -> setMinApiLevel
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":211,"2":212,"3":213,"4":214,"5":215}}
    211:211:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:206 -> setMinApiLevel
    212:212:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:206 -> setMinApiLevel
    213:213:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:206 -> setMinApiLevel
    214:214:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:206 -> setMinApiLevel
    215:215:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:206 -> setMinApiLevel
    208:210:com.android.tools.r8.BackportedMethodListCommand$Builder setMinApiLevel(int):206:208 -> setMinApiLevel
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder setOutputPath(java.nio.file.Path):264:264 -> setOutputPath
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder setPrintHelp(boolean):288:288 -> setPrintHelp
    1:1:com.android.tools.r8.BackportedMethodListCommand$Builder setPrintVersion(boolean):299:299 -> setPrintVersion
com.android.tools.r8.BackportedMethodListCommand$Builder$1 -> com.android.tools.r8.a:
    1:1:void <init>():189:189 -> <init>
com.android.tools.r8.BackportedMethodListCommand$Builder$2 -> com.android.tools.r8.b:
    1:1:void <init>(com.android.tools.r8.BackportedMethodListCommand$Builder,java.nio.file.Path):265:265 -> <init>
    1:2:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):268:269 -> accept
com.android.tools.r8.BackportedMethodListCommand$Builder$3 -> com.android.tools.r8.c:
    1:1:void <init>(com.android.tools.r8.BackportedMethodListCommand$Builder):321:321 -> <init>
    1:1:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):324:324 -> accept
com.android.tools.r8.BaseCommand -> com.android.tools.r8.BaseCommand:
    com.android.tools.r8.utils.AndroidApp app -> c
    boolean printHelp -> a
    boolean printVersion -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():32:32 -> <clinit>
    1:5:void <init>(boolean,boolean):40:44 -> <init>
    6:11:void <init>(com.android.tools.r8.utils.AndroidApp):47:52 -> <init>
    1:1:com.android.tools.r8.utils.AndroidApp getInputApp():65:65 -> a
    com.android.tools.r8.utils.InternalOptions getInternalOptions() -> b
    1:1:boolean isPrintHelp():56:56 -> isPrintHelp
    1:1:boolean isPrintVersion():60:60 -> isPrintVersion
com.android.tools.r8.BaseCommand$Builder -> com.android.tools.r8.BaseCommand$Builder:
    java.util.List programFiles -> e
    com.android.tools.r8.utils.AndroidApp$Builder app -> d
    com.android.tools.r8.utils.Reporter reporter -> a
    boolean printHelp -> b
    boolean printVersion -> c
    1:1:void <init>():117:117 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler):121:121 -> <init>
    3:3:void <init>(com.android.tools.r8.utils.AndroidApp$Builder):124:124 -> <init>
    4:20:void <init>(com.android.tools.r8.utils.AndroidApp$Builder):110:126 -> <init>
    1:3:void lambda$build$0(com.android.tools.r8.utils.Box):143:145 -> a
    4:4:com.android.tools.r8.utils.AndroidApp$Builder getAppBuilder():155:155 -> a
    5:5:void lambda$addClasspathFiles$4(java.nio.file.Path[]):219:219 -> a
    6:6:void lambda$addClasspathFiles$5(java.util.Collection):225:225 -> a
    7:7:void addClasspathFile(java.nio.file.Path):230:230 -> a
    8:8:void lambda$addClasspathResourceProvider$7(com.android.tools.r8.ClassFileResourceProvider):235:235 -> a
    9:9:void lambda$addClassProgramData$8(byte[],com.android.tools.r8.origin.Origin):241:241 -> a
    10:10:void lambda$addMainDexClasses$12(java.lang.String[]):300:300 -> a
    11:11:void lambda$setIgnoreDexInArchive$14(boolean):355:355 -> a
    12:14:void guard(java.lang.Runnable):369:371 -> a
    1:2:com.android.tools.r8.BaseCommand$Builder addClassProgramData(byte[],com.android.tools.r8.origin.Origin):241:242 -> addClassProgramData
    1:2:com.android.tools.r8.BaseCommand$Builder addClasspathFiles(java.nio.file.Path[]):219:220 -> addClasspathFiles
    3:4:com.android.tools.r8.BaseCommand$Builder addClasspathFiles(java.util.Collection):225:226 -> addClasspathFiles
    1:2:com.android.tools.r8.BaseCommand$Builder addClasspathResourceProvider(com.android.tools.r8.ClassFileResourceProvider):235:236 -> addClasspathResourceProvider
    1:2:com.android.tools.r8.BaseCommand$Builder addDexProgramData(byte[],com.android.tools.r8.origin.Origin):247:248 -> addDexProgramData
    1:2:com.android.tools.r8.BaseCommand$Builder addLibraryFiles(java.nio.file.Path[]):198:199 -> addLibraryFiles
    3:13:com.android.tools.r8.BaseCommand$Builder addLibraryFiles(java.util.Collection):204:214 -> addLibraryFiles
    1:2:com.android.tools.r8.BaseCommand$Builder addLibraryResourceProvider(com.android.tools.r8.ClassFileResourceProvider):192:193 -> addLibraryResourceProvider
    1:2:com.android.tools.r8.BaseCommand$Builder addMainDexClasses(java.lang.String[]):300:301 -> addMainDexClasses
    3:4:com.android.tools.r8.BaseCommand$Builder addMainDexClasses(java.util.Collection):313:314 -> addMainDexClasses
    1:9:com.android.tools.r8.BaseCommand$Builder addMainDexListFiles(java.nio.file.Path[]):261:269 -> addMainDexListFiles
    10:20:com.android.tools.r8.BaseCommand$Builder addMainDexListFiles(java.util.Collection):278:288 -> addMainDexListFiles
    1:2:com.android.tools.r8.BaseCommand$Builder addProgramFiles(java.nio.file.Path[]):160:161 -> addProgramFiles
    3:14:com.android.tools.r8.BaseCommand$Builder addProgramFiles(java.util.Collection):170:181 -> addProgramFiles
    1:2:com.android.tools.r8.BaseCommand$Builder addProgramResourceProvider(com.android.tools.r8.ProgramResourceProvider):186:187 -> addProgramResourceProvider
    1:1:com.android.tools.r8.utils.Reporter getReporter():165:165 -> b
    2:2:void lambda$addLibraryResourceProvider$2(com.android.tools.r8.ClassFileResourceProvider):192:192 -> b
    3:7:void lambda$addLibraryFiles$3(java.util.Collection):206:210 -> b
    8:8:void error(com.android.tools.r8.origin.Origin,java.lang.Throwable):363:363 -> b
    8:8:void lambda$addLibraryFiles$3(java.util.Collection):210 -> b
    9:9:void lambda$addClasspathFile$6(java.nio.file.Path):230:230 -> b
    10:10:void lambda$addDexProgramData$9(byte[],com.android.tools.r8.origin.Origin):247:247 -> b
    11:11:void lambda$addMainDexListFiles$10(java.nio.file.Path[]):263:263 -> b
    12:12:com.android.tools.r8.utils.AndroidApp$Builder com.android.tools.r8.utils.AndroidApp$Builder.addMainDexListFiles(java.nio.file.Path[]):1160:1160 -> b
    12:12:void lambda$addMainDexListFiles$10(java.nio.file.Path[]):263 -> b
    13:15:void lambda$addMainDexListFiles$10(java.nio.file.Path[]):265:265 -> b
    1:9:com.android.tools.r8.BaseCommand build():139:147 -> build
    com.android.tools.r8.BaseCommand makeCommand() -> c
    1:1:void lambda$addMainDexClasses$13(java.util.Collection):313:313 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
    1:5:void lambda$addMainDexListFiles$11(java.util.Collection):281:285 -> d
    6:6:void lambda$addMainDexListFiles$11(java.util.Collection):283:283 -> d
    1:6:void lambda$addProgramFiles$1(java.util.Collection):172:177 -> e
    7:7:void error(com.android.tools.r8.origin.Origin,java.lang.Throwable):363:363 -> e
    7:7:void lambda$addProgramFiles$1(java.util.Collection):177 -> e
    8:8:void setIgnoreDexInArchive(boolean):355:355 -> e
    1:1:void error(com.android.tools.r8.Diagnostic):341:341 -> error
    void validate() -> f
    1:1:java.lang.RuntimeException fatalError(com.android.tools.r8.Diagnostic):350:350 -> fatalError
    1:1:boolean isPrintHelp():319:319 -> isPrintHelp
    1:1:boolean isPrintVersion():330:330 -> isPrintVersion
    1:2:com.android.tools.r8.BaseCommand$Builder setPrintHelp(boolean):324:325 -> setPrintHelp
    1:2:com.android.tools.r8.BaseCommand$Builder setPrintVersion(boolean):335:336 -> setPrintVersion
com.android.tools.r8.BaseCommand$InputFileOrigin -> com.android.tools.r8.d:
    java.lang.String inputType -> h
    1:2:void <init>(java.lang.String,java.nio.file.Path):75:76 -> <init>
    1:1:java.lang.String part():81:81 -> part
    2:2:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":83,"2":84,"3":85}}
    83:83:java.lang.String part():81:81 -> part
    84:84:java.lang.String part():81:81 -> part
    85:85:java.lang.String part():81:81 -> part
com.android.tools.r8.BaseCommand$LibraryInputOrigin -> com.android.tools.r8.e:
    1:1:void <init>(java.nio.file.Path):95:95 -> <init>
com.android.tools.r8.BaseCommand$ProgramInputOrigin -> com.android.tools.r8.f:
    1:1:void <init>(java.nio.file.Path):88:88 -> <init>
com.android.tools.r8.BaseCompilerCommand -> com.android.tools.r8.BaseCompilerCommand:
    java.util.List outputInspections -> o
    int minApiLevel -> h
    boolean includeClassesChecksum -> k
    java.util.function.BiPredicate dexClassChecksumFilter -> m
    boolean optimizeMultidexForLinearAlloc -> l
    com.android.tools.r8.MapIdProvider mapIdProvider -> r
    com.android.tools.r8.SourceFileProvider sourceFileProvider -> s
    boolean $assertionsDisabled -> t
    com.android.tools.r8.utils.Reporter reporter -> i
    com.android.tools.r8.utils.DumpInputFlags dumpInputFlags -> q
    com.android.tools.r8.StringConsumer mainDexListConsumer -> g
    com.android.tools.r8.ProgramConsumer programConsumer -> f
    com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> j
    java.util.List assertionsConfiguration -> n
    com.android.tools.r8.CompilationMode mode -> e
    int threadCount -> p
    1:1:void <clinit>():39:39 -> <clinit>
    1:16:void <init>(boolean,boolean):59:74 -> <init>
    17:34:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.CompilationMode,com.android.tools.r8.ProgramConsumer,com.android.tools.r8.StringConsumer,int,com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.InternalOptions$DesugarState,boolean,boolean,java.util.function.BiPredicate,java.util.List,java.util.List,int,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.SourceFileProvider):94:111 -> <init>
    boolean lambda$new$0(java.lang.String,java.lang.Long) -> a
    1:1:com.android.tools.r8.utils.InternalOptions$DesugarState getDesugarState():158:158 -> c
    1:1:com.android.tools.r8.utils.DumpInputFlags getDumpInputFlags():201:201 -> d
    1:1:com.android.tools.r8.utils.Reporter getReporter():205:205 -> e
    1:1:java.util.List getAssertionsConfiguration():188:188 -> getAssertionsConfiguration
    1:1:java.util.function.BiPredicate getDexClassChecksumFilter():176:176 -> getDexClassChecksumFilter
    1:1:boolean getEnableDesugaring():154:154 -> getEnableDesugaring
    1:1:boolean getIncludeClassesChecksum():171:171 -> getIncludeClassesChecksum
    1:1:com.android.tools.r8.StringConsumer getMainDexListConsumer():149:149 -> getMainDexListConsumer
    1:1:com.android.tools.r8.MapIdProvider getMapIdProvider():162:162 -> getMapIdProvider
    1:1:int getMinApiLevel():124:124 -> getMinApiLevel
    1:1:com.android.tools.r8.CompilationMode getMode():119:119 -> getMode
    1:1:java.util.Collection getOutputInspections():192:192 -> getOutputInspections
    1:1:com.android.tools.r8.ProgramConsumer getProgramConsumer():142:142 -> getProgramConsumer
    1:1:com.android.tools.r8.SourceFileProvider getSourceFileProvider():166:166 -> getSourceFileProvider
    1:1:int getThreadCount():197:197 -> getThreadCount
    1:1:boolean isOptimizeMultidexForLinearAlloc():184:184 -> isOptimizeMultidexForLinearAlloc
com.android.tools.r8.BaseCompilerCommand$Builder -> com.android.tools.r8.BaseCompilerCommand$Builder:
    java.util.List assertionsConfiguration -> r
    int threadCount -> l
    boolean includeClassesChecksum -> o
    java.util.function.BiPredicate dexClassChecksumFilter -> q
    boolean optimizeMultidexForLinearAlloc -> p
    com.android.tools.r8.MapIdProvider mapIdProvider -> v
    java.nio.file.Path outputPath -> h
    int minApiLevel -> k
    java.util.List outputInspections -> s
    com.android.tools.r8.OutputMode outputMode -> i
    boolean $assertionsDisabled -> x
    com.android.tools.r8.StringConsumer proguardMapConsumer -> t
    com.android.tools.r8.SourceFileProvider sourceFileProvider -> w
    com.android.tools.r8.utils.DumpInputFlags dumpInputFlags -> u
    com.android.tools.r8.CompilationMode mode -> j
    com.android.tools.r8.StringConsumer mainDexListConsumer -> g
    com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> m
    com.android.tools.r8.ProgramConsumer programConsumer -> f
    java.util.List desugaredLibrarySpecificationResources -> n
    1:1:void <clinit>():215:215 -> <clinit>
    1:1:void <init>(com.android.tools.r8.DiagnosticsHandler):248:248 -> <init>
    2:32:void <init>(com.android.tools.r8.DiagnosticsHandler):219:249 -> <init>
    33:33:void <init>(com.android.tools.r8.utils.AndroidApp):254:254 -> <init>
    34:70:void <init>(com.android.tools.r8.utils.AndroidApp):219:255 -> <init>
    71:71:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):260:260 -> <init>
    72:114:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):219:261 -> <init>
    boolean lambda$new$0(java.lang.String,java.lang.Long) -> a
    1:33:com.android.tools.r8.InternalProgramOutputPathConsumer createProgramOutputConsumer(java.nio.file.Path,com.android.tools.r8.OutputMode,boolean):454:486 -> a
    34:47:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):580:593 -> a
    48:48:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):588:588 -> a
    49:49:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):584:584 -> a
    50:50:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    50:50:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):584 -> a
    51:51:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    51:51:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    51:51:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):584 -> a
    52:52:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification getDesugaredLibraryConfiguration(com.android.tools.r8.graph.DexItemFactory,boolean):584:584 -> a
    53:57:com.android.tools.r8.BaseCompilerCommand$Builder setThreadCount(int):609:613 -> a
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder addAssertionsConfiguration(java.util.function.Function):633:634 -> addAssertionsConfiguration
    3:3:com.android.tools.r8.AssertionsConfiguration$Builder com.android.tools.r8.AssertionsConfiguration.builder(com.android.tools.r8.utils.Reporter):97:97 -> addAssertionsConfiguration
    3:3:com.android.tools.r8.BaseCompilerCommand$Builder addAssertionsConfiguration(java.util.function.Function):634 -> addAssertionsConfiguration
    4:4:com.android.tools.r8.BaseCompilerCommand$Builder addAssertionsConfiguration(java.util.function.Function):634:634 -> addAssertionsConfiguration
    5:7:com.android.tools.r8.BaseCompilerCommand$Builder addAssertionsConfiguration(java.util.function.Function):633:635 -> addAssertionsConfiguration
    1:3:com.android.tools.r8.BaseCompilerCommand$Builder addDesugaredLibraryConfiguration(java.lang.String):567:567 -> addDesugaredLibraryConfiguration
    5:5:com.android.tools.r8.BaseCompilerCommand$Builder addDesugaredLibraryConfiguration(java.lang.String):569:569 -> addDesugaredLibraryConfiguration
    6:7:com.android.tools.r8.BaseCompilerCommand$Builder addDesugaredLibraryConfiguration(com.android.tools.r8.StringResource):574:575 -> addDesugaredLibraryConfiguration
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder addOutputInspection(java.util.function.Consumer):716:717 -> addOutputInspection
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder addSpecialLibraryConfiguration(java.lang.String):561:561 -> addSpecialLibraryConfiguration
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder dumpInputToDirectory(java.nio.file.Path):644:645 -> c
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder dumpInputToFile(java.nio.file.Path):639:640 -> d
    1:32:void validate():654:685 -> f
    33:33:void validate():0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":725,"2":726,"3":727}}
    725:725:void validate():686:686 -> f
    726:726:void validate():686:686 -> f
    727:727:void validate():686:686 -> f
    721:723:void validate():688:690 -> f
    724:724:void validate():686:686 -> f
    com.android.tools.r8.CompilationMode defaultCompilationMode() -> g
    1:1:java.util.function.BiPredicate getDexClassChecksumFilter():349:349 -> getDexClassChecksumFilter
    1:1:boolean getDisableDesugaring():532:532 -> getDisableDesugaring
    1:1:boolean getIncludeClassesChecksum():622:622 -> getIncludeClassesChecksum
    1:1:com.android.tools.r8.StringConsumer getMainDexListConsumer():342:342 -> getMainDexListConsumer
    1:1:com.android.tools.r8.MapIdProvider getMapIdProvider():546:546 -> getMapIdProvider
    1:1:int getMinApiLevel():491:491 -> getMinApiLevel
    1:1:com.android.tools.r8.CompilationMode getMode():268:268 -> getMode
    1:1:com.android.tools.r8.OutputMode getOutputMode():297:297 -> getOutputMode
    1:1:java.nio.file.Path getOutputPath():287:287 -> getOutputPath
    1:1:com.android.tools.r8.ProgramConsumer getProgramConsumer():308:308 -> getProgramConsumer
    1:1:com.android.tools.r8.SourceFileProvider getSourceFileProvider():556:556 -> getSourceFileProvider
    1:1:java.util.List getAssertionsConfiguration():626:626 -> h
    1:1:com.android.tools.r8.utils.DumpInputFlags getDumpInputFlags():649:649 -> i
    1:1:java.util.List getOutputInspections():721:721 -> j
    1:1:int getThreadCount():617:617 -> k
    1:1:boolean hasDesugaredLibraryConfiguration():597:597 -> l
    1:1:boolean isMinApiLevelSet():495:495 -> m
    1:1:boolean isOptimizeMultidexForLinearAlloc():367:367 -> n
    1:3:com.android.tools.r8.BaseCompilerCommand$Builder setDexClassChecksumFilter(java.util.function.BiPredicate):445:447 -> setDexClassChecksumFilter
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setDisableDesugaring(boolean):526:527 -> setDisableDesugaring
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setEnableDesugaring(boolean):510:511 -> setEnableDesugaring
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setIncludeClassesChecksum(boolean):602:603 -> setIncludeClassesChecksum
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setMainDexListConsumer(com.android.tools.r8.StringConsumer):410:411 -> setMainDexListConsumer
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setMainDexListOutputPath(java.nio.file.Path):397:398 -> setMainDexListOutputPath
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setMapIdProvider(com.android.tools.r8.MapIdProvider):541:542 -> setMapIdProvider
    1:5:com.android.tools.r8.BaseCompilerCommand$Builder setMinApiLevel(int):501:505 -> setMinApiLevel
    1:3:com.android.tools.r8.BaseCompilerCommand$Builder setMode(com.android.tools.r8.CompilationMode):275:277 -> setMode
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setOptimizeMultidexForLinearAlloc(boolean):358:359 -> setOptimizeMultidexForLinearAlloc
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode):425:425 -> setOutput
    2:7:com.android.tools.r8.BaseCompilerCommand$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode,boolean):430:435 -> setOutput
    1:4:com.android.tools.r8.BaseCompilerCommand$Builder setProgramConsumer(com.android.tools.r8.ProgramConsumer):381:384 -> setProgramConsumer
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setProguardMapConsumer(com.android.tools.r8.StringConsumer):334:335 -> setProguardMapConsumer
    1:2:com.android.tools.r8.BaseCompilerCommand$Builder setSourceFileProvider(com.android.tools.r8.SourceFileProvider):551:552 -> setSourceFileProvider
com.android.tools.r8.BaseCompilerCommand$Builder$1 -> com.android.tools.r8.g:
    1:1:void <init>(com.android.tools.r8.BaseCompilerCommand$Builder,java.nio.file.Path,boolean):461:461 -> <init>
com.android.tools.r8.BaseCompilerCommand$Builder$2 -> com.android.tools.r8.h:
    1:1:void <init>(com.android.tools.r8.BaseCompilerCommand$Builder,java.nio.file.Path,boolean):468:468 -> <init>
com.android.tools.r8.BaseCompilerCommandParser -> com.android.tools.r8.j:
    boolean $assertionsDisabled -> e
    java.lang.Iterable MAP_DIAGNOSTICS_USAGE_MESSAGE -> c
    java.lang.Iterable THREAD_COUNT_USAGE_MESSAGE -> b
    java.lang.Iterable ASSERTIONS_USAGE_MESSAGE -> a
    java.lang.String PACKAGE_ASSERTION_POSTFIX -> d
    1:75:void <clinit>():21:95 -> <clinit>
    1:1:void <init>():21:21 -> <init>
    1:8:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):81:88 -> a
    9:9:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":191,"2":192,"3":193,"4":194,"5":195,"6":196,"7":197}}
    191:191:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):88:88 -> a
    192:192:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):88:88 -> a
    193:193:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):88:88 -> a
    194:194:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):88:88 -> a
    195:195:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):88:88 -> a
    196:196:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):88:88 -> a
    197:197:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):88:88 -> a
    97:101:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):88:92 -> a
    102:102:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):83:83 -> a
    103:103:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":198,"2":199,"3":200,"4":201,"5":202,"6":203,"7":204}}
    198:198:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):83:83 -> a
    199:199:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):83:83 -> a
    200:200:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):83:83 -> a
    201:201:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):83:83 -> a
    202:202:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):83:83 -> a
    203:203:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):83:83 -> a
    204:204:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):83:83 -> a
    186:186:void parsePositiveIntArgument(java.util.function.Consumer,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.util.function.Consumer):83:83 -> a
    205:215:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):108:118 -> a
    205:215:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$0(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$Builder):129 -> a
    216:216:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):116:116 -> a
    216:216:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$0(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$Builder):129 -> a
    217:217:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):114:114 -> a
    217:217:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$0(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$Builder):129 -> a
    218:218:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):112:112 -> a
    218:218:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$0(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$Builder):129 -> a
    219:219:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):110:110 -> a
    219:219:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$0(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$Builder):129 -> a
    220:220:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$0(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,com.android.tools.r8.AssertionsConfiguration$Builder):129:129 -> a
    221:231:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):108:118 -> a
    221:231:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):135 -> a
    232:232:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):116:116 -> a
    232:232:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):135 -> a
    233:233:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):114:114 -> a
    233:233:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):135 -> a
    234:234:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):112:112 -> a
    234:234:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):135 -> a
    235:235:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):110:110 -> a
    235:235:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):135 -> a
    236:236:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):137:137 -> a
    237:239:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$1(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):136:138 -> a
    240:252:void addAssertionTransformation(com.android.tools.r8.BaseCompilerCommand$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String):128:140 -> a
    253:316:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):151:214 -> a
    317:319:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):213:215 -> a
    320:325:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):212:217 -> a
    326:326:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    327:327:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":822,"2":823,"3":824,"4":825,"5":826}}
    822:822:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    823:823:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    824:824:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    825:825:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    826:826:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    534:534:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):207:207 -> a
    535:535:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):198:198 -> a
    536:581:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):189:234 -> a
    582:582:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":853,"2":854,"3":855,"4":856,"5":857}}
    853:853:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):234:234 -> a
    854:854:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):234:234 -> a
    855:855:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):234:234 -> a
    856:856:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):234:234 -> a
    857:857:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):234:234 -> a
    816:820:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):234:238 -> a
    821:821:boolean tryParseAssertionArgument(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,com.android.tools.r8.origin.Origin):237:237 -> a
    858:862:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):279:283 -> a
    863:863:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1482,"2":1483,"3":1484,"4":1485,"5":1486,"6":1487}}
    1482:1482:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:283 -> a
    1483:1483:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:283 -> a
    1484:1484:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:283 -> a
    1485:1485:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:283 -> a
    1486:1486:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:283 -> a
    1487:1487:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:283 -> a
    1146:1157:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):283:294 -> a
    1158:1158:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    1159:1159:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1494,"2":1495,"3":1496,"4":1497,"5":1498,"6":1499}}
    1494:1494:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    1495:1495:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    1496:1496:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    1497:1497:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    1498:1498:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    1499:1499:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:290 -> a
    1449:1455:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):290:296 -> a
    1456:1465:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):253:262 -> a
    1456:1465:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1466:1466:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1500,"2":1501,"3":1502,"4":1503,"5":1504,"6":1505}}
    1500:1500:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1500:1500:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1501:1501:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1501:1501:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1502:1502:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1502:1502:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1503:1503:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1503:1503:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1504:1504:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1504:1504:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1505:1505:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1505:1505:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1467:1467:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1467:1467:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):296 -> a
    1468:1468:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297:297 -> a
    1469:1478:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):253:262 -> a
    1469:1478:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1479:1479:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1506,"2":1507,"3":1508,"4":1509,"5":1510,"6":1511}}
    1506:1506:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1506:1506:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1507:1507:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1507:1507:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1508:1508:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1508:1508:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1509:1509:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1509:1509:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1510:1510:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1510:1510:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1511:1511:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1511:1511:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1480:1480:com.android.tools.r8.DiagnosticsLevel tryParseLevel(java.util.function.Consumer,java.lang.String,com.android.tools.r8.origin.Origin):262:262 -> a
    1480:1480:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):297 -> a
    1481:1481:int tryParseMapDiagnostics(java.util.function.Consumer,com.android.tools.r8.utils.Reporter,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):299:299 -> a
    1512:1516:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):305:309 -> a
    1517:1517:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1834,"2":1835,"3":1836,"4":1837,"5":1838,"6":1839}}
    1834:1834:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:309 -> a
    1835:1835:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:309 -> a
    1836:1836:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:309 -> a
    1837:1837:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:309 -> a
    1838:1838:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:309 -> a
    1839:1839:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:309 -> a
    1826:1833:int tryParseDump(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):309:316 -> a
    1840:1840:void addLibraryArgument(com.android.tools.r8.BaseCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):344:344 -> a
    1841:1852:boolean isJdkHome(java.nio.file.Path):326:337 -> a
    1841:1852:void addLibraryArgument(com.android.tools.r8.BaseCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):345 -> a
    1853:1858:void addLibraryArgument(com.android.tools.r8.BaseCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):348:353 -> a
    1:11:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):108:118 -> b
    1:11:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$2(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):142 -> b
    12:12:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):116:116 -> b
    12:12:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$2(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):142 -> b
    13:13:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):114:114 -> b
    13:13:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$2(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):142 -> b
    14:14:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):112:112 -> b
    14:14:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$2(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):142 -> b
    15:15:com.android.tools.r8.AssertionsConfiguration$Builder prepareBuilderForScope(com.android.tools.r8.AssertionsConfiguration$Builder,com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference):110:110 -> b
    15:15:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$2(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):142 -> b
    16:17:com.android.tools.r8.AssertionsConfiguration lambda$addAssertionTransformation$2(com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType,com.android.tools.r8.references.MethodReference,java.lang.String,com.android.tools.r8.AssertionsConfiguration$Builder):143:144 -> b
    18:20:int tryParseMapDiagnostics(com.android.tools.r8.BaseCompilerCommand$Builder,java.lang.String,java.lang.String[],int,com.android.tools.r8.origin.Origin):247:247 -> b
com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType -> com.android.tools.r8.i:
    com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType ENABLE -> b
    com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType[] $VALUES -> f
    com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType HANDLER -> e
    com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType PASSTHROUGH -> d
    com.android.tools.r8.BaseCompilerCommandParser$AssertionTransformationType DISABLE -> c
    1:4:void <clinit>():98:101 -> <clinit>
    5:5:void <clinit>():97:97 -> <clinit>
    1:1:void <init>(java.lang.String,int):97:97 -> <init>
com.android.tools.r8.ByteBufferProvider -> com.android.tools.r8.ByteBufferProvider:
    1:1:java.nio.ByteBuffer acquireByteBuffer(int):24:24 -> acquireByteBuffer
com.android.tools.r8.ByteDataView -> com.android.tools.r8.ByteDataView:
    byte[] buffer -> a
    int offset -> b
    int length -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():9:9 -> <clinit>
    1:7:void <init>(byte[],int,int):25:31 -> <init>
    1:1:byte[] copyByteData():58:58 -> copyByteData
    1:2:byte[] getBuffer():36:37 -> getBuffer
    1:2:int getLength():52:53 -> getLength
    1:2:int getOffset():42:43 -> getOffset
    1:1:void invalidate():62:62 -> invalidate
    1:1:com.android.tools.r8.ByteDataView of(byte[]):17:17 -> of
com.android.tools.r8.ClassFileConsumer -> com.android.tools.r8.ClassFileConsumer:
    1:1:com.android.tools.r8.ClassFileConsumer emptyConsumer():50:50 -> emptyConsumer
com.android.tools.r8.ClassFileConsumer$ArchiveConsumer -> com.android.tools.r8.ClassFileConsumer$ArchiveConsumer:
    com.android.tools.r8.utils.OutputBuilder outputBuilder -> c
    boolean consumeDataResources -> d
    1:1:void <init>(java.nio.file.Path):93:93 -> <init>
    2:2:void <init>(java.nio.file.Path,boolean):97:97 -> <init>
    3:3:void <init>(java.nio.file.Path,com.android.tools.r8.ClassFileConsumer):101:101 -> <init>
    4:9:void <init>(java.nio.file.Path,com.android.tools.r8.ClassFileConsumer,boolean):105:110 -> <init>
    1:2:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):121:122 -> accept
    3:3:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):127:127 -> accept
    4:4:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):132:132 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):137:138 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():116:116 -> getDataResourceConsumer
    1:1:java.nio.file.Path internalGetOutputPath():143:143 -> internalGetOutputPath
    1:7:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):149:155 -> writeResources
    8:8:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):157:157 -> writeResources
    8:8:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):156 -> writeResources
    9:9:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):157:157 -> writeResources
    9:9:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):157 -> writeResources
    10:10:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):152:152 -> writeResources
    11:11:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):157:157 -> writeResources
    11:11:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):156 -> writeResources
    12:12:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):156:156 -> writeResources
    13:13:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):151:151 -> writeResources
    14:14:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):157:157 -> writeResources
    14:14:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):157 -> writeResources
    15:15:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):157:157 -> writeResources
com.android.tools.r8.ClassFileConsumer$DirectoryConsumer -> com.android.tools.r8.ClassFileConsumer$DirectoryConsumer:
    com.android.tools.r8.utils.OutputBuilder outputBuilder -> c
    boolean consumeDataResouces -> d
    1:1:void <init>(java.nio.file.Path):169:169 -> <init>
    2:2:void <init>(java.nio.file.Path,boolean):173:173 -> <init>
    3:3:void <init>(java.nio.file.Path,com.android.tools.r8.ClassFileConsumer):177:177 -> <init>
    4:6:void <init>(java.nio.file.Path,com.android.tools.r8.ClassFileConsumer,boolean):182:184 -> <init>
    1:2:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):194:195 -> accept
    3:3:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):200:200 -> accept
    4:4:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):205:205 -> accept
    1:1:void finished(com.android.tools.r8.DiagnosticsHandler):210:210 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():189:189 -> getDataResourceConsumer
    1:1:java.nio.file.Path internalGetOutputPath():215:215 -> internalGetOutputPath
com.android.tools.r8.ClassFileConsumer$ForwardingConsumer -> com.android.tools.r8.ClassFileConsumer$ForwardingConsumer:
    com.android.tools.r8.ClassFileConsumer EMPTY_CONSUMER -> b
    com.android.tools.r8.ClassFileConsumer consumer -> a
    1:1:void <clinit>():57:57 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ClassFileConsumer):61:62 -> <init>
    1:1:com.android.tools.r8.ClassFileConsumer access$000():55:55 -> a
    1:2:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):72:73 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):79:80 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():67:67 -> getDataResourceConsumer
com.android.tools.r8.CompatProguardCommandBuilder -> com.android.tools.r8.CompatProguardCommandBuilder:
    1:1:void <init>():11:11 -> <init>
    2:6:void <init>(boolean,com.android.tools.r8.DiagnosticsHandler):16:20 -> <init>
    7:7:void <init>(boolean):24:24 -> <init>
    8:13:void <init>(boolean,boolean):28:33 -> <init>
com.android.tools.r8.CompilationFailedException -> com.android.tools.r8.CompilationFailedException:
    1:1:void <init>():14:14 -> <init>
    2:2:void <init>(java.lang.Throwable):18:18 -> <init>
    3:3:void <init>(java.lang.String,java.lang.Throwable):22:22 -> <init>
    4:4:void <init>(java.lang.String):26:26 -> <init>
com.android.tools.r8.CompilationMode -> com.android.tools.r8.CompilationMode:
    com.android.tools.r8.CompilationMode[] $VALUES -> b
    1:3:void <clinit>():10:12 -> <clinit>
    4:4:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(java.lang.String,int):8:8 -> <init>
    1:1:com.android.tools.r8.CompilationMode valueOf(java.lang.String):7:7 -> valueOf
    1:1:com.android.tools.r8.CompilationMode[] values():7:7 -> values
com.android.tools.r8.D8 -> com.android.tools.r8.D8:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():87:87 -> <clinit>
    1:3:void lambda$run$0(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):105:107 -> a
    4:10:void run(java.lang.String[]):130:136 -> a
    4:10:void lambda$main$2(java.lang.String[]):153 -> a
    11:11:void lambda$main$2(java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":18,"2":19,"3":20}}
    18:18:void run(java.lang.String[]):136:136 -> a
    18:18:void lambda$main$2(java.lang.String[]):153 -> a
    19:19:void run(java.lang.String[]):136:136 -> a
    19:19:void lambda$main$2(java.lang.String[]):153 -> a
    20:20:void run(java.lang.String[]):136:136 -> a
    20:20:void lambda$main$2(java.lang.String[]):153 -> a
    12:17:void run(java.lang.String[]):136:141 -> a
    12:17:void lambda$main$2(java.lang.String[]):153 -> a
    21:22:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):158:159 -> a
    23:28:com.android.tools.r8.graph.AppView readApp(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):173:178 -> a
    29:29:java.lang.Boolean lambda$run$4(com.android.tools.r8.utils.InternalOptions):195:195 -> a
    30:32:void lambda$run$5(com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis,com.android.tools.r8.graph.DexProgramClass):212:214 -> a
    33:33:void lambda$run$6(java.lang.String):244:244 -> a
    34:54:com.android.tools.r8.graph.DexApplication rewriteNonDexInputs(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.naming.NamingLens):355:375 -> a
    55:60:com.android.tools.r8.graph.DexApplication rewriteNonDexInputs(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.naming.NamingLens):372:377 -> a
    61:61:void com.android.tools.r8.naming.signature.GenericSignatureRewriter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):31:31 -> a
    61:61:com.android.tools.r8.graph.DexApplication rewriteNonDexInputs(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.naming.NamingLens):377 -> a
    62:81:com.android.tools.r8.graph.DexApplication rewriteNonDexInputs(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.naming.NamingLens):378:397 -> a
    82:82:com.android.tools.r8.graph.DexApplication com.android.tools.r8.graph.LazyLoadedDexApplication$Builder.build():269:269 -> a
    82:82:com.android.tools.r8.graph.DexApplication rewriteNonDexInputs(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.naming.NamingLens):397 -> a
    83:85:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):403:405 -> a
    1:1:void lambda$run$1(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):125:125 -> b
    1:3:void lambda$runForTesting$3(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):163:165 -> c
    1:6:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):183:188 -> d
    7:7:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":784,"2":785,"3":786}}
    784:784:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:188 -> d
    785:785:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:188 -> d
    786:786:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:188 -> d
    195:196:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):188:189 -> d
    197:197:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":787,"2":788,"3":789}}
    787:787:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):189:189 -> d
    788:788:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):189:189 -> d
    789:789:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):189:189 -> d
    386:387:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):189:190 -> d
    388:388:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":790,"2":791,"3":792}}
    790:790:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):190:190 -> d
    791:791:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):190:190 -> d
    792:792:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):190:190 -> d
    578:583:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):190:195 -> d
    584:584:boolean com.android.tools.r8.utils.AssertionUtils.forTesting(com.android.tools.r8.utils.InternalOptions,java.util.function.Supplier):17:17 -> d
    584:584:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):195 -> d
    585:587:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):195:197 -> d
    588:591:void com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibraryAmender.run(com.android.tools.r8.graph.AppView):30:33 -> d
    588:591:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):198 -> d
    592:592:void com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibraryAmender.run(com.android.tools.r8.graph.AppView):29:29 -> d
    592:592:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):198 -> d
    593:604:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):199:210 -> d
    605:661:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):209:265 -> d
    662:665:com.android.tools.r8.naming.NamingLens com.android.tools.r8.naming.PrefixRewritingNamingLens.createPrefixRewritingNamingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):29:32 -> d
    662:665:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):265 -> d
    666:666:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):266:266 -> d
    667:672:com.android.tools.r8.naming.NamingLens com.android.tools.r8.naming.RecordRewritingNamingLens.createRecordRewritingNamingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):25:30 -> d
    667:672:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):266 -> d
    673:673:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> d
    673:673:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):268 -> d
    674:674:void finalizeApplication(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):341:341 -> d
    674:674:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):269 -> d
    675:675:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):270:270 -> d
    676:676:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():497:497 -> d
    676:676:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):271 -> d
    677:698:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):271:292 -> d
    699:711:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):286:298 -> d
    712:716:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):295:299 -> d
    717:718:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):275:276 -> d
    719:719:void com.android.tools.r8.naming.signature.GenericSignatureRewriter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):31:31 -> d
    719:719:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):276 -> d
    720:752:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):277:309 -> d
    753:755:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):308:310 -> d
    756:756:void finalizeApplication(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):341:341 -> d
    756:756:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):313 -> d
    757:776:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):315:334 -> d
    777:777:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> d
    777:777:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):329 -> d
    778:783:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):329:334 -> d
    1:4:void main(java.lang.String[]):150:153 -> main
    5:5:void main(java.lang.String[]):151:151 -> main
    1:5:void run(com.android.tools.r8.D8Command):98:102 -> run
    6:6:void run(com.android.tools.r8.D8Command):101:101 -> run
    7:10:void run(com.android.tools.r8.D8Command,java.util.concurrent.ExecutorService):120:123 -> run
    11:11:void run(com.android.tools.r8.D8Command,java.util.concurrent.ExecutorService):122:122 -> run
com.android.tools.r8.D8$ConvertedCfFiles -> com.android.tools.r8.k:
    java.util.List resources -> a
    1:3:void <init>():420:422 -> <init>
    1:3:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):428:430 -> accept
    4:4:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):429:429 -> accept
    5:5:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):428:428 -> accept
    1:1:java.util.Collection getProgramResources():435:435 -> getProgramResources
com.android.tools.r8.D8Command -> com.android.tools.r8.D8Command:
    com.android.tools.r8.graph.DexItemFactory factory -> C
    boolean skipDump -> y
    boolean enableMainDexListCheck -> z
    com.android.tools.r8.DesugarGraphConsumer desugarGraphConsumer -> v
    com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification desugaredLibrarySpecification -> x
    boolean intermediate -> u
    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> w
    boolean $assertionsDisabled -> E
    boolean minimalMainDex -> A
    com.android.tools.r8.com.google.common.collect.ImmutableList mainDexKeepRules -> B
    java.lang.String USAGE_MESSAGE -> D
    1:271:void <clinit>():57:327 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.CompilationMode,com.android.tools.r8.ProgramConsumer,com.android.tools.r8.StringConsumer,int,com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.InternalOptions$DesugarState,boolean,boolean,boolean,java.util.function.BiPredicate,com.android.tools.r8.DesugarGraphConsumer,com.android.tools.r8.StringConsumer,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,java.util.List,java.util.List,java.lang.String,boolean,boolean,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList,int,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.D8Command$1):58:58 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.D8Command$1):58:58 -> <init>
    3:29:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.CompilationMode,com.android.tools.r8.ProgramConsumer,com.android.tools.r8.StringConsumer,int,com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.InternalOptions$DesugarState,boolean,boolean,boolean,java.util.function.BiPredicate,com.android.tools.r8.DesugarGraphConsumer,com.android.tools.r8.StringConsumer,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,java.util.List,java.util.List,java.lang.String,boolean,boolean,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList,int,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.graph.DexItemFactory):406:432 -> <init>
    30:40:void <init>(boolean,boolean):436:446 -> <init>
    1:1:com.android.tools.r8.D8Command$Builder builder(com.android.tools.r8.utils.AndroidApp):350:350 -> a
    1:4:com.android.tools.r8.utils.InternalOptions getInternalOptions():451:454 -> b
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> b
    5:5:com.android.tools.r8.utils.InternalOptions getInternalOptions():455 -> b
    6:14:com.android.tools.r8.utils.InternalOptions getInternalOptions():456:464 -> b
    15:55:com.android.tools.r8.utils.InternalOptions getInternalOptions():463:503 -> b
    56:56:com.android.tools.r8.AssertionsConfiguration$Builder com.android.tools.r8.AssertionsConfiguration.builder(com.android.tools.r8.utils.Reporter):97:97 -> b
    56:56:com.android.tools.r8.utils.InternalOptions getInternalOptions():503 -> b
    57:80:com.android.tools.r8.utils.InternalOptions getInternalOptions():503:526 -> b
    81:81:com.android.tools.r8.dump.DumpOptions dumpOptions():533:533 -> b
    81:81:com.android.tools.r8.utils.InternalOptions getInternalOptions():527 -> b
    82:86:void com.android.tools.r8.BaseCompilerCommand.dumpBaseCommandOptions(com.android.tools.r8.dump.DumpOptions$Builder):129:133 -> b
    82:86:com.android.tools.r8.dump.DumpOptions dumpOptions():534 -> b
    82:86:com.android.tools.r8.utils.InternalOptions getInternalOptions():527 -> b
    87:91:com.android.tools.r8.dump.DumpOptions dumpOptions():535:539 -> b
    87:91:com.android.tools.r8.utils.InternalOptions getInternalOptions():527 -> b
    92:92:com.android.tools.r8.utils.InternalOptions getInternalOptions():527:527 -> b
    1:1:com.android.tools.r8.D8Command$Builder builder():341:341 -> builder
    2:2:com.android.tools.r8.D8Command$Builder builder(com.android.tools.r8.DiagnosticsHandler):345:345 -> builder
    1:1:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):363:363 -> parse
    2:2:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):377:377 -> parse
com.android.tools.r8.D8Command$Builder -> com.android.tools.r8.D8Command$Builder:
    boolean intermediate -> y
    java.util.List mainDexRules -> E
    com.android.tools.r8.DesugarGraphConsumer desugarGraphConsumer -> z
    java.lang.String synthesizedClassPrefix -> B
    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> A
    boolean enableMainDexListCheck -> C
    boolean skipDump -> D
    1:1:void <init>(com.android.tools.r8.D8Command$1):83:83 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.D8Command$1):83:83 -> <init>
    3:3:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.D8Command$1):83:83 -> <init>
    4:4:void <init>():95:95 -> <init>
    5:5:void <init>(com.android.tools.r8.DiagnosticsHandler):99:99 -> <init>
    6:13:void <init>(com.android.tools.r8.DiagnosticsHandler):85:92 -> <init>
    14:14:void <init>(com.android.tools.r8.utils.AndroidApp):103:103 -> <init>
    15:22:void <init>(com.android.tools.r8.utils.AndroidApp):85:92 -> <init>
    1:1:com.android.tools.r8.D8Command$Builder setSynthesizedClassesPrefix(java.lang.String):203:203 -> a
    2:4:void lambda$addMainDexRules$3(java.util.List,com.android.tools.r8.origin.Origin):236:236 -> a
    1:1:com.android.tools.r8.BaseCommand$Builder addClasspathFiles(java.util.Collection):82:82 -> addClasspathFiles
    2:2:com.android.tools.r8.BaseCommand$Builder addClasspathFiles(java.nio.file.Path[]):82:82 -> addClasspathFiles
    3:3:com.android.tools.r8.D8Command$Builder addClasspathFiles(java.nio.file.Path[]):120:120 -> addClasspathFiles
    4:4:com.android.tools.r8.D8Command$Builder addClasspathFiles(java.util.Collection):128:128 -> addClasspathFiles
    1:1:com.android.tools.r8.BaseCommand$Builder addClasspathResourceProvider(com.android.tools.r8.ClassFileResourceProvider):82:82 -> addClasspathResourceProvider
    2:2:com.android.tools.r8.D8Command$Builder addClasspathResourceProvider(com.android.tools.r8.ClassFileResourceProvider):136:136 -> addClasspathResourceProvider
    1:1:com.android.tools.r8.BaseCommand$Builder addDexProgramData(byte[],com.android.tools.r8.origin.Origin):82:82 -> addDexProgramData
    2:2:com.android.tools.r8.D8Command$Builder addDexProgramData(byte[],com.android.tools.r8.origin.Origin):111:111 -> addDexProgramData
    1:1:com.android.tools.r8.D8Command$Builder addMainDexRules(java.util.List,com.android.tools.r8.origin.Origin):234:234 -> addMainDexRules
    1:1:com.android.tools.r8.D8Command$Builder addMainDexRulesFiles(java.nio.file.Path[]):223:223 -> addMainDexRulesFiles
    2:2:com.android.tools.r8.D8Command$Builder addMainDexRulesFiles(java.util.Collection):228:228 -> addMainDexRulesFiles
    1:1:com.android.tools.r8.BaseCommand makeCommand():82:82 -> c
    2:2:void lambda$addDexProgramData$0(byte[],com.android.tools.r8.origin.Origin):111:111 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
    1:1:void lambda$addMainDexRulesFiles$1(java.nio.file.Path):228:228 -> e
    1:1:void lambda$addMainDexRulesFiles$2(java.util.Collection):228:228 -> f
    2:29:void validate():243:270 -> f
    30:30:void validate():0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":314,"2":315,"3":316}}
    314:314:void validate():271:271 -> f
    315:315:void validate():271:271 -> f
    316:316:void validate():271:271 -> f
    303:303:void validate():273:273 -> f
    304:313:void validate():271:280 -> f
    1:1:com.android.tools.r8.CompilationMode defaultCompilationMode():199:199 -> g
    1:1:com.android.tools.r8.DesugarGraphConsumer getDesugarGraphConsumer():170:170 -> getDesugarGraphConsumer
    1:12:com.android.tools.r8.D8Command makeCommand():285:296 -> o
    13:18:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.shaking.ProguardConfigurationParser.parse(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):115:120 -> o
    13:18:com.android.tools.r8.D8Command makeCommand():296 -> o
    19:25:com.android.tools.r8.D8Command makeCommand():298:304 -> o
    26:26:com.android.tools.r8.utils.InternalOptions$DesugarState com.android.tools.r8.BaseCompilerCommand$Builder.getDesugaringState():536:536 -> o
    26:26:com.android.tools.r8.D8Command makeCommand():305 -> o
    27:44:com.android.tools.r8.D8Command makeCommand():305:322 -> o
    45:45:com.android.tools.r8.D8Command makeCommand():286:286 -> o
    1:1:com.android.tools.r8.D8Command$Builder skipDump():188:188 -> p
    1:1:com.android.tools.r8.D8Command$Builder setDesugarGraphConsumer(com.android.tools.r8.DesugarGraphConsumer):179:179 -> setDesugarGraphConsumer
    1:1:com.android.tools.r8.D8Command$Builder setDesugaredLibraryKeepRuleConsumer(com.android.tools.r8.StringConsumer):162:162 -> setDesugaredLibraryKeepRuleConsumer
    1:1:com.android.tools.r8.D8Command$Builder setIntermediate(boolean):151:151 -> setIntermediate
    1:1:com.android.tools.r8.D8Command$Builder setProguardInputMapFile(java.nio.file.Path):141:141 -> setProguardInputMapFile
com.android.tools.r8.D8Command$DefaultD8DiagnosticsHandler -> com.android.tools.r8.l:
    1:1:void <init>():60:60 -> <init>
    2:2:void <init>(com.android.tools.r8.D8Command$1):60:60 -> <init>
    1:6:void error(com.android.tools.r8.Diagnostic):64:69 -> error
    7:13:void error(com.android.tools.r8.Diagnostic):67:73 -> error
com.android.tools.r8.D8CommandParser -> com.android.tools.r8.n:
    java.lang.String USAGE_MESSAGE -> g
    java.util.Set OPTIONS_WITH_PARAMETER -> f
    1:86:void <clinit>():27:112 -> <clinit>
    87:87:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":257,"2":258,"3":259}}
    257:257:void <clinit>():112:112 -> <clinit>
    258:258:void <clinit>():112:112 -> <clinit>
    259:259:void <clinit>():112:112 -> <clinit>
    218:218:void <clinit>():131:131 -> <clinit>
    219:254:void <clinit>():116:151 -> <clinit>
    255:255:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable[]):472:472 -> <clinit>
    255:255:void <clinit>():115 -> <clinit>
    256:256:void <clinit>():113:113 -> <clinit>
    1:1:void <init>():25:25 -> <init>
    1:1:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):164:164 -> a
    2:2:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):178:178 -> a
    3:12:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):187:196 -> a
    13:13:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1072,"2":1073,"3":1074}}
    1072:1072:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    1073:1073:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    1074:1074:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    209:209:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    210:210:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1075,"2":1076,"3":1077}}
    1075:1075:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    1076:1076:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    1077:1077:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:196 -> a
    406:441:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):196:231 -> a
    442:442:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1112,"2":1113,"3":1114}}
    1112:1112:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):231:231 -> a
    1113:1113:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):231:231 -> a
    1114:1114:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):231:231 -> a
    675:675:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):233:233 -> a
    676:688:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):231:243 -> a
    689:692:boolean isArchive(java.nio.file.Path):45:48 -> a
    689:692:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):246 -> a
    693:696:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):247:250 -> a
    697:700:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):249:252 -> a
    701:755:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):244:298 -> a
    756:756:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1181,"2":1182,"3":1183,"4":1184,"5":1185}}
    1181:1181:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):298:298 -> a
    1182:1182:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):298:298 -> a
    1183:1183:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):298:298 -> a
    1184:1184:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):298:298 -> a
    1185:1185:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):298:298 -> a
    1054:1058:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):298:302 -> a
    1059:1059:boolean com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder.isEmpty():68:68 -> a
    1059:1059:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):305 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1060:1071:com.android.tools.r8.D8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.D8Command$Builder):306:317 -> a
com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider -> com.android.tools.r8.m:
    java.util.List providers -> b
    java.util.Set descriptors -> c
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.D8CommandParser$1):51:51 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList):75:75 -> <init>
    3:8:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList):73:78 -> <init>
    1:1:void lambda$new$0(com.android.tools.r8.ClassFileResourceProvider):78:78 -> a
    2:2:com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder builder():82:82 -> a
    1:1:java.util.Set getClassDescriptors():87:87 -> getClassDescriptors
    1:3:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):94:96 -> getProgramResource
com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder -> com.android.tools.r8.m$a:
    boolean empty -> b
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder builder -> a
    1:4:void <init>():52:55 -> <init>
    1:1:com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider build():58:58 -> a
    2:3:com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder addClassFileResourceProvider(com.android.tools.r8.ClassFileResourceProvider):62:63 -> a
com.android.tools.r8.DataDirectoryResource -> com.android.tools.r8.DataDirectoryResource:
    1:2:com.android.tools.r8.DataDirectoryResource fromFile(java.nio.file.Path,java.nio.file.Path):23:24 -> fromFile
    1:1:com.android.tools.r8.DataDirectoryResource fromName(java.lang.String,com.android.tools.r8.origin.Origin):19:19 -> fromName
    1:1:com.android.tools.r8.DataDirectoryResource fromZip(java.util.zip.ZipFile,java.util.zip.ZipEntry):28:28 -> fromZip
com.android.tools.r8.DataDirectoryResource$LocalDataDirectoryResource -> com.android.tools.r8.o:
    java.io.File file -> a
    java.lang.String relativePath -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():75:75 -> <clinit>
    1:1:void <init>(java.io.File,java.lang.String,com.android.tools.r8.DataDirectoryResource$1):75:75 -> <init>
    2:6:void <init>(java.io.File,java.lang.String):79:83 -> <init>
    1:1:java.lang.String getName():93:93 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():88:88 -> getOrigin
com.android.tools.r8.DataDirectoryResource$NamedDataDirectoryResource -> com.android.tools.r8.p:
    com.android.tools.r8.origin.Origin origin -> b
    java.lang.String name -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():31:31 -> <clinit>
    1:1:void <init>(java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.DataDirectoryResource$1):31:31 -> <init>
    2:6:void <init>(java.lang.String,com.android.tools.r8.origin.Origin):35:39 -> <init>
    1:1:java.lang.String getName():49:49 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():44:44 -> getOrigin
com.android.tools.r8.DataDirectoryResource$ZipDataDirectoryResource -> com.android.tools.r8.q:
    java.util.zip.ZipFile zip -> a
    boolean $assertionsDisabled -> c
    java.util.zip.ZipEntry entry -> b
    1:1:void <clinit>():53:53 -> <clinit>
    1:1:void <init>(java.util.zip.ZipFile,java.util.zip.ZipEntry,com.android.tools.r8.DataDirectoryResource$1):53:53 -> <init>
    2:6:void <init>(java.util.zip.ZipFile,java.util.zip.ZipEntry):57:61 -> <init>
    1:1:java.lang.String getName():71:71 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():66:66 -> getOrigin
com.android.tools.r8.DataEntryResource -> com.android.tools.r8.DataEntryResource:
    1:1:com.android.tools.r8.DataEntryResource fromBytes(byte[],java.lang.String,com.android.tools.r8.origin.Origin):26:26 -> fromBytes
    1:2:com.android.tools.r8.DataEntryResource fromFile(java.nio.file.Path,java.nio.file.Path):39:40 -> fromFile
    1:6:com.android.tools.r8.DataEntryResource fromString(java.lang.String,com.android.tools.r8.origin.Origin,java.lang.String[]):30:35 -> fromString
    1:1:com.android.tools.r8.DataEntryResource fromZip(java.util.zip.ZipFile,java.util.zip.ZipEntry):44:44 -> fromZip
    1:1:com.android.tools.r8.DataEntryResource withName(java.lang.String):48:48 -> withName
com.android.tools.r8.DataEntryResource$ByteDataEntryResource -> com.android.tools.r8.internal.oe:
    byte[] bytes -> a
    com.android.tools.r8.origin.Origin origin -> c
    java.lang.String name -> b
    1:4:void <init>(byte[],java.lang.String,com.android.tools.r8.origin.Origin):57:60 -> <init>
    1:1:java.io.InputStream getByteStream():65:65 -> getByteStream
    1:1:java.lang.String getName():70:70 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():75:75 -> getOrigin
com.android.tools.r8.DataEntryResource$LocalDataEntryResource -> com.android.tools.r8.r:
    java.io.File file -> a
    java.lang.String relativePath -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():110:110 -> <clinit>
    1:1:void <init>(java.io.File,java.lang.String,com.android.tools.r8.DataEntryResource$1):110:110 -> <init>
    2:6:void <init>(java.io.File,java.lang.String):114:118 -> <init>
    1:3:java.io.InputStream getByteStream():134:136 -> getByteStream
    1:1:java.lang.String getName():128:128 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():123:123 -> getOrigin
com.android.tools.r8.DataEntryResource$NestedDataEntryResource -> com.android.tools.r8.internal.pe:
    com.android.tools.r8.DataEntryResource resource -> b
    java.lang.String name -> a
    1:4:void <init>(java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.DataEntryResource):150:153 -> <init>
    1:1:java.io.InputStream getByteStream():158:158 -> getByteStream
    1:1:java.lang.String getName():163:163 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():168:168 -> getOrigin
com.android.tools.r8.DataEntryResource$ZipDataEntryResource -> com.android.tools.r8.s:
    java.util.zip.ZipFile zip -> a
    boolean $assertionsDisabled -> c
    java.util.zip.ZipEntry entry -> b
    1:1:void <clinit>():79:79 -> <clinit>
    1:1:void <init>(java.util.zip.ZipFile,java.util.zip.ZipEntry,com.android.tools.r8.DataEntryResource$1):79:79 -> <init>
    2:6:void <init>(java.util.zip.ZipFile,java.util.zip.ZipEntry):83:87 -> <init>
    1:3:java.io.InputStream getByteStream():103:105 -> getByteStream
    1:1:java.lang.String getName():97:97 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():92:92 -> getOrigin
com.android.tools.r8.DexFileMergerHelper -> com.android.tools.r8.t:
    java.util.Map inputOrdering -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():31:31 -> <clinit>
    1:2:void <init>(java.util.Map):35:36 -> <init>
    1:2:void run(com.android.tools.r8.D8Command,java.lang.Boolean,java.util.Map):65:66 -> a
    3:3:void lambda$run$0(com.android.tools.r8.D8Command,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):68:68 -> a
    4:16:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):77:89 -> a
    17:17:com.android.tools.r8.graph.LazyLoadedDexApplication com.android.tools.r8.dex.ApplicationReader.read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):134:134 -> a
    17:17:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):90 -> a
    18:18:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):97:97 -> a
    19:42:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):96:119 -> a
    43:43:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> a
    43:43:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):114 -> a
    44:49:void runInternal(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.lang.Boolean,java.util.Map):114:119 -> a
    50:50:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    50:50:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    51:51:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):41:41 -> a
    52:52:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    52:52:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):42 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    53:70:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):42:59 -> a
    71:71:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":129,"2":130,"3":131}}
    129:129:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):46:46 -> a
    130:130:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):46:46 -> a
    131:131:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):47:47 -> a
    120:128:com.android.tools.r8.graph.DexProgramClass keepFirstProgramClassConflictResolver(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):49:57 -> a
com.android.tools.r8.DexFilePerClassFileConsumer -> com.android.tools.r8.DexFilePerClassFileConsumer:
    1:1:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):63:63 -> accept
    2:2:void accept(java.lang.String,byte[],java.util.Set,com.android.tools.r8.DiagnosticsHandler):73:73 -> accept
    1:1:com.android.tools.r8.DexFilePerClassFileConsumer emptyConsumer():92:92 -> emptyConsumer
com.android.tools.r8.DexFilePerClassFileConsumer$ArchiveConsumer -> com.android.tools.r8.DexFilePerClassFileConsumer$ArchiveConsumer:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.utils.OutputBuilder outputBuilder -> c
    boolean consumeDataResources -> d
    1:1:void <clinit>():141:141 -> <clinit>
    1:1:void <init>(java.nio.file.Path):153:153 -> <init>
    2:2:void <init>(java.nio.file.Path,boolean):157:157 -> <init>
    3:3:void <init>(java.nio.file.Path,com.android.tools.r8.DexFilePerClassFileConsumer):161:161 -> <init>
    4:9:void <init>(java.nio.file.Path,com.android.tools.r8.DexFilePerClassFileConsumer,boolean):166:171 -> <init>
    1:1:java.lang.String access$100(java.lang.String):142:142 -> a
    1:2:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):186:187 -> accept
    3:3:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):192:192 -> accept
    4:4:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):197:197 -> accept
    1:2:java.lang.String getDexFileName(java.lang.String):148:149 -> b
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):202:203 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():177:177 -> getDataResourceConsumer
    1:1:java.nio.file.Path internalGetOutputPath():208:208 -> internalGetOutputPath
    1:11:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):216:226 -> writeResources
    12:12:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):229:229 -> writeResources
    12:12:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):228 -> writeResources
    13:13:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):229:229 -> writeResources
    13:13:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):229 -> writeResources
    14:14:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):219:219 -> writeResources
    15:15:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):229:229 -> writeResources
    15:15:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):228 -> writeResources
    16:16:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):228:228 -> writeResources
    17:17:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):218:218 -> writeResources
    18:18:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):229:229 -> writeResources
    18:18:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):229 -> writeResources
    19:19:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):229:229 -> writeResources
com.android.tools.r8.DexFilePerClassFileConsumer$DirectoryConsumer -> com.android.tools.r8.DexFilePerClassFileConsumer$DirectoryConsumer:
    com.android.tools.r8.utils.OutputBuilder outputBuilder -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():234:234 -> <clinit>
    1:1:void <init>(java.nio.file.Path):246:246 -> <init>
    2:2:void <init>(java.nio.file.Path,boolean):250:250 -> <init>
    3:3:void <init>(java.nio.file.Path,com.android.tools.r8.DexFilePerClassFileConsumer):254:254 -> <init>
    4:5:void <init>(java.nio.file.Path,com.android.tools.r8.DexFilePerClassFileConsumer,boolean):259:260 -> <init>
    1:2:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):270:271 -> accept
    3:4:java.lang.String getDexFileName(java.lang.String):241:242 -> accept
    3:4:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):271 -> accept
    5:5:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):271:271 -> accept
    6:6:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):276:276 -> accept
    7:7:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):281:281 -> accept
    1:1:void finished(com.android.tools.r8.DiagnosticsHandler):285:285 -> finished
    1:1:java.nio.file.Path internalGetOutputPath():290:290 -> internalGetOutputPath
    1:3:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):298:300 -> writeResources
    4:4:java.nio.file.Path getTargetDexFile(java.nio.file.Path,java.lang.String):308:308 -> writeResources
    4:4:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):301 -> writeResources
    5:5:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):302:302 -> writeResources
    6:7:void writeFile(byte[],java.nio.file.Path):312:313 -> writeResources
    6:7:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):302 -> writeResources
    8:8:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):304:304 -> writeResources
    9:15:void writeResources(java.nio.file.Path,java.util.List,java.util.Map):298:304 -> writeResources
com.android.tools.r8.DexFilePerClassFileConsumer$ForwardingConsumer -> com.android.tools.r8.DexFilePerClassFileConsumer$ForwardingConsumer:
    com.android.tools.r8.DexFilePerClassFileConsumer EMPTY_CONSUMER -> b
    com.android.tools.r8.DexFilePerClassFileConsumer consumer -> a
    1:1:void <clinit>():99:99 -> <clinit>
    1:2:void <init>(com.android.tools.r8.DexFilePerClassFileConsumer):103:104 -> <init>
    1:1:com.android.tools.r8.DexFilePerClassFileConsumer access$000():97:97 -> a
    1:2:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):118:119 -> accept
    1:4:boolean combineSyntheticClassesWithPrimaryClass():125:128 -> combineSyntheticClassesWithPrimaryClass
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):134:135 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():109:109 -> getDataResourceConsumer
com.android.tools.r8.DexIndexedConsumer -> com.android.tools.r8.DexIndexedConsumer:
    1:1:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):64:64 -> accept
    2:2:void accept(int,byte[],java.util.Set,com.android.tools.r8.DiagnosticsHandler):71:71 -> accept
    1:1:com.android.tools.r8.DexIndexedConsumer emptyConsumer():77:77 -> emptyConsumer
com.android.tools.r8.DexIndexedConsumer$ArchiveConsumer -> com.android.tools.r8.DexIndexedConsumer$ArchiveConsumer:
    com.android.tools.r8.utils.OutputBuilder outputBuilder -> c
    boolean consumeDataResources -> d
    1:1:void <init>(java.nio.file.Path):121:121 -> <init>
    2:2:void <init>(java.nio.file.Path,boolean):125:125 -> <init>
    3:3:void <init>(java.nio.file.Path,com.android.tools.r8.DexIndexedConsumer):129:129 -> <init>
    4:9:void <init>(java.nio.file.Path,com.android.tools.r8.DexIndexedConsumer,boolean):134:139 -> <init>
    1:3:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):155:157 -> accept
    4:4:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):156:156 -> accept
    5:5:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):162:162 -> accept
    6:6:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):167:167 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):172:173 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():149:149 -> getDataResourceConsumer
    1:1:com.android.tools.r8.origin.Origin getOrigin():144:144 -> getOrigin
    1:1:java.nio.file.Path internalGetOutputPath():202:202 -> internalGetOutputPath
    1:16:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):179:194 -> writeResources
    17:17:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):197:197 -> writeResources
    17:17:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):196 -> writeResources
    18:18:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):197:197 -> writeResources
    18:18:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):197 -> writeResources
    19:19:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):182:182 -> writeResources
    20:20:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):197:197 -> writeResources
    20:20:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):196 -> writeResources
    21:21:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):196:196 -> writeResources
    22:22:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):181:181 -> writeResources
    23:23:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):197:197 -> writeResources
    23:23:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):197 -> writeResources
    24:24:void writeResources(java.nio.file.Path,java.util.List,java.util.Set):197:197 -> writeResources
com.android.tools.r8.DexIndexedConsumer$DirectoryConsumer -> com.android.tools.r8.DexIndexedConsumer$DirectoryConsumer:
    java.nio.file.Path directory -> c
    com.android.tools.r8.utils.OutputBuilder outputBuilder -> e
    boolean consumeDataResouces -> f
    boolean preparedDirectory -> d
    1:1:void <init>(java.nio.file.Path):215:215 -> <init>
    2:2:void <init>(java.nio.file.Path,boolean):219:219 -> <init>
    3:3:void <init>(java.nio.file.Path,com.android.tools.r8.DexIndexedConsumer):223:223 -> <init>
    4:4:void <init>(java.nio.file.Path,com.android.tools.r8.DexIndexedConsumer,boolean):228:228 -> <init>
    5:26:void <init>(java.nio.file.Path,com.android.tools.r8.DexIndexedConsumer,boolean):210:231 -> <init>
    1:3:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):242:244 -> accept
    4:8:void prepareDirectory():268:272 -> accept
    4:8:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    9:12:void deleteClassesDexFiles(java.nio.file.Path):276:279 -> accept
    9:12:void prepareDirectory():272 -> accept
    9:12:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    13:13:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):282:282 -> accept
    13:13:void deleteClassesDexFiles(java.nio.file.Path):282 -> accept
    13:13:void prepareDirectory():272 -> accept
    13:13:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    14:14:void prepareDirectory():272:272 -> accept
    14:14:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    15:15:void deleteClassesDexFiles(java.nio.file.Path):276:276 -> accept
    15:15:void prepareDirectory():272 -> accept
    15:15:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    16:16:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):282:282 -> accept
    16:16:void deleteClassesDexFiles(java.nio.file.Path):282 -> accept
    16:16:void prepareDirectory():272 -> accept
    16:16:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    17:17:void deleteClassesDexFiles(java.nio.file.Path):282:282 -> accept
    17:17:void prepareDirectory():272 -> accept
    17:17:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    18:18:void prepareDirectory():272:272 -> accept
    18:18:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):244 -> accept
    19:21:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):246:248 -> accept
    22:22:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):253:253 -> accept
    23:23:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):258:258 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):263:264 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():236:236 -> getDataResourceConsumer
    1:1:java.nio.file.Path internalGetOutputPath():308:308 -> internalGetOutputPath
    1:4:void deleteClassesDexFiles(java.nio.file.Path):276:279 -> writeResources
    1:4:void writeResources(java.nio.file.Path,java.util.List):287 -> writeResources
    5:5:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):282:282 -> writeResources
    5:5:void deleteClassesDexFiles(java.nio.file.Path):282 -> writeResources
    5:5:void writeResources(java.nio.file.Path,java.util.List):287 -> writeResources
    6:8:void writeResources(java.nio.file.Path,java.util.List):288:290 -> writeResources
    9:9:java.nio.file.Path getTargetDexFile(java.nio.file.Path,int):298:298 -> writeResources
    9:9:void writeResources(java.nio.file.Path,java.util.List):291 -> writeResources
    10:10:void writeResources(java.nio.file.Path,java.util.List):292:292 -> writeResources
    11:12:void writeFile(byte[],java.nio.file.Path):302:303 -> writeResources
    11:12:void writeResources(java.nio.file.Path,java.util.List):292 -> writeResources
    13:13:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):282:282 -> writeResources
    13:13:void writeResources(java.nio.file.Path,java.util.List):294 -> writeResources
    14:14:void writeResources(java.nio.file.Path,java.util.List):288:288 -> writeResources
    15:15:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):282:282 -> writeResources
    15:15:void writeResources(java.nio.file.Path,java.util.List):294 -> writeResources
    16:16:void writeResources(java.nio.file.Path,java.util.List):294:294 -> writeResources
    17:17:void deleteClassesDexFiles(java.nio.file.Path):276:276 -> writeResources
    17:17:void writeResources(java.nio.file.Path,java.util.List):287 -> writeResources
    18:18:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):282:282 -> writeResources
    18:18:void deleteClassesDexFiles(java.nio.file.Path):282 -> writeResources
    18:18:void writeResources(java.nio.file.Path,java.util.List):287 -> writeResources
    19:19:void deleteClassesDexFiles(java.nio.file.Path):282:282 -> writeResources
    19:19:void writeResources(java.nio.file.Path,java.util.List):287 -> writeResources
com.android.tools.r8.DexIndexedConsumer$ForwardingConsumer -> com.android.tools.r8.DexIndexedConsumer$ForwardingConsumer:
    com.android.tools.r8.DexIndexedConsumer EMPTY_CONSUMER -> b
    com.android.tools.r8.DexIndexedConsumer consumer -> a
    1:1:void <clinit>():84:84 -> <clinit>
    1:2:void <init>(com.android.tools.r8.DexIndexedConsumer):88:89 -> <init>
    1:1:com.android.tools.r8.DexIndexedConsumer access$000():82:82 -> a
    1:2:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):100:101 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):107:108 -> finished
    1:1:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():94:94 -> getDataResourceConsumer
com.android.tools.r8.DexSegments -> com.android.tools.r8.u:
    1:7:java.util.Map run(com.android.tools.r8.DexSegments$Command):107:113 -> a
    8:8:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.<init>():175:175 -> a
    8:8:java.util.Map run(com.android.tools.r8.DexSegments$Command):113 -> a
    9:37:java.util.Map run(com.android.tools.r8.DexSegments$Command):115:143 -> a
    38:45:java.util.Map run(com.android.tools.r8.DexSegments$Command):142:149 -> a
    46:57:java.util.Map run(com.android.tools.r8.DexSegments$Command):138:149 -> a
    58:58:com.android.tools.r8.DexSegments$SegmentInfo lambda$run$1(java.lang.Integer):136:136 -> a
    1:1:com.android.tools.r8.DexSegments$SegmentInfo lambda$run$2(java.lang.Integer):144:144 -> b
com.android.tools.r8.DexSegments$Command -> com.android.tools.r8.u$a:
    java.lang.String USAGE_MESSAGE -> e
    1:1:void <clinit>():43:43 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DexSegments$1):23:23 -> <init>
    2:2:void <init>(boolean,com.android.tools.r8.DexSegments$1):23:23 -> <init>
    3:3:void <init>(com.android.tools.r8.utils.AndroidApp):77:77 -> <init>
    4:4:void <init>(boolean):81:81 -> <init>
    1:1:com.android.tools.r8.utils.InternalOptions getInternalOptions():86:86 -> b
    1:1:com.android.tools.r8.DexSegments$Command$Builder builder():50:50 -> c
com.android.tools.r8.DexSegments$Command$Builder -> com.android.tools.r8.u$a$a:
    1:1:void <init>():25:25 -> <init>
    1:4:com.android.tools.r8.DexSegments$Command makeCommand():36:39 -> c
    1:4:com.android.tools.r8.BaseCommand makeCommand():25 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
com.android.tools.r8.DexSegments$SegmentInfo -> com.android.tools.r8.u$b:
    int items -> a
    1:2:void <init>():157:158 -> <init>
    1:1:void increment(int,int):163:163 -> a
    2:2:int getItemCount():168:168 -> a
com.android.tools.r8.DexSplitterHelper -> com.android.tools.r8.DexSplitterHelper:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():41:41 -> <clinit>
    1:1:void <init>():42:42 -> <init>
    1:1:void lambda$run$0(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String,java.util.concurrent.ExecutorService):51:51 -> a
    2:12:java.util.Map getDistribution(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.FeatureClassMapping,com.android.tools.r8.naming.ClassNameMapper):138:148 -> a
    1:4:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String):47:50 -> run
    5:9:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String):49:53 -> run
    10:70:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String,java.util.concurrent.ExecutorService):64:124 -> run
    71:80:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String,java.util.concurrent.ExecutorService):122:131 -> run
    81:83:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String,java.util.concurrent.ExecutorService):129:131 -> run
    84:84:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> run
    84:84:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String,java.util.concurrent.ExecutorService):127 -> run
    85:89:void run(com.android.tools.r8.D8Command,com.android.tools.r8.utils.FeatureClassMapping,java.lang.String,java.lang.String,java.util.concurrent.ExecutorService):127:131 -> run
    1:3:void runD8ForTesting(com.android.tools.r8.D8Command,boolean):155:157 -> runD8ForTesting
com.android.tools.r8.DiagnosticsHandler -> com.android.tools.r8.DiagnosticsHandler:
    1:1:void error(com.android.tools.r8.Diagnostic):38:38 -> error
    1:1:void info(com.android.tools.r8.Diagnostic):56:56 -> info
    1:3:void printDiagnosticToStream(com.android.tools.r8.Diagnostic,java.lang.String,java.io.PrintStream):20:22 -> printDiagnosticToStream
    4:4:void printDiagnosticToStream(com.android.tools.r8.Diagnostic,java.lang.String,java.io.PrintStream):0:0 -> printDiagnosticToStream
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":34,"2":35,"3":36}}
    34:34:void printDiagnosticToStream(com.android.tools.r8.Diagnostic,java.lang.String,java.io.PrintStream):23:23 -> printDiagnosticToStream
    35:35:void printDiagnosticToStream(com.android.tools.r8.Diagnostic,java.lang.String,java.io.PrintStream):23:23 -> printDiagnosticToStream
    36:36:void printDiagnosticToStream(com.android.tools.r8.Diagnostic,java.lang.String,java.io.PrintStream):23:23 -> printDiagnosticToStream
    27:33:void printDiagnosticToStream(com.android.tools.r8.Diagnostic,java.lang.String,java.io.PrintStream):23:29 -> printDiagnosticToStream
    1:1:void warning(com.android.tools.r8.Diagnostic):47:47 -> warning
com.android.tools.r8.DiagnosticsLevel -> com.android.tools.r8.DiagnosticsLevel:
    com.android.tools.r8.DiagnosticsLevel[] $VALUES -> b
    1:3:void <clinit>():9:11 -> <clinit>
    4:4:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(java.lang.String,int):8:8 -> <init>
    1:1:com.android.tools.r8.DiagnosticsLevel valueOf(java.lang.String):7:7 -> valueOf
    1:1:com.android.tools.r8.DiagnosticsLevel[] values():7:7 -> values
com.android.tools.r8.DirectoryClassFileProvider -> com.android.tools.r8.DirectoryClassFileProvider:
    java.nio.file.Path root -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():22:22 -> <clinit>
    1:2:void <init>(java.nio.file.Path):31:32 -> <init>
    1:11:void collectClassDescriptors(java.nio.file.Path,java.util.Set):43:53 -> a
    1:1:com.android.tools.r8.ClassFileResourceProvider fromDirectory(java.nio.file.Path):28:28 -> fromDirectory
    1:1:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> getClassDescriptors
    1:1:java.util.Set getClassDescriptors():37 -> getClassDescriptors
    2:2:java.util.Set getClassDescriptors():38:38 -> getClassDescriptors
    1:6:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):63:68 -> getProgramResource
    1:1:java.nio.file.Path getRoot():73:73 -> getRoot
com.android.tools.r8.Disassemble -> com.android.tools.r8.v:
    1:19:void disassemble(com.android.tools.r8.Disassemble$DisassembleCommand):238:256 -> a
com.android.tools.r8.Disassemble$DisassembleCommand -> com.android.tools.r8.v$a:
    java.nio.file.Path outputPath -> e
    boolean useIr -> i
    boolean noCode -> j
    com.android.tools.r8.StringResource proguardMap -> f
    boolean allInfo -> g
    boolean useSmali -> h
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp,java.nio.file.Path,com.android.tools.r8.StringResource,boolean,boolean,boolean,boolean,com.android.tools.r8.Disassemble$1):26:26 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.Disassemble$1):26:26 -> <init>
    3:9:void <init>(com.android.tools.r8.utils.AndroidApp,java.nio.file.Path,com.android.tools.r8.StringResource,boolean,boolean,boolean,boolean):177:183 -> <init>
    10:16:void <init>(boolean,boolean):187:193 -> <init>
    1:1:com.android.tools.r8.StringResource access$200(com.android.tools.r8.Disassemble$DisassembleCommand):26:26 -> a
    1:1:boolean access$300(com.android.tools.r8.Disassemble$DisassembleCommand):26:26 -> b
    2:4:com.android.tools.r8.utils.InternalOptions getInternalOptions():214:216 -> b
    1:1:com.android.tools.r8.Disassemble$DisassembleCommand$Builder builder():116:116 -> c
    1:1:java.nio.file.Path getOutputPath():197:197 -> d
    1:1:boolean noCode():209:209 -> e
    1:1:boolean useIr():205:205 -> f
    1:1:boolean useSmali():201:201 -> g
com.android.tools.r8.Disassemble$DisassembleCommand$Builder -> com.android.tools.r8.v$a$a:
    java.nio.file.Path proguardMapFile -> g
    java.nio.file.Path outputPath -> f
    boolean useSmali -> h
    1:5:void <init>():31:35 -> <init>
    1:1:com.android.tools.r8.Disassemble$DisassembleCommand$Builder setUseSmali(boolean):65:65 -> b
    1:1:com.android.tools.r8.Disassemble$DisassembleCommand$Builder setOutputPath(java.nio.file.Path):55:55 -> c
    2:6:com.android.tools.r8.Disassemble$DisassembleCommand makeCommand():82:86 -> c
    2:6:com.android.tools.r8.BaseCommand makeCommand():31 -> c
    7:7:java.nio.file.Path getOutputPath():51:51 -> c
    7:7:com.android.tools.r8.Disassemble$DisassembleCommand makeCommand():87 -> c
    7:7:com.android.tools.r8.BaseCommand makeCommand():31 -> c
    8:8:com.android.tools.r8.Disassemble$DisassembleCommand makeCommand():88:88 -> c
    8:8:com.android.tools.r8.BaseCommand makeCommand():31 -> c
    9:9:com.android.tools.r8.Disassemble$DisassembleCommand makeCommand():83:83 -> c
    9:9:com.android.tools.r8.BaseCommand makeCommand():31 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
    1:1:com.android.tools.r8.Disassemble$DisassembleCommand$Builder setProguardMapFile(java.nio.file.Path):46:46 -> d
com.android.tools.r8.ExtractMarker -> com.android.tools.r8.ExtractMarker:
    1:3:java.util.Collection extractMarkerFromDexFile(java.nio.file.Path):47:49 -> a
    4:5:java.util.Collection extractMarkerFromClassProgramData(byte[]):79:80 -> a
    6:6:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):85:85 -> a
    7:8:boolean com.android.tools.r8.utils.FileUtils.isVDexFile(java.nio.file.Path):44:45 -> a
    7:8:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):85 -> a
    9:15:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):86:92 -> a
    16:16:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):65:65 -> a
    16:16:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):95 -> a
    17:17:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):87:87 -> a
    18:18:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):65:65 -> a
    18:18:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):95 -> a
    19:21:void addDexResources(com.android.tools.r8.utils.AndroidApp$Builder,java.nio.file.Path):95:97 -> a
    22:26:java.util.Collection extractMarker(com.android.tools.r8.utils.AndroidApp):102:106 -> a
    1:1:java.util.Collection extractMarkerFromJarFile(java.nio.file.Path):54:54 -> b
    2:3:java.util.Collection extractMarkerFromDexProgramData(byte[]):73:74 -> b
    1:1:void main(java.lang.String[]):111:111 -> main
    2:2:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.builder():77:77 -> main
    2:2:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):81 -> main
    2:2:void main(java.lang.String[]):111 -> main
    3:21:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):87:105 -> main
    3:21:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    3:21:void main(java.lang.String[]):111 -> main
    22:22:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    22:22:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    22:22:void main(java.lang.String[]):111 -> main
    23:23:void main(java.lang.String[]):0:0 -> main
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":614,"2":615,"3":616,"4":617,"5":618}}
    614:614:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    614:614:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    614:614:void main(java.lang.String[]):111 -> main
    615:615:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    615:615:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    615:615:void main(java.lang.String[]):111 -> main
    616:616:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    616:616:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    616:616:void main(java.lang.String[]):111 -> main
    617:617:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    617:617:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    617:617:void main(java.lang.String[]):111 -> main
    618:618:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    618:618:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    618:618:void main(java.lang.String[]):111 -> main
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> main
    24:24:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103 -> main
    24:24:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    24:24:void main(java.lang.String[]):111 -> main
    25:25:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> main
    25:25:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> main
    25:25:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103 -> main
    25:25:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    25:25:void main(java.lang.String[]):111 -> main
    26:26:void com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[],com.android.tools.r8.ExtractMarkerCommand$Builder):103:103 -> main
    26:26:com.android.tools.r8.ExtractMarkerCommand$Builder com.android.tools.r8.ExtractMarkerCommand.parse(java.lang.String[]):82 -> main
    26:26:void main(java.lang.String[]):111 -> main
    27:48:void main(java.lang.String[]):112:133 -> main
    49:49:void main(java.lang.String[]):0:0 -> main
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":619,"2":620,"3":621}}
    619:619:void main(java.lang.String[]):133:133 -> main
    620:620:void main(java.lang.String[]):133:133 -> main
    621:621:void main(java.lang.String[]):133:133 -> main
    182:183:void main(java.lang.String[]):133:134 -> main
    184:184:void main(java.lang.String[]):0:0 -> main
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":622,"2":623,"3":624}}
    622:622:void main(java.lang.String[]):134:134 -> main
    623:623:void main(java.lang.String[]):134:134 -> main
    624:624:void main(java.lang.String[]):134:134 -> main
    185:191:int extractDexSize(java.nio.file.Path):58:64 -> main
    185:191:void main(java.lang.String[]):134 -> main
    192:192:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):65:65 -> main
    192:192:int extractDexSize(java.nio.file.Path):65 -> main
    192:192:void main(java.lang.String[]):134 -> main
    193:193:int extractDexSize(java.nio.file.Path):63:63 -> main
    193:193:void main(java.lang.String[]):134 -> main
    194:194:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):65:65 -> main
    194:194:int extractDexSize(java.nio.file.Path):65 -> main
    194:194:void main(java.lang.String[]):134 -> main
    195:195:int extractDexSize(java.nio.file.Path):65:65 -> main
    195:195:void main(java.lang.String[]):134 -> main
    196:216:void main(java.lang.String[]):134:154 -> main
    217:217:void main(java.lang.String[]):0:0 -> main
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":644,"2":645,"3":646}}
    644:644:void main(java.lang.String[]):154:154 -> main
    645:645:void main(java.lang.String[]):154:154 -> main
    646:646:void main(java.lang.String[]):154:154 -> main
    371:374:void main(java.lang.String[]):154:157 -> main
    375:381:int extractDexSize(java.nio.file.Path):58:64 -> main
    375:381:void main(java.lang.String[]):157 -> main
    382:382:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):65:65 -> main
    382:382:int extractDexSize(java.nio.file.Path):65 -> main
    382:382:void main(java.lang.String[]):157 -> main
    383:383:int extractDexSize(java.nio.file.Path):63:63 -> main
    383:383:void main(java.lang.String[]):157 -> main
    384:384:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):65:65 -> main
    384:384:int extractDexSize(java.nio.file.Path):65 -> main
    384:384:void main(java.lang.String[]):157 -> main
    385:385:int extractDexSize(java.nio.file.Path):65:65 -> main
    385:385:void main(java.lang.String[]):157 -> main
    386:394:void main(java.lang.String[]):157:165 -> main
    395:397:void main(java.lang.String[]):129:129 -> main
    436:440:void main(java.lang.String[]):168:172 -> main
    441:441:void main(java.lang.String[]):0:0 -> main
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":664,"2":665,"3":666}}
    664:664:void main(java.lang.String[]):172:172 -> main
    665:665:void main(java.lang.String[]):172:172 -> main
    666:666:void main(java.lang.String[]):172:172 -> main
    613:613:void main(java.lang.String[]):172:172 -> main
com.android.tools.r8.ExtractMarker$VdexOrigin -> com.android.tools.r8.internal.xj:
    int index -> f
    1:2:void <init>(com.android.tools.r8.origin.Origin,int):35:36 -> <init>
    1:1:java.lang.String part():41:41 -> part
com.android.tools.r8.ExtractMarkerCommand -> com.android.tools.r8.x:
    java.lang.String USAGE_MESSAGE -> g
    java.util.List programFiles -> f
    boolean csv -> e
    boolean printHelp -> a
    boolean includeOther -> b
    boolean verbose -> c
    boolean summary -> d
    1:1:void <clinit>():67:67 -> <clinit>
    1:1:void <init>(boolean,com.android.tools.r8.ExtractMarkerCommand$1):14:14 -> <init>
    2:2:void <init>(boolean,boolean,boolean,boolean,java.util.List,com.android.tools.r8.ExtractMarkerCommand$1):14:14 -> <init>
    3:9:void <init>(boolean,boolean,boolean,boolean,java.util.List):118:124 -> <init>
    10:16:void <init>(boolean):127:133 -> <init>
    1:1:boolean getCSV():157:157 -> a
    1:1:boolean getIncludeOther():145:145 -> b
    1:1:java.util.List getProgramFiles():141:141 -> c
    1:1:boolean getSummary():153:153 -> d
    1:1:boolean getVerbose():149:149 -> e
    1:1:boolean isPrintHelp():137:137 -> f
com.android.tools.r8.ExtractMarkerCommand$Builder -> com.android.tools.r8.w:
    java.util.List programFiles -> f
    boolean csv -> e
    boolean printHelp -> a
    boolean includeOther -> b
    boolean verbose -> c
    boolean summary -> d
    1:7:void <init>():16:22 -> <init>
    1:1:boolean isPrintHelp():30:30 -> a
    1:1:com.android.tools.r8.ExtractMarkerCommand build():60 -> a
    2:2:com.android.tools.r8.ExtractMarkerCommand build():61:61 -> a
    3:3:boolean isPrintHelp():30:30 -> a
    3:3:com.android.tools.r8.ExtractMarkerCommand build():61 -> a
    4:6:com.android.tools.r8.ExtractMarkerCommand build():61:63 -> a
    7:7:com.android.tools.r8.ExtractMarkerCommand$Builder addProgramFile(java.nio.file.Path):54:54 -> a
    1:1:com.android.tools.r8.ExtractMarkerCommand$Builder setCSV(boolean):49:49 -> b
    1:1:com.android.tools.r8.ExtractMarkerCommand$Builder setIncludeOther(boolean):34:34 -> c
    1:1:com.android.tools.r8.ExtractMarkerCommand$Builder setPrintHelp(boolean):25:25 -> d
    1:1:com.android.tools.r8.ExtractMarkerCommand$Builder setSummary(boolean):44:44 -> e
    1:1:com.android.tools.r8.ExtractMarkerCommand$Builder setVerbose(boolean):39:39 -> f
com.android.tools.r8.FeatureSplit -> com.android.tools.r8.FeatureSplit:
    java.util.List programResourceProviders -> b
    com.android.tools.r8.ProgramConsumer programConsumer -> a
    1:9:void <clinit>():33:41 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ProgramConsumer,java.util.List,com.android.tools.r8.FeatureSplit$1):31:31 -> <init>
    2:4:void <init>(com.android.tools.r8.ProgramConsumer,java.util.List):53:55 -> <init>
    1:1:com.android.tools.r8.ProgramConsumer getProgramConsumer():67:67 -> getProgramConsumer
    1:1:java.util.List getProgramResourceProviders():63:63 -> getProgramResourceProviders
com.android.tools.r8.FeatureSplit$1 -> com.android.tools.r8.y:
    1:1:void <init>(com.android.tools.r8.ProgramConsumer,java.util.List):34:34 -> <init>
com.android.tools.r8.FeatureSplit$2 -> com.android.tools.r8.z:
    1:1:void <init>(com.android.tools.r8.ProgramConsumer,java.util.List):42:42 -> <init>
com.android.tools.r8.FeatureSplit$Builder -> com.android.tools.r8.FeatureSplit$Builder:
    java.util.List programResourceProviders -> b
    com.android.tools.r8.ProgramConsumer programConsumer -> a
    com.android.tools.r8.DiagnosticsHandler handler -> c
    1:1:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.FeatureSplit$1):80:80 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler):85:85 -> <init>
    3:7:void <init>(com.android.tools.r8.DiagnosticsHandler):82:86 -> <init>
    1:1:com.android.tools.r8.FeatureSplit$Builder addProgramResourceProvider(com.android.tools.r8.ProgramResourceProvider):108:108 -> addProgramResourceProvider
    1:1:com.android.tools.r8.FeatureSplit build():114:114 -> build
    1:1:com.android.tools.r8.FeatureSplit$Builder setProgramConsumer(com.android.tools.r8.ProgramConsumer):98:98 -> setProgramConsumer
com.android.tools.r8.GenerateLintFiles -> com.android.tools.r8.E:
    java.nio.file.Path desugaredLibraryImplementation -> e
    java.util.Set parallelMethods -> g
    com.android.tools.r8.utils.InternalOptions options -> c
    java.nio.file.Path outputDirectory -> f
    boolean $assertionsDisabled -> h
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification desugaredLibrarySpecification -> d
    com.android.tools.r8.utils.Reporter reporter -> b
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:1:void <clinit>():69:69 -> <clinit>
    1:1:void <init>(java.lang.String,java.lang.String,java.lang.String):85:85 -> <init>
    2:32:void <init>(java.lang.String,java.lang.String,java.lang.String):73:103 -> <init>
    33:45:void <init>(java.lang.String,java.lang.String,java.lang.String):100:112 -> <init>
    46:52:void <init>(java.lang.String,java.lang.String,java.lang.String):111:117 -> <init>
    53:55:void <init>(java.lang.String,java.lang.String,java.lang.String):116:118 -> <init>
    56:56:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    57:57:void <init>(java.lang.String,java.lang.String,java.lang.String):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":153,"2":154,"3":155,"4":156,"5":157,"6":158}}
    153:153:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    154:154:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    155:155:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    156:156:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    157:157:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    158:158:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    152:152:void <init>(java.lang.String,java.lang.String,java.lang.String):95:95 -> <init>
    1:2:java.nio.file.Path getAndroidJarPath(com.android.tools.r8.utils.AndroidApiLevel):123:124 -> a
    3:9:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification readDesugaredLibraryConfiguration(java.lang.String):129:129 -> a
    10:20:void addMethodsToHeaderJar(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):144:154 -> a
    21:22:com.android.tools.r8.graph.CfCode buildEmptyThrowingCfCode(com.android.tools.r8.graph.DexMethod):138:139 -> a
    21:22:void addMethodsToHeaderJar(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):154 -> a
    23:34:void addMethodsToHeaderJar(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):157:168 -> a
    35:68:void addMethodsToHeaderJar(com.android.tools.r8.graph.DexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):166:199 -> a
    69:90:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):221:242 -> a
    91:91:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    91:91:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):243 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    92:92:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    92:92:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):243 -> a
    93:102:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):247:256 -> a
    103:103:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):239:239 -> a
    104:104:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":394,"2":395,"3":396}}
    394:394:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):239:239 -> a
    395:395:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):239:239 -> a
    396:396:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):239:239 -> a
    343:393:com.android.tools.r8.GenerateLintFiles$SupportedMethods collectSupportedMethods(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate):239:289 -> a
    397:397:java.util.List lambda$collectSupportedMethods$0(com.android.tools.r8.graph.DexClass):250:250 -> a
    398:406:void lambda$collectSupportedMethods$3(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.DexMethod):277:285 -> a
    407:407:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):300:300 -> a
    408:408:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":715,"2":716,"3":717}}
    715:715:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):300:300 -> a
    716:716:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):300:300 -> a
    717:717:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):300:300 -> a
    708:710:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):300:302 -> a
    711:711:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":718,"2":719,"3":720}}
    718:718:java.lang.String lintBaseFileName(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel):294:294 -> a
    718:718:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):305 -> a
    719:719:java.lang.String lintBaseFileName(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel):294:294 -> a
    719:719:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):305 -> a
    720:720:java.lang.String lintBaseFileName(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel):294:294 -> a
    720:720:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):305 -> a
    712:712:java.lang.String lintBaseFileName(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel):294:294 -> a
    712:712:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):305 -> a
    713:713:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):305:305 -> a
    714:714:java.nio.file.Path lintFile(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):302:302 -> a
    721:750:void writeLintFiles(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.GenerateLintFiles$SupportedMethods):315:344 -> a
    751:766:void writeLintFiles(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.GenerateLintFiles$SupportedMethods):343:358 -> a
    767:779:void lambda$writeLintFiles$4(com.android.tools.r8.GenerateLintFiles$SupportedMethods,java.util.List,com.android.tools.r8.graph.LazyLoadedDexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):320:332 -> a
    780:780:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    780:780:void lambda$writeLintFiles$4(com.android.tools.r8.GenerateLintFiles$SupportedMethods,java.util.List,com.android.tools.r8.graph.LazyLoadedDexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):332 -> a
    781:781:void lambda$writeLintFiles$4(com.android.tools.r8.GenerateLintFiles$SupportedMethods,java.util.List,com.android.tools.r8.graph.LazyLoadedDexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):332:332 -> a
    782:792:void lambda$writeLintFiles$4(com.android.tools.r8.GenerateLintFiles$SupportedMethods,java.util.List,com.android.tools.r8.graph.LazyLoadedDexApplication$Builder,com.android.tools.r8.graph.DexClass,java.util.List):328:338 -> a
    793:806:void generateLintFiles(com.android.tools.r8.utils.AndroidApiLevel,java.util.function.Predicate,java.util.function.BiPredicate):366:379 -> a
    807:807:boolean lambda$generateLintFiles$5(java.util.function.BiPredicate,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.graph.DexEncodedMethod):376:376 -> a
    808:808:void run(int):394:394 -> a
    809:809:void run(int):393:393 -> a
    810:815:boolean lambda$run$7(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.graph.DexEncodedMethod):397:402 -> a
    816:816:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.addField(com.android.tools.r8.graph.DexEncodedField):459:459 -> a
    816:816:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.access$300(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedField):437 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    816:816:void lambda$generateClassHTML$9(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedField):752 -> a
    817:817:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.addField(com.android.tools.r8.graph.DexEncodedField):459:459 -> a
    817:817:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.access$300(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedField):437 -> a
    817:817:void lambda$generateClassHTML$9(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedField):752 -> a
    818:832:void generateClassHTML(java.io.PrintStream,com.android.tools.r8.graph.DexClass,boolean,java.util.function.Predicate,java.util.function.Predicate):747:761 -> a
    833:833:boolean lambda$generateClassHTML$8(com.android.tools.r8.graph.DexEncodedField):750:750 -> a
    834:835:boolean lambda$generateClassHTML$10(com.android.tools.r8.graph.DexEncodedMethod):757:758 -> a
    836:836:void lambda$generateClassHTML$11(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedMethod):760:760 -> a
    837:837:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.access$200(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedMethod):437:437 -> a
    837:837:void lambda$generateClassHTML$11(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedMethod):760 -> a
    838:842:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.addMethod(com.android.tools.r8.graph.DexEncodedMethod):464:468 -> a
    838:842:com.android.tools.r8.GenerateLintFiles$SourceBuilder com.android.tools.r8.GenerateLintFiles$SourceBuilder.access$200(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedMethod):437 -> a
    838:842:void lambda$generateClassHTML$11(com.android.tools.r8.GenerateLintFiles$SourceBuilder,com.android.tools.r8.graph.DexEncodedMethod):760 -> a
    843:854:void generateDesugaredLibraryApisDocumetation():765:776 -> a
    855:855:void lambda$generateDesugaredLibraryApisDocumetation$16(java.io.PrintStream,com.android.tools.r8.graph.DexClass):770:770 -> a
    856:856:boolean lambda$generateDesugaredLibraryApisDocumetation$17(com.android.tools.r8.GenerateLintFiles$SupportedMethods,com.android.tools.r8.graph.DexClass):774:774 -> a
    857:857:void lambda$generateDesugaredLibraryApisDocumetation$21(java.io.PrintStream,com.android.tools.r8.GenerateLintFiles$SupportedMethods,com.android.tools.r8.graph.DexClass):778:778 -> a
    858:858:boolean lambda$generateDesugaredLibraryApisDocumetation$20(com.android.tools.r8.GenerateLintFiles$SupportedMethods,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):783:783 -> a
    859:860:void main(java.lang.String[]):787:788 -> a
    861:865:void run():384:388 -> a
    861:865:void main(java.lang.String[]):788 -> a
    866:871:void main(java.lang.String[]):791:796 -> a
    boolean lambda$generateDesugaredLibraryApisDocumetation$12(com.android.tools.r8.graph.DexEncodedMethod) -> b
    boolean lambda$generateDesugaredLibraryApisDocumetation$14(com.android.tools.r8.graph.DexEncodedField) -> b
    1:1:java.util.List lambda$collectSupportedMethods$1(com.android.tools.r8.graph.DexClass):268:268 -> b
    2:2:boolean lambda$run$6(com.android.tools.r8.utils.AndroidApiLevel):395:395 -> b
    boolean lambda$generateDesugaredLibraryApisDocumetation$15(com.android.tools.r8.graph.DexEncodedMethod) -> c
    boolean lambda$generateDesugaredLibraryApisDocumetation$19(com.android.tools.r8.graph.DexEncodedField) -> c
    1:1:java.util.List lambda$collectSupportedMethods$2(com.android.tools.r8.graph.DexClass):285:285 -> c
    1:1:java.lang.String lambda$generateDesugaredLibraryApisDocumetation$13(com.android.tools.r8.graph.DexClass):769:769 -> d
    1:1:java.lang.String lambda$generateDesugaredLibraryApisDocumetation$18(com.android.tools.r8.graph.DexClass):775:775 -> e
com.android.tools.r8.GenerateLintFiles$HTMLBuilder -> com.android.tools.r8.A:
    java.lang.String indent -> d
    1:3:void <init>():614:616 -> <init>
    4:4:void <init>(com.android.tools.r8.GenerateLintFiles$1):614:614 -> <init>
    1:1:void decreaseIndent():624:624 -> a
    1:1:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):650 -> a
    2:2:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"3":10}}
    9:9:void decreaseIndent():624:624 -> a
    9:9:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):650 -> a
    10:10:void decreaseIndent():624:624 -> a
    10:10:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):650 -> a
    3:3:void decreaseIndent():624:624 -> a
    3:3:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):650 -> a
    4:4:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.indent(java.lang.String):415:415 -> a
    4:4:void decreaseIndent():625 -> a
    4:4:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):650 -> a
    5:5:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":11,"2":12,"3":13,"4":14,"5":15,"6":16}}
    11:11:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651:651 -> a
    12:12:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651:651 -> a
    13:13:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651:651 -> a
    14:14:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651:651 -> a
    15:15:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651:651 -> a
    16:16:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651:651 -> a
    6:8:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> a
    6:8:com.android.tools.r8.GenerateLintFiles$HTMLBuilder end(java.lang.String):651 -> a
    1:1:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"2":10,"3":11,"4":12,"5":13,"6":14}}
    9:9:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644:644 -> b
    10:10:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644:644 -> b
    11:11:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644:644 -> b
    12:12:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644:644 -> b
    13:13:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644:644 -> b
    14:14:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644:644 -> b
    2:4:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> b
    2:4:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):644 -> b
    5:5:void increaseIndent():619:619 -> b
    5:5:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):645 -> b
    6:6:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":15,"2":16,"3":17}}
    15:15:void increaseIndent():619:619 -> b
    15:15:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):645 -> b
    16:16:void increaseIndent():619:619 -> b
    16:16:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):645 -> b
    17:17:void increaseIndent():619:619 -> b
    17:17:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):645 -> b
    7:7:void increaseIndent():619:619 -> b
    7:7:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):645 -> b
    8:8:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.indent(java.lang.String):415:415 -> b
    8:8:void increaseIndent():620 -> b
    8:8:com.android.tools.r8.GenerateLintFiles$HTMLBuilder start(java.lang.String):645 -> b
com.android.tools.r8.GenerateLintFiles$HTMLSourceBuilder -> com.android.tools.r8.B:
    java.util.Set parallelMethods -> h
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():656:656 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexClass,boolean,java.util.Set):661:662 -> <init>
    1:11:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):583:593 -> a
    1:11:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    12:12:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60,"4":61,"5":62}}
    58:58:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):594:594 -> a
    58:58:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    59:59:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):594:594 -> a
    59:59:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    60:60:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):594:594 -> a
    60:60:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    61:61:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):594:594 -> a
    61:61:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    62:62:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):594:594 -> a
    62:62:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    13:16:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):595:598 -> a
    13:16:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    17:20:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):495:498 -> a
    17:20:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):601 -> a
    17:20:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    21:21:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484:484 -> a
    21:21:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    21:21:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):601 -> a
    21:21:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    22:26:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> a
    22:26:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484 -> a
    22:26:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    22:26:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):601 -> a
    22:26:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    27:31:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> a
    27:31:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486 -> a
    27:31:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    27:31:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):601 -> a
    27:31:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    32:32:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):491:491 -> a
    32:32:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    32:32:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):601 -> a
    32:32:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    33:33:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):601:601 -> a
    33:33:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    34:37:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):495:498 -> a
    34:37:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):603 -> a
    34:37:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484:484 -> a
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):603 -> a
    38:38:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> a
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484 -> a
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):603 -> a
    39:43:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> a
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486 -> a
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):603 -> a
    44:48:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):491:491 -> a
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> a
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):603 -> a
    49:49:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    50:57:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.arguments(com.android.tools.r8.graph.DexEncodedMethod):603:610 -> a
    50:57:java.lang.String arguments(com.android.tools.r8.graph.DexEncodedMethod):656 -> a
    1:4:java.lang.String toString():672:675 -> toString
    5:5:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145,"4":146,"5":147,"6":148}}
    143:143:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    143:143:java.lang.String toString():675 -> toString
    144:144:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    144:144:java.lang.String toString():675 -> toString
    145:145:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    145:145:java.lang.String toString():675 -> toString
    146:146:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    146:146:java.lang.String toString():675 -> toString
    147:147:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    147:147:java.lang.String toString():675 -> toString
    148:148:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    148:148:java.lang.String toString():675 -> toString
    6:8:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> toString
    6:8:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629 -> toString
    6:8:java.lang.String toString():675 -> toString
    9:9:java.lang.String toString():677:677 -> toString
    10:10:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484:484 -> toString
    10:10:java.lang.String toString():677 -> toString
    11:15:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    11:15:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484 -> toString
    11:15:java.lang.String toString():677 -> toString
    16:20:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    16:20:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486 -> toString
    16:20:java.lang.String toString():677 -> toString
    21:21:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):491:491 -> toString
    21:21:java.lang.String toString():677 -> toString
    22:22:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":149,"2":150,"3":151,"4":152,"5":153,"6":154}}
    149:149:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    149:149:java.lang.String toString():677 -> toString
    150:150:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    150:150:java.lang.String toString():677 -> toString
    151:151:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    151:151:java.lang.String toString():677 -> toString
    152:152:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    152:152:java.lang.String toString():677 -> toString
    153:153:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    153:153:java.lang.String toString():677 -> toString
    154:154:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629:629 -> toString
    154:154:java.lang.String toString():677 -> toString
    23:25:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> toString
    23:25:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdCode(java.lang.String):629 -> toString
    23:25:java.lang.String toString():677 -> toString
    26:33:java.lang.String toString():678:685 -> toString
    34:37:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):495:498 -> toString
    34:37:java.lang.String toString():685 -> toString
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484:484 -> toString
    38:38:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    38:38:java.lang.String toString():685 -> toString
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484 -> toString
    39:43:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    39:43:java.lang.String toString():685 -> toString
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486 -> toString
    44:48:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    44:48:java.lang.String toString():685 -> toString
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):491:491 -> toString
    49:49:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    49:49:java.lang.String toString():685 -> toString
    50:52:java.lang.String toString():685:687 -> toString
    53:53:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":155,"2":156,"3":157,"4":158,"5":159,"6":160}}
    155:155:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    155:155:java.lang.String toString():682 -> toString
    156:156:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    156:156:java.lang.String toString():682 -> toString
    157:157:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    157:157:java.lang.String toString():682 -> toString
    158:158:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    158:158:java.lang.String toString():682 -> toString
    159:159:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    159:159:java.lang.String toString():682 -> toString
    160:160:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    160:160:java.lang.String toString():682 -> toString
    54:56:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> toString
    54:56:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639 -> toString
    54:56:java.lang.String toString():682 -> toString
    57:60:java.lang.String toString():690:693 -> toString
    61:61:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484:484 -> toString
    61:61:java.lang.String toString():695 -> toString
    62:66:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    62:66:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484 -> toString
    62:66:java.lang.String toString():695 -> toString
    67:71:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    67:71:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486 -> toString
    67:71:java.lang.String toString():695 -> toString
    72:72:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):491:491 -> toString
    72:72:java.lang.String toString():695 -> toString
    73:74:java.lang.String toString():695:696 -> toString
    75:75:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":161,"2":162,"3":163,"4":164,"5":165,"6":166}}
    161:161:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    161:161:java.lang.String toString():692 -> toString
    162:162:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    162:162:java.lang.String toString():692 -> toString
    163:163:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    163:163:java.lang.String toString():692 -> toString
    164:164:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    164:164:java.lang.String toString():692 -> toString
    165:165:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    165:165:java.lang.String toString():692 -> toString
    166:166:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    166:166:java.lang.String toString():692 -> toString
    76:78:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> toString
    76:78:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639 -> toString
    76:78:java.lang.String toString():692 -> toString
    79:85:java.lang.String toString():699:705 -> toString
    86:89:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):495:498 -> toString
    86:89:java.lang.String toString():705 -> toString
    90:90:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484:484 -> toString
    90:90:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    90:90:java.lang.String toString():705 -> toString
    91:95:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    91:95:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):484 -> toString
    91:95:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    91:95:java.lang.String toString():705 -> toString
    96:100:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String,java.lang.String):474:478 -> toString
    96:100:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):486 -> toString
    96:100:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    96:100:java.lang.String toString():705 -> toString
    101:101:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(java.lang.String):491:491 -> toString
    101:101:java.lang.String com.android.tools.r8.GenerateLintFiles$SourceBuilder.typeInPackage(com.android.tools.r8.graph.DexType):498 -> toString
    101:101:java.lang.String toString():705 -> toString
    102:105:java.lang.String toString():705:708 -> toString
    106:106:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":167,"2":168,"3":169,"4":170,"5":171,"6":172}}
    167:167:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    167:167:java.lang.String toString():702 -> toString
    168:168:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    168:168:java.lang.String toString():702 -> toString
    169:169:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    169:169:java.lang.String toString():702 -> toString
    170:170:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    170:170:java.lang.String toString():702 -> toString
    171:171:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    171:171:java.lang.String toString():702 -> toString
    172:172:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639:639 -> toString
    172:172:java.lang.String toString():702 -> toString
    107:109:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> toString
    107:109:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendLiCode(java.lang.String):639 -> toString
    107:109:java.lang.String toString():702 -> toString
    110:136:java.lang.String toString():709:735 -> toString
    137:137:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":173,"2":174,"3":175,"4":176,"5":177,"6":178}}
    173:173:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634:634 -> toString
    173:173:java.lang.String toString():735 -> toString
    174:174:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634:634 -> toString
    174:174:java.lang.String toString():735 -> toString
    175:175:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634:634 -> toString
    175:175:java.lang.String toString():735 -> toString
    176:176:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634:634 -> toString
    176:176:java.lang.String toString():735 -> toString
    177:177:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634:634 -> toString
    177:177:java.lang.String toString():735 -> toString
    178:178:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634:634 -> toString
    178:178:java.lang.String toString():735 -> toString
    138:140:com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.appendLine(java.lang.String):420:422 -> toString
    138:140:com.android.tools.r8.GenerateLintFiles$HTMLBuilder com.android.tools.r8.GenerateLintFiles$HTMLBuilder.appendTdP(java.lang.String):634 -> toString
    138:140:java.lang.String toString():735 -> toString
    141:141:java.lang.String toString():736:736 -> toString
    142:142:java.lang.String com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent.toString():433:433 -> toString
    142:142:java.lang.String toString():737 -> toString
com.android.tools.r8.GenerateLintFiles$SourceBuilder -> com.android.tools.r8.C:
    java.util.List fields -> b
    java.lang.String packageName -> f
    java.util.List methods -> d
    java.util.List constructors -> c
    boolean $assertionsDisabled -> g
    boolean newClass -> a
    java.lang.String className -> e
    1:1:void <clinit>():437:437 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexClass,boolean,com.android.tools.r8.GenerateLintFiles$1):437:437 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexClass,boolean):448:448 -> <init>
    3:15:void <init>(com.android.tools.r8.graph.DexClass,boolean):441:453 -> <init>
    1:10:java.lang.String accessFlags(com.android.tools.r8.graph.FieldAccessFlags):530:539 -> a
    11:16:java.lang.String accessFlags(com.android.tools.r8.graph.FieldAccessFlags):538:543 -> a
    17:26:java.lang.String accessFlags(com.android.tools.r8.graph.FieldAccessFlags):542:551 -> a
    27:36:java.lang.String accessFlags(com.android.tools.r8.graph.MethodAccessFlags):555:564 -> a
    37:42:java.lang.String accessFlags(com.android.tools.r8.graph.MethodAccessFlags):563:568 -> a
    43:55:java.lang.String accessFlags(com.android.tools.r8.graph.MethodAccessFlags):567:579 -> a
com.android.tools.r8.GenerateLintFiles$StringBuilderWithIndent -> com.android.tools.r8.D:
    java.lang.StringBuilder builder -> b
    java.lang.String NL -> a
    java.lang.String indent -> c
    1:1:void <init>():412:412 -> <init>
    2:4:void <init>():408:410 -> <init>
    1:1:java.lang.String toString():433:433 -> toString
com.android.tools.r8.GenerateLintFiles$SupportedMethods -> com.android.tools.r8.internal.Kl:
    java.util.Map supportedMethods -> b
    java.util.Set classesWithAllMethodsSupported -> a
    1:3:void <init>(java.util.Set,java.util.Map):209:211 -> <init>
com.android.tools.r8.GenerateMainDexList -> com.android.tools.r8.GenerateMainDexList:
    com.android.tools.r8.utils.Timing timing -> a
    com.android.tools.r8.utils.InternalOptions options -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions):41:41 -> <init>
    2:6:void <init>(com.android.tools.r8.utils.InternalOptions):38:42 -> <init>
    1:4:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.SortingStringConsumer):48:51 -> a
    5:5:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> a
    5:5:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.SortingStringConsumer):53 -> a
    6:6:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.SortingStringConsumer):53:53 -> a
    7:7:void lambda$run$0(com.android.tools.r8.utils.SortingStringConsumer,com.android.tools.r8.graph.DexType):50:50 -> a
    8:10:java.lang.Iterable lambda$traceMainDex$2(com.android.tools.r8.shaking.MainDexInfo,com.android.tools.r8.graph.AppView):86:88 -> a
    11:13:void lambda$traceMainDex$1(com.android.tools.r8.graph.AppView,java.util.ArrayList,com.android.tools.r8.graph.DexType):90:92 -> a
    14:16:java.util.List runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):151:153 -> a
    17:17:void com.android.tools.r8.utils.ExceptionUtils.withMainDexListHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):74:74 -> a
    17:17:java.util.List runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):153 -> a
    18:19:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.InternalOptions,java.util.List):168:169 -> a
    18:19:void lambda$run$3(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.InternalOptions,java.util.List):145 -> a
    1:2:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.InternalOptions,java.util.List):168:169 -> b
    1:2:void lambda$runForTesting$4(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.InternalOptions,java.util.List):157 -> b
    3:3:void lambda$runForTesting$4(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.InternalOptions,java.util.List):159:159 -> b
    1:13:void main(java.lang.String[]):183:195 -> main
    1:3:java.util.List run(com.android.tools.r8.GenerateMainDexListCommand):121:123 -> run
    4:8:java.util.List run(com.android.tools.r8.GenerateMainDexListCommand,java.util.concurrent.ExecutorService):141:145 -> run
    9:9:void com.android.tools.r8.utils.ExceptionUtils.withMainDexListHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):74:74 -> run
    9:9:java.util.List run(com.android.tools.r8.GenerateMainDexListCommand,java.util.concurrent.ExecutorService):144 -> run
    1:4:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):61:64 -> traceMainDex
    5:10:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):35:40 -> traceMainDex
    5:10:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
    11:28:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):66:83 -> traceMainDex
    29:29:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):42:42 -> traceMainDex
    29:29:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
    30:30:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> traceMainDex
    30:30:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):42 -> traceMainDex
    30:30:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
    31:31:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):42:42 -> traceMainDex
    31:31:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
    32:32:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37:37 -> traceMainDex
    32:32:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
    33:33:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> traceMainDex
    33:33:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37 -> traceMainDex
    33:33:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
    34:34:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37:37 -> traceMainDex
    34:34:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):64 -> traceMainDex
com.android.tools.r8.GenerateMainDexList$1 -> com.android.tools.r8.F:
    java.util.List val$result -> b
    1:1:void <init>(com.android.tools.r8.StringConsumer,java.util.List):173:173 -> <init>
    1:2:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):176:177 -> accept
com.android.tools.r8.GenerateMainDexListCommand -> com.android.tools.r8.GenerateMainDexListCommand:
    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> g
    java.util.List mainDexKeepRules -> e
    com.android.tools.r8.utils.Reporter reporter -> i
    java.lang.String USAGE_MESSAGE -> j
    com.android.tools.r8.graph.DexItemFactory factory -> h
    boolean $assertionsDisabled -> k
    com.android.tools.r8.StringConsumer mainDexListConsumer -> f
    1:106:void <clinit>():26:131 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApp,java.util.List,com.android.tools.r8.StringConsumer,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.utils.Reporter,com.android.tools.r8.GenerateMainDexListCommand$1):27:27 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.GenerateMainDexListCommand$1):27:27 -> <init>
    3:8:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApp,java.util.List,com.android.tools.r8.StringConsumer,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.utils.Reporter):200:205 -> <init>
    9:14:void <init>(boolean,boolean):209:214 -> <init>
    1:10:com.android.tools.r8.utils.InternalOptions getInternalOptions():219:228 -> b
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder builder():145:145 -> builder
    2:2:com.android.tools.r8.GenerateMainDexListCommand$Builder builder(com.android.tools.r8.DiagnosticsHandler):149:149 -> builder
    1:1:com.android.tools.r8.utils.Reporter getReporter():163:163 -> c
    1:1:com.android.tools.r8.StringConsumer getMainDexListConsumer():159:159 -> getMainDexListConsumer
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):153:153 -> parse
    2:20:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):167:185 -> parse
    2:20:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
    21:21:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):0:0 -> parse
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":26,"2":27,"3":28,"4":29,"5":30}}
    26:26:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):185:185 -> parse
    26:26:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
    27:27:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):185:185 -> parse
    27:27:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
    28:28:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):185:185 -> parse
    28:28:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
    29:29:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):185:185 -> parse
    29:29:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
    30:30:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):185:185 -> parse
    30:30:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
    22:25:void parse(java.lang.String[],com.android.tools.r8.GenerateMainDexListCommand$Builder):185:188 -> parse
    22:25:com.android.tools.r8.GenerateMainDexListCommand$Builder parse(java.lang.String[]):154 -> parse
com.android.tools.r8.GenerateMainDexListCommand$Builder -> com.android.tools.r8.GenerateMainDexListCommand$Builder:
    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> i
    com.android.tools.r8.graph.DexItemFactory factory -> f
    com.android.tools.r8.StringConsumer mainDexListConsumer -> h
    java.util.List mainDexRules -> g
    1:1:void <init>(com.android.tools.r8.GenerateMainDexListCommand$1):36:36 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.GenerateMainDexListCommand$1):36:36 -> <init>
    3:3:void <init>():43:43 -> <init>
    4:7:void <init>():38:41 -> <init>
    8:8:void <init>(com.android.tools.r8.DiagnosticsHandler):47:47 -> <init>
    9:12:void <init>(com.android.tools.r8.DiagnosticsHandler):38:41 -> <init>
    1:2:void lambda$addMainDexRulesFiles$1(java.util.List):73:74 -> a
    3:5:void lambda$addMainDexRules$2(java.util.List,com.android.tools.r8.origin.Origin):84:84 -> a
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder addMainDexRules(java.util.List,com.android.tools.r8.origin.Origin):84:84 -> addMainDexRules
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder addMainDexRulesFiles(java.nio.file.Path[]):60:60 -> addMainDexRulesFiles
    2:2:com.android.tools.r8.GenerateMainDexListCommand$Builder addMainDexRulesFiles(java.util.List):72:72 -> addMainDexRulesFiles
    1:2:void lambda$addMainDexRulesFiles$0(java.nio.file.Path[]):61:62 -> c
    3:8:com.android.tools.r8.GenerateMainDexListCommand makeCommand():108:113 -> c
    3:8:com.android.tools.r8.BaseCommand makeCommand():35 -> c
    9:14:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.shaking.ProguardConfigurationParser.parse(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):115:120 -> c
    9:14:com.android.tools.r8.GenerateMainDexListCommand makeCommand():113 -> c
    9:14:com.android.tools.r8.BaseCommand makeCommand():35 -> c
    15:21:com.android.tools.r8.GenerateMainDexListCommand makeCommand():115:121 -> c
    15:21:com.android.tools.r8.BaseCommand makeCommand():35 -> c
    22:22:com.android.tools.r8.GenerateMainDexListCommand makeCommand():109:109 -> c
    22:22:com.android.tools.r8.BaseCommand makeCommand():35 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder setMainDexKeptGraphConsumer(com.android.tools.r8.experimental.graphinfo.GraphConsumer):126:126 -> setMainDexKeptGraphConsumer
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder setMainDexListConsumer(com.android.tools.r8.StringConsumer):101:101 -> setMainDexListConsumer
    1:1:com.android.tools.r8.GenerateMainDexListCommand$Builder setMainDexListOutputPath(java.nio.file.Path):95:95 -> setMainDexListOutputPath
com.android.tools.r8.InputDependencyGraphConsumer -> com.android.tools.r8.InputDependencyGraphConsumer:
    1:1:void acceptProguardApplyMapping(com.android.tools.r8.origin.Origin,java.nio.file.Path):42:42 -> acceptProguardApplyMapping
    1:1:void acceptProguardClassObfuscationDictionary(com.android.tools.r8.origin.Origin,java.nio.file.Path):54:54 -> acceptProguardClassObfuscationDictionary
    1:1:void acceptProguardInJars(com.android.tools.r8.origin.Origin,java.nio.file.Path):32:32 -> acceptProguardInJars
    1:1:void acceptProguardInclude(com.android.tools.r8.origin.Origin,java.nio.file.Path):27:27 -> acceptProguardInclude
    1:1:void acceptProguardLibraryJars(com.android.tools.r8.origin.Origin,java.nio.file.Path):37:37 -> acceptProguardLibraryJars
    1:1:void acceptProguardObfuscationDictionary(com.android.tools.r8.origin.Origin,java.nio.file.Path):47:47 -> acceptProguardObfuscationDictionary
    1:1:void acceptProguardPackageObfuscationDictionary(com.android.tools.r8.origin.Origin,java.nio.file.Path):62:62 -> acceptProguardPackageObfuscationDictionary
com.android.tools.r8.InternalProgramOutputPathConsumer -> com.android.tools.r8.G:
com.android.tools.r8.JdkClassFileProvider -> com.android.tools.r8.JdkClassFileProvider:
    java.util.Map descriptorToModule -> d
    java.util.Set descriptors -> c
    com.android.tools.r8.origin.Origin origin -> b
    java.nio.file.FileSystem jrtFs -> f
    boolean $assertionsDisabled -> g
    java.net.URLClassLoader jrtFsJarLoader -> e
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>():100:100 -> <init>
    2:64:void <init>():40:102 -> <init>
    65:65:void <init>(java.nio.file.Path):111:111 -> <init>
    66:144:void <init>(java.nio.file.Path):40:118 -> <init>
    1:3:void collectDescriptors(java.nio.file.FileSystem):122:124 -> a
    4:8:void lambda$collectDescriptors$0(java.nio.file.Path):126:130 -> a
    9:11:void lambda$collectDescriptors$0(java.nio.file.Path):129:131 -> a
    1:3:void close():169:171 -> close
    1:2:void finalize():163:164 -> finalize
    1:1:com.android.tools.r8.ClassFileResourceProvider fromJavaRuntimeJar(java.nio.file.Path):97:97 -> fromJavaRuntimeJar
    1:15:com.android.tools.r8.ClassFileResourceProvider fromJdkHome(java.nio.file.Path):79:93 -> fromJdkHome
    1:1:com.android.tools.r8.ClassFileResourceProvider fromSystemJdk():52:52 -> fromSystemJdk
    1:5:com.android.tools.r8.ClassFileResourceProvider fromSystemModulesJdk(java.nio.file.Path):62:66 -> fromSystemModulesJdk
    6:6:com.android.tools.r8.ClassFileResourceProvider fromSystemModulesJdk(java.nio.file.Path):64:64 -> fromSystemModulesJdk
    1:1:java.util.Set getClassDescriptors():138:138 -> getClassDescriptors
    1:12:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):143:154 -> getProgramResource
    13:13:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):151:151 -> getProgramResource
    14:19:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):150:155 -> getProgramResource
    20:30:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):147:157 -> getProgramResource
    31:31:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):0:0 -> getProgramResource
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":191,"2":192,"3":193,"4":194,"5":195}}
    191:191:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
    192:192:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
    193:193:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
    194:194:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
    195:195:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
    188:188:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
    189:189:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> getProgramResource
    189:189:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> getProgramResource
    189:189:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157 -> getProgramResource
    190:190:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):157:157 -> getProgramResource
com.android.tools.r8.L8 -> com.android.tools.r8.L8:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():40:40 -> <clinit>
    1:1:void <init>():41:41 -> <init>
    1:2:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,boolean,com.android.tools.r8.D8Command,com.android.tools.r8.R8Command):81:82 -> a
    3:31:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,boolean,com.android.tools.r8.D8Command,com.android.tools.r8.R8Command,java.util.concurrent.ExecutorService):94:122 -> a
    32:38:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):100:106 -> a
    39:46:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):128:135 -> a
    39:46:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    47:50:void com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibraryAmender.run(com.android.tools.r8.graph.AppView):30:33 -> a
    47:50:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):136 -> a
    47:50:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    51:51:void com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibraryAmender.run(com.android.tools.r8.graph.AppView):29:29 -> a
    51:51:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):136 -> a
    51:51:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    52:56:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):138:142 -> a
    52:56:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    57:57:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing):323:323 -> a
    57:57:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):142 -> a
    57:57:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    58:62:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):142:146 -> a
    58:62:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    63:63:com.android.tools.r8.naming.NamingLens com.android.tools.r8.naming.PrefixRewritingNamingLens.createPrefixRewritingNamingLens(com.android.tools.r8.graph.AppView):24:24 -> a
    63:63:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):146 -> a
    63:63:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    64:67:com.android.tools.r8.naming.NamingLens com.android.tools.r8.naming.PrefixRewritingNamingLens.createPrefixRewritingNamingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):29:32 -> a
    64:67:com.android.tools.r8.naming.NamingLens com.android.tools.r8.naming.PrefixRewritingNamingLens.createPrefixRewritingNamingLens(com.android.tools.r8.graph.AppView):24 -> a
    64:67:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):146 -> a
    64:67:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    68:68:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):147:147 -> a
    68:68:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    69:69:void com.android.tools.r8.naming.signature.GenericSignatureRewriter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):31:31 -> a
    69:69:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):147 -> a
    69:69:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    70:72:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):147:149 -> a
    70:72:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    73:73:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():497:497 -> a
    73:73:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):150 -> a
    73:73:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    74:82:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):150:158 -> a
    74:82:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    83:86:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):110:113 -> a
    87:87:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> a
    87:87:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):153 -> a
    87:87:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    88:93:void desugar(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):153:158 -> a
    88:93:void lambda$run$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):108 -> a
    94:100:com.android.tools.r8.graph.AppView readApp(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):166:172 -> a
    101:102:void run(java.lang.String[]):176:177 -> a
    101:102:void lambda$main$1(java.lang.String[]):198 -> a
    103:103:void com.android.tools.r8.utils.SelfRetraceTest.test():25:25 -> a
    103:103:void run(java.lang.String[]):178 -> a
    103:103:void lambda$main$1(java.lang.String[]):198 -> a
    104:104:void run(java.lang.String[]):179:179 -> a
    104:104:void lambda$main$1(java.lang.String[]):198 -> a
    105:105:void com.android.tools.r8.utils.SelfRetraceTest.foo3():13:13 -> a
    105:105:void com.android.tools.r8.utils.SelfRetraceTest.foo2():17 -> a
    105:105:void com.android.tools.r8.utils.SelfRetraceTest.foo1():21 -> a
    105:105:void com.android.tools.r8.utils.SelfRetraceTest.test():26 -> a
    105:105:void run(java.lang.String[]):178 -> a
    105:105:void lambda$main$1(java.lang.String[]):198 -> a
    106:107:void run(java.lang.String[]):182:183 -> a
    106:107:void lambda$main$1(java.lang.String[]):198 -> a
    108:108:void lambda$main$1(java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":113,"2":114,"3":115}}
    113:113:void run(java.lang.String[]):183:183 -> a
    113:113:void lambda$main$1(java.lang.String[]):198 -> a
    114:114:void run(java.lang.String[]):183:183 -> a
    114:114:void lambda$main$1(java.lang.String[]):198 -> a
    115:115:void run(java.lang.String[]):183:183 -> a
    115:115:void lambda$main$1(java.lang.String[]):198 -> a
    109:112:void run(java.lang.String[]):183:186 -> a
    109:112:void lambda$main$1(java.lang.String[]):198 -> a
    1:4:void main(java.lang.String[]):195:198 -> main
    5:5:void main(java.lang.String[]):196:196 -> main
    1:5:void run(com.android.tools.r8.L8Command):50:54 -> run
    6:6:void run(com.android.tools.r8.L8Command):49:49 -> run
    7:11:void run(com.android.tools.r8.L8Command,java.util.concurrent.ExecutorService):66:70 -> run
    12:12:void run(com.android.tools.r8.L8Command,java.util.concurrent.ExecutorService):65:65 -> run
com.android.tools.r8.L8Command -> com.android.tools.r8.L8Command:
    com.android.tools.r8.R8Command r8Command -> v
    java.lang.String USAGE_MESSAGE -> y
    boolean $assertionsDisabled -> z
    com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification desugaredLibrarySpecification -> w
    com.android.tools.r8.graph.DexItemFactory factory -> x
    com.android.tools.r8.D8Command d8Command -> u
    1:4:void <clinit>():39:42 -> <clinit>
    1:1:void <init>(com.android.tools.r8.R8Command,com.android.tools.r8.D8Command,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.CompilationMode,com.android.tools.r8.ProgramConsumer,com.android.tools.r8.StringConsumer,int,com.android.tools.r8.utils.Reporter,boolean,java.util.function.BiPredicate,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,java.util.List,java.util.List,int,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.L8Command$1):40:40 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.L8Command$1):40:40 -> <init>
    3:23:void <init>(com.android.tools.r8.R8Command,com.android.tools.r8.D8Command,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.CompilationMode,com.android.tools.r8.ProgramConsumer,com.android.tools.r8.StringConsumer,int,com.android.tools.r8.utils.Reporter,boolean,java.util.function.BiPredicate,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,java.util.List,java.util.List,int,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.graph.DexItemFactory):106:126 -> <init>
    24:28:void <init>(boolean,boolean):130:134 -> <init>
    1:44:com.android.tools.r8.utils.InternalOptions getInternalOptions():163:206 -> b
    45:45:com.android.tools.r8.AssertionsConfiguration$Builder com.android.tools.r8.AssertionsConfiguration.builder(com.android.tools.r8.utils.Reporter):97:97 -> b
    45:45:com.android.tools.r8.utils.InternalOptions getInternalOptions():206 -> b
    46:60:com.android.tools.r8.utils.InternalOptions getInternalOptions():206:220 -> b
    61:61:com.android.tools.r8.dump.DumpOptions dumpOptions():449:449 -> b
    61:61:com.android.tools.r8.utils.InternalOptions getInternalOptions():221 -> b
    62:66:void com.android.tools.r8.BaseCompilerCommand.dumpBaseCommandOptions(com.android.tools.r8.dump.DumpOptions$Builder):129:133 -> b
    62:66:com.android.tools.r8.dump.DumpOptions dumpOptions():450 -> b
    62:66:com.android.tools.r8.utils.InternalOptions getInternalOptions():221 -> b
    67:70:com.android.tools.r8.dump.DumpOptions dumpOptions():451:454 -> b
    67:70:com.android.tools.r8.utils.InternalOptions getInternalOptions():221 -> b
    71:71:com.android.tools.r8.utils.InternalOptions getInternalOptions():221:221 -> b
    1:1:com.android.tools.r8.L8Command$Builder builder():154:154 -> builder
    2:2:com.android.tools.r8.L8Command$Builder builder(com.android.tools.r8.DiagnosticsHandler):158:158 -> builder
    1:1:com.android.tools.r8.D8Command getD8Command():54:54 -> f
    1:1:com.android.tools.r8.R8Command getR8Command():58:58 -> g
    1:1:boolean isShrinking():50:50 -> h
    1:1:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):71:71 -> parse
    2:2:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):85:85 -> parse
com.android.tools.r8.L8Command$Builder -> com.android.tools.r8.L8Command$Builder:
    java.util.List proguardConfigFiles -> z
    java.util.List proguardConfigStrings -> y
    boolean $assertionsDisabled -> A
    1:1:void <clinit>():231:231 -> <clinit>
    1:1:void <init>(com.android.tools.r8.L8Command$1):232:232 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.L8Command$1):232:232 -> <init>
    3:3:void <init>():238:238 -> <init>
    4:4:void <init>(com.android.tools.r8.DiagnosticsHandler):242:242 -> <init>
    5:6:void <init>(com.android.tools.r8.DiagnosticsHandler):234:235 -> <init>
    1:1:com.android.tools.r8.L8Command$Builder addProguardConfiguration(java.util.List,com.android.tools.r8.origin.Origin):274:274 -> addProguardConfiguration
    1:1:com.android.tools.r8.L8Command$Builder addProguardConfigurationFiles(java.nio.file.Path[]):262:262 -> addProguardConfigurationFiles
    2:2:com.android.tools.r8.L8Command$Builder addProguardConfigurationFiles(java.util.List):268:268 -> addProguardConfigurationFiles
    1:5:com.android.tools.r8.L8Command makeCommand():333:337 -> c
    1:5:com.android.tools.r8.BaseCommand makeCommand():231 -> c
    6:6:com.android.tools.r8.CompilationMode defaultCompilationMode():257:257 -> c
    6:6:com.android.tools.r8.L8Command makeCommand():338 -> c
    6:6:com.android.tools.r8.BaseCommand makeCommand():231 -> c
    7:25:com.android.tools.r8.L8Command makeCommand():338:356 -> c
    7:25:com.android.tools.r8.BaseCommand makeCommand():231 -> c
    26:44:com.android.tools.r8.L8Command makeCommand():355:373 -> c
    26:44:com.android.tools.r8.BaseCommand makeCommand():231 -> c
    45:49:com.android.tools.r8.L8Command makeCommand():372:376 -> c
    45:49:com.android.tools.r8.BaseCommand makeCommand():231 -> c
    50:62:com.android.tools.r8.L8Command makeCommand():375:387 -> c
    50:62:com.android.tools.r8.BaseCommand makeCommand():231 -> c
    63:98:com.android.tools.r8.L8Command makeCommand():386:421 -> c
    63:98:com.android.tools.r8.BaseCommand makeCommand():231 -> c
    99:99:com.android.tools.r8.L8Command makeCommand():334:334 -> c
    99:99:com.android.tools.r8.BaseCommand makeCommand():231 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
    1:22:void validate():307:328 -> f
    1:1:com.android.tools.r8.CompilationMode defaultCompilationMode():257:257 -> g
    1:1:boolean isShrinking():247:247 -> isShrinking
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setProguardMapConsumer(com.android.tools.r8.StringConsumer):231:231 -> setProguardMapConsumer
    2:2:com.android.tools.r8.L8Command$Builder setProguardMapConsumer(com.android.tools.r8.StringConsumer):302:302 -> setProguardMapConsumer
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setProguardMapOutputPath(java.nio.file.Path):231:231 -> setProguardMapOutputPath
    2:3:com.android.tools.r8.BaseCompilerCommand$Builder com.android.tools.r8.BaseCompilerCommand$Builder.setProguardMapOutputPath(java.nio.file.Path):321:322 -> setProguardMapOutputPath
    2:3:com.android.tools.r8.L8Command$Builder setProguardMapOutputPath(java.nio.file.Path):289 -> setProguardMapOutputPath
    4:4:com.android.tools.r8.L8Command$Builder setProguardMapOutputPath(java.nio.file.Path):289:289 -> setProguardMapOutputPath
com.android.tools.r8.L8Command$DefaultL8DiagnosticsHandler -> com.android.tools.r8.H:
    1:1:void <init>():137:137 -> <init>
    1:5:void error(com.android.tools.r8.Diagnostic):141:145 -> error
    6:12:void error(com.android.tools.r8.Diagnostic):143:149 -> error
com.android.tools.r8.L8Command$InMemoryJarContent -> com.android.tools.r8.I:
    java.util.List resources -> a
    1:3:void <init>():426:428 -> <init>
    1:3:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):434:436 -> accept
    4:4:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):435:435 -> accept
    5:5:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):434:434 -> accept
    1:1:java.util.Collection getProgramResources():441:441 -> getProgramResources
com.android.tools.r8.L8CommandParser -> com.android.tools.r8.J:
    java.lang.String USAGE_MESSAGE -> g
    java.util.Set OPTIONS_WITH_PARAMETER -> f
    1:20:void <clinit>():21:40 -> <clinit>
    21:21:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":106,"2":107,"3":108}}
    106:106:void <clinit>():40:40 -> <clinit>
    107:107:void <clinit>():40:40 -> <clinit>
    108:108:void <clinit>():40:40 -> <clinit>
    78:78:void <clinit>():57:57 -> <clinit>
    79:103:void <clinit>():44:68 -> <clinit>
    104:104:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable[]):472:472 -> <clinit>
    104:104:void <clinit>():43 -> <clinit>
    105:105:void <clinit>():41:41 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    1:1:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):82:82 -> a
    2:2:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):96:96 -> a
    3:15:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):102:114 -> a
    16:16:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":658,"2":659,"3":660}}
    658:658:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    659:659:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    660:660:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    130:130:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    131:131:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":661,"2":662,"3":663}}
    661:661:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    662:662:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    663:663:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:114 -> a
    245:272:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):114:141 -> a
    273:273:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":690,"2":691,"3":692}}
    690:690:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):141:141 -> a
    691:691:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):141:141 -> a
    692:692:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):141:141 -> a
    416:416:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):143:143 -> a
    417:460:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):141:184 -> a
    461:461:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":735,"2":736,"3":737,"4":738,"5":739}}
    735:735:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):184:184 -> a
    736:736:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):184:184 -> a
    737:737:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):184:184 -> a
    738:738:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):184:184 -> a
    739:739:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):184:184 -> a
    645:647:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):184:186 -> a
    648:648:boolean com.android.tools.r8.D8CommandParser$OrderedClassFileResourceProvider$Builder.isEmpty():68:68 -> a
    648:648:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):189 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    649:657:com.android.tools.r8.L8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.L8Command$Builder):190:198 -> a
com.android.tools.r8.OutputMode -> com.android.tools.r8.OutputMode:
    com.android.tools.r8.OutputMode[] $VALUES -> b
    1:16:void <clinit>():11:26 -> <clinit>
    17:17:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(java.lang.String,int):8:8 -> <init>
    1:1:com.android.tools.r8.OutputMode valueOf(java.lang.String):7:7 -> valueOf
    1:1:com.android.tools.r8.OutputMode[] values():7:7 -> values
com.android.tools.r8.ProgramResource -> com.android.tools.r8.ProgramResource:
    1:1:com.android.tools.r8.ProgramResource fromBytes(com.android.tools.r8.origin.Origin,com.android.tools.r8.ProgramResource$Kind,byte[],java.util.Set):53:53 -> fromBytes
    1:1:com.android.tools.r8.ProgramResource fromFile(com.android.tools.r8.ProgramResource$Kind,java.nio.file.Path):42:42 -> fromFile
    1:3:byte[] getBytes():65:67 -> getBytes
com.android.tools.r8.ProgramResource$ByteResource -> com.android.tools.r8.ProgramResource$ByteResource:
    com.android.tools.r8.origin.Origin origin -> a
    java.util.Set classDescriptors -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ProgramResource$Kind kind -> b
    byte[] bytes -> c
    1:1:void <clinit>():130:130 -> <clinit>
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.ProgramResource$Kind,byte[],java.util.Set,com.android.tools.r8.ProgramResource$1):131:131 -> <init>
    2:7:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.ProgramResource$Kind,byte[],java.util.Set):137:142 -> <init>
    1:1:java.io.InputStream getByteStream():157:157 -> getByteStream
    1:1:byte[] getBytes():162:162 -> getBytes
    1:1:java.util.Set getClassDescriptors():167:167 -> getClassDescriptors
    1:1:com.android.tools.r8.ProgramResource$Kind getKind():152:152 -> getKind
    1:1:com.android.tools.r8.origin.Origin getOrigin():147:147 -> getOrigin
com.android.tools.r8.ProgramResource$FileResource -> com.android.tools.r8.ProgramResource$FileResource:
    com.android.tools.r8.origin.Origin origin -> a
    java.nio.file.Path file -> c
    java.util.Set classDescriptors -> d
    com.android.tools.r8.ProgramResource$Kind kind -> b
    1:1:void <init>(com.android.tools.r8.ProgramResource$Kind,java.nio.file.Path,java.util.Set,com.android.tools.r8.ProgramResource$1):82:82 -> <init>
    2:6:void <init>(com.android.tools.r8.ProgramResource$Kind,java.nio.file.Path,java.util.Set):88:92 -> <init>
    1:3:java.io.InputStream getByteStream():108:110 -> getByteStream
    1:3:byte[] getBytes():117:119 -> getBytes
    1:1:java.util.Set getClassDescriptors():125:125 -> getClassDescriptors
    1:1:com.android.tools.r8.ProgramResource$Kind getKind():102:102 -> getKind
    1:1:com.android.tools.r8.origin.Origin getOrigin():97:97 -> getOrigin
com.android.tools.r8.ProgramResource$Kind -> com.android.tools.r8.ProgramResource$Kind:
    com.android.tools.r8.ProgramResource$Kind[] $VALUES -> b
    1:3:void <clinit>():31:33 -> <clinit>
    4:4:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(java.lang.String,int):29:29 -> <init>
    1:1:com.android.tools.r8.ProgramResource$Kind valueOf(java.lang.String):28:28 -> valueOf
    1:1:com.android.tools.r8.ProgramResource$Kind[] values():28:28 -> values
com.android.tools.r8.R8 -> com.android.tools.r8.R8:
    com.android.tools.r8.utils.Timing timing -> a
    com.android.tools.r8.utils.InternalOptions options -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():164:164 -> <clinit>
    1:6:void <init>(com.android.tools.r8.utils.InternalOptions):170:175 -> <init>
    boolean lambda$run$3(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexApplication lambda$run$8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexApplication) -> a
    1:8:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):221:228 -> a
    9:9:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    9:9:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):229 -> a
    10:10:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):230:230 -> a
    11:11:com.android.tools.r8.ClassFileConsumer com.android.tools.r8.utils.InternalOptions.getClassFileConsumer():497:497 -> a
    11:11:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):231 -> a
    12:24:void writeApplication(java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.AndroidApp):231:243 -> a
    25:26:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):249:250 -> a
    27:27:void com.android.tools.r8.utils.ExceptionUtils.withR8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):69:69 -> a
    27:27:void runForTesting(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):250 -> a
    28:28:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):263:263 -> a
    28:28:void lambda$run$0(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):208 -> a
    29:39:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):271:281 -> a
    40:40:boolean com.android.tools.r8.utils.AssertionUtils.forTesting(com.android.tools.r8.utils.InternalOptions,java.util.function.Supplier):17:17 -> a
    40:40:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):281 -> a
    41:47:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):281:287 -> a
    48:48:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2083,"2":2084,"3":2085}}
    2083:2083:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):287:287 -> a
    2084:2084:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):287:287 -> a
    2085:2085:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):287:287 -> a
    335:336:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):287:288 -> a
    337:337:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2086,"2":2087,"3":2088}}
    2086:2086:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):288:288 -> a
    2087:2087:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):288:288 -> a
    2088:2088:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):288:288 -> a
    625:626:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):288:289 -> a
    627:627:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2089,"2":2090,"3":2091}}
    2089:2089:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):289:289 -> a
    2090:2090:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):289:289 -> a
    2091:2091:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):289:289 -> a
    916:940:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):289:313 -> a
    941:948:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):35:42 -> a
    941:948:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):313 -> a
    949:949:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    949:949:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):42 -> a
    949:949:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):313 -> a
    950:950:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):42:42 -> a
    950:950:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):313 -> a
    951:951:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37:37 -> a
    951:951:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):313 -> a
    952:952:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    952:952:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37 -> a
    952:952:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):313 -> a
    953:953:void com.android.tools.r8.shaking.MainDexListBuilder.checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo):37:37 -> a
    953:953:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):313 -> a
    954:957:void com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibraryAmender.run(com.android.tools.r8.graph.AppView):30:33 -> a
    954:957:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):315 -> a
    958:958:void com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibraryAmender.run(com.android.tools.r8.graph.AppView):29:29 -> a
    958:958:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):315 -> a
    959:968:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):316:325 -> a
    969:982:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):324:337 -> a
    983:983:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):336:336 -> a
    984:999:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):333:348 -> a
    1000:1004:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):347:351 -> a
    1005:1005:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):350:350 -> a
    1006:1017:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):349:360 -> a
    1018:1018:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):359:359 -> a
    1019:1024:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):356:361 -> a
    1025:1067:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):355:397 -> a
    1068:1098:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):396:426 -> a
    1099:1149:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):421:471 -> a
    1150:1271:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):468:589 -> a
    1272:1297:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):586:611 -> a
    1298:1319:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):609:630 -> a
    1320:1338:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):625:643 -> a
    1339:1388:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):642:691 -> a
    1389:1459:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):672:742 -> a
    1460:1487:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):741:768 -> a
    1488:1585:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):765:862 -> a
    1586:1600:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):798:812 -> a
    1601:1613:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):809:821 -> a
    1614:1619:com.android.tools.r8.naming.NamingLens com.android.tools.r8.naming.RecordRewritingNamingLens.createRecordRewritingNamingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):25:30 -> a
    1614:1619:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):821 -> a
    1620:1645:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):823:848 -> a
    1646:1664:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):844:862 -> a
    1665:1665:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):547:547 -> a
    1666:2082:void run(com.android.tools.r8.utils.AndroidApp,java.util.concurrent.ExecutorService):446:862 -> a
    2092:2092:java.lang.Boolean lambda$run$2():281:281 -> a
    2093:2093:void lambda$run$4(com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):405:405 -> a
    2094:2094:void lambda$run$9(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):602:602 -> a
    2095:2095:com.android.tools.r8.shaking.TreePrunerConfiguration lambda$run$10(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):610:610 -> a
    2096:2096:void lambda$run$13(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):686:686 -> a
    2097:2097:void lambda$run$14(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):693:693 -> a
    2098:2098:void lambda$run$15(java.lang.String):793:793 -> a
    2099:2099:boolean lambda$run$16(com.android.tools.r8.graph.DexProgramClass):799:799 -> a
    2100:2106:boolean allReferencesAssignedApiLevel(com.android.tools.r8.graph.AppView):869:875 -> a
    2107:2110:void lambda$allReferencesAssignedApiLevel$18(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMember):877:880 -> a
    2111:2111:void lambda$allReferencesAssignedApiLevel$18(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMember):879:879 -> a
    2112:2126:void performFinalMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):907:921 -> a
    2127:2134:void performFinalMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):920:927 -> a
    2135:2135:void performFinalMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):926:926 -> a
    2136:2138:java.lang.Iterable lambda$performFinalMainDexTracing$20(com.android.tools.r8.shaking.MainDexInfo,com.android.tools.r8.graph.AppView):929:931 -> a
    2139:2141:void lambda$performFinalMainDexTracing$19(com.android.tools.r8.graph.AppView,java.util.ArrayList,com.android.tools.r8.graph.DexType):933:935 -> a
    2142:2143:boolean verifyMovedMethodsHaveOriginalMethodPosition(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication):951:952 -> a
    2144:2144:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$22(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):954:954 -> a
    2145:2145:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):957:957 -> a
    2146:2146:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    2146:2146:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):957 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2147:2154:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):958:965 -> a
    2155:2156:boolean verifyOriginalMethodInPosition(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):977:978 -> a
    2155:2156:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):965 -> a
    2157:2157:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    2157:2157:boolean verifyOriginalMethodInPosition(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):978 -> a
    2157:2157:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):965 -> a
    2158:2159:boolean verifyOriginalMethodInPosition(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):981:982 -> a
    2158:2159:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):965 -> a
    2160:2161:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):966:967 -> a
    2162:2166:boolean verifyOriginalMethodInDebugInfo(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):988:992 -> a
    2162:2166:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):967 -> a
    2167:2167:boolean com.android.tools.r8.graph.DexDebugEvent.isSetInlineFrame():0:0 -> a
    2167:2167:boolean verifyOriginalMethodInDebugInfo(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):992 -> a
    2167:2167:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):967 -> a
    2168:2168:boolean verifyOriginalMethodInDebugInfo(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):992:992 -> a
    2168:2168:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):967 -> a
    2169:2169:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):969:969 -> a
    2170:2170:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    2170:2170:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):969 -> a
    2171:2171:boolean com.android.tools.r8.graph.Code.isThrowNullCode():0:0 -> a
    2171:2171:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):969 -> a
    2172:2172:void lambda$verifyMovedMethodsHaveOriginalMethodPosition$21(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):969:969 -> a
    2173:2186:com.android.tools.r8.graph.AppView runEnqueuer(com.android.tools.r8.shaking.AnnotationRemover$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder):1005:1018 -> a
    2187:2189:void com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder.attach(com.android.tools.r8.shaking.Enqueuer):87:89 -> a
    2187:2189:com.android.tools.r8.graph.AppView runEnqueuer(com.android.tools.r8.shaking.AnnotationRemover$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder):1019 -> a
    2190:2200:com.android.tools.r8.graph.AppView runEnqueuer(com.android.tools.r8.shaking.AnnotationRemover$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder):1023:1033 -> a
    2201:2201:void lambda$runEnqueuer$23(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoShrinker):1031:1031 -> a
    2202:2204:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):1052:1054 -> a
    2205:2240:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):1053:1088 -> a
    2241:2245:void processWhyAreYouKeepingAndCheckDiscarded(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.function.Supplier,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):1085:1089 -> a
    2246:2249:boolean verifyNoJarApplicationReaders(java.util.Collection):1093:1096 -> a
    2250:2250:void lambda$run$25(com.android.tools.r8.R8Command,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):1118:1118 -> a
    2251:2251:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):263:263 -> a
    2251:2251:void lambda$run$25(com.android.tools.r8.R8Command,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):1118 -> a
    2252:2252:void lambda$main$26(java.lang.String[]):1133:1133 -> a
    1:1:void run(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):263:263 -> b
    1:1:void lambda$runForTesting$1(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):254 -> b
    2:2:void lambda$runForTesting$1(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):256:256 -> b
    3:3:com.android.tools.r8.graph.DirectMappedDexApplication getDirectApp(com.android.tools.r8.graph.AppView):267:267 -> b
    4:13:void performInitialMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):890:899 -> b
    14:17:void performInitialMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):898:901 -> b
    18:18:void lambda$runEnqueuer$24(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):1035:1035 -> b
    19:20:void run(java.lang.String[]):1104:1105 -> b
    21:21:void com.android.tools.r8.utils.SelfRetraceTest.test():25:25 -> b
    21:21:void run(java.lang.String[]):1106 -> b
    22:22:void run(java.lang.String[]):1107:1107 -> b
    23:23:void com.android.tools.r8.utils.SelfRetraceTest.foo3():13:13 -> b
    23:23:void com.android.tools.r8.utils.SelfRetraceTest.foo2():17 -> b
    23:23:void com.android.tools.r8.utils.SelfRetraceTest.foo1():21 -> b
    23:23:void com.android.tools.r8.utils.SelfRetraceTest.test():26 -> b
    23:23:void run(java.lang.String[]):1106 -> b
    24:25:void run(java.lang.String[]):1110:1111 -> b
    26:26:void run(java.lang.String[]):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1146,"2":1147,"3":1148}}
    1146:1146:void run(java.lang.String[]):1111:1111 -> b
    1147:1147:void run(java.lang.String[]):1111:1111 -> b
    1148:1148:void run(java.lang.String[]):1111:1111 -> b
    1137:1143:void run(java.lang.String[]):1111:1117 -> b
    1144:1144:void com.android.tools.r8.utils.ExceptionUtils.withR8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):69:69 -> b
    1144:1144:void run(java.lang.String[]):1117 -> b
    1145:1145:void run(java.lang.String[]):1120:1120 -> b
    1:1:java.lang.Iterable lambda$run$11(com.android.tools.r8.graph.AppView):644:644 -> c
    1:1:java.lang.Boolean lambda$run$12(com.android.tools.r8.graph.AppView):663:663 -> d
    2:5:java.lang.Boolean lambda$run$12(com.android.tools.r8.graph.AppView):662:665 -> d
    6:6:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.isValid():59:59 -> d
    6:6:java.lang.Boolean lambda$run$12(com.android.tools.r8.graph.AppView):665 -> d
    7:7:java.lang.Boolean lambda$run$12(com.android.tools.r8.graph.AppView):662:662 -> d
    1:3:java.lang.Boolean lambda$run$17(com.android.tools.r8.graph.AppView):834:836 -> e
    4:7:java.lang.Boolean lambda$run$17(com.android.tools.r8.graph.AppView):835:838 -> e
    8:8:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.isValid():59:59 -> e
    8:8:java.lang.Boolean lambda$run$17(com.android.tools.r8.graph.AppView):838 -> e
    9:9:java.lang.Boolean lambda$run$17(com.android.tools.r8.graph.AppView):834:834 -> e
    1:1:java.lang.Boolean lambda$run$5(com.android.tools.r8.graph.AppView):443:443 -> f
    1:1:java.lang.Boolean lambda$run$6(com.android.tools.r8.graph.AppView):453:453 -> g
    1:1:java.lang.Boolean lambda$run$7(com.android.tools.r8.graph.AppView):528:528 -> h
    1:4:void main(java.lang.String[]):1130:1133 -> main
    5:5:void main(java.lang.String[]):1131:1131 -> main
    1:3:void run(com.android.tools.r8.R8Command):187:189 -> run
    4:7:void run(com.android.tools.r8.R8Command,java.util.concurrent.ExecutorService):203:206 -> run
    8:8:void com.android.tools.r8.utils.ExceptionUtils.withR8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):69:69 -> run
    8:8:void run(com.android.tools.r8.R8Command,java.util.concurrent.ExecutorService):205 -> run
com.android.tools.r8.R8Command -> com.android.tools.r8.R8Command:
    boolean $assertionsDisabled -> N
    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> F
    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> G
    java.util.List mainDexKeepRules -> u
    com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification desugaredLibrarySpecification -> J
    java.util.Optional includeDataResources -> A
    java.lang.String USAGE_MESSAGE -> M
    boolean skipDump -> L
    boolean enableTreeShaking -> w
    boolean enableMinification -> x
    com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> K
    boolean disableVerticalClassMerging -> y
    boolean forceProguardCompatibility -> z
    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> I
    java.util.function.Consumer syntheticProguardRulesConsumer -> H
    com.android.tools.r8.StringConsumer proguardConfigurationConsumer -> E
    com.android.tools.r8.StringConsumer proguardUsageConsumer -> C
    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> v
    com.android.tools.r8.StringConsumer proguardSeedsConsumer -> D
    com.android.tools.r8.StringConsumer proguardMapConsumer -> B
    1:603:void <clinit>():70:672 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ProgramConsumer,java.util.List,com.android.tools.r8.StringConsumer,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.CompilationMode,int,com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.InternalOptions$DesugarState,boolean,boolean,boolean,boolean,java.util.Optional,com.android.tools.r8.StringConsumer,com.android.tools.r8.StringConsumer,com.android.tools.r8.StringConsumer,com.android.tools.r8.StringConsumer,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.experimental.graphinfo.GraphConsumer,java.util.function.Consumer,boolean,boolean,java.util.function.BiPredicate,com.android.tools.r8.StringConsumer,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,com.android.tools.r8.features.FeatureSplitConfiguration,java.util.List,java.util.List,java.lang.String,boolean,int,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.SourceFileProvider,com.android.tools.r8.R8Command$1):71:71 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.R8Command$1):71:71 -> <init>
    3:40:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ProgramConsumer,java.util.List,com.android.tools.r8.StringConsumer,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.CompilationMode,int,com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.InternalOptions$DesugarState,boolean,boolean,boolean,boolean,java.util.Optional,com.android.tools.r8.StringConsumer,com.android.tools.r8.StringConsumer,com.android.tools.r8.StringConsumer,com.android.tools.r8.StringConsumer,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.experimental.graphinfo.GraphConsumer,java.util.function.Consumer,boolean,boolean,java.util.function.BiPredicate,com.android.tools.r8.StringConsumer,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,com.android.tools.r8.features.FeatureSplitConfiguration,java.util.List,java.util.List,java.lang.String,boolean,int,com.android.tools.r8.utils.DumpInputFlags,com.android.tools.r8.MapIdProvider,com.android.tools.r8.SourceFileProvider):777:814 -> <init>
    41:60:void <init>(boolean,boolean):818:837 -> <init>
    1:1:com.android.tools.r8.R8Command$Builder builder(com.android.tools.r8.utils.AndroidApp):706:706 -> a
    2:2:com.android.tools.r8.R8Command$Builder builder(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):711:711 -> a
    1:23:com.android.tools.r8.utils.InternalOptions getInternalOptions():856:878 -> b
    24:46:com.android.tools.r8.utils.InternalOptions getInternalOptions():877:899 -> b
    47:49:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):992:994 -> b
    47:49:com.android.tools.r8.utils.InternalOptions getInternalOptions():896 -> b
    50:60:com.android.tools.r8.utils.InternalOptions getInternalOptions():896:906 -> b
    61:63:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):992:994 -> b
    61:63:com.android.tools.r8.utils.InternalOptions getInternalOptions():903 -> b
    64:74:com.android.tools.r8.utils.InternalOptions getInternalOptions():903:913 -> b
    75:77:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):992:994 -> b
    75:77:com.android.tools.r8.utils.InternalOptions getInternalOptions():910 -> b
    78:88:com.android.tools.r8.utils.InternalOptions getInternalOptions():910:920 -> b
    89:91:com.android.tools.r8.StringConsumer wrapStringConsumer(com.android.tools.r8.StringConsumer,boolean,java.nio.file.Path):992:994 -> b
    89:91:com.android.tools.r8.utils.InternalOptions getInternalOptions():917 -> b
    92:116:com.android.tools.r8.utils.InternalOptions getInternalOptions():917:941 -> b
    117:117:com.android.tools.r8.AssertionsConfiguration$Builder com.android.tools.r8.AssertionsConfiguration.builder(com.android.tools.r8.utils.Reporter):97:97 -> b
    117:117:com.android.tools.r8.utils.InternalOptions getInternalOptions():941 -> b
    118:120:com.android.tools.r8.utils.InternalOptions getInternalOptions():943:945 -> b
    121:127:com.android.tools.r8.utils.InternalOptions getInternalOptions():942:948 -> b
    128:128:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> b
    128:128:com.android.tools.r8.utils.InternalOptions getInternalOptions():953 -> b
    129:150:com.android.tools.r8.utils.InternalOptions getInternalOptions():954:975 -> b
    151:159:com.android.tools.r8.utils.InternalOptions getInternalOptions():974:982 -> b
    160:160:com.android.tools.r8.dump.DumpOptions dumpOptions():1014:1014 -> b
    160:160:com.android.tools.r8.utils.InternalOptions getInternalOptions():983 -> b
    161:165:void com.android.tools.r8.BaseCompilerCommand.dumpBaseCommandOptions(com.android.tools.r8.dump.DumpOptions$Builder):129:133 -> b
    161:165:com.android.tools.r8.dump.DumpOptions dumpOptions():1015 -> b
    161:165:com.android.tools.r8.utils.InternalOptions getInternalOptions():983 -> b
    166:175:com.android.tools.r8.dump.DumpOptions dumpOptions():1016:1025 -> b
    166:175:com.android.tools.r8.utils.InternalOptions getInternalOptions():983 -> b
    176:176:com.android.tools.r8.utils.InternalOptions getInternalOptions():983:983 -> b
    1:1:com.android.tools.r8.R8Command$Builder builder():696:696 -> builder
    2:2:com.android.tools.r8.R8Command$Builder builder(com.android.tools.r8.DiagnosticsHandler):701:701 -> builder
    1:1:com.android.tools.r8.graph.DexItemFactory getDexItemFactory():841:841 -> getDexItemFactory
    1:1:boolean getEnableMinification():851:851 -> getEnableMinification
    1:1:boolean getEnableTreeShaking():846:846 -> getEnableTreeShaking
    1:1:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):724:724 -> parse
    2:2:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):738:738 -> parse
com.android.tools.r8.R8Command$Builder -> com.android.tools.r8.R8Command$Builder:
    java.util.Optional includeDataResources -> H
    java.util.List featureSplits -> O
    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> L
    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> M
    java.util.List mainDexRules -> y
    java.lang.String synthesizedClassPrefix -> P
    boolean skipDump -> Q
    boolean allowTestProguardOptions -> R
    java.util.function.Consumer proguardConfigurationConsumerForTesting -> z
    boolean $assertionsDisabled -> S
    com.android.tools.r8.InputDependencyGraphConsumer inputDependencyGraphConsumer -> N
    com.android.tools.r8.StringConsumer proguardConfigurationConsumer -> K
    com.android.tools.r8.StringConsumer proguardUsageConsumer -> I
    java.util.function.Consumer syntheticProguardRulesConsumer -> A
    java.util.List proguardConfigs -> C
    com.android.tools.r8.StringConsumer proguardSeedsConsumer -> J
    boolean disableMinification -> E
    boolean disableVerticalClassMerging -> F
    boolean forceProguardCompatibility -> G
    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> B
    boolean disableTreeShaking -> D
    1:1:void <clinit>():78:78 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.R8Command$1):79:79 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.R8Command$1):79:79 -> <init>
    3:3:void <init>():124:124 -> <init>
    4:4:void <init>(com.android.tools.r8.DiagnosticsHandler):128:128 -> <init>
    5:26:void <init>(com.android.tools.r8.DiagnosticsHandler):99:120 -> <init>
    27:27:void <init>(com.android.tools.r8.utils.AndroidApp):132:132 -> <init>
    28:49:void <init>(com.android.tools.r8.utils.AndroidApp):99:120 -> <init>
    50:50:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):136:136 -> <init>
    51:72:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler):99:120 -> <init>
    1:1:com.android.tools.r8.R8Command$Builder setSynthesizedClassesPrefix(java.lang.String):160:160 -> a
    2:4:void lambda$addMainDexRules$2(java.util.List,com.android.tools.r8.origin.Origin):201:201 -> a
    5:6:void lambda$addProguardConfigurationFiles$4(java.util.List):219:220 -> a
    7:7:com.android.tools.r8.InternalProgramOutputPathConsumer createProgramOutputConsumer(java.nio.file.Path,com.android.tools.r8.OutputMode,boolean):427:427 -> a
    8:10:void lambda$makeR8Command$6(com.android.tools.r8.DataResourceProvider$Visitor,com.android.tools.r8.utils.Reporter,com.android.tools.r8.DataResourceProvider):540:542 -> a
    11:12:void addProguardConfigurationConsumerForTesting(java.util.function.Consumer):620:621 -> a
    13:15:void lambda$addProguardConfigurationConsumerForTesting$7(java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.shaking.ProguardConfiguration$Builder):624:626 -> a
    1:1:com.android.tools.r8.R8Command$Builder addFeatureSplit(java.util.function.Function):401:401 -> addFeatureSplit
    2:2:com.android.tools.r8.FeatureSplit$Builder com.android.tools.r8.FeatureSplit.builder(com.android.tools.r8.DiagnosticsHandler):71:71 -> addFeatureSplit
    2:2:com.android.tools.r8.R8Command$Builder addFeatureSplit(java.util.function.Function):401 -> addFeatureSplit
    3:6:com.android.tools.r8.R8Command$Builder addFeatureSplit(java.util.function.Function):401:404 -> addFeatureSplit
    7:21:com.android.tools.r8.R8Command$Builder addFeatureSplit(java.util.function.Function):403:417 -> addFeatureSplit
    1:1:com.android.tools.r8.R8Command$Builder addMainDexRules(java.util.List,com.android.tools.r8.origin.Origin):199:199 -> addMainDexRules
    1:1:com.android.tools.r8.R8Command$Builder addMainDexRulesFiles(java.nio.file.Path[]):188:188 -> addMainDexRulesFiles
    2:2:com.android.tools.r8.R8Command$Builder addMainDexRulesFiles(java.util.Collection):193:193 -> addMainDexRulesFiles
    1:1:com.android.tools.r8.BaseCommand$Builder addProgramResourceProvider(com.android.tools.r8.ProgramResourceProvider):78:78 -> addProgramResourceProvider
    2:2:com.android.tools.r8.R8Command$Builder addProgramResourceProvider(com.android.tools.r8.ProgramResourceProvider):388:388 -> addProgramResourceProvider
    1:1:com.android.tools.r8.R8Command$Builder addProguardConfiguration(java.util.List,com.android.tools.r8.origin.Origin):228:228 -> addProguardConfiguration
    1:1:com.android.tools.r8.R8Command$Builder addProguardConfigurationFiles(java.nio.file.Path[]):208:208 -> addProguardConfigurationFiles
    2:2:com.android.tools.r8.R8Command$Builder addProguardConfigurationFiles(java.util.List):218:218 -> addProguardConfigurationFiles
    1:1:void setDisableVerticalClassMerging(boolean):146:146 -> b
    2:4:void lambda$addProguardConfiguration$5(java.util.List,com.android.tools.r8.origin.Origin):228:228 -> b
    5:7:void addSyntheticProguardRulesConsumerForTesting(java.util.function.Consumer):633:635 -> b
    1:1:com.android.tools.r8.BaseCommand makeCommand():78:78 -> c
    2:3:void lambda$addProguardConfigurationFiles$3(java.nio.file.Path[]):209:210 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
    1:1:void lambda$addMainDexRulesFiles$0(java.nio.file.Path):193:193 -> e
    1:1:void lambda$addMainDexRulesFiles$1(java.util.Collection):193:193 -> f
    2:19:void validate():432:449 -> f
    20:20:void validate():0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":499,"2":500,"3":501}}
    499:499:void validate():450:450 -> f
    500:500:void validate():450:450 -> f
    501:501:void validate():450:450 -> f
    472:472:void validate():452:452 -> f
    473:498:void validate():450:475 -> f
    1:1:com.android.tools.r8.CompilationMode defaultCompilationMode():156:156 -> g
    1:1:void allowTestProguardOptions():641:641 -> o
    1:1:void internalForceProguardCompatibility():142:142 -> p
    1:4:com.android.tools.r8.R8Command makeCommand():481:484 -> q
    5:5:com.android.tools.r8.R8Command makeCommand():482:482 -> q
    1:4:com.android.tools.r8.R8Command makeR8Command():488:491 -> r
    5:10:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.shaking.ProguardConfigurationParser.parse(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):115:120 -> r
    5:10:com.android.tools.r8.R8Command makeR8Command():491 -> r
    11:85:com.android.tools.r8.R8Command makeR8Command():494:568 -> r
    86:86:com.android.tools.r8.utils.InternalOptions$DesugarState com.android.tools.r8.BaseCompilerCommand$Builder.getDesugaringState():536:536 -> r
    86:86:com.android.tools.r8.R8Command makeR8Command():569 -> r
    87:128:com.android.tools.r8.R8Command makeR8Command():572:613 -> r
    1:1:com.android.tools.r8.R8Command$Builder skipDump():276:276 -> s
    1:1:com.android.tools.r8.R8Command$Builder setDesugaredLibraryKeepRuleConsumer(com.android.tools.r8.StringConsumer):267:267 -> setDesugaredLibraryKeepRuleConsumer
    1:1:com.android.tools.r8.R8Command$Builder setDisableMinification(boolean):182:182 -> setDisableMinification
    1:1:com.android.tools.r8.R8Command$Builder setDisableTreeShaking(boolean):171:171 -> setDisableTreeShaking
    1:1:com.android.tools.r8.R8Command$Builder setInputDependencyGraphConsumer(com.android.tools.r8.InputDependencyGraphConsumer):340:340 -> setInputDependencyGraphConsumer
    1:1:com.android.tools.r8.R8Command$Builder setKeptGraphConsumer(com.android.tools.r8.experimental.graphinfo.GraphConsumer):319:319 -> setKeptGraphConsumer
    1:1:com.android.tools.r8.R8Command$Builder setMainDexKeptGraphConsumer(com.android.tools.r8.experimental.graphinfo.GraphConsumer):327:327 -> setMainDexKeptGraphConsumer
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode):78:78 -> setOutput
    2:2:com.android.tools.r8.BaseCompilerCommand$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode,boolean):78:78 -> setOutput
    3:3:com.android.tools.r8.R8Command$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode):359:359 -> setOutput
    4:5:com.android.tools.r8.R8Command$Builder setOutput(java.nio.file.Path,com.android.tools.r8.OutputMode,boolean):382:383 -> setOutput
    1:1:com.android.tools.r8.R8Command$Builder setProguardConfigurationConsumer(com.android.tools.r8.StringConsumer):311:311 -> setProguardConfigurationConsumer
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setProguardMapConsumer(com.android.tools.r8.StringConsumer):78:78 -> setProguardMapConsumer
    2:2:com.android.tools.r8.R8Command$Builder setProguardMapConsumer(com.android.tools.r8.StringConsumer):257:257 -> setProguardMapConsumer
    1:1:com.android.tools.r8.BaseCompilerCommand$Builder setProguardMapOutputPath(java.nio.file.Path):78:78 -> setProguardMapOutputPath
    2:3:com.android.tools.r8.BaseCompilerCommand$Builder com.android.tools.r8.BaseCompilerCommand$Builder.setProguardMapOutputPath(java.nio.file.Path):321:322 -> setProguardMapOutputPath
    2:3:com.android.tools.r8.R8Command$Builder setProguardMapOutputPath(java.nio.file.Path):244 -> setProguardMapOutputPath
    4:4:com.android.tools.r8.R8Command$Builder setProguardMapOutputPath(java.nio.file.Path):244:244 -> setProguardMapOutputPath
    1:1:com.android.tools.r8.R8Command$Builder setProguardSeedsConsumer(com.android.tools.r8.StringConsumer):300:300 -> setProguardSeedsConsumer
    1:1:com.android.tools.r8.R8Command$Builder setProguardUsageConsumer(com.android.tools.r8.StringConsumer):288:288 -> setProguardUsageConsumer
com.android.tools.r8.R8Command$Builder$1 -> com.android.tools.r8.K:
    com.android.tools.r8.ProgramResourceProvider val$programResourceProvider -> a
    1:1:void <init>(com.android.tools.r8.R8Command$Builder,com.android.tools.r8.ProgramResourceProvider):406:406 -> <init>
    1:1:java.util.Collection getProgramResources():409:409 -> getProgramResources
com.android.tools.r8.R8Command$Builder$2 -> com.android.tools.r8.L:
    com.android.tools.r8.shaking.ProguardConfigurationParser val$parser -> a
    com.android.tools.r8.utils.Reporter val$reporter -> b
    1:1:void <init>(com.android.tools.r8.R8Command$Builder,com.android.tools.r8.shaking.ProguardConfigurationParser,com.android.tools.r8.utils.Reporter):511:511 -> <init>
    1:4:void visit(com.android.tools.r8.DataEntryResource):519:522 -> visit
    5:5:void com.android.tools.r8.shaking.ProguardConfigurationSourceBytes.<init>(java.io.InputStream,com.android.tools.r8.origin.Origin):24:24 -> visit
    5:5:void visit(com.android.tools.r8.DataEntryResource):522 -> visit
    6:7:void visit(com.android.tools.r8.DataEntryResource):523:524 -> visit
    8:16:void visit(com.android.tools.r8.DataEntryResource):520:528 -> visit
    17:17:void visit(com.android.tools.r8.DataEntryResource):525:525 -> visit
    18:18:void visit(com.android.tools.r8.DataEntryResource):0:0 -> visit
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":546,"2":547,"3":548}}
    546:546:void visit(com.android.tools.r8.DataEntryResource):525:525 -> visit
    547:547:void visit(com.android.tools.r8.DataEntryResource):525:525 -> visit
    548:548:void visit(com.android.tools.r8.DataEntryResource):525:525 -> visit
    543:545:void visit(com.android.tools.r8.DataEntryResource):525:525 -> visit
com.android.tools.r8.R8Command$Builder$DefaultR8DiagnosticsHandler -> com.android.tools.r8.M:
    1:1:void <init>():81:81 -> <init>
    2:2:void <init>(com.android.tools.r8.R8Command$1):81:81 -> <init>
    1:6:void error(com.android.tools.r8.Diagnostic):85:90 -> error
    7:14:void error(com.android.tools.r8.Diagnostic):88:95 -> error
com.android.tools.r8.R8Command$EnsureNonDexProgramResourceProvider -> com.android.tools.r8.N:
    com.android.tools.r8.ProgramResourceProvider provider -> a
    1:2:void <init>(com.android.tools.r8.ProgramResourceProvider):650:651 -> <init>
    1:1:com.android.tools.r8.DataResourceProvider getDataResourceProvider():668:668 -> getDataResourceProvider
    1:4:java.util.Collection getProgramResources():656:659 -> getProgramResources
com.android.tools.r8.R8Command$StandardOutConsumer -> com.android.tools.r8.O:
    1:1:void <init>(com.android.tools.r8.StringConsumer):1003:1003 -> <init>
    1:2:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):1008:1009 -> accept
com.android.tools.r8.R8CommandParser -> com.android.tools.r8.Q:
    java.util.Set OPTIONS_WITH_TWO_PARAMETERS -> g
    java.lang.String USAGE_MESSAGE -> h
    java.util.Set OPTIONS_WITH_PARAMETER -> f
    1:39:void <clinit>():25:63 -> <clinit>
    40:40:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":169,"2":170,"3":171}}
    169:169:void <clinit>():63:63 -> <clinit>
    170:170:void <clinit>():63:63 -> <clinit>
    171:171:void <clinit>():63:63 -> <clinit>
    124:124:void <clinit>():84:84 -> <clinit>
    125:166:void <clinit>():67:108 -> <clinit>
    167:167:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable[]):472:472 -> <clinit>
    167:167:void <clinit>():66 -> <clinit>
    168:168:void <clinit>():64:64 -> <clinit>
    1:1:void <init>():23:23 -> <init>
    1:1:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):121:121 -> a
    2:9:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder):139:146 -> a
    2:9:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):121 -> a
    10:10:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):135:135 -> a
    11:18:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder):139:146 -> a
    11:18:com.android.tools.r8.R8Command$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):135 -> a
    19:38:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):152:171 -> a
    39:39:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1353,"2":1354,"3":1355}}
    1353:1353:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    1354:1354:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    1355:1355:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    210:210:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    211:211:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1356,"2":1357,"3":1358}}
    1356:1356:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    1357:1357:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    1358:1358:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    382:382:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):171:171 -> a
    383:383:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    384:384:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1359,"2":1360,"3":1361}}
    1359:1359:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    1360:1360:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    1361:1361:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    546:546:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    547:547:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1362,"2":1363,"3":1364}}
    1362:1362:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    1363:1363:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    1364:1364:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:162 -> a
    709:761:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):162:214 -> a
    762:762:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1416,"2":1417,"3":1418}}
    1416:1416:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):214:214 -> a
    1417:1417:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):214:214 -> a
    1418:1418:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):214:214 -> a
    976:980:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):214:214 -> a
    989:1039:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):223:273 -> a
    1040:1056:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):272:288 -> a
    1057:1057:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1492,"2":1493,"3":1494,"4":1495,"5":1496}}
    1492:1492:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):288:288 -> a
    1493:1493:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):288:288 -> a
    1494:1494:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):288:288 -> a
    1495:1495:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):288:288 -> a
    1496:1496:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):288:288 -> a
    1345:1352:void parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.R8Command$Builder,com.android.tools.r8.R8CommandParser$ParseState):288:295 -> a
    1497:1497:java.util.List lambda$parse$0(java.nio.file.Path):250:250 -> a
    1498:1498:void addFeatureJar(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List):300:300 -> a
    1499:1501:com.android.tools.r8.FeatureSplit lambda$addFeatureJar$2(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List,com.android.tools.r8.FeatureSplit$Builder):302:302 -> a
    1503:1505:com.android.tools.r8.FeatureSplit lambda$addFeatureJar$2(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List,com.android.tools.r8.FeatureSplit$Builder):304:306 -> a
    1506:1509:com.android.tools.r8.FeatureSplit lambda$addFeatureJar$2(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List,com.android.tools.r8.FeatureSplit$Builder):305:308 -> a
    1:1:void lambda$parse$1(com.android.tools.r8.R8Command$Builder,java.nio.file.Path,java.util.List):296:296 -> b
com.android.tools.r8.R8CommandParser$ParseState -> com.android.tools.r8.P:
    java.nio.file.Path outputPath -> c
    com.android.tools.r8.OutputMode outputMode -> b
    boolean includeDataResources -> e
    com.android.tools.r8.CompilationMode mode -> a
    boolean hasDefinedApiLevel -> d
    1:6:void <init>():55:60 -> <init>
    7:7:void <init>(com.android.tools.r8.R8CommandParser$1):55:55 -> <init>
    1:1:boolean access$100(com.android.tools.r8.R8CommandParser$ParseState):55:55 -> a
    1:1:boolean access$102(com.android.tools.r8.R8CommandParser$ParseState,boolean):55:55 -> b
com.android.tools.r8.ResourceException -> com.android.tools.r8.ResourceException:
    com.android.tools.r8.origin.Origin origin -> b
    1:2:void <init>(com.android.tools.r8.origin.Origin,java.lang.String):20:21 -> <init>
    3:4:void <init>(com.android.tools.r8.origin.Origin,java.lang.Throwable):25:26 -> <init>
    5:6:void <init>(com.android.tools.r8.origin.Origin,java.lang.String,java.lang.Throwable):30:31 -> <init>
    1:1:com.android.tools.r8.origin.Origin getOrigin():35:35 -> getOrigin
com.android.tools.r8.ResourceShrinker -> com.android.tools.r8.ResourceShrinker:
    1:1:void <init>():96:96 -> <init>
    1:3:void run(com.android.tools.r8.ResourceShrinker$Command,com.android.tools.r8.ResourceShrinker$ReferenceChecker):478:480 -> run
    4:4:com.android.tools.r8.utils.InternalOptions com.android.tools.r8.ResourceShrinker$Command.getInternalOptions():107:107 -> run
    4:4:void run(com.android.tools.r8.ResourceShrinker$Command,com.android.tools.r8.ResourceShrinker$ReferenceChecker):481 -> run
    5:7:void run(com.android.tools.r8.ResourceShrinker$Command,com.android.tools.r8.ResourceShrinker$ReferenceChecker):481:483 -> run
com.android.tools.r8.ResourceShrinker$Builder -> com.android.tools.r8.ResourceShrinker$Builder:
    1:1:void <init>():112:112 -> <init>
    1:1:com.android.tools.r8.ResourceShrinker$Command makeCommand():121:121 -> c
    1:1:com.android.tools.r8.BaseCommand makeCommand():111 -> c
    com.android.tools.r8.BaseCommand$Builder self() -> d
com.android.tools.r8.ResourceShrinker$Command -> com.android.tools.r8.ResourceShrinker$Command:
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp):102:102 -> <init>
    1:1:com.android.tools.r8.utils.InternalOptions getInternalOptions():107:107 -> b
com.android.tools.r8.ResourceShrinker$DexClassUsageVisitor -> com.android.tools.r8.S:
    com.android.tools.r8.graph.DexProgramClass classDef -> a
    com.android.tools.r8.ResourceShrinker$ReferenceChecker callback -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():155:155 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ResourceShrinker$ReferenceChecker):160:162 -> <init>
    1:7:void visit():166:172 -> a
    8:22:void processFieldValue(com.android.tools.r8.graph.DexValue):192:206 -> a
    8:22:void visit():174 -> a
    23:23:void processFieldValue(com.android.tools.r8.graph.DexValue):202:202 -> a
    23:23:void visit():174 -> a
    24:26:void visit():178:180 -> a
    27:27:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):215:215 -> a
    27:27:void visit():181 -> a
    28:28:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> a
    28:28:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):219 -> a
    28:28:void visit():181 -> a
    29:29:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList():83:83 -> a
    29:29:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):222 -> a
    29:29:void visit():181 -> a
    30:33:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):224:227 -> a
    30:33:void visit():181 -> a
    34:34:boolean isIntConstInstruction(com.android.tools.r8.code.Instruction):338:338 -> a
    34:34:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):228 -> a
    34:34:void visit():181 -> a
    35:35:void processIntConstInstruction(com.android.tools.r8.code.Instruction):348:348 -> a
    35:35:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):229 -> a
    35:35:void visit():181 -> a
    36:36:boolean isIntConstInstruction(com.android.tools.r8.code.Instruction):338:338 -> a
    36:36:void processIntConstInstruction(com.android.tools.r8.code.Instruction):348 -> a
    36:36:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):229 -> a
    36:36:void visit():181 -> a
    37:54:void processIntConstInstruction(com.android.tools.r8.code.Instruction):348:365 -> a
    37:54:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):229 -> a
    37:54:void visit():181 -> a
    55:55:void processIntConstInstruction(com.android.tools.r8.code.Instruction):362:362 -> a
    55:55:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):229 -> a
    55:55:void visit():181 -> a
    56:56:boolean isStringConstInstruction(com.android.tools.r8.code.Instruction):369:369 -> a
    56:56:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):230 -> a
    56:56:void visit():181 -> a
    57:57:void processStringConstantInstruction(com.android.tools.r8.code.Instruction):374:374 -> a
    57:57:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):231 -> a
    57:57:void visit():181 -> a
    58:58:boolean isStringConstInstruction(com.android.tools.r8.code.Instruction):369:369 -> a
    58:58:void processStringConstantInstruction(com.android.tools.r8.code.Instruction):374 -> a
    58:58:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):231 -> a
    58:58:void visit():181 -> a
    59:72:void processStringConstantInstruction(com.android.tools.r8.code.Instruction):374:387 -> a
    59:72:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):231 -> a
    59:72:void visit():181 -> a
    73:73:void processStringConstantInstruction(com.android.tools.r8.code.Instruction):384:384 -> a
    73:73:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):231 -> a
    73:73:void visit():181 -> a
    74:74:boolean isGetStatic(com.android.tools.r8.code.Instruction):391:391 -> a
    74:74:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):232 -> a
    74:74:void visit():181 -> a
    75:75:void processGetStatic(com.android.tools.r8.code.Instruction):402:402 -> a
    75:75:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):233 -> a
    75:75:void visit():181 -> a
    76:76:boolean isGetStatic(com.android.tools.r8.code.Instruction):391:391 -> a
    76:76:void processGetStatic(com.android.tools.r8.code.Instruction):402 -> a
    76:76:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):233 -> a
    76:76:void visit():181 -> a
    77:105:void processGetStatic(com.android.tools.r8.code.Instruction):402:430 -> a
    77:105:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):233 -> a
    77:105:void visit():181 -> a
    106:106:void processGetStatic(com.android.tools.r8.code.Instruction):427:427 -> a
    106:106:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):233 -> a
    106:106:void visit():181 -> a
    107:107:boolean isInvokeInstruction(com.android.tools.r8.code.Instruction):434:434 -> a
    107:107:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):234 -> a
    107:107:void visit():181 -> a
    108:108:void processInvokeInstruction(com.android.tools.r8.code.Instruction):443:443 -> a
    108:108:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):235 -> a
    108:108:void visit():181 -> a
    109:109:boolean isInvokeInstruction(com.android.tools.r8.code.Instruction):434:434 -> a
    109:109:void processInvokeInstruction(com.android.tools.r8.code.Instruction):443 -> a
    109:109:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):235 -> a
    109:109:void visit():181 -> a
    110:118:void processInvokeInstruction(com.android.tools.r8.code.Instruction):443:451 -> a
    110:118:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):235 -> a
    110:118:void visit():181 -> a
    119:119:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    119:119:void processInvokeInstruction(com.android.tools.r8.code.Instruction):451 -> a
    119:119:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):235 -> a
    119:119:void visit():181 -> a
    120:120:void processInvokeInstruction(com.android.tools.r8.code.Instruction):448:448 -> a
    120:120:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):235 -> a
    120:120:void visit():181 -> a
    121:121:boolean isInvokeRangeInstruction(com.android.tools.r8.code.Instruction):455:455 -> a
    121:121:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):236 -> a
    121:121:void visit():181 -> a
    122:122:void processInvokeRangeInstruction(com.android.tools.r8.code.Instruction):464:464 -> a
    122:122:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):237 -> a
    122:122:void visit():181 -> a
    123:123:boolean isInvokeRangeInstruction(com.android.tools.r8.code.Instruction):455:455 -> a
    123:123:void processInvokeRangeInstruction(com.android.tools.r8.code.Instruction):464 -> a
    123:123:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):237 -> a
    123:123:void visit():181 -> a
    124:132:void processInvokeRangeInstruction(com.android.tools.r8.code.Instruction):464:472 -> a
    124:132:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):237 -> a
    124:132:void visit():181 -> a
    133:133:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    133:133:void processInvokeRangeInstruction(com.android.tools.r8.code.Instruction):472 -> a
    133:133:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):237 -> a
    133:133:void visit():181 -> a
    134:134:void processInvokeRangeInstruction(com.android.tools.r8.code.Instruction):469:469 -> a
    134:134:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):237 -> a
    134:134:void visit():181 -> a
    135:135:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):238:238 -> a
    135:135:void visit():181 -> a
    136:138:void processFillArray(com.android.tools.r8.code.Instruction[],int,java.util.Set):296:298 -> a
    136:138:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):239 -> a
    136:138:void visit():181 -> a
    139:139:com.android.tools.r8.graph.DexType com.android.tools.r8.code.NewArray.getType():62:62 -> a
    139:139:void processFillArray(com.android.tools.r8.code.Instruction[],int,java.util.Set):299 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    139:139:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):239 -> a
    139:139:void visit():181 -> a
    140:140:com.android.tools.r8.graph.DexType com.android.tools.r8.code.NewArray.getType():62:62 -> a
    140:140:void processFillArray(com.android.tools.r8.code.Instruction[],int,java.util.Set):299 -> a
    140:140:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):239 -> a
    140:140:void visit():181 -> a
    141:149:void processFillArray(com.android.tools.r8.code.Instruction[],int,java.util.Set):299:307 -> a
    141:149:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):239 -> a
    141:149:void visit():181 -> a
    150:150:void processFillArray(com.android.tools.r8.code.Instruction[],int,java.util.Set):306:306 -> a
    150:150:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):239 -> a
    150:150:void visit():181 -> a
    151:157:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):240:246 -> a
    151:157:void visit():181 -> a
    158:163:boolean isIntArrayPayload(com.android.tools.r8.code.Instruction,java.util.Set):286:291 -> a
    158:163:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):247 -> a
    158:163:void visit():181 -> a
    164:166:void processIntArrayPayload(com.android.tools.r8.code.Instruction):278:280 -> a
    164:166:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):248 -> a
    164:166:void visit():181 -> a
    167:173:void visit():182:188 -> a
    174:174:void processAnnotations(com.android.tools.r8.graph.DexProgramClass):255:255 -> a
    175:175:java.util.stream.Stream com.android.tools.r8.graph.DexAnnotationSet.stream():98:98 -> a
    175:175:void processAnnotations(com.android.tools.r8.graph.DexProgramClass):255 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    176:176:java.util.stream.Stream com.android.tools.r8.graph.DexAnnotationSet.stream():98:98 -> a
    176:176:void processAnnotations(com.android.tools.r8.graph.DexProgramClass):255 -> a
    177:186:void processAnnotations(com.android.tools.r8.graph.DexProgramClass):257:266 -> a
    187:187:java.util.stream.Stream lambda$processAnnotations$0(com.android.tools.r8.graph.DexEncodedField):259:259 -> a
    188:188:java.util.stream.Stream lambda$processAnnotations$1(com.android.tools.r8.graph.DexEncodedMethod):263:263 -> a
    189:191:void lambda$processAnnotations$2(com.android.tools.r8.graph.DexAnnotation):268:270 -> a
    192:210:void processAnnotationValue(com.android.tools.r8.graph.DexValue):311:329 -> a
    211:211:void processAnnotationValue(com.android.tools.r8.graph.DexValue):325:325 -> a
com.android.tools.r8.StringConsumer -> com.android.tools.r8.StringConsumer:
    1:1:com.android.tools.r8.StringConsumer$EmptyConsumer emptyConsumer():47:47 -> emptyConsumer
com.android.tools.r8.StringConsumer$EmptyConsumer -> com.android.tools.r8.StringConsumer$EmptyConsumer:
    com.android.tools.r8.StringConsumer$EmptyConsumer EMPTY_CONSUMER -> a
    1:1:void <clinit>():54:54 -> <clinit>
    1:1:void <init>():52:52 -> <init>
    1:1:com.android.tools.r8.StringConsumer$EmptyConsumer access$000():52:52 -> a
com.android.tools.r8.StringConsumer$FileConsumer -> com.android.tools.r8.StringConsumer$FileConsumer:
    java.nio.charset.Charset encoding -> c
    java.nio.file.Path outputPath -> b
    boolean failedToCreateDelegate -> e
    com.android.tools.r8.StringConsumer$WriterConsumer delegate -> d
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():94:94 -> <clinit>
    1:1:void <init>(java.nio.file.Path):104:104 -> <init>
    2:2:void <init>(java.nio.file.Path,com.android.tools.r8.StringConsumer):109:109 -> <init>
    3:15:void <init>(java.nio.file.Path,com.android.tools.r8.StringConsumer):98:110 -> <init>
    1:10:void ensureDelegate(com.android.tools.r8.DiagnosticsHandler):158:167 -> a
    11:11:void com.android.tools.r8.StringConsumer$WriterConsumer.<init>(com.android.tools.r8.origin.Origin,java.io.Writer):187:187 -> a
    11:11:void ensureDelegate(com.android.tools.r8.DiagnosticsHandler):167 -> a
    12:15:void ensureDelegate(com.android.tools.r8.DiagnosticsHandler):167:170 -> a
    1:7:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):134:140 -> accept
    1:8:void finished(com.android.tools.r8.DiagnosticsHandler):146:153 -> finished
    1:1:java.nio.charset.Charset getEncoding():129:129 -> getEncoding
    1:1:java.nio.file.Path getOutputPath():115:115 -> getOutputPath
    1:5:void setEncoding(java.nio.charset.Charset):120:124 -> setEncoding
    6:6:void setEncoding(java.nio.charset.Charset):122:122 -> setEncoding
com.android.tools.r8.StringConsumer$ForwardingConsumer -> com.android.tools.r8.StringConsumer$ForwardingConsumer:
    com.android.tools.r8.StringConsumer consumer -> a
    1:2:void <init>(com.android.tools.r8.StringConsumer):74:75 -> <init>
    1:2:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):80:81 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):87:88 -> finished
com.android.tools.r8.StringConsumer$WriterConsumer -> com.android.tools.r8.T:
    com.android.tools.r8.origin.Origin origin -> b
    java.io.Writer writer -> c
    1:3:void <init>(com.android.tools.r8.origin.Origin,java.io.Writer,com.android.tools.r8.StringConsumer):192:194 -> <init>
    1:5:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):199:203 -> accept
    1:5:void finished(com.android.tools.r8.DiagnosticsHandler):209:213 -> finished
com.android.tools.r8.StringResource -> com.android.tools.r8.internal.TW:
    java.lang.String getString() -> a
    1:1:com.android.tools.r8.StringResource fromString(java.lang.String,com.android.tools.r8.origin.Origin):26:26 -> a
    2:2:com.android.tools.r8.StringResource fromFile(java.nio.file.Path):37:37 -> a
    3:3:com.android.tools.r8.StringResource com.android.tools.r8.StringResource.fromFile(java.nio.file.Path,java.nio.charset.Charset):49:49 -> a
    3:3:com.android.tools.r8.StringResource fromFile(java.nio.file.Path):37 -> a
com.android.tools.r8.StringResource$FileResource -> com.android.tools.r8.internal.RW:
    java.nio.charset.Charset charset -> b
    com.android.tools.r8.origin.Origin origin -> c
    java.nio.file.Path file -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():82:82 -> <clinit>
    1:1:void <init>(java.nio.file.Path,java.nio.charset.Charset,com.android.tools.r8.StringResource$1):82:82 -> <init>
    2:7:void <init>(java.nio.file.Path,java.nio.charset.Charset):87:92 -> <init>
    1:3:java.lang.String getString():103:105 -> a
    1:1:com.android.tools.r8.origin.Origin getOrigin():97:97 -> getOrigin
com.android.tools.r8.StringResource$StringContentResource -> com.android.tools.r8.internal.SW:
    com.android.tools.r8.origin.Origin origin -> a
    java.lang.String content -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():60:60 -> <clinit>
    1:1:void <init>(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.StringResource$1):60:60 -> <init>
    2:6:void <init>(com.android.tools.r8.origin.Origin,java.lang.String):64:68 -> <init>
    1:1:java.lang.String getString():78:78 -> a
    1:1:com.android.tools.r8.origin.Origin getOrigin():73:73 -> getOrigin
com.android.tools.r8.Version -> com.android.tools.r8.Version:
    1:6:int getMajorVersion(java.lang.String):34:39 -> a
    7:7:boolean isDevelopmentVersion(java.lang.String,boolean):110:110 -> a
    1:6:int getMinorVersion(java.lang.String):52:57 -> b
    1:7:int getPatchVersion(java.lang.String):70:76 -> c
    1:8:java.lang.String getPreReleaseString(java.lang.String):90:97 -> d
    1:1:int getMajorVersion():30:30 -> getMajorVersion
    1:1:int getMinorVersion():48:48 -> getMinorVersion
    1:1:int getPatchVersion():66:66 -> getPatchVersion
    1:1:java.lang.String getPreReleaseString():86:86 -> getPreReleaseString
    1:1:java.lang.String getVersionString():0:0 -> getVersionString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":23,"2":24,"3":25}}
    23:23:java.lang.String getVersionString():21:21 -> getVersionString
    24:24:java.lang.String getVersionString():21:21 -> getVersionString
    25:25:java.lang.String getVersionString():21:21 -> getVersionString
    22:22:java.lang.String getVersionString():21:21 -> getVersionString
    1:1:boolean isDevelopmentVersion():106:106 -> isDevelopmentVersion
com.android.tools.r8.algorithms.scc.SCC -> com.android.tools.r8.internal.XT:
    java.util.Deque unassignedStack -> d
    java.util.Set unassignedSet -> c
    java.util.List components -> f
    java.util.function.Function successors -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap discoverTime -> b
    java.util.Deque preorderStack -> e
    boolean $assertionsDisabled -> h
    int currentTime -> a
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(java.util.function.Function):28:28 -> <init>
    2:12:void <init>(java.util.function.Function):19:29 -> <init>
    1:3:java.util.List computeSCC(java.lang.Object):33:35 -> a
    1:33:void dfs(java.lang.Object):39:71 -> b
com.android.tools.r8.androidapi.AndroidApiForHashingReference -> com.android.tools.r8.internal.P1:
    com.android.tools.r8.graph.DexReference reference -> a
    com.android.tools.r8.utils.AndroidApiLevel apiLevel -> b
    1:3:void <init>(com.android.tools.r8.graph.DexReference,com.android.tools.r8.utils.AndroidApiLevel):17:19 -> <init>
    1:1:com.android.tools.r8.androidapi.AndroidApiForHashingReference create(com.android.tools.r8.graph.DexReference,com.android.tools.r8.utils.AndroidApiLevel):23:23 -> a
    2:2:com.android.tools.r8.utils.AndroidApiLevel getApiLevel():31:31 -> a
    1:1:com.android.tools.r8.graph.DexReference getReference():27:27 -> b
com.android.tools.r8.androidapi.AndroidApiLevelCompute -> com.android.tools.r8.internal.U1:
    com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel[] knownApiLevelCache -> a
    1:5:void <init>():20:24 -> <init>
    com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel) -> a
    com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForLibraryReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel) -> a
    1:2:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel of(com.android.tools.r8.utils.AndroidApiLevel):30:31 -> a
    3:3:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.platform():26:26 -> a
    3:3:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel of(com.android.tools.r8.utils.AndroidApiLevel):31 -> a
    4:4:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel of(com.android.tools.r8.utils.AndroidApiLevel):33:33 -> a
    5:6:com.android.tools.r8.androidapi.AndroidApiLevelCompute create(com.android.tools.r8.graph.AppView):48:49 -> a
    7:7:com.android.tools.r8.androidapi.AndroidApiLevelCompute com.android.tools.r8.androidapi.AndroidApiLevelCompute.noAndroidApiLevelCompute():54:54 -> a
    7:7:com.android.tools.r8.androidapi.AndroidApiLevelCompute create(com.android.tools.r8.graph.AppView):50 -> a
    8:9:com.android.tools.r8.androidapi.ComputedApiLevel computeInitialMinApiLevel(com.android.tools.r8.utils.InternalOptions):58:59 -> a
    10:10:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.platform():26:26 -> a
    10:10:com.android.tools.r8.androidapi.ComputedApiLevel computeInitialMinApiLevel(com.android.tools.r8.utils.InternalOptions):59 -> a
    11:11:com.android.tools.r8.androidapi.ComputedApiLevel computeInitialMinApiLevel(com.android.tools.r8.utils.InternalOptions):60:60 -> a
    1:2:com.android.tools.r8.androidapi.ComputedApiLevel getPlatformApiLevelOrUnknown(com.android.tools.r8.graph.AppView):64:65 -> b
    3:3:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.platform():26:26 -> b
    3:3:com.android.tools.r8.androidapi.ComputedApiLevel getPlatformApiLevelOrUnknown(com.android.tools.r8.graph.AppView):65 -> b
    4:4:com.android.tools.r8.androidapi.ComputedApiLevel getPlatformApiLevelOrUnknown(com.android.tools.r8.graph.AppView):67:67 -> b
    5:5:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> b
    5:5:com.android.tools.r8.androidapi.ComputedApiLevel getPlatformApiLevelOrUnknown(com.android.tools.r8.graph.AppView):67 -> b
com.android.tools.r8.androidapi.AndroidApiLevelCompute$DefaultAndroidApiLevelCompute -> com.android.tools.r8.internal.S1:
    com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache cache -> b
    com.android.tools.r8.androidapi.ComputedApiLevel minApiLevel -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView):95:97 -> <init>
    1:3:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel):103:105 -> a
    4:4:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache.lookupMax(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):53:53 -> a
    4:4:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel):105 -> a
    5:5:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel):105:105 -> a
    6:6:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache.lookupMax(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):53:53 -> a
    6:6:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel):105 -> a
    7:7:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache.lookupMax(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):54:54 -> a
    7:7:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel):105 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache.lookupMax(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):54:54 -> a
    8:8:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel):105 -> a
    9:9:com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForLibraryReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):113:113 -> a
com.android.tools.r8.androidapi.AndroidApiLevelCompute$NoAndroidApiLevelCompute -> com.android.tools.r8.internal.T1:
    1:1:void <init>():70:70 -> <init>
    com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForDefinition(java.lang.Iterable,com.android.tools.r8.androidapi.ComputedApiLevel) -> a
    com.android.tools.r8.androidapi.ComputedApiLevel computeApiLevelForLibraryReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel) -> a
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel computeInitialMinApiLevel(com.android.tools.r8.utils.InternalOptions):86:86 -> a
    2:2:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    2:2:com.android.tools.r8.androidapi.ComputedApiLevel computeInitialMinApiLevel(com.android.tools.r8.utils.InternalOptions):86 -> a
com.android.tools.r8.androidapi.AndroidApiLevelDatabase -> com.android.tools.r8.internal.V1:
    com.android.tools.r8.utils.AndroidApiLevel getFieldApiLevel(com.android.tools.r8.graph.DexField) -> a
    com.android.tools.r8.utils.AndroidApiLevel getMethodApiLevel(com.android.tools.r8.graph.DexMethod) -> a
    com.android.tools.r8.utils.AndroidApiLevel getTypeApiLevel(com.android.tools.r8.graph.DexType) -> a
com.android.tools.r8.androidapi.AndroidApiLevelDatabaseHelper -> com.android.tools.r8.internal.W1:
    1:3:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):19:21 -> a
    4:9:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):20:25 -> a
    10:10:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):24:24 -> a
    11:17:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):23:29 -> a
    18:18:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):28:28 -> a
    19:26:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):27:34 -> a
    27:27:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):32:32 -> a
    28:36:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):31:39 -> a
    37:37:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):38:38 -> a
    38:45:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):37:44 -> a
    46:46:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):42:42 -> a
    47:60:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):41:54 -> a
    61:61:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):53:53 -> a
    62:69:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):52:59 -> a
    70:70:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):57:57 -> a
    71:79:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):56:64 -> a
    80:80:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):63:63 -> a
    81:88:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):62:69 -> a
    89:89:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):67:67 -> a
    90:99:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):66:75 -> a
    100:100:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):73:73 -> a
    101:110:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):72:81 -> a
    111:111:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):79:79 -> a
    112:120:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):78:86 -> a
    121:121:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):85:85 -> a
    122:128:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):84:90 -> a
    129:129:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):89:89 -> a
    130:137:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):88:95 -> a
    138:138:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):93:93 -> a
    139:146:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):92:99 -> a
    147:147:void visitAdditionalKnownApiReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):98:98 -> a
com.android.tools.r8.androidapi.AndroidApiLevelHashingDatabaseImpl -> com.android.tools.r8.internal.X1:
    java.util.Map ambiguousHashesWithApiLevel -> b
    java.util.Map ambiguousCache -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap lookupNonAmbiguousCache -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():32:32 -> <clinit>
    1:1:void <init>(java.util.List):44:44 -> <init>
    2:22:void <init>(java.util.List):38:58 -> <init>
    23:23:void <init>(java.util.List):57:57 -> <init>
    1:1:com.android.tools.r8.utils.structural.HasherWrapper com.android.tools.r8.utils.structural.HasherWrapper.murmur3128Hasher():37:37 -> a
    1:1:com.android.tools.r8.utils.structural.HasherWrapper getDefaultHasher():35 -> a
    2:8:void lambda$new$0(com.android.tools.r8.androidapi.AndroidApiForHashingReference):48:54 -> a
    9:9:void lambda$new$0(com.android.tools.r8.androidapi.AndroidApiForHashingReference):53:53 -> a
    10:10:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):85:85 -> a
    11:16:void parseAmbiguous(java.lang.String):102:107 -> a
    17:17:void parseAmbiguous(java.lang.String):106:106 -> a
    18:18:void parseAmbiguous(java.lang.String):104:104 -> a
    19:19:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    19:19:void parseAmbiguous(java.lang.String):104 -> a
    20:20:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    20:20:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    20:20:void parseAmbiguous(java.lang.String):104 -> a
    21:21:void parseAmbiguous(java.lang.String):104:104 -> a
    22:22:com.android.tools.r8.utils.AndroidApiLevel getTypeApiLevel(com.android.tools.r8.graph.DexType):112:112 -> a
    23:23:com.android.tools.r8.utils.AndroidApiLevel getMethodApiLevel(com.android.tools.r8.graph.DexMethod):117:117 -> a
    24:24:com.android.tools.r8.utils.AndroidApiLevel getFieldApiLevel(com.android.tools.r8.graph.DexField):122:122 -> a
    25:30:com.android.tools.r8.utils.AndroidApiLevel lookupApiLevel(com.android.tools.r8.graph.DexReference):128:133 -> a
    31:41:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):136:146 -> a
    42:42:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":194,"2":195,"3":196}}
    194:194:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):146:146 -> a
    195:195:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):146:146 -> a
    196:196:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):146:146 -> a
    190:190:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):148:148 -> a
    191:191:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    191:191:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):148 -> a
    192:192:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    192:192:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    192:192:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):148 -> a
    193:193:com.android.tools.r8.utils.AndroidApiLevel lambda$lookupApiLevel$5(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):148:148 -> a
    197:197:void lambda$lookupApiLevel$2(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.graph.DexType):138:138 -> a
    198:198:void lambda$lookupApiLevel$3(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.graph.DexField):140:140 -> a
    199:199:void lambda$lookupApiLevel$4(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.graph.DexMethod):142:142 -> a
    1:1:boolean lambda$new$1(com.android.tools.r8.androidapi.AndroidApiForHashingReference):58:58 -> b
    2:28:void loadData():66:92 -> b
    29:32:void loadData():91:94 -> b
    33:54:void loadData():65:65 -> b
    74:74:void loadData():85:85 -> b
    75:96:void loadData():65:65 -> b
    116:116:void loadData():85:85 -> b
    117:138:void loadData():65:86 -> b
com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache -> com.android.tools.r8.internal.Z1:
    com.android.tools.r8.graph.DexItemFactory factory -> d
    com.android.tools.r8.graph.AppView appView -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.androidapi.AndroidApiLevelDatabase androidApiLevelDatabase -> b
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,java.util.List):28:32 -> <init>
    1:6:com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):38:43 -> a
    7:13:com.android.tools.r8.androidapi.AndroidApiReferenceLevelCache create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):42:48 -> a
    14:50:com.android.tools.r8.androidapi.ComputedApiLevel lookup(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):58:94 -> a
    51:51:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    51:51:com.android.tools.r8.androidapi.ComputedApiLevel lookup(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):94 -> a
    52:61:com.android.tools.r8.androidapi.ComputedApiLevel lookup(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):94:103 -> a
    62:62:com.android.tools.r8.androidapi.ComputedApiLevel lookup(com.android.tools.r8.graph.DexReference,com.android.tools.r8.androidapi.ComputedApiLevel):66:66 -> a
com.android.tools.r8.androidapi.ApiReferenceStubber -> com.android.tools.r8.internal.m2:
    java.util.Map libraryClassesToMock -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set seenTypes -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> d
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):115:115 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView):110:117 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.androidapi.ApiReferenceStubber):37:37 -> a
    2:2:void access$100(com.android.tools.r8.androidapi.ApiReferenceStubber,com.android.tools.r8.graph.DexType):37:37 -> a
    3:3:void access$200(com.android.tools.r8.androidapi.ApiReferenceStubber,com.android.tools.r8.graph.DexMethod):37:37 -> a
    4:4:void run(java.util.concurrent.ExecutorService):121:121 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    5:5:void run(java.util.concurrent.ExecutorService):121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    6:6:void run(java.util.concurrent.ExecutorService):121 -> a
    7:23:void run(java.util.concurrent.ExecutorService):121:137 -> a
    24:24:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    24:24:void run(java.util.concurrent.ExecutorService):137 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:25:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    25:25:void run(java.util.concurrent.ExecutorService):137 -> a
    26:28:void run(java.util.concurrent.ExecutorService):138:140 -> a
    29:31:void run(java.util.concurrent.ExecutorService):139:141 -> a
    32:32:boolean com.android.tools.r8.graph.AppView.hasClassHierarchy():650:650 -> a
    32:32:void run(java.util.concurrent.ExecutorService):141 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:33:boolean com.android.tools.r8.graph.AppView.hasClassHierarchy():650:650 -> a
    33:33:void run(java.util.concurrent.ExecutorService):141 -> a
    34:37:void run(java.util.concurrent.ExecutorService):142:145 -> a
    38:46:void run(java.util.concurrent.ExecutorService):144:152 -> a
    47:47:void run(java.util.concurrent.ExecutorService):149:149 -> a
    48:52:void lambda$run$0(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):131:131 -> a
    53:59:void processClass(com.android.tools.r8.graph.DexProgramClass):157:163 -> a
    60:60:void lambda$processClass$1(com.android.tools.r8.graph.ProgramMethod):165:165 -> a
    61:65:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):169:173 -> a
    66:66:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":259,"2":260,"3":261}}
    259:259:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):173:173 -> a
    260:260:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    260:260:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):173 -> a
    261:261:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    261:261:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):173 -> a
    240:240:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):174:174 -> a
    241:241:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    241:241:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):175 -> a
    242:243:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):178:179 -> a
    244:244:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    244:244:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):179 -> a
    245:247:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):179:181 -> a
    248:248:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    248:248:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):183 -> a
    249:258:void findReferencedLibraryMethod(com.android.tools.r8.graph.DexMethod):182:191 -> a
    262:267:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):197:202 -> a
    268:268:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    268:268:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):206 -> a
    269:271:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):207:209 -> a
    272:272:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel com.android.tools.r8.androidapi.ComputedApiLevel.unknown():22:22 -> a
    272:272:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):209 -> a
    273:278:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):208:213 -> a
    279:283:void findReferencedLibraryClasses(com.android.tools.r8.graph.DexType):212:216 -> a
    284:284:java.util.Set lambda$findReferencedLibraryClasses$3(com.android.tools.r8.graph.DexLibraryClass):213:213 -> a
    285:302:void mockMissingLibraryClass(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode):224:241 -> a
    303:303:void mockMissingLibraryClass(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode):237:237 -> a
    304:308:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):244:248 -> a
    309:309:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):247:247 -> a
    310:315:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):246:251 -> a
    316:316:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    316:316:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):253 -> a
    317:324:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254:261 -> a
    325:325:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):260:260 -> a
    326:333:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):259:266 -> a
    334:334:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2435:2435 -> a
    334:334:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):266 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    335:335:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2435:2435 -> a
    335:335:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):266 -> a
    336:336:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):265:265 -> a
    337:337:com.android.tools.r8.graph.MethodAccessFlags com.android.tools.r8.graph.MethodAccessFlags.createForClassInitializer():79:79 -> a
    337:337:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):267 -> a
    338:340:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):267:269 -> a
    341:348:void lambda$mockMissingLibraryClass$4(com.android.tools.r8.graph.DexLibraryClass,java.util.Set,com.android.tools.r8.graph.ThrowExceptionCode,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):263:270 -> a
    349:350:java.util.List buildLibraryMethodsForProgram(com.android.tools.r8.graph.DexLibraryClass,java.lang.Iterable,java.util.Set):276:277 -> a
    351:354:void lambda$buildLibraryMethodsForProgram$5(java.util.Set,com.android.tools.r8.graph.DexLibraryClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):279:282 -> a
    355:358:com.android.tools.r8.graph.DexEncodedMethod buildLibraryMethodForProgram(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexEncodedMethod):291:291 -> a
    361:376:com.android.tools.r8.graph.DexEncodedMethod buildLibraryMethodForProgram(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexEncodedMethod):294:309 -> a
    1:1:java.util.Set lambda$findReferencedLibraryMethod$2(com.android.tools.r8.graph.DexLibraryClass):190:190 -> b
com.android.tools.r8.androidapi.ApiReferenceStubber$ReferencesToApiLevelUseRegistry -> com.android.tools.r8.internal.l2:
    com.android.tools.r8.androidapi.ApiReferenceStubber this$0 -> e
    1:2:void <init>(com.android.tools.r8.androidapi.ApiReferenceStubber,com.android.tools.r8.graph.ProgramMethod):41:42 -> <init>
    1:1:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):57:57 -> a
    2:2:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):77:77 -> a
    3:3:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):101:101 -> a
    4:4:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":109,"2":110,"3":111}}
    109:109:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):101:101 -> a
    110:110:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    110:110:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):101 -> a
    111:111:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    111:111:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):101 -> a
    106:108:void checkReferenceToLibraryClass(com.android.tools.r8.graph.DexReference):102:104 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):47:47 -> b
    2:2:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):67:67 -> b
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):82:82 -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):62:62 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):87:87 -> e
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):72:72 -> f
    2:2:void registerTypeReference(com.android.tools.r8.graph.DexType):97:97 -> f
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):52:52 -> g
    2:2:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):92:92 -> g
com.android.tools.r8.androidapi.AvailableApiExceptions -> com.android.tools.r8.internal.Z3:
    java.util.Set exceptions -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():24:24 -> <clinit>
    1:3:void <init>(com.android.tools.r8.utils.InternalOptions):28:30 -> <init>
    1:1:boolean canCauseVerificationError(com.android.tools.r8.graph.DexType):34:34 -> a
    2:3:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):39:40 -> a
    4:4:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2990,"2":2991,"3":2992,"4":2993,"5":2994,"6":2995}}
    2990:2990:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):41:41 -> a
    2991:2991:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):41:41 -> a
    2992:2992:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):42:42 -> a
    2993:2993:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):42:42 -> a
    2994:2994:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):43:43 -> a
    2995:2995:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):43:43 -> a
    5:5:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2996,"2":2997,"3":2998,"4":2999,"5":3000,"6":3001}}
    2996:2996:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):44:44 -> a
    2997:2997:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):44:44 -> a
    2998:2998:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):45:45 -> a
    2999:2999:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):45:45 -> a
    3000:3000:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):46:46 -> a
    3001:3001:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):46:46 -> a
    6:6:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3002,"2":3003,"3":3004,"4":3005,"5":3006,"6":3007}}
    3002:3002:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):47:47 -> a
    3003:3003:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):47:47 -> a
    3004:3004:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):48:48 -> a
    3005:3005:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):48:48 -> a
    3006:3006:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):49:49 -> a
    3007:3007:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):49:49 -> a
    7:7:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3008,"2":3009,"3":3010,"4":3011,"5":3012,"6":3013}}
    3008:3008:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):50:50 -> a
    3009:3009:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):50:50 -> a
    3010:3010:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):51:51 -> a
    3011:3011:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):51:51 -> a
    3012:3012:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):52:52 -> a
    3013:3013:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):52:52 -> a
    8:8:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3014,"2":3015,"3":3016,"4":3017,"5":3018,"6":3019}}
    3014:3014:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):53:53 -> a
    3015:3015:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):53:53 -> a
    3016:3016:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):54:54 -> a
    3017:3017:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):54:54 -> a
    3018:3018:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):55:55 -> a
    3019:3019:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):55:55 -> a
    9:9:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3020,"2":3021,"3":3022,"4":3023,"5":3024,"6":3025}}
    3020:3020:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):56:56 -> a
    3021:3021:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):56:56 -> a
    3022:3022:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):57:57 -> a
    3023:3023:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):57:57 -> a
    3024:3024:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):58:58 -> a
    3025:3025:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):58:58 -> a
    10:10:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3026,"2":3027,"3":3028,"4":3029,"5":3030,"6":3031}}
    3026:3026:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):59:59 -> a
    3027:3027:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):59:59 -> a
    3028:3028:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):60:60 -> a
    3029:3029:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):60:60 -> a
    3030:3030:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):61:61 -> a
    3031:3031:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):61:61 -> a
    11:11:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3032,"2":3033,"3":3034,"4":3035,"5":3036,"6":3037}}
    3032:3032:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):62:62 -> a
    3033:3033:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):62:62 -> a
    3034:3034:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):63:63 -> a
    3035:3035:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):63:63 -> a
    3036:3036:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):64:64 -> a
    3037:3037:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):64:64 -> a
    12:12:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3038,"2":3039,"3":3040,"4":3041,"5":3042,"6":3043}}
    3038:3038:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):65:65 -> a
    3039:3039:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):65:65 -> a
    3040:3040:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):66:66 -> a
    3041:3041:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):66:66 -> a
    3042:3042:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):67:67 -> a
    3043:3043:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):67:67 -> a
    13:13:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3044,"2":3045,"3":3046,"4":3047,"5":3048,"6":3049}}
    3044:3044:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):68:68 -> a
    3045:3045:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):68:68 -> a
    3046:3046:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):69:69 -> a
    3047:3047:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):69:69 -> a
    3048:3048:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):70:70 -> a
    3049:3049:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):70:70 -> a
    14:14:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3050,"2":3051,"3":3052,"4":3053,"5":3054,"6":3055}}
    3050:3050:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):71:71 -> a
    3051:3051:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):71:71 -> a
    3052:3052:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):72:72 -> a
    3053:3053:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):72:72 -> a
    3054:3054:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):73:73 -> a
    3055:3055:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):73:73 -> a
    15:15:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3056,"2":3057,"3":3058,"4":3059,"5":3060,"6":3061}}
    3056:3056:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):74:74 -> a
    3057:3057:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):74:74 -> a
    3058:3058:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):75:75 -> a
    3059:3059:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):75:75 -> a
    3060:3060:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):76:76 -> a
    3061:3061:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):76:76 -> a
    16:16:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3062,"2":3063,"3":3064,"4":3065,"5":3066,"6":3067}}
    3062:3062:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):77:77 -> a
    3063:3063:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):77:77 -> a
    3064:3064:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):78:78 -> a
    3065:3065:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):78:78 -> a
    3066:3066:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):79:79 -> a
    3067:3067:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):79:79 -> a
    17:17:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3068,"2":3069,"3":3070,"4":3071,"5":3072,"6":3073}}
    3068:3068:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):80:80 -> a
    3069:3069:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):80:80 -> a
    3070:3070:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):81:81 -> a
    3071:3071:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):81:81 -> a
    3072:3072:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):82:82 -> a
    3073:3073:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):82:82 -> a
    18:18:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3074,"2":3075,"3":3076,"4":3077,"5":3078,"6":3079}}
    3074:3074:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):83:83 -> a
    3075:3075:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):83:83 -> a
    3076:3076:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):84:84 -> a
    3077:3077:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):84:84 -> a
    3078:3078:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):85:85 -> a
    3079:3079:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):85:85 -> a
    19:19:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3080,"2":3081,"3":3082,"4":3083,"5":3084,"6":3085}}
    3080:3080:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):86:86 -> a
    3081:3081:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):86:86 -> a
    3082:3082:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):87:87 -> a
    3083:3083:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):87:87 -> a
    3084:3084:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):88:88 -> a
    3085:3085:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):88:88 -> a
    20:20:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3086,"2":3087,"3":3088,"4":3089,"5":3090,"6":3091}}
    3086:3086:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):89:89 -> a
    3087:3087:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):89:89 -> a
    3088:3088:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):90:90 -> a
    3089:3089:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):90:90 -> a
    3090:3090:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):91:91 -> a
    3091:3091:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):91:91 -> a
    21:21:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3092,"2":3093,"3":3094,"4":3095,"5":3096,"6":3097}}
    3092:3092:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):92:92 -> a
    3093:3093:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):92:92 -> a
    3094:3094:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):93:93 -> a
    3095:3095:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):93:93 -> a
    3096:3096:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):94:94 -> a
    3097:3097:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):94:94 -> a
    22:22:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3098,"2":3099,"3":3100,"4":3101,"5":3102,"6":3103}}
    3098:3098:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):95:95 -> a
    3099:3099:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):95:95 -> a
    3100:3100:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):96:96 -> a
    3101:3101:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):96:96 -> a
    3102:3102:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):97:97 -> a
    3103:3103:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):97:97 -> a
    23:23:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3104,"2":3105,"3":3106,"4":3107,"5":3108,"6":3109}}
    3104:3104:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):98:98 -> a
    3105:3105:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):98:98 -> a
    3106:3106:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):99:99 -> a
    3107:3107:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):99:99 -> a
    3108:3108:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):100:100 -> a
    3109:3109:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):100:100 -> a
    24:24:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3110,"2":3111,"3":3112,"4":3113,"5":3114,"6":3115}}
    3110:3110:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):101:101 -> a
    3111:3111:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):101:101 -> a
    3112:3112:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):102:102 -> a
    3113:3113:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):102:102 -> a
    3114:3114:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):103:103 -> a
    3115:3115:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):103:103 -> a
    25:25:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3116,"2":3117,"3":3118,"4":3119,"5":3120,"6":3121}}
    3116:3116:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):104:104 -> a
    3117:3117:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):104:104 -> a
    3118:3118:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):105:105 -> a
    3119:3119:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):105:105 -> a
    3120:3120:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):106:106 -> a
    3121:3121:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):106:106 -> a
    26:26:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3122,"2":3123,"3":3124,"4":3125,"5":3126,"6":3127}}
    3122:3122:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):107:107 -> a
    3123:3123:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):107:107 -> a
    3124:3124:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):108:108 -> a
    3125:3125:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):108:108 -> a
    3126:3126:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):109:109 -> a
    3127:3127:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):109:109 -> a
    27:27:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3128,"2":3129,"3":3130,"4":3131,"5":3132,"6":3133}}
    3128:3128:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):110:110 -> a
    3129:3129:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):110:110 -> a
    3130:3130:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):111:111 -> a
    3131:3131:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):111:111 -> a
    3132:3132:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):112:112 -> a
    3133:3133:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):112:112 -> a
    28:28:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3134,"2":3135,"3":3136,"4":3137,"5":3138,"6":3139}}
    3134:3134:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):113:113 -> a
    3135:3135:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):113:113 -> a
    3136:3136:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):114:114 -> a
    3137:3137:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):114:114 -> a
    3138:3138:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):115:115 -> a
    3139:3139:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):115:115 -> a
    29:29:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3140,"2":3141,"3":3142,"4":3143,"5":3144,"6":3145}}
    3140:3140:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):116:116 -> a
    3141:3141:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):116:116 -> a
    3142:3142:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):117:117 -> a
    3143:3143:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):117:117 -> a
    3144:3144:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):118:118 -> a
    3145:3145:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):118:118 -> a
    30:30:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3146,"2":3147,"3":3148,"4":3149,"5":3150,"6":3151}}
    3146:3146:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):119:119 -> a
    3147:3147:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):119:119 -> a
    3148:3148:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):120:120 -> a
    3149:3149:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):120:120 -> a
    3150:3150:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):121:121 -> a
    3151:3151:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):121:121 -> a
    31:31:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3152,"2":3153,"3":3154,"4":3155,"5":3156,"6":3157}}
    3152:3152:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):122:122 -> a
    3153:3153:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):122:122 -> a
    3154:3154:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):123:123 -> a
    3155:3155:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):123:123 -> a
    3156:3156:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):124:124 -> a
    3157:3157:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):124:124 -> a
    32:32:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3158,"2":3159,"3":3160,"4":3161,"5":3162,"6":3163}}
    3158:3158:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):125:125 -> a
    3159:3159:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):125:125 -> a
    3160:3160:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):126:126 -> a
    3161:3161:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):126:126 -> a
    3162:3162:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):127:127 -> a
    3163:3163:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):127:127 -> a
    33:33:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3164,"2":3165,"3":3166,"4":3167,"5":3168,"6":3169}}
    3164:3164:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):128:128 -> a
    3165:3165:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):128:128 -> a
    3166:3166:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):129:129 -> a
    3167:3167:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):129:129 -> a
    3168:3168:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):130:130 -> a
    3169:3169:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):130:130 -> a
    34:34:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3170,"2":3171,"3":3172,"4":3173,"5":3174,"6":3175}}
    3170:3170:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):131:131 -> a
    3171:3171:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):131:131 -> a
    3172:3172:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):132:132 -> a
    3173:3173:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):132:132 -> a
    3174:3174:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):133:133 -> a
    3175:3175:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):133:133 -> a
    35:35:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3176,"2":3177,"3":3178,"4":3179,"5":3180,"6":3181}}
    3176:3176:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):134:134 -> a
    3177:3177:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):134:134 -> a
    3178:3178:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):135:135 -> a
    3179:3179:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):135:135 -> a
    3180:3180:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):136:136 -> a
    3181:3181:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):136:136 -> a
    36:36:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3182,"2":3183,"3":3184,"4":3185,"5":3186,"6":3187}}
    3182:3182:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):137:137 -> a
    3183:3183:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):137:137 -> a
    3184:3184:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):138:138 -> a
    3185:3185:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):138:138 -> a
    3186:3186:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):139:139 -> a
    3187:3187:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):139:139 -> a
    37:37:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3188,"2":3189,"3":3190,"4":3191,"5":3192,"6":3193}}
    3188:3188:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):140:140 -> a
    3189:3189:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):140:140 -> a
    3190:3190:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):141:141 -> a
    3191:3191:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):141:141 -> a
    3192:3192:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):142:142 -> a
    3193:3193:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):142:142 -> a
    38:38:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3194,"2":3195,"3":3196,"4":3197,"5":3198,"6":3199}}
    3194:3194:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):143:143 -> a
    3195:3195:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):143:143 -> a
    3196:3196:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):144:144 -> a
    3197:3197:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):144:144 -> a
    3198:3198:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):145:145 -> a
    3199:3199:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):145:145 -> a
    39:39:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3200,"2":3201,"3":3202,"4":3203,"5":3204,"6":3205}}
    3200:3200:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):146:146 -> a
    3201:3201:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):146:146 -> a
    3202:3202:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):147:147 -> a
    3203:3203:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):147:147 -> a
    3204:3204:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):148:148 -> a
    3205:3205:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):148:148 -> a
    40:40:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3206,"2":3207,"3":3208,"4":3209,"5":3210,"6":3211}}
    3206:3206:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):149:149 -> a
    3207:3207:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):149:149 -> a
    3208:3208:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):150:150 -> a
    3209:3209:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):150:150 -> a
    3210:3210:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):151:151 -> a
    3211:3211:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):151:151 -> a
    41:41:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3212,"2":3213,"3":3214,"4":3215,"5":3216,"6":3217}}
    3212:3212:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):152:152 -> a
    3213:3213:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):152:152 -> a
    3214:3214:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):153:153 -> a
    3215:3215:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):153:153 -> a
    3216:3216:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):154:154 -> a
    3217:3217:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):154:154 -> a
    42:42:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3218,"2":3219,"3":3220,"4":3221,"5":3222,"6":3223}}
    3218:3218:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):155:155 -> a
    3219:3219:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):155:155 -> a
    3220:3220:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):156:156 -> a
    3221:3221:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):156:156 -> a
    3222:3222:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):157:157 -> a
    3223:3223:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):157:157 -> a
    43:43:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3224,"2":3225,"3":3226,"4":3227,"5":3228,"6":3229}}
    3224:3224:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):158:158 -> a
    3225:3225:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):158:158 -> a
    3226:3226:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):159:159 -> a
    3227:3227:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):159:159 -> a
    3228:3228:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):160:160 -> a
    3229:3229:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):160:160 -> a
    44:44:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3230,"2":3231,"3":3232,"4":3233,"5":3234,"6":3235}}
    3230:3230:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):161:161 -> a
    3231:3231:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):161:161 -> a
    3232:3232:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):162:162 -> a
    3233:3233:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):162:162 -> a
    3234:3234:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):163:163 -> a
    3235:3235:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):163:163 -> a
    45:45:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3236,"2":3237,"3":3238,"4":3239,"5":3240,"6":3241}}
    3236:3236:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):164:164 -> a
    3237:3237:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):164:164 -> a
    3238:3238:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):165:165 -> a
    3239:3239:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):165:165 -> a
    3240:3240:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):166:166 -> a
    3241:3241:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):166:166 -> a
    46:46:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3242,"2":3243,"3":3244,"4":3245,"5":3246,"6":3247}}
    3242:3242:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):167:167 -> a
    3243:3243:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):167:167 -> a
    3244:3244:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):168:168 -> a
    3245:3245:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):168:168 -> a
    3246:3246:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):169:169 -> a
    3247:3247:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):169:169 -> a
    47:47:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3248,"2":3249,"3":3250,"4":3251,"5":3252,"6":3253}}
    3248:3248:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):170:170 -> a
    3249:3249:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):170:170 -> a
    3250:3250:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):171:171 -> a
    3251:3251:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):171:171 -> a
    3252:3252:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):172:172 -> a
    3253:3253:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):172:172 -> a
    48:48:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3254,"2":3255,"3":3256,"4":3257,"5":3258,"6":3259}}
    3254:3254:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):173:173 -> a
    3255:3255:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):173:173 -> a
    3256:3256:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):174:174 -> a
    3257:3257:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):174:174 -> a
    3258:3258:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):175:175 -> a
    3259:3259:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):175:175 -> a
    49:49:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3260,"2":3261,"3":3262,"4":3263,"5":3264,"6":3265}}
    3260:3260:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):176:176 -> a
    3261:3261:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):176:176 -> a
    3262:3262:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):177:177 -> a
    3263:3263:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):177:177 -> a
    3264:3264:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):178:178 -> a
    3265:3265:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):178:178 -> a
    50:50:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3266,"2":3267,"3":3268,"4":3269,"5":3270,"6":3271}}
    3266:3266:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):179:179 -> a
    3267:3267:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):179:179 -> a
    3268:3268:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):180:180 -> a
    3269:3269:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):180:180 -> a
    3270:3270:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):181:181 -> a
    3271:3271:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):181:181 -> a
    51:51:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3272,"2":3273,"3":3274,"4":3275,"5":3276,"6":3277}}
    3272:3272:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):182:182 -> a
    3273:3273:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):182:182 -> a
    3274:3274:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):183:183 -> a
    3275:3275:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):183:183 -> a
    3276:3276:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):184:184 -> a
    3277:3277:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):184:184 -> a
    52:52:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3278,"2":3279,"3":3280,"4":3281,"5":3282,"6":3283}}
    3278:3278:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):185:185 -> a
    3279:3279:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):185:185 -> a
    3280:3280:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):186:186 -> a
    3281:3281:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):186:186 -> a
    3282:3282:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):187:187 -> a
    3283:3283:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):187:187 -> a
    53:53:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3284,"2":3285,"3":3286,"4":3287,"5":3288,"6":3289}}
    3284:3284:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):188:188 -> a
    3285:3285:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):188:188 -> a
    3286:3286:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):189:189 -> a
    3287:3287:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):189:189 -> a
    3288:3288:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):190:190 -> a
    3289:3289:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):190:190 -> a
    54:54:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3290,"2":3291,"3":3292,"4":3293,"5":3294,"6":3295}}
    3290:3290:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):191:191 -> a
    3291:3291:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):191:191 -> a
    3292:3292:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):192:192 -> a
    3293:3293:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):192:192 -> a
    3294:3294:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):193:193 -> a
    3295:3295:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):193:193 -> a
    55:55:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3296,"2":3297,"3":3298,"4":3299,"5":3300,"6":3301}}
    3296:3296:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):194:194 -> a
    3297:3297:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):194:194 -> a
    3298:3298:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):195:195 -> a
    3299:3299:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):195:195 -> a
    3300:3300:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):196:196 -> a
    3301:3301:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):196:196 -> a
    56:56:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3302,"2":3303,"3":3304,"4":3305,"5":3306,"6":3307}}
    3302:3302:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):197:197 -> a
    3303:3303:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):197:197 -> a
    3304:3304:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):198:198 -> a
    3305:3305:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):198:198 -> a
    3306:3306:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):199:199 -> a
    3307:3307:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):199:199 -> a
    57:57:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3308,"2":3309,"3":3310,"4":3311,"5":3312,"6":3313}}
    3308:3308:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):200:200 -> a
    3309:3309:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):200:200 -> a
    3310:3310:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):201:201 -> a
    3311:3311:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):201:201 -> a
    3312:3312:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):202:202 -> a
    3313:3313:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):202:202 -> a
    58:58:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3314,"2":3315,"3":3316,"4":3317,"5":3318,"6":3319}}
    3314:3314:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):203:203 -> a
    3315:3315:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):203:203 -> a
    3316:3316:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):204:204 -> a
    3317:3317:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):204:204 -> a
    3318:3318:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):205:205 -> a
    3319:3319:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):205:205 -> a
    59:59:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3320,"2":3321,"3":3322,"4":3323,"5":3324,"6":3325}}
    3320:3320:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):206:206 -> a
    3321:3321:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):206:206 -> a
    3322:3322:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):207:207 -> a
    3323:3323:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):207:207 -> a
    3324:3324:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):208:208 -> a
    3325:3325:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):208:208 -> a
    60:60:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3326,"2":3327,"3":3328,"4":3329,"5":3330,"6":3331}}
    3326:3326:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):209:209 -> a
    3327:3327:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):209:209 -> a
    3328:3328:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):210:210 -> a
    3329:3329:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):210:210 -> a
    3330:3330:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):211:211 -> a
    3331:3331:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):211:211 -> a
    61:61:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3332,"2":3333,"3":3334,"4":3335,"5":3336,"6":3337}}
    3332:3332:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):212:212 -> a
    3333:3333:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):212:212 -> a
    3334:3334:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):213:213 -> a
    3335:3335:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):213:213 -> a
    3336:3336:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):214:214 -> a
    3337:3337:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):214:214 -> a
    62:62:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3338,"2":3339,"3":3340,"4":3341,"5":3342,"6":3343}}
    3338:3338:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):215:215 -> a
    3339:3339:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):215:215 -> a
    3340:3340:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):216:216 -> a
    3341:3341:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):216:216 -> a
    3342:3342:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):217:217 -> a
    3343:3343:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):217:217 -> a
    63:63:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3344,"2":3345,"3":3346,"4":3347,"5":3348,"6":3349}}
    3344:3344:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):218:218 -> a
    3345:3345:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):218:218 -> a
    3346:3346:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):219:219 -> a
    3347:3347:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):219:219 -> a
    3348:3348:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):220:220 -> a
    3349:3349:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):220:220 -> a
    64:64:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3350,"2":3351,"3":3352,"4":3353,"5":3354,"6":3355}}
    3350:3350:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):221:221 -> a
    3351:3351:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):221:221 -> a
    3352:3352:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):222:222 -> a
    3353:3353:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):222:222 -> a
    3354:3354:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):223:223 -> a
    3355:3355:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):223:223 -> a
    65:65:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3356,"2":3357,"3":3358,"4":3359,"5":3360,"6":3361}}
    3356:3356:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):224:224 -> a
    3357:3357:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):224:224 -> a
    3358:3358:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):225:225 -> a
    3359:3359:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):225:225 -> a
    3360:3360:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):226:226 -> a
    3361:3361:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):226:226 -> a
    66:66:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3362,"2":3363,"3":3364,"4":3365,"5":3366,"6":3367}}
    3362:3362:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):227:227 -> a
    3363:3363:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):227:227 -> a
    3364:3364:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):228:228 -> a
    3365:3365:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):228:228 -> a
    3366:3366:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):229:229 -> a
    3367:3367:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):229:229 -> a
    67:67:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3368,"2":3369,"3":3370,"4":3371,"5":3372,"6":3373}}
    3368:3368:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):230:230 -> a
    3369:3369:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):230:230 -> a
    3370:3370:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):231:231 -> a
    3371:3371:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):231:231 -> a
    3372:3372:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):232:232 -> a
    3373:3373:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):232:232 -> a
    68:68:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3374,"2":3375,"3":3376,"4":3377,"5":3378,"6":3379}}
    3374:3374:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):233:233 -> a
    3375:3375:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):233:233 -> a
    3376:3376:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):234:234 -> a
    3377:3377:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):234:234 -> a
    3378:3378:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):235:235 -> a
    3379:3379:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):235:235 -> a
    69:69:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3380,"2":3381,"3":3382,"4":3383,"5":3384,"6":3385}}
    3380:3380:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):236:236 -> a
    3381:3381:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):236:236 -> a
    3382:3382:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):237:237 -> a
    3383:3383:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):237:237 -> a
    3384:3384:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):238:238 -> a
    3385:3385:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):238:238 -> a
    70:70:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3386,"2":3387,"3":3388,"4":3389,"5":3390,"6":3391}}
    3386:3386:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):239:239 -> a
    3387:3387:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):239:239 -> a
    3388:3388:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):240:240 -> a
    3389:3389:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):240:240 -> a
    3390:3390:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):241:241 -> a
    3391:3391:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):241:241 -> a
    71:71:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3392,"2":3393,"3":3394,"4":3395,"5":3396,"6":3397}}
    3392:3392:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):242:242 -> a
    3393:3393:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):242:242 -> a
    3394:3394:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):243:243 -> a
    3395:3395:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):243:243 -> a
    3396:3396:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):244:244 -> a
    3397:3397:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):244:244 -> a
    72:72:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3398,"2":3399,"3":3400,"4":3401,"5":3402,"6":3403}}
    3398:3398:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):245:245 -> a
    3399:3399:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):245:245 -> a
    3400:3400:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):246:246 -> a
    3401:3401:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):246:246 -> a
    3402:3402:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):247:247 -> a
    3403:3403:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):247:247 -> a
    73:73:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3404,"2":3405,"3":3406,"4":3407,"5":3408,"6":3409}}
    3404:3404:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):248:248 -> a
    3405:3405:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):248:248 -> a
    3406:3406:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):249:249 -> a
    3407:3407:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):249:249 -> a
    3408:3408:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):250:250 -> a
    3409:3409:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):250:250 -> a
    74:74:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3410,"2":3411,"3":3412,"4":3413,"5":3414,"6":3415}}
    3410:3410:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):251:251 -> a
    3411:3411:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):251:251 -> a
    3412:3412:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):252:252 -> a
    3413:3413:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):252:252 -> a
    3414:3414:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):253:253 -> a
    3415:3415:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):253:253 -> a
    75:75:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3416,"2":3417,"3":3418,"4":3419,"5":3420,"6":3421}}
    3416:3416:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):254:254 -> a
    3417:3417:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):254:254 -> a
    3418:3418:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):255:255 -> a
    3419:3419:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):255:255 -> a
    3420:3420:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):256:256 -> a
    3421:3421:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):256:256 -> a
    76:76:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3422,"2":3423,"3":3424,"4":3425,"5":3426,"6":3427}}
    3422:3422:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):257:257 -> a
    3423:3423:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):257:257 -> a
    3424:3424:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):258:258 -> a
    3425:3425:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):258:258 -> a
    3426:3426:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):259:259 -> a
    3427:3427:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):259:259 -> a
    77:77:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3428,"2":3429,"3":3430,"4":3431,"5":3432,"6":3433}}
    3428:3428:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):260:260 -> a
    3429:3429:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):260:260 -> a
    3430:3430:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):261:261 -> a
    3431:3431:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):261:261 -> a
    3432:3432:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):262:262 -> a
    3433:3433:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):262:262 -> a
    78:78:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3434,"2":3435,"3":3436,"4":3437,"5":3438,"6":3439}}
    3434:3434:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):263:263 -> a
    3435:3435:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):263:263 -> a
    3436:3436:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):264:264 -> a
    3437:3437:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):264:264 -> a
    3438:3438:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):265:265 -> a
    3439:3439:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):265:265 -> a
    79:79:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3440,"2":3441,"3":3442,"4":3443,"5":3444,"6":3445}}
    3440:3440:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):266:266 -> a
    3441:3441:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):266:266 -> a
    3442:3442:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):267:267 -> a
    3443:3443:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):267:267 -> a
    3444:3444:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):268:268 -> a
    3445:3445:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):268:268 -> a
    80:80:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3446,"2":3447,"3":3448,"4":3449,"5":3450,"6":3451}}
    3446:3446:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):269:269 -> a
    3447:3447:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):269:269 -> a
    3448:3448:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):270:270 -> a
    3449:3449:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):270:270 -> a
    3450:3450:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):271:271 -> a
    3451:3451:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):271:271 -> a
    81:81:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3452,"2":3453,"3":3454,"4":3455,"5":3456,"6":3457}}
    3452:3452:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):272:272 -> a
    3453:3453:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):272:272 -> a
    3454:3454:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):273:273 -> a
    3455:3455:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):273:273 -> a
    3456:3456:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):274:274 -> a
    3457:3457:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):274:274 -> a
    82:82:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3458,"2":3459,"3":3460,"4":3461,"5":3462,"6":3463}}
    3458:3458:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):275:275 -> a
    3459:3459:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):275:275 -> a
    3460:3460:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):276:276 -> a
    3461:3461:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):276:276 -> a
    3462:3462:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):277:277 -> a
    3463:3463:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):277:277 -> a
    83:83:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3464,"2":3465,"3":3466,"4":3467,"5":3468,"6":3469}}
    3464:3464:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):278:278 -> a
    3465:3465:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):278:278 -> a
    3466:3466:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):279:279 -> a
    3467:3467:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):279:279 -> a
    3468:3468:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):280:280 -> a
    3469:3469:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):280:280 -> a
    84:84:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3470,"2":3471,"3":3472,"4":3473,"5":3474,"6":3475}}
    3470:3470:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):281:281 -> a
    3471:3471:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):281:281 -> a
    3472:3472:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):282:282 -> a
    3473:3473:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):282:282 -> a
    3474:3474:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):283:283 -> a
    3475:3475:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):283:283 -> a
    85:85:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3476,"2":3477,"3":3478,"4":3479,"5":3480,"6":3481}}
    3476:3476:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):284:284 -> a
    3477:3477:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):284:284 -> a
    3478:3478:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):285:285 -> a
    3479:3479:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):285:285 -> a
    3480:3480:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):286:286 -> a
    3481:3481:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):286:286 -> a
    86:86:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3482,"2":3483,"3":3484,"4":3485,"5":3486,"6":3487}}
    3482:3482:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):287:287 -> a
    3483:3483:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):287:287 -> a
    3484:3484:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):288:288 -> a
    3485:3485:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):288:288 -> a
    3486:3486:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):289:289 -> a
    3487:3487:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):289:289 -> a
    87:87:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3488,"2":3489,"3":3490,"4":3491,"5":3492,"6":3493}}
    3488:3488:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):290:290 -> a
    3489:3489:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):290:290 -> a
    3490:3490:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):291:291 -> a
    3491:3491:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):291:291 -> a
    3492:3492:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):292:292 -> a
    3493:3493:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):292:292 -> a
    88:88:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3494,"2":3495,"3":3496,"4":3497,"5":3498,"6":3499}}
    3494:3494:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):293:293 -> a
    3495:3495:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):293:293 -> a
    3496:3496:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):294:294 -> a
    3497:3497:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):294:294 -> a
    3498:3498:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):295:295 -> a
    3499:3499:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):295:295 -> a
    89:89:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3501,"2":3502,"3":3504,"4":3505,"5":3506,"6":3507}}
    3501:3501:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):297:297 -> a
    3502:3502:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):296:296 -> a
    3504:3504:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):298:298 -> a
    3505:3505:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):298:298 -> a
    3506:3506:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):299:299 -> a
    3507:3507:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):299:299 -> a
    90:90:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3508,"2":3509,"3":3510,"4":3511,"5":3512,"6":3513}}
    3508:3508:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):300:300 -> a
    3509:3509:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):300:300 -> a
    3510:3510:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):301:301 -> a
    3511:3511:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):301:301 -> a
    3512:3512:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):302:302 -> a
    3513:3513:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):302:302 -> a
    91:91:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3514,"2":3515,"3":3516,"4":3517,"5":3518,"6":3519}}
    3514:3514:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):303:303 -> a
    3515:3515:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):303:303 -> a
    3516:3516:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):304:304 -> a
    3517:3517:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):304:304 -> a
    3518:3518:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):305:305 -> a
    3519:3519:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):305:305 -> a
    397:402:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):306:311 -> a
    403:403:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3526,"2":3527,"3":3528,"4":3529,"5":3530,"6":3531}}
    3526:3526:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):312:312 -> a
    3527:3527:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):312:312 -> a
    3528:3528:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):313:313 -> a
    3529:3529:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):313:313 -> a
    3530:3530:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):314:314 -> a
    3531:3531:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):314:314 -> a
    718:721:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):315:318 -> a
    722:722:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3536,"2":3537,"3":3538,"4":3539,"5":3540,"6":3541}}
    3536:3536:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):319:319 -> a
    3537:3537:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):319:319 -> a
    3538:3538:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):320:320 -> a
    3539:3539:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):320:320 -> a
    3540:3540:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):321:321 -> a
    3541:3541:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):321:321 -> a
    723:723:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3542,"2":3543,"3":3544,"4":3545,"5":3546,"6":3547}}
    3542:3542:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):322:322 -> a
    3543:3543:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):322:322 -> a
    3544:3544:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):323:323 -> a
    3545:3545:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):323:323 -> a
    3546:3546:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):324:324 -> a
    3547:3547:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):324:324 -> a
    724:724:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3548,"2":3549,"3":3550,"4":3551,"5":3552,"6":3553}}
    3548:3548:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):325:325 -> a
    3549:3549:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):325:325 -> a
    3550:3550:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):326:326 -> a
    3551:3551:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):326:326 -> a
    3552:3552:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):327:327 -> a
    3553:3553:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):327:327 -> a
    1053:1053:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):329:329 -> a
    1054:1054:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3556,"2":3557,"3":3558,"4":3559,"5":3560,"6":3561}}
    3556:3556:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):330:330 -> a
    3557:3557:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):330:330 -> a
    3558:3558:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):331:331 -> a
    3559:3559:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):331:331 -> a
    3560:3560:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):332:332 -> a
    3561:3561:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):332:332 -> a
    1055:1055:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3562,"2":3563,"3":3564,"4":3565,"5":3566,"6":3567}}
    3562:3562:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):333:333 -> a
    3563:3563:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):333:333 -> a
    3564:3564:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):334:334 -> a
    3565:3565:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):334:334 -> a
    3566:3566:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):335:335 -> a
    3567:3567:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):335:335 -> a
    1056:1056:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3568,"2":3569,"3":3570,"4":3571,"5":3572,"6":3573}}
    3568:3568:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):336:336 -> a
    3569:3569:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):336:336 -> a
    3570:3570:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):337:337 -> a
    3571:3571:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):337:337 -> a
    3572:3572:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):338:338 -> a
    3573:3573:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):338:338 -> a
    1057:1057:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3574,"2":3575,"3":3576,"4":3577,"5":3578,"6":3579}}
    3574:3574:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):339:339 -> a
    3575:3575:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):339:339 -> a
    3576:3576:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):340:340 -> a
    3577:3577:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):340:340 -> a
    3578:3578:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):341:341 -> a
    3579:3579:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):341:341 -> a
    1058:1058:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3580,"2":3581,"3":3582,"4":3583,"5":3584,"6":3585}}
    3580:3580:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):342:342 -> a
    3581:3581:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):342:342 -> a
    3582:3582:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):343:343 -> a
    3583:3583:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):343:343 -> a
    3584:3584:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):344:344 -> a
    3585:3585:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):344:344 -> a
    1059:1059:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3586,"2":3587,"3":3588,"4":3589,"5":3590,"6":3591}}
    3586:3586:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):345:345 -> a
    3587:3587:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):345:345 -> a
    3588:3588:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):346:346 -> a
    3589:3589:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):346:346 -> a
    3590:3590:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):347:347 -> a
    3591:3591:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):347:347 -> a
    1408:1411:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):349:352 -> a
    1412:1412:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3597,"2":3598,"3":3599,"4":3600,"5":3602,"6":3603}}
    3597:3597:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):353:353 -> a
    3598:3598:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):353:353 -> a
    3599:3599:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):354:354 -> a
    3600:3600:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):354:354 -> a
    3602:3602:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):356:356 -> a
    3603:3603:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):355:355 -> a
    1413:1413:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3606,"2":3607,"3":3608,"4":3609,"5":3610,"6":3611}}
    3606:3606:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):358:358 -> a
    3607:3607:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):358:358 -> a
    3608:3608:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):359:359 -> a
    3609:3609:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):359:359 -> a
    3610:3610:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):360:360 -> a
    3611:3611:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):360:360 -> a
    1414:1414:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3612,"2":3613,"3":3614,"4":3615,"5":3616,"6":3617}}
    3612:3612:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):361:361 -> a
    3613:3613:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):361:361 -> a
    3614:3614:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):362:362 -> a
    3615:3615:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):362:362 -> a
    3616:3616:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):363:363 -> a
    3617:3617:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):363:363 -> a
    1415:1415:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3618,"2":3619,"3":3620,"4":3621,"5":3622,"6":3623}}
    3618:3618:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):364:364 -> a
    3619:3619:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):364:364 -> a
    3620:3620:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):365:365 -> a
    3621:3621:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):365:365 -> a
    3622:3622:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):366:366 -> a
    3623:3623:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):366:366 -> a
    1416:1416:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3624,"2":3625,"3":3626,"4":3627,"5":3628,"6":3629}}
    3624:3624:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):367:367 -> a
    3625:3625:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):367:367 -> a
    3626:3626:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):368:368 -> a
    3627:3627:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):368:368 -> a
    3628:3628:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):369:369 -> a
    3629:3629:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):369:369 -> a
    1417:1417:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3630,"2":3631,"3":3632,"4":3633,"5":3634,"6":3635}}
    3630:3630:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):370:370 -> a
    3631:3631:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):370:370 -> a
    3632:3632:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):371:371 -> a
    3633:3633:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):371:371 -> a
    3634:3634:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):372:372 -> a
    3635:3635:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):372:372 -> a
    1790:1799:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):373:382 -> a
    1800:1800:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3646,"2":3647,"3":3648,"4":3649,"5":3650,"6":3651}}
    3646:3646:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):383:383 -> a
    3647:3647:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):383:383 -> a
    3648:3648:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):384:384 -> a
    3649:3649:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):384:384 -> a
    3650:3650:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):385:385 -> a
    3651:3651:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):385:385 -> a
    2187:2190:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):387:390 -> a
    2191:2191:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3657,"2":3658,"3":3659,"4":3660,"5":3661,"6":3662}}
    3657:3657:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):391:391 -> a
    3658:3658:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):391:391 -> a
    3659:3659:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):392:392 -> a
    3660:3660:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):392:392 -> a
    3661:3661:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):393:393 -> a
    3662:3662:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):393:393 -> a
    2585:2587:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):394:396 -> a
    2588:2588:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3666,"2":3667,"3":3669,"4":3670,"5":3672,"6":3673}}
    3666:3666:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):397:397 -> a
    3667:3667:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):397:397 -> a
    3669:3669:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):399:399 -> a
    3670:3670:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):398:398 -> a
    3672:3672:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):400:400 -> a
    3673:3673:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):400:400 -> a
    2989:2989:java.util.Set build(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):401:401 -> a
com.android.tools.r8.androidapi.ComputedApiLevel -> com.android.tools.r8.internal.Gc:
    int $r8$clinit -> a
    1:1:void <clinit>():15:15 -> <clinit>
    com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel asKnownApiLevel() -> F
    boolean isUnknownApiLevel() -> W
    1:1:boolean isEqualTo(java.lang.Object):15:15 -> a
    2:11:boolean isGreaterThan(com.android.tools.r8.androidapi.ComputedApiLevel):42:51 -> a
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel max(com.android.tools.r8.androidapi.ComputedApiLevel):38:38 -> b
    1:3:boolean isGreaterThanOrEqualTo(com.android.tools.r8.androidapi.ComputedApiLevel):55:57 -> c
    1:1:boolean isEqualTo(com.android.tools.r8.androidapi.ComputedApiLevel):70:70 -> d
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel unknown():22:22 -> j
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel notSet():18:18 -> q
    boolean isKnownApiLevel() -> r
    boolean isNotSetApiLevel() -> y
com.android.tools.r8.androidapi.ComputedApiLevel$1 -> com.android.tools.r8.internal.Fc:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():42:42 -> <clinit>
com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel -> com.android.tools.r8.internal.Gc$a:
    com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel PLATFORM_INSTANCE -> c
    com.android.tools.r8.utils.AndroidApiLevel apiLevel -> b
    1:1:void <clinit>():124:124 -> <clinit>
    1:2:void <init>(com.android.tools.r8.utils.AndroidApiLevel):129:130 -> <init>
    com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel asKnownApiLevel() -> F
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel$KnownApiLevel access$200():122:122 -> a
    1:1:com.android.tools.r8.utils.AndroidApiLevel getApiLevel():134:134 -> b
    1:5:boolean equals(java.lang.Object):157:161 -> equals
    1:1:int hashCode():166:166 -> hashCode
    boolean isKnownApiLevel() -> r
    1:1:java.lang.String toString():149:149 -> toString
com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel -> com.android.tools.r8.internal.Hc:
    com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel INSTANCE -> b
    1:1:void <clinit>():75:75 -> <clinit>
    1:1:void <init>():77:77 -> <init>
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel$NotSetApiLevel access$000():73:73 -> a
    1:1:int hashCode():91:91 -> hashCode
    boolean isNotSetApiLevel() -> y
com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel -> com.android.tools.r8.internal.Ic:
    com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel INSTANCE -> b
    1:1:void <clinit>():97:97 -> <clinit>
    1:1:void <init>():99:99 -> <init>
    boolean isUnknownApiLevel() -> W
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel$UnknownApiLevel access$100():95:95 -> a
    1:1:int hashCode():118:118 -> hashCode
    1:1:java.lang.String toString():108:108 -> toString
com.android.tools.r8.bisect.Bisect -> com.android.tools.r8.internal.b5:
    1:4:com.android.tools.r8.graph.DexProgramClass run(com.android.tools.r8.bisect.BisectState,com.android.tools.r8.bisect.Bisect$Command,java.nio.file.Path,java.util.concurrent.ExecutorService):80:83 -> a
    5:22:void com.android.tools.r8.bisect.Bisect.writeApp(com.android.tools.r8.graph.DexApplication,java.nio.file.Path,java.util.concurrent.ExecutorService):186:203 -> a
    5:22:com.android.tools.r8.graph.DexProgramClass run(com.android.tools.r8.bisect.BisectState,com.android.tools.r8.bisect.Bisect$Command,java.nio.file.Path,java.util.concurrent.ExecutorService):86 -> a
    23:29:com.android.tools.r8.graph.DexProgramClass run(com.android.tools.r8.bisect.BisectState,com.android.tools.r8.bisect.Bisect$Command,java.nio.file.Path,java.util.concurrent.ExecutorService):87:93 -> a
com.android.tools.r8.bisect.Bisect$Command -> com.android.tools.r8.internal.b5$a:
    com.android.tools.r8.bisect.BisectOptions$Result apply(com.android.tools.r8.graph.DexApplication) -> a
com.android.tools.r8.bisect.BisectOptions$Result -> com.android.tools.r8.internal.c5:
    com.android.tools.r8.bisect.BisectOptions$Result UNKNOWN -> b
    com.android.tools.r8.bisect.BisectOptions$Result GOOD -> c
    com.android.tools.r8.bisect.BisectOptions$Result BAD -> d
    1:1:void <clinit>():33:33 -> <clinit>
    1:1:void <init>(java.lang.String,int):33:33 -> <init>
com.android.tools.r8.bisect.BisectState -> com.android.tools.r8.internal.g5:
    java.nio.file.Path stateFile -> e
    com.android.tools.r8.graph.DexApplication badApp -> b
    java.util.Map indexMap -> d
    com.android.tools.r8.bisect.BisectState$Range nextRange -> g
    java.util.List runs -> f
    java.util.List sortedGoodClasses -> c
    java.lang.String signature -> a
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexApplication,java.nio.file.Path):155:155 -> <init>
    2:20:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexApplication,java.nio.file.Path):150:168 -> <init>
    21:21:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexApplication,java.nio.file.Path):160:160 -> <init>
    1:8:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):201:208 -> a
    9:9:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    9:9:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):208 -> a
    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    10:10:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):208 -> a
    11:18:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):208:215 -> a
    19:19:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    19:19:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):215 -> a
    20:20:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    20:20:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    20:20:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):215 -> a
    21:26:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):215:220 -> a
    27:27:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":270,"2":271,"3":272}}
    270:270:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):220:220 -> a
    271:271:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):220:220 -> a
    272:272:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):220:220 -> a
    247:248:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):220:221 -> a
    249:249:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):202:202 -> a
    250:250:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    250:250:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):202 -> a
    251:251:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    251:251:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    251:251:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):202 -> a
    252:252:void setPreviousResult(com.android.tools.r8.bisect.BisectOptions$Result):202:202 -> a
    273:279:com.android.tools.r8.graph.DexApplication bisect():240:246 -> a
    280:282:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():288:290 -> a
    280:282:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    283:283:boolean com.android.tools.r8.bisect.BisectState$Run.isBad():140:140 -> a
    283:283:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():291 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    283:283:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    284:284:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():292:292 -> a
    284:284:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    285:285:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    285:285:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState$Range.sub(com.android.tools.r8.bisect.BisectState$Range):72 -> a
    285:285:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():292 -> a
    285:285:com.android.tools.r8.graph.DexApplication bisect():249 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    286:286:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    286:286:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState$Range.sub(com.android.tools.r8.bisect.BisectState$Range):72 -> a
    286:286:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():292 -> a
    286:286:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    287:292:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState$Range.sub(com.android.tools.r8.bisect.BisectState$Range):75:80 -> a
    287:292:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():292 -> a
    287:292:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    293:293:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    293:293:com.android.tools.r8.graph.DexApplication bisect():250 -> a
    294:297:com.android.tools.r8.graph.DexApplication bisect():254:257 -> a
    298:298:int com.android.tools.r8.bisect.BisectState$Range.size():57:57 -> a
    298:298:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState$Range.split():84 -> a
    298:298:com.android.tools.r8.graph.DexApplication bisect():258 -> a
    299:300:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState$Range.split():84:85 -> a
    299:300:com.android.tools.r8.graph.DexApplication bisect():258 -> a
    301:303:com.android.tools.r8.graph.DexApplication bisect():258:260 -> a
    304:304:com.android.tools.r8.graph.DexApplication bisect():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":594,"2":595,"3":596}}
    594:594:com.android.tools.r8.graph.DexApplication bisect():260:260 -> a
    595:595:com.android.tools.r8.graph.DexApplication bisect():260:260 -> a
    596:596:com.android.tools.r8.graph.DexApplication bisect():260:260 -> a
    564:568:com.android.tools.r8.graph.DexApplication bisect():260:264 -> a
    569:570:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.bisect.BisectState.getGoodClass(com.android.tools.r8.graph.DexProgramClass):280:281 -> a
    569:570:com.android.tools.r8.graph.DexApplication bisect():265 -> a
    571:571:boolean com.android.tools.r8.bisect.BisectState$Range.contains(int):89:89 -> a
    571:571:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.bisect.BisectState.getGoodClass(com.android.tools.r8.graph.DexProgramClass):281 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    571:571:com.android.tools.r8.graph.DexApplication bisect():265 -> a
    572:572:boolean com.android.tools.r8.bisect.BisectState$Range.contains(int):89:89 -> a
    572:572:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.bisect.BisectState.getGoodClass(com.android.tools.r8.graph.DexProgramClass):281 -> a
    572:572:com.android.tools.r8.graph.DexApplication bisect():265 -> a
    573:573:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.bisect.BisectState.getGoodClass(com.android.tools.r8.graph.DexProgramClass):282:282 -> a
    573:573:com.android.tools.r8.graph.DexApplication bisect():265 -> a
    574:578:com.android.tools.r8.graph.DexApplication bisect():267:271 -> a
    579:579:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    579:579:com.android.tools.r8.graph.DexApplication bisect():271 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    580:580:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    580:580:com.android.tools.r8.graph.DexApplication bisect():271 -> a
    581:586:com.android.tools.r8.graph.DexApplication bisect():271:276 -> a
    587:587:com.android.tools.r8.graph.DexApplication bisect():251:251 -> a
    588:588:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    588:588:com.android.tools.r8.graph.DexApplication bisect():251 -> a
    589:589:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    589:589:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    589:589:com.android.tools.r8.graph.DexApplication bisect():251 -> a
    590:590:com.android.tools.r8.graph.DexApplication bisect():251:251 -> a
    591:593:com.android.tools.r8.bisect.BisectState$Range com.android.tools.r8.bisect.BisectState.getLastBadRange():294:296 -> a
    591:593:com.android.tools.r8.graph.DexApplication bisect():249 -> a
    597:598:java.util.List getSortedClasses(com.android.tools.r8.graph.DexApplication):325:326 -> a
    599:599:int lambda$getSortedClasses$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):326:326 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getFinalClass():232:232 -> b
    2:2:int com.android.tools.r8.bisect.BisectState$Range.size():57:57 -> b
    2:2:com.android.tools.r8.graph.DexProgramClass getFinalClass():232 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.bisect.BisectState$Range.size():57:57 -> b
    3:3:com.android.tools.r8.graph.DexProgramClass getFinalClass():232 -> b
    4:4:com.android.tools.r8.graph.DexProgramClass getFinalClass():234:234 -> b
    5:10:java.lang.String makeSignature(com.android.tools.r8.graph.DexApplication):332:337 -> b
    1:5:void read():172:176 -> c
    6:6:void read():0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":212,"2":213,"3":214}}
    212:212:void read():176:176 -> c
    213:213:void read():176:176 -> c
    214:214:void read():176:176 -> c
    182:187:void read():176:181 -> c
    188:188:java.lang.String com.android.tools.r8.bisect.BisectState.readSignature(java.io.BufferedReader):304:304 -> c
    188:188:void read():181 -> c
    189:195:void read():181:187 -> c
    196:196:void com.android.tools.r8.bisect.BisectState.$closeResource(java.lang.Throwable,java.lang.AutoCloseable):189:189 -> c
    196:196:void read():189 -> c
    197:204:void read():190:197 -> c
    205:205:void read():182:182 -> c
    206:206:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> c
    206:206:void read():182 -> c
    207:207:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> c
    207:207:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> c
    207:207:void read():182 -> c
    208:208:void read():182:182 -> c
    209:209:void read():180:180 -> c
    210:210:void com.android.tools.r8.bisect.BisectState.$closeResource(java.lang.Throwable,java.lang.AutoCloseable):189:189 -> c
    210:210:void read():189 -> c
    211:211:void read():189:189 -> c
    1:7:void write():308:314 -> d
    8:8:void com.android.tools.r8.bisect.BisectState$Run.write(java.io.Writer):134:134 -> d
    8:8:void write():315 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:11:void com.android.tools.r8.bisect.BisectState$Run.write(java.io.Writer):134:136 -> d
    9:11:void write():315 -> d
    12:14:void com.android.tools.r8.bisect.BisectState$Range.write(java.io.Writer):47:49 -> d
    12:14:void com.android.tools.r8.bisect.BisectState$Run.write(java.io.Writer):136 -> d
    12:14:void write():315 -> d
    15:17:void write():316:318 -> d
    18:20:void com.android.tools.r8.bisect.BisectState$Range.write(java.io.Writer):47:49 -> d
    18:20:void write():318 -> d
    21:22:void write():319:320 -> d
    23:23:void com.android.tools.r8.bisect.BisectState.$closeResource(java.lang.Throwable,java.lang.AutoCloseable):189:189 -> d
    23:23:void write():321 -> d
    24:24:void write():311:311 -> d
    25:25:void com.android.tools.r8.bisect.BisectState.$closeResource(java.lang.Throwable,java.lang.AutoCloseable):189:189 -> d
    25:25:void write():321 -> d
    26:26:void write():321:321 -> d
com.android.tools.r8.bisect.BisectState$Range -> com.android.tools.r8.internal.e5:
    int end -> b
    boolean $assertionsDisabled -> c
    int start -> a
    1:1:void <clinit>():29:29 -> <clinit>
    1:4:void <init>(int,int):33:36 -> <init>
    5:9:void <init>(java.lang.String):39:43 -> <init>
    1:1:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    1:1:com.android.tools.r8.bisect.BisectState$Range add(com.android.tools.r8.bisect.BisectState$Range):61 -> a
    2:2:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    2:2:com.android.tools.r8.bisect.BisectState$Range add(com.android.tools.r8.bisect.BisectState$Range):64 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.bisect.BisectState$Range.isEmpty():53:53 -> a
    3:3:com.android.tools.r8.bisect.BisectState$Range add(com.android.tools.r8.bisect.BisectState$Range):64 -> a
    4:5:com.android.tools.r8.bisect.BisectState$Range add(com.android.tools.r8.bisect.BisectState$Range):67:68 -> a
    6:6:boolean verify():112:112 -> a
    1:5:boolean equals(java.lang.Object):99:103 -> equals
    1:1:int hashCode():108:108 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":190,"2":191,"3":192}}
    190:190:java.lang.String toString():94:94 -> toString
    191:191:java.lang.String toString():94:94 -> toString
    192:192:java.lang.String toString():94:94 -> toString
    95:95:java.lang.String toString():94:94 -> toString
    96:96:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":193,"2":194,"3":195}}
    193:193:java.lang.String toString():94:94 -> toString
    194:194:java.lang.String toString():94:94 -> toString
    195:195:java.lang.String toString():94:94 -> toString
com.android.tools.r8.bisect.BisectState$Run -> com.android.tools.r8.internal.f5:
    boolean good -> a
    com.android.tools.r8.bisect.BisectState$Range range -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():116:116 -> <clinit>
    1:4:void <init>(com.android.tools.r8.bisect.BisectOptions$Result,com.android.tools.r8.bisect.BisectState$Range):120:123 -> <init>
    5:9:void <init>(java.lang.String):126:130 -> <init>
com.android.tools.r8.cf.CfCodePrinter -> com.android.tools.r8.internal.T6:
    java.util.Map knownTypeFields -> r
    java.util.Set imports -> j
    boolean pendingComma -> p
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labelToIndex -> o
    java.lang.StringBuilder builder -> q
    java.util.List sortedLabels -> n
    java.util.Set methodNames -> l
    java.util.Set synthesizedTypes -> m
    boolean $assertionsDisabled -> s
    java.util.List methods -> k
    1:1:void <clinit>():85:85 -> <clinit>
    1:1:void <init>():101:101 -> <init>
    2:213:void <init>():87:298 -> <init>
    void print(com.android.tools.r8.cf.code.CfPosition) -> a
    1:7:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):114:120 -> a
    8:8:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":343,"2":344,"3":346}}
    343:343:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):121:121 -> a
    344:344:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):121:121 -> a
    346:346:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):123:123 -> a
    9:9:java.lang.String com.android.tools.r8.cf.CfCodePrinter.r8Type(java.lang.String,java.lang.String):230:230 -> a
    9:9:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):124 -> a
    10:13:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):124:127 -> a
    14:14:java.lang.String com.android.tools.r8.cf.CfCodePrinter.r8Type(java.lang.String,java.lang.String):230:230 -> a
    14:14:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):128 -> a
    15:16:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):128:129 -> a
    17:17:java.lang.String com.android.tools.r8.cf.CfCodePrinter.r8Type(java.lang.String,java.lang.String):230:230 -> a
    17:17:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):130 -> a
    18:28:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):130:140 -> a
    29:29:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":363,"2":364,"3":365}}
    363:363:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):140:140 -> a
    364:364:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):140:140 -> a
    365:365:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):140:140 -> a
    170:174:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):141:145 -> a
    175:175:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":370,"2":371,"3":372}}
    370:370:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):145:145 -> a
    371:371:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):145:145 -> a
    372:372:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):145:145 -> a
    176:176:java.lang.String com.android.tools.r8.cf.CfCodePrinter.r8Type(java.lang.String,java.lang.String):230:230 -> a
    176:176:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):146 -> a
    177:182:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):146:151 -> a
    183:183:java.lang.String com.android.tools.r8.cf.CfCodePrinter.immutableListType():197:197 -> a
    183:183:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):152 -> a
    184:191:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):152:159 -> a
    192:192:java.lang.String com.android.tools.r8.cf.CfCodePrinter.immutableListType():197:197 -> a
    192:192:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):159 -> a
    193:203:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):159:169 -> a
    204:204:java.lang.String com.android.tools.r8.cf.CfCodePrinter.immutableListType():197:197 -> a
    204:204:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):170 -> a
    205:205:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):170:170 -> a
    206:206:java.lang.String com.android.tools.r8.cf.CfCodePrinter.immutableListType():197:197 -> a
    206:206:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):171 -> a
    207:207:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):171:171 -> a
    208:216:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):166:174 -> a
    217:217:java.lang.String com.android.tools.r8.cf.CfCodePrinter.immutableListType():197:197 -> a
    217:217:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):174 -> a
    218:220:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):174:176 -> a
    221:221:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    222:222:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":373,"2":374,"3":375,"4":376,"5":377}}
    373:373:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    374:374:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    375:375:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    376:376:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    377:377:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    337:337:void visitMethod(java.lang.String,com.android.tools.r8.graph.CfCode):115:115 -> a
    378:380:java.lang.String type(java.lang.String,java.util.List):190:192 -> a
    381:384:java.lang.String r8Type(java.lang.String,java.util.List):234:234 -> a
    385:385:java.lang.String numericType(com.android.tools.r8.ir.code.NumericType):256:256 -> a
    386:386:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    386:386:java.lang.String numericType(com.android.tools.r8.ir.code.NumericType):256 -> a
    387:387:java.lang.String numericType(com.android.tools.r8.ir.code.NumericType):256:256 -> a
    388:391:void com.android.tools.r8.cf.CfCodePrinter.ensureComma():342:345 -> a
    388:391:void printNewInstruction(java.lang.String,java.lang.String[]):349 -> a
    392:393:void printNewInstruction(java.lang.String,java.lang.String[]):350:351 -> a
    394:397:void print(com.android.tools.r8.cf.code.CfStackInstruction):369:369 -> a
    398:399:void print(com.android.tools.r8.cf.code.CfConstNumber):386:387 -> a
    400:400:java.lang.String com.android.tools.r8.cf.CfCodePrinter.longValue(long):184:184 -> a
    400:400:void print(com.android.tools.r8.cf.code.CfConstNumber):387 -> a
    401:401:void print(com.android.tools.r8.cf.code.CfConstNumber):387:387 -> a
    402:402:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    402:402:void print(com.android.tools.r8.cf.code.CfConstNumber):387 -> a
    403:403:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    403:403:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252 -> a
    403:403:void print(com.android.tools.r8.cf.code.CfConstNumber):387 -> a
    404:404:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    404:404:void print(com.android.tools.r8.cf.code.CfConstNumber):387 -> a
    405:405:void print(com.android.tools.r8.cf.code.CfConstNumber):387:387 -> a
    406:406:void print(com.android.tools.r8.cf.code.CfConstNumber):386:386 -> a
    407:407:void print(com.android.tools.r8.cf.code.CfConstClass):392:392 -> a
    408:408:void print(com.android.tools.r8.cf.code.CfConstDynamic):398:398 -> a
    409:409:void print(com.android.tools.r8.cf.code.CfReturn):408:408 -> a
    410:410:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    410:410:void print(com.android.tools.r8.cf.code.CfReturn):408 -> a
    411:411:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    411:411:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252 -> a
    411:411:void print(com.android.tools.r8.cf.code.CfReturn):408 -> a
    412:412:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    412:412:void print(com.android.tools.r8.cf.code.CfReturn):408 -> a
    413:413:void print(com.android.tools.r8.cf.code.CfReturn):408:408 -> a
    414:417:void print(com.android.tools.r8.cf.code.CfMonitor):413:416 -> a
    418:418:java.lang.String com.android.tools.r8.cf.CfCodePrinter.monitorType():210:210 -> a
    418:418:void print(com.android.tools.r8.cf.code.CfMonitor):416 -> a
    419:419:void print(com.android.tools.r8.cf.code.CfMonitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1259,"2":1260,"3":1261}}
    1259:1259:void print(com.android.tools.r8.cf.code.CfMonitor):416:416 -> a
    1260:1260:void print(com.android.tools.r8.cf.code.CfMonitor):416:416 -> a
    1261:1261:void print(com.android.tools.r8.cf.code.CfMonitor):416:416 -> a
    836:836:void print(com.android.tools.r8.cf.code.CfMonitor):417:417 -> a
    837:837:java.lang.String com.android.tools.r8.cf.CfCodePrinter.monitorType():210:210 -> a
    837:837:void print(com.android.tools.r8.cf.code.CfMonitor):417 -> a
    838:838:void print(com.android.tools.r8.cf.code.CfMonitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1262,"2":1263,"3":1264}}
    1262:1262:void print(com.android.tools.r8.cf.code.CfMonitor):417:417 -> a
    1263:1263:void print(com.android.tools.r8.cf.code.CfMonitor):417:417 -> a
    1264:1264:void print(com.android.tools.r8.cf.code.CfMonitor):417:417 -> a
    1255:1255:void print(com.android.tools.r8.cf.code.CfMonitor):417:417 -> a
    1256:1256:void print(com.android.tools.r8.cf.code.CfMonitor):413:413 -> a
    1265:1269:void print(com.android.tools.r8.cf.code.CfArithmeticBinop):422:422 -> a
    1270:1271:void print(com.android.tools.r8.cf.code.CfCmp):430:431 -> a
    1272:1272:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    1272:1272:void print(com.android.tools.r8.cf.code.CfCmp):431 -> a
    1273:1273:void print(com.android.tools.r8.cf.code.CfCmp):431:431 -> a
    1274:1274:void print(com.android.tools.r8.cf.code.CfCmp):430:430 -> a
    1275:1279:void print(com.android.tools.r8.cf.code.CfLogicalBinop):436:436 -> a
    1280:1280:void print(com.android.tools.r8.cf.code.CfNeg):444:444 -> a
    1281:1285:void print(com.android.tools.r8.cf.code.CfNumberConversion):449:449 -> a
    1286:1286:void print(com.android.tools.r8.cf.code.CfConstString):457:457 -> a
    1287:1287:void print(com.android.tools.r8.cf.code.CfConstString):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1292,"2":1293,"3":1294}}
    1292:1292:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1292:1292:void print(com.android.tools.r8.cf.code.CfConstString):457 -> a
    1293:1293:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1293:1293:void print(com.android.tools.r8.cf.code.CfConstString):457 -> a
    1294:1294:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1294:1294:void print(com.android.tools.r8.cf.code.CfConstString):457 -> a
    1288:1288:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1288:1288:void print(com.android.tools.r8.cf.code.CfConstString):457 -> a
    1289:1289:java.lang.String com.android.tools.r8.cf.CfCodePrinter.quote(java.lang.String):180:180 -> a
    1289:1289:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268 -> a
    1289:1289:void print(com.android.tools.r8.cf.code.CfConstString):457 -> a
    1290:1290:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1290:1290:void print(com.android.tools.r8.cf.code.CfConstString):457 -> a
    1291:1291:void print(com.android.tools.r8.cf.code.CfConstString):457:457 -> a
    1295:1295:void print(com.android.tools.r8.cf.code.CfDexItemBasedConstString):462:462 -> a
    1296:1296:void print(com.android.tools.r8.cf.code.CfArrayLoad):467:467 -> a
    1297:1297:java.lang.String com.android.tools.r8.cf.CfCodePrinter.memberType(com.android.tools.r8.ir.code.MemberType):260:260 -> a
    1297:1297:void print(com.android.tools.r8.cf.code.CfArrayLoad):467 -> a
    1298:1298:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    1298:1298:java.lang.String com.android.tools.r8.cf.CfCodePrinter.memberType(com.android.tools.r8.ir.code.MemberType):260 -> a
    1298:1298:void print(com.android.tools.r8.cf.code.CfArrayLoad):467 -> a
    1299:1299:java.lang.String com.android.tools.r8.cf.CfCodePrinter.memberType(com.android.tools.r8.ir.code.MemberType):260:260 -> a
    1299:1299:void print(com.android.tools.r8.cf.code.CfArrayLoad):467 -> a
    1300:1300:void print(com.android.tools.r8.cf.code.CfArrayLoad):467:467 -> a
    1301:1301:void print(com.android.tools.r8.cf.code.CfArrayStore):472:472 -> a
    1302:1302:java.lang.String com.android.tools.r8.cf.CfCodePrinter.memberType(com.android.tools.r8.ir.code.MemberType):260:260 -> a
    1302:1302:void print(com.android.tools.r8.cf.code.CfArrayStore):472 -> a
    1303:1303:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    1303:1303:java.lang.String com.android.tools.r8.cf.CfCodePrinter.memberType(com.android.tools.r8.ir.code.MemberType):260 -> a
    1303:1303:void print(com.android.tools.r8.cf.code.CfArrayStore):472 -> a
    1304:1304:java.lang.String com.android.tools.r8.cf.CfCodePrinter.memberType(com.android.tools.r8.ir.code.MemberType):260:260 -> a
    1304:1304:void print(com.android.tools.r8.cf.code.CfArrayStore):472 -> a
    1305:1305:void print(com.android.tools.r8.cf.code.CfArrayStore):472:472 -> a
    1306:1309:void print(com.android.tools.r8.cf.code.CfInvoke):477:480 -> a
    1310:1310:void print(com.android.tools.r8.cf.code.CfInvoke):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1808,"2":1809,"3":1810}}
    1808:1808:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):322:322 -> a
    1808:1808:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1809:1809:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):322:322 -> a
    1809:1809:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1810:1810:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):322:322 -> a
    1810:1810:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1311:1312:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):322:323 -> a
    1311:1312:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1313:1313:void print(com.android.tools.r8.cf.code.CfInvoke):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1811,"2":1812,"3":1814}}
    1811:1811:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexProto(com.android.tools.r8.graph.DexProto):311:311 -> a
    1811:1811:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):325 -> a
    1811:1811:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1812:1812:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexProto(com.android.tools.r8.graph.DexProto):311:311 -> a
    1812:1812:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):325 -> a
    1812:1812:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1814:1814:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexProto(com.android.tools.r8.graph.DexProto):313:313 -> a
    1814:1814:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):325 -> a
    1814:1814:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1314:1319:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexProto(com.android.tools.r8.graph.DexProto):313:318 -> a
    1314:1319:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):325 -> a
    1314:1319:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1320:1320:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):325:325 -> a
    1320:1320:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1321:1321:void print(com.android.tools.r8.cf.code.CfInvoke):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1815,"2":1816,"3":1817}}
    1815:1815:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1815:1815:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327 -> a
    1815:1815:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1816:1816:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1816:1816:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327 -> a
    1816:1816:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1817:1817:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1817:1817:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327 -> a
    1817:1817:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1322:1322:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1322:1322:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327 -> a
    1322:1322:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1323:1323:java.lang.String com.android.tools.r8.cf.CfCodePrinter.quote(java.lang.String):180:180 -> a
    1323:1323:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268 -> a
    1323:1323:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327 -> a
    1323:1323:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1324:1324:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexString(com.android.tools.r8.graph.DexString):268:268 -> a
    1324:1324:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327 -> a
    1324:1324:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1325:1325:void print(com.android.tools.r8.cf.code.CfInvoke):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1818,"2":1819,"3":1820}}
    1818:1818:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327:327 -> a
    1818:1818:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1819:1819:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327:327 -> a
    1819:1819:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1820:1820:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexMethod(com.android.tools.r8.graph.DexMethod):327:327 -> a
    1820:1820:void print(com.android.tools.r8.cf.code.CfInvoke):480 -> a
    1805:1806:void print(com.android.tools.r8.cf.code.CfInvoke):480:481 -> a
    1807:1807:void print(com.android.tools.r8.cf.code.CfInvoke):477:477 -> a
    1821:1821:void print(com.android.tools.r8.cf.code.CfInvokeDynamic):486:486 -> a
    1822:1825:void print(com.android.tools.r8.cf.code.CfFrame):491:494 -> a
    1826:1826:void print(com.android.tools.r8.cf.code.CfFrame):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1842,"2":1843,"3":1844}}
    1842:1842:void print(com.android.tools.r8.cf.code.CfFrame):494:494 -> a
    1843:1843:void print(com.android.tools.r8.cf.code.CfFrame):494:494 -> a
    1844:1844:void print(com.android.tools.r8.cf.code.CfFrame):494:494 -> a
    1827:1827:java.lang.String com.android.tools.r8.cf.CfCodePrinter.int2ReferenceAVLTreeMapType():202:202 -> a
    1827:1827:void print(com.android.tools.r8.cf.code.CfFrame):497 -> a
    1828:1828:java.lang.String com.android.tools.r8.cf.CfCodePrinter.int2ReferenceAVLTreeMapType():201:201 -> a
    1828:1828:void print(com.android.tools.r8.cf.code.CfFrame):497 -> a
    1829:1835:void print(com.android.tools.r8.cf.code.CfFrame):497:503 -> a
    1836:1836:void print(com.android.tools.r8.cf.code.CfFrame):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1853,"2":1854,"3":1855}}
    1853:1853:void print(com.android.tools.r8.cf.code.CfFrame):503:503 -> a
    1854:1854:void print(com.android.tools.r8.cf.code.CfFrame):503:503 -> a
    1855:1855:void print(com.android.tools.r8.cf.code.CfFrame):503:503 -> a
    1837:1837:java.lang.String com.android.tools.r8.cf.CfCodePrinter.arrayDequeType():222:222 -> a
    1837:1837:void print(com.android.tools.r8.cf.code.CfFrame):507 -> a
    1838:1838:void print(com.android.tools.r8.cf.code.CfFrame):507:507 -> a
    1839:1839:java.lang.String com.android.tools.r8.cf.CfCodePrinter.arraysType():226:226 -> a
    1839:1839:void print(com.android.tools.r8.cf.code.CfFrame):507 -> a
    1840:1840:void print(com.android.tools.r8.cf.code.CfFrame):507:507 -> a
    1841:1841:void print(com.android.tools.r8.cf.code.CfFrame):494:494 -> a
    1856:1857:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):511:512 -> a
    1858:1858:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4447,"2":4448,"3":4449}}
    4447:4447:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):512:512 -> a
    4448:4448:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):512:512 -> a
    4449:4449:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):512:512 -> a
    2371:2372:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):513:514 -> a
    2373:2373:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4451,"2":4452,"3":4453}}
    4451:4451:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):514:514 -> a
    4452:4452:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):514:514 -> a
    4453:4453:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):514:514 -> a
    2888:2889:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):515:516 -> a
    2890:2890:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4455,"2":4456,"3":4457}}
    4455:4455:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):516:516 -> a
    4456:4456:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):516:516 -> a
    4457:4457:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):516:516 -> a
    3408:3410:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):518:520 -> a
    3411:3411:java.lang.String com.android.tools.r8.cf.CfCodePrinter.r8Type(java.lang.String,java.lang.String):230:230 -> a
    3411:3411:java.lang.String com.android.tools.r8.cf.CfCodePrinter.dexItemFactoryType():218 -> a
    3411:3411:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):520 -> a
    3412:3412:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4461,"2":4462,"3":4463}}
    4461:4461:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):520:520 -> a
    4462:4462:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):520:520 -> a
    4463:4463:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):520:520 -> a
    3934:3934:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):522:522 -> a
    3935:3935:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467}}
    4465:4465:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):522:522 -> a
    4466:4466:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):522:522 -> a
    4467:4467:java.lang.String frameTypeType(com.android.tools.r8.cf.code.CfFrame$FrameType):522:522 -> a
    4468:4468:void print(com.android.tools.r8.cf.code.CfInstanceOf):529:529 -> a
    4469:4469:void print(com.android.tools.r8.cf.code.CfCheckCast):534:534 -> a
    4470:4470:void print(com.android.tools.r8.cf.code.CfFieldInstruction):559:559 -> a
    4471:4471:void print(com.android.tools.r8.cf.code.CfNew):564:564 -> a
    4472:4472:void print(com.android.tools.r8.cf.code.CfNewArray):569:569 -> a
    4473:4473:void print(com.android.tools.r8.cf.code.CfMultiANewArray):574:574 -> a
    4474:4474:void print(com.android.tools.r8.cf.code.CfGoto):595:595 -> a
    4475:4475:void print(com.android.tools.r8.cf.code.CfIf):601:601 -> a
    4476:4476:void print(com.android.tools.r8.cf.code.CfIf):600:600 -> a
    4477:4477:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359:359 -> a
    4477:4477:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4478:4478:java.lang.String com.android.tools.r8.cf.CfCodePrinter.ifTypeKind(com.android.tools.r8.ir.code.If$Type):264:264 -> a
    4478:4478:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4478:4478:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4479:4479:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    4479:4479:java.lang.String com.android.tools.r8.cf.CfCodePrinter.ifTypeKind(com.android.tools.r8.ir.code.If$Type):264 -> a
    4479:4479:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4479:4479:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4480:4480:java.lang.String com.android.tools.r8.cf.CfCodePrinter.ifTypeKind(com.android.tools.r8.ir.code.If$Type):264:264 -> a
    4480:4480:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4480:4480:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4481:4481:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359:359 -> a
    4481:4481:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4482:4482:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4482:4482:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4482:4482:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4483:4483:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    4483:4483:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252 -> a
    4483:4483:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4483:4483:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4484:4484:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4484:4484:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4484:4484:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4485:4485:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359:359 -> a
    4485:4485:void print(com.android.tools.r8.cf.code.CfIf):600 -> a
    4486:4486:void print(com.android.tools.r8.cf.code.CfIfCmp):607:607 -> a
    4487:4487:void print(com.android.tools.r8.cf.code.CfIfCmp):606:606 -> a
    4488:4488:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359:359 -> a
    4488:4488:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4489:4489:java.lang.String com.android.tools.r8.cf.CfCodePrinter.ifTypeKind(com.android.tools.r8.ir.code.If$Type):264:264 -> a
    4489:4489:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4489:4489:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4490:4490:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    4490:4490:java.lang.String com.android.tools.r8.cf.CfCodePrinter.ifTypeKind(com.android.tools.r8.ir.code.If$Type):264 -> a
    4490:4490:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4490:4490:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4491:4491:java.lang.String com.android.tools.r8.cf.CfCodePrinter.ifTypeKind(com.android.tools.r8.ir.code.If$Type):264:264 -> a
    4491:4491:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4491:4491:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4492:4492:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359:359 -> a
    4492:4492:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4493:4493:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4493:4493:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4493:4493:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4494:4494:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    4494:4494:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252 -> a
    4494:4494:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4494:4494:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4495:4495:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4495:4495:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359 -> a
    4495:4495:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4496:4496:void com.android.tools.r8.cf.CfCodePrinter.printNewJumpInstruction(java.lang.String,com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):359:359 -> a
    4496:4496:void print(com.android.tools.r8.cf.code.CfIfCmp):606 -> a
    4497:4497:void print(com.android.tools.r8.cf.code.CfSwitch):612:612 -> a
    4498:4498:void print(com.android.tools.r8.cf.code.CfLoad):617:617 -> a
    4499:4499:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4499:4499:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4500:4500:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4500:4500:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355 -> a
    4500:4500:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4501:4501:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    4501:4501:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252 -> a
    4501:4501:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355 -> a
    4501:4501:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4502:4502:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4502:4502:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355 -> a
    4502:4502:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4503:4503:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4503:4503:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4504:4504:void print(com.android.tools.r8.cf.code.CfLoad):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4506,"2":4507,"3":4508,"4":4509,"5":4510}}
    4506:4506:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4506:4506:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4507:4507:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4507:4507:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4508:4508:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4508:4508:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4509:4509:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4509:4509:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4510:4510:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4510:4510:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4505:4505:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4505:4505:void print(com.android.tools.r8.cf.code.CfLoad):617 -> a
    4511:4511:void print(com.android.tools.r8.cf.code.CfStore):622:622 -> a
    4512:4512:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4512:4512:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4513:4513:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4513:4513:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355 -> a
    4513:4513:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4514:4514:java.lang.String com.android.tools.r8.cf.CfCodePrinter.irType(java.lang.String):240:240 -> a
    4514:4514:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252 -> a
    4514:4514:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355 -> a
    4514:4514:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4515:4515:java.lang.String com.android.tools.r8.cf.CfCodePrinter.valueType(com.android.tools.r8.ir.code.ValueType):252:252 -> a
    4515:4515:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355 -> a
    4515:4515:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4516:4516:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4516:4516:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4517:4517:void print(com.android.tools.r8.cf.code.CfStore):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4519,"2":4520,"3":4521,"4":4522,"5":4523}}
    4519:4519:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4519:4519:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4520:4520:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4520:4520:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4521:4521:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4521:4521:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4522:4522:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4522:4522:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4523:4523:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4523:4523:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4518:4518:void com.android.tools.r8.cf.CfCodePrinter.printNewVarInstruction(java.lang.String,com.android.tools.r8.ir.code.ValueType,int):355:355 -> a
    4518:4518:void print(com.android.tools.r8.cf.code.CfStore):622 -> a
    4524:4528:void print(com.android.tools.r8.cf.code.CfIinc):627:627 -> a
    4529:4529:void print(com.android.tools.r8.cf.code.CfConstMethodHandle):635:635 -> a
    4530:4530:void print(com.android.tools.r8.cf.code.CfConstMethodType):640:640 -> a
    1:2:java.lang.String dexType(com.android.tools.r8.graph.DexType):301:302 -> b
    3:3:java.lang.String dexType(com.android.tools.r8.graph.DexType):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":313,"2":314,"3":315,"4":316,"5":317}}
    313:313:java.lang.String dexType(com.android.tools.r8.graph.DexType):304:304 -> b
    314:314:java.lang.String dexType(com.android.tools.r8.graph.DexType):304:304 -> b
    315:315:java.lang.String dexType(com.android.tools.r8.graph.DexType):304:304 -> b
    316:316:java.lang.String dexType(com.android.tools.r8.graph.DexType):304:304 -> b
    317:317:java.lang.String dexType(com.android.tools.r8.graph.DexType):304:304 -> b
    309:310:java.lang.String dexType(com.android.tools.r8.graph.DexType):306:307 -> b
    311:311:java.lang.String com.android.tools.r8.cf.CfCodePrinter.quote(java.lang.String):180:180 -> b
    311:311:java.lang.String dexType(com.android.tools.r8.graph.DexType):307 -> b
    312:312:java.lang.String dexType(com.android.tools.r8.graph.DexType):307:307 -> b
    318:321:void com.android.tools.r8.cf.CfCodePrinter.ensureComma():342:345 -> b
    318:321:void print(com.android.tools.r8.cf.code.CfLabel):584 -> b
    322:322:void print(com.android.tools.r8.cf.code.CfLabel):585:585 -> b
    1:1:java.lang.String labelName(com.android.tools.r8.cf.code.CfLabel):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":250,"2":251,"3":252}}
    250:250:java.lang.String labelName(com.android.tools.r8.cf.code.CfLabel):248:248 -> c
    251:251:java.lang.String labelName(com.android.tools.r8.cf.code.CfLabel):248:248 -> c
    252:252:java.lang.String labelName(com.android.tools.r8.cf.code.CfLabel):248:248 -> c
    249:249:java.lang.String labelName(com.android.tools.r8.cf.code.CfLabel):248:248 -> c
    void print(com.android.tools.r8.cf.code.CfNop) -> c
    253:253:java.lang.String cfType(java.lang.String):244:244 -> c
    1:1:boolean lambda$type$0(java.lang.String):191:191 -> d
    2:2:void print(com.android.tools.r8.cf.code.CfThrow):376:376 -> d
    1:1:void print(com.android.tools.r8.cf.code.CfConstNull):381:381 -> e
    1:1:void print(com.android.tools.r8.cf.code.CfReturnVoid):403:403 -> f
    1:1:void print(com.android.tools.r8.cf.code.CfArrayLength):579:579 -> g
    1:1:java.lang.String frameTypeType():206:206 -> h
    1:2:java.util.List getImports():104:105 -> i
    1:1:java.util.List getMethods():110:110 -> j
    1:1:java.util.Set getSynthesizedTypes():644:644 -> k
com.android.tools.r8.cf.CfPrinter -> com.android.tools.r8.internal.m8:
    java.util.List sortedLabels -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labelToIndex -> c
    com.android.tools.r8.naming.ClassNameMapper mapper -> f
    boolean $assertionsDisabled -> i
    java.util.List localsAtLabel -> d
    int instructionIndexSpace -> h
    int nextInstructionIndex -> g
    java.lang.String indent -> a
    java.lang.StringBuilder builder -> e
    1:1:void <clinit>():99:99 -> <clinit>
    1:1:void <init>():120:120 -> <init>
    2:16:void <init>():113:127 -> <init>
    17:17:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):136:136 -> <init>
    18:43:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):113:138 -> <init>
    44:44:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":245,"2":246,"3":247}}
    245:245:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):139:139 -> <init>
    246:246:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):139:139 -> <init>
    247:247:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):139:139 -> <init>
    183:244:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):139:200 -> <init>
    1:22:java.util.List computeLocalsAtLabels(java.util.List):209:230 -> a
    23:23:boolean lambda$computeLocalsAtLabels$0(int,com.android.tools.r8.graph.CfCode$LocalVariableInfo):214:214 -> a
    24:24:int lambda$computeLocalsAtLabels$1(com.android.tools.r8.graph.CfCode$LocalVariableInfo,com.android.tools.r8.graph.CfCode$LocalVariableInfo):229:229 -> a
    25:26:java.util.List getSortedLocalVariables(com.android.tools.r8.graph.CfCode):236:237 -> a
    27:29:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):264:266 -> a
    30:30:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":298,"2":299,"3":300,"4":301,"5":302,"6":303}}
    298:298:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    299:299:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    300:300:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    301:301:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    302:302:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    303:303:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    297:297:void print(com.android.tools.r8.cf.code.CfRecordFieldValues):267:267 -> a
    304:333:void print(com.android.tools.r8.cf.code.CfStackInstruction):275:304 -> a
    334:334:void print(com.android.tools.r8.cf.code.CfStackInstruction):301:301 -> a
    335:335:void print(com.android.tools.r8.cf.code.CfStackInstruction):298:298 -> a
    336:336:void print(com.android.tools.r8.cf.code.CfStackInstruction):295:295 -> a
    337:337:void print(com.android.tools.r8.cf.code.CfStackInstruction):292:292 -> a
    338:338:void print(com.android.tools.r8.cf.code.CfStackInstruction):289:289 -> a
    339:339:void print(com.android.tools.r8.cf.code.CfStackInstruction):286:286 -> a
    340:340:void print(com.android.tools.r8.cf.code.CfStackInstruction):283:283 -> a
    341:341:void print(com.android.tools.r8.cf.code.CfStackInstruction):280:280 -> a
    342:342:void print(com.android.tools.r8.cf.code.CfStackInstruction):277:277 -> a
    343:359:void print(com.android.tools.r8.cf.code.CfConstNumber):317:333 -> a
    360:360:void print(com.android.tools.r8.cf.code.CfConstNumber):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":709,"2":710,"3":711}}
    709:709:void print(com.android.tools.r8.cf.code.CfConstNumber):333:333 -> a
    710:710:void print(com.android.tools.r8.cf.code.CfConstNumber):333:333 -> a
    711:711:void print(com.android.tools.r8.cf.code.CfConstNumber):333:333 -> a
    693:693:void print(com.android.tools.r8.cf.code.CfConstNumber):333:333 -> a
    694:694:void print(com.android.tools.r8.cf.code.CfConstNumber):330:330 -> a
    695:695:void print(com.android.tools.r8.cf.code.CfConstNumber):327:327 -> a
    696:696:void print(com.android.tools.r8.cf.code.CfConstNumber):324:324 -> a
    697:697:void print(com.android.tools.r8.cf.code.CfConstNumber):321:321 -> a
    712:714:void print(com.android.tools.r8.cf.code.CfConstClass):338:340 -> a
    715:718:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):770:773 -> a
    715:718:void print(com.android.tools.r8.cf.code.CfConstClass):340 -> a
    719:719:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):771:771 -> a
    719:719:void print(com.android.tools.r8.cf.code.CfConstClass):340 -> a
    720:722:void print(com.android.tools.r8.cf.code.CfConstDynamic):344:346 -> a
    723:726:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):770:773 -> a
    723:726:void print(com.android.tools.r8.cf.code.CfConstDynamic):346 -> a
    727:727:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):771:771 -> a
    727:727:void print(com.android.tools.r8.cf.code.CfConstDynamic):346 -> a
    728:730:void print(com.android.tools.r8.cf.code.CfInitClass):350:352 -> a
    731:734:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):770:773 -> a
    731:734:void print(com.android.tools.r8.cf.code.CfInitClass):352 -> a
    735:735:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):771:771 -> a
    735:735:void print(com.android.tools.r8.cf.code.CfInitClass):352 -> a
    736:736:void print(com.android.tools.r8.cf.code.CfReturn):360:360 -> a
    737:749:char com.android.tools.r8.cf.CfPrinter.typePrefix(com.android.tools.r8.ir.code.ValueType):656:668 -> a
    737:749:void print(com.android.tools.r8.cf.code.CfReturn):360 -> a
    750:750:void print(com.android.tools.r8.cf.code.CfReturn):360:360 -> a
    751:751:void print(com.android.tools.r8.cf.code.CfMonitor):364:364 -> a
    752:752:void print(com.android.tools.r8.cf.code.CfArithmeticBinop):368:368 -> a
    753:753:void print(com.android.tools.r8.cf.code.CfCmp):372:372 -> a
    754:754:void print(com.android.tools.r8.cf.code.CfLogicalBinop):376:376 -> a
    755:755:void print(com.android.tools.r8.cf.code.CfNeg):380:380 -> a
    756:756:void print(com.android.tools.r8.cf.code.CfNumberConversion):384:384 -> a
    757:758:void print(com.android.tools.r8.cf.code.CfConstString):388:389 -> a
    759:760:void print(com.android.tools.r8.cf.code.CfDexItemBasedConstString):393:394 -> a
    761:762:void print(com.android.tools.r8.cf.code.CfArrayLoad):398:399 -> a
    763:781:char com.android.tools.r8.cf.CfPrinter.typePrefix(com.android.tools.r8.ir.code.MemberType):673:691 -> a
    763:781:void print(com.android.tools.r8.cf.code.CfArrayLoad):399 -> a
    782:782:void print(com.android.tools.r8.cf.code.CfArrayLoad):399:399 -> a
    783:784:void print(com.android.tools.r8.cf.code.CfArrayStore):403:404 -> a
    785:803:char com.android.tools.r8.cf.CfPrinter.typePrefix(com.android.tools.r8.ir.code.MemberType):673:691 -> a
    785:803:void print(com.android.tools.r8.cf.code.CfArrayStore):404 -> a
    804:804:void print(com.android.tools.r8.cf.code.CfArrayStore):404:404 -> a
    805:807:void print(com.android.tools.r8.cf.code.CfInvoke):408:410 -> a
    808:813:void print(com.android.tools.r8.cf.code.CfInvokeDynamic):414:419 -> a
    814:814:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    814:814:void print(com.android.tools.r8.cf.code.CfInvokeDynamic):419 -> a
    815:827:void print(com.android.tools.r8.cf.code.CfInvokeDynamic):419:431 -> a
    828:834:void print(com.android.tools.r8.cf.code.CfFrame):435:441 -> a
    835:838:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):458:461 -> a
    835:838:void print(com.android.tools.r8.cf.code.CfFrame):441 -> a
    839:842:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):770:773 -> a
    839:842:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):461 -> a
    839:842:void print(com.android.tools.r8.cf.code.CfFrame):441 -> a
    843:843:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):771:771 -> a
    843:843:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):461 -> a
    843:843:void print(com.android.tools.r8.cf.code.CfFrame):441 -> a
    844:844:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):463:463 -> a
    844:844:void print(com.android.tools.r8.cf.code.CfFrame):441 -> a
    845:852:void print(com.android.tools.r8.cf.code.CfFrame):442:449 -> a
    853:856:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):458:461 -> a
    853:856:void print(com.android.tools.r8.cf.code.CfFrame):450 -> a
    857:860:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):770:773 -> a
    857:860:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):461 -> a
    857:860:void print(com.android.tools.r8.cf.code.CfFrame):450 -> a
    861:861:void com.android.tools.r8.cf.CfPrinter.appendType(com.android.tools.r8.graph.DexType):771:771 -> a
    861:861:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):461 -> a
    861:861:void print(com.android.tools.r8.cf.code.CfFrame):450 -> a
    862:862:void com.android.tools.r8.cf.CfPrinter.print(com.android.tools.r8.cf.code.CfFrame$FrameType):463:463 -> a
    862:862:void print(com.android.tools.r8.cf.code.CfFrame):450 -> a
    863:866:void print(com.android.tools.r8.cf.code.CfFrame):451:454 -> a
    867:869:void print(com.android.tools.r8.cf.code.CfInstanceOf):468:470 -> a
    870:872:void print(com.android.tools.r8.cf.code.CfCheckCast):474:476 -> a
    873:888:void print(com.android.tools.r8.cf.code.CfFieldInstruction):496:511 -> a
    889:889:void print(com.android.tools.r8.cf.code.CfFieldInstruction):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1434,"2":1435,"3":1436}}
    1434:1434:void print(com.android.tools.r8.cf.code.CfFieldInstruction):511:511 -> a
    1435:1435:void print(com.android.tools.r8.cf.code.CfFieldInstruction):511:511 -> a
    1436:1436:void print(com.android.tools.r8.cf.code.CfFieldInstruction):511:511 -> a
    1400:1400:void print(com.android.tools.r8.cf.code.CfFieldInstruction):511:511 -> a
    1401:1401:void print(com.android.tools.r8.cf.code.CfFieldInstruction):502:502 -> a
    1402:1411:void print(com.android.tools.r8.cf.code.CfFieldInstruction):499:508 -> a
    1412:1420:void print(com.android.tools.r8.cf.code.CfFieldInstruction):505:513 -> a
    1421:1426:void com.android.tools.r8.cf.CfPrinter.appendField(com.android.tools.r8.graph.DexField):791:796 -> a
    1421:1426:void print(com.android.tools.r8.cf.code.CfFieldInstruction):513 -> a
    1427:1428:void print(com.android.tools.r8.cf.code.CfFieldInstruction):514:515 -> a
    1429:1433:void com.android.tools.r8.cf.CfPrinter.appendDescriptor(com.android.tools.r8.graph.DexType):762:766 -> a
    1429:1433:void print(com.android.tools.r8.cf.code.CfFieldInstruction):515 -> a
    1437:1439:void print(com.android.tools.r8.cf.code.CfNew):519:521 -> a
    1440:1453:void print(com.android.tools.r8.cf.code.CfNewArray):525:538 -> a
    1454:1456:void print(com.android.tools.r8.cf.code.CfNewUnboxedEnum):544:546 -> a
    1457:1460:void print(com.android.tools.r8.cf.code.CfMultiANewArray):550:553 -> a
    1461:1465:void print(com.android.tools.r8.cf.code.CfPosition):576:580 -> a
    1466:1467:void print(com.android.tools.r8.cf.code.CfGoto):585:586 -> a
    1468:1472:void print(com.android.tools.r8.cf.code.CfIf):594:598 -> a
    1473:1473:java.lang.String com.android.tools.r8.cf.CfPrinter.ifPostfix(com.android.tools.r8.ir.code.If$Type):590:590 -> a
    1473:1473:void print(com.android.tools.r8.cf.code.CfIf):598 -> a
    1474:1476:void print(com.android.tools.r8.cf.code.CfIf):598:600 -> a
    1477:1480:void print(com.android.tools.r8.cf.code.CfIfCmp):604:607 -> a
    1481:1481:java.lang.String com.android.tools.r8.cf.CfPrinter.ifPostfix(com.android.tools.r8.ir.code.If$Type):590:590 -> a
    1481:1481:void print(com.android.tools.r8.cf.code.CfIfCmp):607 -> a
    1482:1484:void print(com.android.tools.r8.cf.code.CfIfCmp):607:609 -> a
    1485:1502:void print(com.android.tools.r8.cf.code.CfSwitch):613:630 -> a
    1503:1503:void print(com.android.tools.r8.cf.code.CfLoad):634:634 -> a
    1504:1505:void com.android.tools.r8.cf.CfPrinter.printPrefixed(com.android.tools.r8.ir.code.ValueType,java.lang.String,int):651:652 -> a
    1504:1505:void print(com.android.tools.r8.cf.code.CfLoad):634 -> a
    1506:1518:char com.android.tools.r8.cf.CfPrinter.typePrefix(com.android.tools.r8.ir.code.ValueType):656:668 -> a
    1506:1518:void com.android.tools.r8.cf.CfPrinter.printPrefixed(com.android.tools.r8.ir.code.ValueType,java.lang.String,int):652 -> a
    1506:1518:void print(com.android.tools.r8.cf.code.CfLoad):634 -> a
    1519:1519:void com.android.tools.r8.cf.CfPrinter.printPrefixed(com.android.tools.r8.ir.code.ValueType,java.lang.String,int):652:652 -> a
    1519:1519:void print(com.android.tools.r8.cf.code.CfLoad):634 -> a
    1520:1520:void print(com.android.tools.r8.cf.code.CfStore):638:638 -> a
    1521:1522:void com.android.tools.r8.cf.CfPrinter.printPrefixed(com.android.tools.r8.ir.code.ValueType,java.lang.String,int):651:652 -> a
    1521:1522:void print(com.android.tools.r8.cf.code.CfStore):638 -> a
    1523:1535:char com.android.tools.r8.cf.CfPrinter.typePrefix(com.android.tools.r8.ir.code.ValueType):656:668 -> a
    1523:1535:void com.android.tools.r8.cf.CfPrinter.printPrefixed(com.android.tools.r8.ir.code.ValueType,java.lang.String,int):652 -> a
    1523:1535:void print(com.android.tools.r8.cf.code.CfStore):638 -> a
    1536:1536:void com.android.tools.r8.cf.CfPrinter.printPrefixed(com.android.tools.r8.ir.code.ValueType,java.lang.String,int):652:652 -> a
    1536:1536:void print(com.android.tools.r8.cf.code.CfStore):638 -> a
    1537:1542:void print(com.android.tools.r8.cf.code.CfIinc):642:647 -> a
    1543:1545:void print(com.android.tools.r8.cf.code.CfConstMethodHandle):714:716 -> a
    1546:1548:void print(com.android.tools.r8.cf.code.CfConstMethodType):720:722 -> a
    1549:1550:void print(com.android.tools.r8.cf.code.CfJsrRet):726:727 -> a
    1551:1551:java.lang.String getLabel(com.android.tools.r8.cf.code.CfLabel):731:731 -> a
    1552:1552:java.lang.String getLabel(com.android.tools.r8.cf.code.CfLabel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2284,"2":2285,"3":2286}}
    2284:2284:java.lang.String getLabel(com.android.tools.r8.cf.code.CfLabel):731:731 -> a
    2285:2285:java.lang.String getLabel(com.android.tools.r8.cf.code.CfLabel):731:731 -> a
    2286:2286:java.lang.String getLabel(com.android.tools.r8.cf.code.CfLabel):731:731 -> a
    2283:2283:java.lang.String getLabel(com.android.tools.r8.cf.code.CfLabel):731:731 -> a
    2287:2287:void indent():747:747 -> a
    2288:2289:void com.android.tools.r8.cf.CfPrinter.instructionIndex():741:742 -> a
    2288:2289:void indent():748 -> a
    2290:2290:void indent():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2295,"2":2296,"3":2297}}
    2295:2295:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2295:2295:void indent():748 -> a
    2296:2296:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2296:2296:void indent():748 -> a
    2297:2297:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2297:2297:void indent():748 -> a
    2291:2291:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2291:2291:void indent():748 -> a
    2292:2292:void indent():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2298,"2":2299,"3":2300}}
    2298:2298:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2298:2298:void indent():748 -> a
    2299:2299:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2299:2299:void indent():748 -> a
    2300:2300:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2300:2300:void indent():748 -> a
    2293:2293:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> a
    2293:2293:void indent():748 -> a
    2294:2294:void indent():749:749 -> a
    2301:2301:void appendComment(java.lang.String):758:758 -> a
    2302:2310:void appendClass(com.android.tools.r8.graph.DexType):778:786 -> a
    2311:2311:void appendClass(com.android.tools.r8.graph.DexType):785:785 -> a
    2312:2312:void appendClass(com.android.tools.r8.graph.DexType):784:784 -> a
    2313:2320:void appendMethod(com.android.tools.r8.graph.DexMethod):800:807 -> a
    2321:2321:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    2321:2321:void appendMethod(com.android.tools.r8.graph.DexMethod):807 -> a
    2322:2322:void appendMethod(com.android.tools.r8.graph.DexMethod):807:807 -> a
    2323:2323:java.lang.String opcodeName(int):811:811 -> a
    1:13:int lambda$getSortedLocalVariables$2(com.android.tools.r8.graph.CfCode$LocalVariableInfo,com.android.tools.r8.graph.CfCode$LocalVariableInfo):240:252 -> b
    14:15:void print(java.lang.String):258:259 -> b
    16:16:void print(com.android.tools.r8.cf.code.CfLabel):561:561 -> b
    17:18:void com.android.tools.r8.cf.CfPrinter.instructionIndex():741:742 -> b
    17:18:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    19:19:void print(com.android.tools.r8.cf.code.CfLabel):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":601,"2":602,"3":603}}
    601:601:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    601:601:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    602:602:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    602:602:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    603:603:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    603:603:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    20:20:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    20:20:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    21:21:void print(com.android.tools.r8.cf.code.CfLabel):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":604,"2":605,"3":606}}
    604:604:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    604:604:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    605:605:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    605:605:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    606:606:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    606:606:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    22:22:void com.android.tools.r8.cf.CfPrinter.instructionIndex():742:742 -> b
    22:22:void print(com.android.tools.r8.cf.code.CfLabel):562 -> b
    23:26:void print(com.android.tools.r8.cf.code.CfLabel):563:566 -> b
    27:27:void print(com.android.tools.r8.cf.code.CfLabel):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":607,"2":608,"3":609}}
    607:607:void print(com.android.tools.r8.cf.code.CfLabel):567:567 -> b
    608:608:void print(com.android.tools.r8.cf.code.CfLabel):567:567 -> b
    609:609:void print(com.android.tools.r8.cf.code.CfLabel):567:567 -> b
    598:598:void print(com.android.tools.r8.cf.code.CfLabel):571:571 -> b
    599:599:void print(com.android.tools.r8.cf.code.CfLabel):569:569 -> b
    600:600:void print(com.android.tools.r8.cf.code.CfLabel):567:567 -> b
    610:611:void newline():735:736 -> b
    1:1:void print(com.android.tools.r8.cf.code.CfNop):271:271 -> c
    1:1:void print(com.android.tools.r8.cf.code.CfThrow):309:309 -> d
    1:1:void print(com.android.tools.r8.cf.code.CfConstNull):313:313 -> e
    1:1:void print(com.android.tools.r8.cf.code.CfReturnVoid):356:356 -> f
    1:1:void print(com.android.tools.r8.cf.code.CfArrayLength):557:557 -> g
    1:1:java.lang.String toString():816:816 -> toString
com.android.tools.r8.cf.CfPrinter$1 -> com.android.tools.r8.internal.l8:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> b
    int[] $SwitchMap$com$android$tools$r8$ir$code$MemberType -> c
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> d
    int[] $SwitchMap$com$android$tools$r8$cf$code$CfStackInstruction$Opcode -> a
    1:1:void <clinit>():696:696 -> <clinit>
    2:2:void <clinit>():673:673 -> <clinit>
    3:3:void <clinit>():319:319 -> <clinit>
    4:4:void <clinit>():275:275 -> <clinit>
com.android.tools.r8.cf.CfRegisterAllocator -> com.android.tools.r8.internal.p8:
    boolean $assertionsDisabled -> n
    int maxRegisterNumber -> l
    com.android.tools.r8.graph.AppView appView -> a
    int maxArgumentRegisterNumber -> m
    int nextUnusedRegisterNumber -> k
    com.android.tools.r8.ir.code.IRCode code -> b
    com.android.tools.r8.cf.TypeVerificationHelper typeHelper -> c
    java.util.PriorityQueue unhandled -> i
    java.util.NavigableSet freeRegisters -> j
    java.util.Map liveAtEntrySets -> d
    java.util.List liveIntervals -> f
    java.util.List inactive -> h
    java.util.List active -> g
    java.util.Map lazyTypeInfoAtBlockEntry -> e
    1:1:void <clinit>():58:58 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.cf.TypeVerificationHelper):115:115 -> <init>
    2:28:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.cf.TypeVerificationHelper):92:118 -> <init>
    1:5:int getRegisterForValue(com.android.tools.r8.ir.code.Value):132:136 -> a
    6:6:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):141:141 -> a
    7:12:void com.android.tools.r8.cf.CfRegisterAllocator.computeNeedsRegister():165:170 -> a
    7:12:void allocateRegisters():151 -> a
    13:16:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.cf.CfRegisterAllocator.computeLivenessInformation():176:179 -> a
    13:16:void allocateRegisters():152 -> a
    17:17:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.cf.CfRegisterAllocator.computeLivenessInformation():178:178 -> a
    17:17:void allocateRegisters():152 -> a
    18:37:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():184:203 -> a
    18:37:void allocateRegisters():153 -> a
    38:41:void com.android.tools.r8.cf.CfRegisterAllocator.freeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):288:291 -> a
    38:41:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():204 -> a
    38:41:void allocateRegisters():153 -> a
    42:45:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():205:208 -> a
    42:45:void allocateRegisters():153 -> a
    46:49:void com.android.tools.r8.cf.CfRegisterAllocator.freeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):288:291 -> a
    46:49:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():209 -> a
    46:49:void allocateRegisters():153 -> a
    50:58:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():215:223 -> a
    50:58:void allocateRegisters():153 -> a
    59:62:void com.android.tools.r8.cf.CfRegisterAllocator.takeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):296:299 -> a
    59:62:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():224 -> a
    59:62:void allocateRegisters():153 -> a
    63:71:boolean com.android.tools.r8.cf.CfRegisterAllocator.tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals):315:323 -> a
    63:71:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():231 -> a
    63:71:void allocateRegisters():153 -> a
    72:72:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    72:72:boolean com.android.tools.r8.cf.CfRegisterAllocator.tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals):323 -> a
    72:72:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():231 -> a
    72:72:void allocateRegisters():153 -> a
    73:82:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():232:241 -> a
    73:82:void allocateRegisters():153 -> a
    83:83:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    83:83:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():242 -> a
    83:83:void allocateRegisters():153 -> a
    84:85:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():255:256 -> a
    84:85:void allocateRegisters():153 -> a
    86:86:void com.android.tools.r8.cf.CfRegisterAllocator.performLinearScan():251:251 -> a
    86:86:void allocateRegisters():153 -> a
    87:88:void allocateRegisters():158:159 -> a
    89:110:int getNextFreeRegister(boolean):263:284 -> a
    111:111:void com.android.tools.r8.cf.CfRegisterAllocator.assignRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):349:349 -> a
    111:111:void assignRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):333 -> a
    112:115:void com.android.tools.r8.cf.CfRegisterAllocator.takeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):296:299 -> a
    112:115:void assignRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):334 -> a
    116:116:void assignRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):335:335 -> a
    117:120:void com.android.tools.r8.cf.CfRegisterAllocator.updateRegisterState(int,boolean):342:345 -> a
    117:120:void assignRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):335 -> a
    121:125:void com.android.tools.r8.cf.CfRegisterAllocator.updateHints(com.android.tools.r8.ir.regalloc.LiveIntervals):304:308 -> a
    121:125:void assignRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):336 -> a
    126:126:void assignRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):337:337 -> a
    127:131:void addToLiveAtEntrySet(com.android.tools.r8.ir.code.BasicBlock,java.util.Collection):353:357 -> a
    132:132:com.android.tools.r8.cf.CfRegisterAllocator$TypesAtBlockEntry getTypesAtBlockEntry(com.android.tools.r8.ir.code.BasicBlock):363:363 -> a
    133:149:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):399:415 -> a
    150:150:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    150:150:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):415 -> a
    151:151:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):415:415 -> a
    152:152:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    152:152:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):415 -> a
    153:153:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):419:419 -> a
    154:154:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    154:154:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):419 -> a
    155:157:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):419:421 -> a
    158:158:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):528:528 -> a
    159:159:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    159:159:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):528 -> a
    160:166:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):529:535 -> a
    167:167:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap) -> a
    167:167:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):535 -> a
    168:170:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):537:539 -> a
    171:174:void com.android.tools.r8.cf.CfRegisterAllocator.applyInstructionsToTypes(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.Deque,int):471:474 -> a
    171:174:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):538 -> a
    175:202:boolean com.android.tools.r8.cf.CfRegisterAllocator.tryApplyInstructionWithDependentOutType(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.Deque):432:459 -> a
    175:202:void com.android.tools.r8.cf.CfRegisterAllocator.applyInstructionsToTypes(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.Deque,int):476 -> a
    175:202:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):538 -> a
    203:223:void com.android.tools.r8.cf.CfRegisterAllocator.applyInstructionsToTypes(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.Deque,int):479:499 -> a
    203:223:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):538 -> a
    224:225:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):544:545 -> a
    226:226:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    226:226:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):545 -> a
    227:230:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):547:550 -> a
    231:231:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>(int):95:95 -> a
    231:231:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):550 -> a
    232:232:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):551:551 -> a
    233:246:void com.android.tools.r8.cf.CfRegisterAllocator.applyInstructionsBackwardsToRegisterLiveness(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,int):506:519 -> a
    233:246:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):552 -> a
    247:248:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):558:559 -> a
    249:249:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> a
    249:249:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):559 -> a
    250:250:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):560:560 -> a
    251:251:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    251:251:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    251:251:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):560 -> a
    252:259:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):560:567 -> a
    260:267:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):596:603 -> a
    260:267:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):566 -> a
    268:278:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo com.android.tools.r8.cf.TypeVerificationHelper.join(com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):205:215 -> a
    268:278:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):603 -> a
    268:278:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):566 -> a
    279:279:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):605:605 -> a
    279:279:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):566 -> a
    280:281:void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List):570:571 -> a
    282:291:void updateFirstRegisterMapByJoiningTheSecond(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):578:587 -> a
    292:302:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo com.android.tools.r8.cf.TypeVerificationHelper.join(com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):205:215 -> a
    292:302:void updateFirstRegisterMapByJoiningTheSecond(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):587 -> a
    303:303:void updateFirstRegisterMapByJoiningTheSecond(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):589:589 -> a
    1:1:int registersUsed():123:123 -> b
    2:2:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):128:128 -> b
    3:4:com.android.tools.r8.cf.CfRegisterAllocator$TypesAtBlockEntry lambda$getTypesAtBlockEntry$0(com.android.tools.r8.ir.code.BasicBlock):366:367 -> b
    5:5:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> b
    5:5:com.android.tools.r8.cf.CfRegisterAllocator$TypesAtBlockEntry lambda$getTypesAtBlockEntry$0(com.android.tools.r8.ir.code.BasicBlock):367 -> b
    6:15:com.android.tools.r8.cf.CfRegisterAllocator$TypesAtBlockEntry lambda$getTypesAtBlockEntry$0(com.android.tools.r8.ir.code.BasicBlock):368:377 -> b
    16:27:void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):383:394 -> b
    28:35:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):596:603 -> b
    28:35:void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):394 -> b
    36:46:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo com.android.tools.r8.cf.TypeVerificationHelper.join(com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):205:215 -> b
    36:46:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):603 -> b
    36:46:void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):394 -> b
    47:47:void com.android.tools.r8.cf.CfRegisterAllocator.updateFirstStackByJoiningTheSecond(java.util.List,java.util.List):605:605 -> b
    47:47:void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):394 -> b
    1:1:com.android.tools.r8.utils.InternalOptions options():146:146 -> c
com.android.tools.r8.cf.CfRegisterAllocator$TypesAtBlockEntry -> com.android.tools.r8.internal.o8:
    java.util.List stack -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap registers -> a
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List):71:73 -> <init>
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":90,"2":91,"3":92}}
    90:90:java.lang.String toString():78:78 -> toString
    91:91:java.lang.String toString():78:78 -> toString
    92:92:java.lang.String toString():79:79 -> toString
    81:89:java.lang.String toString():80:88 -> toString
com.android.tools.r8.cf.CfVersion -> com.android.tools.r8.internal.W8:
    com.android.tools.r8.cf.CfVersion V17 -> n
    com.android.tools.r8.cf.CfVersion V12 -> l
    com.android.tools.r8.cf.CfVersion V15 -> m
    boolean $assertionsDisabled -> p
    com.android.tools.r8.cf.CfVersion V1_5 -> f
    com.android.tools.r8.cf.CfVersion V1_6 -> g
    com.android.tools.r8.cf.CfVersion V1_2 -> d
    com.android.tools.r8.cf.CfVersion V1_4 -> e
    int version -> b
    com.android.tools.r8.cf.CfVersion V9 -> j
    com.android.tools.r8.cf.CfVersion V11 -> k
    com.android.tools.r8.cf.CfVersion V1_7 -> h
    com.android.tools.r8.cf.CfVersion V1_8 -> i
    com.android.tools.r8.cf.CfVersion V1_1 -> c
    com.android.tools.r8.cf.CfVersion[] versions -> o
    1:32:void <clinit>():15:46 -> <clinit>
    1:2:void <init>(int):68:69 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.cf.CfVersion fromRaw(int):73:73 -> a
    2:2:int major():77:77 -> a
    3:3:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):93:93 -> a
    4:4:boolean lambda$rangeInclusive$0(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):101:101 -> a
    1:1:int minor():81:81 -> b
    2:2:boolean lambda$rangeInclusive$1(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):102:102 -> b
    1:1:int raw():85:85 -> c
    2:2:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):97:97 -> c
    3:3:boolean com.android.tools.r8.cf.CfVersion.isPreview():89:89 -> c
    3:3:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):98 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):98:98 -> c
    5:5:boolean com.android.tools.r8.cf.CfVersion.isPreview():89:89 -> c
    5:5:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):99 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:10:java.lang.Iterable rangeInclusive(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.cf.CfVersion):99:103 -> c
    1:1:boolean equals(java.lang.Object):118:118 -> equals
    1:1:int hashCode():123:123 -> hashCode
    2:2:int com.android.tools.r8.utils.structural.HashCodeVisitor.run(com.android.tools.r8.utils.structural.StructuralItem):28:28 -> hashCode
    2:2:int hashCode():123 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():113:113 -> n
    1:1:java.lang.String toString():128:128 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":260,"2":261,"3":262}}
    260:260:java.lang.String toString():128:128 -> toString
    261:261:java.lang.String toString():128:128 -> toString
    262:262:java.lang.String toString():128:128 -> toString
    130:130:java.lang.String toString():128:128 -> toString
    131:131:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":263,"2":264,"3":265}}
    263:263:java.lang.String toString():128:128 -> toString
    264:264:java.lang.String toString():128:128 -> toString
    265:265:java.lang.String toString():128:128 -> toString
    259:259:java.lang.String toString():128:128 -> toString
com.android.tools.r8.cf.FixedLocalValue -> com.android.tools.r8.internal.Ak:
    com.android.tools.r8.ir.code.Phi phi -> r
    1:2:void <init>(com.android.tools.r8.ir.code.Phi):21:22 -> <init>
    boolean isConstant() -> L
    boolean needsRegister() -> W
    1:1:int getRegister(com.android.tools.r8.cf.CfRegisterAllocator):26:26 -> a
    2:2:int com.android.tools.r8.cf.CfRegisterAllocator.getRegisterForValue(com.android.tools.r8.ir.code.Value,int):128:128 -> a
    2:2:int getRegister(com.android.tools.r8.cf.CfRegisterAllocator):26 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:com.android.tools.r8.ir.code.Phi getPhi():30:30 -> h0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":47,"2":48,"3":49}}
    47:47:java.lang.String toString():45:45 -> toString
    48:48:java.lang.String toString():45:45 -> toString
    49:49:java.lang.String toString():45:45 -> toString
    46:46:java.lang.String toString():45:45 -> toString
com.android.tools.r8.cf.LoadStoreHelper -> com.android.tools.r8.internal.uC:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map clonableConstants -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.ir.code.IRCode code -> b
    com.android.tools.r8.cf.TypeVerificationHelper typesHelper -> c
    java.util.ListIterator blockIterator -> e
    1:1:void <clinit>():31:31 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.cf.TypeVerificationHelper):40:40 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.cf.TypeVerificationHelper):37:43 -> <init>
    1:11:void insertLoadsAndStores():98:108 -> a
    12:15:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):113:116 -> a
    16:16:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    16:16:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):116 -> a
    17:34:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):116:133 -> a
    35:37:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):244:246 -> a
    35:37:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    38:38:com.android.tools.r8.ir.code.StackValue com.android.tools.r8.cf.LoadStoreHelper.createStackValue(com.android.tools.r8.ir.code.Value,int):142:142 -> a
    38:38:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):246 -> a
    38:38:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    39:39:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):247:247 -> a
    39:39:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    40:42:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> a
    40:42:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):247 -> a
    40:42:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    43:50:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):248:255 -> a
    43:50:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    51:53:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> a
    51:53:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):255 -> a
    51:53:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    54:54:void com.android.tools.r8.cf.LoadStoreHelper.movePhis(java.util.List,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):256:256 -> a
    54:54:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):133 -> a
    55:58:void insertPhiMoves(com.android.tools.r8.cf.CfRegisterAllocator):135:138 -> a
    59:59:com.android.tools.r8.ir.code.StackValue com.android.tools.r8.cf.LoadStoreHelper.createStackValue(com.android.tools.r8.graph.DexType,int):146:146 -> a
    59:59:void popOutType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):213 -> a
    60:66:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):222:228 -> a
    60:66:void popOutType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):213 -> a
    67:69:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> a
    67:69:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):228 -> a
    67:69:void popOutType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):213 -> a
    70:72:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):151:153 -> a
    73:73:com.android.tools.r8.ir.code.StackValue com.android.tools.r8.cf.LoadStoreHelper.createStackValue(com.android.tools.r8.ir.code.Value,int):142:142 -> a
    73:73:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):154 -> a
    74:78:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):155:159 -> a
    79:79:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    79:79:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):15 -> a
    79:79:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    80:80:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):16:16 -> a
    80:80:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    81:81:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodHandle():0:0 -> a
    81:81:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):17 -> a
    81:81:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    82:82:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):18:18 -> a
    82:82:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    83:83:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodType():0:0 -> a
    83:83:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):19 -> a
    83:83:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    84:86:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):20:22 -> a
    84:86:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    87:87:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    87:87:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):23 -> a
    87:87:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    88:88:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):24:24 -> a
    88:88:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    89:89:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    89:89:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):25 -> a
    89:89:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    90:90:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):26:26 -> a
    90:90:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    91:91:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):282:282 -> a
    91:91:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):160 -> a
    92:94:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> a
    92:94:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):282 -> a
    92:94:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):160 -> a
    95:95:com.android.tools.r8.ir.code.ConstInstruction com.android.tools.r8.ir.code.ConstInstruction.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstInstruction):28:28 -> a
    95:95:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):159 -> a
    96:96:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):162:162 -> a
    97:97:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):282:282 -> a
    97:97:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):162 -> a
    98:100:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> a
    98:100:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):282 -> a
    98:100:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):162 -> a
    101:103:void loadInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):164:166 -> a
    104:107:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):261:264 -> a
    108:108:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    108:108:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):265 -> a
    109:109:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):266:266 -> a
    110:110:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    110:110:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):267 -> a
    111:113:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):268:270 -> a
    114:114:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    114:114:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):271 -> a
    115:115:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):272:272 -> a
    116:116:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> a
    116:116:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):272 -> a
    117:120:com.android.tools.r8.ir.code.Instruction load(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):274:277 -> a
    1:7:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):170:176 -> b
    8:8:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):92:92 -> b
    8:8:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    9:16:boolean com.android.tools.r8.cf.LoadStoreHelper.hasLocalInfoOrUsersOutsideThisBlock(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock):47:54 -> b
    9:16:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):93 -> b
    9:16:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    17:17:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94:94 -> b
    17:17:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    18:36:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):62:80 -> b
    18:36:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    18:36:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    37:37:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):76:76 -> b
    37:37:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    37:37:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    38:50:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):71:83 -> b
    38:50:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    38:50:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    51:51:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> b
    51:51:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):83 -> b
    51:51:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    51:51:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    52:52:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodHandle():0:0 -> b
    52:52:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):84 -> b
    52:52:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    52:52:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    53:53:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodType():0:0 -> b
    53:53:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):85 -> b
    53:53:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    53:53:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    54:54:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> b
    54:54:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):86 -> b
    54:54:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    54:54:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    55:55:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> b
    55:55:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):87 -> b
    55:55:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    55:55:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    56:56:boolean com.android.tools.r8.cf.LoadStoreHelper.isConstInstructionAlwaysThreeBytes(com.android.tools.r8.ir.code.ConstInstruction):83:83 -> b
    56:56:boolean com.android.tools.r8.cf.LoadStoreHelper.canRemoveConstInstruction(com.android.tools.r8.ir.code.ConstInstruction,com.android.tools.r8.ir.code.BasicBlock):94 -> b
    56:56:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):176 -> b
    57:57:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):177:177 -> b
    58:58:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> b
    58:58:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):177 -> b
    59:59:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):178:178 -> b
    60:70:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):177:187 -> b
    71:71:com.android.tools.r8.ir.code.StackValue com.android.tools.r8.cf.LoadStoreHelper.createStackValue(com.android.tools.r8.ir.code.Value,int):142:142 -> b
    71:71:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):217 -> b
    71:71:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):187 -> b
    72:78:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):222:228 -> b
    72:78:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):217 -> b
    72:78:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):187 -> b
    79:81:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> b
    79:81:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):228 -> b
    79:81:void com.android.tools.r8.cf.LoadStoreHelper.popOutValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):217 -> b
    79:81:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):187 -> b
    82:82:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):190:190 -> b
    83:83:com.android.tools.r8.ir.code.StackValue com.android.tools.r8.cf.LoadStoreHelper.createStackValue(com.android.tools.r8.ir.code.Value,int):142:142 -> b
    83:83:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):190 -> b
    84:98:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):191:205 -> b
    99:101:void com.android.tools.r8.cf.LoadStoreHelper.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.InstructionListIterator):287:289 -> b
    99:101:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):205 -> b
    102:104:void storeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):206:208 -> b
com.android.tools.r8.cf.LoadStoreHelper$1 -> com.android.tools.r8.internal.sC:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():64:64 -> <clinit>
com.android.tools.r8.cf.LoadStoreHelper$PhiMove -> com.android.tools.r8.internal.tC:
    com.android.tools.r8.ir.code.Phi phi -> a
    com.android.tools.r8.ir.code.Value operand -> b
    1:3:void <init>(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):235:237 -> <init>
com.android.tools.r8.cf.TypeVerificationHelper -> com.android.tools.r8.internal.z00:
    boolean computingVerificationTypes -> i
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.AppView appView -> e
    com.android.tools.r8.ir.code.IRCode code -> f
    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo DOUBLE -> d
    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo LONG -> c
    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo FLOAT -> b
    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo INT -> a
    java.util.Map types -> g
    java.util.Map newInstanceInfos -> h
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):115:115 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):110:123 -> <init>
    1:13:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):127:139 -> a
    14:14:boolean com.android.tools.r8.graph.DexType.isByteType():280:280 -> a
    14:14:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):140 -> a
    15:15:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):143:143 -> a
    16:21:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo createInitializedType(com.android.tools.r8.graph.DexType):139:144 -> a
    22:25:com.android.tools.r8.graph.DexType getDexType(com.android.tools.r8.ir.code.Value):148:151 -> a
    26:31:com.android.tools.r8.graph.DexType join(java.util.Set):180:185 -> a
    32:32:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.cf.TypeVerificationHelper.toTypeElement(com.android.tools.r8.graph.DexType):219:219 -> a
    32:32:com.android.tools.r8.graph.DexType join(java.util.Set):185 -> a
    33:34:com.android.tools.r8.graph.DexType join(java.util.Set):186:187 -> a
    35:35:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.cf.TypeVerificationHelper.toTypeElement(com.android.tools.r8.graph.DexType):219:219 -> a
    35:35:com.android.tools.r8.graph.DexType join(java.util.Set):187 -> a
    36:46:com.android.tools.r8.graph.DexType join(java.util.Set):187:197 -> a
    47:47:com.android.tools.r8.graph.DexType join(java.util.Set):196:196 -> a
    48:48:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    48:48:com.android.tools.r8.graph.DexType join(java.util.Set):196 -> a
    49:49:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    49:49:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    49:49:com.android.tools.r8.graph.DexType join(java.util.Set):196 -> a
    50:50:com.android.tools.r8.graph.DexType join(java.util.Set):196:196 -> a
    51:74:java.util.Map computeVerificationTypes():223:246 -> a
    75:118:java.util.Map computeVerificationTypes():245:288 -> a
    119:121:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.TypeVerificationHelper.computeVerificationType(com.android.tools.r8.ir.code.Value):314:316 -> a
    119:121:java.util.Map computeVerificationTypes():289 -> a
    122:138:java.util.Map computeVerificationTypes():291:307 -> a
    139:144:void addUsers(com.android.tools.r8.ir.code.Value,java.util.Set):320:325 -> a
    1:19:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):155:173 -> b
    20:20:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":208,"2":209,"3":210}}
    208:208:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
    209:209:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
    210:210:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
    193:193:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):173:173 -> b
    194:194:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):171:171 -> b
    195:195:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):169:169 -> b
    196:196:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):167:167 -> b
    197:197:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):165:165 -> b
    198:198:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo(com.android.tools.r8.ir.code.Value):163:163 -> b
com.android.tools.r8.cf.TypeVerificationHelper$1 -> com.android.tools.r8.internal.u00:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():161:161 -> <clinit>
com.android.tools.r8.cf.TypeVerificationHelper$InitializedTypeInfo -> com.android.tools.r8.internal.v00:
    com.android.tools.r8.graph.DexType type -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():41:41 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.TypeVerificationHelper$1):41:41 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexType):44:46 -> <init>
    1:1:com.android.tools.r8.graph.DexType getDexType():51:51 -> a
    1:1:java.lang.String toString():56:56 -> toString
com.android.tools.r8.cf.TypeVerificationHelper$NewInstanceInfo -> com.android.tools.r8.internal.w00:
    com.android.tools.r8.ir.code.NewInstance newInstance -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():60:60 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.NewInstance):63:65 -> <init>
    1:1:com.android.tools.r8.graph.DexType getDexType():70:70 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():75:75 -> toString
    5:5:java.lang.String toString():75:75 -> toString
    6:6:java.lang.String toString():75:75 -> toString
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.TypeVerificationHelper$NewInstanceInfo.getDexType():70:70 -> toString
    2:2:java.lang.String toString():75 -> toString
    3:3:java.lang.String toString():75:75 -> toString
com.android.tools.r8.cf.TypeVerificationHelper$ThisInstanceInfo -> com.android.tools.r8.internal.x00:
    com.android.tools.r8.ir.code.Argument thisArgument -> b
    com.android.tools.r8.graph.DexType type -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():79:79 -> <clinit>
    1:5:void <init>(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.DexType):83:87 -> <init>
    1:1:com.android.tools.r8.graph.DexType getDexType():92:92 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():97:97 -> toString
    5:5:java.lang.String toString():97:97 -> toString
    6:6:java.lang.String toString():97:97 -> toString
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.TypeVerificationHelper$ThisInstanceInfo.getDexType():92:92 -> toString
    2:2:java.lang.String toString():97 -> toString
    3:3:java.lang.String toString():97:97 -> toString
com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo -> com.android.tools.r8.internal.y00:
    com.android.tools.r8.graph.DexType getDexType() -> a
com.android.tools.r8.cf.code.CfArithmeticBinop -> com.android.tools.r8.internal.E6:
    com.android.tools.r8.ir.code.NumericType type -> c
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode opcode -> b
    int $r8$clinit -> e
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:5:void <init>(com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode,com.android.tools.r8.ir.code.NumericType):43:47 -> <init>
    1:13:int getAsmOpcode():117:129 -> F
    14:14:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":158,"2":159,"3":160}}
    158:158:int getAsmOpcode():129:129 -> F
    159:159:int getAsmOpcode():129:129 -> F
    160:160:int getAsmOpcode():129:129 -> F
    143:143:int getAsmOpcode():129:129 -> F
    144:144:int getAsmOpcode():127:127 -> F
    145:145:int getAsmOpcode():125:125 -> F
    146:146:int getAsmOpcode():123:123 -> F
    147:147:int getAsmOpcode():121:121 -> F
    148:148:int getAsmOpcode():119:119 -> F
    1:1:int getAsmOpcodeTypeOffset():134:134 -> G
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getOpcode():62:62 -> H
    1:1:com.android.tools.r8.ir.code.NumericType getType():66:66 -> I
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):58:58 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forBinop():90:90 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):199 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):148:148 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):161:161 -> a
    5:25:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):172:192 -> a
    26:26:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":238,"2":239,"3":240}}
    238:238:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):192:192 -> a
    239:239:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):192:192 -> a
    240:240:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):192:192 -> a
    218:218:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):192:192 -> a
    219:219:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):189:189 -> a
    220:220:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):186:186 -> a
    221:221:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):183:183 -> a
    222:222:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):180:180 -> a
    223:223:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):177:177 -> a
    241:241:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):210:210 -> a
    242:242:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):157:157 -> a
    242:242:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):210 -> a
    243:243:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):211:211 -> a
    1:1:boolean canThrow():166:166 -> q
    1:1:int getCompareToId():52:52 -> s
com.android.tools.r8.cf.code.CfArithmeticBinop$1 -> com.android.tools.r8.internal.D6:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> b
    int[] $SwitchMap$com$android$tools$r8$cf$code$CfArithmeticBinop$Opcode -> a
    1:1:void <clinit>():134:134 -> <clinit>
    2:2:void <clinit>():117:117 -> <clinit>
com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode -> com.android.tools.r8.internal.E6$a:
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode[] $VALUES -> g
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode Add -> b
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode Rem -> f
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode Div -> e
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode Mul -> d
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode Sub -> c
    1:5:void <clinit>():33:37 -> <clinit>
    6:6:void <clinit>():32:32 -> <clinit>
    1:1:void <init>(java.lang.String,int):32:32 -> <init>
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode[] values():32:32 -> a
com.android.tools.r8.cf.code.CfArrayLength -> com.android.tools.r8.internal.F6:
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>():27:27 -> <init>
    1:1:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):39:39 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):55:55 -> a
    4:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):65:68 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):67:67 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayLength():82:82 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):74 -> a
    10:11:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):85:86 -> a
    12:12:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    12:12:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):87 -> a
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfArrayLoad -> com.android.tools.r8.internal.G6:
    com.android.tools.r8.ir.code.MemberType type -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():31:31 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.MemberType):35:37 -> <init>
    1:19:int getLoadType():56:74 -> F
    20:20:int getLoadType():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":95,"2":96,"3":97}}
    95:95:int getLoadType():74:74 -> F
    96:96:int getLoadType():74:74 -> F
    97:97:int getLoadType():74:74 -> F
    94:94:int getLoadType():74:74 -> F
    1:1:com.android.tools.r8.ir.code.MemberType getType():52:52 -> G
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):48:48 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayGet():78:78 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):120 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):88:88 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):93:93 -> a
    5:9:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):103:107 -> a
    10:28:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromMemberType(com.android.tools.r8.ir.code.MemberType):54:72 -> a
    10:28:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    29:29:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromMemberType(com.android.tools.r8.ir.code.MemberType):70:70 -> a
    29:29:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    30:30:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromMemberType(com.android.tools.r8.ir.code.MemberType):65:65 -> a
    30:30:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    31:31:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromMemberType(com.android.tools.r8.ir.code.MemberType):63:63 -> a
    31:31:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    32:32:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromMemberType(com.android.tools.r8.ir.code.MemberType):61:61 -> a
    32:32:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    33:41:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromMemberType(com.android.tools.r8.ir.code.MemberType):59:67 -> a
    33:41:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    42:48:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):108:114 -> a
    49:50:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):131:132 -> a
    boolean canThrow() -> q
    1:1:int getCompareToId():42:42 -> s
com.android.tools.r8.cf.code.CfArrayStore -> com.android.tools.r8.internal.H6:
    com.android.tools.r8.ir.code.MemberType type -> b
    1:2:void <init>(com.android.tools.r8.ir.code.MemberType):34:35 -> <init>
    1:19:int getStoreType():54:72 -> F
    20:20:int getStoreType():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":93,"2":94,"3":95}}
    93:93:int getStoreType():72:72 -> F
    94:94:int getStoreType():72:72 -> F
    95:95:int getStoreType():72:72 -> F
    92:92:int getStoreType():72:72 -> F
    1:1:com.android.tools.r8.ir.code.MemberType getType():39:39 -> G
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayPut():86:86 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):110 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):86:86 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):91:91 -> a
    5:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):101:104 -> a
    9:11:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):121:123 -> a
    boolean canThrow() -> q
    1:1:int getCompareToId():44:44 -> s
com.android.tools.r8.cf.code.CfCheckCast -> com.android.tools.r8.internal.K6:
    com.android.tools.r8.graph.DexType type -> b
    boolean ignoreCompatRules -> c
    1:1:void <init>(com.android.tools.r8.graph.DexType):37:37 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexType,boolean):40:42 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):77:77 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):77 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):91:91 -> a
    6:6:void print(com.android.tools.r8.cf.CfPrinter):96:96 -> a
    7:7:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):102:102 -> a
    8:8:boolean com.android.tools.r8.cf.code.CfCheckCast.ignoreCompatRules():46:46 -> a
    8:8:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):102 -> a
    9:9:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):102:102 -> a
    10:12:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):113:115 -> a
    13:13:void addCheckCast(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState$Slot):119:119 -> a
    14:14:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):125:125 -> a
    15:15:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):136:136 -> a
    16:16:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    16:16:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):136 -> a
    1:1:com.android.tools.r8.graph.DexType getType():61:61 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfCmp -> com.android.tools.r8.internal.R6:
    com.android.tools.r8.ir.code.Cmp$Bias bias -> b
    com.android.tools.r8.ir.code.NumericType type -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():32:32 -> <clinit>
    1:8:void <init>(com.android.tools.r8.ir.code.Cmp$Bias,com.android.tools.r8.ir.code.NumericType):37:44 -> <init>
    1:9:int getAsmOpcode():84:92 -> F
    10:10:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":107,"2":108,"3":109}}
    107:107:int getAsmOpcode():92:92 -> F
    108:108:int getAsmOpcode():92:92 -> F
    109:109:int getAsmOpcode():92:92 -> F
    102:102:int getAsmOpcode():92:92 -> F
    103:103:int getAsmOpcode():88:88 -> F
    1:1:com.android.tools.r8.ir.code.Cmp$Bias getBias():59:59 -> G
    1:1:com.android.tools.r8.ir.code.NumericType getType():63:63 -> H
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):55:55 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forBinop():90:90 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):124 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):98:98 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):111:111 -> a
    5:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):116:118 -> a
    8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):135:135 -> a
    9:9:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):157:157 -> a
    9:9:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):135 -> a
    10:10:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):136:136 -> a
    11:11:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    11:11:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):136 -> a
    1:1:int getCompareToId():49:49 -> s
com.android.tools.r8.cf.code.CfCmp$1 -> com.android.tools.r8.internal.Q6:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():84:84 -> <clinit>
com.android.tools.r8.cf.code.CfConstClass -> com.android.tools.r8.internal.W6:
    com.android.tools.r8.graph.DexType type -> b
    boolean ignoreCompatRules -> c
    1:3:void <init>(com.android.tools.r8.graph.DexType,boolean):40:42 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):57:57 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):57 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):95:95 -> a
    4:4:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):104:104 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":60,"2":61,"3":62}}
    60:60:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):104:104 -> a
    60:60:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    61:61:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    61:61:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):104 -> a
    61:61:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    62:62:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    62:62:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):104 -> a
    62:62:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    6:27:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):105:126 -> a
    6:27:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    28:28:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":63,"2":64,"3":65,"4":66,"5":67}}
    63:63:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):126:126 -> a
    63:63:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    64:64:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):126:126 -> a
    64:64:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    65:65:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):126:126 -> a
    65:65:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    66:66:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):126:126 -> a
    66:66:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    67:67:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):126:126 -> a
    67:67:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    29:29:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):126:126 -> a
    29:29:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    30:34:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):110:114 -> a
    30:34:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    35:49:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):108:122 -> a
    35:49:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    50:56:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):118:124 -> a
    50:56:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    57:57:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):116:116 -> a
    57:57:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    58:58:java.lang.String com.android.tools.r8.cf.code.CfConstClass.getInternalName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):112:112 -> a
    58:58:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    59:59:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> a
    68:68:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):133:133 -> a
    69:69:boolean com.android.tools.r8.cf.code.CfConstClass.ignoreCompatRules():46:46 -> a
    69:69:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):133 -> a
    70:70:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):133:133 -> a
    71:71:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):138:138 -> a
    72:72:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):144:144 -> a
    73:73:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):155:155 -> a
    74:74:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    74:74:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):155 -> a
    1:1:com.android.tools.r8.graph.DexType getType():72:72 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfConstDynamic -> com.android.tools.r8.internal.X6:
    com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicReference reference -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():40:40 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethodHandle,java.lang.Object[]):48:55 -> <init>
    boolean isTypeInstruction() -> E
    1:1:com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicReference getReference():69:69 -> F
    com.android.tools.r8.cf.code.CfConstDynamic asConstDynamic() -> a
    1:1:com.android.tools.r8.graph.DexString com.android.tools.r8.cf.code.CfConstDynamic.getName():73:73 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):145 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):145:145 -> a
    3:3:com.android.tools.r8.graph.DexString com.android.tools.r8.cf.code.CfConstDynamic.getName():73:73 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):145 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexString com.android.tools.r8.cf.code.CfConstDynamic.getName():73:73 -> a
    4:4:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):145 -> a
    5:5:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):145:145 -> a
    6:6:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    6:6:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):145 -> a
    7:7:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.code.CfConstDynamic.getType():169:169 -> a
    7:7:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):149 -> a
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.code.CfConstDynamic.getType():169:169 -> a
    8:8:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):149 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.code.CfConstDynamic.getType():169:169 -> a
    9:9:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):149 -> a
    10:10:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):149:149 -> a
    11:11:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    11:11:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):149 -> a
    12:12:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.cf.code.CfConstDynamic.getBootstrapMethod():77:77 -> a
    12:12:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):153 -> a
    13:13:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.cf.code.CfConstDynamic.getBootstrapMethod():77:77 -> a
    13:13:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):154 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.cf.code.CfConstDynamic.getBootstrapMethod():77:77 -> a
    14:14:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):154 -> a
    15:15:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):154:154 -> a
    16:16:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):188:188 -> a
    17:17:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    17:17:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):188 -> a
    18:18:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):188:188 -> a
    19:19:void print(com.android.tools.r8.cf.CfPrinter):193:193 -> a
    20:22:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):204:206 -> a
    23:25:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):205:207 -> a
    26:26:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):212:212 -> a
    27:27:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    27:27:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):212 -> a
    28:28:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):212:212 -> a
    29:29:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):218:218 -> a
    30:30:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):229:229 -> a
    31:31:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    31:31:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):229 -> a
    1:1:com.android.tools.r8.graph.DexType getType():169:169 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfConstMethodHandle -> com.android.tools.r8.internal.Y6:
    com.android.tools.r8.graph.DexMethodHandle handle -> b
    1:2:void <init>(com.android.tools.r8.graph.DexMethodHandle):34:35 -> <init>
    1:1:com.android.tools.r8.graph.DexMethodHandle getHandle():39:39 -> F
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    2:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):63:66 -> a
    6:6:void print(com.android.tools.r8.cf.CfPrinter):71:71 -> a
    7:7:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):77:77 -> a
    8:9:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):88:89 -> a
    10:18:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1223:1231 -> a
    10:18:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):88 -> a
    19:23:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1230:1234 -> a
    19:23:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):88 -> a
    24:24:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1224:1224 -> a
    24:24:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):88 -> a
    25:25:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):106:106 -> a
    26:26:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    26:26:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):106 -> a
    27:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstMethodHandle():343:343 -> a
    27:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):95 -> a
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfConstMethodType -> com.android.tools.r8.internal.Z6:
    com.android.tools.r8.graph.DexProto type -> b
    1:2:void <init>(com.android.tools.r8.graph.DexProto):34:35 -> <init>
    1:1:com.android.tools.r8.graph.DexProto getType():39:39 -> F
    1:1:com.android.tools.r8.graph.DexProto com.android.tools.r8.cf.code.CfConstMethodType.getType():39:39 -> a
    1:1:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):63 -> a
    2:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):63:64 -> a
    4:4:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    5:5:void print(com.android.tools.r8.cf.CfPrinter):69:69 -> a
    6:6:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):75:75 -> a
    7:9:void com.android.tools.r8.graph.UseRegistry.registerProto(com.android.tools.r8.graph.DexProto):254:256 -> a
    7:9:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):75 -> a
    10:11:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):86:87 -> a
    12:20:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1238:1246 -> a
    12:20:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):86 -> a
    21:25:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1245:1249 -> a
    21:25:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):86 -> a
    26:26:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1239:1239 -> a
    26:26:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):86 -> a
    27:27:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):104:104 -> a
    28:28:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    28:28:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):104 -> a
    29:29:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstMethodType():347:347 -> a
    29:29:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):93 -> a
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfConstNull -> com.android.tools.r8.internal.a7:
    1:1:void <init>():27:27 -> <init>
    1:1:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):39:39 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):55:55 -> a
    4:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):60:60 -> a
    5:5:void com.android.tools.r8.ir.conversion.IRBuilder.addNullConst(int):1211:1211 -> a
    5:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):60 -> a
    6:6:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):77:77 -> a
    7:7:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    7:7:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):77 -> a
    8:8:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstInstruction():106:106 -> a
    8:8:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):66 -> a
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfConstNumber -> com.android.tools.r8.internal.c7:
    com.android.tools.r8.ir.code.ValueType type -> c
    long value -> b
    int $r8$clinit -> e
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():29:29 -> <clinit>
    1:3:void <init>(long,com.android.tools.r8.ir.code.ValueType):38:40 -> <init>
    1:2:double getDoubleValue():78:79 -> F
    1:2:float getFloatValue():73:74 -> G
    1:2:int getIntValue():63:64 -> H
    1:2:long getLongValue():68:69 -> I
    1:1:long getRawValue():59:59 -> J
    1:1:com.android.tools.r8.ir.code.ValueType getType():55:55 -> K
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):35:35 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):51:51 -> a
    3:55:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):92:144 -> a
    56:56:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":278,"2":279,"3":280}}
    278:278:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):144:144 -> a
    279:279:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):144:144 -> a
    280:280:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):144:144 -> a
    200:200:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):144:144 -> a
    201:208:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):132:139 -> a
    209:209:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):134:134 -> a
    210:210:boolean com.android.tools.r8.cf.code.CfConstNumber.isNegativeZeroDouble(double):149:149 -> a
    210:210:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):135 -> a
    211:211:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):136:136 -> a
    212:219:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):119:126 -> a
    220:220:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):121:121 -> a
    221:221:boolean com.android.tools.r8.cf.code.CfConstNumber.isNegativeZeroFloat(float):153:153 -> a
    221:221:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):122 -> a
    222:222:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):123:123 -> a
    223:227:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):109:113 -> a
    228:228:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):111:111 -> a
    229:237:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):95:103 -> a
    281:281:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstInstruction():106:106 -> a
    281:281:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):169 -> a
    282:282:void print(com.android.tools.r8.cf.CfPrinter):158:158 -> a
    283:283:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163:163 -> a
    284:284:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):180:180 -> a
    285:285:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    285:285:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):180 -> a
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfConstNumber$1 -> com.android.tools.r8.internal.b7:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():92:92 -> <clinit>
com.android.tools.r8.cf.code.CfConstString -> com.android.tools.r8.internal.d7:
    com.android.tools.r8.graph.DexString string -> b
    1:2:void <init>(com.android.tools.r8.graph.DexString):30:31 -> <init>
    1:1:com.android.tools.r8.graph.DexString getString():46:46 -> F
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42:42 -> a
    2:2:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42 -> a
    3:3:void setString(com.android.tools.r8.graph.DexString):50:50 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):73:73 -> a
    5:5:void print(com.android.tools.r8.cf.CfPrinter):78:78 -> a
    6:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):89:90 -> a
    8:10:void com.android.tools.r8.ir.conversion.IRBuilder.addConstString(int,com.android.tools.r8.graph.DexString):1257:1259 -> a
    8:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):89 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstInstruction():106:106 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):96 -> a
    12:12:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):107:107 -> a
    13:13:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    13:13:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):107 -> a
    com.android.tools.r8.cf.code.CfConstString asConstString() -> d
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfDexItemBasedConstString -> com.android.tools.r8.internal.e7:
    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> c
    com.android.tools.r8.graph.DexReference item -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():31:31 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):36:38 -> <init>
    1:1:com.android.tools.r8.graph.DexReference getItem():53:53 -> F
    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():57:57 -> G
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):49:49 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):80:80 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):86:86 -> a
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDexItemBasedConstString(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod):94:94 -> a
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):115 -> a
    5:6:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):98:99 -> a
    7:7:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    7:7:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):99 -> a
    8:9:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):99:100 -> a
    10:11:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):106:107 -> a
    12:15:void com.android.tools.r8.ir.conversion.IRBuilder.addDexItemBasedConstString(int,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1264:1267 -> a
    12:15:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):106 -> a
    16:16:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):126:126 -> a
    17:17:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    17:17:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):126 -> a
    com.android.tools.r8.cf.code.CfDexItemBasedConstString asDexItemBasedConstString() -> e
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfFieldInstruction -> com.android.tools.r8.internal.f7:
    boolean $assertionsDisabled -> e
    int $r8$clinit -> f
    com.android.tools.r8.graph.DexField declaringField -> d
    com.android.tools.r8.graph.DexField field -> c
    int opcode -> b
    1:1:void <clinit>():33:33 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexField):44:44 -> <init>
    2:6:void <init>(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):47:51 -> <init>
    1:1:int getOpcode():74:74 -> F
    1:1:boolean isFieldGet():89:89 -> G
    1:1:int lambda$specify$0(com.android.tools.r8.cf.code.CfFieldInstruction):40:40 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):40:40 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):85:85 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):116:116 -> a
    5:5:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):116 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):117:117 -> a
    7:7:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    7:7:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):117 -> a
    8:11:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):118:121 -> a
    12:12:void print(com.android.tools.r8.cf.CfPrinter):126:126 -> a
    13:40:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):136:163 -> a
    41:41:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":235,"2":236,"3":237}}
    235:235:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163:163 -> a
    236:236:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163:163 -> a
    237:237:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163:163 -> a
    204:204:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163:163 -> a
    205:207:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):157:159 -> a
    208:209:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):151:152 -> a
    210:211:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):145:146 -> a
    212:212:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):140:140 -> a
    238:248:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):170:180 -> a
    249:249:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":441,"2":442,"3":443}}
    441:441:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):180:180 -> a
    442:442:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):180:180 -> a
    443:443:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):180:180 -> a
    429:429:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):180:180 -> a
    430:430:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):178:178 -> a
    431:431:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):176:176 -> a
    432:432:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):174:174 -> a
    433:433:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):172:172 -> a
    444:472:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):190:218 -> a
    473:473:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":704,"2":705,"3":706}}
    704:704:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):218:218 -> a
    705:705:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):218:218 -> a
    706:706:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):218:218 -> a
    691:691:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):218:218 -> a
    692:696:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):204:208 -> a
    697:698:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.graph.DexType,java.util.function.BiPredicate):107:108 -> a
    697:698:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):206 -> a
    699:699:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):194:194 -> a
    700:700:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    700:700:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):194 -> a
    701:701:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):215:215 -> a
    702:702:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):199:199 -> a
    703:703:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    703:703:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):199 -> a
    1:1:com.android.tools.r8.graph.DexField lambda$specify$1(com.android.tools.r8.cf.code.CfFieldInstruction):40:40 -> b
    1:1:com.android.tools.r8.graph.DexField lambda$specify$2(com.android.tools.r8.cf.code.CfFieldInstruction):40:40 -> c
    com.android.tools.r8.cf.code.CfFieldInstruction asFieldInstruction() -> f
    1:1:com.android.tools.r8.graph.DexField getField():70:70 -> getField
    boolean canThrow() -> q
    1:1:int getCompareToId():79:79 -> s
    boolean isFieldInstruction() -> v
com.android.tools.r8.cf.code.CfFrame -> com.android.tools.r8.internal.n7:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap locals -> b
    java.util.Deque stack -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():39:39 -> <clinit>
    1:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):359:363 -> <init>
    1:2:int computeStackSize():413:414 -> F
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getLocals():377:377 -> G
    1:1:java.util.Deque getStack():387:387 -> H
    1:1:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    1:1:com.android.tools.r8.cf.code.CfFrame markInstantiated(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):503 -> a
    2:10:com.android.tools.r8.cf.code.CfFrame markInstantiated(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):507:515 -> a
    11:11:com.android.tools.r8.cf.code.CfFrame markInstantiated(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):504:504 -> a
    12:12:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):181:181 -> a
    13:13:int com.android.tools.r8.cf.code.CfFrame.computeStackCount():408:408 -> a
    13:13:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):400 -> a
    14:21:java.lang.Object[] com.android.tools.r8.cf.code.CfFrame.computeStackTypes(int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):420:427 -> a
    14:21:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):401 -> a
    22:31:int com.android.tools.r8.cf.code.CfFrame.computeLocalsCount():433:442 -> a
    22:31:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):402 -> a
    32:39:java.lang.Object[] com.android.tools.r8.cf.code.CfFrame.computeLocalsTypes(int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):453:460 -> a
    32:39:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):403 -> a
    40:40:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):404:404 -> a
    41:41:void print(com.android.tools.r8.cf.CfPrinter):474:474 -> a
    42:42:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):479:479 -> a
    43:43:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):490:490 -> a
    44:44:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):499:499 -> a
    45:45:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):519:519 -> a
    46:46:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    46:46:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):519 -> a
    47:48:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):519:520 -> a
    49:49:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    49:49:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):520 -> a
    50:50:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedThis():0:0 -> a
    50:50:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):523 -> a
    51:51:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):524:524 -> a
    52:52:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> a
    52:52:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):526 -> a
    53:53:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> a
    53:53:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):527 -> a
    54:55:com.android.tools.r8.cf.code.CfFrame$FrameType getInitializedFrameType(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):528:529 -> a
    56:84:com.android.tools.r8.cf.code.CfFrame map(java.util.function.Function):536:564 -> a
    com.android.tools.r8.cf.code.CfFrame asFrame() -> g
    int getCompareToId() -> s
    1:1:java.lang.String toString():469:469 -> toString
    boolean isFrame() -> w
com.android.tools.r8.cf.code.CfFrame$FrameType -> com.android.tools.r8.internal.g7:
    1:1:void <init>(com.android.tools.r8.cf.code.CfFrame$1):41:41 -> <init>
    2:2:void <init>():127:127 -> <init>
    com.android.tools.r8.graph.DexType getInitializedType() -> a
    java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens) -> a
    1:1:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    1:1:com.android.tools.r8.cf.code.CfFrame$FrameType map(java.util.function.Function):110 -> a
    2:5:com.android.tools.r8.cf.code.CfFrame$FrameType map(java.util.function.Function):111:114 -> a
    6:6:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> a
    6:6:com.android.tools.r8.cf.code.CfFrame$FrameType map(java.util.function.Function):117 -> a
    7:10:com.android.tools.r8.cf.code.CfFrame$FrameType map(java.util.function.Function):118:121 -> a
    11:11:com.android.tools.r8.cf.code.CfFrame$FrameType initialized(com.android.tools.r8.graph.DexType):44:44 -> a
    12:12:com.android.tools.r8.cf.code.CfFrame$FrameType uninitializedNew(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.graph.DexType):48:48 -> a
    13:35:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):130:152 -> a
    36:36:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.twoWord():64:64 -> a
    36:36:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):150 -> a
    37:37:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    37:37:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):148 -> a
    38:38:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):146:146 -> a
    39:39:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):144:144 -> a
    40:40:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):142:142 -> a
    41:41:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):140:140 -> a
    42:42:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):138:138 -> a
    43:43:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):136:136 -> a
    44:44:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):134:134 -> a
    45:45:com.android.tools.r8.cf.code.CfFrame$FrameType fromMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.graph.DexItemFactory):132:132 -> a
    com.android.tools.r8.cf.code.CfLabel getUninitializedLabel() -> b
    com.android.tools.r8.graph.DexType getUninitializedNewType() -> c
    boolean isInitialized() -> d
    boolean isTop() -> e
    boolean isUninitializedNew() -> f
    boolean isUninitializedThis() -> g
    boolean isWide() -> h
    1:1:com.android.tools.r8.cf.code.CfFrame$FrameType top():56:56 -> i
    1:1:com.android.tools.r8.cf.code.CfFrame$FrameType uninitializedThis():52:52 -> j
com.android.tools.r8.cf.code.CfFrame$InitializedType -> com.android.tools.r8.internal.h7:
    com.android.tools.r8.graph.DexType type -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():184:184 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.code.CfFrame$1):184:184 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexType):188:190 -> <init>
    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):200:200 -> a
    2:2:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":446,"2":447,"3":448}}
    446:446:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):200:200 -> a
    447:447:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    447:447:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):200 -> a
    448:448:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    448:448:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):200 -> a
    203:218:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):201:216 -> a
    219:219:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":449,"2":450,"3":451,"4":452,"5":453}}
    449:449:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):216:216 -> a
    450:450:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):216:216 -> a
    451:451:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):216:216 -> a
    452:452:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):216:216 -> a
    453:453:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):216:216 -> a
    435:435:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):216:216 -> a
    436:436:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):208:208 -> a
    437:445:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):206:214 -> a
    454:454:com.android.tools.r8.graph.DexType getInitializedType():232:232 -> a
    1:1:boolean isWide():222:222 -> h
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":197,"2":198,"3":199}}
    197:197:java.lang.String toString():195:195 -> toString
    198:198:java.lang.String toString():195:195 -> toString
    199:199:java.lang.String toString():195:195 -> toString
    196:196:java.lang.String toString():195:195 -> toString
com.android.tools.r8.cf.code.CfFrame$OneWord -> com.android.tools.r8.internal.i7:
    com.android.tools.r8.cf.code.CfFrame$OneWord SINGLETON -> a
    1:1:void <clinit>():313:313 -> <clinit>
    1:1:void <init>():311:311 -> <init>
    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):317:317 -> a
    1:1:com.android.tools.r8.cf.code.CfFrame$OneWord access$400():311:311 -> k
    1:1:java.lang.String toString():327:327 -> toString
com.android.tools.r8.cf.code.CfFrame$Top -> com.android.tools.r8.internal.j7:
    com.android.tools.r8.cf.code.CfFrame$Top SINGLETON -> a
    1:1:void <clinit>():238:238 -> <clinit>
    1:1:void <init>():236:236 -> <init>
    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):247:247 -> a
    1:1:com.android.tools.r8.cf.code.CfFrame$Top access$300():236:236 -> k
    1:1:java.lang.String toString():242:242 -> toString
com.android.tools.r8.cf.code.CfFrame$TwoWord -> com.android.tools.r8.internal.k7:
    com.android.tools.r8.cf.code.CfFrame$TwoWord SINGLETON -> a
    1:1:void <clinit>():333:333 -> <clinit>
    1:1:void <init>():331:331 -> <init>
    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):337:337 -> a
    1:1:com.android.tools.r8.cf.code.CfFrame$TwoWord access$500():331:331 -> k
    1:1:java.lang.String toString():352:352 -> toString
com.android.tools.r8.cf.code.CfFrame$UninitializedNew -> com.android.tools.r8.internal.l7:
    com.android.tools.r8.cf.code.CfLabel label -> a
    com.android.tools.r8.graph.DexType type -> b
    1:1:void <init>(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.code.CfFrame$1):256:256 -> <init>
    2:4:void <init>(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.graph.DexType):260:262 -> <init>
    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):272:272 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel getUninitializedLabel():282:282 -> b
    1:1:com.android.tools.r8.graph.DexType getUninitializedNewType():287:287 -> c
    1:1:java.lang.String toString():267:267 -> toString
com.android.tools.r8.cf.code.CfFrame$UninitializedThis -> com.android.tools.r8.internal.m7:
    1:1:void <init>(com.android.tools.r8.cf.code.CfFrame$1):291:291 -> <init>
    2:2:void <init>():293:293 -> <init>
    1:1:java.lang.Object getTypeOpcode(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):297:297 -> a
    1:1:java.lang.String toString():302:302 -> toString
com.android.tools.r8.cf.code.CfFrameVerificationHelper -> com.android.tools.r8.internal.o7:
    java.util.Set tryCatchRangeLabels -> i
    java.util.Map stateMap -> d
    com.android.tools.r8.graph.DexItemFactory factory -> f
    java.util.Deque currentCatchRanges -> h
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.DexType context -> c
    int maxStackHeight -> g
    com.android.tools.r8.cf.code.CfFrame NO_FRAME -> a
    java.util.function.BiPredicate isJavaAssignable -> e
    com.android.tools.r8.cf.code.CfFrame currentFrame -> b
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,java.util.Map,java.util.List,java.util.function.BiPredicate,com.android.tools.r8.graph.DexItemFactory,int):53:53 -> <init>
    2:37:void <init>(com.android.tools.r8.graph.DexType,java.util.Map,java.util.List,java.util.function.BiPredicate,com.android.tools.r8.graph.DexItemFactory,int):30:65 -> <init>
    1:9:com.android.tools.r8.cf.code.CfFrame$FrameType readLocal(int,com.android.tools.r8.graph.DexType):74:82 -> a
    10:10:com.android.tools.r8.cf.code.CfFrame$FrameType readLocal(int,com.android.tools.r8.graph.DexType):79:79 -> a
    11:11:com.android.tools.r8.cf.code.CfFrame$FrameType readLocal(int,com.android.tools.r8.graph.DexType):77:77 -> a
    12:13:void storeLocal(int,com.android.tools.r8.cf.code.CfFrame$FrameType):90:91 -> a
    14:15:com.android.tools.r8.cf.code.CfFrameVerificationHelper popAndDiscardInitialized(com.android.tools.r8.graph.DexType):113:114 -> a
    16:18:com.android.tools.r8.cf.code.CfFrameVerificationHelper popAndDiscardInitialized(com.android.tools.r8.graph.DexType[]):119:121 -> a
    19:21:com.android.tools.r8.cf.code.CfFrameVerificationHelper popAndDiscard(com.android.tools.r8.cf.code.CfFrame$FrameType[]):133:135 -> a
    22:23:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:128 -> a
    22:23:com.android.tools.r8.cf.code.CfFrameVerificationHelper popAndDiscard(com.android.tools.r8.cf.code.CfFrame$FrameType[]):135 -> a
    24:28:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):141:145 -> a
    29:30:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.graph.DexType,java.util.function.BiPredicate):107:108 -> a
    29:30:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):143 -> a
    31:33:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):146:148 -> a
    34:34:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> a
    34:34:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):148 -> a
    35:35:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):147:147 -> a
    36:36:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.setNoFrame():256:256 -> a
    36:36:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):149 -> a
    37:37:void popAndInitialize(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):150:150 -> a
    38:40:com.android.tools.r8.cf.code.CfFrameVerificationHelper push(com.android.tools.r8.cf.code.CfFrame$FrameType):154:156 -> a
    41:41:com.android.tools.r8.cf.code.CfFrameVerificationHelper push(com.android.tools.r8.cf.code.CfFrame$FrameType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":206,"2":207,"3":208}}
    206:206:com.android.tools.r8.cf.code.CfFrameVerificationHelper push(com.android.tools.r8.cf.code.CfFrame$FrameType):157:157 -> a
    207:207:com.android.tools.r8.cf.code.CfFrameVerificationHelper push(com.android.tools.r8.cf.code.CfFrame$FrameType):157:157 -> a
    208:208:com.android.tools.r8.cf.code.CfFrameVerificationHelper push(com.android.tools.r8.cf.code.CfFrame$FrameType):157:157 -> a
    198:205:com.android.tools.r8.cf.code.CfFrameVerificationHelper push(com.android.tools.r8.cf.code.CfFrame$FrameType):157:157 -> a
    209:219:void checkExceptionEdges():215:225 -> a
    220:220:void checkExceptionEdges():224:224 -> a
    221:221:void checkExceptionEdges():219:219 -> a
    222:222:void checkTarget(com.android.tools.r8.cf.code.CfLabel):235:235 -> a
    223:223:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242:242 -> a
    224:226:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):246:248 -> a
    224:226:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242 -> a
    227:227:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):304:304 -> a
    227:227:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):246 -> a
    227:227:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242 -> a
    228:240:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):349:361 -> a
    228:240:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):305 -> a
    228:240:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):246 -> a
    228:240:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242 -> a
    241:241:void checkFrame(com.android.tools.r8.cf.code.CfFrame):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":252,"2":253,"3":254}}
    252:252:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):362:362 -> a
    252:252:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):305 -> a
    252:252:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):246 -> a
    252:252:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242 -> a
    253:253:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):362:362 -> a
    253:253:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):305 -> a
    253:253:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):246 -> a
    253:253:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242 -> a
    254:254:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):362:362 -> a
    254:254:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):305 -> a
    254:254:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):246 -> a
    254:254:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242 -> a
    242:244:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):364:366 -> a
    242:244:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):305 -> a
    242:244:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):246 -> a
    242:244:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242 -> a
    245:245:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):362:362 -> a
    245:245:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):305 -> a
    245:245:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):246 -> a
    245:245:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242 -> a
    246:246:void checkFrame(com.android.tools.r8.cf.code.CfFrame):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":255,"2":256,"3":257}}
    255:255:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):350:350 -> a
    255:255:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):305 -> a
    255:255:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):246 -> a
    255:255:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242 -> a
    256:256:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):350:350 -> a
    256:256:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):305 -> a
    256:256:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):246 -> a
    256:256:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242 -> a
    257:257:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):350:350 -> a
    257:257:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):305 -> a
    257:257:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):246 -> a
    257:257:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242 -> a
    247:249:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):352:354 -> a
    247:249:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):305 -> a
    247:249:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):246 -> a
    247:249:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242 -> a
    250:250:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkStackIsAssignable(java.util.Deque,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):350:350 -> a
    250:250:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):305 -> a
    250:250:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.checkFrame(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,java.util.Deque):246 -> a
    250:250:void checkFrame(com.android.tools.r8.cf.code.CfFrame):242 -> a
    251:251:void checkFrame(com.android.tools.r8.cf.code.CfFrame):240:240 -> a
    258:258:boolean isAssignableAndInitialized(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):274:274 -> a
    259:259:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    259:259:boolean isAssignableAndInitialized(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):274 -> a
    260:260:boolean isAssignableAndInitialized(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):277:277 -> a
    261:265:void checkIsAssignable(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType,java.util.function.BiPredicate):282:286 -> a
    266:266:void checkIsAssignable(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType,java.util.function.BiPredicate):285:285 -> a
    267:268:void checkIsAssignable(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType):290:291 -> a
    269:280:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):313:324 -> a
    281:281:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.top():56:56 -> a
    281:281:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):324 -> a
    282:282:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):326:326 -> a
    283:283:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.top():56:56 -> a
    283:283:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):326 -> a
    284:284:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):327:327 -> a
    285:285:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":952,"2":953,"3":954}}
    952:952:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):328:328 -> a
    953:953:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):328:328 -> a
    954:954:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):328:328 -> a
    615:617:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):330:332 -> a
    618:618:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):328:328 -> a
    619:619:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":955,"2":956,"3":957}}
    955:955:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):316:316 -> a
    956:956:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):316:316 -> a
    957:957:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):316:316 -> a
    937:939:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):318:320 -> a
    940:940:void checkLocalsIsAssignable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):316:316 -> a
    958:958:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):385:385 -> a
    959:959:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isTop():0:0 -> a
    959:959:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):385 -> a
    960:960:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):388:388 -> a
    961:961:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isTop():0:0 -> a
    961:961:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):388 -> a
    962:962:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):391:391 -> a
    963:963:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isOneWord():0:0 -> a
    963:963:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):394 -> a
    964:964:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isTwoWord():0:0 -> a
    964:964:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):394 -> a
    965:966:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedThis():0:0 -> a
    965:966:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):397 -> a
    967:968:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> a
    967:968:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):400 -> a
    969:970:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):402:403 -> a
    971:971:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    971:971:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):409 -> a
    972:972:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    972:972:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):410 -> a
    973:973:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):411:411 -> a
    974:974:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isInitialized():0:0 -> a
    974:974:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):414 -> a
    975:975:boolean canBeAssigned(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiPredicate):416:416 -> a
    1:1:com.android.tools.r8.cf.code.CfFrame$FrameType popInitialized(com.android.tools.r8.graph.DexType):103:103 -> b
    2:3:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.graph.DexType,java.util.function.BiPredicate):107:108 -> b
    2:3:com.android.tools.r8.cf.code.CfFrame$FrameType popInitialized(com.android.tools.r8.graph.DexType):103 -> b
    4:5:void checkFrameIsSet():195:196 -> b
    6:7:void checkFrameAndSet(com.android.tools.r8.cf.code.CfFrame):201:202 -> b
    8:11:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.setFrame(com.android.tools.r8.cf.code.CfFrame):208:211 -> b
    8:11:void checkFrameAndSet(com.android.tools.r8.cf.code.CfFrame):204 -> b
    12:13:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap):167:168 -> b
    12:13:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.setFrame(com.android.tools.r8.cf.code.CfFrame):211 -> b
    12:13:void checkFrameAndSet(com.android.tools.r8.cf.code.CfFrame):204 -> b
    14:14:void com.android.tools.r8.cf.code.CfFrameVerificationHelper.setFrame(com.android.tools.r8.cf.code.CfFrame):211:211 -> b
    14:14:void checkFrameAndSet(com.android.tools.r8.cf.code.CfFrame):204 -> b
    15:15:boolean isUninitializedNewAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):267:267 -> b
    16:16:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedNew():0:0 -> b
    16:16:boolean isUninitializedNewAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):267 -> b
    17:17:boolean isUninitializedNewAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):270:270 -> b
    1:5:com.android.tools.r8.cf.code.CfFrame$FrameType pop():95:99 -> c
    6:6:com.android.tools.r8.cf.code.CfFrame$FrameType pop():97:97 -> c
    7:7:boolean isUninitializedThisAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):260:260 -> c
    8:8:boolean com.android.tools.r8.cf.code.CfFrame$FrameType.isUninitializedThis():0:0 -> c
    8:8:boolean isUninitializedThisAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):260 -> c
    9:9:boolean isUninitializedThisAndTarget(com.android.tools.r8.cf.code.CfFrame$FrameType,com.android.tools.r8.graph.DexType):263:263 -> c
    1:1:void setNoFrame():256:256 -> d
com.android.tools.r8.cf.code.CfGoto -> com.android.tools.r8.internal.p7:
    com.android.tools.r8.cf.code.CfLabel target -> b
    1:2:void <init>(com.android.tools.r8.cf.code.CfLabel):30:31 -> <init>
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42:42 -> a
    2:2:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):75:75 -> a
    5:5:void print(com.android.tools.r8.cf.CfPrinter):80:80 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):85:85 -> a
    7:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):100:101 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):91 -> a
    int getCompareToId() -> s
    1:1:com.android.tools.r8.cf.code.CfLabel getTarget():62:62 -> t
com.android.tools.r8.cf.code.CfIf -> com.android.tools.r8.internal.r7:
    com.android.tools.r8.ir.code.ValueType type -> c
    com.android.tools.r8.ir.code.If$Type kind -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.cf.code.CfLabel target -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):36:39 -> <init>
    boolean isJump() -> C
    1:1:com.android.tools.r8.ir.code.If$Type getKind():61:61 -> F
    1:15:int getOpcode():70:84 -> G
    16:16:int getOpcode():0:0 -> G
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":114,"2":115,"3":116}}
    114:114:int getOpcode():84:84 -> G
    115:115:int getOpcode():84:84 -> G
    116:116:int getOpcode():84:84 -> G
    100:100:int getOpcode():84:84 -> G
    101:101:int getOpcode():82:82 -> G
    102:102:int getOpcode():72:72 -> G
    1:1:com.android.tools.r8.ir.code.ValueType getType():57:57 -> H
    1:4:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:53 -> a
    5:5:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    5:5:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):53 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    6:6:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):53 -> a
    7:7:void print(com.android.tools.r8.cf.CfPrinter):90:90 -> a
    8:8:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):103:103 -> a
    9:12:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):118:121 -> a
    13:13:void com.android.tools.r8.ir.conversion.IRBuilder.addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,int,int,int):1440:1440 -> a
    13:13:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):121 -> a
    14:14:void com.android.tools.r8.ir.conversion.IRBuilder.addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,int,int,int):1438:1438 -> a
    14:14:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):121 -> a
    15:17:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):139:141 -> a
    18:22:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):138:142 -> a
    23:23:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
    23:23:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):127 -> a
    1:1:int getCompareToId():44:44 -> s
    1:1:com.android.tools.r8.cf.code.CfLabel getTarget():66:66 -> t
com.android.tools.r8.cf.code.CfIf$1 -> com.android.tools.r8.internal.q7:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():70:70 -> <clinit>
com.android.tools.r8.cf.code.CfIfCmp -> com.android.tools.r8.internal.t7:
    com.android.tools.r8.ir.code.ValueType type -> c
    com.android.tools.r8.ir.code.If$Type kind -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.cf.code.CfLabel target -> d
    1:1:void <clinit>():31:31 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,com.android.tools.r8.cf.code.CfLabel):37:40 -> <init>
    boolean isJump() -> C
    1:1:com.android.tools.r8.ir.code.If$Type getKind():58:58 -> F
    1:15:int getOpcode():71:85 -> G
    16:16:int getOpcode():0:0 -> G
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":115,"2":116,"3":117}}
    115:115:int getOpcode():85:85 -> G
    116:116:int getOpcode():85:85 -> G
    117:117:int getOpcode():85:85 -> G
    101:101:int getOpcode():85:85 -> G
    102:102:int getOpcode():83:83 -> G
    103:103:int getOpcode():73:73 -> G
    1:1:com.android.tools.r8.ir.code.ValueType getType():62:62 -> H
    1:4:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):51:54 -> a
    5:5:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    5:5:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):54 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    6:6:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):54 -> a
    7:7:void print(com.android.tools.r8.cf.CfPrinter):91:91 -> a
    8:8:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):104:104 -> a
    9:13:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):119:123 -> a
    14:14:void com.android.tools.r8.ir.conversion.IRBuilder.addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,int,int,int,int):1411:1411 -> a
    14:14:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):123 -> a
    15:15:void com.android.tools.r8.ir.conversion.IRBuilder.addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueType,int,int,int,int):1409:1409 -> a
    15:15:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):123 -> a
    16:20:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):141:145 -> a
    21:21:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
    21:21:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):129 -> a
    1:1:int getCompareToId():45:45 -> s
    1:1:com.android.tools.r8.cf.code.CfLabel getTarget():67:67 -> t
    boolean isConditionalJump() -> u
com.android.tools.r8.cf.code.CfIfCmp$1 -> com.android.tools.r8.internal.s7:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():71:71 -> <clinit>
com.android.tools.r8.cf.code.CfIinc -> com.android.tools.r8.internal.u7:
    int var -> b
    int increment -> c
    1:3:void <init>(int,int):37:39 -> <init>
    1:1:int getIncrement():76:76 -> F
    1:1:int getLocalIndex():72:72 -> G
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):34:34 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):63:63 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):68:68 -> a
    5:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):81:82 -> a
    7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):88:88 -> a
    8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):97:97 -> a
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfInitClass -> com.android.tools.r8.internal.v7:
    com.android.tools.r8.graph.DexType clazz -> b
    1:2:void <init>(com.android.tools.r8.graph.DexType):36:37 -> <init>
    1:1:com.android.tools.r8.graph.DexType getClassValue():41:41 -> F
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):56:56 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):56 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):76:76 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):76 -> a
    5:9:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):77:81 -> a
    10:10:void print(com.android.tools.r8.cf.CfPrinter):86:86 -> a
    11:11:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):92:92 -> a
    12:13:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):102:103 -> a
    14:14:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):109:109 -> a
    15:15:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):120:120 -> a
    16:16:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    16:16:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):120 -> a
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfInstanceFieldRead -> com.android.tools.r8.internal.w7:
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):21:21 -> <init>
    1:1:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):27:27 -> a
com.android.tools.r8.cf.code.CfInstanceFieldWrite -> com.android.tools.r8.internal.x7:
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):20:20 -> <init>
    1:1:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):26:26 -> a
com.android.tools.r8.cf.code.CfInstanceOf -> com.android.tools.r8.internal.y7:
    com.android.tools.r8.graph.DexType type -> b
    1:2:void <init>(com.android.tools.r8.graph.DexType):34:35 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):66:66 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):66 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89:89 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):89 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> a
    6:6:void print(com.android.tools.r8.cf.CfPrinter):95:95 -> a
    7:7:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):101:101 -> a
    8:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):111:113 -> a
    11:11:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):112:112 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    13:13:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):130:130 -> a
    14:14:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    14:14:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):130 -> a
    1:1:com.android.tools.r8.graph.DexType getType():50:50 -> getType
    com.android.tools.r8.cf.code.CfInstanceOf asInstanceOf() -> h
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfInstruction -> com.android.tools.r8.internal.z7:
    1:1:void <init>():31:31 -> <init>
    boolean isInvokeStatic() -> A
    boolean isInvokeVirtual() -> B
    boolean isJump() -> C
    boolean isReturn() -> D
    boolean isTypeInstruction() -> E
    com.android.tools.r8.cf.code.CfConstDynamic asConstDynamic() -> a
    void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode) -> a
    void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory) -> a
    com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod) -> a
    int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper) -> a
    void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator) -> a
    void print(com.android.tools.r8.cf.CfPrinter) -> a
    void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor) -> a
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):87:87 -> a
    2:2:void registerUseForDesugaring(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.ClasspathMethod,java.util.ListIterator):92:92 -> a
    com.android.tools.r8.cf.code.CfInstruction asCfInstruction() -> b
    com.android.tools.r8.code.Instruction asDexInstruction() -> c
    com.android.tools.r8.cf.code.CfConstString asConstString() -> d
    com.android.tools.r8.cf.code.CfDexItemBasedConstString asDexItemBasedConstString() -> e
    com.android.tools.r8.cf.code.CfFieldInstruction asFieldInstruction() -> f
    com.android.tools.r8.cf.code.CfFrame asFrame() -> g
    com.android.tools.r8.cf.code.CfInstanceOf asInstanceOf() -> h
    com.android.tools.r8.cf.code.CfInvoke asInvoke() -> i
    com.android.tools.r8.cf.code.CfInvokeDynamic asInvokeDynamic() -> j
    com.android.tools.r8.cf.code.CfLabel asLabel() -> k
    com.android.tools.r8.cf.code.CfLoad asLoad() -> l
    com.android.tools.r8.cf.code.CfPosition asPosition() -> m
    com.android.tools.r8.cf.code.CfRecordFieldValues asRecordFieldValues() -> n
    com.android.tools.r8.cf.code.CfStore asStore() -> o
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    boolean emitsIR() -> r
    int getCompareToId() -> s
    com.android.tools.r8.cf.code.CfLabel getTarget() -> t
    1:3:java.lang.String toString():80:82 -> toString
    boolean isConditionalJump() -> u
    boolean isFieldInstruction() -> v
    boolean isFrame() -> w
    boolean isInvoke() -> x
    boolean isInvokeInterface() -> y
    boolean isInvokeSpecial() -> z
com.android.tools.r8.cf.code.CfInvoke -> com.android.tools.r8.internal.F7:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexMethod method -> b
    int opcode -> c
    boolean itf -> d
    1:1:void <clinit>():42:42 -> <clinit>
    1:7:void <init>(int,com.android.tools.r8.graph.DexMethod,boolean):52:58 -> <init>
    1:1:boolean isInvokeStatic():159:159 -> A
    1:1:boolean isInvokeVirtual():164:164 -> B
    1:1:com.android.tools.r8.graph.DexMethod getMethod():74:74 -> F
    1:1:int getOpcode():78:78 -> G
    1:1:boolean isInterface():82:82 -> H
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):49:49 -> a
    2:3:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):69:70 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105:105 -> a
    5:5:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62:62 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    6:6:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    6:6:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    6:6:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    7:7:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":46,"2":47,"3":48,"4":49,"5":50}}
    46:46:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    46:46:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    46:46:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    47:47:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    47:47:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    47:47:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    48:48:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    48:48:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    48:48:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    49:49:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    49:49:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    49:49:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    50:50:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    50:50:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    50:50:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    8:8:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    8:8:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    8:8:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    9:13:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):73:77 -> a
    9:13:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    9:13:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    14:20:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):75:81 -> a
    14:20:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView):62 -> a
    14:20:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):105 -> a
    21:21:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):106:106 -> a
    22:22:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    22:22:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    23:27:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):107:111 -> a
    28:28:int com.android.tools.r8.ir.code.Invoke$Type.getCfOpcode():150:150 -> a
    28:28:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):111 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:int com.android.tools.r8.ir.code.Invoke$Type.getCfOpcode():166:166 -> a
    44:44:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):111 -> a
    45:45:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):111:111 -> a
    51:51:void print(com.android.tools.r8.cf.CfPrinter):116:116 -> a
    52:66:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):122:136 -> a
    67:67:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":216,"2":217,"3":218}}
    216:216:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):136:136 -> a
    217:217:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):136:136 -> a
    218:218:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):136:136 -> a
    203:203:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):136:136 -> a
    204:210:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):124:130 -> a
    211:211:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):127:127 -> a
    212:212:void com.android.tools.r8.graph.UseRegistry.registerInvokeSpecial(com.android.tools.r8.graph.DexMethod,boolean):72:72 -> a
    212:212:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):127 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    213:213:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):133:133 -> a
    219:221:boolean isInvokeSuper(com.android.tools.r8.graph.DexType):147:149 -> a
    222:267:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):182:227 -> a
    268:268:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":617,"2":618,"3":619}}
    617:617:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):227:227 -> a
    618:618:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):227:227 -> a
    619:619:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):227:227 -> a
    495:495:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):227:227 -> a
    496:534:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):185:223 -> a
    535:538:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214:217 -> a
    539:539:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.ir.conversion.IRBuilder.dexItemFactory():483:483 -> a
    539:539:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):191 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    540:540:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.ir.conversion.IRBuilder.dexItemFactory():483:483 -> a
    540:540:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):191 -> a
    541:592:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):191:242 -> a
    593:600:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):241:248 -> a
    601:601:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    601:601:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    602:602:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":620,"2":621,"3":622,"4":623,"5":624}}
    620:620:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    620:620:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    621:621:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    621:621:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    622:622:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    622:622:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    623:623:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    623:623:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    624:624:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    624:624:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    603:603:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):83:83 -> a
    603:603:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    604:608:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):73:77 -> a
    604:608:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    609:615:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.ir.code.Invoke$Type.fromCfOpcode(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):75:81 -> a
    609:615:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):247 -> a
    616:616:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):246:246 -> a
    625:676:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):254:305 -> a
    677:677:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1090,"2":1091,"3":1092}}
    1090:1090:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):305:305 -> a
    1091:1091:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):305:305 -> a
    1092:1092:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):305:305 -> a
    982:982:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):305:305 -> a
    983:983:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):263:263 -> a
    984:984:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    984:984:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):263 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    985:1001:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):263:279 -> a
    1002:1002:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    1002:1002:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):279 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1003:1004:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):280:281 -> a
    1005:1005:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270:270 -> a
    1006:1006:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):337:337 -> a
    1006:1006:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
    1007:1007:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2856:2856 -> a
    1007:1007:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):337 -> a
    1007:1007:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
    1008:1013:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):338:343 -> a
    1008:1013:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
    1014:1015:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.invokeTypeForInvokeSpecialToNonInitMethodOnHolder(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):348:349 -> a
    1014:1015:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):343 -> a
    1014:1015:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
    1016:1016:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    1016:1016:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.invokeTypeForInvokeSpecialToNonInitMethodOnHolder(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):349 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1016:1016:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):343 -> a
    1016:1016:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
    1017:1032:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.invokeTypeForInvokeSpecialToNonInitMethodOnHolder(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):350:365 -> a
    1017:1032:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.cf.code.CfInvoke.computeInvokeTypeForInvokeSpecial(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):343 -> a
    1017:1032:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):270 -> a
    1033:1033:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):271:271 -> a
    1034:1034:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    1034:1034:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):271 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1035:1062:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):271:298 -> a
    1063:1063:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    1063:1063:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):298 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1064:1065:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):299:300 -> a
    1066:1082:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):146:162 -> a
    1066:1082:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1083:1083:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvokePolymorphic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):200:200 -> a
    1083:1083:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):160 -> a
    1083:1083:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1084:1084:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvokeCustom():168:168 -> a
    1084:1084:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):158 -> a
    1084:1084:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1085:1085:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):156:156 -> a
    1085:1085:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1086:1086:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):154:154 -> a
    1086:1086:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1087:1087:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):152:152 -> a
    1087:1087:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1088:1088:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):150:150 -> a
    1088:1088:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1089:1089:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.ProgramMethod):148:148 -> a
    1089:1089:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):308 -> a
    1093:1102:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):322:331 -> a
    1103:1103:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    1103:1103:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):331 -> a
    com.android.tools.r8.cf.code.CfInvoke asInvoke() -> i
    boolean canThrow() -> q
    1:1:int getCompareToId():63:63 -> s
    boolean isInvoke() -> x
    1:1:boolean isInvokeInterface():169:169 -> y
    1:1:boolean isInvokeSpecial():154:154 -> z
com.android.tools.r8.cf.code.CfInvokeDynamic -> com.android.tools.r8.internal.G7:
    com.android.tools.r8.graph.DexCallSite callSite -> b
    1:2:void <init>(com.android.tools.r8.graph.DexCallSite):44:45 -> <init>
    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():126:126 -> F
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):66:66 -> a
    2:7:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):79:84 -> a
    8:27:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):96:115 -> a
    8:27:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    28:28:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):115:115 -> a
    52:52:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    53:53:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):115:115 -> a
    53:53:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    54:54:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):115:115 -> a
    54:54:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    29:29:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):116:116 -> a
    29:29:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    30:30:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):113:113 -> a
    30:30:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    31:32:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):110:111 -> a
    31:32:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    33:35:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):106:108 -> a
    33:35:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    36:42:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):98:104 -> a
    36:42:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    43:43:java.lang.Object com.android.tools.r8.cf.code.CfInvokeDynamic.decodeBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.naming.NamingLens):102:102 -> a
    43:43:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    44:50:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84:90 -> a
    51:51:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):88:88 -> a
    55:55:void print(com.android.tools.r8.cf.CfPrinter):122:122 -> a
    56:56:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):132:132 -> a
    57:59:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):142:144 -> a
    60:62:int[] com.android.tools.r8.ir.conversion.CfState.popReverse(int):193:195 -> a
    60:62:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):144 -> a
    63:72:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):144:153 -> a
    73:73:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvokeCustom():168:168 -> a
    73:73:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):160 -> a
    74:75:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):171:172 -> a
    76:76:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    76:76:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):173 -> a
    com.android.tools.r8.cf.code.CfInvokeDynamic asInvokeDynamic() -> j
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfJsrRet -> com.android.tools.r8.internal.H7:
    int local -> b
    1:2:void <init>(int):36:37 -> <init>
    1:1:int getLocal():92:92 -> F
    1:1:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):71 -> a
    2:2:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2:2:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):71 -> a
    3:3:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    3:3:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    3:3:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    3:3:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):71 -> a
    4:4:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    4:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):71 -> a
    5:5:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):77 -> a
    6:6:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    6:6:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):77 -> a
    7:7:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    7:7:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    7:7:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):77 -> a
    8:8:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    8:8:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):77 -> a
    9:9:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    9:9:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):48 -> a
    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    10:10:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    10:10:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):48 -> a
    11:11:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    11:11:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    11:11:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    11:11:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):48 -> a
    12:12:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    12:12:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):48 -> a
    13:13:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    13:13:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):61 -> a
    14:14:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    14:14:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    14:14:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):61 -> a
    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    15:15:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> a
    15:15:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):61 -> a
    16:16:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> a
    16:16:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):61 -> a
    17:17:void print(com.android.tools.r8.cf.CfPrinter):66:66 -> a
    18:18:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):88:88 -> a
    1:1:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> s
    1:1:int getCompareToId():42 -> s
    2:2:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> s
    2:2:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> s
    2:2:int getCompareToId():42 -> s
    3:3:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> s
    3:3:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> s
    3:3:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30 -> s
    3:3:int getCompareToId():42 -> s
    4:4:com.android.tools.r8.errors.CompilationError com.android.tools.r8.cf.code.CfJsrRet.error():30:30 -> s
    4:4:int getCompareToId():42 -> s
com.android.tools.r8.cf.code.CfLabel -> com.android.tools.r8.internal.I7:
    com.android.tools.r8.org.objectweb.asm.Label label -> b
    1:3:void <init>():26:28 -> <init>
    1:4:com.android.tools.r8.org.objectweb.asm.Label getLabel():31:34 -> F
    void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode) -> a
    void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory) -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):45:45 -> a
    2:2:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):45 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.graph.CfCompareHelper.compareLabels(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):80:80 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):45 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):60:60 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):73:73 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):89:89 -> a
    com.android.tools.r8.cf.code.CfLabel asLabel() -> k
    boolean emitsIR() -> r
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfLoad -> com.android.tools.r8.internal.N7:
    com.android.tools.r8.ir.code.ValueType type -> c
    int var -> b
    1:3:void <init>(com.android.tools.r8.ir.code.ValueType,int):34:36 -> <init>
    1:1:int getLocalIndex():100:100 -> F
    1:1:com.android.tools.r8.ir.code.ValueType getType():96:96 -> G
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):47:47 -> a
    2:14:int com.android.tools.r8.cf.code.CfLoad.getLoadType():51:63 -> a
    2:14:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87 -> a
    15:15:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":18,"2":19,"3":20}}
    18:18:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> a
    18:18:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87 -> a
    19:19:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> a
    19:19:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87 -> a
    20:20:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> a
    20:20:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87 -> a
    16:16:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> a
    16:16:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87 -> a
    17:17:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):87:87 -> a
    21:21:void print(com.android.tools.r8.cf.CfPrinter):92:92 -> a
    22:22:int com.android.tools.r8.cf.code.CfLoad.getLocalIndex():100:100 -> a
    22:22:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):131 -> a
    23:25:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):132:134 -> a
    26:26:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):130:130 -> a
    27:27:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):129:129 -> a
    28:30:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):105:107 -> a
    31:31:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    31:31:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):107 -> a
    32:32:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forLoad():271:271 -> a
    32:32:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):118 -> a
    com.android.tools.r8.cf.code.CfLoad asLoad() -> l
    boolean emitsIR() -> r
    1:13:int com.android.tools.r8.cf.code.CfLoad.getLoadType():51:63 -> s
    1:13:int getCompareToId():41 -> s
    14:14:int getCompareToId():0:0 -> s
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16,"2":17,"3":18}}
    16:16:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> s
    16:16:int getCompareToId():41 -> s
    17:17:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> s
    17:17:int getCompareToId():41 -> s
    18:18:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> s
    18:18:int getCompareToId():41 -> s
    15:15:int com.android.tools.r8.cf.code.CfLoad.getLoadType():63:63 -> s
    15:15:int getCompareToId():41 -> s
com.android.tools.r8.cf.code.CfLoad$1 -> com.android.tools.r8.internal.M7:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():51:51 -> <clinit>
com.android.tools.r8.cf.code.CfLogicalBinop -> com.android.tools.r8.internal.P7:
    com.android.tools.r8.ir.code.NumericType type -> c
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode opcode -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:6:void <init>(com.android.tools.r8.cf.code.CfLogicalBinop$Opcode,com.android.tools.r8.ir.code.NumericType):44:49 -> <init>
    1:15:int getAsmOpcode():103:117 -> F
    16:16:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":151,"2":152,"3":153}}
    151:151:int getAsmOpcode():117:117 -> F
    152:152:int getAsmOpcode():117:117 -> F
    153:153:int getAsmOpcode():117:117 -> F
    133:133:int getAsmOpcode():117:117 -> F
    134:134:int getAsmOpcode():115:115 -> F
    135:135:int getAsmOpcode():113:113 -> F
    136:136:int getAsmOpcode():111:111 -> F
    137:137:int getAsmOpcode():109:109 -> F
    138:138:int getAsmOpcode():107:107 -> F
    139:139:int getAsmOpcode():105:105 -> F
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getOpcode():68:68 -> G
    1:1:com.android.tools.r8.ir.code.NumericType getType():64:64 -> H
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):60:60 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forBinop():90:90 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):171 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):123:123 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):136:136 -> a
    5:28:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):141:164 -> a
    29:29:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":217,"2":218,"3":219}}
    217:217:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):164:164 -> a
    218:218:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):164:164 -> a
    219:219:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):164:164 -> a
    193:193:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):164:164 -> a
    194:194:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):161:161 -> a
    195:195:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):158:158 -> a
    196:196:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):155:155 -> a
    197:197:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):152:152 -> a
    198:198:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):149:149 -> a
    199:199:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):146:146 -> a
    220:220:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):182:182 -> a
    221:221:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):157:157 -> a
    221:221:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):182 -> a
    222:231:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):184:193 -> a
    1:1:int getCompareToId():54:54 -> s
com.android.tools.r8.cf.code.CfLogicalBinop$Opcode -> com.android.tools.r8.internal.O7:
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode[] $VALUES -> h
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode Ushr -> d
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode And -> e
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode Shl -> b
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode Shr -> c
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode Or -> f
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode Xor -> g
    1:6:void <clinit>():33:38 -> <clinit>
    7:7:void <clinit>():32:32 -> <clinit>
    1:1:void <init>(java.lang.String,int):32:32 -> <init>
com.android.tools.r8.cf.code.CfMonitor -> com.android.tools.r8.internal.Q7:
    com.android.tools.r8.ir.code.Monitor$Type type -> b
    1:2:void <init>(com.android.tools.r8.ir.code.Monitor$Type):33:34 -> <init>
    1:1:com.android.tools.r8.ir.code.Monitor$Type getType():38:38 -> F
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):49:49 -> a
    2:2:int com.android.tools.r8.cf.code.CfMonitor.getAsmOpcode():66:66 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):62 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):62:62 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):71:71 -> a
    5:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):81:82 -> a
    7:7:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1294 -> a
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):82 -> a
    8:8:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1294 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):82 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:10:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1295:1296 -> a
    9:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):82 -> a
    11:11:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):99:99 -> a
    12:12:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:127 -> a
    12:12:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):99 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):128:128 -> a
    13:13:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):99 -> a
    14:14:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMonitor():275:275 -> a
    14:14:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):88 -> a
    boolean canThrow() -> q
    1:1:int com.android.tools.r8.cf.code.CfMonitor.getAsmOpcode():66:66 -> s
    1:1:int getCompareToId():43 -> s
com.android.tools.r8.cf.code.CfMultiANewArray -> com.android.tools.r8.internal.R7:
    com.android.tools.r8.graph.DexType type -> b
    int dimensions -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():32:32 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexType,int):41:43 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int getDimensions():67:67 -> F
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):38:38 -> a
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.code.CfMultiANewArray.getType():58:58 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):91 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):91:91 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):91 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):92:92 -> a
    6:6:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):78:78 -> a
    7:7:void print(com.android.tools.r8.cf.CfPrinter):97:97 -> a
    8:8:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):103:103 -> a
    9:11:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):113:115 -> a
    12:14:int[] com.android.tools.r8.ir.conversion.CfState.popReverse(int):193:195 -> a
    12:14:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):115 -> a
    15:15:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):116:116 -> a
    16:16:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):122:122 -> a
    17:20:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):133:136 -> a
    21:21:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    21:21:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):136 -> a
    1:1:com.android.tools.r8.graph.DexType getType():58:58 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfNeg -> com.android.tools.r8.internal.T7:
    com.android.tools.r8.ir.code.NumericType type -> b
    1:2:void <init>(com.android.tools.r8.ir.code.NumericType):34:35 -> <init>
    1:14:int getAsmOpcode():72:85 -> F
    15:15:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":101,"2":102,"3":103}}
    101:101:int getAsmOpcode():85:85 -> F
    102:102:int getAsmOpcode():85:85 -> F
    103:103:int getAsmOpcode():85:85 -> F
    100:100:int getAsmOpcode():85:85 -> F
    1:1:com.android.tools.r8.ir.code.NumericType getType():39:39 -> G
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):63:63 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):68:68 -> a
    4:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):106:107 -> a
    6:6:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):124:124 -> a
    7:7:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):157:157 -> a
    7:7:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):124 -> a
    8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):125:125 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forUnop():339:339 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):113 -> a
    1:1:int getCompareToId():44:44 -> s
com.android.tools.r8.cf.code.CfNeg$1 -> com.android.tools.r8.internal.S7:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():72:72 -> <clinit>
com.android.tools.r8.cf.code.CfNew -> com.android.tools.r8.internal.U7:
    com.android.tools.r8.graph.DexType type -> b
    1:2:void <init>(com.android.tools.r8.graph.DexType):35:36 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):67:67 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):67 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):80:80 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    4:4:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):80 -> a
    5:5:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):81:81 -> a
    6:6:void print(com.android.tools.r8.cf.CfPrinter):86:86 -> a
    7:7:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):92:92 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):102:102 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):108:108 -> a
    10:10:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):119:119 -> a
    1:1:com.android.tools.r8.graph.DexType getType():51:51 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfNewArray -> com.android.tools.r8.internal.V7:
    com.android.tools.r8.graph.DexType type -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():33:33 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexType):37:39 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):70:70 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):70 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):122:122 -> a
    4:22:int com.android.tools.r8.cf.code.CfNewArray.getPrimitiveTypeCode():74:92 -> a
    4:22:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):123 -> a
    23:23:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":41,"2":42,"3":43}}
    41:41:int com.android.tools.r8.cf.code.CfNewArray.getPrimitiveTypeCode():92:92 -> a
    41:41:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):123 -> a
    42:42:int com.android.tools.r8.cf.code.CfNewArray.getPrimitiveTypeCode():92:92 -> a
    42:42:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):123 -> a
    43:43:int com.android.tools.r8.cf.code.CfNewArray.getPrimitiveTypeCode():92:92 -> a
    43:43:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):123 -> a
    24:24:int com.android.tools.r8.cf.code.CfNewArray.getPrimitiveTypeCode():92:92 -> a
    24:24:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):123 -> a
    25:25:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):123:123 -> a
    26:34:java.lang.String com.android.tools.r8.cf.code.CfNewArray.getElementInternalName(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):98:106 -> a
    26:34:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):126 -> a
    35:35:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    35:35:java.lang.String com.android.tools.r8.cf.code.CfNewArray.getElementInternalName(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):106 -> a
    35:35:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):126 -> a
    36:36:java.lang.String com.android.tools.r8.cf.code.CfNewArray.getElementInternalName(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):108:108 -> a
    36:36:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):126 -> a
    37:39:java.lang.String com.android.tools.r8.cf.code.CfNewArray.getElementInternalName(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):107:109 -> a
    37:39:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):126 -> a
    40:40:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):125:125 -> a
    44:44:void print(com.android.tools.r8.cf.CfPrinter):132:132 -> a
    45:46:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):138:139 -> a
    47:49:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):150:152 -> a
    50:50:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):158:158 -> a
    51:52:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):169:170 -> a
    53:53:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    53:53:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):170 -> a
    1:1:com.android.tools.r8.graph.DexType getType():54:54 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    1:1:int getCompareToId():64:64 -> s
com.android.tools.r8.cf.code.CfNewUnboxedEnum -> com.android.tools.r8.internal.W7:
    com.android.tools.r8.graph.DexType type -> b
    int ordinal -> c
    1:3:void <init>(com.android.tools.r8.graph.DexType,int):38:40 -> <init>
    boolean isTypeInstruction() -> E
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):71:71 -> a
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):71 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84:84 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):89:89 -> a
    5:5:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):95:95 -> a
    6:6:void com.android.tools.r8.graph.UseRegistry.registerNewUnboxedEnumInstance(com.android.tools.r8.graph.DexType):117:117 -> a
    6:6:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):95 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):105:105 -> a
    8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):122:122 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forNewUnboxedEnumInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):303:303 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):111 -> a
    1:1:com.android.tools.r8.graph.DexType getType():55:55 -> getType
    com.android.tools.r8.cf.code.CfTypeInstruction asTypeInstruction() -> p
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfNop -> com.android.tools.r8.internal.X7:
    1:1:void <init>():26:26 -> <init>
    void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory) -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):36:36 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):49:49 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):54:54 -> a
    4:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):59:59 -> a
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):70:70 -> a
    boolean emitsIR() -> r
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfNumberConversion -> com.android.tools.r8.internal.Z7:
    com.android.tools.r8.ir.code.NumericType to -> c
    com.android.tools.r8.ir.code.NumericType from -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:7:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType):35:41 -> <init>
    1:53:int getAsmOpcode():82:134 -> F
    54:54:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":741,"2":742,"3":743}}
    741:741:int getAsmOpcode():134:134 -> F
    742:742:int getAsmOpcode():134:134 -> F
    743:743:int getAsmOpcode():134:134 -> F
    188:188:int getAsmOpcode():134:134 -> F
    189:203:int getAsmOpcode():84:98 -> F
    204:204:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":744,"2":745,"3":746}}
    744:744:int getAsmOpcode():98:98 -> F
    745:745:int getAsmOpcode():98:98 -> F
    746:746:int getAsmOpcode():98:98 -> F
    302:335:int getAsmOpcode():98:131 -> F
    336:336:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":779,"2":780,"3":781}}
    779:779:int getAsmOpcode():131:131 -> F
    780:780:int getAsmOpcode():131:131 -> F
    781:781:int getAsmOpcode():131:131 -> F
    467:467:int getAsmOpcode():131:131 -> F
    468:476:int getAsmOpcode():112:120 -> F
    477:477:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":782,"2":783,"3":784}}
    782:782:int getAsmOpcode():120:120 -> F
    783:783:int getAsmOpcode():120:120 -> F
    784:784:int getAsmOpcode():120:120 -> F
    597:597:int getAsmOpcode():120:120 -> F
    598:606:int getAsmOpcode():101:109 -> F
    607:607:int getAsmOpcode():0:0 -> F
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":785,"2":786,"3":787}}
    785:785:int getAsmOpcode():109:109 -> F
    786:786:int getAsmOpcode():109:109 -> F
    787:787:int getAsmOpcode():109:109 -> F
    716:716:int getAsmOpcode():109:109 -> F
    1:1:com.android.tools.r8.ir.code.NumericType getFromType():56:56 -> G
    1:1:com.android.tools.r8.ir.code.NumericType getToType():60:60 -> H
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):52:52 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):73:73 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):78:78 -> a
    4:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):177:178 -> a
    6:6:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):195:195 -> a
    7:7:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):157:157 -> a
    7:7:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):196 -> a
    8:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):196:196 -> a
    9:9:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.fromNumericType(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.graph.DexItemFactory):157:157 -> a
    9:9:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):197 -> a
    10:10:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):197:197 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forUnop():339:339 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):184 -> a
    1:1:int getCompareToId():46:46 -> s
com.android.tools.r8.cf.code.CfNumberConversion$1 -> com.android.tools.r8.internal.Y7:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():84:84 -> <clinit>
com.android.tools.r8.cf.code.CfPosition -> com.android.tools.r8.internal.d8:
    com.android.tools.r8.cf.code.CfLabel label -> b
    com.android.tools.r8.ir.code.Position position -> c
    1:3:void <init>(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.ir.code.Position):31:33 -> <init>
    1:1:com.android.tools.r8.cf.code.CfLabel getLabel():75:75 -> F
    1:1:com.android.tools.r8.ir.code.Position getPosition():71:71 -> G
    void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory) -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):44:44 -> a
    2:2:int lambda$internalAcceptCompareTo$0(com.android.tools.r8.cf.code.CfPosition):48:48 -> a
    3:4:void lambda$internalAcceptCompareTo$2(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):48:49 -> a
    5:5:com.android.tools.r8.utils.structural.StructuralSpecification com.android.tools.r8.utils.structural.StructuralSpecification.withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):43:43 -> a
    5:5:void lambda$internalAcceptCompareTo$2(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):62:62 -> a
    7:7:void print(com.android.tools.r8.cf.CfPrinter):67:67 -> a
    8:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):95:97 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):103:103 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel lambda$internalAcceptCompareTo$1(com.android.tools.r8.cf.code.CfPosition):49:49 -> b
    com.android.tools.r8.cf.code.CfPosition asPosition() -> m
    boolean emitsIR() -> r
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfRecordFieldValues -> com.android.tools.r8.internal.n8:
    com.android.tools.r8.graph.DexField[] fields -> b
    1:2:void <init>(com.android.tools.r8.graph.DexField[]):35:36 -> <init>
    1:1:com.android.tools.r8.graph.DexField[] getFields():67:67 -> F
    1:1:com.android.tools.r8.graph.DexField[] lambda$specify$0(com.android.tools.r8.cf.code.CfRecordFieldValues):40:40 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):40:40 -> a
    3:3:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):53:53 -> a
    4:4:void print(com.android.tools.r8.cf.CfPrinter):72:72 -> a
    5:5:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):83:83 -> a
    6:14:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):88:96 -> a
    15:15:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.ir.conversion.IRBuilder.dexItemFactory():483:483 -> a
    15:15:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):97 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.ir.conversion.IRBuilder.dexItemFactory():483:483 -> a
    16:16:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):97 -> a
    17:17:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):97:97 -> a
    18:18:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1488:1488 -> a
    18:18:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    19:19:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    19:19:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    19:19:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489 -> a
    19:19:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    20:20:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489:1489 -> a
    20:20:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    21:21:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    21:21:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    21:21:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489 -> a
    21:21:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    22:29:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489:1496 -> a
    22:29:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    30:30:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1495:1495 -> a
    30:30:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    31:36:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1493:1498 -> a
    31:36:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):94 -> a
    37:40:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):112:115 -> a
    41:41:com.android.tools.r8.cf.code.CfFrameVerificationHelper com.android.tools.r8.cf.code.CfFrameVerificationHelper.push(com.android.tools.r8.graph.DexType):169:169 -> a
    41:41:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):115 -> a
    42:42:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forRecordFieldValues():291:291 -> a
    42:42:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):103 -> a
    com.android.tools.r8.cf.code.CfRecordFieldValues asRecordFieldValues() -> n
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfReturn -> com.android.tools.r8.internal.r8:
    com.android.tools.r8.ir.code.ValueType type -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():29:29 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.ValueType):33:34 -> <init>
    boolean isJump() -> C
    1:1:com.android.tools.r8.ir.code.ValueType getType():38:38 -> F
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):49:49 -> a
    2:14:int com.android.tools.r8.cf.code.CfReturn.getOpcode():53:65 -> a
    2:14:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    15:15:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":18,"2":19,"3":20}}
    18:18:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> a
    18:18:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    19:19:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> a
    19:19:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    20:20:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> a
    20:20:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    16:16:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> a
    16:16:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84 -> a
    17:17:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):84:84 -> a
    21:21:void print(com.android.tools.r8.cf.CfPrinter):89:89 -> a
    22:23:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):99:100 -> a
    24:26:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):115:117 -> a
    27:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forReturn():315:315 -> a
    27:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):106 -> a
    1:13:int com.android.tools.r8.cf.code.CfReturn.getOpcode():53:65 -> s
    1:13:int getCompareToId():43 -> s
    14:14:int getCompareToId():0:0 -> s
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16,"2":17,"3":18}}
    16:16:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> s
    16:16:int getCompareToId():43 -> s
    17:17:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> s
    17:17:int getCompareToId():43 -> s
    18:18:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> s
    18:18:int getCompareToId():43 -> s
    15:15:int com.android.tools.r8.cf.code.CfReturn.getOpcode():65:65 -> s
    15:15:int getCompareToId():43 -> s
com.android.tools.r8.cf.code.CfReturn$1 -> com.android.tools.r8.internal.q8:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():53:53 -> <clinit>
com.android.tools.r8.cf.code.CfReturnVoid -> com.android.tools.r8.internal.s8:
    1:1:void <init>():26:26 -> <init>
    boolean isJump() -> C
    boolean isReturn() -> D
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):41:41 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):54:54 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):59:59 -> a
    4:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):74:74 -> a
    5:5:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):89:89 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forReturn():315:315 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):80 -> a
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfSafeCheckCast -> com.android.tools.r8.internal.t8:
    1:1:void <init>(com.android.tools.r8.graph.DexType):17:17 -> <init>
    1:1:void addCheckCast(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState$Slot):22:22 -> a
    2:2:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):28:28 -> a
com.android.tools.r8.cf.code.CfStackInstruction -> com.android.tools.r8.internal.B8:
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode opcode -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():31:31 -> <clinit>
    1:2:void <init>(com.android.tools.r8.cf.code.CfStackInstruction$Opcode):82:83 -> <init>
    1:1:com.android.tools.r8.cf.code.CfStackInstruction$Opcode getOpcode():116:116 -> F
    1:1:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):74:74 -> a
    2:2:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):72:72 -> a
    3:3:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):70:70 -> a
    4:4:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):68:68 -> a
    5:5:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):66:66 -> a
    6:6:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):64:64 -> a
    7:7:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):62:62 -> a
    8:8:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):60:60 -> a
    9:9:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):58:58 -> a
    10:10:com.android.tools.r8.cf.code.CfStackInstruction fromAsm(int):56:56 -> a
    11:11:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):94:94 -> a
    12:12:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):107:107 -> a
    13:13:void print(com.android.tools.r8.cf.CfPrinter):112:112 -> a
    14:136:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):121:243 -> a
    137:151:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):195:209 -> a
    152:158:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):270:276 -> a
    152:158:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    159:159:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    159:159:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):276 -> a
    159:159:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    160:160:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):278:278 -> a
    160:160:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    161:161:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    161:161:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):278 -> a
    161:161:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    162:162:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):280:280 -> a
    162:162:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    163:163:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    163:163:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):280 -> a
    163:163:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    164:164:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):282:282 -> a
    164:164:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    165:165:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    165:165:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):282 -> a
    165:165:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):214 -> a
    166:166:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):210:210 -> a
    167:167:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    167:167:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):210 -> a
    168:168:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    168:168:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    168:168:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):210 -> a
    169:184:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):210:225 -> a
    185:194:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):317:326 -> a
    185:194:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    195:195:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    195:195:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):326 -> a
    195:195:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    196:196:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):328:328 -> a
    196:196:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    197:197:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    197:197:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):328 -> a
    197:197:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    198:198:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):330:330 -> a
    198:198:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    199:199:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    199:199:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):330 -> a
    199:199:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    200:200:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):332:332 -> a
    200:200:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    201:201:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    201:201:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):332 -> a
    201:201:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    202:202:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):334:334 -> a
    202:202:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    203:203:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    203:203:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):334 -> a
    203:203:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    204:204:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):336:336 -> a
    204:204:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    205:205:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    205:205:void com.android.tools.r8.cf.code.CfStackInstruction.dup2x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):336 -> a
    205:205:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):230 -> a
    206:206:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):226:226 -> a
    207:207:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    207:207:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):226 -> a
    208:208:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    208:208:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    208:208:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):226 -> a
    209:209:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):226:226 -> a
    210:210:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):218:218 -> a
    211:211:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    211:211:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):218 -> a
    212:212:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    212:212:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    212:212:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):218 -> a
    213:213:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):218:218 -> a
    214:222:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):181:189 -> a
    223:225:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):169:171 -> a
    226:226:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    226:226:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):171 -> a
    227:228:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):173:174 -> a
    229:229:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    229:229:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):174 -> a
    230:230:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):175:175 -> a
    231:231:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    231:231:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):175 -> a
    232:239:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):155:162 -> a
    240:246:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):270:276 -> a
    240:246:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    247:247:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    247:247:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):276 -> a
    247:247:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    248:248:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):278:278 -> a
    248:248:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    249:249:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    249:249:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):278 -> a
    249:249:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    250:250:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):280:280 -> a
    250:250:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    251:251:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    251:251:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):280 -> a
    251:251:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    252:252:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):282:282 -> a
    252:252:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    253:253:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    253:253:void com.android.tools.r8.cf.code.CfStackInstruction.dup1x2(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):282 -> a
    253:253:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):163 -> a
    254:258:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):146:150 -> a
    259:261:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):139:141 -> a
    262:262:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    262:262:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):141 -> a
    263:266:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):130:133 -> a
    267:268:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):124:125 -> a
    269:274:void dup1x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):253:258 -> a
    275:275:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    275:275:void dup1x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):258 -> a
    276:276:void dup1x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):260:260 -> a
    277:277:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    277:277:void dup1x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):260 -> a
    278:278:void dup1x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):262:262 -> a
    279:279:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    279:279:void dup1x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):262 -> a
    280:287:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):289:296 -> a
    288:288:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    288:288:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):296 -> a
    289:289:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):298:298 -> a
    290:290:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    290:290:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):298 -> a
    291:291:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):300:300 -> a
    292:292:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    292:292:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):300 -> a
    293:293:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):302:302 -> a
    294:294:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    294:294:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):302 -> a
    295:295:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):304:304 -> a
    296:296:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    296:296:void dup2x1(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot,com.android.tools.r8.ir.conversion.CfState$Slot):304 -> a
    297:297:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):347:347 -> a
    298:449:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):357:508 -> a
    450:450:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    450:450:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):502 -> a
    451:451:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:127 -> a
    451:451:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):502 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    452:452:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):128:128 -> a
    452:452:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):502 -> a
    453:453:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    453:453:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):503 -> a
    454:455:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:128 -> a
    454:455:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):503 -> a
    456:456:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):504:504 -> a
    457:461:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):463:467 -> a
    462:462:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    462:462:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):469 -> a
    463:463:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):469:469 -> a
    464:464:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    464:464:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):470 -> a
    465:465:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):470:470 -> a
    466:466:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    466:466:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):471 -> a
    467:467:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):471:471 -> a
    468:468:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    468:468:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):472 -> a
    469:470:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:128 -> a
    469:470:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):472 -> a
    471:476:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):474:479 -> a
    477:477:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    477:477:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):482 -> a
    478:478:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):482:482 -> a
    479:479:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    479:479:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):483 -> a
    480:483:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):483:486 -> a
    484:484:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    484:484:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):488 -> a
    485:485:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):488:488 -> a
    486:486:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    486:486:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):489 -> a
    487:488:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:128 -> a
    487:488:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):489 -> a
    489:493:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):490:494 -> a
    494:494:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):436:436 -> a
    495:495:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    495:495:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):437 -> a
    496:497:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:128 -> a
    496:497:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):437 -> a
    498:498:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):438:438 -> a
    499:499:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    499:499:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):439 -> a
    500:500:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):439:439 -> a
    501:501:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    501:501:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):440 -> a
    502:503:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:128 -> a
    502:503:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):440 -> a
    504:509:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):441:446 -> a
    510:511:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):418:419 -> a
    512:512:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    512:512:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):420 -> a
    513:513:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):420:420 -> a
    514:514:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    514:514:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):421 -> a
    515:516:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:128 -> a
    515:516:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):421 -> a
    517:521:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):422:426 -> a
    522:522:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    522:522:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):399 -> a
    523:523:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:127 -> a
    523:523:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):399 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    524:524:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):128:128 -> a
    524:524:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):399 -> a
    525:526:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):400:401 -> a
    527:527:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    527:527:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):402 -> a
    528:528:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):402:402 -> a
    529:529:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    529:529:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):403 -> a
    530:531:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:128 -> a
    530:531:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):403 -> a
    532:536:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):404:408 -> a
    537:537:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    537:537:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):387 -> a
    538:538:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:127 -> a
    538:538:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):387 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    539:539:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):128:128 -> a
    539:539:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):387 -> a
    540:540:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    540:540:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):388 -> a
    541:542:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:128 -> a
    541:542:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):388 -> a
    543:543:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):389:389 -> a
    544:544:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    544:544:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):379 -> a
    545:545:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:127 -> a
    545:545:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):379 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    546:546:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):128:128 -> a
    546:546:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):379 -> a
    547:547:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):380:380 -> a
    548:549:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):369:370 -> a
    550:550:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    550:550:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):371 -> a
    551:551:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):371:371 -> a
    552:552:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    552:552:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):372 -> a
    553:554:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:128 -> a
    553:554:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):372 -> a
    555:555:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrame$FrameType.oneWord():60:60 -> a
    555:555:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):361 -> a
    556:556:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):127:127 -> a
    556:556:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):361 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    557:557:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.cf.code.CfFrameVerificationHelper.pop(com.android.tools.r8.cf.code.CfFrame$FrameType):128:128 -> a
    557:557:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):361 -> a
    boolean emitsIR() -> r
    1:1:int getCompareToId():88:88 -> s
com.android.tools.r8.cf.code.CfStackInstruction$1 -> com.android.tools.r8.internal.A8:
    int[] $SwitchMap$com$android$tools$r8$cf$code$CfStackInstruction$Opcode -> a
    1:1:void <clinit>():121:121 -> <clinit>
com.android.tools.r8.cf.code.CfStackInstruction$Opcode -> com.android.tools.r8.internal.B8$a:
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2X2 -> j
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2X1 -> i
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode[] $VALUES -> l
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup2 -> h
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode DupX2 -> g
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode DupX1 -> f
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Dup -> e
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Pop2 -> d
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Pop -> c
    int opcode -> b
    com.android.tools.r8.cf.code.CfStackInstruction$Opcode Swap -> k
    1:9:void <clinit>():34:42 -> <clinit>
    10:10:void <clinit>():33:33 -> <clinit>
    1:2:void <init>(java.lang.String,int,int):46:47 -> <init>
    1:1:int access$000(com.android.tools.r8.cf.code.CfStackInstruction$Opcode):33:33 -> a
    2:2:com.android.tools.r8.cf.code.CfStackInstruction$Opcode[] values():33:33 -> a
com.android.tools.r8.cf.code.CfStaticFieldRead -> com.android.tools.r8.internal.M8:
    1:1:void <init>(com.android.tools.r8.graph.DexField):17:17 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):21:21 -> <init>
    1:1:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):27:27 -> a
com.android.tools.r8.cf.code.CfStaticFieldWrite -> com.android.tools.r8.internal.N8:
    1:1:void <init>(com.android.tools.r8.graph.DexField):16:16 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):20:20 -> <init>
    1:1:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod,java.util.ListIterator):26:26 -> a
com.android.tools.r8.cf.code.CfStore -> com.android.tools.r8.internal.P8:
    com.android.tools.r8.ir.code.ValueType type -> c
    int var -> b
    1:3:void <init>(com.android.tools.r8.ir.code.ValueType,int):37:39 -> <init>
    1:1:int getLocalIndex():103:103 -> F
    1:1:com.android.tools.r8.ir.code.ValueType getType():99:99 -> G
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):50:50 -> a
    2:14:int com.android.tools.r8.cf.code.CfStore.getStoreType():54:66 -> a
    2:14:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    15:15:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":18,"2":19,"3":20}}
    18:18:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> a
    18:18:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    19:19:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> a
    19:19:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    20:20:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> a
    20:20:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    16:16:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> a
    16:16:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90 -> a
    17:17:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> a
    21:21:void print(com.android.tools.r8.cf.CfPrinter):95:95 -> a
    22:23:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):108:109 -> a
    24:24:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    24:24:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):109 -> a
    25:60:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):131:166 -> a
    61:61:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":278,"2":279,"3":280}}
    278:278:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):166:166 -> a
    279:279:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):166:166 -> a
    280:280:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):166:166 -> a
    227:227:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):166:166 -> a
    228:231:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):160:163 -> a
    232:235:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):154:157 -> a
    236:238:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):149:151 -> a
    239:241:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):144:146 -> a
    242:246:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):134:134 -> a
    253:253:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):141:141 -> a
    281:281:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forStore():327:327 -> a
    281:281:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):120 -> a
    com.android.tools.r8.cf.code.CfStore asStore() -> o
    boolean emitsIR() -> r
    1:13:int com.android.tools.r8.cf.code.CfStore.getStoreType():54:66 -> s
    1:13:int getCompareToId():44 -> s
    14:14:int getCompareToId():0:0 -> s
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16,"2":17,"3":18}}
    16:16:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> s
    16:16:int getCompareToId():44 -> s
    17:17:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> s
    17:17:int getCompareToId():44 -> s
    18:18:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> s
    18:18:int getCompareToId():44 -> s
    15:15:int com.android.tools.r8.cf.code.CfStore.getStoreType():66:66 -> s
    15:15:int getCompareToId():44 -> s
com.android.tools.r8.cf.code.CfStore$1 -> com.android.tools.r8.internal.O8:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():54:54 -> <clinit>
com.android.tools.r8.cf.code.CfSwitch -> com.android.tools.r8.internal.R8:
    java.util.List targets -> e
    int[] keys -> d
    com.android.tools.r8.cf.code.CfSwitch$Kind kind -> b
    boolean $assertionsDisabled -> f
    com.android.tools.r8.cf.code.CfLabel defaultTarget -> c
    1:1:void <clinit>():30:30 -> <clinit>
    1:7:void <init>(com.android.tools.r8.cf.code.CfSwitch$Kind,com.android.tools.r8.cf.code.CfLabel,int[],java.util.List):39:45 -> <init>
    boolean isJump() -> C
    1:1:com.android.tools.r8.cf.code.CfLabel getDefaultTarget():71:71 -> F
    1:1:java.util.List getKeys():75:75 -> G
    1:1:com.android.tools.r8.cf.code.CfSwitch$Kind getKind():67:67 -> H
    1:1:java.util.List getSwitchTargets():79:79 -> I
    1:2:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):56:57 -> a
    3:3:void lambda$internalAcceptCompareTo$1(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):61:61 -> a
    4:4:com.android.tools.r8.utils.structural.StructuralSpecification com.android.tools.r8.utils.structural.StructuralSpecification.withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):43:43 -> a
    4:4:void lambda$internalAcceptCompareTo$1(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):61 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:7:void lambda$internalAcceptCompareTo$1(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):61:63 -> a
    8:8:int[] lambda$internalAcceptCompareTo$0(com.android.tools.r8.cf.code.CfSwitch):62:62 -> a
    9:20:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):107:118 -> a
    21:21:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):113:113 -> a
    22:22:void print(com.android.tools.r8.cf.CfPrinter):125:125 -> a
    23:28:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):130:135 -> a
    29:34:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):152:157 -> a
    35:35:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
    35:35:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):141 -> a
    1:1:int getCompareToId():50:50 -> s
com.android.tools.r8.cf.code.CfSwitch$1 -> com.android.tools.r8.internal.Q8:
    int[] $SwitchMap$com$android$tools$r8$cf$code$CfSwitch$Kind -> a
    1:1:void <clinit>():111:111 -> <clinit>
com.android.tools.r8.cf.code.CfSwitch$Kind -> com.android.tools.r8.internal.R8$a:
    com.android.tools.r8.cf.code.CfSwitch$Kind TABLE -> c
    com.android.tools.r8.cf.code.CfSwitch$Kind[] $VALUES -> d
    com.android.tools.r8.cf.code.CfSwitch$Kind LOOKUP -> b
    1:1:void <clinit>():32:32 -> <clinit>
    1:1:void <init>(java.lang.String,int):32:32 -> <init>
    1:1:com.android.tools.r8.cf.code.CfSwitch$Kind[] values():32:32 -> a
com.android.tools.r8.cf.code.CfThrow -> com.android.tools.r8.internal.S8:
    1:1:void <init>():27:27 -> <init>
    boolean isJump() -> C
    1:1:int internalAcceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):42:42 -> a
    2:2:void write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):65:65 -> a
    3:3:void print(com.android.tools.r8.cf.CfPrinter):70:70 -> a
    4:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.conversion.CfState,com.android.tools.r8.ir.conversion.CfSourceCode):80:81 -> a
    6:8:void evaluate(com.android.tools.r8.cf.code.CfFrameVerificationHelper,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):98:100 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.ProgramMethod):87 -> a
    boolean canThrow() -> q
    int getCompareToId() -> s
com.android.tools.r8.cf.code.CfTryCatch -> com.android.tools.r8.internal.T8:
    com.android.tools.r8.cf.code.CfLabel start -> a
    com.android.tools.r8.cf.code.CfLabel end -> b
    java.util.List targets -> d
    java.util.List guards -> c
    boolean $assertionsDisabled -> e
    int $r8$clinit -> f
    1:1:void <clinit>():17:17 -> <clinit>
    1:6:void <init>(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,java.util.List,java.util.List):23:28 -> <init>
    1:2:boolean verifyAllNonNull(java.util.List):32:33 -> a
    3:3:int acceptCompareTo(com.android.tools.r8.cf.code.CfTryCatch,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):52:52 -> a
    4:4:com.android.tools.r8.cf.code.CfLabel lambda$acceptCompareTo$0(com.android.tools.r8.cf.code.CfTryCatch):56:56 -> a
    5:5:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):56:56 -> a
    6:6:com.android.tools.r8.utils.structural.StructuralSpecification com.android.tools.r8.utils.structural.StructuralSpecification.withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):43:43 -> a
    6:6:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):56 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:8:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):56:57 -> a
    9:9:com.android.tools.r8.utils.structural.StructuralSpecification com.android.tools.r8.utils.structural.StructuralSpecification.withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):43:43 -> a
    9:9:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):57 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:12:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):57:59 -> a
    13:13:void internalRegisterUse(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.graph.DexClassAndMethod):63:63 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel lambda$acceptCompareTo$1(com.android.tools.r8.cf.code.CfTryCatch):57:57 -> b
    1:1:java.util.Collection lambda$acceptCompareTo$2(com.android.tools.r8.cf.code.CfTryCatch):58:58 -> c
    1:1:java.util.Collection lambda$acceptCompareTo$3(com.android.tools.r8.cf.code.CfTryCatch):59:59 -> d
com.android.tools.r8.cf.code.CfTypeInstruction -> com.android.tools.r8.internal.U8:
com.android.tools.r8.code.AddDouble -> com.android.tools.r8.code.b:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.AddDouble2Addr -> com.android.tools.r8.code.a:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.AddFloat -> com.android.tools.r8.code.d:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AddFloat2Addr -> com.android.tools.r8.code.c:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AddInt -> com.android.tools.r8.code.f:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AddInt2Addr -> com.android.tools.r8.code.e:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AddIntLit16 -> com.android.tools.r8.code.g:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AddIntLit8 -> com.android.tools.r8.code.h:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AddLong -> com.android.tools.r8.code.j:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.AddLong2Addr -> com.android.tools.r8.code.i:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Aget -> com.android.tools.r8.code.k:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AgetBoolean -> com.android.tools.r8.code.l:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> z
com.android.tools.r8.code.AgetByte -> com.android.tools.r8.code.m:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AgetChar -> com.android.tools.r8.code.n:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AgetObject -> com.android.tools.r8.code.o:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.AgetShort -> com.android.tools.r8.code.p:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AgetWide -> com.android.tools.r8.code.q:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AndInt -> com.android.tools.r8.code.s:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AndInt2Addr -> com.android.tools.r8.code.r:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AndIntLit16 -> com.android.tools.r8.code.t:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AndIntLit8 -> com.android.tools.r8.code.u:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.AndLong -> com.android.tools.r8.code.w:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AndLong2Addr -> com.android.tools.r8.code.v:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Aput -> com.android.tools.r8.code.x:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AputBoolean -> com.android.tools.r8.code.y:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AputByte -> com.android.tools.r8.code.z:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AputChar -> com.android.tools.r8.code.A:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AputObject -> com.android.tools.r8.code.B:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AputShort -> com.android.tools.r8.code.C:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.AputWide -> com.android.tools.r8.code.D:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ArrayLength -> com.android.tools.r8.code.E:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Base1Format -> com.android.tools.r8.code.F:
    1:1:void <init>(com.android.tools.r8.code.BytecodeStream):11:11 -> <init>
    2:2:void <init>():14:14 -> <init>
    int getSize() -> x
com.android.tools.r8.code.Base2Format -> com.android.tools.r8.code.G:
    1:1:void <init>():10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.code.BytecodeStream):13:13 -> <init>
    int getSize() -> x
com.android.tools.r8.code.Base3Format -> com.android.tools.r8.code.H:
    1:1:void <init>():10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.code.BytecodeStream):13:13 -> <init>
    int getSize() -> x
com.android.tools.r8.code.Base4Format -> com.android.tools.r8.code.I:
    1:1:void <init>():10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.code.BytecodeStream):13:13 -> <init>
    int getSize() -> x
com.android.tools.r8.code.Base5Format -> com.android.tools.r8.code.J:
    1:1:void <init>():10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.code.BytecodeStream):13:13 -> <init>
    int getSize() -> x
com.android.tools.r8.code.BytecodeStream -> com.android.tools.r8.internal.n6:
    int nextByte() -> a
    int nextShort() -> b
com.android.tools.r8.code.CfOrDexInstanceFieldRead -> com.android.tools.r8.internal.a8:
com.android.tools.r8.code.CfOrDexInstruction -> com.android.tools.r8.internal.b8:
    com.android.tools.r8.cf.code.CfInstruction asCfInstruction() -> b
    com.android.tools.r8.code.Instruction asDexInstruction() -> c
com.android.tools.r8.code.CfOrDexStaticFieldRead -> com.android.tools.r8.internal.c8:
com.android.tools.r8.code.CheckCast -> com.android.tools.r8.code.K:
    boolean ignoreCompatRules -> i
    1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):27:28 -> <init>
    3:4:void <init>(int,com.android.tools.r8.graph.DexType,boolean):32:33 -> <init>
    boolean isCheckCast() -> D
    1:1:com.android.tools.r8.graph.DexType getType():99:99 -> M
    1:1:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):53:53 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):67:67 -> a
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):67 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68:68 -> a
    5:5:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    8:8:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    9:9:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78:78 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":93,"2":94,"3":95}}
    93:93:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78:78 -> a
    94:94:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    94:94:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78 -> a
    95:95:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    95:95:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78 -> a
    90:90:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):79:79 -> a
    91:91:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    91:91:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):79 -> a
    92:92:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):80:80 -> a
    96:96:void registerUse(com.android.tools.r8.graph.UseRegistry):95:95 -> a
    97:97:boolean ignoreCompatRules():58:58 -> a
    97:97:void registerUse(com.android.tools.r8.graph.UseRegistry):95 -> a
    98:98:void registerUse(com.android.tools.r8.graph.UseRegistry):95:95 -> a
    99:99:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):104:104 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):53:53 -> b
    com.android.tools.r8.code.CheckCast asCheckCast() -> d
    boolean canThrow() -> m
    1:1:java.lang.String getName():38:38 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():43:43 -> z
com.android.tools.r8.code.CmpLong -> com.android.tools.r8.code.L:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):17:17 -> <init>
    2:2:void <init>(int,int,int):21:21 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):41:41 -> a
    1:1:java.lang.String getName():26:26 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> z
com.android.tools.r8.code.CmpgDouble -> com.android.tools.r8.code.M:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):17:17 -> <init>
    2:2:void <init>(int,int,int):21:21 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):41:41 -> a
    1:1:java.lang.String getName():26:26 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> z
com.android.tools.r8.code.CmpgFloat -> com.android.tools.r8.code.N:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):17:17 -> <init>
    2:2:void <init>(int,int,int):21:21 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):41:41 -> a
    1:1:java.lang.String getName():26:26 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> z
com.android.tools.r8.code.CmplDouble -> com.android.tools.r8.code.O:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):17:17 -> <init>
    2:2:void <init>(int,int,int):21:21 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):41:41 -> a
    1:1:java.lang.String getName():26:26 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> z
com.android.tools.r8.code.CmplFloat -> com.android.tools.r8.code.P:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):17:17 -> <init>
    2:2:void <init>(int,int,int):21:21 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):41:41 -> a
    1:1:java.lang.String getName():26:26 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> z
com.android.tools.r8.code.Const -> com.android.tools.r8.code.T:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:int decodedValue():43:43 -> a
    62:62:void com.android.tools.r8.code.Format31i.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    62:62:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    63:63:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    63:63:void com.android.tools.r8.code.Format31i.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    63:63:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    64:64:void com.android.tools.r8.code.Format31i.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    65:67:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:62 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.Const16 -> com.android.tools.r8.code.Q:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:int decodedValue():43:43 -> a
    2:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):54:56 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.Const4 -> com.android.tools.r8.code.S:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:int decodedValue():43:43 -> a
    62:64:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:62 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.ConstClass -> com.android.tools.r8.code.U:
    boolean ignoreCompatRules -> i
    1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):27:28 -> <init>
    3:4:void <init>(int,com.android.tools.r8.graph.DexType,boolean):32:33 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():89:89 -> M
    1:1:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):38:38 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):67:67 -> a
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):67 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68:68 -> a
    5:5:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    8:8:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    9:9:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78:78 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":93,"2":94,"3":95}}
    93:93:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78:78 -> a
    94:94:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    94:94:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78 -> a
    95:95:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    95:95:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78 -> a
    90:90:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):79:79 -> a
    91:91:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    91:91:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):79 -> a
    92:92:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):80:80 -> a
    96:96:void registerUse(com.android.tools.r8.graph.UseRegistry):85:85 -> a
    97:97:boolean ignoreCompatRules():43:43 -> a
    97:97:void registerUse(com.android.tools.r8.graph.UseRegistry):85 -> a
    98:98:void registerUse(com.android.tools.r8.graph.UseRegistry):85:85 -> a
    99:99:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):94:94 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):38:38 -> b
    com.android.tools.r8.code.ConstClass asConstClass() -> e
    boolean canThrow() -> m
    1:1:java.lang.String getName():48:48 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():53:53 -> z
com.android.tools.r8.code.ConstHigh16 -> com.android.tools.r8.code.V:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:int decodedValue():43:43 -> a
    62:62:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    62:62:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    63:63:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    63:63:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    63:63:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    64:64:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    65:65:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    65:65:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    65:65:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    66:68:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:62 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.ConstMethodHandle -> com.android.tools.r8.code.W:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):28:28 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethodHandle):32:32 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":68,"2":69,"3":70}}
    68:68:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> a
    69:69:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> a
    70:70:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> a
    67:67:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> a
    71:71:com.android.tools.r8.graph.DexMethodHandle getMethodHandle():36:36 -> a
    71:71:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):101 -> a
    72:72:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):101:101 -> a
    73:75:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):100:102 -> a
    76:76:com.android.tools.r8.graph.DexMethodHandle getMethodHandle():36:36 -> a
    76:76:void registerUse(com.android.tools.r8.graph.UseRegistry):72 -> a
    77:77:void registerUse(com.android.tools.r8.graph.UseRegistry):72:72 -> a
    78:78:void registerUse(com.android.tools.r8.graph.UseRegistry):71:71 -> a
    79:79:com.android.tools.r8.graph.DexMethodHandle getMethodHandle():36:36 -> a
    79:79:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):84 -> a
    80:80:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):84:84 -> a
    81:81:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83:83 -> a
    82:82:int com.android.tools.r8.graph.DexMethodHandle.getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):280:280 -> a
    82:82:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):85 -> a
    83:83:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):89:89 -> a
    84:84:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    84:84:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):89 -> a
    85:85:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):90:90 -> a
    86:86:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):87:87 -> a
    87:87:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):56:56 -> a
    88:88:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):107:107 -> a
    89:89:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1223:1223 -> a
    89:89:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):107 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    90:98:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1223:1231 -> a
    90:98:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):107 -> a
    99:103:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1230:1234 -> a
    99:103:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):107 -> a
    104:104:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):1224:1224 -> a
    104:104:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):107 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":63,"2":64,"3":65}}
    63:63:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> b
    64:64:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> b
    65:65:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> b
    62:62:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> b
    66:66:com.android.tools.r8.graph.DexMethodHandle lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):56:56 -> b
    boolean canThrow() -> m
    1:1:java.lang.String getName():41:41 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():46:46 -> z
com.android.tools.r8.code.ConstMethodType -> com.android.tools.r8.code.X:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):27:27 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexProto):31:31 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":67,"2":68,"3":69}}
    67:67:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> a
    68:68:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> a
    69:69:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> a
    66:66:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> a
    70:70:com.android.tools.r8.graph.DexProto getMethodType():35:35 -> a
    70:70:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):95 -> a
    71:72:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):95:96 -> a
    73:73:com.android.tools.r8.graph.DexProto getMethodType():35:35 -> a
    73:73:void registerUse(com.android.tools.r8.graph.UseRegistry):70 -> a
    74:74:void registerUse(com.android.tools.r8.graph.UseRegistry):70:70 -> a
    75:77:void com.android.tools.r8.graph.UseRegistry.registerProto(com.android.tools.r8.graph.DexProto):254:256 -> a
    75:77:void registerUse(com.android.tools.r8.graph.UseRegistry):70 -> a
    78:78:com.android.tools.r8.graph.DexProto getMethodType():35:35 -> a
    78:78:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):80 -> a
    79:80:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):80:81 -> a
    81:81:int com.android.tools.r8.graph.DexProto.getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):109:109 -> a
    81:81:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):81 -> a
    82:82:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):85:85 -> a
    83:83:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    83:83:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):85 -> a
    84:84:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):86:86 -> a
    85:85:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83:83 -> a
    86:86:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):55:55 -> a
    87:87:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):101:101 -> a
    88:88:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1238:1238 -> a
    88:88:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):101 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:97:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1238:1246 -> a
    89:97:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):101 -> a
    98:102:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1245:1249 -> a
    98:102:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):101 -> a
    103:103:void com.android.tools.r8.ir.conversion.IRBuilder.addConstMethodType(int,com.android.tools.r8.graph.DexProto):1239:1239 -> a
    103:103:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):101 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":62,"2":63,"3":64}}
    62:62:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):60:60 -> b
    63:63:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):60:60 -> b
    64:64:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):60:60 -> b
    61:61:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):60:60 -> b
    65:65:com.android.tools.r8.graph.DexProto lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):55:55 -> b
    boolean canThrow() -> m
    1:1:java.lang.String getName():40:40 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():45:45 -> z
com.android.tools.r8.code.ConstString -> com.android.tools.r8.code.Y:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):26:26 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexString):30:30 -> <init>
    boolean isConstString() -> G
    1:1:com.android.tools.r8.graph.DexString getString():34:34 -> M
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":85,"2":86,"3":87}}
    85:85:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):83:83 -> a
    86:86:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):83:83 -> a
    87:87:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):83:83 -> a
    84:84:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):83:83 -> a
    88:88:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):39:39 -> a
    89:89:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48:48 -> a
    90:90:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    90:90:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    91:91:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):93:93 -> a
    92:92:int com.android.tools.r8.graph.DexString.getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):278:278 -> a
    92:92:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):93 -> a
    93:93:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):97:97 -> a
    94:94:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    94:94:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):97 -> a
    95:95:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):98:98 -> a
    96:96:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):95:95 -> a
    97:97:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):103:103 -> a
    98:98:void com.android.tools.r8.ir.conversion.IRBuilder.addConstString(int,com.android.tools.r8.graph.DexString):1257:1257 -> a
    98:98:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):103 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    99:101:void com.android.tools.r8.ir.conversion.IRBuilder.addConstString(int,com.android.tools.r8.graph.DexString):1257:1259 -> a
    99:101:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):103 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82}}
    80:80:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):78:78 -> b
    81:81:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):78:78 -> b
    82:82:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):78:78 -> b
    79:79:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):78:78 -> b
    83:83:com.android.tools.r8.graph.DexString lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):39:39 -> b
    com.android.tools.r8.code.ConstString asConstString() -> f
    boolean canThrow() -> m
    1:1:java.lang.String getName():53:53 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():58:58 -> z
com.android.tools.r8.code.ConstStringJumbo -> com.android.tools.r8.code.Z:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexString):22:22 -> <init>
    1:1:com.android.tools.r8.graph.DexString getString():26:26 -> M
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":63,"2":64,"3":65}}
    63:63:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> a
    64:64:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> a
    65:65:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> a
    62:62:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):61:61 -> a
    66:66:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    67:67:void com.android.tools.r8.ir.conversion.IRBuilder.addConstString(int,com.android.tools.r8.graph.DexString):1257:1257 -> a
    67:67:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):66 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    68:70:void com.android.tools.r8.ir.conversion.IRBuilder.addConstString(int,com.android.tools.r8.graph.DexString):1257:1259 -> a
    68:70:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):66 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> b
    59:59:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> b
    60:60:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> b
    57:57:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> b
    com.android.tools.r8.code.ConstStringJumbo asConstStringJumbo() -> g
    boolean canThrow() -> m
    1:1:java.lang.String getName():31:31 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():36:36 -> z
com.android.tools.r8.code.ConstWide -> com.android.tools.r8.code.c0:
    short com.android.tools.r8.code.Format51l.AA -> f
    long com.android.tools.r8.code.Format51l.BBBBBBBBBBBBBBBB -> g
    boolean com.android.tools.r8.code.Format51l.$assertionsDisabled -> h
    1:1:void com.android.tools.r8.code.Format51l.<clinit>():17:17 -> <clinit>
    1:2:void com.android.tools.r8.code.Format51l.<init>(int,com.android.tools.r8.code.BytecodeStream):28:29 -> <init>
    1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream):19 -> <init>
    3:4:long com.android.tools.r8.code.Instruction.read64BitValue(com.android.tools.r8.code.BytecodeStream):80:81 -> <init>
    3:4:void com.android.tools.r8.code.Format51l.<init>(int,com.android.tools.r8.code.BytecodeStream):30 -> <init>
    3:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):19 -> <init>
    5:5:void com.android.tools.r8.code.Format51l.<init>(int,com.android.tools.r8.code.BytecodeStream):30:30 -> <init>
    5:5:void <init>(int,com.android.tools.r8.code.BytecodeStream):19 -> <init>
    6:9:void com.android.tools.r8.code.Format51l.<init>(int,long):33:36 -> <init>
    6:9:void <init>(int,long):23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    int com.android.tools.r8.code.Format51l.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:int com.android.tools.r8.code.Format51l.lambda$specify$0(com.android.tools.r8.code.Format51l):23:23 -> a
    62:62:void com.android.tools.r8.code.Format51l.specify(com.android.tools.r8.utils.structural.StructuralSpecification):23:23 -> a
    63:63:long decodedValue():43:43 -> a
    64:64:void com.android.tools.r8.code.Format51l.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    65:65:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    65:65:void com.android.tools.r8.code.Format51l.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    65:65:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    66:66:void com.android.tools.r8.code.Format51l.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    66:66:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    67:68:void com.android.tools.r8.code.Instruction.write64BitValue(long,java.nio.ShortBuffer):120:121 -> a
    67:68:void com.android.tools.r8.code.Format51l.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    67:68:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    69:69:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:60 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    55:55:long com.android.tools.r8.code.Format51l.lambda$specify$1(com.android.tools.r8.code.Format51l):23:23 -> b
    56:56:int com.android.tools.r8.code.Format51l.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):57:57 -> b
    1:1:int com.android.tools.r8.code.Format51l.hashCode():52:52 -> hashCode
    1:1:int com.android.tools.r8.code.Format51l.hashCode():0 -> hashCode
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.ConstWide16 -> com.android.tools.r8.code.a0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:long decodedValue():43:43 -> a
    62:62:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:60 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.ConstWide32 -> com.android.tools.r8.code.b0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:long decodedValue():43:43 -> a
    62:62:void com.android.tools.r8.code.Format31i.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    62:62:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    63:63:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    63:63:void com.android.tools.r8.code.Format31i.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    63:63:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    64:64:void com.android.tools.r8.code.Format31i.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    65:65:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:60 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.ConstWideHigh16 -> com.android.tools.r8.code.d0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>(int,int):23:23 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    61:61:long decodedValue():43:43 -> a
    62:62:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    62:62:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    63:63:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    63:63:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    63:63:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    64:64:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    65:65:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    65:65:void com.android.tools.r8.code.Format21h.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    65:65:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):12 -> a
    66:66:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):60:60 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54}}
    52:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    49:51:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):48:48 -> b
    1:1:java.lang.String getName():28:28 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():33:33 -> z
com.android.tools.r8.code.DexCompareHelper -> com.android.tools.r8.code.e0:
    int DEX_ITEM_CONST_STRING_COMPARE_ID -> b
    int DEX_RECORD_FIELD_VALUES_COMPARE_ID -> c
    int INIT_CLASS_COMPARE_ID -> a
    boolean $assertionsDisabled -> d
    1:15:void <clinit>():6:20 -> <clinit>
com.android.tools.r8.code.DexInitClass -> com.android.tools.r8.code.f0:
    int dest -> f
    boolean $assertionsDisabled -> h
    com.android.tools.r8.graph.DexType clazz -> g
    1:1:void <clinit>():23:23 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.graph.DexType):36:39 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":143,"2":144,"3":145}}
    143:143:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):141:141 -> a
    144:144:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):141:141 -> a
    145:145:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):141:141 -> a
    142:142:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):141:141 -> a
    146:146:int lambda$specify$0(com.android.tools.r8.code.DexInitClass):33:33 -> a
    147:147:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):33:33 -> a
    148:148:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    149:149:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55:55 -> a
    150:150:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":208,"2":209,"3":210}}
    208:208:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55:55 -> a
    209:209:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    209:209:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55 -> a
    210:210:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    210:210:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55 -> a
    206:207:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):56:57 -> a
    211:211:void registerUse(com.android.tools.r8.graph.UseRegistry):111:111 -> a
    212:212:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):123:123 -> a
    213:213:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    213:213:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):123 -> a
    214:215:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):124:125 -> a
    216:235:int getOpcode(com.android.tools.r8.graph.DexField):86:105 -> a
    216:235:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125 -> a
    236:236:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":240,"2":241,"3":242}}
    240:240:int getOpcode(com.android.tools.r8.graph.DexField):105:105 -> a
    240:240:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125 -> a
    241:241:int getOpcode(com.android.tools.r8.graph.DexField):105:105 -> a
    241:241:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125 -> a
    242:242:int getOpcode(com.android.tools.r8.graph.DexField):105:105 -> a
    242:242:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125 -> a
    237:237:int getOpcode(com.android.tools.r8.graph.DexField):105:105 -> a
    237:237:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125 -> a
    238:239:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125:126 -> a
    243:243:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):136:136 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$specify$1(com.android.tools.r8.code.DexInitClass):33:33 -> b
    2:8:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):146:152 -> b
    1:1:int hashCode():131:131 -> hashCode
    boolean canThrow() -> m
    1:1:int getCompareToId():82:82 -> p
    1:1:java.lang.String getName():67:67 -> t
    1:1:int getOpcode():77:77 -> v
    1:1:java.lang.String getSmaliName():72:72 -> z
com.android.tools.r8.code.DexItemBasedConstString -> com.android.tools.r8.code.g0:
    boolean $assertionsDisabled -> j
    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> i
    1:1:void <clinit>():20:20 -> <clinit>
    1:2:void <init>(int,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):29:30 -> <init>
    1:1:com.android.tools.r8.graph.DexReference getItem():34:34 -> M
    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():38:38 -> N
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":97,"2":98,"3":99}}
    97:97:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):95:95 -> a
    98:98:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):95:95 -> a
    99:99:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):95:95 -> a
    96:96:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):95:95 -> a
    100:100:com.android.tools.r8.graph.DexReference getItem():34:34 -> a
    100:100:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    101:101:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    102:102:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):73:73 -> a
    103:103:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):105:105 -> a
    104:105:void registerUse(com.android.tools.r8.graph.UseRegistry):111:112 -> a
    106:106:com.android.tools.r8.graph.DexReference getItem():34:34 -> a
    106:106:void registerUse(com.android.tools.r8.graph.UseRegistry):112 -> a
    107:107:void registerUse(com.android.tools.r8.graph.UseRegistry):112:112 -> a
    108:108:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    108:108:void registerUse(com.android.tools.r8.graph.UseRegistry):112 -> a
    109:109:void registerUse(com.android.tools.r8.graph.UseRegistry):112:112 -> a
    110:110:com.android.tools.r8.graph.DexReference getItem():34:34 -> a
    110:110:void registerUse(com.android.tools.r8.graph.UseRegistry):113 -> a
    111:111:void registerUse(com.android.tools.r8.graph.UseRegistry):113:113 -> a
    112:112:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):119:119 -> a
    113:113:void com.android.tools.r8.ir.conversion.IRBuilder.addDexItemBasedConstString(int,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1264:1264 -> a
    113:113:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    114:117:void com.android.tools.r8.ir.conversion.IRBuilder.addDexItemBasedConstString(int,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1264:1267 -> a
    114:117:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):119 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":91,"2":92,"3":93}}
    91:91:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89:89 -> b
    92:92:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89:89 -> b
    93:93:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89:89 -> b
    90:90:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89:89 -> b
    94:94:com.android.tools.r8.graph.DexReference lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):73:73 -> b
    com.android.tools.r8.code.DexItemBasedConstString asDexItemBasedConstString() -> h
    boolean canThrow() -> m
    1:1:int getCompareToId():68:68 -> p
    1:1:java.lang.String getName():52:52 -> t
    1:1:int getOpcode():62:62 -> v
    1:1:java.lang.String getSmaliName():57:57 -> z
com.android.tools.r8.code.DexNewUnboxedEnumInstance -> com.android.tools.r8.code.h0:
    int ordinal -> i
    1:2:void <init>(int,com.android.tools.r8.graph.DexType,int):28:29 -> <init>
    1:1:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):49:49 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):58:58 -> a
    3:3:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68:68 -> a
    4:4:com.android.tools.r8.graph.DexType getType():77:77 -> a
    4:4:void registerUse(com.android.tools.r8.graph.UseRegistry):73 -> a
    5:5:void com.android.tools.r8.graph.UseRegistry.registerNewUnboxedEnumInstance(com.android.tools.r8.graph.DexType):117:117 -> a
    5:5:void registerUse(com.android.tools.r8.graph.UseRegistry):73 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):82:82 -> a
    7:7:com.android.tools.r8.graph.DexType getType():77:77 -> a
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):82 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):82:82 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):49:49 -> b
    boolean canThrow() -> m
    1:1:java.lang.String getName():34:34 -> t
    1:1:int getOpcode():44:44 -> v
    1:1:java.lang.String getSmaliName():39:39 -> z
com.android.tools.r8.code.DexRecordFieldValues -> com.android.tools.r8.code.i0:
    int[] arguments -> g
    int outRegister -> f
    com.android.tools.r8.graph.DexField[] fields -> h
    1:4:void <init>(int,int[],com.android.tools.r8.graph.DexField[]):32:35 -> <init>
    1:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):44:45 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):77:77 -> a
    4:4:com.android.tools.r8.graph.DexField[] lambda$specify$0(com.android.tools.r8.code.DexRecordFieldValues):81:81 -> a
    5:5:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):81:81 -> a
    6:6:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):105:105 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):115:115 -> a
    8:8:void registerUse(com.android.tools.r8.graph.UseRegistry):126:126 -> a
    9:9:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):131:131 -> a
    10:10:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    10:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):131 -> a
    11:14:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):132:135 -> a
    15:15:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1488:1488 -> a
    15:15:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    16:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    16:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    16:16:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489 -> a
    16:16:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    17:17:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489:1489 -> a
    17:17:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    18:18:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    18:18:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    18:18:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489 -> a
    18:18:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    19:26:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1489:1496 -> a
    19:26:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    27:27:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1495:1495 -> a
    27:27:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    28:33:void com.android.tools.r8.ir.conversion.IRBuilder.addRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int):1493:1498 -> a
    28:33:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):135 -> a
    1:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):97:98 -> b
    3:10:void appendArguments(java.lang.StringBuilder):85:92 -> b
    3:10:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):99 -> b
    11:11:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):100:100 -> b
    1:1:int hashCode():140:140 -> hashCode
    boolean canThrow() -> m
    1:1:int getCompareToId():72:72 -> p
    1:1:java.lang.String getName():51:51 -> t
    1:1:int getOpcode():61:61 -> v
    int getSize() -> x
    1:1:java.lang.String getSmaliName():56:56 -> z
com.android.tools.r8.code.DivDouble -> com.android.tools.r8.code.k0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.DivDouble2Addr -> com.android.tools.r8.code.j0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.DivFloat -> com.android.tools.r8.code.m0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.DivFloat2Addr -> com.android.tools.r8.code.l0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.DivInt -> com.android.tools.r8.code.o0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.DivInt2Addr -> com.android.tools.r8.code.n0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> z
com.android.tools.r8.code.DivIntLit16 -> com.android.tools.r8.code.p0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.DivIntLit8 -> com.android.tools.r8.code.q0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.DivLong -> com.android.tools.r8.code.s0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.DivLong2Addr -> com.android.tools.r8.code.r0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.DoubleToFloat -> com.android.tools.r8.code.t0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.DoubleToInt -> com.android.tools.r8.code.u0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.DoubleToLong -> com.android.tools.r8.code.v0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.FillArrayData -> com.android.tools.r8.code.w0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int):20:20 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":47,"2":48,"3":49}}
    47:47:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):45:45 -> a
    48:48:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):45:45 -> a
    49:49:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):45:45 -> a
    46:46:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):45:45 -> a
    50:50:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    51:51:int com.android.tools.r8.code.Format31t.getPayloadOffset():58:58 -> a
    51:51:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40 -> a
    52:52:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.FillArrayDataPayload -> com.android.tools.r8.code.x0:
    short[] data -> i
    boolean $assertionsDisabled -> j
    long size -> h
    int element_width -> g
    1:1:void <clinit>():18:18 -> <clinit>
    1:10:void <init>(int,com.android.tools.r8.code.BytecodeStream):29:38 -> <init>
    11:14:void <init>(int,long,short[]):42:45 -> <init>
    void buildIR(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    1:1:int lambda$specify$0(com.android.tools.r8.code.FillArrayDataPayload):25:25 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):25:25 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):70:70 -> a
    4:43:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):95:134 -> a
    44:44:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    44:44:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):60 -> a
    45:45:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61:61 -> a
    46:46:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    46:46:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61 -> a
    47:48:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):62:63 -> a
    49:49:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    49:49:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):64 -> a
    1:1:long lambda$specify$1(com.android.tools.r8.code.FillArrayDataPayload):25:25 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89:89 -> b
    3:3:java.lang.String com.android.tools.r8.code.Format10x.toString(com.android.tools.r8.naming.ClassNameMapper):37:37 -> b
    3:3:java.lang.String com.android.tools.r8.code.Nop.toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):89:89 -> b
    1:1:short[] lambda$specify$2(com.android.tools.r8.code.FillArrayDataPayload):25:25 -> c
    1:3:int hashCode():76:78 -> hashCode
    1:1:int getSize():84:84 -> x
com.android.tools.r8.code.FilledNewArray -> com.android.tools.r8.code.y0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23:23 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexType,int,int,int,int,int):27:27 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():56:56 -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):61 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):61:61 -> a
    3:3:com.android.tools.r8.graph.DexType getType():56:56 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51:51 -> a
    5:5:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"2":10,"3":11}}
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    10:10:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    10:10:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    11:11:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    11:11:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    11:11:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    12:12:com.android.tools.r8.graph.DexType getType():56:56 -> a
    12:12:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    13:13:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":95,"2":96,"3":97}}
    95:95:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76:76 -> a
    96:96:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    96:96:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    97:97:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    97:97:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    90:90:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):77:77 -> a
    91:91:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    91:91:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):77 -> a
    92:93:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78:79 -> a
    94:94:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    94:94:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):79 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():32:32 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():37:37 -> z
com.android.tools.r8.code.FilledNewArrayRange -> com.android.tools.r8.code.z0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23:23 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexType):27:27 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():56:56 -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):61 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):61:61 -> a
    3:3:com.android.tools.r8.graph.DexType getType():56:56 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51:51 -> a
    5:5:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"2":10,"3":11}}
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    10:10:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    10:10:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    11:11:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    11:11:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    11:11:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    12:12:com.android.tools.r8.graph.DexType getType():56:56 -> a
    12:12:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    13:13:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":95,"2":96,"3":97}}
    95:95:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76:76 -> a
    96:96:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    96:96:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    97:97:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    97:97:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    90:90:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):77:77 -> a
    91:91:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    91:91:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):77 -> a
    92:93:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):78:79 -> a
    94:94:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    94:94:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):79 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():32:32 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():37:37 -> z
com.android.tools.r8.code.FloatToDouble -> com.android.tools.r8.code.A0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.FloatToInt -> com.android.tools.r8.code.B0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.FloatToLong -> com.android.tools.r8.code.C0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Format10x -> com.android.tools.r8.code.D0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):19:19 -> <init>
    2:2:void <init>():22:22 -> <init>
com.android.tools.r8.code.Format11n -> com.android.tools.r8.code.E0:
    boolean $assertionsDisabled -> h
    byte A -> f
    byte B -> g
    1:1:void <clinit>():17:17 -> <clinit>
    1:8:void <init>(int,com.android.tools.r8.code.BytecodeStream):27:34 -> <init>
    9:13:void <init>(int,int):38:42 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format11n):22:22 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):22:22 -> a
    3:3:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    4:4:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    5:5:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):62:62 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":69,"2":70,"3":71}}
    69:69:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    70:70:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    71:71:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    68:68:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    72:72:int lambda$specify$1(com.android.tools.r8.code.Format11n):22:22 -> b
    1:1:int hashCode():57:57 -> hashCode
com.android.tools.r8.code.Format11x -> com.android.tools.r8.code.F0:
    short AA -> f
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():16:16 -> <clinit>
    1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream):22:23 -> <init>
    3:5:void <init>(int):26:28 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":60,"2":61,"3":62}}
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    61:61:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    62:62:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    63:63:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):38:38 -> a
    64:64:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):38 -> a
    65:65:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):48:48 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":55,"2":56,"3":57}}
    55:55:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    56:56:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    57:57:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    1:1:int hashCode():43:43 -> hashCode
com.android.tools.r8.code.Format12x -> com.android.tools.r8.code.G0:
    boolean $assertionsDisabled -> h
    byte A -> f
    byte B -> g
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):27:29 -> <init>
    4:8:void <init>(int,int):32:36 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":69,"2":70,"3":71}}
    69:69:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> a
    70:70:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> a
    71:71:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> a
    68:68:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> a
    72:72:int lambda$specify$0(com.android.tools.r8.code.Format12x):22:22 -> a
    73:73:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):22:22 -> a
    74:74:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    75:75:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    75:75:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    76:76:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):56:56 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":64,"2":65,"3":66}}
    64:64:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):62:62 -> b
    65:65:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):62:62 -> b
    66:66:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):62:62 -> b
    63:63:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):62:62 -> b
    67:67:int lambda$specify$1(com.android.tools.r8.code.Format12x):22:22 -> b
    1:1:int hashCode():51:51 -> hashCode
com.android.tools.r8.code.Format21c -> com.android.tools.r8.code.H0:
    short AA -> f
    com.android.tools.r8.graph.IndexedDexItem BBBB -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():13:13 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.IndexedDexItem[]):20:22 -> <init>
    4:7:void <init>(int,com.android.tools.r8.graph.IndexedDexItem):25:28 -> <init>
    void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> a
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> a
    57:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):56:56 -> a
    61:61:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):39:39 -> a
    62:62:int lambda$internalAcceptCompareTo$0(com.android.tools.r8.code.Format21c):42:42 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":53,"2":54,"3":55}}
    53:53:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):49:49 -> b
    54:54:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):49:49 -> b
    55:55:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):49:49 -> b
    50:52:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):49:49 -> b
    56:56:void lambda$internalAcceptCompareTo$1(com.android.tools.r8.utils.structural.StructuralSpecification):42:42 -> b
    1:1:int hashCode():33:33 -> hashCode
com.android.tools.r8.code.Format21h -> com.android.tools.r8.code.I0:
    char BBBB -> g
    short AA -> f
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():16:16 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):27:29 -> <init>
    4:8:void <init>(int,int):32:36 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format21h):22:22 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):22:22 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):57:57 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.Format21h):22:22 -> b
    1:1:int hashCode():52:52 -> hashCode
com.android.tools.r8.code.Format21s -> com.android.tools.r8.code.J0:
    short BBBB -> g
    short AA -> f
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():18:18 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):29:31 -> <init>
    4:8:void <init>(int,int):34:38 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":71,"2":72,"3":73}}
    71:71:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    72:72:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    73:73:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    70:70:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    74:74:int lambda$specify$0(com.android.tools.r8.code.Format21s):24:24 -> a
    75:75:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):24:24 -> a
    76:76:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48:48 -> a
    77:77:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    77:77:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    78:78:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49:49 -> a
    79:79:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    79:79:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49 -> a
    80:80:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):59:59 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":66,"2":67,"3":68}}
    66:66:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    67:67:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    68:68:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    65:65:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    69:69:int lambda$specify$1(com.android.tools.r8.code.Format21s):24:24 -> b
    1:1:int hashCode():54:54 -> hashCode
com.android.tools.r8.code.Format21t -> com.android.tools.r8.code.K0:
    short BBBB -> g
    short AA -> f
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():20:20 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):31:33 -> <init>
    4:8:void <init>(int,int):36:40 -> <init>
    1:1:int[] getTargets():70:70 -> A
    com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint() -> M
    com.android.tools.r8.ir.code.If$Type getType() -> N
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":89,"2":90,"3":91}}
    89:89:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):87:87 -> a
    90:90:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):87:87 -> a
    91:91:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):87:87 -> a
    88:88:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):87:87 -> a
    92:92:int lambda$specify$0(com.android.tools.r8.code.Format21t):26:26 -> a
    93:93:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):26:26 -> a
    94:94:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50:50 -> a
    95:95:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer) -> a
    95:95:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50 -> a
    96:96:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51:51 -> a
    97:97:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    97:97:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    98:98:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> a
    99:101:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):75:77 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":84,"2":85,"3":86}}
    84:84:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):82:82 -> b
    85:85:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):82:82 -> b
    86:86:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):82:82 -> b
    83:83:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):82:82 -> b
    87:87:int lambda$specify$1(com.android.tools.r8.code.Format21t):26:26 -> b
    1:1:int hashCode():56:56 -> hashCode
com.android.tools.r8.code.Format22b -> com.android.tools.r8.code.L0:
    short BB -> g
    short AA -> f
    boolean $assertionsDisabled -> i
    byte CC -> h
    1:1:void <clinit>():18:18 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):30:33 -> <init>
    5:11:void <init>(int,int,int):36:42 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
    77:77:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    78:78:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    79:79:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    74:76:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    80:80:int lambda$specify$0(com.android.tools.r8.code.Format22b):25:25 -> a
    81:81:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):25:25 -> a
    82:82:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    83:83:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    83:83:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    84:84:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53:53 -> a
    85:85:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    85:85:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    86:86:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):63:63 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":70,"2":71,"3":72}}
    70:70:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    71:71:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    72:72:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    69:69:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    73:73:int lambda$specify$1(com.android.tools.r8.code.Format22b):25:25 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.code.Format22b):25:25 -> c
    1:1:int hashCode():58:58 -> hashCode
com.android.tools.r8.code.Format22c -> com.android.tools.r8.code.M0:
    com.android.tools.r8.graph.DexReference CCCC -> h
    boolean $assertionsDisabled -> i
    byte A -> f
    byte B -> g
    1:1:void <clinit>():14:14 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexReference[]):26:29 -> <init>
    5:10:void <init>(int,int,com.android.tools.r8.graph.DexReference):32:37 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":61,"2":62,"3":63}}
    61:61:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):59:59 -> a
    62:62:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):59:59 -> a
    63:63:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):59:59 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):59:59 -> a
    64:64:int lambda$specify$0(com.android.tools.r8.code.Format22c):21:21 -> a
    65:65:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):21:21 -> a
    66:66:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):47:47 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":56,"2":57,"3":58}}
    56:56:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52:52 -> b
    57:57:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52:52 -> b
    58:58:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52:52 -> b
    53:55:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52:52 -> b
    59:59:int lambda$specify$1(com.android.tools.r8.code.Format22c):21:21 -> b
    1:1:com.android.tools.r8.graph.DexReference lambda$specify$2(com.android.tools.r8.code.Format22c):21:21 -> c
    1:1:int hashCode():42:42 -> hashCode
com.android.tools.r8.code.Format22s -> com.android.tools.r8.code.N0:
    short CCCC -> h
    boolean $assertionsDisabled -> i
    byte A -> f
    byte B -> g
    1:1:void <clinit>():18:18 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):30:33 -> <init>
    5:11:void <init>(int,int,int):36:42 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
    77:77:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    78:78:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    79:79:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    74:76:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):73:73 -> a
    80:80:int lambda$specify$0(com.android.tools.r8.code.Format22s):25:25 -> a
    81:81:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):25:25 -> a
    82:82:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    83:83:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    83:83:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    84:84:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53:53 -> a
    85:85:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    85:85:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    86:86:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):63:63 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":70,"2":71,"3":72}}
    70:70:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    71:71:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    72:72:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    69:69:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    73:73:int lambda$specify$1(com.android.tools.r8.code.Format22s):25:25 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.code.Format22s):25:25 -> c
    1:1:int hashCode():58:58 -> hashCode
com.android.tools.r8.code.Format22t -> com.android.tools.r8.code.O0:
    short CCCC -> h
    boolean $assertionsDisabled -> i
    byte A -> f
    byte B -> g
    1:1:void <clinit>():20:20 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):32:35 -> <init>
    5:11:void <init>(int,int,int):38:44 -> <init>
    1:1:int[] getTargets():74:74 -> A
    com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint() -> M
    com.android.tools.r8.ir.code.If$Type getType() -> N
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":93,"2":94,"3":95}}
    93:93:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):91:91 -> a
    94:94:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):91:91 -> a
    95:95:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):91:91 -> a
    92:92:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):91:91 -> a
    96:96:int lambda$specify$0(com.android.tools.r8.code.Format22t):27:27 -> a
    97:97:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):27:27 -> a
    98:98:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):54:54 -> a
    99:99:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    99:99:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):54 -> a
    100:100:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55:55 -> a
    101:101:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    101:101:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55 -> a
    102:102:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    103:105:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):79:81 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":88,"2":89,"3":90}}
    88:88:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):86:86 -> b
    89:89:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):86:86 -> b
    90:90:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):86:86 -> b
    87:87:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):86:86 -> b
    91:91:int lambda$specify$1(com.android.tools.r8.code.Format22t):27:27 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.code.Format22t):27:27 -> c
    1:1:int hashCode():60:60 -> hashCode
com.android.tools.r8.code.Format22x -> com.android.tools.r8.code.P0:
    char BBBB -> g
    short AA -> f
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):28:30 -> <init>
    4:8:void <init>(int,int):33:37 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format22x):23:23 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):23:23 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):58:58 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.Format22x):23:23 -> b
    1:1:int hashCode():53:53 -> hashCode
com.android.tools.r8.code.Format23x -> com.android.tools.r8.code.Q0:
    short BB -> g
    short CC -> h
    short AA -> f
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():17:17 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream):29:32 -> <init>
    5:11:void <init>(int,int,int):35:41 -> <init>
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":74,"2":75,"3":76}}
    74:74:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):72:72 -> a
    75:75:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):72:72 -> a
    76:76:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):72:72 -> a
    73:73:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):72:72 -> a
    77:77:int lambda$specify$0(com.android.tools.r8.code.Format23x):24:24 -> a
    78:78:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):24:24 -> a
    79:79:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51:51 -> a
    80:80:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    80:80:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    81:81:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    82:82:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    82:82:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    83:83:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):62:62 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":69,"2":70,"3":71}}
    69:69:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    70:70:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    71:71:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    68:68:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):67:67 -> b
    72:72:int lambda$specify$1(com.android.tools.r8.code.Format23x):24:24 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.code.Format23x):24:24 -> c
    1:1:int hashCode():57:57 -> hashCode
com.android.tools.r8.code.Format30t -> com.android.tools.r8.code.R0:
    int AAAAAAAA -> f
    1:2:void <init>(int,com.android.tools.r8.code.BytecodeStream):21:22 -> <init>
    3:4:void <init>(int):25:26 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":59,"2":60,"3":61}}
    59:59:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):57:57 -> a
    60:60:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):57:57 -> a
    61:61:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):57:57 -> a
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):57:57 -> a
    62:62:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):47:47 -> a
    63:63:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    63:63:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):36 -> a
    64:64:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):37:37 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52:52 -> b
    2:2:java.lang.String com.android.tools.r8.code.Instruction.formatOffset(int):264:264 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):52:52 -> b
    1:1:int hashCode():42:42 -> hashCode
com.android.tools.r8.code.Format31c -> com.android.tools.r8.code.S0:
    short AA -> f
    com.android.tools.r8.graph.DexString BBBBBBBB -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():21:21 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexString[]):32:34 -> <init>
    4:7:void <init>(int,com.android.tools.r8.graph.DexString):37:40 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format31c):27:27 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):27:27 -> a
    3:3:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50:50 -> a
    4:4:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51:51 -> a
    6:6:void com.android.tools.r8.code.Instruction.write32BitReference(com.android.tools.r8.graph.IndexedDexItem,java.nio.ShortBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):133:133 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    7:7:int com.android.tools.r8.graph.DexString.getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):278:278 -> a
    7:7:void com.android.tools.r8.code.Instruction.write32BitReference(com.android.tools.r8.graph.IndexedDexItem,java.nio.ShortBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):133 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    8:8:void com.android.tools.r8.code.Instruction.write32BitReference(com.android.tools.r8.graph.IndexedDexItem,java.nio.ShortBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):133:133 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):51 -> a
    9:9:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> a
    10:10:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76:76 -> a
    11:11:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    11:11:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):76 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":70,"2":71,"3":72}}
    70:70:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> b
    71:71:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> b
    72:72:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> b
    67:69:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):66:66 -> b
    73:73:com.android.tools.r8.graph.DexString lambda$specify$1(com.android.tools.r8.code.Format31c):27:27 -> b
    1:1:int hashCode():56:56 -> hashCode
com.android.tools.r8.code.Format31i -> com.android.tools.r8.code.T0:
    short AA -> f
    int BBBBBBBB -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):28:30 -> <init>
    4:7:void <init>(int,int):33:36 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format31i):23:23 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):23:23 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):57:57 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.Format31i):23:23 -> b
    1:1:int hashCode():52:52 -> hashCode
com.android.tools.r8.code.Format31t -> com.android.tools.r8.code.U0:
    short AA -> f
    int BBBBBBBB -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):28:30 -> <init>
    4:7:void <init>(int,int):33:36 -> <init>
    boolean hasPayload() -> C
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format31t):23:23 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):23:23 -> a
    3:3:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    4:4:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
    5:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:48 -> a
    7:7:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):72:72 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":79,"2":80,"3":81}}
    79:79:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):77:77 -> b
    80:80:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):77:77 -> b
    81:81:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):77:77 -> b
    78:78:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):77:77 -> b
    82:82:int lambda$specify$1(com.android.tools.r8.code.Format31t):23:23 -> b
    1:1:void setPayloadOffset(int):62:62 -> f
    1:1:int hashCode():67:67 -> hashCode
    1:1:int getPayloadOffset():58:58 -> w
com.android.tools.r8.code.Format32x -> com.android.tools.r8.code.V0:
    int AAAA -> f
    int BBBB -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():18:18 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):29:31 -> <init>
    4:8:void <init>(int,int):34:38 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format32x):24:24 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):24:24 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):60:60 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.Format32x):24:24 -> b
    1:1:int hashCode():55:55 -> hashCode
com.android.tools.r8.code.Format35c -> com.android.tools.r8.code.W0:
    byte F -> j
    boolean $assertionsDisabled -> m
    byte E -> i
    byte G -> k
    com.android.tools.r8.graph.IndexedDexItem BBBB -> l
    byte A -> f
    byte D -> h
    byte C -> g
    1:1:void <clinit>():14:14 -> <clinit>
    1:10:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.IndexedDexItem[]):37:46 -> <init>
    11:24:void <init>(int,com.android.tools.r8.graph.IndexedDexItem,int,int,int,int,int):49:62 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format35c):26:26 -> a
    2:8:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):26:32 -> a
    9:9:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):74:74 -> a
    10:18:void appendRegisterArguments(java.lang.StringBuilder,java.lang.String):78:86 -> a
    19:24:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):104:109 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.Format35c):27:27 -> b
    2:10:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):91:99 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.code.Format35c):28:28 -> c
    1:1:int lambda$specify$3(com.android.tools.r8.code.Format35c):29:29 -> d
    1:1:int lambda$specify$4(com.android.tools.r8.code.Format35c):30:30 -> e
    1:1:int lambda$specify$5(com.android.tools.r8.code.Format35c):31:31 -> f
    1:1:com.android.tools.r8.graph.IndexedDexItem lambda$specify$6(com.android.tools.r8.code.Format35c):32:32 -> g
    1:2:int hashCode():67:68 -> hashCode
com.android.tools.r8.code.Format3rc -> com.android.tools.r8.code.X0:
    char CCCC -> g
    short AA -> f
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.IndexedDexItem BBBB -> h
    1:1:void <clinit>():14:14 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.IndexedDexItem[]):27:30 -> <init>
    5:10:void <init>(int,int,com.android.tools.r8.graph.IndexedDexItem):33:38 -> <init>
    1:1:int lambda$specify$0(com.android.tools.r8.code.Format3rc):22:22 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):22:22 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):53:53 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):81:81 -> a
    5:11:void appendRegisterRange(java.lang.StringBuilder):57:63 -> a
    5:11:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):82 -> a
    12:15:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):83:86 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.Format3rc):22:22 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):68:68 -> b
    3:9:void appendRegisterRange(java.lang.StringBuilder):57:63 -> b
    3:9:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):69 -> b
    10:16:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):70:76 -> b
    1:1:com.android.tools.r8.graph.IndexedDexItem lambda$specify$2(com.android.tools.r8.code.Format3rc):22:22 -> c
    1:1:int hashCode():47:47 -> hashCode
com.android.tools.r8.code.Goto -> com.android.tools.r8.code.a1:
    boolean com.android.tools.r8.code.Format10t.$assertionsDisabled -> g
    byte com.android.tools.r8.code.Format10t.AA -> f
    1:1:void com.android.tools.r8.code.Format10t.<clinit>():15:15 -> <clinit>
    1:3:void com.android.tools.r8.code.Format10t.<init>(int,com.android.tools.r8.code.BytecodeStream):21:23 -> <init>
    1:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):15 -> <init>
    4:6:void com.android.tools.r8.code.Format10t.<init>(int):26:28 -> <init>
    4:6:void <init>(int):19 -> <init>
    1:1:int[] getTargets():39:39 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format10t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format10t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format10t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format10t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    6:6:void com.android.tools.r8.code.Format10t.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):38:38 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    7:7:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    7:7:void com.android.tools.r8.code.Format10t.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):38 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    9:9:int com.android.tools.r8.code.Format10t.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):48:48 -> a
    9:9:int com.android.tools.r8.code.Format10t.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String com.android.tools.r8.code.Format10t.toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    1:1:int com.android.tools.r8.code.Format10t.hashCode():43:43 -> hashCode
    1:1:int com.android.tools.r8.code.Format10t.hashCode():0 -> hashCode
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Goto16 -> com.android.tools.r8.code.Y0:
    short com.android.tools.r8.code.Format20t.AAAA -> f
    boolean com.android.tools.r8.code.Format20t.$assertionsDisabled -> g
    1:1:void com.android.tools.r8.code.Format20t.<clinit>():15:15 -> <clinit>
    1:1:void com.android.tools.r8.code.Format20t.<init>(int,com.android.tools.r8.code.BytecodeStream):21:21 -> <init>
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15 -> <init>
    2:2:short com.android.tools.r8.code.Instruction.readSigned16BitValue(com.android.tools.r8.code.BytecodeStream):58:58 -> <init>
    2:2:void com.android.tools.r8.code.Format20t.<init>(int,com.android.tools.r8.code.BytecodeStream):22 -> <init>
    2:2:void <init>(int,com.android.tools.r8.code.BytecodeStream):15 -> <init>
    3:3:void com.android.tools.r8.code.Format20t.<init>(int,com.android.tools.r8.code.BytecodeStream):22:22 -> <init>
    3:3:void <init>(int,com.android.tools.r8.code.BytecodeStream):15 -> <init>
    4:6:void com.android.tools.r8.code.Format20t.<init>(int):25:27 -> <init>
    4:6:void <init>(int):19 -> <init>
    1:1:int[] getTargets():39:39 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format20t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format20t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format20t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format20t.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):58:58 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    7:7:int com.android.tools.r8.code.Format20t.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):48:48 -> a
    7:7:int com.android.tools.r8.code.Format20t.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8:8:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    8:8:void com.android.tools.r8.code.Format20t.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):37 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    9:9:void com.android.tools.r8.code.Format20t.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):38:38 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    10:10:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    10:10:void com.android.tools.r8.code.Format20t.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):38 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format20t.toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format20t.toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format20t.toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format20t.toString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    1:1:int com.android.tools.r8.code.Format20t.hashCode():43:43 -> hashCode
    1:1:int com.android.tools.r8.code.Format20t.hashCode():0 -> hashCode
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Goto32 -> com.android.tools.r8.code.Z0:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    1:1:int[] getTargets():39:39 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.IfEq -> com.android.tools.r8.code.b1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfEqz -> com.android.tools.r8.code.c1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfGe -> com.android.tools.r8.code.d1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfGez -> com.android.tools.r8.code.e1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfGt -> com.android.tools.r8.code.f1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfGtz -> com.android.tools.r8.code.g1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfLe -> com.android.tools.r8.code.h1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfLez -> com.android.tools.r8.code.i1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfLt -> com.android.tools.r8.code.j1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfLtz -> com.android.tools.r8.code.k1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfNe -> com.android.tools.r8.code.l1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IfNez -> com.android.tools.r8.code.m1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint getOperandTypeConstraint():45:45 -> M
    1:1:com.android.tools.r8.ir.code.If$Type getType():40:40 -> N
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.Iget -> com.android.tools.r8.code.n1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IgetBoolean -> com.android.tools.r8.code.o1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IgetByte -> com.android.tools.r8.code.p1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IgetChar -> com.android.tools.r8.code.q1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IgetObject -> com.android.tools.r8.code.r1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IgetOrIput -> com.android.tools.r8.code.s1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexField[]):17:17 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):21:21 -> <init>
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):30:30 -> a
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):30 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):31:31 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46:46 -> a
    5:5:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):46 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    7:7:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48:48 -> a
    1:1:com.android.tools.r8.graph.DexField getField():36:36 -> getField
com.android.tools.r8.code.IgetShort -> com.android.tools.r8.code.t1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IgetWide -> com.android.tools.r8.code.u1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.InstanceOf -> com.android.tools.r8.code.v1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):24:24 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexType):28:28 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():67:67 -> M
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):62:62 -> a
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):62 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63:63 -> a
    4:4:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6,"2":7,"3":8}}
    6:6:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> a
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> a
    8:8:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    8:8:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> a
    9:9:void registerUse(com.android.tools.r8.graph.UseRegistry):72:72 -> a
    10:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):77:77 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):92:92 -> a
    12:12:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":108,"2":109,"3":110}}
    108:108:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):92:92 -> a
    109:109:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    109:109:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):92 -> a
    110:110:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    110:110:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):92 -> a
    105:105:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):93:93 -> a
    106:106:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    106:106:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):93 -> a
    107:107:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):94:94 -> a
    com.android.tools.r8.code.InstanceOf asInstanceOf() -> i
    boolean canThrow() -> m
    1:1:java.lang.String getName():43:43 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():48:48 -> z
com.android.tools.r8.code.Instruction -> com.android.tools.r8.code.w1:
    int[] EXIT_TARGET -> d
    boolean $assertionsDisabled -> e
    int offset -> b
    com.android.tools.r8.code.Instruction[] EMPTY_ARRAY -> c
    1:5:void <clinit>():31:35 -> <clinit>
    1:3:void <init>(com.android.tools.r8.code.BytecodeStream):39:41 -> <init>
    4:5:void <init>():44:45 -> <init>
    int[] getTargets() -> A
    1:1:boolean hasOffset():137:137 -> B
    boolean hasPayload() -> C
    boolean isCheckCast() -> D
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    boolean isConstString() -> G
    boolean isDexItemBasedConstString() -> H
    boolean isIntSwitch() -> I
    boolean isPayload() -> J
    1:1:boolean isSimpleNop():232:232 -> K
    boolean isSwitchPayload() -> L
    void buildIR(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String formatSmaliString(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":295,"2":296,"3":297}}
    295:295:java.lang.String formatSmaliString(java.lang.String):285:285 -> a
    296:296:java.lang.String formatSmaliString(java.lang.String):285:285 -> a
    297:297:java.lang.String formatSmaliString(java.lang.String):286:286 -> a
    289:294:java.lang.String formatSmaliString(java.lang.String):288:293 -> a
    int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
    void registerUse(com.android.tools.r8.graph.UseRegistry) -> a
    java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper) -> a
    void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    298:298:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):31:31 -> a
    299:300:int acceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):345:346 -> a
    299:300:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):31 -> a
    301:301:char read16BitValue(com.android.tools.r8.code.BytecodeStream):62:62 -> a
    302:302:void writeFirst(int,java.nio.ShortBuffer,int):99:99 -> a
    303:303:void writeFirst(int,int,java.nio.ShortBuffer,int):107:107 -> a
    304:305:void write32BitValue(long,java.nio.ShortBuffer):115:116 -> a
    306:307:void write16BitReference(com.android.tools.r8.graph.IndexedDexItem,java.nio.ShortBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):126:127 -> a
    308:308:void write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    308:308:void write16BitReference(com.android.tools.r8.graph.IndexedDexItem,java.nio.ShortBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):128 -> a
    309:309:java.lang.String formatRelativeOffset(int):272:272 -> a
    310:310:java.lang.String formatOffset(int):264:264 -> a
    310:310:java.lang.String formatRelativeOffset(int):272 -> a
    311:311:java.lang.String formatRelativeOffset(int):272:272 -> a
    312:312:java.lang.String formatRelativeOffset(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":315,"2":316,"3":317,"4":318,"5":319}}
    315:315:java.lang.String formatDecimalOffset(int):268:268 -> a
    315:315:java.lang.String formatRelativeOffset(int):272 -> a
    316:316:java.lang.String formatDecimalOffset(int):268:268 -> a
    316:316:java.lang.String formatRelativeOffset(int):272 -> a
    317:317:java.lang.String formatDecimalOffset(int):268:268 -> a
    317:317:java.lang.String formatRelativeOffset(int):272 -> a
    318:318:java.lang.String formatDecimalOffset(int):268:268 -> a
    318:318:java.lang.String formatRelativeOffset(int):272 -> a
    319:319:java.lang.String formatDecimalOffset(int):268:268 -> a
    319:319:java.lang.String formatRelativeOffset(int):272 -> a
    313:313:java.lang.String formatDecimalOffset(int):268:268 -> a
    313:313:java.lang.String formatRelativeOffset(int):272 -> a
    314:314:java.lang.String formatRelativeOffset(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":320,"2":321,"3":322}}
    320:320:java.lang.String formatRelativeOffset(int):272:272 -> a
    321:321:java.lang.String formatRelativeOffset(int):272:272 -> a
    322:322:java.lang.String formatRelativeOffset(int):272:272 -> a
    323:323:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):355:355 -> a
    324:324:java.lang.String toSmaliString(com.android.tools.r8.code.Instruction):367:367 -> a
    com.android.tools.r8.cf.code.CfInstruction asCfInstruction() -> b
    java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper) -> b
    1:1:char read16BitValue(com.android.tools.r8.code.BytecodeStream):62:62 -> b
    1:1:long read32BitValue(com.android.tools.r8.code.BytecodeStream):73 -> b
    2:2:char read16BitValue(com.android.tools.r8.code.BytecodeStream):62:62 -> b
    2:2:long read32BitValue(com.android.tools.r8.code.BytecodeStream):74 -> b
    3:4:java.lang.String formatString(java.lang.String):276:277 -> b
    5:5:java.lang.String formatOffset(int):264:264 -> b
    5:5:java.lang.String formatString(java.lang.String):277 -> b
    6:10:java.lang.String formatString(java.lang.String):277:281 -> b
    11:11:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):379:379 -> b
    com.android.tools.r8.code.Instruction asDexInstruction() -> c
    1:1:short read8BitValue(com.android.tools.r8.code.BytecodeStream):53:53 -> c
    com.android.tools.r8.code.CheckCast asCheckCast() -> d
    short combineBytes(int,int) -> d
    1:1:short readSigned16BitValue(com.android.tools.r8.code.BytecodeStream):58:58 -> d
    2:2:void setOffset(int):145:145 -> d
    com.android.tools.r8.code.ConstClass asConstClass() -> e
    int makeByte(int,int) -> e
    1:1:char read16BitValue(com.android.tools.r8.code.BytecodeStream):62:62 -> e
    1:1:int readSigned32BitValue(com.android.tools.r8.code.BytecodeStream):66 -> e
    2:2:char read16BitValue(com.android.tools.r8.code.BytecodeStream):62:62 -> e
    2:2:int readSigned32BitValue(com.android.tools.r8.code.BytecodeStream):67 -> e
    1:1:boolean equals(java.lang.Object):320:320 -> equals
    com.android.tools.r8.code.ConstString asConstString() -> f
    1:1:byte readSigned8BitValue(com.android.tools.r8.code.BytecodeStream):49:49 -> f
    com.android.tools.r8.code.ConstStringJumbo asConstStringJumbo() -> g
    com.android.tools.r8.code.DexItemBasedConstString asDexItemBasedConstString() -> h
    com.android.tools.r8.code.InstanceOf asInstanceOf() -> i
    com.android.tools.r8.code.InvokeVirtual asInvokeVirtual() -> k
    com.android.tools.r8.code.InvokeVirtualRange asInvokeVirtualRange() -> l
    boolean canThrow() -> m
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():333:333 -> n
    com.android.tools.r8.graph.DexCallSite getCallSite() -> o
    1:1:int getCompareToId():337:337 -> p
    com.android.tools.r8.graph.DexMethod getMethod() -> s
    java.lang.String getName() -> t
    1:1:java.lang.String toString():384:384 -> toString
    1:1:int getOffset():141:141 -> u
    int getOpcode() -> v
    int getPayloadOffset() -> w
    int getSize() -> x
    java.lang.String getSmaliName() -> z
com.android.tools.r8.code.InstructionFactory -> com.android.tools.r8.code.y1:
    1:1:void com.android.tools.r8.code.BaseInstructionFactory.<init>():8:8 -> <init>
    1:1:void <init>():11 -> <init>
    1:4:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):22:25 -> a
    5:6:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):15:16 -> a
    5:6:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    7:7:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):462:462 -> a
    7:7:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    7:7:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    8:8:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":774,"2":775,"3":776}}
    774:774:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):462:462 -> a
    774:774:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    774:774:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    775:775:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):462:462 -> a
    775:775:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    775:775:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    776:776:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):462:462 -> a
    776:776:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    776:776:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    9:9:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):462:462 -> a
    9:9:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    9:9:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    10:10:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):136:136 -> a
    10:10:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    10:10:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    11:11:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):134:134 -> a
    11:11:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    11:11:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    12:12:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):132:132 -> a
    12:12:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    12:12:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    13:13:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):130:130 -> a
    13:13:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    13:13:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    14:14:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):128:128 -> a
    14:14:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    14:14:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    15:15:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):126:126 -> a
    15:15:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    15:15:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    16:16:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):124:124 -> a
    16:16:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    16:16:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    17:17:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):122:122 -> a
    17:17:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    17:17:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    18:18:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):120:120 -> a
    18:18:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    18:18:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    19:19:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):118:118 -> a
    19:19:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    19:19:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    20:20:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):116:116 -> a
    20:20:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    20:20:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    21:21:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):114:114 -> a
    21:21:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    21:21:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    22:22:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):112:112 -> a
    22:22:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    22:22:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    23:23:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):110:110 -> a
    23:23:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    23:23:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    24:24:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):108:108 -> a
    24:24:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    24:24:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    25:25:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):106:106 -> a
    25:25:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    25:25:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    26:26:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):104:104 -> a
    26:26:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    26:26:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    27:27:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):102:102 -> a
    27:27:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    27:27:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    28:28:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):100:100 -> a
    28:28:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    28:28:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    29:29:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):98:98 -> a
    29:29:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    29:29:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    30:30:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):96:96 -> a
    30:30:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    30:30:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    31:31:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):94:94 -> a
    31:31:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    31:31:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    32:32:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):92:92 -> a
    32:32:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    32:32:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    33:33:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):90:90 -> a
    33:33:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    33:33:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    34:34:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):88:88 -> a
    34:34:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    34:34:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    35:35:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):86:86 -> a
    35:35:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    35:35:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    36:36:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):84:84 -> a
    36:36:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    36:36:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    37:37:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):82:82 -> a
    37:37:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    37:37:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    38:38:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):80:80 -> a
    38:38:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    38:38:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    39:39:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):78:78 -> a
    39:39:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    39:39:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    40:40:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):76:76 -> a
    40:40:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    40:40:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    41:41:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):74:74 -> a
    41:41:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    41:41:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    42:42:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):72:72 -> a
    42:42:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    42:42:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    43:43:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):70:70 -> a
    43:43:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    43:43:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    44:44:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):68:68 -> a
    44:44:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    44:44:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    45:45:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):66:66 -> a
    45:45:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    45:45:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    46:46:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):64:64 -> a
    46:46:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    46:46:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    47:47:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):62:62 -> a
    47:47:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    47:47:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    48:48:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):60:60 -> a
    48:48:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    48:48:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    49:49:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):58:58 -> a
    49:49:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    49:49:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    50:50:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):56:56 -> a
    50:50:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    50:50:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    51:51:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):54:54 -> a
    51:51:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    51:51:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    52:52:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping) -> a
    52:52:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    52:52:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    53:53:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):50:50 -> a
    53:53:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    53:53:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    54:54:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):48:48 -> a
    54:54:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    54:54:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    55:55:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):46:46 -> a
    55:55:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    55:55:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    56:56:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):44:44 -> a
    56:56:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    56:56:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    57:57:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):42:42 -> a
    57:57:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    57:57:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    58:58:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):40:40 -> a
    58:58:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    58:58:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    59:59:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):38:38 -> a
    59:59:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    59:59:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    60:60:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):36:36 -> a
    60:60:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    60:60:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    61:61:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):34:34 -> a
    61:61:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    61:61:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    62:62:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):32:32 -> a
    62:62:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    62:62:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    63:63:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):30:30 -> a
    63:63:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    63:63:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    64:64:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):28:28 -> a
    64:64:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    64:64:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    65:65:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):26:26 -> a
    65:65:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    65:65:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    66:66:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):24:24 -> a
    66:66:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    66:66:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    67:67:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):22:22 -> a
    67:67:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    67:67:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    68:68:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):20:20 -> a
    68:68:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    68:68:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    69:69:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> a
    69:69:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    69:69:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    70:70:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):16:16 -> a
    70:70:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    70:70:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    71:71:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):14:14 -> a
    71:71:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    71:71:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    72:72:com.android.tools.r8.code.Nop com.android.tools.r8.code.Nop.create(int,com.android.tools.r8.code.BytecodeStream):31:31 -> a
    72:72:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):14 -> a
    72:72:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    72:72:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    73:73:com.android.tools.r8.code.Nop com.android.tools.r8.code.Nop.create(int,com.android.tools.r8.code.BytecodeStream):29:29 -> a
    73:73:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):14 -> a
    73:73:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    73:73:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    74:74:com.android.tools.r8.code.Nop com.android.tools.r8.code.Nop.create(int,com.android.tools.r8.code.BytecodeStream):27:27 -> a
    74:74:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):14 -> a
    74:74:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    74:74:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    75:75:com.android.tools.r8.code.Nop com.android.tools.r8.code.Nop.create(int,com.android.tools.r8.code.BytecodeStream):25:25 -> a
    75:75:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):14 -> a
    75:75:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    75:75:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    76:76:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):230:230 -> a
    76:76:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    76:76:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    77:77:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):228:228 -> a
    77:77:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    77:77:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    78:78:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):226:226 -> a
    78:78:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    78:78:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    79:79:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):224:224 -> a
    79:79:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    79:79:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    80:80:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):222:222 -> a
    80:80:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    80:80:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    81:81:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):220:220 -> a
    81:81:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    81:81:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    82:82:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):218:218 -> a
    82:82:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    82:82:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    83:83:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):216:216 -> a
    83:83:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    83:83:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    84:84:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):214:214 -> a
    84:84:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    84:84:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    85:85:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):212:212 -> a
    85:85:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    85:85:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    86:86:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):210:210 -> a
    86:86:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    86:86:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    87:87:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):208:208 -> a
    87:87:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    87:87:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    88:88:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):206:206 -> a
    88:88:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    88:88:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    89:89:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):204:204 -> a
    89:89:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    89:89:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    90:90:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):202:202 -> a
    90:90:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    90:90:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    91:91:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):200:200 -> a
    91:91:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    91:91:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    92:92:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):198:198 -> a
    92:92:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    92:92:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    93:93:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):196:196 -> a
    93:93:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    93:93:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    94:94:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):194:194 -> a
    94:94:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    94:94:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    95:95:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):192:192 -> a
    95:95:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    95:95:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    96:96:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):190:190 -> a
    96:96:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    96:96:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    97:97:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):188:188 -> a
    97:97:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    97:97:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    98:98:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):186:186 -> a
    98:98:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    98:98:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    99:99:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):184:184 -> a
    99:99:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    99:99:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    100:100:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):182:182 -> a
    100:100:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    100:100:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    101:101:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):180:180 -> a
    101:101:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    101:101:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    102:102:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):178:178 -> a
    102:102:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    102:102:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    103:103:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):176:176 -> a
    103:103:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    103:103:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    104:104:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):174:174 -> a
    104:104:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    104:104:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    105:105:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):172:172 -> a
    105:105:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    105:105:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    106:106:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):170:170 -> a
    106:106:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    106:106:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    107:107:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):168:168 -> a
    107:107:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    107:107:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    108:108:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):166:166 -> a
    108:108:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    108:108:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    109:109:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):164:164 -> a
    109:109:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    109:109:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    110:110:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):162:162 -> a
    110:110:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    110:110:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    111:111:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):160:160 -> a
    111:111:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    111:111:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    112:112:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):158:158 -> a
    112:112:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    112:112:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    113:113:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):156:156 -> a
    113:113:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    113:113:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    114:114:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):154:154 -> a
    114:114:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    114:114:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    115:115:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):152:152 -> a
    115:115:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    115:115:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    116:116:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):150:150 -> a
    116:116:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    116:116:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    117:117:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):148:148 -> a
    117:117:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    117:117:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    118:118:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):146:146 -> a
    118:118:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    118:118:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    119:119:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):144:144 -> a
    119:119:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    119:119:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    120:120:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):142:142 -> a
    120:120:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    120:120:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    121:121:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):140:140 -> a
    121:121:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    121:121:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    122:224:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):138:240 -> a
    122:224:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    122:224:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    225:225:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):238:238 -> a
    225:225:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    225:225:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    226:226:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):236:236 -> a
    226:226:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    226:226:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    227:227:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):234:234 -> a
    227:227:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    227:227:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    228:444:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):232:448 -> a
    228:444:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    228:444:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    445:445:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):446:446 -> a
    445:445:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    445:445:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    446:446:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):444:444 -> a
    446:446:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    446:446:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    447:447:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):442:442 -> a
    447:447:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    447:447:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    448:448:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):440:440 -> a
    448:448:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    448:448:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    449:449:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):438:438 -> a
    449:449:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    449:449:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    450:450:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):436:436 -> a
    450:450:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    450:450:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    451:451:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):434:434 -> a
    451:451:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    451:451:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    452:452:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):432:432 -> a
    452:452:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    452:452:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    453:453:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):430:430 -> a
    453:453:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    453:453:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    454:454:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):428:428 -> a
    454:454:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    454:454:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    455:455:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):426:426 -> a
    455:455:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    455:455:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    456:456:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):424:424 -> a
    456:456:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    456:456:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    457:457:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):422:422 -> a
    457:457:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    457:457:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    458:458:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):420:420 -> a
    458:458:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    458:458:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    459:459:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):418:418 -> a
    459:459:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    459:459:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    460:460:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):416:416 -> a
    460:460:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    460:460:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    461:461:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):414:414 -> a
    461:461:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    461:461:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    462:462:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):412:412 -> a
    462:462:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    462:462:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    463:463:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):410:410 -> a
    463:463:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    463:463:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    464:464:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):408:408 -> a
    464:464:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    464:464:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    465:465:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):406:406 -> a
    465:465:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    465:465:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    466:466:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):404:404 -> a
    466:466:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    466:466:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    467:467:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):402:402 -> a
    467:467:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    467:467:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    468:468:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):400:400 -> a
    468:468:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    468:468:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    469:469:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):398:398 -> a
    469:469:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    469:469:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    470:470:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):396:396 -> a
    470:470:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    470:470:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    471:471:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):394:394 -> a
    471:471:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    471:471:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    472:472:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):392:392 -> a
    472:472:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    472:472:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    473:473:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):390:390 -> a
    473:473:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    473:473:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    474:474:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):388:388 -> a
    474:474:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    474:474:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    475:475:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):386:386 -> a
    475:475:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    475:475:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    476:476:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):384:384 -> a
    476:476:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    476:476:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    477:477:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):382:382 -> a
    477:477:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    477:477:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    478:478:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):380:380 -> a
    478:478:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    478:478:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    479:479:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):378:378 -> a
    479:479:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    479:479:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    480:480:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):376:376 -> a
    480:480:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    480:480:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    481:481:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):374:374 -> a
    481:481:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    481:481:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    482:482:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):372:372 -> a
    482:482:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    482:482:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    483:483:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):370:370 -> a
    483:483:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    483:483:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    484:484:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):368:368 -> a
    484:484:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    484:484:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    485:485:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):366:366 -> a
    485:485:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    485:485:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    486:486:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):364:364 -> a
    486:486:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    486:486:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    487:487:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):362:362 -> a
    487:487:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    487:487:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    488:488:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):360:360 -> a
    488:488:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    488:488:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    489:489:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):358:358 -> a
    489:489:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    489:489:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    490:490:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):356:356 -> a
    490:490:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    490:490:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    491:491:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):354:354 -> a
    491:491:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    491:491:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    492:492:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):352:352 -> a
    492:492:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    492:492:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    493:493:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):350:350 -> a
    493:493:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    493:493:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    494:494:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):348:348 -> a
    494:494:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    494:494:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    495:495:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):346:346 -> a
    495:495:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    495:495:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    496:496:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):344:344 -> a
    496:496:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    496:496:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    497:497:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):342:342 -> a
    497:497:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    497:497:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    498:498:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):340:340 -> a
    498:498:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    498:498:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    499:499:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):338:338 -> a
    499:499:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    499:499:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    500:500:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):336:336 -> a
    500:500:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    500:500:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    501:501:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):334:334 -> a
    501:501:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    501:501:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    502:502:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):332:332 -> a
    502:502:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    502:502:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    503:503:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):330:330 -> a
    503:503:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    503:503:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    504:504:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):328:328 -> a
    504:504:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    504:504:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    505:505:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):326:326 -> a
    505:505:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    505:505:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    506:506:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):324:324 -> a
    506:506:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    506:506:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    507:507:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):322:322 -> a
    507:507:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    507:507:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    508:508:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):320:320 -> a
    508:508:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    508:508:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    509:509:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):318:318 -> a
    509:509:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    509:509:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    510:510:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):316:316 -> a
    510:510:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    510:510:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    511:511:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):314:314 -> a
    511:511:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    511:511:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    512:512:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):312:312 -> a
    512:512:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    512:512:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    513:513:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):310:310 -> a
    513:513:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    513:513:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    514:514:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):308:308 -> a
    514:514:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    514:514:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    515:515:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):306:306 -> a
    515:515:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    515:515:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    516:516:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):304:304 -> a
    516:516:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    516:516:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    517:517:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):302:302 -> a
    517:517:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    517:517:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    518:518:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):300:300 -> a
    518:518:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    518:518:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    519:519:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):298:298 -> a
    519:519:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    519:519:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    520:520:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):296:296 -> a
    520:520:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    520:520:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    521:521:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):294:294 -> a
    521:521:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    521:521:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    522:522:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):292:292 -> a
    522:522:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    522:522:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    523:523:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):290:290 -> a
    523:523:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    523:523:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    524:524:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):288:288 -> a
    524:524:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    524:524:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    525:525:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):286:286 -> a
    525:525:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    525:525:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    526:526:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):284:284 -> a
    526:526:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    526:526:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    527:527:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):282:282 -> a
    527:527:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    527:527:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    528:528:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):280:280 -> a
    528:528:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    528:528:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    529:529:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):278:278 -> a
    529:529:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    529:529:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    530:530:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):276:276 -> a
    530:530:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    530:530:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    531:531:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):274:274 -> a
    531:531:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    531:531:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    532:532:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):272:272 -> a
    532:532:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    532:532:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    533:533:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):270:270 -> a
    533:533:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    533:533:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    534:534:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):268:268 -> a
    534:534:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    534:534:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    535:535:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):266:266 -> a
    535:535:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    535:535:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    536:536:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):264:264 -> a
    536:536:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    536:536:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    537:537:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):262:262 -> a
    537:537:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    537:537:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    538:538:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):260:260 -> a
    538:538:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    538:538:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    539:539:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):258:258 -> a
    539:539:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    539:539:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    540:540:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):256:256 -> a
    540:540:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    540:540:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    541:541:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):254:254 -> a
    541:541:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    541:541:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    542:542:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):252:252 -> a
    542:542:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    542:542:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    543:543:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):250:250 -> a
    543:543:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    543:543:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    544:544:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):248:248 -> a
    544:544:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    544:544:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    545:545:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):246:246 -> a
    545:545:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    545:545:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    546:546:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):244:244 -> a
    546:546:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    546:546:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    547:765:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):242:460 -> a
    547:765:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    547:765:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    766:766:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):458:458 -> a
    766:766:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    766:766:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    767:767:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):456:456 -> a
    767:767:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    767:767:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    768:768:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):454:454 -> a
    768:768:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    768:768:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    769:769:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):452:452 -> a
    769:769:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    769:769:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    770:770:com.android.tools.r8.code.Instruction com.android.tools.r8.code.BaseInstructionFactory.create(int,int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):450:450 -> a
    770:770:com.android.tools.r8.code.Instruction readFrom(com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):17 -> a
    770:770:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):26 -> a
    771:773:com.android.tools.r8.code.Instruction[] readSequenceFrom(java.nio.ShortBuffer,int,int,com.android.tools.r8.graph.OffsetToObjectMapping):27:29 -> a
com.android.tools.r8.code.InstructionFactory$ShortBufferBytecodeStream -> com.android.tools.r8.code.x1:
    boolean cacheContainsValidByte -> f
    int offset -> d
    boolean $assertionsDisabled -> g
    int nextByte -> e
    int startIndex -> b
    java.nio.ShortBuffer source -> c
    int length -> a
    1:1:void <clinit>():32:32 -> <clinit>
    1:1:void <init>(java.nio.ShortBuffer,int,int):42:42 -> <init>
    2:9:void <init>(java.nio.ShortBuffer,int,int):38:45 -> <init>
    1:7:int nextByte():59:65 -> a
    1:4:int nextShort():50:53 -> b
    1:1:boolean hasMore():72:72 -> c
    1:1:int getOffset():77:77 -> getOffset
com.android.tools.r8.code.IntToByte -> com.android.tools.r8.code.z1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.IntToChar -> com.android.tools.r8.code.A1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IntToDouble -> com.android.tools.r8.code.B1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IntToFloat -> com.android.tools.r8.code.C1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.IntToLong -> com.android.tools.r8.code.D1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.IntToShort -> com.android.tools.r8.code.E1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.InvokeCustom -> com.android.tools.r8.code.F1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):24:24 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexCallSite,int,int,int,int,int):28:28 -> <init>
    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():63:63 -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68:68 -> a
    3:4:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1540:1541 -> a
    3:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    5:5:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    5:5:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1543 -> a
    5:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    6:6:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    6:6:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1543 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    7:7:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isStaticPut():129:129 -> a
    7:7:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298 -> a
    7:7:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1543 -> a
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    8:8:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    8:8:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1543 -> a
    8:8:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    9:9:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isStaticGet():133:133 -> a
    9:9:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298 -> a
    9:9:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1543 -> a
    9:9:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    10:10:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    10:10:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1543 -> a
    10:10:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    11:23:void com.android.tools.r8.ir.conversion.IRBuilder.addInvokeCustomRegisters(com.android.tools.r8.graph.DexCallSite,int,int[]):1544:1556 -> a
    11:23:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    24:24:com.android.tools.r8.graph.DexCallSite getCallSite():63:63 -> a
    24:24:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    25:26:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:53 -> a
    27:28:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):164:165 -> a
    27:28:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    29:29:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    29:29:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):165 -> a
    29:29:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    30:33:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):166:169 -> a
    30:33:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    34:34:com.android.tools.r8.graph.DexCallSite getCallSite():63:63 -> a
    34:34:void registerUse(com.android.tools.r8.graph.UseRegistry):58 -> a
    35:35:void registerUse(com.android.tools.r8.graph.UseRegistry):58:58 -> a
    36:36:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83:83 -> a
    37:37:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    37:37:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83 -> a
    38:38:com.android.tools.r8.graph.DexCallSite getCallSite():63:63 -> a
    38:38:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):84 -> a
    39:40:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):84:85 -> a
    41:41:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    41:41:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):85 -> a
    boolean canThrow() -> m
    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():63:63 -> o
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeCustomRange -> com.android.tools.r8.code.G1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):24:24 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexCallSite):28:28 -> <init>
    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():58:58 -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):68:68 -> a
    3:3:com.android.tools.r8.graph.DexCallSite getCallSite():58:58 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    4:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:53 -> a
    6:7:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):164:165 -> a
    6:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    8:8:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    8:8:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):165 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    9:12:void com.android.tools.r8.graph.DexCallSite.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):166:169 -> a
    9:12:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    13:13:com.android.tools.r8.graph.DexCallSite getCallSite():58:58 -> a
    13:13:void registerUse(com.android.tools.r8.graph.UseRegistry):63 -> a
    14:14:void registerUse(com.android.tools.r8.graph.UseRegistry):63:63 -> a
    15:15:com.android.tools.r8.graph.DexCallSite getCallSite():58:58 -> a
    15:15:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83 -> a
    16:17:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83:84 -> a
    18:18:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    18:18:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):84 -> a
    19:20:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):85:86 -> a
    21:21:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    21:21:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):86 -> a
    boolean canThrow() -> m
    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():58:58 -> o
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeDirect -> com.android.tools.r8.code.H1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,int,int,int,int,int):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeDirectRange -> com.android.tools.r8.code.I1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexMethod):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeInterface -> com.android.tools.r8.code.J1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,int,int,int,int,int):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeInterfaceRange -> com.android.tools.r8.code.K1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexMethod):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeMethod -> com.android.tools.r8.code.L1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[]):19:19 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,int,int,int,int,int):23:23 -> <init>
    com.android.tools.r8.ir.code.Invoke$Type getInvokeType() -> M
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):33:33 -> a
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):33 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):33:34 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    6:6:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53:55 -> a
    10:10:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55 -> a
    1:1:com.android.tools.r8.graph.DexMethod getMethod():39:39 -> s
com.android.tools.r8.code.InvokeMethodRange -> com.android.tools.r8.code.M1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[]):19:19 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexMethod):23:23 -> <init>
    com.android.tools.r8.ir.code.Invoke$Type getInvokeType() -> M
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):33:33 -> a
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):33 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):33:34 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    6:6:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53:55 -> a
    10:10:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):55 -> a
    1:1:com.android.tools.r8.graph.DexMethod getMethod():39:39 -> s
com.android.tools.r8.code.InvokePolymorphic -> com.android.tools.r8.code.N1:
    byte com.android.tools.r8.code.Format45cc.F -> j
    byte com.android.tools.r8.code.Format45cc.E -> i
    boolean com.android.tools.r8.code.Format45cc.$assertionsDisabled -> n
    byte com.android.tools.r8.code.Format45cc.G -> k
    com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.BBBB -> l
    byte com.android.tools.r8.code.Format45cc.A -> f
    byte com.android.tools.r8.code.Format45cc.D -> h
    com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format45cc.HHHH -> m
    byte com.android.tools.r8.code.Format45cc.C -> g
    1:1:void com.android.tools.r8.code.Format45cc.<clinit>():24:24 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23:23 -> <init>
    2:4:void com.android.tools.r8.code.Format45cc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):47:49 -> <init>
    2:4:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23 -> <init>
    5:5:char com.android.tools.r8.code.Instruction.read16BitValue(com.android.tools.r8.code.BytecodeStream):62:62 -> <init>
    5:5:void com.android.tools.r8.code.Format45cc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):50 -> <init>
    5:5:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23 -> <init>
    6:6:void com.android.tools.r8.code.Format45cc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):50:50 -> <init>
    6:6:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23 -> <init>
    7:7:short com.android.tools.r8.code.Instruction.read8BitValue(com.android.tools.r8.code.BytecodeStream):53:53 -> <init>
    7:7:void com.android.tools.r8.code.Format45cc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):51 -> <init>
    7:7:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23 -> <init>
    8:9:void com.android.tools.r8.code.Format45cc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):52:53 -> <init>
    8:9:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23 -> <init>
    10:10:short com.android.tools.r8.code.Instruction.read8BitValue(com.android.tools.r8.code.BytecodeStream):53:53 -> <init>
    10:10:void com.android.tools.r8.code.Format45cc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):54 -> <init>
    10:10:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23 -> <init>
    11:12:void com.android.tools.r8.code.Format45cc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):55:56 -> <init>
    11:12:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23 -> <init>
    13:13:char com.android.tools.r8.code.Instruction.read16BitValue(com.android.tools.r8.code.BytecodeStream):62:62 -> <init>
    13:13:void com.android.tools.r8.code.Format45cc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):57 -> <init>
    13:13:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23 -> <init>
    14:14:void com.android.tools.r8.code.Format45cc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):57:57 -> <init>
    14:14:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):23 -> <init>
    15:29:void com.android.tools.r8.code.Format45cc.<init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto,int,int,int,int,int):61:75 -> <init>
    15:29:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto,int,int,int,int,int):28 -> <init>
    int com.android.tools.r8.code.Format45cc.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):33:33 -> a
    2:2:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():176:176 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):34 -> a
    3:3:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format45cc.getProto():181:181 -> a
    3:3:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):34 -> a
    4:4:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):34:34 -> a
    5:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):33:33 -> a
    6:6:int com.android.tools.r8.code.Format45cc.lambda$specify$0(com.android.tools.r8.code.Format45cc):36:36 -> a
    7:14:void com.android.tools.r8.code.Format45cc.specify(com.android.tools.r8.utils.structural.StructuralSpecification):36:43 -> a
    15:21:java.lang.String com.android.tools.r8.code.Format45cc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):131:137 -> a
    15:21:java.lang.String com.android.tools.r8.code.Format45cc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    22:22:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    22:22:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> a
    22:22:java.lang.String com.android.tools.r8.code.Format45cc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):137 -> a
    22:22:java.lang.String com.android.tools.r8.code.Format45cc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    23:24:java.lang.String com.android.tools.r8.code.Format45cc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):137:138 -> a
    23:24:java.lang.String com.android.tools.r8.code.Format45cc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    25:33:void com.android.tools.r8.code.Format45cc.appendRegisterArguments(java.lang.StringBuilder,java.lang.String):163:171 -> a
    34:34:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():176:176 -> a
    34:34:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):103 -> a
    34:34:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    35:35:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):103:103 -> a
    35:35:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    36:36:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    36:36:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):103 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    37:38:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):104:105 -> a
    37:38:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    39:39:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format45cc.getProto():181:181 -> a
    39:39:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):107 -> a
    39:39:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    40:41:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):107:108 -> a
    40:41:void com.android.tools.r8.code.Format45cc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    42:42:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():176:176 -> a
    42:42:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):119 -> a
    42:42:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    43:43:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):119:119 -> a
    43:43:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    44:44:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    44:44:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    45:46:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):120:121 -> a
    45:46:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    47:47:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    47:47:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):121 -> a
    47:47:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    48:49:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):122:123 -> a
    48:49:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    50:50:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    50:50:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):123 -> a
    50:50:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    51:51:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format45cc.getProto():181:181 -> a
    51:51:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125 -> a
    51:51:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    52:53:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):125:126 -> a
    52:53:void com.android.tools.r8.code.Format45cc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.code.Format45cc.lambda$specify$1(com.android.tools.r8.code.Format45cc):37:37 -> b
    2:2:int com.android.tools.r8.code.Format45cc.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):93:93 -> b
    3:6:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):143:146 -> b
    3:6:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    7:9:java.lang.String com.android.tools.r8.code.Format45cc.itemToString(com.android.tools.r8.graph.IndexedDexItem,com.android.tools.r8.naming.ClassNameMapper):155:157 -> b
    7:9:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):146 -> b
    7:9:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    10:12:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):146:148 -> b
    10:12:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    13:15:java.lang.String com.android.tools.r8.code.Format45cc.itemToString(com.android.tools.r8.graph.IndexedDexItem,com.android.tools.r8.naming.ClassNameMapper):155:157 -> b
    13:15:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):148 -> b
    13:15:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    16:17:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):148:149 -> b
    16:17:java.lang.String com.android.tools.r8.code.Format45cc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.code.Format45cc.lambda$specify$2(com.android.tools.r8.code.Format45cc):38:38 -> c
    1:1:int com.android.tools.r8.code.Format45cc.lambda$specify$3(com.android.tools.r8.code.Format45cc):39:39 -> d
    1:1:int com.android.tools.r8.code.Format45cc.lambda$specify$4(com.android.tools.r8.code.Format45cc):40:40 -> e
    1:1:int com.android.tools.r8.code.Format45cc.lambda$specify$5(com.android.tools.r8.code.Format45cc):41:41 -> f
    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.lambda$specify$6(com.android.tools.r8.code.Format45cc):42:42 -> g
    1:1:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format45cc.lambda$specify$7(com.android.tools.r8.code.Format45cc):43:43 -> h
    1:9:int com.android.tools.r8.code.Format45cc.hashCode():80:88 -> hashCode
    1:9:int com.android.tools.r8.code.Format45cc.hashCode():0 -> hashCode
      # {"id":"com.android.tools.r8.synthesized"}
    boolean canThrow() -> m
    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():176:176 -> s
    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format45cc.getMethod():0 -> s
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String getName():39:39 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():44:44 -> z
com.android.tools.r8.code.InvokePolymorphicRange -> com.android.tools.r8.code.O1:
    char com.android.tools.r8.code.Format4rcc.CCCC -> g
    com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format4rcc.HHHH -> i
    short com.android.tools.r8.code.Format4rcc.AA -> f
    boolean com.android.tools.r8.code.Format4rcc.$assertionsDisabled -> j
    com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format4rcc.BBBB -> h
    1:1:void com.android.tools.r8.code.Format4rcc.<clinit>():24:24 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):21:21 -> <init>
    2:3:void com.android.tools.r8.code.Format4rcc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):37:38 -> <init>
    2:3:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):21 -> <init>
    4:4:char com.android.tools.r8.code.Instruction.read16BitValue(com.android.tools.r8.code.BytecodeStream):62:62 -> <init>
    4:4:void com.android.tools.r8.code.Format4rcc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):39 -> <init>
    4:4:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):21 -> <init>
    5:5:void com.android.tools.r8.code.Format4rcc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):39:39 -> <init>
    5:5:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):21 -> <init>
    6:6:char com.android.tools.r8.code.Instruction.read16BitValue(com.android.tools.r8.code.BytecodeStream):62:62 -> <init>
    6:6:void com.android.tools.r8.code.Format4rcc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):40 -> <init>
    6:6:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):21 -> <init>
    7:7:void com.android.tools.r8.code.Format4rcc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):40:40 -> <init>
    7:7:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):21 -> <init>
    8:8:char com.android.tools.r8.code.Instruction.read16BitValue(com.android.tools.r8.code.BytecodeStream):62:62 -> <init>
    8:8:void com.android.tools.r8.code.Format4rcc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):41 -> <init>
    8:8:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):21 -> <init>
    9:9:void com.android.tools.r8.code.Format4rcc.<init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexProto[]):41:41 -> <init>
    9:9:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):21 -> <init>
    10:16:void com.android.tools.r8.code.Format4rcc.<init>(int,int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto):44:50 -> <init>
    10:16:void <init>(int,int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto):26 -> <init>
    int com.android.tools.r8.code.Format4rcc.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.code.Format4rcc.lambda$specify$0(com.android.tools.r8.code.Format4rcc):32:32 -> a
    2:2:void com.android.tools.r8.code.Format4rcc.specify(com.android.tools.r8.utils.structural.StructuralSpecification):32:32 -> a
    3:3:com.android.tools.r8.graph.DexMethod getMethod():46:46 -> a
    3:3:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):119 -> a
    3:3:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):119:119 -> a
    4:4:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5:5:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    5:5:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    6:7:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):120:121 -> a
    6:7:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8:8:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format4rcc.getProto():156:156 -> a
    8:8:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):123 -> a
    8:8:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    9:10:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):123:124 -> a
    9:10:void com.android.tools.r8.code.Format4rcc.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    11:11:com.android.tools.r8.graph.DexMethod getMethod():46:46 -> a
    11:11:void registerUse(com.android.tools.r8.graph.UseRegistry):51 -> a
    12:12:void registerUse(com.android.tools.r8.graph.UseRegistry):51:51 -> a
    13:13:com.android.tools.r8.graph.DexMethod getMethod():46:46 -> a
    13:13:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61 -> a
    13:13:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    14:14:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61:61 -> a
    14:14:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    15:15:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    15:15:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    16:17:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):62:63 -> a
    16:17:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    18:18:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    18:18:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> a
    18:18:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    19:20:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):64:65 -> a
    19:20:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    21:21:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    21:21:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):65 -> a
    21:21:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    22:22:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format4rcc.getProto():156:156 -> a
    22:22:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):67 -> a
    22:22:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    23:24:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):67:68 -> a
    23:24:void com.android.tools.r8.code.Format4rcc.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    25:25:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):56:56 -> a
    26:26:com.android.tools.r8.graph.DexMethod getMethod():46:46 -> a
    26:26:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):56 -> a
    27:27:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format4rcc.getProto():156:156 -> a
    27:27:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):56 -> a
    28:28:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):56:56 -> a
    29:29:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):102:102 -> a
    29:29:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    30:36:void com.android.tools.r8.code.Format4rcc.appendRegisterRange(java.lang.StringBuilder):140:146 -> a
    30:36:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):103 -> a
    30:36:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    37:41:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):104:108 -> a
    37:41:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    42:42:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    42:42:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> a
    42:42:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):108 -> a
    42:42:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    43:44:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):108:109 -> a
    43:44:java.lang.String com.android.tools.r8.code.Format4rcc.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.code.Format4rcc.lambda$specify$1(com.android.tools.r8.code.Format4rcc):32:32 -> b
    2:2:int com.android.tools.r8.code.Format4rcc.internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):79:79 -> b
    3:3:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):84:84 -> b
    3:3:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    4:10:void com.android.tools.r8.code.Format4rcc.appendRegisterRange(java.lang.StringBuilder):140:146 -> b
    4:10:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):85 -> b
    4:10:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    11:18:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):86:93 -> b
    11:18:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    19:19:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> b
    19:19:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> b
    19:19:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):93 -> b
    19:19:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    20:24:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):93:97 -> b
    20:24:java.lang.String com.android.tools.r8.code.Format4rcc.toString(com.android.tools.r8.naming.ClassNameMapper):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.code.Format4rcc.lambda$specify$2(com.android.tools.r8.code.Format4rcc):32:32 -> c
    1:1:com.android.tools.r8.graph.DexProto com.android.tools.r8.code.Format4rcc.lambda$specify$3(com.android.tools.r8.code.Format4rcc):32:32 -> d
    1:2:int com.android.tools.r8.code.Format4rcc.hashCode():73:74 -> hashCode
    1:2:int com.android.tools.r8.code.Format4rcc.hashCode():0 -> hashCode
      # {"id":"com.android.tools.r8.synthesized"}
    boolean canThrow() -> m
    1:1:com.android.tools.r8.graph.DexMethod getMethod():46:46 -> s
    1:1:java.lang.String getName():31:31 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():36:36 -> z
com.android.tools.r8.code.InvokeStatic -> com.android.tools.r8.code.P1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,int,int,int,int,int):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeStaticRange -> com.android.tools.r8.code.Q1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexMethod):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeSuper -> com.android.tools.r8.code.R1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,int,int,int,int,int):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeSuperRange -> com.android.tools.r8.code.S1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexMethod):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):48:48 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeVirtual -> com.android.tools.r8.code.T1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,int,int,int,int,int):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):58:58 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):63:63 -> a
    com.android.tools.r8.code.InvokeVirtual asInvokeVirtual() -> k
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.InvokeVirtualRange -> com.android.tools.r8.code.U1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):19:19 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexMethod):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Invoke$Type getInvokeType():28:28 -> M
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):58:58 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):63:63 -> a
    com.android.tools.r8.code.InvokeVirtualRange asInvokeVirtualRange() -> l
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.Iput -> com.android.tools.r8.code.V1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IputBoolean -> com.android.tools.r8.code.W1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IputByte -> com.android.tools.r8.code.X1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IputChar -> com.android.tools.r8.code.Y1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IputObject -> com.android.tools.r8.code.Z1:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IputShort -> com.android.tools.r8.code.a2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.IputWide -> com.android.tools.r8.code.b2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.LongToDouble -> com.android.tools.r8.code.c2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.LongToFloat -> com.android.tools.r8.code.d2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.LongToInt -> com.android.tools.r8.code.e2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MonitorEnter -> com.android.tools.r8.code.f2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    2:2:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1294 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
    3:3:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1294 -> a
    3:3:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1295:1296 -> a
    4:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.MonitorExit -> com.android.tools.r8.code.g2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    2:2:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1294 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
    3:3:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1294 -> a
    3:3:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1295:1296 -> a
    4:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.Move -> com.android.tools.r8.code.i2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.Move16 -> com.android.tools.r8.code.h2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    7:7:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    7:7:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    8:8:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49:49 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    9:9:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    9:9:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    10:10:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50:50 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    11:11:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    11:11:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MoveException -> com.android.tools.r8.code.j2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.MoveFrom16 -> com.android.tools.r8.code.k2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    7:7:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    8:8:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    8:8:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    9:9:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48:48 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    10:10:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    10:10:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MoveObject -> com.android.tools.r8.code.m2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    2:2:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MoveObject16 -> com.android.tools.r8.code.l2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    7:7:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40 -> a
    8:8:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    8:8:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    9:9:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49:49 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    10:10:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    10:10:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    11:11:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50:50 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    12:12:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    12:12:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50 -> a
    12:12:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MoveObjectFrom16 -> com.android.tools.r8.code.n2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):8 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    7:7:void com.android.tools.r8.ir.conversion.IRBuilder.addMove(com.android.tools.r8.ir.code.ValueType,int,int):1301:1301 -> a
    7:7:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39 -> a
    8:8:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    9:9:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    9:9:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    10:10:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48:48 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    11:11:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    11:11:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):8 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):8 -> b
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.MoveResult -> com.android.tools.r8.code.o2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):14:14 -> <init>
    2:2:void <init>(int):18:18 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):38:38 -> a
    1:1:java.lang.String getName():23:23 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():28:28 -> z
com.android.tools.r8.code.MoveResultObject -> com.android.tools.r8.code.p2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.MoveResultWide -> com.android.tools.r8.code.q2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.MoveWide -> com.android.tools.r8.code.s2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MoveWide16 -> com.android.tools.r8.code.r2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format32x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):70:70 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    7:7:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    7:7:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    8:8:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49:49 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    9:9:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    9:9:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):49 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    10:10:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50:50 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    11:11:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    11:11:void com.android.tools.r8.code.Format32x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):50 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format32x.toString(com.android.tools.r8.naming.ClassNameMapper):65:65 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MoveWideFrom16 -> com.android.tools.r8.code.t2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    3:3:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    5:5:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    2:2:java.lang.String com.android.tools.r8.code.Format22x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):69:69 -> a
    2:2:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    6:6:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    7:7:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47:47 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    8:8:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    8:8:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):47 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    9:9:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48:48 -> a
    9:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    10:10:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    10:10:void com.android.tools.r8.code.Format22x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):48 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    3:3:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    4:4:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    4:4:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    5:5:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    5:5:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    2:2:java.lang.String com.android.tools.r8.code.Format22x.toString(com.android.tools.r8.naming.ClassNameMapper):64:64 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MulDouble -> com.android.tools.r8.code.v2:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:7:void <init>(int,int,int):20:25 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):45:45 -> a
    1:1:java.lang.String getName():30:30 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> z
com.android.tools.r8.code.MulDouble2Addr -> com.android.tools.r8.code.u2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MulFloat -> com.android.tools.r8.code.x2:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:7:void <init>(int,int,int):20:25 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):45:45 -> a
    1:1:java.lang.String getName():30:30 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> z
com.android.tools.r8.code.MulFloat2Addr -> com.android.tools.r8.code.w2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MulInt -> com.android.tools.r8.code.z2:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:7:void <init>(int,int,int):19:24 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    1:1:java.lang.String getName():29:29 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():34:34 -> z
com.android.tools.r8.code.MulInt2Addr -> com.android.tools.r8.code.y2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.MulIntLit16 -> com.android.tools.r8.code.A2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MulIntLit8 -> com.android.tools.r8.code.B2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.MulLong -> com.android.tools.r8.code.D2:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:7:void <init>(int,int,int):20:25 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):45:45 -> a
    1:1:java.lang.String getName():30:30 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> z
com.android.tools.r8.code.MulLong2Addr -> com.android.tools.r8.code.C2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.NegDouble -> com.android.tools.r8.code.E2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.NegFloat -> com.android.tools.r8.code.F2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.NegInt -> com.android.tools.r8.code.G2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.NegLong -> com.android.tools.r8.code.H2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.NewArray -> com.android.tools.r8.code.I2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):24:24 -> <init>
    2:2:void <init>(int,int,com.android.tools.r8.graph.DexType):28:28 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():62:62 -> a
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52:52 -> a
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):52 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53:53 -> a
    5:5:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    8:8:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    9:9:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):53 -> a
    10:10:com.android.tools.r8.graph.DexType getType():62:62 -> a
    10:10:void registerUse(com.android.tools.r8.graph.UseRegistry):58 -> a
    11:11:void registerUse(com.android.tools.r8.graph.UseRegistry):58:58 -> a
    12:12:com.android.tools.r8.graph.DexType getType():62:62 -> a
    12:12:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82 -> a
    13:13:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":99,"2":100,"3":101}}
    99:99:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82:82 -> a
    100:100:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    100:100:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82 -> a
    101:101:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    101:101:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82 -> a
    96:96:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83:83 -> a
    97:97:void com.android.tools.r8.code.Instruction.writeFirst(int,int,java.nio.ShortBuffer):103:103 -> a
    97:97:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):83 -> a
    98:98:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):84:84 -> a
    102:102:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):67:67 -> a
    103:103:com.android.tools.r8.graph.DexType getType():62:62 -> a
    103:103:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):67 -> a
    104:104:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):67:67 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():33:33 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():38:38 -> z
com.android.tools.r8.code.NewInstance -> com.android.tools.r8.code.J2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):25:25 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexType):29:29 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():80:80 -> M
    1:1:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):49:49 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):58:58 -> a
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):58 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):59:59 -> a
    5:5:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):59 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):59 -> a
    8:8:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):59 -> a
    9:9:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):59 -> a
    10:10:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):69:69 -> a
    11:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":84,"2":85,"3":86}}
    84:84:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):69:69 -> a
    85:85:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    85:85:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):69 -> a
    86:86:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    86:86:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):69 -> a
    81:81:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):70:70 -> a
    82:82:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    82:82:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):70 -> a
    83:83:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):71:71 -> a
    87:87:void registerUse(com.android.tools.r8.graph.UseRegistry):76:76 -> a
    88:88:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):85:85 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):49:49 -> b
    boolean canThrow() -> m
    1:1:java.lang.String getName():34:34 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():39:39 -> z
com.android.tools.r8.code.Nop -> com.android.tools.r8.code.K2:
    int $r8$clinit -> f
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>():19:19 -> <init>
    void buildIR(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:3:int com.android.tools.r8.code.DexCompareHelper.compareIdUniquelyDeterminesEquality(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):26:28 -> a
    1:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):38 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format10x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):42:42 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    5:5:void com.android.tools.r8.code.Format10x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):32 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String com.android.tools.r8.code.Format10x.toString(com.android.tools.r8.naming.ClassNameMapper):37:37 -> b
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():49:49 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():54:54 -> z
com.android.tools.r8.code.NotInt -> com.android.tools.r8.code.L2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.NotLong -> com.android.tools.r8.code.M2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.OrInt -> com.android.tools.r8.code.O2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.OrInt2Addr -> com.android.tools.r8.code.N2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.OrIntLit16 -> com.android.tools.r8.code.P2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.OrIntLit8 -> com.android.tools.r8.code.Q2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.OrLong -> com.android.tools.r8.code.S2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.OrLong2Addr -> com.android.tools.r8.code.R2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.PackedSwitch -> com.android.tools.r8.code.T2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):17:17 -> <init>
    2:2:void <init>(int):21:21 -> <init>
    boolean isIntSwitch() -> I
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":56,"2":57,"3":58}}
    56:56:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    57:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    58:58:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    55:55:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):54:54 -> a
    59:62:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):46:49 -> a
    1:1:java.lang.String getName():26:26 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():31:31 -> z
com.android.tools.r8.code.PackedSwitchPayload -> com.android.tools.r8.code.U2:
    int[] targets -> i
    boolean $assertionsDisabled -> j
    int first_key -> h
    int size -> g
    1:1:void <clinit>():17:17 -> <clinit>
    1:6:void <init>(int,com.android.tools.r8.code.BytecodeStream):28:33 -> <init>
    7:11:void <init>(int,int[]):37:41 -> <init>
    boolean isPayload() -> J
    1:1:int[] keys():95:95 -> M
    1:1:int numberOfKeys():85:85 -> N
    1:1:int[] switchTargetOffsets():90:90 -> O
    1:1:int lambda$specify$0(com.android.tools.r8.code.PackedSwitchPayload):24:24 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):24:24 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):66:66 -> a
    4:4:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):56 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):57:57 -> a
    6:6:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):57 -> a
    7:9:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):58:60 -> a
    10:24:java.lang.String toSmaliString(com.android.tools.r8.code.Instruction):125:139 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.code.PackedSwitchPayload):24:24 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):100:100 -> b
    3:12:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):105:114 -> b
    13:13:java.lang.String com.android.tools.r8.code.Instruction.formatOffset(int):264:264 -> b
    13:13:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):114 -> b
    14:14:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116:116 -> b
    15:15:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":22,"2":23,"3":24,"4":25,"5":26}}
    22:22:java.lang.String com.android.tools.r8.code.Instruction.formatDecimalOffset(int):268:268 -> b
    22:22:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116 -> b
    23:23:java.lang.String com.android.tools.r8.code.Instruction.formatDecimalOffset(int):268:268 -> b
    23:23:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116 -> b
    24:24:java.lang.String com.android.tools.r8.code.Instruction.formatDecimalOffset(int):268:268 -> b
    24:24:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116 -> b
    25:25:java.lang.String com.android.tools.r8.code.Instruction.formatDecimalOffset(int):268:268 -> b
    25:25:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116 -> b
    26:26:java.lang.String com.android.tools.r8.code.Instruction.formatDecimalOffset(int):268:268 -> b
    26:26:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116 -> b
    16:16:java.lang.String com.android.tools.r8.code.Instruction.formatDecimalOffset(int):268:268 -> b
    16:16:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):116 -> b
    17:19:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):118:120 -> b
    20:20:java.lang.String com.android.tools.r8.code.Format10x.toString(com.android.tools.r8.naming.ClassNameMapper):37:37 -> b
    20:20:java.lang.String com.android.tools.r8.code.Nop.toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    20:20:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):120 -> b
    21:21:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):120:120 -> b
    1:1:int[] lambda$specify$2(com.android.tools.r8.code.PackedSwitchPayload):24:24 -> c
    1:3:int hashCode():72:74 -> hashCode
    1:1:int getSize():80:80 -> x
com.android.tools.r8.code.RemDouble -> com.android.tools.r8.code.W2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.RemDouble2Addr -> com.android.tools.r8.code.V2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.RemFloat -> com.android.tools.r8.code.Y2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.RemFloat2Addr -> com.android.tools.r8.code.X2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.RemInt -> com.android.tools.r8.code.a3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.RemInt2Addr -> com.android.tools.r8.code.Z2:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.RemIntLit16 -> com.android.tools.r8.code.b3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.RemIntLit8 -> com.android.tools.r8.code.c3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.RemLong -> com.android.tools.r8.code.e3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.RemLong2Addr -> com.android.tools.r8.code.d3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.Return -> com.android.tools.r8.code.f3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    1:1:int[] getTargets():39:39 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.ReturnObject -> com.android.tools.r8.code.g3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    1:1:int[] getTargets():39:39 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.ReturnVoid -> com.android.tools.r8.code.h3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>():19:19 -> <init>
    1:1:int[] getTargets():48:48 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:3:int com.android.tools.r8.code.DexCompareHelper.compareIdUniquelyDeterminesEquality(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):26:28 -> a
    1:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):38 -> a
    4:4:java.lang.String com.android.tools.r8.code.Format10x.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):42:42 -> a
    4:4:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):9 -> a
    5:5:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):53:53 -> a
    6:6:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    6:6:void com.android.tools.r8.code.Format10x.write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):32 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):9 -> a
    1:1:java.lang.String com.android.tools.r8.code.Format10x.toString(com.android.tools.r8.naming.ClassNameMapper):37:37 -> b
    1:1:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    1:1:java.lang.String getName():23:23 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():28:28 -> z
com.android.tools.r8.code.ReturnWide -> com.android.tools.r8.code.i3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    1:1:int[] getTargets():39:39 -> A
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.RsubInt -> com.android.tools.r8.code.j3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.RsubIntLit8 -> com.android.tools.r8.code.k3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.SafeCheckCast -> com.android.tools.r8.code.l3:
    1:1:void <init>(int,com.android.tools.r8.graph.DexType):19:19 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):24:24 -> a
    2:2:void registerUse(com.android.tools.r8.graph.UseRegistry):29:29 -> a
com.android.tools.r8.code.Sget -> com.android.tools.r8.code.m3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SgetBoolean -> com.android.tools.r8.code.n3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SgetByte -> com.android.tools.r8.code.o3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SgetChar -> com.android.tools.r8.code.p3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SgetObject -> com.android.tools.r8.code.q3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SgetOrSput -> com.android.tools.r8.code.r3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.DexField[]):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):31:31 -> a
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):31 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):32:32 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):42:42 -> a
    5:5:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):42 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):43:43 -> a
    7:7:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    7:7:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):43 -> a
    8:8:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):44:44 -> a
    9:9:void internalSubSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):54:54 -> a
    1:1:com.android.tools.r8.graph.DexField lambda$internalSubSpecify$0(com.android.tools.r8.code.Format21c):54:54 -> b
    1:1:com.android.tools.r8.graph.DexField getField():49:49 -> getField
com.android.tools.r8.code.SgetShort -> com.android.tools.r8.code.s3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SgetWide -> com.android.tools.r8.code.t3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.ShlInt -> com.android.tools.r8.code.v3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShlInt2Addr -> com.android.tools.r8.code.u3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShlIntLit8 -> com.android.tools.r8.code.w3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.ShlLong -> com.android.tools.r8.code.y3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShlLong2Addr -> com.android.tools.r8.code.x3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShrInt -> com.android.tools.r8.code.A3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShrInt2Addr -> com.android.tools.r8.code.z3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShrIntLit8 -> com.android.tools.r8.code.B3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShrLong -> com.android.tools.r8.code.D3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.ShrLong2Addr -> com.android.tools.r8.code.C3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SparseSwitch -> com.android.tools.r8.code.E3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int):20:20 -> <init>
    boolean isIntSwitch() -> I
    1:1:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":55,"2":56,"3":57}}
    55:55:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> a
    56:56:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> a
    57:57:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> a
    54:54:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):53:53 -> a
    58:61:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):45:48 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():35:35 -> z
com.android.tools.r8.code.SparseSwitchPayload -> com.android.tools.r8.code.F3:
    int[] keys -> h
    int[] targets -> i
    boolean $assertionsDisabled -> j
    int size -> g
    1:1:void <clinit>():17:17 -> <clinit>
    1:10:void <init>(int,com.android.tools.r8.code.BytecodeStream):28:37 -> <init>
    11:15:void <init>(int[],int[]):41:45 -> <init>
    boolean isPayload() -> J
    1:1:int[] keys():96:96 -> M
    1:1:int numberOfKeys():91:91 -> N
    1:1:int[] switchTargetOffsets():101:101 -> O
    1:1:int lambda$specify$0(com.android.tools.r8.code.SparseSwitchPayload):24:24 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):24:24 -> a
    3:3:int internalAcceptCompareTo(com.android.tools.r8.code.Instruction,com.android.tools.r8.utils.structural.CompareToVisitor):72:72 -> a
    4:4:void com.android.tools.r8.code.Instruction.writeFirst(int,java.nio.ShortBuffer):95:95 -> a
    4:4:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):60 -> a
    5:5:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61:61 -> a
    6:6:void com.android.tools.r8.code.Instruction.write16BitValue(int,java.nio.ShortBuffer):111:111 -> a
    6:6:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61 -> a
    7:11:void write(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):62:66 -> a
    12:27:java.lang.String toSmaliString(com.android.tools.r8.code.Instruction):131:146 -> a
    1:1:int[] lambda$specify$1(com.android.tools.r8.code.SparseSwitchPayload):24:24 -> b
    2:2:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper):106:106 -> b
    3:14:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):111:122 -> b
    15:15:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":144,"2":145,"3":146}}
    144:144:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):122:122 -> b
    145:145:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):122:122 -> b
    146:146:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):122:122 -> b
    137:141:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):122:126 -> b
    142:142:java.lang.String com.android.tools.r8.code.Format10x.toString(com.android.tools.r8.naming.ClassNameMapper):37:37 -> b
    142:142:java.lang.String com.android.tools.r8.code.Nop.toString(com.android.tools.r8.naming.ClassNameMapper):9 -> b
    142:142:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):126 -> b
    143:143:java.lang.String toString(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.code.Instruction):126:126 -> b
    1:1:int[] lambda$specify$2(com.android.tools.r8.code.SparseSwitchPayload):24:24 -> c
    1:3:int hashCode():78:80 -> hashCode
    1:1:int getSize():86:86 -> x
com.android.tools.r8.code.Sput -> com.android.tools.r8.code.G3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SputBoolean -> com.android.tools.r8.code.H3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SputByte -> com.android.tools.r8.code.I3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SputChar -> com.android.tools.r8.code.J3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SputObject -> com.android.tools.r8.code.K3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SputShort -> com.android.tools.r8.code.L3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SputWide -> com.android.tools.r8.code.M3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream,com.android.tools.r8.graph.OffsetToObjectMapping):18:18 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexField):22:22 -> <init>
    1:1:void registerUse(com.android.tools.r8.graph.UseRegistry):42:42 -> a
    2:2:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):47:47 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():27:27 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():32:32 -> z
com.android.tools.r8.code.SubDouble -> com.android.tools.r8.code.O3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SubDouble2Addr -> com.android.tools.r8.code.N3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SubFloat -> com.android.tools.r8.code.Q3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SubFloat2Addr -> com.android.tools.r8.code.P3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SubInt -> com.android.tools.r8.code.S3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SubInt2Addr -> com.android.tools.r8.code.R3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.SubLong -> com.android.tools.r8.code.U3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.SubLong2Addr -> com.android.tools.r8.code.T3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.SwitchPayload -> com.android.tools.r8.code.V3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):11:11 -> <init>
    2:2:void <init>():14:14 -> <init>
    boolean isSwitchPayload() -> L
    int[] keys() -> M
    int numberOfKeys() -> N
    int[] switchTargetOffsets() -> O
    void buildIR(com.android.tools.r8.ir.conversion.IRBuilder) -> a
com.android.tools.r8.code.Throw -> com.android.tools.r8.code.W3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    boolean canThrow() -> m
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.UshrInt -> com.android.tools.r8.code.Y3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.UshrInt2Addr -> com.android.tools.r8.code.X3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.UshrIntLit8 -> com.android.tools.r8.code.Z3:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.UshrLong -> com.android.tools.r8.code.b4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.UshrLong2Addr -> com.android.tools.r8.code.a4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.XorInt -> com.android.tools.r8.code.d4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.XorInt2Addr -> com.android.tools.r8.code.c4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):15:15 -> <init>
    2:2:void <init>(int,int):19:19 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):39:39 -> a
    1:1:java.lang.String getName():24:24 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():29:29 -> z
com.android.tools.r8.code.XorIntLit16 -> com.android.tools.r8.code.e4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.XorIntLit8 -> com.android.tools.r8.code.f4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.XorLong -> com.android.tools.r8.code.h4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.code.XorLong2Addr -> com.android.tools.r8.code.g4:
    1:1:void <init>(int,com.android.tools.r8.code.BytecodeStream):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    1:1:void buildIR(com.android.tools.r8.ir.conversion.IRBuilder):40:40 -> a
    1:1:java.lang.String getName():25:25 -> t
    int getOpcode() -> v
    1:1:java.lang.String getSmaliName():30:30 -> z
com.android.tools.r8.com.google.common.base.Absent -> com.android.tools.r8.internal.g:
    com.android.tools.r8.com.google.common.base.Absent INSTANCE -> b
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>():34:34 -> <init>
    1:1:java.lang.Object or(java.lang.Object):48:48 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> a
    2:2:java.lang.Object or(java.lang.Object):48 -> a
    1:1:java.lang.String toString():91:91 -> toString
com.android.tools.r8.com.google.common.base.CharMatcher -> com.android.tools.r8.internal.e9:
    1:1:void <init>():359:359 -> <init>
    boolean matches(char) -> a
com.android.tools.r8.com.google.common.base.CharMatcher$Any -> com.android.tools.r8.internal.b9:
    com.android.tools.r8.com.google.common.base.CharMatcher$Any INSTANCE -> c
    1:1:void <clinit>():1011:1011 -> <clinit>
    1:1:void <init>():1014:1014 -> <init>
    boolean matches(char) -> a
    1:1:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher.none():127:127 -> negate
    1:1:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher$Any.negate():1101 -> negate
    1:1:java.util.function.Predicate negate():1009 -> negate
com.android.tools.r8.com.google.common.base.CharMatcher$NamedFastMatcher -> com.android.tools.r8.internal.c9:
    java.lang.String description -> b
    1:1:void com.android.tools.r8.com.google.common.base.CharMatcher$FastMatcher.<init>():939:939 -> <init>
    1:1:void <init>(java.lang.String):957 -> <init>
    2:2:void <init>(java.lang.String):958:958 -> <init>
    1:1:boolean com.android.tools.r8.com.google.common.base.CharMatcher$FastMatcher.apply(java.lang.Object):939:939 -> apply
    1:1:boolean com.android.tools.r8.com.google.common.base.CharMatcher$FastMatcher.apply(java.lang.Object):0 -> apply
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:boolean com.android.tools.r8.com.google.common.base.CharMatcher.apply(java.lang.Character):910:910 -> apply
    2:2:boolean com.android.tools.r8.com.google.common.base.CharMatcher$FastMatcher.apply(java.lang.Object):939 -> apply
    2:2:boolean com.android.tools.r8.com.google.common.base.CharMatcher$FastMatcher.apply(java.lang.Object):0 -> apply
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():963:963 -> toString
com.android.tools.r8.com.google.common.base.CharMatcher$None -> com.android.tools.r8.internal.d9:
    com.android.tools.r8.com.google.common.base.CharMatcher$None INSTANCE -> c
    1:1:void <clinit>():1108:1108 -> <clinit>
    1:1:void <init>():1111:1111 -> <init>
    boolean matches(char) -> a
    1:1:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher.any():118:118 -> negate
    1:1:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher$None.negate():1204 -> negate
    1:1:java.util.function.Predicate negate():1106 -> negate
com.android.tools.r8.com.google.common.base.Charsets -> com.android.tools.r8.internal.l9:
    java.nio.charset.Charset UTF_8 -> a
    1:50:void <clinit>():45:94 -> <clinit>
com.android.tools.r8.com.google.common.base.CommonPattern -> com.android.tools.r8.internal.kc:
    1:1:void <init>():25:25 -> <init>
com.android.tools.r8.com.google.common.base.Equivalence -> com.android.tools.r8.internal.hj:
    1:1:void <init>():39:39 -> <init>
    boolean doEquivalent(java.lang.Object,java.lang.Object) -> a
    int doHash(java.lang.Object) -> a
    1:1:boolean equivalent(java.lang.Object,java.lang.Object):65:65 -> b
    2:2:int hash(java.lang.Object):112:112 -> b
    1:1:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(java.lang.Object):162:162 -> c
    1:1:boolean test(java.lang.Object,java.lang.Object):76:76 -> test
com.android.tools.r8.com.google.common.base.Equivalence$Wrapper -> com.android.tools.r8.internal.gj:
    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> b
    java.lang.Object reference -> c
    1:1:void <init>(com.android.tools.r8.com.google.common.base.Equivalence,java.lang.Object,com.android.tools.r8.com.google.common.base.Equivalence$1):185:185 -> <init>
    2:4:void <init>(com.android.tools.r8.com.google.common.base.Equivalence,java.lang.Object):189:191 -> <init>
    1:1:java.lang.Object get():196:196 -> a
    1:11:boolean equals(java.lang.Object):209:219 -> equals
    1:1:int hashCode():228:228 -> hashCode
    1:1:java.lang.String toString():237:237 -> toString
com.android.tools.r8.com.google.common.base.Function -> com.android.tools.r8.internal.Hl:
com.android.tools.r8.com.google.common.base.Java8Usage -> com.android.tools.r8.internal.uv:
    void lambda$performCheck$0() -> a
    1:2:java.lang.String performCheck():39:40 -> b
com.android.tools.r8.com.google.common.base.JdkPattern -> com.android.tools.r8.internal.Cv:
    java.util.regex.Pattern pattern -> b
    1:2:void <init>(java.util.regex.Pattern):27:28 -> <init>
    1:1:com.android.tools.r8.com.google.common.base.CommonMatcher matcher(java.lang.CharSequence):33:33 -> a
    1:1:java.lang.String toString():48:48 -> toString
com.android.tools.r8.com.google.common.base.JdkPattern$JdkMatcher -> com.android.tools.r8.internal.Bv:
    java.util.regex.Matcher matcher -> a
    1:1:void com.android.tools.r8.com.google.common.base.CommonMatcher.<init>():25:25 -> <init>
    1:1:void <init>(java.util.regex.Matcher):54 -> <init>
    2:2:void <init>(java.util.regex.Matcher):55:55 -> <init>
com.android.tools.r8.com.google.common.base.Objects -> com.android.tools.r8.internal.sK:
    1:1:boolean equal(java.lang.Object,java.lang.Object):52:52 -> a
com.android.tools.r8.com.google.common.base.Optional -> com.android.tools.r8.internal.LK:
    1:1:void <init>():161:161 -> <init>
    java.lang.Object or(java.lang.Object) -> a
    1:1:com.android.tools.r8.com.google.common.base.Optional absent():93:93 -> a
com.android.tools.r8.com.google.common.base.Platform -> com.android.tools.r8.internal.VL:
    com.android.tools.r8.com.google.common.base.PatternCompiler patternCompiler -> a
    1:1:void <clinit>():33:33 -> <clinit>
    2:2:com.android.tools.r8.com.google.common.base.PatternCompiler com.android.tools.r8.com.google.common.base.Platform.loadPatternCompiler():91:91 -> <clinit>
    2:2:void <clinit>():34 -> <clinit>
    3:3:void <clinit>():34:34 -> <clinit>
    1:2:com.android.tools.r8.com.google.common.base.CommonPattern compilePattern(java.lang.String):82:83 -> a
    3:3:com.android.tools.r8.com.google.common.base.CommonPattern com.android.tools.r8.com.google.common.base.Platform$JdkPatternCompiler.compile(java.lang.String):101:101 -> a
    3:3:com.android.tools.r8.com.google.common.base.CommonPattern compilePattern(java.lang.String):83 -> a
com.android.tools.r8.com.google.common.base.Platform$JdkPatternCompiler -> com.android.tools.r8.internal.TL:
    1:1:void <init>():98:98 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.base.Platform$1):98:98 -> <init>
com.android.tools.r8.com.google.common.base.Preconditions -> com.android.tools.r8.internal.iM:
    int $r8$clinit -> a
    1:9:void <clinit>():1439:1447 -> <clinit>
    1:1:void checkArgument(boolean):130:130 -> a
    2:2:void checkArgument(boolean,java.lang.Object):144:144 -> a
    3:3:void checkArgument(boolean,java.lang.String,char):179:179 -> a
    4:4:void checkArgument(boolean,java.lang.String,java.lang.Object):219:219 -> a
    5:5:java.lang.Object checkNotNull(java.lang.Object):880:880 -> a
    6:6:int checkElementIndex(int,int):1329:1329 -> a
    7:7:int com.android.tools.r8.com.google.common.base.Preconditions.checkElementIndex(int,int,java.lang.String):1347:1347 -> a
    7:7:int checkElementIndex(int,int):1329 -> a
    8:8:java.lang.String com.android.tools.r8.com.google.common.base.Preconditions.badElementIndex(int,int,java.lang.String):1358:1358 -> a
    8:8:int com.android.tools.r8.com.google.common.base.Preconditions.checkElementIndex(int,int,java.lang.String):1347 -> a
    8:8:int checkElementIndex(int,int):1329 -> a
    9:9:java.lang.String com.android.tools.r8.com.google.common.base.Preconditions.badElementIndex(int,int,java.lang.String):1356:1356 -> a
    9:9:int com.android.tools.r8.com.google.common.base.Preconditions.checkElementIndex(int,int,java.lang.String):1347 -> a
    9:9:int checkElementIndex(int,int):1329 -> a
    10:10:java.lang.String com.android.tools.r8.com.google.common.base.Preconditions.badElementIndex(int,int,java.lang.String):1354:1354 -> a
    10:10:int com.android.tools.r8.com.google.common.base.Preconditions.checkElementIndex(int,int,java.lang.String):1347 -> a
    10:10:int checkElementIndex(int,int):1329 -> a
    11:11:int com.android.tools.r8.com.google.common.base.Preconditions.checkElementIndex(int,int,java.lang.String):1347:1347 -> a
    11:11:int checkElementIndex(int,int):1329 -> a
    12:16:java.lang.String badPositionIndex(int,int,java.lang.String):1399:1403 -> a
    17:17:java.lang.String badPositionIndex(int,int,java.lang.String):1401:1401 -> a
    18:18:void checkPositionIndexes(int,int,int):1422:1422 -> a
    19:19:java.lang.String com.android.tools.r8.com.google.common.base.Preconditions.badPositionIndexes(int,int,int):1434:1434 -> a
    19:19:void checkPositionIndexes(int,int,int):1422 -> a
    20:20:java.lang.String com.android.tools.r8.com.google.common.base.Preconditions.badPositionIndexes(int,int,int):1431:1431 -> a
    20:20:void checkPositionIndexes(int,int,int):1422 -> a
    21:21:java.lang.String com.android.tools.r8.com.google.common.base.Preconditions.badPositionIndexes(int,int,int):1428:1428 -> a
    21:21:void checkPositionIndexes(int,int,int):1422 -> a
    22:22:void checkPositionIndexes(int,int,int):1422:1422 -> a
    1:1:void checkState(boolean,java.lang.Object):510:510 -> b
    2:2:int checkPositionIndex(int,int):1374:1374 -> b
    3:3:int com.android.tools.r8.com.google.common.base.Preconditions.checkPositionIndex(int,int,java.lang.String):1392:1392 -> b
    3:3:int checkPositionIndex(int,int):1374 -> b
com.android.tools.r8.com.google.common.base.Predicate -> com.android.tools.r8.internal.jM:
    1:1:boolean test(java.lang.Object):79:79 -> test
com.android.tools.r8.com.google.common.base.Predicates -> com.android.tools.r8.internal.tM:
    1:1:com.android.tools.r8.com.google.common.base.Predicate alwaysFalse():57:57 -> a
    2:2:com.android.tools.r8.com.google.common.base.Predicate not(com.android.tools.r8.com.google.common.base.Predicate):83:83 -> a
    3:3:com.android.tools.r8.com.google.common.base.Predicate or(com.android.tools.r8.com.google.common.base.Predicate,com.android.tools.r8.com.google.common.base.Predicate):147:147 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    4:4:com.android.tools.r8.com.google.common.base.Predicate or(com.android.tools.r8.com.google.common.base.Predicate,com.android.tools.r8.com.google.common.base.Predicate):147 -> a
    5:5:java.util.List com.android.tools.r8.com.google.common.base.Predicates.asList(com.android.tools.r8.com.google.common.base.Predicate,com.android.tools.r8.com.google.common.base.Predicate):689:689 -> a
    5:5:com.android.tools.r8.com.google.common.base.Predicate or(com.android.tools.r8.com.google.common.base.Predicate,com.android.tools.r8.com.google.common.base.Predicate):147 -> a
    6:6:com.android.tools.r8.com.google.common.base.Predicate or(com.android.tools.r8.com.google.common.base.Predicate,com.android.tools.r8.com.google.common.base.Predicate):147:147 -> a
    1:1:com.android.tools.r8.com.google.common.base.Predicate alwaysTrue():51:51 -> b
com.android.tools.r8.com.google.common.base.Predicates$NotPredicate -> com.android.tools.r8.internal.mM:
    com.android.tools.r8.com.google.common.base.Predicate predicate -> b
    1:2:void <init>(com.android.tools.r8.com.google.common.base.Predicate):310:311 -> <init>
    1:1:boolean apply(java.lang.Object):316:316 -> apply
    1:3:boolean equals(java.lang.Object):326:328 -> equals
    1:1:int hashCode():321:321 -> hashCode
    1:1:java.lang.String toString():335:335 -> toString
com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate -> com.android.tools.r8.internal.rM:
    com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate IS_NULL -> d
    com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate NOT_NULL -> e
    com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate ALWAYS_TRUE -> b
    com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate ALWAYS_FALSE -> c
    1:37:void <clinit>():252:288 -> <clinit>
    1:1:void <init>(java.lang.String,int):250:250 -> <init>
    2:2:void <init>(java.lang.String,int,com.android.tools.r8.com.google.common.base.Predicates$1):250:250 -> <init>
com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$1 -> com.android.tools.r8.internal.nM:
    1:1:void <init>(java.lang.String,int):252:252 -> <init>
    1:1:java.lang.String toString():260:260 -> toString
com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$2 -> com.android.tools.r8.internal.oM:
    1:1:void <init>(java.lang.String,int):264:264 -> <init>
    1:1:java.lang.String toString():272:272 -> toString
com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$3 -> com.android.tools.r8.internal.pM:
    1:1:void <init>(java.lang.String,int):276:276 -> <init>
    1:1:java.lang.String toString():284:284 -> toString
com.android.tools.r8.com.google.common.base.Predicates$ObjectPredicate$4 -> com.android.tools.r8.internal.qM:
    1:1:void <init>(java.lang.String,int):288:288 -> <init>
    1:1:java.lang.String toString():296:296 -> toString
com.android.tools.r8.com.google.common.base.Predicates$OrPredicate -> com.android.tools.r8.internal.sM:
    java.util.List components -> b
    1:1:void <init>(java.util.List,com.android.tools.r8.com.google.common.base.Predicates$1):384:384 -> <init>
    2:3:void <init>(java.util.List):387:388 -> <init>
    1:2:boolean apply(java.lang.Object):394:395 -> apply
    1:3:boolean equals(java.lang.Object):410:412 -> equals
    1:1:int hashCode():405:405 -> hashCode
    1:1:java.lang.String toString():419:419 -> toString
    2:11:java.lang.String com.android.tools.r8.com.google.common.base.Predicates.toStringHelper(java.lang.String,java.lang.Iterable):426:435 -> toString
    2:11:java.lang.String com.android.tools.r8.com.google.common.base.Predicates.access$800(java.lang.String,java.lang.Iterable):42 -> toString
    2:11:java.lang.String toString():419 -> toString
com.android.tools.r8.com.google.common.base.Splitter -> com.android.tools.r8.internal.EV:
    1:1:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260:260 -> a
    2:2:com.android.tools.r8.com.google.common.base.Splitter com.android.tools.r8.com.google.common.base.Splitter.on(com.android.tools.r8.com.google.common.base.CommonPattern):222:222 -> a
    2:2:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260 -> a
    3:3:boolean com.android.tools.r8.com.google.common.base.JdkPattern$JdkMatcher.matches():60:60 -> a
    3:3:com.android.tools.r8.com.google.common.base.Splitter com.android.tools.r8.com.google.common.base.Splitter.on(com.android.tools.r8.com.google.common.base.CommonPattern):222 -> a
    3:3:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260 -> a
    4:4:com.android.tools.r8.com.google.common.base.Splitter com.android.tools.r8.com.google.common.base.Splitter.on(com.android.tools.r8.com.google.common.base.CommonPattern):221:221 -> a
    4:4:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260 -> a
    5:5:com.android.tools.r8.com.google.common.base.CharMatcher com.android.tools.r8.com.google.common.base.CharMatcher.none():127:127 -> a
    5:5:void com.android.tools.r8.com.google.common.base.Splitter.<init>(com.android.tools.r8.com.google.common.base.Splitter$Strategy):109 -> a
    5:5:com.android.tools.r8.com.google.common.base.Splitter com.android.tools.r8.com.google.common.base.Splitter.on(com.android.tools.r8.com.google.common.base.CommonPattern):226 -> a
    5:5:com.android.tools.r8.com.google.common.base.Splitter onPattern(java.lang.String):260 -> a
com.android.tools.r8.com.google.common.base.Strings -> com.android.tools.r8.internal.jX:
    1:5:java.lang.String repeat(java.lang.String,int):144:148 -> a
    6:6:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,int):192:192 -> a
    6:6:java.lang.String repeat(java.lang.String,int):147 -> a
    7:21:java.lang.String repeat(java.lang.String,int):152:166 -> a
    22:22:java.lang.String repeat(java.lang.String,int):156:156 -> a
    23:24:java.lang.String lenientFormat(java.lang.String,java.lang.Object[]):266:267 -> a
    25:36:java.lang.String com.android.tools.r8.com.google.common.base.Strings.lenientToString(java.lang.Object):302:313 -> a
    25:36:java.lang.String lenientFormat(java.lang.String,java.lang.Object[]):267 -> a
    37:67:java.lang.String lenientFormat(java.lang.String,java.lang.Object[]):267:297 -> a
com.android.tools.r8.com.google.common.base.Supplier -> com.android.tools.r8.internal.AX:
com.android.tools.r8.com.google.common.base.Suppliers -> com.android.tools.r8.internal.EX:
    1:7:com.android.tools.r8.com.google.common.base.Supplier memoize(com.android.tools.r8.com.google.common.base.Supplier):102:108 -> a
com.android.tools.r8.com.google.common.base.Suppliers$MemoizingSupplier -> com.android.tools.r8.internal.CX:
    java.lang.Object value -> d
    com.android.tools.r8.com.google.common.base.Supplier delegate -> b
    boolean initialized -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.base.Supplier):119:120 -> <init>
    1:11:java.lang.Object get():126:136 -> get
    1:1:java.lang.String toString():142:142 -> toString
com.android.tools.r8.com.google.common.base.Suppliers$NonSerializableMemoizingSupplier -> com.android.tools.r8.internal.DX:
    java.lang.Object value -> d
    com.android.tools.r8.com.google.common.base.Supplier delegate -> b
    boolean initialized -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.base.Supplier):157:158 -> <init>
    1:13:java.lang.Object get():164:176 -> get
    1:3:java.lang.String toString():181:183 -> toString
com.android.tools.r8.com.google.common.base.Throwables -> com.android.tools.r8.internal.jY:
    java.lang.Object jla -> a
    int $r8$clinit -> b
    1:3:java.lang.Object com.android.tools.r8.com.google.common.base.Throwables.getJLA():480:482 -> <clinit>
    1:3:void <clinit>():451 -> <clinit>
    4:4:void <clinit>():451:451 -> <clinit>
    5:5:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getGetMethod():500:500 -> <clinit>
    5:5:void <clinit>():459 -> <clinit>
    6:6:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getJlaMethod(java.lang.String,java.lang.Class[]):530:530 -> <clinit>
    6:6:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getGetMethod():500 -> <clinit>
    6:6:void <clinit>():459 -> <clinit>
    7:7:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getSizeMethod():515:515 -> <clinit>
    7:7:void <clinit>():467 -> <clinit>
    8:8:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getJlaMethod(java.lang.String,java.lang.Class[]):530:530 -> <clinit>
    8:8:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getSizeMethod():515 -> <clinit>
    8:8:void <clinit>():467 -> <clinit>
    9:11:java.lang.Object com.android.tools.r8.com.google.common.base.Throwables.getJLA():480:482 -> <clinit>
    9:11:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getSizeMethod():519 -> <clinit>
    9:11:void <clinit>():467 -> <clinit>
    12:12:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getSizeMethod():519:519 -> <clinit>
    12:12:void <clinit>():467 -> <clinit>
    13:13:java.lang.Object com.android.tools.r8.com.google.common.base.Throwables.getJLA():484:484 -> <clinit>
    13:13:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getSizeMethod():519 -> <clinit>
    13:13:void <clinit>():467 -> <clinit>
    14:14:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getJlaMethod(java.lang.String,java.lang.Class[]):532:532 -> <clinit>
    14:14:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getSizeMethod():515 -> <clinit>
    14:14:void <clinit>():467 -> <clinit>
    15:15:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getJlaMethod(java.lang.String,java.lang.Class[]):532:532 -> <clinit>
    15:15:java.lang.reflect.Method com.android.tools.r8.com.google.common.base.Throwables.getGetMethod():500 -> <clinit>
    15:15:void <clinit>():459 -> <clinit>
    16:16:java.lang.Object com.android.tools.r8.com.google.common.base.Throwables.getJLA():484:484 -> <clinit>
    16:16:void <clinit>():451 -> <clinit>
com.android.tools.r8.com.google.common.collect.AbstractIndexedListIterator -> com.android.tools.r8.internal.v:
    int size -> b
    int position -> c
    1:1:void <init>(int):48:48 -> <init>
    2:5:void <init>(int,int):61:64 -> <init>
    java.lang.Object get(int) -> a
    1:1:boolean hasNext():69:69 -> hasNext
    1:1:boolean hasPrevious():87:87 -> hasPrevious
    1:4:java.lang.Object next():74:77 -> next
    5:5:java.lang.Object next():75:75 -> next
    1:1:int nextIndex():82:82 -> nextIndex
    1:4:java.lang.Object previous():92:95 -> previous
    5:5:java.lang.Object previous():93:93 -> previous
    1:1:int previousIndex():100:100 -> previousIndex
com.android.tools.r8.com.google.common.collect.AbstractIterator -> com.android.tools.r8.internal.T:
    com.android.tools.r8.com.google.common.collect.AbstractIterator$State state -> b
    java.lang.Object next -> c
    1:1:void <init>():68:68 -> <init>
    2:2:void <init>():65:65 -> <init>
    1:2:boolean hasNext():128:129 -> hasNext
    3:6:boolean com.android.tools.r8.com.google.common.collect.AbstractIterator.tryToComputeNext():140:143 -> hasNext
    3:6:boolean hasNext():136 -> hasNext
    7:7:void com.android.tools.r8.com.google.common.base.Preconditions.checkState(boolean):494:494 -> hasNext
    7:7:boolean hasNext():128 -> hasNext
    java.lang.Object computeNext() -> j
    1:1:java.lang.Object endOfData():121:121 -> k
    1:6:java.lang.Object next():152:157 -> next
    7:7:java.lang.Object next():153:153 -> next
com.android.tools.r8.com.google.common.collect.AbstractIterator$State$EnumUnboxingSharedUtility -> com.android.tools.r8.internal.S:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    int[] $VALUES -> a
    void <clinit>() -> <clinit>
      # {"id":"com.android.tools.r8.synthesized"}
    void checkNotZero(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    int compareTo(int,int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    boolean equals(int,int) -> b
      # {"id":"com.android.tools.r8.synthesized"}
    int ordinal(int) -> b
      # {"id":"com.android.tools.r8.synthesized"}
    int[] values(int) -> c
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap -> com.android.tools.r8.internal.s0:
    int totalSize -> g
    java.util.Map map -> f
    1:3:void <init>(java.util.Map):116:118 -> <init>
    1:1:java.util.Map access$000(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap):86:86 -> a
    2:2:int access$212(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,int):86:86 -> a
    3:3:boolean put(java.lang.Object,java.lang.Object):184:184 -> a
    4:4:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.createCollection(java.lang.Object):161:161 -> a
    4:4:boolean put(java.lang.Object,java.lang.Object):186 -> a
    5:5:java.util.List com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():131:131 -> a
    5:5:java.util.Collection com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():61 -> a
    5:5:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.createCollection(java.lang.Object):161 -> a
    5:5:boolean put(java.lang.Object,java.lang.Object):186 -> a
    6:14:boolean put(java.lang.Object,java.lang.Object):187:195 -> a
    15:17:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.iteratorOrListIterator(java.util.Collection):580:582 -> a
    15:17:java.util.Iterator access$100(java.util.Collection):86 -> a
    18:18:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113:1113 -> a
    18:18:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.safeRemove(java.util.Map,java.lang.Object):3539:3539 -> a
    19:19:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113 -> a
    19:19:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
    20:20:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    20:20:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.safeRemove(java.util.Map,java.lang.Object):3539 -> a
    20:20:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113 -> a
    20:20:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
    21:21:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.safeRemove(java.util.Map,java.lang.Object):3541:3541 -> a
    21:21:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113 -> a
    21:21:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
    22:27:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.removeValuesForKey(java.lang.Object):1113:1118 -> a
    22:27:void access$300(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object):86 -> a
    28:28:java.util.Collection entries():1217:1217 -> a
    29:32:java.util.Spliterator lambda$entrySpliterator$1(java.util.Map$Entry):1252:1255 -> a
    33:33:java.util.Spliterator lambda$entrySpliterator$1(java.util.Map$Entry):1254:1254 -> a
    1:1:int access$208(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap):86:86 -> b
    2:2:int access$220(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,int):86:86 -> b
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> b
    3:3:java.util.Map$Entry lambda$entrySpliterator$0(java.lang.Object,java.lang.Object):1255 -> b
    1:1:int access$210(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap):86:86 -> c
    1:5:void clear():270:274 -> clear
    1:1:boolean containsKey(java.lang.Object):177:177 -> containsKey
    1:1:java.util.Map createAsMap():1270:1270 -> d
    1:1:java.util.Collection createEntries():1225:1225 -> e
    1:1:java.util.Set createKeySet():897:897 -> f
    1:1:com.android.tools.r8.com.google.common.collect.Multiset createKeys():1203:1203 -> g
    1:1:java.util.Collection get(java.lang.Object):286:286 -> get
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.createCollection(java.lang.Object):161:161 -> get
    2:2:java.util.Collection get(java.lang.Object):288 -> get
    3:3:java.util.List com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():131:131 -> get
    3:3:java.util.Collection com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():61 -> get
    3:3:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.createCollection(java.lang.Object):161 -> get
    3:3:java.util.Collection get(java.lang.Object):288 -> get
    4:4:java.util.Collection get(java.lang.Object):290:290 -> get
    5:5:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.wrapCollection(java.lang.Object,java.util.Collection):62:62 -> get
    5:5:java.util.Collection get(java.lang.Object):290 -> get
    6:8:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.wrapList(java.lang.Object,java.util.List,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):302:304 -> get
    6:8:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.wrapCollection(java.lang.Object,java.util.Collection):62 -> get
    6:8:java.util.Collection get(java.lang.Object):290 -> get
    1:1:java.util.Iterator entryIterator():1239:1239 -> h
    1:11:java.util.Spliterator entrySpliterator():1249:1249 -> i
    1:1:int size():172:172 -> size
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$2 -> com.android.tools.r8.internal.h0:
    java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.collection -> d
    java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.valueIterator -> e
    java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.keyIterator -> b
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.this$0 -> f
    java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.key -> c
    1:5:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.<init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap):1128:1132 -> <init>
    1:5:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap):1239 -> <init>
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.hasNext():1139:1139 -> hasNext
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.hasNext():0 -> hasNext
      # {"id":"com.android.tools.r8.synthesized"}
    1:7:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.next():1144:1150 -> next
    1:7:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.next():0 -> next
      # {"id":"com.android.tools.r8.synthesized"}
    8:8:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> next
    8:8:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$2.output(java.lang.Object,java.lang.Object):1242 -> next
    8:8:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$2.output(java.lang.Object,java.lang.Object):1239 -> next
    8:8:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.next():1150 -> next
    8:8:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.next():0 -> next
      # {"id":"com.android.tools.r8.synthesized"}
    1:5:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.remove():1155:1159 -> remove
    1:5:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$Itr.remove():0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap -> com.android.tools.r8.internal.k0:
    java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values -> c
    java.util.Map submap -> d
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap this$0 -> e
    java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.util.Map):1291:1291 -> <init>
    2:2:void com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.<init>():3422:3422 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.util.Map):1291 -> <init>
    3:3:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.util.Map):1292:1292 -> <init>
    1:2:java.util.Map$Entry wrapEntry(java.util.Map$Entry):1367:1368 -> a
    3:3:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.wrapCollection(java.lang.Object,java.util.Collection):62:62 -> a
    3:3:java.util.Map$Entry wrapEntry(java.util.Map$Entry):1368 -> a
    4:6:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.wrapList(java.lang.Object,java.util.List,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):302:304 -> a
    4:6:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.wrapCollection(java.lang.Object,java.util.Collection):62 -> a
    4:6:java.util.Map$Entry wrapEntry(java.util.Map$Entry):1368 -> a
    7:7:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> a
    7:7:java.util.Map$Entry wrapEntry(java.util.Map$Entry):1368 -> a
    1:2:void clear():1359:1360 -> clear
    3:3:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.<init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap):1408:1408 -> clear
    3:3:void clear():1362 -> clear
    4:4:void com.android.tools.r8.com.google.common.collect.Iterators.clear(java.util.Iterator):982:982 -> clear
    4:4:void clear():1362 -> clear
    5:5:boolean com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.hasNext():1413:1413 -> clear
    5:5:void com.android.tools.r8.com.google.common.collect.Iterators.clear(java.util.Iterator):983 -> clear
    5:5:void clear():1362 -> clear
    6:8:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.next():1418:1420 -> clear
    6:8:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.next():1407 -> clear
    6:8:void com.android.tools.r8.com.google.common.collect.Iterators.clear(java.util.Iterator):984 -> clear
    6:8:void clear():1362 -> clear
    9:9:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> clear
    9:9:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.remove():1425 -> clear
    9:9:void com.android.tools.r8.com.google.common.collect.Iterators.clear(java.util.Iterator):985 -> clear
    9:9:void clear():1362 -> clear
    10:12:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.remove():1426:1428 -> clear
    10:12:void com.android.tools.r8.com.google.common.collect.Iterators.clear(java.util.Iterator):985 -> clear
    10:12:void clear():1362 -> clear
    1:1:boolean containsKey(java.lang.Object):1304:1304 -> containsKey
    2:2:boolean com.android.tools.r8.com.google.common.collect.Maps.safeContainsKey(java.util.Map,java.lang.Object):3526:3526 -> containsKey
    2:2:boolean containsKey(java.lang.Object):1304 -> containsKey
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> containsKey
    3:3:boolean com.android.tools.r8.com.google.common.collect.Maps.safeContainsKey(java.util.Map,java.lang.Object):3526 -> containsKey
    3:3:boolean containsKey(java.lang.Object):1304 -> containsKey
    4:4:boolean com.android.tools.r8.com.google.common.collect.Maps.safeContainsKey(java.util.Map,java.lang.Object):3528:3528 -> containsKey
    4:4:boolean containsKey(java.lang.Object):1304 -> containsKey
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet():3433:3433 -> entrySet
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet():0 -> entrySet
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.createEntrySet():1297:1297 -> entrySet
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet():3434 -> entrySet
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet():0 -> entrySet
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet():3434:3434 -> entrySet
    3:3:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.entrySet():0 -> entrySet
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean equals(java.lang.Object):1344:1344 -> equals
    1:7:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.get(java.lang.Object):1309:1315 -> get
    1:7:java.lang.Object get(java.lang.Object):1283 -> get
    8:8:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.wrapCollection(java.lang.Object,java.util.Collection):62:62 -> get
    8:8:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.get(java.lang.Object):1315 -> get
    8:8:java.lang.Object get(java.lang.Object):1283 -> get
    9:11:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.wrapList(java.lang.Object,java.util.List,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):302:304 -> get
    9:11:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.wrapCollection(java.lang.Object,java.util.Collection):62 -> get
    9:11:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.get(java.lang.Object):1315 -> get
    9:11:java.lang.Object get(java.lang.Object):1283 -> get
    1:1:int hashCode():1349:1349 -> hashCode
    1:1:java.util.Set keySet():1320:1320 -> keySet
    1:6:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.remove(java.lang.Object):1330:1335 -> remove
    1:6:java.lang.Object remove(java.lang.Object):1283 -> remove
    7:7:java.util.List com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():131:131 -> remove
    7:7:java.util.Collection com.android.tools.r8.com.google.common.collect.ArrayListMultimap.createCollection():61 -> remove
    7:7:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.remove(java.lang.Object):1335 -> remove
    7:7:java.lang.Object remove(java.lang.Object):1283 -> remove
    8:10:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap.remove(java.lang.Object):1336:1338 -> remove
    8:10:java.lang.Object remove(java.lang.Object):1283 -> remove
    1:1:int size():1325:1325 -> size
    1:1:java.lang.String toString():1354:1354 -> toString
    1:1:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values():3453:3453 -> values
    1:1:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values():0 -> values
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.createValues():3458:3458 -> values
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values():3454 -> values
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values():0 -> values
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values():3454:3454 -> values
    3:3:java.util.Collection com.android.tools.r8.com.google.common.collect.Maps$ViewCachingAbstractMap.values():0 -> values
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapEntries -> com.android.tools.r8.internal.i0:
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap this$1 -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap):1372:1372 -> <init>
    1:1:java.util.Map map():1375:1375 -> a
    1:1:boolean contains(java.lang.Object):1392:1392 -> contains
    2:2:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):101:101 -> contains
    2:2:boolean contains(java.lang.Object):1392 -> contains
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> contains
    3:3:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):101 -> contains
    3:3:boolean contains(java.lang.Object):1392 -> contains
    4:4:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):103:103 -> contains
    4:4:boolean contains(java.lang.Object):1392 -> contains
    1:1:java.util.Iterator iterator():1380:1380 -> iterator
    1:5:boolean remove(java.lang.Object):1397:1401 -> remove
    1:1:java.util.Spliterator spliterator():1385:1385 -> spliterator
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator -> com.android.tools.r8.internal.j0:
    java.util.Collection collection -> c
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap this$1 -> d
    java.util.Iterator delegateIterator -> b
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap):1407:1408 -> <init>
    1:1:boolean hasNext():1413:1413 -> hasNext
    1:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$AsMap$AsMapIterator.next():1418:1420 -> next
    1:3:java.lang.Object next():1407 -> next
    1:1:void remove():1425:1425 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():1425 -> remove
    3:6:void remove():1426:1429 -> remove
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$KeySet -> com.android.tools.r8.internal.m0:
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap this$0 -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.util.Map):912:913 -> <init>
    1:1:void clear():966:966 -> clear
    2:5:void com.android.tools.r8.com.google.common.collect.Iterators.clear(java.util.Iterator):982:985 -> clear
    2:5:void clear():966 -> clear
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> containsAll
    1:1:boolean containsAll(java.util.Collection):971 -> containsAll
    2:2:boolean containsAll(java.util.Collection):971:971 -> containsAll
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> equals
    1:1:boolean equals(java.lang.Object):976 -> equals
    2:2:boolean equals(java.lang.Object):976:976 -> equals
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> hashCode
    1:1:int hashCode():981 -> hashCode
    2:2:int hashCode():981:981 -> hashCode
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> iterator
    1:1:java.util.Iterator iterator():918 -> iterator
    2:3:java.util.Iterator iterator():918:919 -> iterator
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> remove
    1:1:boolean remove(java.lang.Object):955 -> remove
    2:6:boolean remove(java.lang.Object):955:959 -> remove
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> spliterator
    1:1:java.util.Spliterator spliterator():949 -> spliterator
    2:2:java.util.Spliterator spliterator():949:949 -> spliterator
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$KeySet$1 -> com.android.tools.r8.internal.l0:
    java.util.Map$Entry entry -> b
    java.util.Iterator val$entryIterator -> c
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$KeySet this$1 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$KeySet,java.util.Iterator):919:919 -> <init>
    1:1:boolean hasNext():924:924 -> hasNext
    1:2:java.lang.Object next():929:930 -> next
    1:1:void remove():935:935 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():935 -> remove
    3:7:void remove():936:940 -> remove
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$RandomAccessWrappedList -> com.android.tools.r8.internal.n0:
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object,java.util.List,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):891:891 -> <init>
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection -> com.android.tools.r8.internal.p0:
    java.util.Collection ancestorDelegate -> e
    java.util.Collection delegate -> c
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap this$0 -> f
    java.lang.Object key -> b
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection ancestor -> d
    1:5:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object,java.util.Collection,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):330:334 -> <init>
    1:4:void addToMap():381:384 -> a
    1:7:boolean add(java.lang.Object):481:487 -> add
    1:10:boolean addAll(java.util.Collection):501:510 -> addAll
    1:1:java.util.Collection getDelegate():416:416 -> b
    1:3:void refreshIfEmpty():345:347 -> c
    4:4:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> c
    4:4:void refreshIfEmpty():347 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:11:void refreshIfEmpty():347:353 -> c
    1:7:void clear():530:536 -> clear
    1:2:boolean contains(java.lang.Object):518:519 -> contains
    1:2:boolean containsAll(java.util.Collection):524:525 -> containsAll
    1:4:void removeIfEmpty():363:366 -> d
    1:2:boolean equals(java.lang.Object):399:400 -> equals
    1:2:int hashCode():405:406 -> hashCode
    1:2:java.util.Iterator iterator():421:422 -> iterator
    1:5:boolean remove(java.lang.Object):541:545 -> remove
    1:9:boolean removeAll(java.util.Collection):552:560 -> removeAll
    1:1:boolean retainAll(java.util.Collection):567:567 -> retainAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> retainAll
    2:2:boolean retainAll(java.util.Collection):567 -> retainAll
    3:8:boolean retainAll(java.util.Collection):568:573 -> retainAll
    1:2:int size():390:391 -> size
    1:2:java.util.Spliterator spliterator():427:428 -> spliterator
    1:2:java.lang.String toString():411:412 -> toString
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator -> com.android.tools.r8.internal.o0:
    java.util.Collection originalDelegate -> c
    java.util.Iterator delegateIterator -> b
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection this$1 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):436:436 -> <init>
    2:5:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):434:437 -> <init>
    6:6:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection,java.util.Iterator):440:440 -> <init>
    7:14:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection,java.util.Iterator):434:441 -> <init>
    1:2:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.validateIterator():448:449 -> hasNext
    1:2:boolean hasNext():456 -> hasNext
    3:3:boolean hasNext():457:457 -> hasNext
    4:4:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.validateIterator():450:450 -> hasNext
    4:4:boolean hasNext():456 -> hasNext
    1:2:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.validateIterator():448:449 -> next
    1:2:java.lang.Object next():462 -> next
    3:3:java.lang.Object next():463:463 -> next
    4:4:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.validateIterator():450:450 -> next
    4:4:java.lang.Object next():462 -> next
    1:3:void remove():468:470 -> remove
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList -> com.android.tools.r8.internal.r0:
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap this$0 -> g
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap,java.lang.Object,java.util.List,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):745:746 -> <init>
    1:1:void add(int,java.lang.Object):784:784 -> add
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> add
    2:2:void add(int,java.lang.Object):785 -> add
    3:3:void add(int,java.lang.Object):785:785 -> add
    4:4:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> add
    4:4:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> add
    4:4:void add(int,java.lang.Object):786 -> add
    5:5:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> add
    5:5:void add(int,java.lang.Object):786 -> add
    6:9:void add(int,java.lang.Object):786:789 -> add
    1:4:boolean addAll(int,java.util.Collection):755:758 -> addAll
    5:5:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> addAll
    5:5:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> addAll
    5:5:boolean addAll(int,java.util.Collection):759 -> addAll
    6:6:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> addAll
    6:6:boolean addAll(int,java.util.Collection):759 -> addAll
    7:7:boolean addAll(int,java.util.Collection):759:759 -> addAll
    8:8:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> addAll
    8:8:boolean addAll(int,java.util.Collection):761 -> addAll
    9:12:boolean addAll(int,java.util.Collection):761:764 -> addAll
    1:1:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> e
    1:1:java.util.List getListDelegate():750 -> e
    2:2:java.util.List getListDelegate():750:750 -> e
    1:1:java.lang.Object get(int):772:772 -> get
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> get
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> get
    2:2:java.lang.Object get(int):773 -> get
    3:3:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> get
    3:3:java.lang.Object get(int):773 -> get
    4:4:java.lang.Object get(int):773:773 -> get
    1:1:int indexOf(java.lang.Object):804:804 -> indexOf
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> indexOf
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> indexOf
    2:2:int indexOf(java.lang.Object):805 -> indexOf
    3:3:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> indexOf
    3:3:int indexOf(java.lang.Object):805 -> indexOf
    4:4:int indexOf(java.lang.Object):805:805 -> indexOf
    1:1:int lastIndexOf(java.lang.Object):810:810 -> lastIndexOf
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> lastIndexOf
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> lastIndexOf
    2:2:int lastIndexOf(java.lang.Object):811 -> lastIndexOf
    3:3:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> lastIndexOf
    3:3:int lastIndexOf(java.lang.Object):811 -> lastIndexOf
    4:4:int lastIndexOf(java.lang.Object):811:811 -> lastIndexOf
    1:2:java.util.ListIterator listIterator():816:817 -> listIterator
    3:4:java.util.ListIterator listIterator(int):822:823 -> listIterator
    1:1:java.lang.Object remove(int):795:795 -> remove
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> remove
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> remove
    2:2:java.lang.Object remove(int):796 -> remove
    3:3:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> remove
    3:3:java.lang.Object remove(int):796 -> remove
    4:6:java.lang.Object remove(int):796:798 -> remove
    1:1:java.lang.Object set(int,java.lang.Object):778:778 -> set
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> set
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> set
    2:2:java.lang.Object set(int,java.lang.Object):779 -> set
    3:3:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> set
    3:3:java.lang.Object set(int,java.lang.Object):779 -> set
    4:4:java.lang.Object set(int,java.lang.Object):779:779 -> set
    1:2:java.util.List subList(int,int):828:829 -> subList
    3:3:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getKey():371:371 -> subList
    3:3:java.util.List subList(int,int):830 -> subList
    4:4:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getDelegate():416:416 -> subList
    4:4:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750 -> subList
    4:4:java.util.List subList(int,int):831 -> subList
    5:5:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList.getListDelegate():750:750 -> subList
    5:5:java.util.List subList(int,int):831 -> subList
    6:6:java.util.List subList(int,int):831:831 -> subList
    7:7:com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection.getAncestor():494:494 -> subList
    7:7:java.util.List subList(int,int):832 -> subList
    8:8:java.util.List subList(int,int):829:829 -> subList
    9:11:java.util.List com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap.wrapList(java.lang.Object,java.util.List,com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection):302:304 -> subList
    9:11:java.util.List subList(int,int):829 -> subList
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList$WrappedListIterator -> com.android.tools.r8.internal.q0:
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList this$1 -> e
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList):837:837 -> <init>
    2:3:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedList,int):839:840 -> <init>
    1:5:void add(java.lang.Object):874:878 -> add
    1:1:boolean hasPrevious():849:849 -> hasPrevious
    1:2:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.validateIterator():448:449 -> j
    1:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.getDelegateIterator():474 -> j
    1:2:java.util.ListIterator getDelegateListIterator():844 -> j
    3:3:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.getDelegateIterator():475:475 -> j
    3:3:java.util.ListIterator getDelegateListIterator():844 -> j
    4:4:java.util.ListIterator getDelegateListIterator():844:844 -> j
    5:5:void com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.validateIterator():450:450 -> j
    5:5:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultimap$WrappedCollection$WrappedIterator.getDelegateIterator():474 -> j
    5:5:java.util.ListIterator getDelegateListIterator():844 -> j
    1:1:int nextIndex():859:859 -> nextIndex
    1:1:java.lang.Object previous():854:854 -> previous
    1:1:int previousIndex():864:864 -> previousIndex
    1:1:void set(java.lang.Object):869:869 -> set
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset -> com.android.tools.r8.internal.x0:
    java.util.Map backingMap -> d
    long size -> e
    1:3:void <init>(java.util.Map):59:61 -> <init>
    1:1:long access$010(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset):47:47 -> a
    2:2:long access$022(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset,long):47:47 -> a
    3:3:void forEachEntry(java.util.function.ObjIntConsumer):158:158 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    4:4:void forEachEntry(java.util.function.ObjIntConsumer):158 -> a
    5:5:void forEachEntry(java.util.function.ObjIntConsumer):159:159 -> a
    6:6:void lambda$forEachEntry$0(java.util.function.ObjIntConsumer,java.lang.Object,com.android.tools.r8.com.google.common.collect.Count):159:159 -> a
    7:21:int add(java.lang.Object,int):252:266 -> a
    22:22:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,long):205:205 -> a
    22:22:int add(java.lang.Object,int):263 -> a
    23:23:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,int):192:192 -> a
    23:23:int add(java.lang.Object,int):254 -> a
    1:1:java.util.Map access$100(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset):47:47 -> b
    2:21:int remove(java.lang.Object,int):274:293 -> b
    22:22:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,int):192:192 -> b
    22:22:int remove(java.lang.Object,int):276 -> b
    1:1:int distinctElements():173:173 -> c
    1:5:void clear():164:168 -> clear
    1:2:java.util.Iterator elementIterator():85:86 -> d
    1:2:java.util.Iterator entryIterator():113:114 -> e
    1:1:java.util.Set entrySet():80:80 -> entrySet
    1:6:int setCount(java.lang.Object,int):301:306 -> f
    7:7:int com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset.getAndSet(com.android.tools.r8.com.google.common.collect.Count,int):326:326 -> f
    7:7:int setCount(java.lang.Object,int):307 -> f
    8:8:int setCount(java.lang.Object,int):317:317 -> f
    1:2:int count(java.lang.Object):236:237 -> g
    1:1:int size():180:180 -> size
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$1 -> com.android.tools.r8.internal.t0:
    java.util.Map$Entry toRemove -> b
    java.util.Iterator val$backingEntries -> c
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset,java.util.Iterator):86:86 -> <init>
    1:1:boolean hasNext():91:91 -> hasNext
    1:3:java.lang.Object next():96:98 -> next
    1:1:void remove():103:103 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():103 -> remove
    3:5:void remove():104:106 -> remove
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$2 -> com.android.tools.r8.internal.v0:
    java.util.Map$Entry toRemove -> b
    java.util.Iterator val$backingEntries -> c
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset,java.util.Iterator):114:114 -> <init>
    1:1:boolean hasNext():119:119 -> hasNext
    1:3:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$2.next():124:126 -> next
    1:3:java.lang.Object next():114 -> next
    1:1:void remove():148:148 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():148 -> remove
    3:5:void remove():149:151 -> remove
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$2$1 -> com.android.tools.r8.internal.u0:
    java.util.Map$Entry val$mapEntry -> b
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$2 this$1 -> c
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$2,java.util.Map$Entry):126:126 -> <init>
    1:3:int getCount():134:136 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$2$1.getElement():129:129 -> a
    4:4:int getCount():136 -> a
    5:10:int getCount():136:141 -> a
    1:1:java.lang.Object getElement():129:129 -> b
com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset$MapBasedMultisetIterator -> com.android.tools.r8.internal.w0:
    java.util.Iterator entryIterator -> b
    boolean canRemove -> e
    int occurrencesLeft -> d
    com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset this$0 -> f
    java.util.Map$Entry currentEntry -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset):199:200 -> <init>
    1:1:boolean hasNext():205:205 -> hasNext
    1:7:java.lang.Object next():210:216 -> next
    1:1:void remove():221:221 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():221 -> remove
    3:11:void remove():222:230 -> remove
    12:12:void remove():224:224 -> remove
com.android.tools.r8.com.google.common.collect.AbstractMapEntry -> com.android.tools.r8.internal.y0:
    1:1:void <init>():31:31 -> <init>
    1:4:boolean equals(java.lang.Object):46:49 -> equals
    1:3:int hashCode():56:58 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):41:41 -> setValue
    1:1:java.lang.String toString():64:64 -> toString
com.android.tools.r8.com.google.common.collect.AbstractMultimap -> com.android.tools.r8.internal.E0:
    java.util.Set keySet -> c
    java.util.Collection entries -> b
    com.android.tools.r8.com.google.common.collect.Multiset keys -> d
    java.util.Map asMap -> e
    1:1:void <init>():41:41 -> <init>
    1:2:java.util.Collection entries():115:116 -> a
    1:2:java.util.Map asMap():229:230 -> b
    1:2:com.android.tools.r8.com.google.common.collect.Multiset keys():173:174 -> c
    java.util.Map createAsMap() -> d
    java.util.Collection createEntries() -> e
    1:3:boolean com.android.tools.r8.com.google.common.collect.Multimaps.equalsImpl(com.android.tools.r8.com.google.common.collect.Multimap,java.lang.Object):2172:2174 -> equals
    1:3:boolean equals(java.lang.Object):239 -> equals
    java.util.Set createKeySet() -> f
    com.android.tools.r8.com.google.common.collect.Multiset createKeys() -> g
    java.util.Iterator entryIterator() -> h
    java.util.Spliterator entrySpliterator() -> i
    1:2:java.util.Set keySet():163:164 -> keySet
com.android.tools.r8.com.google.common.collect.AbstractMultimap$Entries -> com.android.tools.r8.internal.D0:
    com.android.tools.r8.com.google.common.collect.AbstractMultimap this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMultimap):122:122 -> <init>
    2:2:void com.android.tools.r8.com.google.common.collect.Multimaps$Entries.<init>():1769:1769 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMultimap):122 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.Multimap com.android.tools.r8.com.google.common.collect.AbstractMultimap$Entries.multimap():125:125 -> clear
    1:1:void com.android.tools.r8.com.google.common.collect.Multimaps$Entries.clear():1797 -> clear
    1:1:void com.android.tools.r8.com.google.common.collect.Multimaps$Entries.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:void com.android.tools.r8.com.google.common.collect.Multimaps$Entries.clear():1797:1797 -> clear
    2:2:void com.android.tools.r8.com.google.common.collect.Multimaps$Entries.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.contains(java.lang.Object):1779:1780 -> contains
    1:2:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.contains(java.lang.Object):0 -> contains
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:com.android.tools.r8.com.google.common.collect.Multimap com.android.tools.r8.com.google.common.collect.AbstractMultimap$Entries.multimap():125:125 -> contains
    3:3:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.contains(java.lang.Object):1781 -> contains
    3:3:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.contains(java.lang.Object):0 -> contains
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.contains(java.lang.Object):1781:1781 -> contains
    4:4:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.contains(java.lang.Object):0 -> contains
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Iterator iterator():130:130 -> iterator
    1:2:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.remove(java.lang.Object):1788:1789 -> remove
    1:2:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:com.android.tools.r8.com.google.common.collect.Multimap com.android.tools.r8.com.google.common.collect.AbstractMultimap$Entries.multimap():125:125 -> remove
    3:3:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.remove(java.lang.Object):1790 -> remove
    3:3:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.remove(java.lang.Object):1790:1790 -> remove
    4:4:boolean com.android.tools.r8.com.google.common.collect.Multimaps$Entries.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.com.google.common.collect.Multimap com.android.tools.r8.com.google.common.collect.AbstractMultimap$Entries.multimap():125:125 -> size
    1:1:int com.android.tools.r8.com.google.common.collect.Multimaps$Entries.size():1774 -> size
    1:1:int com.android.tools.r8.com.google.common.collect.Multimaps$Entries.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:int com.android.tools.r8.com.google.common.collect.Multimaps$Entries.size():1774:1774 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.Multimaps$Entries.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Spliterator spliterator():135:135 -> spliterator
com.android.tools.r8.com.google.common.collect.AbstractMultiset -> com.android.tools.r8.internal.H0:
    java.util.Set entrySet -> c
    java.util.Set elementSet -> b
    1:1:void <init>():45:45 -> <init>
    1:1:int add(java.lang.Object,int):69:69 -> a
    2:2:java.util.Set createElementSet():143:143 -> a
    3:7:boolean com.android.tools.r8.com.google.common.collect.Multisets.setCountImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.lang.Object,int,int):940:944 -> a
    3:7:boolean setCount(java.lang.Object,int,int):93 -> a
    1:1:boolean add(java.lang.Object):62:62 -> add
    1:1:boolean addAll(java.util.Collection):107:107 -> addAll
    int remove(java.lang.Object,int) -> b
    1:1:java.util.Set createEntrySet():191:191 -> b
    int distinctElements() -> c
    1:1:boolean contains(java.lang.Object):55:55 -> contains
    java.util.Iterator elementIterator() -> d
    java.util.Iterator entryIterator() -> e
    1:3:java.util.Set entrySet():165:167 -> entrySet
    1:1:boolean equals(java.lang.Object):208:208 -> equals
    1:9:int com.android.tools.r8.com.google.common.collect.Multisets.setCountImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.lang.Object,int):924:932 -> f
    1:9:int setCount(java.lang.Object,int):87 -> f
    1:1:int hashCode():218:218 -> hashCode
    1:1:boolean isEmpty():50:50 -> isEmpty
    1:1:boolean remove(java.lang.Object):75:75 -> remove
    1:5:boolean com.android.tools.r8.com.google.common.collect.Multisets.removeAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):904:908 -> removeAll
    1:5:boolean removeAll(java.util.Collection):113 -> removeAll
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets.retainAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):913:913 -> retainAll
    1:1:boolean retainAll(java.util.Collection):119 -> retainAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> retainAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets.retainAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):913 -> retainAll
    2:2:boolean retainAll(java.util.Collection):119 -> retainAll
    3:7:boolean com.android.tools.r8.com.google.common.collect.Multisets.retainAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):915:919 -> retainAll
    3:7:boolean retainAll(java.util.Collection):119 -> retainAll
    1:1:java.lang.String toString():229:229 -> toString
    1:3:java.util.Set elementSet():131:133 -> x
com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet -> com.android.tools.r8.internal.F0:
    com.android.tools.r8.com.google.common.collect.AbstractMultiset this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMultiset):147:147 -> <init>
    2:2:void com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.<init>():960:960 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMultiset):147 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet.multiset():150:150 -> clear
    1:1:void com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.clear():965 -> clear
    1:1:void com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:void com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.clear():965:965 -> clear
    2:2:void com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet.multiset():150:150 -> contains
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.contains(java.lang.Object):970 -> contains
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.contains(java.lang.Object):0 -> contains
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.contains(java.lang.Object):970:970 -> contains
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.contains(java.lang.Object):0 -> contains
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet.multiset():150:150 -> containsAll
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.containsAll(java.util.Collection):975 -> containsAll
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.containsAll(java.util.Collection):0 -> containsAll
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.containsAll(java.util.Collection):975:975 -> containsAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.containsAll(java.util.Collection):0 -> containsAll
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet.multiset():150:150 -> isEmpty
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.isEmpty():980 -> isEmpty
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.isEmpty():0 -> isEmpty
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.isEmpty():980:980 -> isEmpty
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.isEmpty():0 -> isEmpty
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Iterator iterator():155:155 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet.multiset():150:150 -> remove
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.remove(java.lang.Object):988 -> remove
    1:1:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.remove(java.lang.Object):988:988 -> remove
    2:2:boolean com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.AbstractMultiset$ElementSet.multiset():150:150 -> size
    1:1:int com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.size():993 -> size
    1:1:int com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:int com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.size():993:993 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.Multisets$ElementSet.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.collect.AbstractMultiset$EntrySet -> com.android.tools.r8.internal.G0:
    com.android.tools.r8.com.google.common.collect.AbstractMultiset this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMultiset):173:173 -> <init>
    2:2:void com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.<init>():997:997 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.AbstractMultiset):173 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.Multiset multiset():176:176 -> a
    1:1:void com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.clear():1037:1037 -> clear
    1:1:void com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:11:boolean com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.contains(java.lang.Object):1002:1012 -> contains
    1:11:boolean com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.contains(java.lang.Object):0 -> contains
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Iterator iterator():181:181 -> iterator
    1:9:boolean com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.remove(java.lang.Object):1021:1029 -> remove
    1:9:boolean com.android.tools.r8.com.google.common.collect.Multisets$EntrySet.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int size():186:186 -> size
com.android.tools.r8.com.google.common.collect.ArrayListMultimap -> com.android.tools.r8.internal.l3:
    int expectedValuesPerKey -> h
    1:1:void <init>():108:108 -> <init>
    2:4:void <init>(int,int):112:114 -> <init>
    1:2:boolean com.android.tools.r8.com.google.common.collect.AbstractMultimap.containsEntry(java.lang.Object,java.lang.Object):60:61 -> a
    1:2:boolean containsEntry(java.lang.Object,java.lang.Object):61 -> a
    1:1:int com.android.tools.r8.com.google.common.collect.AbstractMultimap.hashCode():252:252 -> hashCode
    1:1:int hashCode():61 -> hashCode
    1:1:com.android.tools.r8.com.google.common.collect.ArrayListMultimap create():76:76 -> j
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.ArrayListMultimap.asMap():61:61 -> remove
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractMultimap.remove(java.lang.Object,java.lang.Object):67 -> remove
    1:1:boolean remove(java.lang.Object,java.lang.Object):61 -> remove
    2:3:boolean com.android.tools.r8.com.google.common.collect.AbstractMultimap.remove(java.lang.Object,java.lang.Object):67:68 -> remove
    2:3:boolean remove(java.lang.Object,java.lang.Object):61 -> remove
    1:1:java.lang.String com.android.tools.r8.com.google.common.collect.AbstractMultimap.toString():263:263 -> toString
    1:1:java.lang.String toString():61 -> toString
com.android.tools.r8.com.google.common.collect.ArrayListMultimapGwtSerializationDependencies -> com.android.tools.r8.internal.m3:
    1:1:void com.android.tools.r8.com.google.common.collect.AbstractListMultimap.<init>(java.util.Map):44:44 -> <init>
    1:1:void <init>(java.util.Map):36 -> <init>
    1:1:java.util.List com.android.tools.r8.com.google.common.collect.AbstractListMultimap.get(java.lang.Object):76:76 -> a
    1:1:java.util.List com.android.tools.r8.com.google.common.collect.AbstractListMultimap.get(java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:boolean com.android.tools.r8.com.google.common.collect.AbstractListMultimap.put(java.lang.Object,java.lang.Object):115:115 -> a
    2:2:boolean com.android.tools.r8.com.google.common.collect.AbstractListMultimap.put(java.lang.Object,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.AbstractListMultimap.asMap():126:126 -> b
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.AbstractListMultimap.asMap():0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractListMultimap.equals(java.lang.Object):137:137 -> equals
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractListMultimap.equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.get(java.lang.Object):35:35 -> get
    1:1:java.util.Collection com.android.tools.r8.com.google.common.collect.AbstractListMultimap.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.collect.BaseImmutableMultimap -> com.android.tools.r8.internal.t4:
    1:1:void <init>():25:25 -> <init>
com.android.tools.r8.com.google.common.collect.BiMap -> com.android.tools.r8.internal.L4:
    java.lang.Object forcePut(java.lang.Object,java.lang.Object) -> a
    com.android.tools.r8.com.google.common.collect.BiMap inverse() -> g
com.android.tools.r8.com.google.common.collect.ByFunctionOrdering -> com.android.tools.r8.internal.Z5:
    com.android.tools.r8.com.google.common.collect.Ordering ordering -> c
    com.android.tools.r8.com.google.common.base.Function function -> b
    1:3:void <init>(com.android.tools.r8.com.google.common.base.Function,com.android.tools.r8.com.google.common.collect.Ordering):36:38 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):43:43 -> compare
    1:3:boolean equals(java.lang.Object):51:53 -> equals
    1:1:int hashCode():60:60 -> hashCode
    2:2:int com.android.tools.r8.com.google.common.base.Objects.hashCode(java.lang.Object[]):77:77 -> hashCode
    2:2:int hashCode():60 -> hashCode
    1:1:java.lang.String toString():65:65 -> toString
com.android.tools.r8.com.google.common.collect.CollectPreconditions -> com.android.tools.r8.internal.Ob:
    1:1:void checkEntryNotNull(java.lang.Object,java.lang.Object):32:32 -> a
    2:2:void checkEntryNotNull(java.lang.Object,java.lang.Object):30:30 -> a
    3:3:int checkNonnegative(int,java.lang.String):39:39 -> a
com.android.tools.r8.com.google.common.collect.CollectSpliterators -> com.android.tools.r8.internal.Vb:
    1:1:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.indexed(int,int,java.util.function.IntFunction,java.util.Comparator):98:98 -> a
    1:1:java.util.Spliterator indexed(int,int,java.util.function.IntFunction):42 -> a
    2:2:java.util.Spliterator map(java.util.Spliterator,java.util.function.Function):108:108 -> a
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    3:3:java.util.Spliterator map(java.util.Spliterator,java.util.function.Function):108 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    4:4:java.util.Spliterator map(java.util.Spliterator,java.util.function.Function):109 -> a
    5:5:java.util.Spliterator map(java.util.Spliterator,java.util.function.Function):110:110 -> a
    6:9:java.util.Spliterator flatMap(java.util.Spliterator,java.util.function.Function,int,long):206:209 -> a
    10:10:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    10:10:java.util.Spliterator flatMap(java.util.Spliterator,java.util.function.Function,int,long):212 -> a
    11:11:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    11:11:java.util.Spliterator flatMap(java.util.Spliterator,java.util.function.Function,int,long):213 -> a
    12:12:java.util.Spliterator flatMap(java.util.Spliterator,java.util.function.Function,int,long):214:214 -> a
com.android.tools.r8.com.google.common.collect.CollectSpliterators$1 -> com.android.tools.r8.internal.Pb:
    java.util.Spliterator val$fromSpliterator -> a
    java.util.function.Function val$function -> b
    1:1:void <init>(java.util.Spliterator,java.util.function.Function):110:110 -> <init>
    1:1:void lambda$forEachRemaining$1(java.util.function.Consumer,java.util.function.Function,java.lang.Object):120:120 -> a
    1:1:void lambda$tryAdvance$0(java.util.function.Consumer,java.util.function.Function,java.lang.Object):115:115 -> b
    1:1:int characteristics():136:136 -> characteristics
    1:1:long estimateSize():131:131 -> estimateSize
    1:1:void forEachRemaining(java.util.function.Consumer):120:120 -> forEachRemaining
    1:1:boolean tryAdvance(java.util.function.Consumer):114:114 -> tryAdvance
    1:2:java.util.Spliterator trySplit():125:126 -> trySplit
com.android.tools.r8.com.google.common.collect.CollectSpliterators$1Splitr -> com.android.tools.r8.internal.Qb:
    java.util.function.Predicate val$predicate -> c
    java.lang.Object holder -> a
    java.util.Spliterator val$fromSpliterator -> b
    1:2:void <init>(java.util.Spliterator,java.util.function.Predicate):146:147 -> <init>
    1:1:void accept(java.lang.Object):151:151 -> accept
    1:1:int characteristics():187:187 -> characteristics
    1:1:long estimateSize():177:177 -> estimateSize
    1:1:java.util.Comparator getComparator():182:182 -> getComparator
    1:9:boolean tryAdvance(java.util.function.Consumer):156:164 -> tryAdvance
    1:2:java.util.Spliterator trySplit():171:172 -> trySplit
    3:3:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):144:144 -> trySplit
    3:3:java.util.Spliterator trySplit():172 -> trySplit
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> trySplit
    4:4:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):145 -> trySplit
    4:4:java.util.Spliterator trySplit():172 -> trySplit
    5:5:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):194:194 -> trySplit
    5:5:java.util.Spliterator trySplit():172 -> trySplit
com.android.tools.r8.com.google.common.collect.CollectSpliterators$1WithCharacteristics -> com.android.tools.r8.internal.Rb:
    java.util.function.IntFunction val$function -> b
    java.util.Spliterator$OfInt delegate -> a
    java.util.Comparator val$comparator -> d
    int val$extraCharacteristics -> c
    1:2:void <init>(java.util.Spliterator$OfInt,java.util.function.IntFunction,int,java.util.Comparator):56:57 -> <init>
    1:1:void lambda$forEachRemaining$1(java.util.function.Consumer,java.util.function.IntFunction,int):67:67 -> a
    1:1:void lambda$tryAdvance$0(java.util.function.Consumer,java.util.function.IntFunction,int):62:62 -> b
    1:1:int characteristics():83:83 -> characteristics
    1:1:long estimateSize():78:78 -> estimateSize
    1:1:void forEachRemaining(java.util.function.Consumer):67:67 -> forEachRemaining
    1:4:java.util.Comparator getComparator():91:94 -> getComparator
    1:1:boolean tryAdvance(java.util.function.Consumer):62:62 -> tryAdvance
    1:2:java.util.Spliterator trySplit():72:73 -> trySplit
com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliterator -> com.android.tools.r8.internal.Tb:
    long estimatedSize -> f
    java.util.function.Function function -> c
    java.util.Spliterator from -> b
    int characteristics -> e
    java.util.Spliterator prefix -> a
    com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliterator$Factory factory -> d
    1:7:void <init>(java.util.Spliterator,java.util.Spliterator,java.util.function.Function,com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliterator$Factory,int,long):318:324 -> <init>
    1:1:void lambda$tryAdvance$0(java.lang.Object):345:345 -> a
    2:4:void lambda$forEachRemaining$1(java.util.function.Consumer,java.lang.Object):359:361 -> a
    1:1:int characteristics():402:402 -> characteristics
    1:4:long estimateSize():394:397 -> estimateSize
    1:12:void forEachRemaining(java.util.function.Consumer):353:364 -> forEachRemaining
    1:9:boolean tryAdvance(java.util.function.Consumer):337:345 -> tryAdvance
    1:17:java.util.Spliterator trySplit():369:385 -> trySplit
com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliterator$Factory -> com.android.tools.r8.internal.Sb:
    java.util.Spliterator newFlatMapSpliterator(java.util.Spliterator,java.util.Spliterator,java.util.function.Function,int,long) -> a
com.android.tools.r8.com.google.common.collect.CollectSpliterators$FlatMapSpliteratorOfObject -> com.android.tools.r8.internal.Ub:
    1:1:void <init>(java.util.Spliterator,java.util.Spliterator,java.util.function.Function,int,long):425:425 -> <init>
com.android.tools.r8.com.google.common.collect.ComparatorOrdering -> com.android.tools.r8.internal.lc:
    java.util.Comparator comparator -> b
    1:2:void <init>(java.util.Comparator):31:32 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):37:37 -> compare
    1:3:boolean equals(java.lang.Object):45:47 -> equals
    1:1:int hashCode():54:54 -> hashCode
    1:1:java.lang.String toString():59:59 -> toString
com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset -> com.android.tools.r8.internal.hd:
    java.util.concurrent.ConcurrentMap countMap -> d
    1:3:void <init>(java.util.concurrent.ConcurrentMap):126:128 -> <init>
    1:1:java.util.concurrent.ConcurrentMap access$100(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset):59:59 -> a
    2:2:int add(java.lang.Object,int):204:204 -> a
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    3:3:int add(java.lang.Object,int):204 -> a
    4:4:int add(java.lang.Object,int):206:206 -> a
    5:5:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkPositive(int,java.lang.String):0:0 -> a
    5:5:int add(java.lang.Object,int):208 -> a
    6:34:int add(java.lang.Object,int):211:239 -> a
    35:35:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkPositive(int,java.lang.String):54:54 -> a
    35:35:int add(java.lang.Object,int):208 -> a
    36:36:boolean setCount(java.lang.Object,int,int):404:404 -> a
    37:37:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    37:37:boolean setCount(java.lang.Object,int,int):404 -> a
    38:69:boolean setCount(java.lang.Object,int,int):405:436 -> a
    70:71:java.util.Set createElementSet():449:450 -> a
    1:1:int remove(java.lang.Object,int):272:272 -> b
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkPositive(int,java.lang.String):0:0 -> b
    2:2:int remove(java.lang.Object,int):274 -> b
    3:15:int remove(java.lang.Object,int):276:288 -> b
    16:16:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkPositive(int,java.lang.String):54:54 -> b
    16:16:int remove(java.lang.Object,int):274 -> b
    17:17:java.util.Set createEntrySet():487:487 -> b
    1:1:int distinctElements():492:492 -> c
    1:1:void clear():554:554 -> clear
    1:1:java.util.Iterator elementIterator():480:480 -> d
    1:21:java.util.Iterator entryIterator():504:524 -> e
    1:1:com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset create():89:89 -> f
    2:2:int setCount(java.lang.Object,int):348:348 -> f
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> f
    3:3:int setCount(java.lang.Object,int):348 -> f
    4:37:int setCount(java.lang.Object,int):349:382 -> f
    1:2:int count(java.lang.Object):141:142 -> g
    1:1:boolean isEmpty():497:497 -> isEmpty
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.Multisets.iteratorImpl(com.android.tools.r8.com.google.common.collect.Multiset):1043:1043 -> iterator
    1:1:java.util.Iterator iterator():549 -> iterator
    1:4:int size():154:157 -> size
    1:1:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180:180 -> toArray
    1:1:java.lang.Object[] toArray():167 -> toArray
    2:2:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180 -> toArray
    2:2:java.lang.Object[] toArray():167 -> toArray
    3:6:int com.android.tools.r8.com.google.common.collect.Lists.computeArrayListCapacity(int):149:152 -> toArray
    3:6:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192 -> toArray
    3:6:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180 -> toArray
    3:6:java.lang.Object[] toArray():167 -> toArray
    7:7:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    7:7:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180 -> toArray
    7:7:java.lang.Object[] toArray():167 -> toArray
    8:8:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.entrySet():58:58 -> toArray
    8:8:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():181 -> toArray
    8:8:java.lang.Object[] toArray():167 -> toArray
    9:12:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():181:184 -> toArray
    9:12:java.lang.Object[] toArray():167 -> toArray
    13:13:java.lang.Object[] toArray():167:167 -> toArray
    14:14:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180:180 -> toArray
    14:14:java.lang.Object[] toArray(java.lang.Object[]):172 -> toArray
    15:15:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    15:15:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180 -> toArray
    15:15:java.lang.Object[] toArray(java.lang.Object[]):172 -> toArray
    16:19:int com.android.tools.r8.com.google.common.collect.Lists.computeArrayListCapacity(int):149:152 -> toArray
    16:19:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192 -> toArray
    16:19:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180 -> toArray
    16:19:java.lang.Object[] toArray(java.lang.Object[]):172 -> toArray
    20:20:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    20:20:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():180 -> toArray
    20:20:java.lang.Object[] toArray(java.lang.Object[]):172 -> toArray
    21:21:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.entrySet():58:58 -> toArray
    21:21:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():181 -> toArray
    21:21:java.lang.Object[] toArray(java.lang.Object[]):172 -> toArray
    22:25:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset.snapshot():181:184 -> toArray
    22:25:java.lang.Object[] toArray(java.lang.Object[]):172 -> toArray
    26:26:java.lang.Object[] toArray(java.lang.Object[]):172:172 -> toArray
com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1 -> com.android.tools.r8.internal.dd:
    java.util.Set val$delegate -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset,java.util.Set):450:450 -> <init>
    1:1:boolean contains(java.lang.Object):458:458 -> contains
    2:2:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):101:101 -> contains
    2:2:boolean contains(java.lang.Object):458 -> contains
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> contains
    3:3:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):101 -> contains
    3:3:boolean contains(java.lang.Object):458 -> contains
    4:4:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):103:103 -> contains
    4:4:boolean contains(java.lang.Object):458 -> contains
    1:1:boolean containsAll(java.util.Collection):463:463 -> containsAll
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> j
    1:1:java.lang.Object delegate():450 -> j
    1:1:boolean remove(java.lang.Object):468:468 -> remove
    2:2:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeRemove(java.util.Collection,java.lang.Object):114:114 -> remove
    2:2:boolean remove(java.lang.Object):468 -> remove
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> remove
    3:3:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeRemove(java.util.Collection,java.lang.Object):114 -> remove
    3:3:boolean remove(java.lang.Object):468 -> remove
    4:4:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeRemove(java.util.Collection,java.lang.Object):116:116 -> remove
    4:4:boolean remove(java.lang.Object):468 -> remove
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingSet.standardRemoveAll(java.util.Collection):77:77 -> removeAll
    1:1:boolean removeAll(java.util.Collection):473 -> removeAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> removeAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingSet.standardRemoveAll(java.util.Collection):77 -> removeAll
    2:2:boolean removeAll(java.util.Collection):473 -> removeAll
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingSet.standardRemoveAll(java.util.Collection):77:77 -> removeAll
    3:3:boolean removeAll(java.util.Collection):473 -> removeAll
com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$2 -> com.android.tools.r8.internal.ed:
    java.util.Iterator mapEntries -> d
    1:3:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset):505:507 -> <init>
    1:7:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$2.computeNext():512:518 -> j
    1:7:java.lang.Object computeNext():505 -> j
    8:8:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.Multisets.immutableEntry(java.lang.Object,int):235:235 -> j
    8:8:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$2.computeNext():518 -> j
    8:8:java.lang.Object computeNext():505 -> j
com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3 -> com.android.tools.r8.internal.fd:
    java.util.Iterator val$readOnlyIterator -> c
    com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset this$0 -> d
    com.android.tools.r8.com.google.common.collect.Multiset$Entry last -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset,java.util.Iterator):524:524 -> <init>
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3.delegate():529:529 -> j
    1:1:java.lang.Object delegate():524 -> j
    1:1:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3.next():534:534 -> next
    1:1:java.lang.Object next():524 -> next
    1:1:void remove():540:540 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():540 -> remove
    3:4:void remove():541:542 -> remove
com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet -> com.android.tools.r8.internal.gd:
    com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset this$0 -> c
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset):558:558 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset,com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1):558:558 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.multiset():561:561 -> a
    1:1:com.android.tools.r8.com.google.common.collect.Multiset multiset():557 -> a
    1:1:int com.android.tools.r8.com.google.common.collect.AbstractMultiset$EntrySet.size():186:186 -> toArray
    1:1:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    1:1:java.lang.Object[] toArray():571 -> toArray
    2:2:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    2:2:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    2:2:java.lang.Object[] toArray():571 -> toArray
    3:6:int com.android.tools.r8.com.google.common.collect.Lists.computeArrayListCapacity(int):149:152 -> toArray
    3:6:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192 -> toArray
    3:6:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    3:6:java.lang.Object[] toArray():571 -> toArray
    7:7:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    7:7:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    7:7:java.lang.Object[] toArray():571 -> toArray
    8:8:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMultiset$EntrySet.iterator():181:181 -> toArray
    8:8:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():582 -> toArray
    8:8:java.lang.Object[] toArray():571 -> toArray
    9:9:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():582:582 -> toArray
    9:9:java.lang.Object[] toArray():571 -> toArray
    10:10:java.lang.Object[] toArray():571:571 -> toArray
    11:11:int com.android.tools.r8.com.google.common.collect.AbstractMultiset$EntrySet.size():186:186 -> toArray
    11:11:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    11:11:java.lang.Object[] toArray(java.lang.Object[]):576 -> toArray
    12:12:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    12:12:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    12:12:java.lang.Object[] toArray(java.lang.Object[]):576 -> toArray
    13:16:int com.android.tools.r8.com.google.common.collect.Lists.computeArrayListCapacity(int):149:152 -> toArray
    13:16:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192 -> toArray
    13:16:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    13:16:java.lang.Object[] toArray(java.lang.Object[]):576 -> toArray
    17:17:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayListWithExpectedSize(int):192:192 -> toArray
    17:17:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():580 -> toArray
    17:17:java.lang.Object[] toArray(java.lang.Object[]):576 -> toArray
    18:18:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMultiset$EntrySet.iterator():181:181 -> toArray
    18:18:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():582 -> toArray
    18:18:java.lang.Object[] toArray(java.lang.Object[]):576 -> toArray
    19:19:java.util.List com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$EntrySet.snapshot():582:582 -> toArray
    19:19:java.lang.Object[] toArray(java.lang.Object[]):576 -> toArray
    20:20:java.lang.Object[] toArray(java.lang.Object[]):576:576 -> toArray
com.android.tools.r8.com.google.common.collect.Count -> com.android.tools.r8.internal.Wd:
    int value -> b
    1:2:void <init>(int):30:31 -> <init>
    1:1:void add(int):39:39 -> a
    2:2:int addAndGet(int):43:43 -> a
    1:1:int get():35:35 -> b
    1:2:int getAndSet(int):51:52 -> c
    1:1:void set(int):47:47 -> d
    1:1:boolean equals(java.lang.Object):63:63 -> equals
    1:1:int hashCode():58:58 -> hashCode
    1:1:java.lang.String toString():68:68 -> toString
com.android.tools.r8.com.google.common.collect.EmptyImmutableListMultimap -> com.android.tools.r8.internal.Wh:
    com.android.tools.r8.com.google.common.collect.EmptyImmutableListMultimap INSTANCE -> h
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>():31:31 -> <init>
com.android.tools.r8.com.google.common.collect.FluentIterable -> com.android.tools.r8.internal.Sk:
    com.android.tools.r8.com.google.common.base.Optional iterableDelegate -> b
    1:2:void <init>():118:119 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable):191:191 -> a
    2:3:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):285:286 -> a
    2:3:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable):191 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    4:4:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):286 -> a
    4:4:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable):191 -> a
    5:5:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):288:288 -> a
    5:5:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable):191 -> a
    6:6:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):210:210 -> a
    7:8:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):285:286 -> a
    7:8:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):210 -> a
    9:9:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    9:9:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):286 -> a
    9:9:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):210 -> a
    10:10:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):288:288 -> a
    10:10:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):210 -> a
    11:11:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):233:233 -> a
    12:13:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):285:286 -> a
    12:13:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):233 -> a
    14:14:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    14:14:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):286 -> a
    14:14:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):233 -> a
    15:15:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):288:288 -> a
    15:15:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):233 -> a
    16:16:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable[]):253:253 -> a
    17:18:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):285:286 -> a
    17:18:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable[]):253 -> a
    19:19:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    19:19:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):286 -> a
    19:19:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable[]):253 -> a
    20:20:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concatNoDefensiveCopy(java.lang.Iterable[]):288:288 -> a
    20:20:com.android.tools.r8.com.google.common.collect.FluentIterable concat(java.lang.Iterable[]):253 -> a
    1:1:java.lang.Iterable com.android.tools.r8.com.google.common.collect.FluentIterable.getDelegate():128:128 -> toString
    1:1:java.lang.String toString():337 -> toString
    2:2:java.lang.String com.android.tools.r8.com.google.common.collect.Iterables.toString(java.lang.Iterable):241:241 -> toString
    2:2:java.lang.String toString():337 -> toString
    3:12:java.lang.String com.android.tools.r8.com.google.common.collect.Iterators.toString(java.util.Iterator):281:290 -> toString
    3:12:java.lang.String com.android.tools.r8.com.google.common.collect.Iterables.toString(java.lang.Iterable):241 -> toString
    3:12:java.lang.String toString():337 -> toString
com.android.tools.r8.com.google.common.collect.FluentIterable$2 -> com.android.tools.r8.internal.Pk:
    java.lang.Iterable val$inputs -> c
    1:1:void <init>(java.lang.Iterable):274:274 -> <init>
    1:1:java.util.Iterator iterator():277:277 -> iterator
    2:2:com.android.tools.r8.com.google.common.base.Function com.android.tools.r8.com.google.common.collect.Iterables.toIterator():1023:1023 -> iterator
    2:2:java.util.Iterator iterator():277 -> iterator
    3:4:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.transform(java.util.Iterator,com.android.tools.r8.com.google.common.base.Function):779:780 -> iterator
    3:4:java.util.Iterator iterator():277 -> iterator
    5:5:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator):546:546 -> iterator
    5:5:java.util.Iterator iterator():277 -> iterator
com.android.tools.r8.com.google.common.collect.FluentIterable$3 -> com.android.tools.r8.internal.Rk:
    java.lang.Iterable[] val$inputs -> c
    1:1:void <init>(java.lang.Iterable[]):288:288 -> <init>
    1:1:java.util.Iterator iterator():291:291 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator):546:546 -> iterator
    2:2:java.util.Iterator iterator():291 -> iterator
com.android.tools.r8.com.google.common.collect.FluentIterable$3$1 -> com.android.tools.r8.internal.Qk:
    com.android.tools.r8.com.google.common.collect.FluentIterable$3 this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.FluentIterable$3,int):293:293 -> <init>
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.FluentIterable$3$1.get(int):296:296 -> a
    1:1:java.lang.Object get(int):293 -> a
com.android.tools.r8.com.google.common.collect.ForwardingIterator -> com.android.tools.r8.internal.cl:
    1:1:void <init>():42:42 -> <init>
    1:1:boolean hasNext():49:49 -> hasNext
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3.delegate():529:529 -> hasNext
    2:2:boolean hasNext():49 -> hasNext
    3:3:boolean hasNext():49:49 -> hasNext
    1:1:java.lang.Object next():55:55 -> next
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$3.delegate():529:529 -> next
    2:2:java.lang.Object next():55 -> next
    3:3:java.lang.Object next():55:55 -> next
com.android.tools.r8.com.google.common.collect.ForwardingObject -> com.android.tools.r8.internal.dl:
    1:1:void <init>():50:50 -> <init>
    java.lang.Object delegate() -> j
    1:1:java.lang.String toString():63:63 -> toString
com.android.tools.r8.com.google.common.collect.ForwardingSet -> com.android.tools.r8.internal.el:
    1:1:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.<init>():53:53 -> <init>
    1:1:void <init>():53 -> <init>
    boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.standardContainsAll(java.util.Collection) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.add(java.lang.Object):87:87 -> add
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.add(java.lang.Object):0 -> add
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> add
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> add
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.add(java.lang.Object):87 -> add
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.add(java.lang.Object):0 -> add
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.add(java.lang.Object):87:87 -> add
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.add(java.lang.Object):0 -> add
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.addAll(java.util.Collection):104:104 -> addAll
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.addAll(java.util.Collection):0 -> addAll
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> addAll
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> addAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.addAll(java.util.Collection):104 -> addAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.addAll(java.util.Collection):0 -> addAll
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.addAll(java.util.Collection):104:104 -> addAll
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.addAll(java.util.Collection):0 -> addAll
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:boolean com.android.tools.r8.com.google.common.collect.Collections2.containsAllImpl(java.util.Collection,java.util.Collection):323:324 -> b
    1:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.standardContainsAll(java.util.Collection):148 -> b
    1:1:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.clear():115:115 -> clear
    1:1:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> clear
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> clear
    2:2:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.clear():115 -> clear
    2:2:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.clear():115:115 -> clear
    3:3:void com.android.tools.r8.com.google.common.collect.ForwardingCollection.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean equals(java.lang.Object):60:60 -> equals
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> equals
    2:2:boolean equals(java.lang.Object):60 -> equals
    3:3:boolean equals(java.lang.Object):60:60 -> equals
    1:1:int hashCode():65:65 -> hashCode
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> hashCode
    2:2:int hashCode():65 -> hashCode
    3:3:int hashCode():65:65 -> hashCode
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.isEmpty():76:76 -> isEmpty
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.isEmpty():0 -> isEmpty
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> isEmpty
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> isEmpty
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.isEmpty():76 -> isEmpty
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.isEmpty():0 -> isEmpty
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.isEmpty():76:76 -> isEmpty
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.isEmpty():0 -> isEmpty
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.ForwardingCollection.iterator():60:60 -> iterator
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.ForwardingCollection.iterator():0 -> iterator
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> iterator
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.ForwardingCollection.iterator():60 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.ForwardingCollection.iterator():0 -> iterator
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:java.util.Iterator com.android.tools.r8.com.google.common.collect.ForwardingCollection.iterator():60:60 -> iterator
    3:3:java.util.Iterator com.android.tools.r8.com.google.common.collect.ForwardingCollection.iterator():0 -> iterator
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.retainAll(java.util.Collection):110:110 -> retainAll
    1:1:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.retainAll(java.util.Collection):0 -> retainAll
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> retainAll
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> retainAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.retainAll(java.util.Collection):110 -> retainAll
    2:2:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.retainAll(java.util.Collection):0 -> retainAll
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.retainAll(java.util.Collection):110:110 -> retainAll
    3:3:boolean com.android.tools.r8.com.google.common.collect.ForwardingCollection.retainAll(java.util.Collection):0 -> retainAll
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.com.google.common.collect.ForwardingCollection.size():65:65 -> size
    1:1:int com.android.tools.r8.com.google.common.collect.ForwardingCollection.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> size
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.ForwardingCollection.size():65 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.ForwardingCollection.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:int com.android.tools.r8.com.google.common.collect.ForwardingCollection.size():65:65 -> size
    3:3:int com.android.tools.r8.com.google.common.collect.ForwardingCollection.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray():120:120 -> toArray
    1:1:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray():0 -> toArray
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> toArray
    2:2:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> toArray
    2:2:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray():120 -> toArray
    2:2:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray():0 -> toArray
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray():120:120 -> toArray
    3:3:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray():0 -> toArray
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):126:126 -> toArray
    4:4:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):0 -> toArray
      # {"id":"com.android.tools.r8.synthesized"}
    5:5:java.util.Set com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():453:453 -> toArray
    5:5:java.util.Collection com.android.tools.r8.com.google.common.collect.ConcurrentHashMultiset$1.delegate():450 -> toArray
    5:5:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):126 -> toArray
    5:5:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):0 -> toArray
      # {"id":"com.android.tools.r8.synthesized"}
    6:6:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):126:126 -> toArray
    6:6:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ForwardingCollection.toArray(java.lang.Object[]):0 -> toArray
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.collect.HashBiMap -> com.android.tools.r8.internal.Dm:
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry firstInKeyInsertionOrder -> d
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry lastInKeyInsertionOrder -> e
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry[] hashTableKToV -> b
    int modCount -> h
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry[] hashTableVToK -> c
    int size -> f
    int mask -> g
    com.android.tools.r8.com.google.common.collect.BiMap inverse -> i
    1:2:void <init>(int):120:121 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry access$000(com.android.tools.r8.com.google.common.collect.HashBiMap):59:59 -> a
    2:2:void access$200(com.android.tools.r8.com.google.common.collect.HashBiMap,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):59:59 -> a
    3:3:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry access$300(com.android.tools.r8.com.google.common.collect.HashBiMap,java.lang.Object,int):59:59 -> a
    4:4:void access$500(com.android.tools.r8.com.google.common.collect.HashBiMap,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):59:59 -> a
    5:5:java.lang.Object access$800(com.android.tools.r8.com.google.common.collect.HashBiMap,java.lang.Object,java.lang.Object,boolean):59:59 -> a
    6:45:java.lang.Object com.android.tools.r8.com.google.common.collect.HashBiMap.putInverse(java.lang.Object,java.lang.Object,boolean):320:359 -> a
    6:45:java.lang.Object access$800(com.android.tools.r8.com.google.common.collect.HashBiMap,java.lang.Object,java.lang.Object,boolean):59 -> a
    46:46:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.keyOrNull(java.util.Map$Entry):3680:3680 -> a
    46:46:java.lang.Object com.android.tools.r8.com.google.common.collect.HashBiMap.putInverse(java.lang.Object,java.lang.Object,boolean):360 -> a
    46:46:java.lang.Object access$800(com.android.tools.r8.com.google.common.collect.HashBiMap,java.lang.Object,java.lang.Object,boolean):59 -> a
    47:47:com.android.tools.r8.com.google.common.collect.HashBiMap create(java.util.Map):82:82 -> a
    48:48:com.android.tools.r8.com.google.common.collect.HashBiMap com.android.tools.r8.com.google.common.collect.HashBiMap.create(int):74:74 -> a
    48:48:com.android.tools.r8.com.google.common.collect.HashBiMap create(java.util.Map):82 -> a
    49:49:com.android.tools.r8.com.google.common.collect.HashBiMap create(java.util.Map):83:83 -> a
    50:51:void init(int):125:126 -> a
    52:52:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry[] com.android.tools.r8.com.google.common.collect.HashBiMap.createTable(int):384:384 -> a
    52:52:void init(int):127 -> a
    53:53:void init(int):127:127 -> a
    54:54:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry[] com.android.tools.r8.com.google.common.collect.HashBiMap.createTable(int):384:384 -> a
    54:54:void init(int):128 -> a
    55:60:void init(int):128:133 -> a
    61:106:void delete(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):141:186 -> a
    107:107:void delete(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):161:161 -> a
    108:108:void delete(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):145:145 -> a
    109:142:void insert(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):190:223 -> a
    143:146:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry seekByKey(java.lang.Object,int):227:230 -> a
    147:147:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry seekByKey(java.lang.Object,int):229:229 -> a
    148:176:java.lang.Object put(java.lang.Object,java.lang.Object,boolean):280:308 -> a
    177:177:java.lang.Object forcePut(java.lang.Object,java.lang.Object):316:316 -> a
    1:1:int access$100(com.android.tools.r8.com.google.common.collect.HashBiMap):59:59 -> b
    2:2:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry access$400(com.android.tools.r8.com.google.common.collect.HashBiMap,java.lang.Object,int):59:59 -> b
    3:6:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry seekByValue(java.lang.Object,int):238:241 -> b
    7:7:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry seekByValue(java.lang.Object,int):240:240 -> b
    1:1:int access$700(com.android.tools.r8.com.google.common.collect.HashBiMap):59:59 -> c
    1:6:void clear():403:408 -> clear
    1:1:boolean containsKey(java.lang.Object):250:250 -> containsKey
    1:1:boolean containsValue(java.lang.Object):265:265 -> containsValue
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap.entrySet():3475:3475 -> entrySet
    1:1:java.util.Set entrySet():58 -> entrySet
    1:1:java.util.Iterator entryIterator():498:498 -> f
    1:1:void forEach(java.util.function.BiConsumer):547:547 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):547 -> forEach
    3:6:void forEach(java.util.function.BiConsumer):548:551 -> forEach
    7:7:void forEach(java.util.function.BiConsumer):550:550 -> forEach
    1:2:com.android.tools.r8.com.google.common.collect.BiMap inverse():569:570 -> g
    1:1:java.lang.Object get(java.lang.Object):270:270 -> get
    2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.valueOrNull(java.util.Map$Entry):3684:3684 -> get
    2:2:java.lang.Object get(java.lang.Object):270 -> get
    1:1:java.util.Set keySet():459:459 -> keySet
    1:1:com.android.tools.r8.com.google.common.collect.HashBiMap com.android.tools.r8.com.google.common.collect.HashBiMap.create(int):74:74 -> l
    1:1:com.android.tools.r8.com.google.common.collect.HashBiMap create():64 -> l
    1:3:void rehashIfNecessary():364:366 -> m
    4:4:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry[] com.android.tools.r8.com.google.common.collect.HashBiMap.createTable(int):384:384 -> m
    4:4:void rehashIfNecessary():368 -> m
    5:5:void rehashIfNecessary():368:368 -> m
    6:6:com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry[] com.android.tools.r8.com.google.common.collect.HashBiMap.createTable(int):384:384 -> m
    6:6:void rehashIfNecessary():369 -> m
    7:14:void rehashIfNecessary():369:376 -> m
    15:18:void rehashIfNecessary():375:378 -> m
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):276:276 -> put
    1:8:java.lang.Object remove(java.lang.Object):390:397 -> remove
    1:1:void replaceAll(java.util.function.BiFunction):557:557 -> replaceAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> replaceAll
    2:2:void replaceAll(java.util.function.BiFunction):557 -> replaceAll
    3:6:void replaceAll(java.util.function.BiFunction):558:561 -> replaceAll
    7:7:java.lang.Object com.android.tools.r8.com.google.common.collect.HashBiMap.put(java.lang.Object,java.lang.Object):276:276 -> replaceAll
    7:7:void replaceAll(java.util.function.BiFunction):561 -> replaceAll
    8:8:void replaceAll(java.util.function.BiFunction):560:560 -> replaceAll
    1:1:int size():413:413 -> size
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.HashBiMap.values():493:493 -> values
    1:1:java.util.Collection values():58 -> values
    2:2:java.util.Set values():493:493 -> values
    3:3:java.util.Set com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.keySet():630:630 -> values
    3:3:java.util.Set values():493 -> values
com.android.tools.r8.com.google.common.collect.HashBiMap$1 -> com.android.tools.r8.internal.tm:
    com.android.tools.r8.com.google.common.collect.HashBiMap this$0 -> g
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap):498:498 -> <init>
    1:1:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.HashBiMap$1.output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):501:501 -> a
    1:1:java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):498 -> a
com.android.tools.r8.com.google.common.collect.HashBiMap$1$MapEntry -> com.android.tools.r8.internal.sm:
    com.android.tools.r8.com.google.common.collect.HashBiMap$1 this$1 -> c
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry delegate -> b
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$1,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):507:508 -> <init>
    1:1:java.lang.Object getKey():513:513 -> getKey
    1:1:java.lang.Object getValue():518:518 -> getValue
    1:16:java.lang.Object setValue(java.lang.Object):523:538 -> setValue
com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry -> com.android.tools.r8.internal.um:
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry nextInKToVBucket -> f
    int keyHash -> d
    int valueHash -> e
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry nextInVToKBucket -> g
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry nextInKeyInsertionOrder -> h
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry prevInKeyInsertionOrder -> i
    1:3:void <init>(java.lang.Object,int,java.lang.Object,int):104:106 -> <init>
com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse -> com.android.tools.r8.internal.zm:
    com.android.tools.r8.com.google.common.collect.HashBiMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap):573:573 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap,com.android.tools.r8.com.google.common.collect.HashBiMap$1):573:573 -> <init>
    1:1:java.lang.Object forcePut(java.lang.Object,java.lang.Object):607:607 -> a
    2:2:void lambda$forEach$0(java.util.function.BiConsumer,java.lang.Object,java.lang.Object):713:713 -> a
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.forward():576:576 -> clear
    1:1:void clear():586 -> clear
    2:2:void clear():586:586 -> clear
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.forward():576:576 -> containsKey
    1:1:boolean containsKey(java.lang.Object):591 -> containsKey
    2:2:boolean containsKey(java.lang.Object):591:591 -> containsKey
    1:1:java.util.Iterator entryIterator():667:667 -> f
    1:1:void forEach(java.util.function.BiConsumer):712:712 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):712 -> forEach
    3:3:void forEach(java.util.function.BiConsumer):713:713 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.forward():576:576 -> g
    1:1:com.android.tools.r8.com.google.common.collect.BiMap inverse():625 -> g
    1:1:java.lang.Object get(java.lang.Object):596:596 -> get
    2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps.keyOrNull(java.util.Map$Entry):3680:3680 -> get
    2:2:java.lang.Object get(java.lang.Object):596 -> get
    1:1:java.util.Set keySet():630:630 -> keySet
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):602:602 -> put
    1:8:java.lang.Object remove(java.lang.Object):612:619 -> remove
    1:1:void replaceAll(java.util.function.BiFunction):718:718 -> replaceAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> replaceAll
    2:2:void replaceAll(java.util.function.BiFunction):718 -> replaceAll
    3:3:void replaceAll(java.util.function.BiFunction):719:719 -> replaceAll
    4:4:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.forward():576:576 -> replaceAll
    4:4:void com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.clear():586 -> replaceAll
    4:4:void replaceAll(java.util.function.BiFunction):720 -> replaceAll
    5:5:void com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.clear():586:586 -> replaceAll
    5:5:void replaceAll(java.util.function.BiFunction):720 -> replaceAll
    6:6:void replaceAll(java.util.function.BiFunction):722:722 -> replaceAll
    7:7:void replaceAll(java.util.function.BiFunction):721:721 -> replaceAll
    1:1:int size():581:581 -> size
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.forward():576:576 -> values
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.values():662 -> values
    1:1:java.util.Collection values():573 -> values
    2:2:java.util.Set com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.values():662:662 -> values
    2:2:java.util.Collection values():573 -> values
    3:3:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse.forward():576:576 -> values
    3:3:java.util.Set values():662 -> values
    4:4:java.util.Set values():662:662 -> values
    5:5:java.util.Set com.android.tools.r8.com.google.common.collect.HashBiMap.keySet():459:459 -> values
    5:5:java.util.Set values():662 -> values
com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1 -> com.android.tools.r8.internal.wm:
    com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse this$1 -> g
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse):667:667 -> <init>
    1:1:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1.output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):670:670 -> a
    1:1:java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):667 -> a
com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1$InverseEntry -> com.android.tools.r8.internal.vm:
    com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1 this$2 -> c
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry delegate -> b
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$1,com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):676:677 -> <init>
    1:1:java.lang.Object getKey():682:682 -> getKey
    1:1:java.lang.Object getValue():687:687 -> getValue
    1:12:java.lang.Object setValue(java.lang.Object):692:703 -> setValue
com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$InverseKeySet -> com.android.tools.r8.internal.ym:
    com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse this$1 -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse):634:635 -> <init>
    1:1:java.util.Iterator iterator():651:651 -> iterator
    1:5:boolean remove(java.lang.Object):640:644 -> remove
com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$InverseKeySet$1 -> com.android.tools.r8.internal.xm:
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$Inverse$InverseKeySet):651:651 -> <init>
    1:1:java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):654:654 -> a
com.android.tools.r8.com.google.common.collect.HashBiMap$Itr -> com.android.tools.r8.internal.Am:
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry toRemove -> c
    com.android.tools.r8.com.google.common.collect.HashBiMap this$0 -> f
    com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry next -> b
    int expectedModCount -> d
    int remaining -> e
    1:5:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap):416:420 -> <init>
    java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry) -> a
    1:4:boolean hasNext():424:427 -> hasNext
    5:5:boolean hasNext():425:425 -> hasNext
    1:9:java.lang.Object next():432:440 -> next
    10:10:java.lang.Object next():433:433 -> next
    1:4:void remove():445:448 -> remove
    5:5:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    5:5:void remove():448 -> remove
    6:8:void remove():449:451 -> remove
    9:9:void remove():446:446 -> remove
com.android.tools.r8.com.google.common.collect.HashBiMap$KeySet -> com.android.tools.r8.internal.Cm:
    com.android.tools.r8.com.google.common.collect.HashBiMap this$0 -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap):463:464 -> <init>
    1:1:java.util.Iterator iterator():469:469 -> iterator
    1:7:boolean remove(java.lang.Object):479:485 -> remove
com.android.tools.r8.com.google.common.collect.HashBiMap$KeySet$1 -> com.android.tools.r8.internal.Bm:
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.HashBiMap$KeySet):469:469 -> <init>
    1:1:java.lang.Object output(com.android.tools.r8.com.google.common.collect.HashBiMap$BiEntry):472:472 -> a
com.android.tools.r8.com.google.common.collect.HashMultiset -> com.android.tools.r8.internal.Jm:
    1:1:void <init>():66:66 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.HashMultiset create():38:38 -> f
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractMultiset.isEmpty():50:50 -> isEmpty
    1:1:boolean isEmpty():33 -> isEmpty
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset.iterator():185:185 -> iterator
    1:1:java.util.Iterator iterator():33 -> iterator
com.android.tools.r8.com.google.common.collect.Hashing -> com.android.tools.r8.internal.Pm:
    1:1:int smear(int):50:50 -> a
    2:2:int smearedHash(java.lang.Object):54:54 -> a
    3:4:int closedTableSize(int,double):62:63 -> a
com.android.tools.r8.com.google.common.collect.ImmutableAsList -> com.android.tools.r8.internal.Wn:
    1:1:void <init>():34:34 -> <init>
    1:1:boolean contains(java.lang.Object):41:41 -> contains
    1:1:boolean isPartialView():56:56 -> e
    1:1:boolean isEmpty():51:51 -> isEmpty
    com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection() -> j
    1:1:int size():46:46 -> size
com.android.tools.r8.com.google.common.collect.ImmutableBiMap -> com.android.tools.r8.internal.Yn:
    1:1:void com.android.tools.r8.com.google.common.collect.ImmutableBiMapFauxverideShim.<init>():32:32 -> <init>
    1:1:void <init>():372 -> <init>
    1:1:java.lang.Object forcePut(java.lang.Object,java.lang.Object):407:407 -> a
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap.inverse():30:30 -> g
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableBiMap.createValues():393:393 -> m
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection createValues():41 -> m
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableBiMap.values():388:388 -> t
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection values():41 -> t
    com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse() -> u
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableBiMap.values():388:388 -> values
    1:1:java.util.Collection values():41 -> values
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableBiMap.values():388:388 -> values
    2:2:java.util.Set values():41 -> values
com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder -> com.android.tools.r8.internal.Xn:
    1:1:void <init>():176:176 -> <init>
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder orderEntriesByValue(java.util.Comparator) -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap build():170:170 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder.put(java.lang.Object,java.lang.Object):189:189 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object):170 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder put(java.lang.Object,java.lang.Object):189:189 -> a
    1:18:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():268:285 -> b
    19:21:com.android.tools.r8.com.google.common.collect.Ordering com.android.tools.r8.com.google.common.collect.Ordering.from(java.util.Comparator):182:184 -> b
    19:21:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():289 -> b
    22:22:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():289:289 -> b
    23:23:com.android.tools.r8.com.google.common.collect.Ordering com.android.tools.r8.com.google.common.collect.Ordering.onResultOf(com.android.tools.r8.com.google.common.base.Function):449:449 -> b
    23:23:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():289 -> b
    24:31:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():285:292 -> b
    32:32:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():272:272 -> b
    33:33:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of(java.lang.Object,java.lang.Object):72:72 -> b
    33:33:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():272 -> b
    34:34:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of():67:67 -> b
    34:34:com.android.tools.r8.com.google.common.collect.ImmutableBiMap build():270 -> b
com.android.tools.r8.com.google.common.collect.ImmutableCollection -> com.android.tools.r8.internal.ao:
    java.lang.Object[] EMPTY_ARRAY -> b
    1:1:void <clinit>():187:187 -> <clinit>
    1:1:void <init>():176:176 -> <init>
    1:7:com.android.tools.r8.com.google.common.collect.ImmutableList asList():344:350 -> a
    8:8:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ImmutableCollection.toArray():191:191 -> a
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableList asList():350 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    9:9:void com.android.tools.r8.com.google.common.collect.RegularImmutableAsList.<init>(com.android.tools.r8.com.google.common.collect.ImmutableCollection,java.lang.Object[]):41 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableList asList():350 -> a
    10:10:void com.android.tools.r8.com.google.common.collect.RegularImmutableAsList.<init>(com.android.tools.r8.com.google.common.collect.ImmutableCollection,java.lang.Object[]):41:41 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableList asList():350 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableList asList():348:348 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of(java.lang.Object):94:94 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableList asList():348 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableList asList():346 -> a
    14:15:int copyIntoArray(java.lang.Object[],int):368:369 -> a
    1:1:boolean add(java.lang.Object):248:248 -> add
    1:1:boolean addAll(java.util.Collection):276:276 -> addAll
    java.lang.Object[] internalArray() -> b
    1:1:int internalArrayEnd():231:231 -> c
    1:1:void clear():330:330 -> clear
    1:1:int internalArrayStart():223:223 -> d
    boolean isPartialView() -> e
    com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator() -> f
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.ImmutableList.iterator():60:60 -> iterator
    1:1:boolean remove(java.lang.Object):262:262 -> remove
    1:1:boolean removeAll(java.util.Collection):290:290 -> removeAll
    1:1:boolean removeIf(java.util.function.Predicate):304:304 -> removeIf
    1:1:boolean retainAll(java.util.Collection):317:317 -> retainAll
    1:1:java.util.Spliterator spliterator():184:184 -> spliterator
    1:1:java.lang.Object[] toArray():191:191 -> toArray
    2:2:java.lang.Object[] toArray(java.lang.Object[]):197:197 -> toArray
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> toArray
    3:3:java.lang.Object[] toArray(java.lang.Object[]):197 -> toArray
    4:15:java.lang.Object[] toArray(java.lang.Object[]):198:209 -> toArray
com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder -> com.android.tools.r8.internal.Zn:
    1:1:void <init>():404:404 -> <init>
    1:1:int expandedCapacity(int,int):395:395 -> a
    2:2:int expandedCapacity(int,int):390:390 -> a
com.android.tools.r8.com.google.common.collect.ImmutableEntry -> com.android.tools.r8.internal.co:
    java.lang.Object key -> b
    java.lang.Object value -> c
    1:3:void <init>(java.lang.Object,java.lang.Object):29:31 -> <init>
    1:1:java.lang.Object getKey():36:36 -> getKey
    1:1:java.lang.Object getValue():41:41 -> getValue
    1:1:java.lang.Object setValue(java.lang.Object):46:46 -> setValue
com.android.tools.r8.com.google.common.collect.ImmutableEnumMap -> com.android.tools.r8.internal.do:
    java.util.EnumMap delegate -> f
    1:3:void <init>(java.util.EnumMap):51:53 -> <init>
    1:8:com.android.tools.r8.com.google.common.collect.ImmutableMap asImmutable(java.util.EnumMap):38:45 -> a
    9:10:com.android.tools.r8.com.google.common.collect.ImmutableMap asImmutable(java.util.EnumMap):42:43 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of(java.lang.Object,java.lang.Object):72:72 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of(java.lang.Object,java.lang.Object):119 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableMap asImmutable(java.util.EnumMap):43 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of():110:110 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableMap asImmutable(java.util.EnumMap):40 -> a
    1:1:boolean containsKey(java.lang.Object):73:73 -> containsKey
    1:4:boolean equals(java.lang.Object):86:89 -> equals
    1:1:void forEach(java.util.function.BiConsumer):104:104 -> forEach
    1:1:java.lang.Object get(java.lang.Object):78:78 -> get
    boolean isPartialView() -> o
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator keyIterator():58:58 -> p
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.unmodifiableIterator(java.util.Iterator):127:127 -> p
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator keyIterator():58 -> p
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> p
    3:3:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.unmodifiableIterator(java.util.Iterator):127 -> p
    3:3:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator keyIterator():58 -> p
    4:9:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.unmodifiableIterator(java.util.Iterator):128:133 -> p
    4:9:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator keyIterator():58 -> p
    1:1:java.util.Spliterator keySpliterator():63:63 -> r
    1:1:int size():68:68 -> size
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator entryIterator():94:94 -> u
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Maps.unmodifiableEntryIterator(java.util.Iterator):1361:1361 -> u
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator entryIterator():94 -> u
com.android.tools.r8.com.google.common.collect.ImmutableEnumSet -> com.android.tools.r8.internal.eo:
    java.util.EnumSet delegate -> e
    int hashCode -> f
    1:2:void <init>(java.util.EnumSet):57:58 -> <init>
    1:7:com.android.tools.r8.com.google.common.collect.ImmutableSet asImmutable(java.util.EnumSet):37:43 -> a
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableSet asImmutable(java.util.EnumSet):41:41 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableSet asImmutable(java.util.EnumSet):41 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableSet asImmutable(java.util.EnumSet):39 -> a
    1:1:boolean contains(java.lang.Object):88:88 -> contains
    1:4:boolean containsAll(java.util.Collection):93:96 -> containsAll
    boolean isPartialView() -> e
    1:4:boolean equals(java.lang.Object):109:112 -> equals
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():68:68 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.unmodifiableIterator(java.util.Iterator):127:127 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():68 -> f
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> f
    3:3:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.unmodifiableIterator(java.util.Iterator):127 -> f
    3:3:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():68 -> f
    4:9:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.unmodifiableIterator(java.util.Iterator):128:133 -> f
    4:9:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():68 -> f
    1:1:void forEach(java.util.function.Consumer):78:78 -> forEach
    1:2:int hashCode():124:125 -> hashCode
    1:1:boolean isEmpty():101:101 -> isEmpty
    1:1:int size():83:83 -> size
    1:1:java.util.Spliterator spliterator():73:73 -> spliterator
    1:1:java.lang.String toString():130:130 -> toString
com.android.tools.r8.com.google.common.collect.ImmutableList -> com.android.tools.r8.internal.lo:
    int $r8$clinit -> c
    1:1:void <init>():377:377 -> <init>
    com.android.tools.r8.com.google.common.collect.ImmutableList asList() -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object):94:94 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object):103:103 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object):103 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object):103 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object):112:112 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object):112 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object):112 -> a
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):121:121 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):121 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):121 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):130:130 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):130 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):130 -> a
    14:14:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):139:139 -> a
    15:15:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    15:15:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):139 -> a
    16:16:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    16:16:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    16:16:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):139 -> a
    17:17:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):148:148 -> a
    18:18:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    18:18:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):148 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):148 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):157:157 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):157 -> a
    22:22:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    22:22:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    22:22:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):157 -> a
    23:23:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):166:166 -> a
    24:24:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    24:24:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):166 -> a
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):166 -> a
    26:26:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):176:176 -> a
    27:27:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    27:27:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):176 -> a
    28:28:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    28:28:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    28:28:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):176 -> a
    29:29:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):186:186 -> a
    30:30:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    30:30:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):186 -> a
    31:31:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    31:31:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    31:31:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):186 -> a
    32:47:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object[]):203:218 -> a
    48:48:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    48:48:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object[]):219 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableList of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object[]):219 -> a
    50:53:com.android.tools.r8.com.google.common.collect.ImmutableList copyOf(java.util.Collection):254:257 -> a
    54:54:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    54:54:com.android.tools.r8.com.google.common.collect.ImmutableList copyOf(java.util.Collection):257 -> a
    55:55:com.android.tools.r8.com.google.common.collect.ImmutableList copyOf(java.util.Collection):259:259 -> a
    56:56:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347:347 -> a
    56:56:com.android.tools.r8.com.google.common.collect.ImmutableList copyOf(java.util.Collection):259 -> a
    57:57:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    57:57:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.construct(java.lang.Object[]):347 -> a
    57:57:com.android.tools.r8.com.google.common.collect.ImmutableList copyOf(java.util.Collection):259 -> a
    58:58:com.android.tools.r8.com.google.common.collect.ImmutableList asImmutableList(java.lang.Object[]):356:356 -> a
    59:61:int copyIntoArray(java.lang.Object[],int):586:588 -> a
    1:1:void add(int,java.lang.Object):525:525 -> add
    1:1:boolean addAll(int,java.util.Collection):498:498 -> addAll
    1:4:com.android.tools.r8.com.google.common.collect.ImmutableList asImmutableList(java.lang.Object[],int):370:373 -> b
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableList asImmutableList(java.lang.Object[],int):368:368 -> b
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of(java.lang.Object):94:94 -> b
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList asImmutableList(java.lang.Object[],int):368 -> b
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> b
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList asImmutableList(java.lang.Object[],int):366 -> b
    1:1:boolean contains(java.lang.Object):422:422 -> contains
    1:3:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):434:436 -> e
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> e
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):439 -> e
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):441:441 -> e
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of(java.lang.Object):94:94 -> e
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):441 -> e
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.subListUnchecked(int,int):452:452 -> e
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):443 -> e
    1:1:boolean equals(java.lang.Object):666:666 -> equals
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.ImmutableList.listIterator():388:388 -> f
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():383 -> f
    1:1:void forEach(java.util.function.Consumer):403:403 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):403 -> forEach
    3:5:void forEach(java.util.function.Consumer):404:406 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder builder():714:714 -> g
    2:2:void com.android.tools.r8.com.google.common.collect.ImmutableList$Builder.<init>():765:765 -> g
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder builder():714 -> g
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList of():83:83 -> h
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):393:393 -> h
    1:3:int hashCode():672:674 -> hashCode
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList reverse():601:601 -> i
    1:10:int com.android.tools.r8.com.google.common.collect.Lists.indexOfRandomAccess(java.util.List,java.lang.Object):1017:1026 -> indexOf
    1:10:int com.android.tools.r8.com.google.common.collect.Lists.indexOfImpl(java.util.List,java.lang.Object):1004 -> indexOf
    1:10:int indexOf(java.lang.Object):412 -> indexOf
    1:2:int com.android.tools.r8.com.google.common.collect.Lists.lastIndexOfRandomAccess(java.util.List,java.lang.Object):1057:1058 -> lastIndexOf
    1:2:int com.android.tools.r8.com.google.common.collect.Lists.lastIndexOfImpl(java.util.List,java.lang.Object):1037 -> lastIndexOf
    1:2:int lastIndexOf(java.lang.Object):417 -> lastIndexOf
    1:1:java.util.ListIterator listIterator(int):60:60 -> listIterator
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.ImmutableList.listIterator():388:388 -> listIterator
    2:2:java.util.ListIterator listIterator():60 -> listIterator
    1:1:java.lang.Object remove(int):539:539 -> remove
    1:1:void replaceAll(java.util.function.UnaryOperator):552:552 -> replaceAll
    1:1:java.lang.Object set(int,java.lang.Object):512:512 -> set
    1:1:void sort(java.util.Comparator):565:565 -> sort
    1:1:java.util.Spliterator spliterator():580:580 -> spliterator
    1:1:java.util.List subList(int,int):60:60 -> subList
com.android.tools.r8.com.google.common.collect.ImmutableList$1 -> com.android.tools.r8.internal.ho:
    com.android.tools.r8.com.google.common.collect.ImmutableList this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,int,int):393:393 -> <init>
    1:1:java.lang.Object get(int):396:396 -> a
com.android.tools.r8.com.google.common.collect.ImmutableList$Builder -> com.android.tools.r8.internal.io:
    java.lang.Object[] contents -> a
    int size -> b
    boolean forceCopy -> c
    1:1:void <init>():765:765 -> <init>
    2:4:void <init>(int):768:770 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder add(java.lang.Object):755:755 -> a
    2:7:void getReadyToExpandTo(int):774:779 -> a
    8:9:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder add(java.lang.Object[]):809:810 -> a
    10:12:void com.android.tools.r8.com.google.common.collect.ImmutableList$Builder.add(java.lang.Object[],int):815:817 -> a
    10:12:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder add(java.lang.Object[]):810 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder addAll(java.lang.Iterable):830:830 -> a
    14:14:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    14:14:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder addAll(java.lang.Iterable):830 -> a
    15:20:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder addAll(java.lang.Iterable):831:836 -> a
    21:22:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:449 -> a
    21:22:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder addAll(java.lang.Iterable):840 -> a
    23:24:com.android.tools.r8.com.google.common.collect.ImmutableList build():870:871 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder add(java.lang.Object):793:793 -> b
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> b
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder add(java.lang.Object):793 -> b
    3:4:com.android.tools.r8.com.google.common.collect.ImmutableList$Builder add(java.lang.Object):794:795 -> b
com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList -> com.android.tools.r8.internal.jo:
    com.android.tools.r8.com.google.common.collect.ImmutableList forwardList -> d
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList):607:608 -> <init>
    1:1:boolean contains(java.lang.Object):626:626 -> contains
    1:1:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.size():655:655 -> e
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):643 -> e
    2:3:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):643:644 -> e
    4:5:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.size():655:655 -> e
    4:5:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.reversePosition(int):616 -> e
    4:5:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):644 -> e
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):644:644 -> e
    7:7:boolean isPartialView():660:660 -> e
    1:1:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.size():655:655 -> get
    1:1:java.lang.Object get(int):649 -> get
    2:3:java.lang.Object get(int):649:650 -> get
    4:4:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.size():655:655 -> get
    4:4:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.reverseIndex(int):612 -> get
    4:4:java.lang.Object get(int):650 -> get
    5:5:java.lang.Object get(int):650:650 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList reverse():621:621 -> i
    1:1:int indexOf(java.lang.Object):631:631 -> indexOf
    2:2:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.size():655:655 -> indexOf
    2:2:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.reverseIndex(int):612 -> indexOf
    2:2:int indexOf(java.lang.Object):632 -> indexOf
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.ImmutableList.listIterator():388:388 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableList.iterator():383 -> iterator
    1:1:java.util.Iterator iterator():604 -> iterator
    1:1:int lastIndexOf(java.lang.Object):637:637 -> lastIndexOf
    2:2:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.size():655:655 -> lastIndexOf
    2:2:int com.android.tools.r8.com.google.common.collect.ImmutableList$ReverseImmutableList.reverseIndex(int):612 -> lastIndexOf
    2:2:int lastIndexOf(java.lang.Object):638 -> lastIndexOf
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.ImmutableList.listIterator():388:388 -> listIterator
    1:1:java.util.ListIterator listIterator():604 -> listIterator
    2:2:java.util.ListIterator listIterator(int):604:604 -> listIterator
    1:1:int size():655:655 -> size
    1:1:java.util.List subList(int,int):604:604 -> subList
com.android.tools.r8.com.google.common.collect.ImmutableList$SubList -> com.android.tools.r8.internal.ko:
    com.android.tools.r8.com.google.common.collect.ImmutableList this$0 -> f
    int offset -> d
    int length -> e
    1:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,int,int):459:461 -> <init>
    boolean isPartialView() -> e
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):477:478 -> e
    1:2:java.lang.Object get(int):471:472 -> get
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.ImmutableList.listIterator():388:388 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableList.iterator():383 -> iterator
    1:1:java.util.Iterator iterator():455 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.ImmutableList.listIterator():388:388 -> listIterator
    1:1:java.util.ListIterator listIterator():455 -> listIterator
    2:2:java.util.ListIterator listIterator(int):455:455 -> listIterator
    1:1:int size():466:466 -> size
    1:1:java.util.List subList(int,int):455:455 -> subList
com.android.tools.r8.com.google.common.collect.ImmutableListMultimap -> com.android.tools.r8.internal.no:
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,int):377:377 -> <init>
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.get(java.lang.Object):390:391 -> get
    1:2:java.util.Collection get(java.lang.Object):50 -> get
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> get
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.get(java.lang.Object):391 -> get
    3:3:java.util.Collection get(java.lang.Object):50 -> get
com.android.tools.r8.com.google.common.collect.ImmutableListMultimap$Builder -> com.android.tools.r8.internal.mo:
    1:1:void <init>():213:213 -> <init>
    1:4:com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.put(java.lang.Object,java.lang.Object):162:165 -> a
    1:4:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap$Builder put(java.lang.Object,java.lang.Object):218 -> a
    5:5:java.util.Collection com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.newMutableValueCollection():156:156 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.put(java.lang.Object,java.lang.Object):165 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap$Builder put(java.lang.Object,java.lang.Object):218 -> a
    6:8:com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.put(java.lang.Object,java.lang.Object):165:167 -> a
    6:8:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap$Builder put(java.lang.Object,java.lang.Object):218 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableMultimap com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.build():288:288 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap build():302 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.fromMapEntries(java.util.Collection,java.util.Comparator):353:353 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableMultimap com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.build():292 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap build():302 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.of():129:129 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.fromMapEntries(java.util.Collection,java.util.Comparator):354 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableMultimap com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.build():292 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap build():302 -> a
    12:29:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.fromMapEntries(java.util.Collection,java.util.Comparator):356:373 -> a
    12:29:com.android.tools.r8.com.google.common.collect.ImmutableMultimap com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder.build():292 -> a
    12:29:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap build():302 -> a
com.android.tools.r8.com.google.common.collect.ImmutableMap -> com.android.tools.r8.internal.so:
    java.util.Map$Entry[] EMPTY_ENTRY_ARRAY -> e
    com.android.tools.r8.com.google.common.collect.ImmutableCollection values -> d
    com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet -> b
    com.android.tools.r8.com.google.common.collect.ImmutableSet keySet -> c
    1:1:void <clinit>():473:473 -> <clinit>
    1:1:void <init>():512:512 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):128:128 -> a
    2:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.ImmutableMap.entryOf(java.lang.Object,java.lang.Object):172:172 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):128 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):128:128 -> a
    4:4:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.ImmutableMap.entryOf(java.lang.Object,java.lang.Object):172:172 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):128 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):128:128 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.RegularImmutableMap.fromEntries(java.util.Map$Entry[]):73:73 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):128 -> a
    7:7:java.lang.IllegalArgumentException conflictException(java.lang.String,java.lang.Object,java.lang.Object):210:210 -> a
    8:8:java.lang.IllegalArgumentException conflictException(java.lang.String,java.lang.Object,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":219,"2":220,"3":221}}
    219:219:java.lang.IllegalArgumentException conflictException(java.lang.String,java.lang.Object,java.lang.Object):210:210 -> a
    220:220:java.lang.IllegalArgumentException conflictException(java.lang.String,java.lang.Object,java.lang.Object):210:210 -> a
    221:221:java.lang.IllegalArgumentException conflictException(java.lang.String,java.lang.Object,java.lang.Object):210:210 -> a
    218:218:java.lang.IllegalArgumentException conflictException(java.lang.String,java.lang.Object,java.lang.Object):210:210 -> a
    222:230:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):422:430 -> a
    231:235:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOfEnumMap(java.util.EnumMap):466:470 -> a
    231:235:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):430 -> a
    236:236:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433:433 -> a
    237:238:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):448:449 -> a
    237:238:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
    239:239:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.RegularImmutableMap.fromEntries(java.util.Map$Entry[]):73:73 -> a
    239:239:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):460 -> a
    239:239:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
    240:241:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):453:454 -> a
    240:241:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
    242:242:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of(java.lang.Object,java.lang.Object):72:72 -> a
    242:242:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of(java.lang.Object,java.lang.Object):119 -> a
    242:242:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):454 -> a
    242:242:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
    243:243:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of():110:110 -> a
    243:243:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.copyOf(java.lang.Iterable):451 -> a
    243:243:com.android.tools.r8.com.google.common.collect.ImmutableMap copyOf(java.util.Map):433 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of(java.lang.Object,java.lang.Object):72:72 -> b
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap of(java.lang.Object,java.lang.Object):119 -> b
    1:1:void clear():684:684 -> clear
    1:1:java.lang.Object compute(java.lang.Object,java.util.function.BiFunction):605:605 -> compute
    1:1:java.lang.Object computeIfAbsent(java.lang.Object,java.util.function.Function):578:578 -> computeIfAbsent
    1:1:java.lang.Object computeIfPresent(java.lang.Object,java.util.function.BiFunction):592:592 -> computeIfPresent
    1:1:boolean containsKey(java.lang.Object):694:694 -> containsKey
    1:1:boolean containsValue(java.lang.Object):699:699 -> containsValue
    1:1:java.util.Set entrySet():63:63 -> entrySet
    1:3:boolean com.android.tools.r8.com.google.common.collect.Maps.equalsImpl(java.util.Map,java.lang.Object):3598:3600 -> equals
    1:3:boolean equals(java.lang.Object):878 -> equals
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder builder():180:180 -> f
    2:2:void com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder.<init>():255:255 -> f
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder builder():180 -> f
    1:1:java.lang.Object getOrDefault(java.lang.Object,java.lang.Object):713:713 -> getOrDefault
    1:1:int hashCode():885:885 -> hashCode
    1:1:boolean isEmpty():689:689 -> isEmpty
    com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet() -> k
    1:1:java.util.Set keySet():63:63 -> keySet
    com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet() -> l
    com.android.tools.r8.com.google.common.collect.ImmutableCollection createValues() -> m
    1:1:java.lang.Object merge(java.lang.Object,java.lang.Object,java.util.function.BiFunction):619:619 -> merge
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():725:726 -> n
    boolean isPartialView() -> o
    1:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator keyIterator():751:752 -> p
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):525:525 -> put
    1:1:void putAll(java.util.Map):632:632 -> putAll
    1:1:java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object):539:539 -> putIfAbsent
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableSet keySet():739:740 -> q
    1:1:java.util.Spliterator keySpliterator():766:766 -> r
    1:1:java.lang.Object remove(java.lang.Object):658:658 -> remove
    2:2:boolean remove(java.lang.Object,java.lang.Object):671:671 -> remove
    1:1:boolean replace(java.lang.Object,java.lang.Object,java.lang.Object):552:552 -> replace
    2:2:java.lang.Object replace(java.lang.Object,java.lang.Object):565:565 -> replace
    1:1:void replaceAll(java.util.function.BiFunction):645:645 -> replaceAll
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap of():110:110 -> s
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableCollection values():777:778 -> t
    1:1:java.lang.String com.android.tools.r8.com.google.common.collect.Maps.toStringImpl(java.util.Map):3607:3607 -> toString
    1:1:java.lang.String toString():894 -> toString
    2:3:java.lang.StringBuilder com.android.tools.r8.com.google.common.collect.Collections2.newStringBuilderForCollection(int):351:352 -> toString
    2:3:java.lang.String com.android.tools.r8.com.google.common.collect.Maps.toStringImpl(java.util.Map):3607 -> toString
    2:3:java.lang.String toString():894 -> toString
    4:13:java.lang.String com.android.tools.r8.com.google.common.collect.Maps.toStringImpl(java.util.Map):3607:3616 -> toString
    4:13:java.lang.String toString():894 -> toString
    1:1:java.util.Collection values():63:63 -> values
com.android.tools.r8.com.google.common.collect.ImmutableMap$1 -> com.android.tools.r8.internal.oo:
    com.android.tools.r8.com.google.common.collect.UnmodifiableIterator val$entryIterator -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.UnmodifiableIterator):752:752 -> <init>
    1:1:boolean hasNext():755:755 -> hasNext
    1:1:java.lang.Object next():760:760 -> next
com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder -> com.android.tools.r8.internal.po:
    java.util.Map$Entry[] entries -> b
    int size -> c
    java.util.Comparator valueComparator -> a
    boolean entriesUsed -> d
    1:1:void <init>():255:255 -> <init>
    2:5:void <init>(int):259:262 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object):280:280 -> a
    2:5:void com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder.ensureCapacity(int):266:269 -> a
    2:5:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object):280 -> a
    6:8:void com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder.ensureCapacity(int):268:270 -> a
    6:8:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object):280 -> a
    9:10:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.ImmutableMap.entryOf(java.lang.Object,java.lang.Object):171:172 -> a
    9:10:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object):281 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder put(java.lang.Object,java.lang.Object):283:283 -> a
    12:13:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder orderEntriesByValue(java.util.Comparator):341:342 -> a
    14:14:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> a
    14:14:com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder orderEntriesByValue(java.util.Comparator):342 -> a
    15:19:com.android.tools.r8.com.google.common.collect.ImmutableMap build():375:379 -> a
    20:22:com.android.tools.r8.com.google.common.collect.Ordering com.android.tools.r8.com.google.common.collect.Ordering.from(java.util.Comparator):182:184 -> a
    20:22:com.android.tools.r8.com.google.common.collect.ImmutableMap build():380 -> a
    23:23:com.android.tools.r8.com.google.common.collect.ImmutableMap build():380:380 -> a
    24:24:com.android.tools.r8.com.google.common.collect.Ordering com.android.tools.r8.com.google.common.collect.Ordering.onResultOf(com.android.tools.r8.com.google.common.base.Function):449:449 -> a
    24:24:com.android.tools.r8.com.google.common.collect.ImmutableMap build():380 -> a
    25:35:com.android.tools.r8.com.google.common.collect.ImmutableMap build():379:389 -> a
    36:36:com.android.tools.r8.com.google.common.collect.ImmutableMap build():386:386 -> a
    37:37:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of(java.lang.Object,java.lang.Object):72:72 -> a
    37:37:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of(java.lang.Object,java.lang.Object):119 -> a
    37:37:com.android.tools.r8.com.google.common.collect.ImmutableMap build():386 -> a
    38:38:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMap.of():110:110 -> a
    38:38:com.android.tools.r8.com.google.common.collect.ImmutableMap build():384 -> a
com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap -> com.android.tools.r8.internal.ro:
    1:1:void <init>():475:475 -> <init>
    1:1:java.util.Set entrySet():475:475 -> entrySet
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():503:503 -> k
    1:1:java.util.Set keySet():475:475 -> keySet
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():487:487 -> l
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection createValues():508:508 -> m
    com.android.tools.r8.com.google.common.collect.UnmodifiableIterator entryIterator() -> u
    1:1:java.util.Collection values():475:475 -> values
com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap$1EntrySetImpl -> com.android.tools.r8.internal.qo:
    com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap this$0 -> e
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap):492:492 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():500:500 -> f
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMap$IteratorBasedImmutableMap$1EntrySetImpl.iterator():500:500 -> iterator
    1:1:java.util.Iterator iterator():492 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap map():495:495 -> k
com.android.tools.r8.com.google.common.collect.ImmutableMapEntry -> com.android.tools.r8.internal.vo:
    1:2:void <init>(java.lang.Object,java.lang.Object):47:48 -> <init>
    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry getNextInKeyBucket() -> b
    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry getNextInValueBucket() -> c
    boolean isReusable() -> d
com.android.tools.r8.com.google.common.collect.ImmutableMapEntry$NonTerminalImmutableBiMapEntry -> com.android.tools.r8.internal.to:
    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry nextInValueBucket -> e
    1:2:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):102:103 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry getNextInValueBucket():109:109 -> c
com.android.tools.r8.com.google.common.collect.ImmutableMapEntry$NonTerminalImmutableMapEntry -> com.android.tools.r8.internal.uo:
    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry nextInKeyBucket -> d
    1:2:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):78:79 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry getNextInKeyBucket():84:84 -> b
    boolean isReusable() -> d
com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet -> com.android.tools.r8.internal.xo:
    1:1:void <init>():80:80 -> <init>
    1:4:boolean contains(java.lang.Object):91:94 -> contains
    1:1:boolean isPartialView():101:101 -> e
    1:1:int hashCode():112:112 -> hashCode
    1:1:boolean isHashCodeFast():107:107 -> i
    2:2:boolean com.android.tools.r8.com.google.common.collect.ImmutableMap.isHashCodeFast():0:0 -> i
    2:2:boolean isHashCodeFast():107 -> i
    com.android.tools.r8.com.google.common.collect.ImmutableMap map() -> k
    1:1:int size():86:86 -> size
com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet$RegularEntrySet -> com.android.tools.r8.internal.wo:
    com.android.tools.r8.com.google.common.collect.ImmutableMap map -> e
    com.android.tools.r8.com.google.common.collect.ImmutableList entries -> f
    1:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableList):43:45 -> <init>
    1:1:int copyIntoArray(java.lang.Object[],int):56:56 -> a
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():61:61 -> f
    1:1:void forEach(java.util.function.Consumer):71:71 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():76:76 -> h
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet$RegularEntrySet.iterator():61:61 -> iterator
    1:1:java.util.Iterator iterator():35 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap map():50:50 -> k
    1:1:java.util.Spliterator spliterator():66:66 -> spliterator
com.android.tools.r8.com.google.common.collect.ImmutableMapKeySet -> com.android.tools.r8.internal.yo:
    com.android.tools.r8.com.google.common.collect.ImmutableMap map -> e
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap):38:39 -> <init>
    1:1:void lambda$forEach$0(java.util.function.Consumer,java.lang.Object,java.lang.Object):70:70 -> a
    1:1:boolean contains(java.lang.Object):59:59 -> contains
    boolean isPartialView() -> e
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():49:49 -> f
    1:1:void forEach(java.util.function.Consumer):69:69 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):69 -> forEach
    3:3:void forEach(java.util.function.Consumer):70:70 -> forEach
    1:1:java.lang.Object get(int):64:64 -> get
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMapKeySet.iterator():49:49 -> iterator
    1:1:java.util.Iterator iterator():34 -> iterator
    1:1:int size():44:44 -> size
    1:1:java.util.Spliterator spliterator():54:54 -> spliterator
com.android.tools.r8.com.google.common.collect.ImmutableMapValues -> com.android.tools.r8.internal.Bo:
    com.android.tools.r8.com.google.common.collect.ImmutableMap map -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap):39:40 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap access$000(com.android.tools.r8.com.google.common.collect.ImmutableMapValues):36:36 -> a
    2:3:com.android.tools.r8.com.google.common.collect.ImmutableList asList():82:83 -> a
    4:4:void lambda$forEach$0(java.util.function.Consumer,java.lang.Object,java.lang.Object):100:100 -> a
    1:1:void com.android.tools.r8.com.google.common.collect.ImmutableMapValues$1.<init>(com.android.tools.r8.com.google.common.collect.ImmutableMapValues):51:51 -> contains
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMapValues.iterator():50 -> contains
    1:1:boolean contains(java.lang.Object):72 -> contains
    2:2:boolean com.android.tools.r8.com.google.common.collect.ImmutableMapValues$1.hasNext():55:55 -> contains
    2:2:boolean com.android.tools.r8.com.google.common.collect.Iterators.contains(java.util.Iterator,java.lang.Object):179 -> contains
    2:2:boolean contains(java.lang.Object):72 -> contains
    3:3:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableMapValues$1.next():60:60 -> contains
    3:3:boolean com.android.tools.r8.com.google.common.collect.Iterators.contains(java.util.Iterator,java.lang.Object):180 -> contains
    3:3:boolean contains(java.lang.Object):72 -> contains
    4:4:boolean com.android.tools.r8.com.google.common.collect.Iterators.contains(java.util.Iterator,java.lang.Object):180:180 -> contains
    4:4:boolean contains(java.lang.Object):72 -> contains
    boolean isPartialView() -> e
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():50:50 -> f
    1:1:void forEach(java.util.function.Consumer):99:99 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):99 -> forEach
    3:3:void forEach(java.util.function.Consumer):100:100 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMapValues.iterator():50:50 -> iterator
    1:1:java.util.Iterator iterator():35 -> iterator
    1:1:int size():45:45 -> size
    1:1:java.util.Spliterator spliterator():67:67 -> spliterator
com.android.tools.r8.com.google.common.collect.ImmutableMapValues$1 -> com.android.tools.r8.internal.zo:
    com.android.tools.r8.com.google.common.collect.UnmodifiableIterator entryItr -> b
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMapValues):50:51 -> <init>
    1:1:boolean hasNext():55:55 -> hasNext
    1:1:java.lang.Object next():60:60 -> next
com.android.tools.r8.com.google.common.collect.ImmutableMapValues$2 -> com.android.tools.r8.internal.Ao:
    com.android.tools.r8.com.google.common.collect.ImmutableMapValues this$0 -> e
    com.android.tools.r8.com.google.common.collect.ImmutableList val$entryList -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMapValues,com.android.tools.r8.com.google.common.collect.ImmutableList):83:83 -> <init>
    1:1:java.lang.Object get(int):86:86 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():91:91 -> j
com.android.tools.r8.com.google.common.collect.ImmutableMultimap -> com.android.tools.r8.internal.Go:
    com.android.tools.r8.com.google.common.collect.ImmutableMap map -> f
    int size -> g
    1:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,int):345:347 -> <init>
    1:2:boolean com.android.tools.r8.com.google.common.collect.AbstractMultimap.containsEntry(java.lang.Object,java.lang.Object):60:61 -> a
    1:2:boolean containsEntry(java.lang.Object,java.lang.Object):68 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection com.android.tools.r8.com.google.common.collect.ImmutableMultimap.entries():519:519 -> a
    3:3:java.util.Collection entries():68 -> a
    4:7:java.util.Spliterator lambda$entrySpliterator$1(java.util.Map$Entry):591:594 -> a
    8:8:java.util.Spliterator lambda$entrySpliterator$1(java.util.Map$Entry):593:593 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMultimap.asMap():508:508 -> b
    1:1:java.util.Map asMap():68 -> b
    2:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> b
    2:2:java.util.Map$Entry lambda$entrySpliterator$0(java.lang.Object,java.lang.Object):594 -> b
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultimap.keys():615:615 -> c
    1:1:com.android.tools.r8.com.google.common.collect.Multiset keys():68 -> c
    1:1:void clear():387:387 -> clear
    1:1:boolean containsKey(java.lang.Object):472:472 -> containsKey
    1:1:java.util.Map createAsMap():513:513 -> d
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection com.android.tools.r8.com.google.common.collect.ImmutableMultimap.createEntries():524:524 -> e
    1:1:java.util.Collection createEntries():68 -> e
    1:1:java.util.Set createKeySet():498:498 -> f
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultimap.createKeys():620:620 -> g
    1:1:com.android.tools.r8.com.google.common.collect.Multiset createKeys():68 -> g
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMultimap.entryIterator():563:563 -> h
    1:1:java.util.Iterator entryIterator():68 -> h
    1:1:int com.android.tools.r8.com.google.common.collect.AbstractMultimap.hashCode():252:252 -> hashCode
    1:1:int hashCode():68 -> hashCode
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.ImmutableMultimap.asMap():508:508 -> i
    1:1:java.util.Spliterator entrySpliterator():589 -> i
    2:2:java.util.Spliterator entrySpliterator():589:589 -> i
    3:3:int com.android.tools.r8.com.google.common.collect.ImmutableMultimap.size():482:482 -> i
    3:3:java.util.Spliterator entrySpliterator():597 -> i
    4:4:java.util.Spliterator entrySpliterator():588:588 -> i
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableMultimap.keySet():493:493 -> keySet
    1:1:java.util.Set keySet():68 -> keySet
    1:1:boolean remove(java.lang.Object,java.lang.Object):455:455 -> remove
    1:1:int size():482:482 -> size
    1:1:java.lang.String com.android.tools.r8.com.google.common.collect.AbstractMultimap.toString():263:263 -> toString
    1:1:java.lang.String toString():68 -> toString
com.android.tools.r8.com.google.common.collect.ImmutableMultimap$1 -> com.android.tools.r8.internal.Co:
    java.util.Iterator valueItr -> d
    java.util.Iterator asMapItr -> b
    java.lang.Object currentKey -> c
    1:5:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultimap):563:567 -> <init>
    1:1:boolean hasNext():571:571 -> hasNext
    1:6:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.ImmutableMultimap$1.next():576:581 -> next
    1:6:java.lang.Object next():563 -> next
    7:7:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> next
    7:7:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.ImmutableMultimap$1.next():581 -> next
    7:7:java.lang.Object next():563 -> next
com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Builder -> com.android.tools.r8.internal.Do:
    java.util.Map builderMap -> a
    1:2:void <init>():151:152 -> <init>
com.android.tools.r8.com.google.common.collect.ImmutableMultimap$EntryCollection -> com.android.tools.r8.internal.Eo:
    com.android.tools.r8.com.google.common.collect.ImmutableMultimap multimap -> c
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultimap):530:531 -> <init>
    1:3:boolean contains(java.lang.Object):551:553 -> contains
    1:1:boolean isPartialView():541:541 -> e
    2:2:boolean com.android.tools.r8.com.google.common.collect.ImmutableMultimap.isPartialView():465:465 -> e
    2:2:boolean isPartialView():541 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.com.google.common.collect.ImmutableMultimap.isPartialView():465:465 -> e
    3:3:boolean isPartialView():541 -> e
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():536:536 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableMultimap.entryIterator():563:563 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():536 -> f
    1:1:int size():546:546 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.ImmutableMultimap.size():482:482 -> size
    2:2:int size():546 -> size
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Keys -> com.android.tools.r8.internal.Fo:
    com.android.tools.r8.com.google.common.collect.ImmutableMultimap this$0 -> f
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultimap):625:625 -> <init>
    1:1:boolean contains(java.lang.Object):628:628 -> contains
    2:2:boolean com.android.tools.r8.com.google.common.collect.ImmutableMultimap.containsKey(java.lang.Object):472:472 -> contains
    2:2:boolean contains(java.lang.Object):628 -> contains
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.com.google.common.collect.ImmutableMultimap.containsKey(java.lang.Object):472:472 -> contains
    3:3:boolean contains(java.lang.Object):628 -> contains
    boolean isPartialView() -> e
    1:2:int count(java.lang.Object):633:634 -> g
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet():639:639 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableMultimap.keySet():493:493 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet():639 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableMultimap.keySet():493:493 -> h
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet():639 -> h
    4:5:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):649:650 -> h
    6:6:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.Multisets.immutableEntry(java.lang.Object,int):235:235 -> h
    6:6:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):650 -> h
    1:1:int size():644:644 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.ImmutableMultimap.size():482:482 -> size
    2:2:int size():644 -> size
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.com.google.common.collect.ImmutableMultiset -> com.android.tools.r8.internal.Lo:
    int $r8$clinit -> e
    com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet -> d
    com.android.tools.r8.com.google.common.collect.ImmutableList asList -> c
    1:1:void com.android.tools.r8.com.google.common.collect.ImmutableMultisetGwtSerializationDependencies.<init>():40:40 -> <init>
    1:1:void <init>():223 -> <init>
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableList asList():254:255 -> a
    3:3:int add(java.lang.Object,int):274:274 -> a
    4:4:boolean setCount(java.lang.Object,int,int):316:316 -> a
    5:7:int copyIntoArray(java.lang.Object[],int):322:324 -> a
    1:1:boolean contains(java.lang.Object):260:260 -> contains
    1:1:java.util.Set entrySet():54:54 -> entrySet
    1:1:boolean equals(java.lang.Object):331:331 -> equals
    1:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():227:228 -> f
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder builder():430:430 -> g
    2:2:void com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder.<init>():460:460 -> g
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder builder():430 -> g
    com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet() -> h
    com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int) -> h
    1:1:int hashCode():336:336 -> hashCode
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():352:352 -> i
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableMultiset.createEntrySet():357:357 -> i
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():353 -> i
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> i
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableMultiset.createEntrySet():357 -> i
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():353 -> i
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableMultiset.createEntrySet():357:357 -> i
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():353 -> i
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableSet entrySet():353:353 -> i
    1:1:java.lang.String toString():341:341 -> toString
    1:1:java.util.Set com.android.tools.r8.com.google.common.collect.ImmutableMultimap$Keys.elementSet():623:623 -> x
com.android.tools.r8.com.google.common.collect.ImmutableMultiset$1 -> com.android.tools.r8.internal.Ho:
    java.util.Iterator val$entryIterator -> d
    java.lang.Object element -> c
    int remaining -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultiset,java.util.Iterator):228:228 -> <init>
    1:1:boolean hasNext():234:234 -> hasNext
    1:7:java.lang.Object next():239:245 -> next
com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder -> com.android.tools.r8.internal.Io:
    com.android.tools.r8.com.google.common.collect.Multiset contents -> a
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Multiset):463:464 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder add(java.lang.Object):477:477 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder add(java.lang.Object):477 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder add(java.lang.Object):477:477 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableMultiset build():567:567 -> a
    5:18:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyOf(java.lang.Iterable):180:193 -> a
    5:18:com.android.tools.r8.com.google.common.collect.ImmutableMultiset build():567 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):216:216 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyOf(java.lang.Iterable):193 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableMultiset build():567 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.of():89:89 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):217 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyOf(java.lang.Iterable):193 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableMultiset build():567 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):219:219 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyOf(java.lang.Iterable):193 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableMultiset build():567 -> a
com.android.tools.r8.com.google.common.collect.ImmutableMultiset$ElementSet -> com.android.tools.r8.internal.Jo:
    java.util.List entries -> e
    com.android.tools.r8.com.google.common.collect.Multiset delegate -> f
    1:3:void <init>(java.util.List,com.android.tools.r8.com.google.common.collect.Multiset):584:586 -> <init>
    1:1:boolean contains(java.lang.Object):596:596 -> contains
    boolean isPartialView() -> e
    1:1:java.lang.Object get(int):591:591 -> get
    1:1:int size():606:606 -> size
com.android.tools.r8.com.google.common.collect.ImmutableMultiset$EntrySet -> com.android.tools.r8.internal.Ko:
    com.android.tools.r8.com.google.common.collect.ImmutableMultiset this$0 -> e
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultiset):363:363 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMultiset,com.android.tools.r8.com.google.common.collect.ImmutableMultiset$1):363:363 -> <init>
    1:7:boolean contains(java.lang.Object):381:387 -> contains
    1:1:boolean isPartialView():366:366 -> e
    1:1:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.ImmutableMultiset$EntrySet.get(int):371:371 -> get
    1:1:java.lang.Object get(int):362 -> get
    1:1:int hashCode():394:394 -> hashCode
    1:1:int size():376:376 -> size
com.android.tools.r8.com.google.common.collect.ImmutableSet -> com.android.tools.r8.internal.So:
    int $r8$clinit -> d
    com.android.tools.r8.com.google.common.collect.ImmutableList asList -> c
    1:1:void <init>():302:302 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object):84:84 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object,java.lang.Object):93:93 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object,java.lang.Object,java.lang.Object):102:102 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object):111:111 -> a
    5:16:com.android.tools.r8.com.google.common.collect.ImmutableSet of(java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object,java.lang.Object[]):134:145 -> a
    17:20:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,int,java.lang.Object[]):196:199 -> a
    21:21:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,int,java.lang.Object[]):199 -> a
    22:24:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,int,java.lang.Object[]):200:202 -> a
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,int,java.lang.Object[]):193:193 -> a
    26:26:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> a
    26:26:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,int,java.lang.Object[]):194 -> a
    27:27:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> a
    27:27:com.android.tools.r8.com.google.common.collect.ImmutableSet construct(int,int,java.lang.Object[]):190 -> a
    28:35:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):224:231 -> a
    36:36:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.copyOfEnumSet(java.util.EnumSet):299:299 -> a
    36:36:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):231 -> a
    37:42:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):233:238 -> a
    43:47:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.constructUnknownDuplication(int,java.lang.Object[]):165:169 -> a
    43:47:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):238 -> a
    48:48:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.constructUnknownDuplication(int,java.lang.Object[]):167:167 -> a
    48:48:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):238 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.constructUnknownDuplication(int,java.lang.Object[]):165:165 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableSet copyOf(java.util.Collection):238 -> a
    50:51:com.android.tools.r8.com.google.common.collect.ImmutableList asList():337:338 -> a
    52:52:boolean hashFloodingDetected(java.lang.Object[]):698:698 -> a
    53:53:int com.android.tools.r8.com.google.common.collect.ImmutableSet.maxRunBeforeFallback(int):742:742 -> a
    53:53:boolean hashFloodingDetected(java.lang.Object[]):698 -> a
    54:79:boolean hashFloodingDetected(java.lang.Object[]):702:727 -> a
    1:4:boolean equals(java.lang.Object):314:317 -> equals
    5:9:boolean com.android.tools.r8.com.google.common.collect.Sets.equalsImpl(java.util.Set,java.lang.Object):1724:1728 -> equals
    5:9:boolean equals(java.lang.Object):320 -> equals
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder builder():419:419 -> g
    2:2:void com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.<init>():481:481 -> g
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder builder():419 -> g
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():342:342 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> h
    2:2:void com.android.tools.r8.com.google.common.collect.RegularImmutableAsList.<init>(com.android.tools.r8.com.google.common.collect.ImmutableCollection,java.lang.Object[]):41 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():342 -> h
    3:3:void com.android.tools.r8.com.google.common.collect.RegularImmutableAsList.<init>(com.android.tools.r8.com.google.common.collect.ImmutableCollection,java.lang.Object[]):41:41 -> h
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():342 -> h
    4:4:int com.android.tools.r8.com.google.common.collect.ImmutableSet.maxRunBeforeFallback(int):742:742 -> h
    4:4:int access$000(int):53 -> h
    1:1:int hashCode():325:325 -> hashCode
    boolean isHashCodeFast() -> i
    1:13:int chooseTableSize(int):643:655 -> i
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet of():75:75 -> j
com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder -> com.android.tools.r8.internal.Mo:
    com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl impl -> a
    boolean forceCopy -> b
    1:1:void <init>():481:481 -> <init>
    2:3:void <init>(int):484:485 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.add(java.lang.Object[]):430:430 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object[]):520 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.add(java.lang.Object[]):431 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object[]):520 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:448 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder addAll(java.lang.Iterable):535 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):449 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder addAll(java.lang.Iterable):535 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder add(java.lang.Object):476:476 -> a
    6:8:com.android.tools.r8.com.google.common.collect.ImmutableSet build():554:556 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):511:511 -> b
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> b
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):511 -> b
    3:3:void com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.copyIfNecessary():498:498 -> b
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):512 -> b
    4:4:void com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.copy():505:505 -> b
    4:4:void com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.copyIfNecessary():499 -> b
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):512 -> b
    5:5:void com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.copyIfNecessary():500:500 -> b
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):512 -> b
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder add(java.lang.Object):513:513 -> b
com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed -> com.android.tools.r8.internal.Oo:
    1:1:void <init>():345:345 -> <init>
    1:1:int copyIntoArray(java.lang.Object[],int):369:369 -> a
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():350:350 -> f
    1:1:void forEach(java.util.function.Consumer):360:360 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):360 -> forEach
    3:5:void forEach(java.util.function.Consumer):361:363 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():374:374 -> h
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed.iterator():350:350 -> iterator
    1:1:java.util.Iterator iterator():345 -> iterator
    1:1:java.util.Spliterator spliterator():355:355 -> spliterator
com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed$1 -> com.android.tools.r8.internal.No:
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed):374:374 -> <init>
    1:1:java.lang.Object get(int):377:377 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed com.android.tools.r8.com.google.common.collect.ImmutableSet$Indexed$1.delegateCollection():382:382 -> j
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():374 -> j
com.android.tools.r8.com.google.common.collect.ImmutableSet$JdkBackedSetBuilderImpl -> com.android.tools.r8.internal.Po:
    java.util.Set delegate -> c
    1:4:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl):847:850 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):856:856 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):856 -> a
    3:4:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):857:858 -> a
    5:12:com.android.tools.r8.com.google.common.collect.ImmutableSet build():870:877 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableSet build():874:874 -> a
    14:14:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> a
    14:14:com.android.tools.r8.com.google.common.collect.ImmutableSet build():874 -> a
    15:15:com.android.tools.r8.com.google.common.collect.ImmutableSet build():872:872 -> a
    16:16:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> a
    16:16:com.android.tools.r8.com.google.common.collect.ImmutableSet build():872 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl copy():865:865 -> b
com.android.tools.r8.com.google.common.collect.ImmutableSet$RegularSetBuilderImpl -> com.android.tools.r8.internal.Qo:
    java.lang.Object[] hashTable -> c
    int hashCode -> f
    int maxRunBeforeFallback -> d
    int expandTableThreshold -> e
    1:5:void <init>(int):760:764 -> <init>
    6:10:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableSet$RegularSetBuilderImpl):768:772 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):786:786 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):786 -> a
    3:13:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):787:797 -> a
    14:16:void com.android.tools.r8.com.google.common.collect.ImmutableSet$RegularSetBuilderImpl.ensureTableCapacity(int):776:778 -> a
    14:16:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):797 -> a
    17:25:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ImmutableSet.rebuildHashTable(int,java.lang.Object[],int):442:450 -> a
    17:25:void com.android.tools.r8.com.google.common.collect.ImmutableSet$RegularSetBuilderImpl.ensureTableCapacity(int):778 -> a
    17:25:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):797 -> a
    26:28:void com.android.tools.r8.com.google.common.collect.ImmutableSet$RegularSetBuilderImpl.ensureTableCapacity(int):778:780 -> a
    26:28:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):797 -> a
    29:34:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object):799:804 -> a
    35:45:com.android.tools.r8.com.google.common.collect.ImmutableSet build():825:835 -> a
    46:46:com.android.tools.r8.com.google.common.collect.ImmutableSet build():829:829 -> a
    47:47:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> a
    47:47:com.android.tools.r8.com.google.common.collect.ImmutableSet build():829 -> a
    48:48:com.android.tools.r8.com.google.common.collect.ImmutableSet build():827:827 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> a
    49:49:com.android.tools.r8.com.google.common.collect.ImmutableSet build():827 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl copy():809:809 -> b
    1:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl review():814:816 -> c
    4:12:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ImmutableSet.rebuildHashTable(int,java.lang.Object[],int):442:450 -> c
    4:12:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl review():816 -> c
    13:17:com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl review():816:820 -> c
com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl -> com.android.tools.r8.internal.Ro:
    java.lang.Object[] dedupedElements -> a
    int distinct -> b
    1:3:void <init>(int):566:568 -> <init>
    4:6:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl):572:574 -> <init>
    com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl add(java.lang.Object) -> a
    com.android.tools.r8.com.google.common.collect.ImmutableSet build() -> a
    com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl copy() -> b
    1:1:void addDedupedElement(java.lang.Object):591:591 -> b
    2:5:void com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl.ensureCapacity(int):582:585 -> b
    2:5:void addDedupedElement(java.lang.Object):591 -> b
    6:6:void addDedupedElement(java.lang.Object):592:592 -> b
    com.android.tools.r8.com.google.common.collect.ImmutableSet$SetBuilderImpl review() -> c
com.android.tools.r8.com.google.common.collect.IndexedImmutableSet -> com.android.tools.r8.internal.fp:
    1:1:void <init>():27:27 -> <init>
    1:1:int copyIntoArray(java.lang.Object[],int):52:52 -> a
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():32:32 -> f
    1:1:void forEach(java.util.function.Consumer):42:42 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):42 -> forEach
    3:5:void forEach(java.util.function.Consumer):43:45 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():57:57 -> h
    1:1:java.util.Spliterator spliterator():37:37 -> spliterator
com.android.tools.r8.com.google.common.collect.IndexedImmutableSet$1 -> com.android.tools.r8.internal.ep:
    com.android.tools.r8.com.google.common.collect.IndexedImmutableSet this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.IndexedImmutableSet):57:57 -> <init>
    1:1:boolean isPartialView():65:65 -> e
    1:1:java.lang.Object get(int):60:60 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():75:75 -> j
    1:1:int size():70:70 -> size
com.android.tools.r8.com.google.common.collect.Iterables -> com.android.tools.r8.internal.bv:
    1:2:boolean contains(java.lang.Iterable,java.lang.Object):136:137 -> a
    3:5:boolean com.android.tools.r8.com.google.common.collect.Collections2.safeContains(java.util.Collection,java.lang.Object):101:103 -> a
    3:5:boolean contains(java.lang.Iterable,java.lang.Object):138 -> a
    6:6:boolean contains(java.lang.Iterable,java.lang.Object):140:140 -> a
    7:14:boolean com.android.tools.r8.com.google.common.collect.Iterators.contains(java.util.Iterator,java.lang.Object):173:180 -> a
    7:14:boolean contains(java.lang.Iterable,java.lang.Object):140 -> a
    15:16:com.android.tools.r8.com.google.common.collect.FluentIterable com.android.tools.r8.com.google.common.collect.FluentIterable.concat(java.lang.Iterable):273:274 -> a
    15:16:java.lang.Iterable concat(java.lang.Iterable):488 -> a
    17:19:java.util.Collection com.android.tools.r8.com.google.common.collect.Iterables.castOrCopyToCollection(java.lang.Iterable):304:306 -> a
    17:19:java.lang.Object[] toArray(java.lang.Iterable,java.lang.Object[]):284 -> a
    20:20:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList():83:83 -> a
    20:20:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList(java.util.Iterator):142 -> a
    20:20:java.util.Collection com.android.tools.r8.com.google.common.collect.Iterables.castOrCopyToCollection(java.lang.Iterable):306 -> a
    20:20:java.lang.Object[] toArray(java.lang.Iterable,java.lang.Object[]):284 -> a
    21:21:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList(java.util.Iterator):143:143 -> a
    21:21:java.util.Collection com.android.tools.r8.com.google.common.collect.Iterables.castOrCopyToCollection(java.lang.Iterable):306 -> a
    21:21:java.lang.Object[] toArray(java.lang.Iterable,java.lang.Object[]):284 -> a
    22:22:java.lang.Object[] toArray(java.lang.Iterable,java.lang.Object[]):285:285 -> a
    23:27:boolean addAll(java.util.Collection,java.lang.Iterable):316:320 -> a
    28:28:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    28:28:boolean addAll(java.util.Collection,java.lang.Iterable):320 -> a
    29:29:boolean addAll(java.util.Collection,java.lang.Iterable):320:320 -> a
    30:30:java.lang.Iterable concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    31:31:boolean all(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):618:618 -> a
    32:32:boolean com.android.tools.r8.com.google.common.collect.Iterators.all(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):669:669 -> a
    32:32:boolean all(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):618 -> a
    33:33:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    33:33:boolean com.android.tools.r8.com.google.common.collect.Iterators.all(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):669 -> a
    33:33:boolean all(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):618 -> a
    34:36:boolean com.android.tools.r8.com.google.common.collect.Iterators.all(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):670:672 -> a
    34:36:boolean all(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):618 -> a
    37:37:java.lang.Object find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):646:646 -> a
    38:38:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.find(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):710:710 -> a
    38:38:java.lang.Object find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):646 -> a
    39:39:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    39:39:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.find(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):710 -> a
    39:39:java.lang.Object find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):646 -> a
    40:40:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    40:40:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.find(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):711 -> a
    40:40:java.lang.Object find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):646 -> a
    41:43:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.find(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):712:714 -> a
    41:43:java.lang.Object find(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate,java.lang.Object):646 -> a
    44:44:java.lang.Iterable transform(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Function):693:693 -> a
    45:45:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    45:45:java.lang.Iterable transform(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Function):693 -> a
    46:46:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    46:46:java.lang.Iterable transform(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Function):694 -> a
    47:47:java.lang.Iterable transform(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Function):695:695 -> a
    1:1:java.lang.Object getOnlyElement(java.lang.Iterable):254:254 -> b
    2:16:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.getOnlyElement(java.util.Iterator):301:315 -> b
    2:16:java.lang.Object getOnlyElement(java.lang.Iterable):254 -> b
    17:17:java.lang.Iterable filter(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):554:554 -> b
    18:18:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> b
    18:18:java.lang.Iterable filter(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):554 -> b
    19:19:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> b
    19:19:java.lang.Iterable filter(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):555 -> b
    20:20:java.lang.Iterable filter(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):556:556 -> b
    1:4:boolean isEmpty(java.lang.Iterable):985:988 -> c
    1:1:java.lang.Iterable skip(java.lang.Iterable,int):852:852 -> d
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> d
    2:2:java.lang.Iterable skip(java.lang.Iterable,int):852 -> d
    3:5:java.lang.Iterable skip(java.lang.Iterable,int):853:855 -> d
com.android.tools.r8.com.google.common.collect.Iterables$10 -> com.android.tools.r8.internal.Wu:
    1:1:void <init>():1023:1023 -> <init>
    1:1:java.lang.Object apply(java.lang.Object):1023:1023 -> apply
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterables$10.apply(java.lang.Iterable):1026:1026 -> apply
    2:2:java.lang.Object apply(java.lang.Object):1023 -> apply
com.android.tools.r8.com.google.common.collect.Iterables$4 -> com.android.tools.r8.internal.Xu:
    com.android.tools.r8.com.google.common.base.Predicate val$retainIfTrue -> d
    java.lang.Iterable val$unfiltered -> c
    1:1:void <init>(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):556:556 -> <init>
    1:2:void lambda$forEach$0(com.android.tools.r8.com.google.common.base.Predicate,java.util.function.Consumer,java.lang.Object):567:568 -> a
    1:1:void forEach(java.util.function.Consumer):564:564 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):564 -> forEach
    3:3:void forEach(java.util.function.Consumer):565:565 -> forEach
    1:1:java.util.Iterator iterator():559:559 -> iterator
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.filter(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):630:630 -> iterator
    2:2:java.util.Iterator iterator():559 -> iterator
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> iterator
    3:3:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.filter(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):630 -> iterator
    3:3:java.util.Iterator iterator():559 -> iterator
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> iterator
    4:4:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.filter(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):631 -> iterator
    4:4:java.util.Iterator iterator():559 -> iterator
    5:5:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.filter(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):632:632 -> iterator
    5:5:java.util.Iterator iterator():559 -> iterator
    1:1:java.util.Spliterator spliterator():575:575 -> spliterator
    2:2:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):144:144 -> spliterator
    2:2:java.util.Spliterator spliterator():575 -> spliterator
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> spliterator
    3:3:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):144 -> spliterator
    3:3:java.util.Spliterator spliterator():575 -> spliterator
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> spliterator
    4:4:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):145 -> spliterator
    4:4:java.util.Spliterator spliterator():575 -> spliterator
    5:5:java.util.Spliterator com.android.tools.r8.com.google.common.collect.CollectSpliterators.filter(java.util.Spliterator,java.util.function.Predicate):194:194 -> spliterator
    5:5:java.util.Spliterator spliterator():575 -> spliterator
com.android.tools.r8.com.google.common.collect.Iterables$5 -> com.android.tools.r8.internal.Yu:
    java.lang.Iterable val$fromIterable -> c
    com.android.tools.r8.com.google.common.base.Function val$function -> d
    1:1:void <init>(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Function):695:695 -> <init>
    1:1:void lambda$forEach$0(java.util.function.Consumer,com.android.tools.r8.com.google.common.base.Function,java.lang.Object):704:704 -> a
    1:1:void forEach(java.util.function.Consumer):703:703 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):703 -> forEach
    3:3:void forEach(java.util.function.Consumer):704:704 -> forEach
    1:1:java.util.Iterator iterator():698:698 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.transform(java.util.Iterator,com.android.tools.r8.com.google.common.base.Function):779:779 -> iterator
    2:2:java.util.Iterator iterator():698 -> iterator
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> iterator
    3:3:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.transform(java.util.Iterator,com.android.tools.r8.com.google.common.base.Function):779 -> iterator
    3:3:java.util.Iterator iterator():698 -> iterator
    4:4:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.transform(java.util.Iterator,com.android.tools.r8.com.google.common.base.Function):780:780 -> iterator
    4:4:java.util.Iterator iterator():698 -> iterator
    1:1:java.util.Spliterator spliterator():709:709 -> spliterator
com.android.tools.r8.com.google.common.collect.Iterables$6 -> com.android.tools.r8.internal.av:
    int val$numberToSkip -> d
    java.lang.Iterable val$iterable -> c
    1:1:void <init>(java.lang.Iterable,int):855:855 -> <init>
    1:8:java.util.Iterator iterator():858:865 -> iterator
    9:9:int com.android.tools.r8.com.google.common.collect.Iterators.advance(java.util.Iterator,int):884:884 -> iterator
    9:9:java.util.Iterator iterator():865 -> iterator
    10:10:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> iterator
    10:10:int com.android.tools.r8.com.google.common.collect.Iterators.advance(java.util.Iterator,int):884 -> iterator
    10:10:java.util.Iterator iterator():865 -> iterator
    11:15:int com.android.tools.r8.com.google.common.collect.Iterators.advance(java.util.Iterator,int):885:889 -> iterator
    11:15:java.util.Iterator iterator():865 -> iterator
    16:16:java.util.Iterator iterator():872:872 -> iterator
    1:6:java.util.Spliterator spliterator():897:902 -> spliterator
com.android.tools.r8.com.google.common.collect.Iterables$6$1 -> com.android.tools.r8.internal.Zu:
    java.util.Iterator val$iterator -> c
    boolean atStart -> b
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Iterables$6,java.util.Iterator):872:873 -> <init>
    1:1:boolean hasNext():877:877 -> hasNext
    1:2:java.lang.Object next():882:883 -> next
    1:1:void remove():889:889 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():889 -> remove
    3:3:void remove():890:890 -> remove
com.android.tools.r8.com.google.common.collect.Iterators -> com.android.tools.r8.internal.pv:
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.emptyListIterator():88:88 -> a
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator emptyIterator():77 -> a
    2:2:boolean addAll(java.util.Collection,java.util.Iterator):352:352 -> a
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    3:3:boolean addAll(java.util.Collection,java.util.Iterator):352 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    4:4:boolean addAll(java.util.Collection,java.util.Iterator):353 -> a
    5:6:boolean addAll(java.util.Collection,java.util.Iterator):355:356 -> a
    7:7:java.util.Iterator cycle(java.lang.Iterable):390:390 -> a
    8:8:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    8:8:java.util.Iterator cycle(java.lang.Iterable):390 -> a
    9:9:java.util.Iterator cycle(java.lang.Iterable):391:391 -> a
    10:10:java.util.Iterator concat(java.util.Iterator,java.util.Iterator):480:480 -> a
    11:11:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    11:11:java.util.Iterator concat(java.util.Iterator,java.util.Iterator):480 -> a
    12:12:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    12:12:java.util.Iterator concat(java.util.Iterator,java.util.Iterator):481 -> a
    13:13:java.util.Iterator concat(java.util.Iterator,java.util.Iterator):482:482 -> a
    14:14:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.consumingForArray(java.lang.Object[]):450:450 -> a
    14:14:java.util.Iterator concat(java.util.Iterator,java.util.Iterator):482 -> a
    15:15:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators.concat(java.util.Iterator):546:546 -> a
    15:15:java.util.Iterator concat(java.util.Iterator,java.util.Iterator):482 -> a
    16:19:int com.android.tools.r8.com.google.common.collect.Iterators.indexOf(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):759:762 -> a
    16:19:boolean any(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):661 -> a
    20:20:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> a
    20:20:int com.android.tools.r8.com.google.common.collect.Iterators.indexOf(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):759 -> a
    20:20:boolean any(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):661 -> a
    21:21:java.util.Iterator limit(java.util.Iterator,int):905:905 -> a
    22:22:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    22:22:java.util.Iterator limit(java.util.Iterator,int):905 -> a
    23:24:java.util.Iterator limit(java.util.Iterator,int):906:907 -> a
    25:25:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator forArray(java.lang.Object[]):1001:1001 -> a
    26:31:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[],int,int,int):1013:1018 -> a
    26:31:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator forArray(java.lang.Object[]):1001 -> a
    32:32:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.emptyListIterator():88:88 -> a
    32:32:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[],int,int,int):1020 -> a
    32:32:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator forArray(java.lang.Object[]):1001 -> a
    33:33:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[],int,int,int):1022:1022 -> a
    33:33:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator forArray(java.lang.Object[]):1001 -> a
    34:34:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator singletonIterator(java.lang.Object):1049:1049 -> a
    1:5:boolean removeAll(java.util.Iterator,java.util.Collection):198:202 -> b
com.android.tools.r8.com.google.common.collect.Iterators$1 -> com.android.tools.r8.internal.fv:
    java.util.Iterator val$iterator -> b
    1:1:void <init>(java.util.Iterator):133:133 -> <init>
    1:1:boolean hasNext():136:136 -> hasNext
    1:1:java.lang.Object next():141:141 -> next
com.android.tools.r8.com.google.common.collect.Iterators$2 -> com.android.tools.r8.internal.gv:
    java.util.Iterator iterator -> b
    java.lang.Iterable val$iterable -> c
    1:2:void <init>(java.lang.Iterable):391:392 -> <init>
    1:1:boolean hasNext():405:405 -> hasNext
    1:7:java.lang.Object next():410:416 -> next
    1:1:void remove():421:421 -> remove
com.android.tools.r8.com.google.common.collect.Iterators$3 -> com.android.tools.r8.internal.hv:
    java.lang.Object[] val$elements -> c
    int index -> b
    1:2:void <init>(java.lang.Object[]):450:451 -> <init>
    1:1:boolean hasNext():455:455 -> hasNext
    1:6:java.lang.Object next():460:465 -> next
    7:7:java.lang.Object next():461:461 -> next
com.android.tools.r8.com.google.common.collect.Iterators$5 -> com.android.tools.r8.internal.iv:
    java.util.Iterator val$unfiltered -> d
    com.android.tools.r8.com.google.common.base.Predicate val$retainIfTrue -> e
    1:1:void <init>(java.util.Iterator,com.android.tools.r8.com.google.common.base.Predicate):632:632 -> <init>
    1:7:java.lang.Object computeNext():635:641 -> j
com.android.tools.r8.com.google.common.collect.Iterators$6 -> com.android.tools.r8.internal.jv:
    com.android.tools.r8.com.google.common.base.Function val$function -> c
    1:1:void <init>(java.util.Iterator,com.android.tools.r8.com.google.common.base.Function):780:780 -> <init>
    1:1:java.lang.Object transform(java.lang.Object):783:783 -> a
com.android.tools.r8.com.google.common.collect.Iterators$7 -> com.android.tools.r8.internal.kv:
    java.util.Iterator val$iterator -> d
    int count -> b
    int val$limitSize -> c
    1:1:void <init>(int,java.util.Iterator):907:907 -> <init>
    1:1:boolean hasNext():912:912 -> hasNext
    1:5:java.lang.Object next():917:921 -> next
    6:6:java.lang.Object next():918:918 -> next
    1:1:void remove():926:926 -> remove
com.android.tools.r8.com.google.common.collect.Iterators$9 -> com.android.tools.r8.internal.lv:
    java.lang.Object val$value -> c
    boolean done -> b
    1:1:void <init>(java.lang.Object):1049:1049 -> <init>
    1:1:boolean hasNext():1054:1054 -> hasNext
    1:5:java.lang.Object next():1059:1063 -> next
    6:6:java.lang.Object next():1060:1060 -> next
com.android.tools.r8.com.google.common.collect.Iterators$ArrayItr -> com.android.tools.r8.internal.mv:
    java.lang.Object[] array -> d
    com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator EMPTY -> f
    int offset -> e
    1:1:void <clinit>():1026:1026 -> <clinit>
    1:3:void <init>(java.lang.Object[],int,int,int):1032:1034 -> <init>
    1:1:java.lang.Object get(int):1039:1039 -> a
com.android.tools.r8.com.google.common.collect.Iterators$ConcatenatedIterator -> com.android.tools.r8.internal.nv:
    java.util.Iterator topMetaIterator -> d
    java.util.Iterator iterator -> c
    java.util.Iterator toRemove -> b
    java.util.Deque metaIterators -> e
    1:3:void <init>(java.util.Iterator):1305:1307 -> <init>
    1:1:boolean hasNext():1324:1324 -> hasNext
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> hasNext
    2:2:boolean hasNext():1324 -> hasNext
    3:3:boolean hasNext():1324:1324 -> hasNext
    4:11:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators$ConcatenatedIterator.getTopMetaIterator():1312:1319 -> hasNext
    4:11:boolean hasNext():1328 -> hasNext
    12:13:java.util.Iterator com.android.tools.r8.com.google.common.collect.Iterators$ConcatenatedIterator.getTopMetaIterator():1313:1314 -> hasNext
    12:13:boolean hasNext():1328 -> hasNext
    14:40:boolean hasNext():1328:1354 -> hasNext
    1:5:java.lang.Object next():1362:1366 -> next
    1:1:void remove():1372:1372 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():1372 -> remove
    3:4:void remove():1373:1374 -> remove
com.android.tools.r8.com.google.common.collect.Iterators$EmptyModifiableIterator -> com.android.tools.r8.internal.ov:
    com.android.tools.r8.com.google.common.collect.Iterators$EmptyModifiableIterator INSTANCE -> b
    1:1:void <clinit>():96:96 -> <clinit>
    1:1:void <init>(java.lang.String,int):95:95 -> <init>
    1:1:java.lang.Object next():105:105 -> next
    1:1:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    1:1:void remove():110 -> remove
com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap -> com.android.tools.r8.internal.xv:
    com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap inverse -> i
    com.android.tools.r8.com.google.common.collect.ImmutableList entries -> f
    java.util.Map forwardDelegate -> g
    java.util.Map backwardDelegate -> h
    1:4:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Map,java.util.Map):57:60 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$100(com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap):31:31 -> a
    2:5:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):34:37 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry):128:128 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):37 -> a
    7:9:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry,java.lang.Object,java.lang.Object):121:123 -> a
    7:9:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry):128 -> a
    7:9:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):37 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):38:38 -> a
    11:11:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> a
    11:11:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):39 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):39 -> a
    13:13:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):39:39 -> a
    14:14:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> a
    14:14:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):43 -> a
    15:15:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> a
    15:15:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):43 -> a
    16:18:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):43:45 -> a
    19:19:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):45 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):45:45 -> a
    21:21:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):41 -> a
    22:30:com.android.tools.r8.com.google.common.collect.ImmutableBiMap create(int,java.util.Map$Entry[]):41:49 -> a
    1:1:java.lang.Object get(java.lang.Object):104:104 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():109:109 -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():114:114 -> l
    boolean isPartialView() -> o
    1:1:int size():65:65 -> size
    1:7:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():72:78 -> u
com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$InverseEntries -> com.android.tools.r8.internal.wv:
    com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap this$0 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap):84:84 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap,com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$1):84:84 -> <init>
    boolean isPartialView() -> e
    1:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$InverseEntries.get(int):87:88 -> get
    1:2:java.lang.Object get(int):83 -> get
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> get
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.JdkBackedImmutableBiMap$InverseEntries.get(int):88 -> get
    3:3:java.lang.Object get(int):83 -> get
    1:1:int size():98:98 -> size
com.android.tools.r8.com.google.common.collect.JdkBackedImmutableMap -> com.android.tools.r8.internal.yv:
    com.android.tools.r8.com.google.common.collect.ImmutableList entries -> g
    java.util.Map delegateMap -> f
    1:3:void <init>(java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList):53:55 -> <init>
    1:3:com.android.tools.r8.com.google.common.collect.ImmutableMap create(int,java.util.Map$Entry[]):39:41 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry):128:128 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableMap create(int,java.util.Map$Entry[]):41 -> a
    5:7:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry,java.lang.Object,java.lang.Object):121:123 -> a
    5:7:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry):128 -> a
    5:7:com.android.tools.r8.com.google.common.collect.ImmutableMap create(int,java.util.Map$Entry[]):41 -> a
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableMap create(int,java.util.Map$Entry[]):41:41 -> a
    9:9:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableMap create(int,java.util.Map$Entry[]):42 -> a
    10:15:com.android.tools.r8.com.google.common.collect.ImmutableMap create(int,java.util.Map$Entry[]):42:47 -> a
    16:16:void lambda$forEach$0(java.util.function.BiConsumer,java.util.Map$Entry):76:76 -> a
    1:1:void forEach(java.util.function.BiConsumer):75:75 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):75 -> forEach
    3:3:void forEach(java.util.function.BiConsumer):76:76 -> forEach
    1:1:java.lang.Object get(java.lang.Object):65:65 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():70:70 -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():81:81 -> l
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection createValues():86:86 -> m
    boolean isPartialView() -> o
    1:1:int size():60:60 -> size
com.android.tools.r8.com.google.common.collect.JdkBackedImmutableMultiset -> com.android.tools.r8.internal.zv:
    com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet -> i
    long size -> h
    com.android.tools.r8.com.google.common.collect.ImmutableList entries -> g
    java.util.Map delegateMap -> f
    1:4:void <init>(java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableList,long):57:60 -> <init>
    1:8:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):39:46 -> a
    9:9:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):46 -> a
    10:11:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):47:48 -> a
    12:12:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.Multisets.immutableEntry(java.lang.Object,int):235:235 -> a
    12:12:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):49 -> a
    13:16:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):49:52 -> a
    17:17:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    17:17:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):53 -> a
    18:18:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):53:53 -> a
    boolean isPartialView() -> e
    1:1:int count(java.lang.Object):65:65 -> g
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet():72:73 -> h
    3:3:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):78:78 -> h
    1:1:int size():88:88 -> size
com.android.tools.r8.com.google.common.collect.JdkBackedImmutableSet -> com.android.tools.r8.internal.Av:
    java.util.Set delegate -> e
    com.android.tools.r8.com.google.common.collect.ImmutableList delegateList -> f
    1:3:void <init>(java.util.Set,com.android.tools.r8.com.google.common.collect.ImmutableList):33:35 -> <init>
    1:1:boolean contains(java.lang.Object):45:45 -> contains
    boolean isPartialView() -> e
    1:1:java.lang.Object get(int):40:40 -> get
    1:1:int size():55:55 -> size
com.android.tools.r8.com.google.common.collect.LinkedHashMultiset -> com.android.tools.r8.internal.WB:
    1:1:void <init>():74:74 -> <init>
    2:2:void <init>(int):78:78 -> <init>
    1:2:int com.android.tools.r8.com.google.common.collect.Multisets.inferDistinctElements(java.lang.Iterable):378:379 -> a
    1:2:com.android.tools.r8.com.google.common.collect.LinkedHashMultiset create(java.lang.Iterable):68 -> a
    3:3:com.android.tools.r8.com.google.common.collect.LinkedHashMultiset com.android.tools.r8.com.google.common.collect.LinkedHashMultiset.create(int):57:57 -> a
    3:3:com.android.tools.r8.com.google.common.collect.LinkedHashMultiset create(java.lang.Iterable):68 -> a
    4:4:com.android.tools.r8.com.google.common.collect.LinkedHashMultiset create(java.lang.Iterable):69:69 -> a
    1:1:com.android.tools.r8.com.google.common.collect.LinkedHashMultiset create():46:46 -> f
    1:1:boolean com.android.tools.r8.com.google.common.collect.AbstractMultiset.isEmpty():50:50 -> isEmpty
    1:1:boolean isEmpty():41 -> isEmpty
    1:1:java.util.Iterator com.android.tools.r8.com.google.common.collect.AbstractMapBasedMultiset.iterator():185:185 -> iterator
    1:1:java.util.Iterator iterator():41 -> iterator
com.android.tools.r8.com.google.common.collect.Lists -> com.android.tools.r8.internal.kC:
    1:1:java.util.ArrayList newArrayList(java.lang.Object[]):103:103 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    2:2:java.util.ArrayList newArrayList(java.lang.Object[]):103 -> a
    3:3:java.util.ArrayList newArrayList(java.lang.Object[]):105:105 -> a
    4:7:int com.android.tools.r8.com.google.common.collect.Lists.computeArrayListCapacity(int):149:152 -> a
    4:7:java.util.ArrayList newArrayList(java.lang.Object[]):105 -> a
    8:9:java.util.ArrayList newArrayList(java.lang.Object[]):106:107 -> a
    10:10:java.util.ArrayList newArrayList(java.lang.Iterable):126:126 -> a
    11:11:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    11:11:java.util.ArrayList newArrayList(java.lang.Iterable):126 -> a
    12:14:java.util.ArrayList newArrayList(java.lang.Iterable):128:130 -> a
    15:15:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList():83:83 -> a
    15:15:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList(java.util.Iterator):142 -> a
    15:15:java.util.ArrayList newArrayList(java.lang.Iterable):130 -> a
    16:16:java.util.ArrayList com.android.tools.r8.com.google.common.collect.Lists.newArrayList(java.util.Iterator):143:143 -> a
    16:16:java.util.ArrayList newArrayList(java.lang.Iterable):130 -> a
    17:24:java.util.List reverse(java.util.List):796:803 -> a
    25:25:boolean equalsImpl(java.util.List,java.lang.Object):966:966 -> a
    26:26:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    26:26:boolean equalsImpl(java.util.List,java.lang.Object):966 -> a
    27:44:boolean equalsImpl(java.util.List,java.lang.Object):969:986 -> a
    45:55:boolean com.android.tools.r8.com.google.common.collect.Iterators.elementsEqual(java.util.Iterator,java.util.Iterator):263:273 -> a
    45:55:boolean equalsImpl(java.util.List,java.lang.Object):986 -> a
com.android.tools.r8.com.google.common.collect.Lists$RandomAccessReverseList -> com.android.tools.r8.internal.hC:
    1:1:void <init>(java.util.List):947:947 -> <init>
com.android.tools.r8.com.google.common.collect.Lists$ReverseList -> com.android.tools.r8.internal.jC:
    java.util.List forwardList -> b
    1:2:void <init>(java.util.List):810:811 -> <init>
    1:1:java.util.List getForwardList():815:815 -> a
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> a
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):825 -> a
    2:2:int access$000(com.android.tools.r8.com.google.common.collect.Lists$ReverseList,int):807 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> a
    3:3:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):825 -> a
    3:3:int access$000(com.android.tools.r8.com.google.common.collect.Lists$ReverseList,int):807 -> a
    4:4:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):826:826 -> a
    4:4:int access$000(com.android.tools.r8.com.google.common.collect.Lists$ReverseList,int):807 -> a
    1:1:void add(int,java.lang.Object):832:832 -> add
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> add
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):825 -> add
    2:2:void add(int,java.lang.Object):832 -> add
    3:3:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):826:826 -> add
    3:3:void add(int,java.lang.Object):832 -> add
    4:4:void add(int,java.lang.Object):832:832 -> add
    1:1:void clear():837:837 -> clear
    1:1:java.lang.Object get(int):857:857 -> get
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> get
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reverseIndex(int):819 -> get
    2:2:java.lang.Object get(int):857 -> get
    3:3:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reverseIndex(int):820:820 -> get
    3:3:java.lang.Object get(int):857 -> get
    4:4:java.lang.Object get(int):857:857 -> get
    1:1:java.util.Iterator iterator():873:873 -> iterator
    1:1:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> listIterator
    1:1:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):825 -> listIterator
    1:1:java.util.ListIterator listIterator(int):878 -> listIterator
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):826:826 -> listIterator
    2:2:java.util.ListIterator listIterator(int):878 -> listIterator
    3:4:java.util.ListIterator listIterator(int):879:880 -> listIterator
    1:1:java.lang.Object remove(int):842:842 -> remove
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> remove
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reverseIndex(int):819 -> remove
    2:2:java.lang.Object remove(int):842 -> remove
    3:3:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reverseIndex(int):820:820 -> remove
    3:3:java.lang.Object remove(int):842 -> remove
    4:4:java.lang.Object remove(int):842:842 -> remove
    1:1:void removeRange(int,int):847:847 -> removeRange
    1:1:java.lang.Object set(int,java.lang.Object):852:852 -> set
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> set
    2:2:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reverseIndex(int):819 -> set
    2:2:java.lang.Object set(int,java.lang.Object):852 -> set
    3:3:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reverseIndex(int):820:820 -> set
    3:3:java.lang.Object set(int,java.lang.Object):852 -> set
    4:4:java.lang.Object set(int,java.lang.Object):852:852 -> set
    1:1:int size():862:862 -> size
    1:1:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> subList
    1:1:java.util.List subList(int,int):867 -> subList
    2:3:java.util.List subList(int,int):867:868 -> subList
    4:4:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> subList
    4:4:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):825 -> subList
    4:4:java.util.List subList(int,int):868 -> subList
    5:5:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):826:826 -> subList
    5:5:java.util.List subList(int,int):868 -> subList
    6:6:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.size():862:862 -> subList
    6:6:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):825 -> subList
    6:6:java.util.List subList(int,int):868 -> subList
    7:7:int com.android.tools.r8.com.google.common.collect.Lists$ReverseList.reversePosition(int):826:826 -> subList
    7:7:java.util.List subList(int,int):868 -> subList
    8:8:java.util.List subList(int,int):868:868 -> subList
com.android.tools.r8.com.google.common.collect.Lists$ReverseList$1 -> com.android.tools.r8.internal.iC:
    java.util.ListIterator val$forwardIterator -> c
    com.android.tools.r8.com.google.common.collect.Lists$ReverseList this$0 -> d
    boolean canRemoveOrSet -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.Lists$ReverseList,java.util.ListIterator):880:880 -> <init>
    1:3:void add(java.lang.Object):886:888 -> add
    1:1:boolean hasNext():893:893 -> hasNext
    1:1:boolean hasPrevious():898:898 -> hasPrevious
    1:1:boolean com.android.tools.r8.com.google.common.collect.Lists$ReverseList$1.hasNext():893:893 -> next
    1:1:java.lang.Object next():903 -> next
    2:3:java.lang.Object next():906:907 -> next
    4:4:java.lang.Object next():904:904 -> next
    1:1:int nextIndex():912:912 -> nextIndex
    1:1:boolean com.android.tools.r8.com.google.common.collect.Lists$ReverseList$1.hasPrevious():898:898 -> previous
    1:1:java.lang.Object previous():917 -> previous
    2:3:java.lang.Object previous():920:921 -> previous
    4:4:java.lang.Object previous():918:918 -> previous
    1:1:int previousIndex():926:926 -> previousIndex
    1:1:void remove():931:931 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():931 -> remove
    3:4:void remove():932:933 -> remove
    1:2:void set(java.lang.Object):938:939 -> set
    3:3:void com.android.tools.r8.com.google.common.base.Preconditions.checkState(boolean):494:494 -> set
    3:3:void set(java.lang.Object):938 -> set
com.android.tools.r8.com.google.common.collect.Maps -> com.android.tools.r8.internal.JD:
    1:1:java.util.HashMap newHashMap():226:226 -> a
    2:2:int capacity(int):268:268 -> a
    3:3:java.lang.Object safeGet(java.util.Map,java.lang.Object):3513:3513 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    4:4:java.lang.Object safeGet(java.util.Map,java.lang.Object):3513 -> a
    5:5:java.lang.Object safeGet(java.util.Map,java.lang.Object):3515:3515 -> a
    1:1:java.util.HashMap newHashMapWithExpectedSize(int):259:259 -> b
    2:2:java.util.IdentityHashMap newIdentityHashMap():431:431 -> b
    1:1:java.util.LinkedHashMap newLinkedHashMapWithExpectedSize(int):325:325 -> c
com.android.tools.r8.com.google.common.collect.Maps$1 -> com.android.tools.r8.internal.xD:
    1:1:void <init>(java.util.Iterator):117:117 -> <init>
    1:1:java.lang.Object transform(java.lang.Object):117:117 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps$1.transform(java.util.Map$Entry):120:120 -> a
    2:2:java.lang.Object transform(java.lang.Object):117 -> a
com.android.tools.r8.com.google.common.collect.Maps$2 -> com.android.tools.r8.internal.yD:
    1:1:void <init>(java.util.Iterator):126:126 -> <init>
    1:1:java.lang.Object transform(java.lang.Object):126:126 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps$2.transform(java.util.Map$Entry):129:129 -> a
    2:2:java.lang.Object transform(java.lang.Object):126 -> a
com.android.tools.r8.com.google.common.collect.Maps$7 -> com.android.tools.r8.internal.zD:
    java.util.Map$Entry val$entry -> b
    1:1:void <init>(java.util.Map$Entry):1346:1346 -> <init>
    1:1:java.lang.Object getKey():1349:1349 -> getKey
    1:1:java.lang.Object getValue():1354:1354 -> getValue
com.android.tools.r8.com.google.common.collect.Maps$8 -> com.android.tools.r8.internal.AD:
    java.util.Iterator val$entryIterator -> b
    1:1:void <init>(java.util.Iterator):1361:1361 -> <init>
    1:1:boolean hasNext():1364:1364 -> hasNext
    1:1:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps$8.next():1369:1369 -> next
    1:1:java.lang.Object next():1361 -> next
    2:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.unmodifiableEntry(java.util.Map$Entry):1345:1345 -> next
    2:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps$8.next():1369 -> next
    2:2:java.lang.Object next():1361 -> next
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> next
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.unmodifiableEntry(java.util.Map$Entry):1345 -> next
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps$8.next():1369 -> next
    3:3:java.lang.Object next():1361 -> next
    4:4:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.unmodifiableEntry(java.util.Map$Entry):1346:1346 -> next
    4:4:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps$8.next():1369 -> next
    4:4:java.lang.Object next():1361 -> next
com.android.tools.r8.com.google.common.collect.Maps$EntryFunction -> com.android.tools.r8.internal.DD:
    com.android.tools.r8.com.google.common.collect.Maps$EntryFunction VALUE -> c
    com.android.tools.r8.com.google.common.collect.Maps$EntryFunction KEY -> b
    1:7:void <clinit>():92:98 -> <clinit>
    1:1:void <init>(java.lang.String,int):91:91 -> <init>
    2:2:void <init>(java.lang.String,int,com.android.tools.r8.com.google.common.collect.Maps$1):91:91 -> <init>
com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$1 -> com.android.tools.r8.internal.BD:
    1:1:void <init>(java.lang.String,int):92:92 -> <init>
    1:1:java.lang.Object apply(java.lang.Object):92:92 -> apply
    2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$1.apply(java.util.Map$Entry):95:95 -> apply
    2:2:java.lang.Object apply(java.lang.Object):92 -> apply
com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$2 -> com.android.tools.r8.internal.CD:
    1:1:void <init>(java.lang.String,int):98:98 -> <init>
    1:1:java.lang.Object apply(java.lang.Object):98:98 -> apply
    2:2:java.lang.Object com.android.tools.r8.com.google.common.collect.Maps$EntryFunction$2.apply(java.util.Map$Entry):101:101 -> apply
    2:2:java.lang.Object apply(java.lang.Object):98 -> apply
com.android.tools.r8.com.google.common.collect.Maps$EntrySet -> com.android.tools.r8.internal.ED:
    1:1:void <init>():3900:3900 -> <init>
    java.util.Map map() -> a
    1:1:void clear():3910:3910 -> clear
    1:5:boolean contains(java.lang.Object):3915:3919 -> contains
    1:1:boolean isEmpty():3926:3926 -> isEmpty
    1:3:boolean remove(java.lang.Object):3931:3933 -> remove
    1:1:boolean removeAll(java.util.Collection):3941:3941 -> removeAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> removeAll
    2:2:boolean removeAll(java.util.Collection):3941 -> removeAll
    3:3:boolean removeAll(java.util.Collection):3941:3941 -> removeAll
    4:4:boolean com.android.tools.r8.com.google.common.collect.Sets$ImprovedAbstractSet.removeAll(java.util.Collection):79:79 -> removeAll
    4:4:boolean removeAll(java.util.Collection):3941 -> removeAll
    5:5:boolean removeAll(java.util.Collection):3944:3944 -> removeAll
    1:1:boolean retainAll(java.util.Collection):3951:3951 -> retainAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> retainAll
    2:2:boolean retainAll(java.util.Collection):3951 -> retainAll
    3:13:boolean retainAll(java.util.Collection):3951:3961 -> retainAll
    1:1:int size():3905:3905 -> size
com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap -> com.android.tools.r8.internal.GD:
    1:1:void <init>():3462:3462 -> <init>
    1:1:void forEachEntry(java.util.function.Consumer):3499:3499 -> a
    1:1:java.util.Set entrySet():3475:3475 -> entrySet
    java.util.Iterator entryIterator() -> f
    1:1:java.util.Spliterator entrySpliterator():3470:3470 -> k
    2:2:java.util.Spliterator entrySpliterator():3469:3469 -> k
com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap$1 -> com.android.tools.r8.internal.FD:
    com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.Maps$IteratorBasedAbstractMap):3475:3475 -> <init>
    1:1:java.util.Map map():3478:3478 -> a
    1:1:void forEach(java.util.function.Consumer):3493:3493 -> forEach
    1:1:java.util.Iterator iterator():3483:3483 -> iterator
    1:1:java.util.Spliterator spliterator():3488:3488 -> spliterator
com.android.tools.r8.com.google.common.collect.Maps$KeySet -> com.android.tools.r8.internal.HD:
    java.util.Map map -> b
    1:2:void <init>(java.util.Map):3629:3630 -> <init>
    1:1:void lambda$forEach$0(java.util.function.Consumer,java.lang.Object,java.lang.Object):3646:3646 -> a
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> clear
    1:1:void clear():3675 -> clear
    2:2:void clear():3675:3675 -> clear
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> contains
    1:1:boolean contains(java.lang.Object):3661 -> contains
    2:2:boolean contains(java.lang.Object):3661:3661 -> contains
    1:1:void forEach(java.util.function.Consumer):3644:3644 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):3644 -> forEach
    3:3:void forEach(java.util.function.Consumer):3646:3646 -> forEach
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> isEmpty
    1:1:boolean isEmpty():3656 -> isEmpty
    2:2:boolean isEmpty():3656:3656 -> isEmpty
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$KeySet.map():3634:3634 -> size
    1:1:int size():3651 -> size
    2:2:int size():3651:3651 -> size
com.android.tools.r8.com.google.common.collect.Maps$Values -> com.android.tools.r8.internal.ID:
    java.util.Map map -> b
    1:2:void <init>(java.util.Map):3814:3815 -> <init>
    1:1:void lambda$forEach$0(java.util.function.Consumer,java.lang.Object,java.lang.Object):3831:3831 -> a
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> clear
    1:1:void clear():3896 -> clear
    2:2:void clear():3896:3896 -> clear
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> contains
    1:1:boolean contains(java.lang.Object):3891 -> contains
    2:2:boolean contains(java.lang.Object):3891:3891 -> contains
    1:1:void forEach(java.util.function.Consumer):3829:3829 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):3829 -> forEach
    3:3:void forEach(java.util.function.Consumer):3831:3831 -> forEach
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> isEmpty
    1:1:boolean isEmpty():3886 -> isEmpty
    2:2:boolean isEmpty():3886:3886 -> isEmpty
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> iterator
    1:1:java.util.Iterator iterator():3824 -> iterator
    2:2:java.util.Iterator iterator():3824:3824 -> iterator
    3:3:java.util.Iterator com.android.tools.r8.com.google.common.collect.Maps.valueIterator(java.util.Iterator):126:126 -> iterator
    3:3:java.util.Iterator iterator():3824 -> iterator
    1:1:boolean remove(java.lang.Object):3837:3837 -> remove
    2:2:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> remove
    2:2:boolean remove(java.lang.Object):3839 -> remove
    3:4:boolean remove(java.lang.Object):3839:3840 -> remove
    5:5:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> remove
    5:5:boolean remove(java.lang.Object):3841 -> remove
    6:6:boolean remove(java.lang.Object):3841:3841 -> remove
    1:1:boolean removeAll(java.util.Collection):3852:3852 -> removeAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> removeAll
    2:2:boolean removeAll(java.util.Collection):3852 -> removeAll
    3:3:boolean removeAll(java.util.Collection):3852:3852 -> removeAll
    4:4:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> removeAll
    4:4:boolean removeAll(java.util.Collection):3854 -> removeAll
    5:5:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> removeAll
    5:5:boolean removeAll(java.util.Collection):3855 -> removeAll
    6:8:boolean removeAll(java.util.Collection):3855:3857 -> removeAll
    9:9:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> removeAll
    9:9:boolean removeAll(java.util.Collection):3860 -> removeAll
    10:10:boolean removeAll(java.util.Collection):3860:3860 -> removeAll
    1:1:boolean retainAll(java.util.Collection):3867:3867 -> retainAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> retainAll
    2:2:boolean retainAll(java.util.Collection):3867 -> retainAll
    3:3:boolean retainAll(java.util.Collection):3867:3867 -> retainAll
    4:4:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> retainAll
    4:4:boolean retainAll(java.util.Collection):3869 -> retainAll
    5:5:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> retainAll
    5:5:boolean retainAll(java.util.Collection):3870 -> retainAll
    6:8:boolean retainAll(java.util.Collection):3870:3872 -> retainAll
    9:9:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> retainAll
    9:9:boolean retainAll(java.util.Collection):3875 -> retainAll
    10:10:boolean retainAll(java.util.Collection):3875:3875 -> retainAll
    1:1:java.util.Map com.android.tools.r8.com.google.common.collect.Maps$Values.map():3819:3819 -> size
    1:1:int size():3881 -> size
    2:2:int size():3881:3881 -> size
com.android.tools.r8.com.google.common.collect.Multimap -> com.android.tools.r8.internal.VF:
    boolean containsEntry(java.lang.Object,java.lang.Object) -> a
    java.util.Collection entries() -> a
    java.util.Map asMap() -> b
    com.android.tools.r8.com.google.common.collect.Multiset keys() -> c
com.android.tools.r8.com.google.common.collect.Multimaps$Keys -> com.android.tools.r8.internal.YF:
    com.android.tools.r8.com.google.common.collect.Multimap multimap -> d
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Multimap):1664:1665 -> <init>
    1:1:void lambda$forEach$0(java.util.function.Consumer,java.util.Map$Entry):1697:1697 -> a
    1:19:int remove(java.lang.Object,int):1728:1746 -> b
    1:1:int distinctElements():1702:1702 -> c
    1:1:void clear():1754:1754 -> clear
    1:1:boolean contains(java.lang.Object):1712:1712 -> contains
    1:1:java.util.Iterator elementIterator():1764:1764 -> d
    1:2:java.util.Iterator entryIterator():1670:1671 -> e
    1:1:void forEach(java.util.function.Consumer):1696:1696 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):1696 -> forEach
    3:3:void forEach(java.util.function.Consumer):1697:1697 -> forEach
    1:2:int count(java.lang.Object):1722:1723 -> g
    1:1:java.util.Iterator iterator():1717:1717 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.com.google.common.collect.Maps.keyIterator(java.util.Iterator):117:117 -> iterator
    2:2:java.util.Iterator iterator():1717 -> iterator
    1:1:int size():1707:1707 -> size
    1:1:java.util.Spliterator spliterator():1691:1691 -> spliterator
    1:1:java.util.Set elementSet():1759:1759 -> x
com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1 -> com.android.tools.r8.internal.XF:
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.Multimaps$Keys,java.util.Iterator):1671:1671 -> <init>
    1:1:java.lang.Object transform(java.lang.Object):1671:1671 -> a
    2:2:com.android.tools.r8.com.google.common.collect.Multiset$Entry com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1.transform(java.util.Map$Entry):1674:1674 -> a
    2:2:java.lang.Object transform(java.lang.Object):1671 -> a
com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1$1 -> com.android.tools.r8.internal.WF:
    java.util.Map$Entry val$backingEntry -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.Multimaps$Keys$1,java.util.Map$Entry):1674:1674 -> <init>
    1:1:int getCount():1682:1682 -> a
    1:1:java.lang.Object getElement():1677:1677 -> b
com.android.tools.r8.com.google.common.collect.Multiset -> com.android.tools.r8.internal.aG:
    int add(java.lang.Object,int) -> a
    boolean setCount(java.lang.Object,int,int) -> a
    1:1:void forEachEntry(java.util.function.ObjIntConsumer):338:338 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    2:2:void forEachEntry(java.util.function.ObjIntConsumer):338 -> a
    3:3:void forEachEntry(java.util.function.ObjIntConsumer):339:339 -> a
    4:4:void lambda$forEachEntry$0(java.util.function.ObjIntConsumer,com.android.tools.r8.com.google.common.collect.Multiset$Entry):339:339 -> a
    5:8:void lambda$forEach$1(java.util.function.Consumer,com.android.tools.r8.com.google.common.collect.Multiset$Entry):463:466 -> a
    int remove(java.lang.Object,int) -> b
    int setCount(java.lang.Object,int) -> f
    1:1:void forEach(java.util.function.Consumer):459:459 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.Consumer):459 -> forEach
    3:4:void forEach(java.util.function.Consumer):460:461 -> forEach
    int count(java.lang.Object) -> g
    1:1:java.util.Spliterator spliterator():473:473 -> spliterator
    java.util.Set elementSet() -> x
com.android.tools.r8.com.google.common.collect.Multiset$Entry -> com.android.tools.r8.internal.ZF:
    int getCount() -> a
    java.lang.Object getElement() -> b
com.android.tools.r8.com.google.common.collect.Multisets -> com.android.tools.r8.internal.fG:
    1:13:boolean equalsImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.lang.Object):858:870 -> a
    14:14:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):881:881 -> a
    15:15:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    15:15:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):881 -> a
    16:16:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    16:16:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):882 -> a
    17:17:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):883:883 -> a
    18:18:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.com.google.common.collect.Multisets.cast(java.lang.Iterable):1118:1118 -> a
    18:18:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):884 -> a
    19:23:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Collection):884:888 -> a
    24:27:boolean addAllImpl(com.android.tools.r8.com.google.common.collect.Multiset,com.android.tools.r8.com.google.common.collect.Multiset):894:897 -> a
    28:35:java.util.Spliterator spliteratorImpl(com.android.tools.r8.com.google.common.collect.Multiset):1097:1104 -> a
    36:36:java.util.Spliterator spliteratorImpl(com.android.tools.r8.com.google.common.collect.Multiset):1098:1098 -> a
    37:37:java.util.Spliterator lambda$spliteratorImpl$0(com.android.tools.r8.com.google.common.collect.Multiset$Entry):1100:1100 -> a
    38:40:com.android.tools.r8.com.google.common.collect.ImmutableMultiset copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1129:1131 -> a
    41:41:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):216:216 -> a
    41:41:com.android.tools.r8.com.google.common.collect.ImmutableMultiset copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1131 -> a
    42:42:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.of():89:89 -> a
    42:42:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):217 -> a
    42:42:com.android.tools.r8.com.google.common.collect.ImmutableMultiset copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1131 -> a
    43:43:com.android.tools.r8.com.google.common.collect.ImmutableMultiset com.android.tools.r8.com.google.common.collect.ImmutableMultiset.copyFromEntries(java.util.Collection):219:219 -> a
    43:43:com.android.tools.r8.com.google.common.collect.ImmutableMultiset copyHighestCountFirst(com.android.tools.r8.com.google.common.collect.Multiset):1131 -> a
com.android.tools.r8.com.google.common.collect.Multisets$AbstractEntry -> com.android.tools.r8.internal.bG:
    1:1:void <init>():814:814 -> <init>
    1:4:boolean equals(java.lang.Object):821:824 -> equals
    1:2:int hashCode():835:836 -> hashCode
    1:3:java.lang.String toString():847:849 -> toString
com.android.tools.r8.com.google.common.collect.Multisets$DecreasingCount -> com.android.tools.r8.internal.cG:
    com.android.tools.r8.com.google.common.collect.Multisets$DecreasingCount INSTANCE -> b
    1:1:void <clinit>():1135:1135 -> <clinit>
    1:1:void <init>():1134:1134 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):1134:1134 -> compare
    2:2:int com.android.tools.r8.com.google.common.collect.Multisets$DecreasingCount.compare(com.android.tools.r8.com.google.common.collect.Multiset$Entry,com.android.tools.r8.com.google.common.collect.Multiset$Entry):1139:1139 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):1134 -> compare
com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry -> com.android.tools.r8.internal.dG:
    java.lang.Object element -> b
    int count -> c
    1:4:void <init>(java.lang.Object,int):242:245 -> <init>
    1:1:int getCount():255:255 -> a
    1:1:java.lang.Object getElement():250:250 -> b
    com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry nextInBucket() -> c
com.android.tools.r8.com.google.common.collect.Multisets$MultisetIteratorImpl -> com.android.tools.r8.internal.eG:
    java.util.Iterator entryIterator -> c
    com.android.tools.r8.com.google.common.collect.Multiset$Entry currentEntry -> d
    int totalCount -> f
    com.android.tools.r8.com.google.common.collect.Multiset multiset -> b
    boolean canRemove -> g
    int laterCount -> e
    1:3:void <init>(com.android.tools.r8.com.google.common.collect.Multiset,java.util.Iterator):1059:1061 -> <init>
    1:1:boolean hasNext():1066:1066 -> hasNext
    1:10:java.lang.Object next():1071:1080 -> next
    11:11:java.lang.Object next():1072:1072 -> next
    1:1:void remove():1085:1085 -> remove
    2:2:void com.android.tools.r8.com.google.common.collect.CollectPreconditions.checkRemove(boolean):63:63 -> remove
    2:2:void remove():1085 -> remove
    3:9:void remove():1086:1092 -> remove
com.android.tools.r8.com.google.common.collect.ObjectArrays -> com.android.tools.r8.internal.NJ:
    1:1:java.lang.Object[] newArray(java.lang.Object[],int):59:59 -> a
    2:7:java.lang.Object[] com.android.tools.r8.com.google.common.collect.Platform.newArray(java.lang.Object[],int):84:89 -> a
    2:7:java.lang.Object[] newArray(java.lang.Object[],int):59 -> a
    8:8:java.lang.Object[] checkElementsNotNull(java.lang.Object[]):209:209 -> a
    9:9:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementsNotNull(java.lang.Object[],int):215:215 -> a
    9:9:java.lang.Object[] checkElementsNotNull(java.lang.Object[]):209 -> a
    10:10:java.lang.Object com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementNotNull(java.lang.Object,int):225:225 -> a
    10:10:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.checkElementsNotNull(java.lang.Object[],int):215 -> a
    10:10:java.lang.Object[] checkElementsNotNull(java.lang.Object[]):209 -> a
com.android.tools.r8.com.google.common.collect.Ordering -> com.android.tools.r8.internal.WK:
    1:1:void <init>():391:391 -> <init>
com.android.tools.r8.com.google.common.collect.Platform -> com.android.tools.r8.internal.UL:
# {"id":"sourceFile","fileName":"Platform.java"}
    int $r8$clinit -> a
    1:1:void <clinit>():33:33 -> <clinit>
    1:1:java.util.Map newHashMapWithExpectedSize(int):37:37 -> a
    2:2:java.lang.Object[] copy(java.lang.Object[],int,int,java.lang.Object[]):95:95 -> a
    1:1:java.util.LinkedHashMap com.android.tools.r8.com.google.common.collect.Maps.newLinkedHashMap():292:292 -> b
    1:1:java.util.Map preservesInsertionOrderOnPutsMap():66 -> b
com.android.tools.r8.com.google.common.collect.RegularImmutableAsList -> com.android.tools.r8.internal.kS:
    com.android.tools.r8.com.google.common.collect.ImmutableCollection delegate -> d
    com.android.tools.r8.com.google.common.collect.ImmutableList delegateList -> e
    1:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableList):35:37 -> <init>
    1:1:int copyIntoArray(java.lang.Object[],int):68:68 -> a
    1:1:java.lang.Object[] internalArray():73:73 -> b
    1:1:int internalArrayEnd():83:83 -> c
    1:1:int internalArrayStart():78:78 -> d
    1:1:void forEach(java.util.function.Consumer):62:62 -> forEach
    1:1:java.lang.Object get(int):88:88 -> get
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):56:56 -> h
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():46:46 -> j
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.RegularImmutableAsList.listIterator(int):56:56 -> listIterator
    1:1:java.util.ListIterator listIterator(int):29 -> listIterator
com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap -> com.android.tools.r8.internal.oS:
    com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse -> k
    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] keyTable -> f
    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] valueTable -> g
    int hashCode -> j
    com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap EMPTY -> l
    java.util.Map$Entry[] entries -> h
    int mask -> i
    1:1:void <clinit>():44:44 -> <clinit>
    1:6:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],java.util.Map$Entry[],int,int):111:116 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] access$100(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap):43:43 -> a
    2:3:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):61:62 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] com.android.tools.r8.com.google.common.collect.ImmutableMapEntry.createEntryArray(int):43:43 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):64 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] com.android.tools.r8.com.google.common.collect.ImmutableMapEntry.createEntryArray(int):43:43 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):65 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):67:67 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] com.android.tools.r8.com.google.common.collect.ImmutableMapEntry.createEntryArray(int):43:43 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):70 -> a
    8:18:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):76:86 -> a
    19:19:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> a
    19:19:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):146 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):86 -> a
    20:20:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):146:146 -> a
    20:20:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):86 -> a
    21:21:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):145:145 -> a
    21:21:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):86 -> a
    22:22:void com.android.tools.r8.com.google.common.collect.ImmutableMap.checkNoConflict(boolean,java.lang.String,java.util.Map$Entry,java.util.Map$Entry):204:204 -> a
    22:22:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):146 -> a
    22:22:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):86 -> a
    23:23:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):87:87 -> a
    24:24:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> a
    24:24:int com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap.checkNoConflictInValueBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):130 -> a
    24:24:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):88 -> a
    25:25:int com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap.checkNoConflictInValueBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):130:130 -> a
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):88 -> a
    26:26:int com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap.checkNoConflictInValueBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):129:129 -> a
    26:26:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):88 -> a
    27:27:void com.android.tools.r8.com.google.common.collect.ImmutableMap.checkNoConflict(boolean,java.lang.String,java.util.Map$Entry,java.util.Map$Entry):204:204 -> a
    27:27:int com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap.checkNoConflictInValueBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):130 -> a
    27:27:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):88 -> a
    28:30:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry,java.lang.Object,java.lang.Object):121:123 -> a
    28:30:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):95 -> a
    31:35:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):96:100 -> a
    36:48:com.android.tools.r8.com.google.common.collect.ImmutableBiMap fromEntryArray(int,java.util.Map$Entry[]):91:103 -> a
    1:1:int access$200(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap):43:43 -> b
    1:1:int access$300(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap):43:43 -> c
    1:1:void forEach(java.util.function.BiConsumer):155:155 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):155 -> forEach
    3:4:void forEach(java.util.function.BiConsumer):156:157 -> forEach
    1:1:java.lang.Object get(java.lang.Object):138:138 -> get
    2:3:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):162:163 -> get
    2:3:java.lang.Object get(java.lang.Object):138 -> get
    4:4:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> get
    4:4:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):166 -> get
    4:4:java.lang.Object get(java.lang.Object):138 -> get
    5:5:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):174:174 -> get
    5:5:java.lang.Object get(java.lang.Object):138 -> get
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> get
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):175 -> get
    6:6:java.lang.Object get(java.lang.Object):138 -> get
    7:7:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):165:165 -> get
    7:7:java.lang.Object get(java.lang.Object):138 -> get
    1:1:int hashCode():168:168 -> hashCode
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():143:144 -> k
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> k
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():144 -> k
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():145:145 -> k
    5:5:void com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet$RegularEntrySet.<init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Map$Entry[]):40:40 -> k
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():145 -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():150:150 -> l
    boolean isPartialView() -> o
    1:1:int size():178:178 -> size
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():185:185 -> u
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.ImmutableBiMap.of():67:67 -> u
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():186 -> u
    3:4:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():188:189 -> u
com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse -> com.android.tools.r8.internal.nS:
    com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap this$0 -> f
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap):192:192 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap,com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$1):192:192 -> <init>
    1:1:void lambda$forEach$0(java.util.function.BiConsumer,java.lang.Object,java.lang.Object):207:207 -> a
    1:1:void forEach(java.util.function.BiConsumer):206:206 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):206 -> forEach
    3:3:void forEach(java.util.function.BiConsumer):207:207 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse.inverse():201:201 -> g
    1:1:com.android.tools.r8.com.google.common.collect.BiMap inverse():192 -> g
    1:5:java.lang.Object get(java.lang.Object):212:216 -> get
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> get
    6:6:java.lang.Object get(java.lang.Object):219 -> get
    7:7:java.lang.Object get(java.lang.Object):219:219 -> get
    8:8:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> get
    8:8:java.lang.Object get(java.lang.Object):220 -> get
    9:9:java.lang.Object get(java.lang.Object):218:218 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():233:233 -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():228:228 -> l
    boolean isPartialView() -> o
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableBiMap com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse.inverse():201:201 -> size
    1:1:int size():196 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap.size():178:178 -> size
    2:2:int size():196 -> size
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap.size():178:178 -> size
    3:3:int size():196 -> size
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():201:201 -> u
com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet -> com.android.tools.r8.internal.mS:
    com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse this$1 -> e
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse):236:236 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():254:254 -> f
    1:1:void forEach(java.util.function.Consumer):259:259 -> forEach
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():264:264 -> h
    1:1:int hashCode():249:249 -> hashCode
    boolean isHashCodeFast() -> i
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet.iterator():254:254 -> iterator
    1:1:java.util.Iterator iterator():236 -> iterator
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap map():239:239 -> k
com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet$1 -> com.android.tools.r8.internal.lS:
    com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet this$2 -> d
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet):264:264 -> <init>
    1:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet$1.get(int):267:268 -> get
    1:2:java.lang.Object get(int):264 -> get
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> get
    3:3:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.RegularImmutableBiMap$Inverse$InverseEntrySet$1.get(int):268 -> get
    3:3:java.lang.Object get(int):264 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection delegateCollection():273:273 -> j
com.android.tools.r8.com.google.common.collect.RegularImmutableList -> com.android.tools.r8.internal.pS:
    java.lang.Object[] array -> d
    com.android.tools.r8.com.google.common.collect.ImmutableList EMPTY -> e
    1:1:void <clinit>():32:32 -> <clinit>
    1:2:void <init>(java.lang.Object[]):36:37 -> <init>
    1:2:int copyIntoArray(java.lang.Object[],int):67:68 -> a
    1:1:java.lang.Object[] internalArray():52:52 -> b
    1:1:int internalArrayEnd():62:62 -> c
    int internalArrayStart() -> d
    boolean isPartialView() -> e
    1:1:java.lang.Object get(int):75:75 -> get
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):83:83 -> h
    2:7:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[],int,int,int):1013:1018 -> h
    2:7:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):83 -> h
    8:8:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.emptyListIterator():88:88 -> h
    8:8:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[],int,int,int):1020 -> h
    8:8:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):83 -> h
    9:9:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator com.android.tools.r8.com.google.common.collect.Iterators.forArray(java.lang.Object[],int,int,int):1022:1022 -> h
    9:9:com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator listIterator(int):83 -> h
    1:1:java.util.ListIterator listIterator(int):29:29 -> listIterator
    1:1:int size():42:42 -> size
    1:1:java.util.Spliterator spliterator():88:88 -> spliterator
com.android.tools.r8.com.google.common.collect.RegularImmutableMap -> com.android.tools.r8.internal.sS:
    com.android.tools.r8.com.google.common.collect.ImmutableMap EMPTY -> i
    java.util.Map$Entry[] entries -> f
    com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] table -> g
    int mask -> h
    1:1:void <clinit>():43:43 -> <clinit>
    1:4:void <init>(java.util.Map$Entry[],com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):131:134 -> <init>
    1:6:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):82:87 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] com.android.tools.r8.com.google.common.collect.ImmutableMapEntry.createEntryArray(int):43:43 -> a
    7:7:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):90 -> a
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):92:92 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[] com.android.tools.r8.com.google.common.collect.ImmutableMapEntry.createEntryArray(int):43:43 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):93 -> a
    10:15:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):96:101 -> a
    16:18:com.android.tools.r8.com.google.common.collect.ImmutableMapEntry com.android.tools.r8.com.google.common.collect.RegularImmutableMap.makeImmutable(java.util.Map$Entry,java.lang.Object,java.lang.Object):121:123 -> a
    16:18:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):105 -> a
    19:21:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):106:108 -> a
    22:22:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> a
    22:22:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):146 -> a
    22:22:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):109 -> a
    23:23:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):146:146 -> a
    23:23:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):109 -> a
    24:24:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):145:145 -> a
    24:24:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):109 -> a
    25:25:void com.android.tools.r8.com.google.common.collect.ImmutableMap.checkNoConflict(boolean,java.lang.String,java.util.Map$Entry,java.util.Map$Entry):204:204 -> a
    25:25:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.checkNoConflictInKeyBucket(java.lang.Object,java.util.Map$Entry,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry):146 -> a
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):109 -> a
    26:29:com.android.tools.r8.com.google.common.collect.ImmutableMap fromEntryArray(int,java.util.Map$Entry[]):113:116 -> a
    1:1:void forEach(java.util.function.BiConsumer):183:183 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):183 -> forEach
    3:4:void forEach(java.util.function.BiConsumer):184:185 -> forEach
    1:1:java.lang.Object get(java.lang.Object):154:154 -> get
    2:3:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):162:163 -> get
    2:3:java.lang.Object get(java.lang.Object):154 -> get
    4:4:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getKey():36:36 -> get
    4:4:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):166 -> get
    4:4:java.lang.Object get(java.lang.Object):154 -> get
    5:5:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):174:174 -> get
    5:5:java.lang.Object get(java.lang.Object):154 -> get
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableEntry.getValue():41:41 -> get
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):175 -> get
    6:6:java.lang.Object get(java.lang.Object):154 -> get
    7:7:java.lang.Object com.android.tools.r8.com.google.common.collect.RegularImmutableMap.get(java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableMapEntry[],int):165:165 -> get
    7:7:java.lang.Object get(java.lang.Object):154 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():201:201 -> k
    2:2:void com.android.tools.r8.com.google.common.collect.ImmutableMapEntrySet$RegularEntrySet.<init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Map$Entry[]):40:40 -> k
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():201 -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():206:206 -> l
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection createValues():257:257 -> m
    boolean isPartialView() -> o
    1:1:int size():191:191 -> size
com.android.tools.r8.com.google.common.collect.RegularImmutableMap$KeySet -> com.android.tools.r8.internal.qS:
    com.android.tools.r8.com.google.common.collect.RegularImmutableMap map -> e
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableMap):213:214 -> <init>
    1:1:boolean contains(java.lang.Object):224:224 -> contains
    boolean isPartialView() -> e
    1:1:java.lang.Object get(int):219:219 -> get
    1:1:int size():234:234 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.size():191:191 -> size
    2:2:int size():234 -> size
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.size():191:191 -> size
    3:3:int size():234 -> size
com.android.tools.r8.com.google.common.collect.RegularImmutableMap$Values -> com.android.tools.r8.internal.rS:
    com.android.tools.r8.com.google.common.collect.RegularImmutableMap map -> d
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.RegularImmutableMap):264:265 -> <init>
    boolean isPartialView() -> e
    1:1:java.lang.Object get(int):270:270 -> get
    1:1:int size():275:275 -> size
    2:2:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.size():191:191 -> size
    2:2:int size():275 -> size
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.com.google.common.collect.RegularImmutableMap.size():191:191 -> size
    3:3:int size():275 -> size
com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset -> com.android.tools.r8.internal.uS:
    com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet -> j
    com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[] entries -> f
    com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[] hashTable -> g
    int size -> h
    int hashCode -> i
    com.android.tools.r8.com.google.common.collect.ImmutableMultiset EMPTY -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> <clinit>
    1:1:void <clinit>():38 -> <clinit>
    2:2:void <clinit>():38:38 -> <clinit>
    1:6:void <init>(com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[],com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[],int,int,com.android.tools.r8.com.google.common.collect.ImmutableSet):130:135 -> <init>
    1:5:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):41:45 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> a
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):45 -> a
    7:18:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):45:56 -> a
    19:19:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    19:19:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):56 -> a
    20:37:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):57:74 -> a
    38:40:boolean com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset.hashFloodingDetected(com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry[]):87:89 -> a
    38:40:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):78 -> a
    41:41:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.asImmutableList(java.lang.Object[]):356:356 -> a
    41:41:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):79 -> a
    42:44:com.android.tools.r8.com.google.common.collect.ImmutableMultiset create(java.util.Collection):79:81 -> a
    boolean isPartialView() -> e
    1:11:int count(java.lang.Object):159:169 -> g
    12:12:int count(java.lang.Object):167:167 -> g
    1:2:com.android.tools.r8.com.google.common.collect.ImmutableSet elementSet():182:183 -> h
    3:3:com.android.tools.r8.com.google.common.collect.Multiset$Entry getEntry(int):188:188 -> h
    1:1:int hashCode():193:193 -> hashCode
    1:1:int size():177:177 -> size
com.android.tools.r8.com.google.common.collect.RegularImmutableMultiset$NonTerminalEntry -> com.android.tools.r8.internal.tS:
    com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry nextInBucket -> d
    1:2:void <init>(java.lang.Object,int,com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry):142:143 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.Multisets$ImmutableEntry nextInBucket():148:148 -> c
com.android.tools.r8.com.google.common.collect.RegularImmutableSet -> com.android.tools.r8.internal.vS:
    java.lang.Object[] elements -> e
    int hashCode -> h
    com.android.tools.r8.com.google.common.collect.RegularImmutableSet EMPTY -> i
    int mask -> g
    java.lang.Object[] table -> f
    1:1:void <clinit>():33:33 -> <clinit>
    1:5:void <init>(java.lang.Object[],int,java.lang.Object[],int):43:47 -> <init>
    1:2:int copyIntoArray(java.lang.Object[],int):99:100 -> a
    1:1:java.lang.Object[] internalArray():84:84 -> b
    1:1:int internalArrayEnd():94:94 -> c
    1:10:boolean contains(java.lang.Object):52:61 -> contains
    int internalArrayStart() -> d
    boolean isPartialView() -> e
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():74:74 -> f
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():105:105 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():105 -> h
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():105:105 -> h
    4:4:void com.android.tools.r8.com.google.common.collect.RegularImmutableAsList.<init>(com.android.tools.r8.com.google.common.collect.ImmutableCollection,java.lang.Object[]):41:41 -> h
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():105 -> h
    1:1:int hashCode():115:115 -> hashCode
    boolean isHashCodeFast() -> i
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.RegularImmutableSet.iterator():74:74 -> iterator
    1:1:java.util.Iterator iterator():30 -> iterator
    1:1:int size():69:69 -> size
    1:1:java.util.Spliterator spliterator():79:79 -> spliterator
com.android.tools.r8.com.google.common.collect.Sets -> com.android.tools.r8.internal.wU:
    1:1:java.util.HashSet newHashSetWithExpectedSize(int):255:255 -> a
    2:2:java.util.Set newConcurrentHashSet():269:269 -> a
    3:6:com.android.tools.r8.com.google.common.collect.Sets$SetView difference(java.util.Set,java.util.Set):859:862 -> a
    7:7:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> a
    7:7:com.android.tools.r8.com.google.common.collect.Sets$SetView difference(java.util.Set,java.util.Set):860 -> a
    8:8:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> a
    8:8:com.android.tools.r8.com.google.common.collect.Sets$SetView difference(java.util.Set,java.util.Set):859 -> a
    9:10:int hashCodeImpl(java.util.Set):1710:1711 -> a
    11:12:boolean removeAllImpl(java.util.Set,java.util.Iterator):1913:1914 -> a
    13:13:boolean removeAllImpl(java.util.Set,java.util.Collection):1920:1920 -> a
    14:14:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    14:14:boolean removeAllImpl(java.util.Set,java.util.Collection):1920 -> a
    15:28:boolean removeAllImpl(java.util.Set,java.util.Collection):1921:1934 -> a
    29:34:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.com.google.common.collect.Maps.indexMap(java.util.Collection):4161:4166 -> a
    29:34:java.util.Set combinations(java.util.Set,int):1610 -> a
    35:38:java.util.Set combinations(java.util.Set,int):1611:1614 -> a
    39:39:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of():75:75 -> a
    39:39:java.util.Set combinations(java.util.Set,int):1614 -> a
    40:40:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> a
    40:40:java.util.Set combinations(java.util.Set,int):1614 -> a
    41:42:java.util.Set combinations(java.util.Set,int):1615:1616 -> a
    43:43:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> a
    43:43:java.util.Set combinations(java.util.Set,int):1616 -> a
    44:44:java.util.Set combinations(java.util.Set,int):1618:1618 -> a
    45:45:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,int,int):303:303 -> a
    45:45:java.util.Set combinations(java.util.Set,int):1612 -> a
    1:1:java.util.HashSet newHashSet():178:178 -> b
    2:5:com.android.tools.r8.com.google.common.collect.Sets$SetView intersection(java.util.Set,java.util.Set):788:791 -> b
    6:6:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> b
    6:6:com.android.tools.r8.com.google.common.collect.Sets$SetView intersection(java.util.Set,java.util.Set):789 -> b
    7:7:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object,java.lang.Object):899:899 -> b
    7:7:com.android.tools.r8.com.google.common.collect.Sets$SetView intersection(java.util.Set,java.util.Set):788 -> b
    1:1:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():431:431 -> c
    1:1:java.util.Set newIdentityHashSet():423 -> c
    2:2:java.util.Set newIdentityHashSet():423:423 -> c
    1:1:java.util.LinkedHashSet newLinkedHashSet():305:305 -> d
com.android.tools.r8.com.google.common.collect.Sets$2 -> com.android.tools.r8.internal.nU:
    java.util.Set val$set2 -> c
    java.util.Set val$set1 -> b
    1:1:void <init>(java.util.Set,java.util.Set):791:791 -> <init>
    1:1:boolean contains(java.lang.Object):838:838 -> contains
    1:1:boolean containsAll(java.util.Collection):843:843 -> containsAll
    1:1:boolean isEmpty():833:833 -> isEmpty
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Sets$2.iterator():794:794 -> iterator
    1:1:java.util.Iterator iterator():791 -> iterator
    1:1:java.util.stream.Stream parallelStream():817:817 -> parallelStream
    1:2:int size():823:824 -> size
    1:1:java.util.stream.Stream stream():812:812 -> stream
com.android.tools.r8.com.google.common.collect.Sets$2$1 -> com.android.tools.r8.internal.mU:
    java.util.Iterator itr -> d
    com.android.tools.r8.com.google.common.collect.Sets$2 this$0 -> e
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$2):794:795 -> <init>
    1:7:java.lang.Object computeNext():799:805 -> j
com.android.tools.r8.com.google.common.collect.Sets$3 -> com.android.tools.r8.internal.pU:
    java.util.Set val$set2 -> c
    java.util.Set val$set1 -> b
    1:1:void <init>(java.util.Set,java.util.Set):862:862 -> <init>
    1:1:boolean lambda$parallelStream$1(java.util.Set,java.lang.Object):888:888 -> a
    1:1:boolean lambda$stream$0(java.util.Set,java.lang.Object):883:883 -> b
    1:1:boolean contains(java.lang.Object):909:909 -> contains
    1:1:boolean isEmpty():904:904 -> isEmpty
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Sets$3.iterator():865:865 -> iterator
    1:1:java.util.Iterator iterator():862 -> iterator
    1:1:java.util.stream.Stream parallelStream():888:888 -> parallelStream
    1:2:int size():894:895 -> size
    1:1:java.util.stream.Stream stream():883:883 -> stream
com.android.tools.r8.com.google.common.collect.Sets$3$1 -> com.android.tools.r8.internal.oU:
    java.util.Iterator itr -> d
    com.android.tools.r8.com.google.common.collect.Sets$3 this$0 -> e
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$3):865:866 -> <init>
    1:7:java.lang.Object computeNext():870:876 -> j
com.android.tools.r8.com.google.common.collect.Sets$5 -> com.android.tools.r8.internal.tU:
    com.android.tools.r8.com.google.common.collect.ImmutableMap val$index -> c
    int val$size -> b
    1:1:void <init>(int,com.android.tools.r8.com.google.common.collect.ImmutableMap):1618:1618 -> <init>
    1:3:boolean contains(java.lang.Object):1621:1623 -> contains
    1:1:java.util.Iterator iterator():1630:1630 -> iterator
    1:1:int size():1697:1697 -> size
    1:1:java.lang.String toString():1702:1702 -> toString
com.android.tools.r8.com.google.common.collect.Sets$5$1 -> com.android.tools.r8.internal.sU:
    java.util.BitSet bits -> d
    com.android.tools.r8.com.google.common.collect.Sets$5 this$0 -> e
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$5):1630:1631 -> <init>
    1:29:java.util.Set com.android.tools.r8.com.google.common.collect.Sets$5$1.computeNext():1635:1663 -> j
    1:29:java.lang.Object computeNext():1630 -> j
com.android.tools.r8.com.google.common.collect.Sets$5$1$1 -> com.android.tools.r8.internal.rU:
    com.android.tools.r8.com.google.common.collect.Sets$5$1 this$1 -> c
    java.util.BitSet val$copy -> b
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.Sets$5$1,java.util.BitSet):1663:1663 -> <init>
    1:2:boolean contains(java.lang.Object):1666:1667 -> contains
    1:1:java.util.Iterator iterator():1672:1672 -> iterator
    1:1:int size():1688:1688 -> size
com.android.tools.r8.com.google.common.collect.Sets$5$1$1$1 -> com.android.tools.r8.internal.qU:
    com.android.tools.r8.com.google.common.collect.Sets$5$1$1 this$2 -> e
    int i -> d
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Sets$5$1$1):1672:1673 -> <init>
    1:5:java.lang.Object computeNext():1677:1681 -> j
com.android.tools.r8.com.google.common.collect.Sets$ImprovedAbstractSet -> com.android.tools.r8.internal.uU:
    1:1:void <init>():76:76 -> <init>
    1:1:boolean removeAll(java.util.Collection):79:79 -> removeAll
    1:1:boolean retainAll(java.util.Collection):84:84 -> retainAll
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> retainAll
    2:2:boolean retainAll(java.util.Collection):84 -> retainAll
    3:3:boolean retainAll(java.util.Collection):84:84 -> retainAll
com.android.tools.r8.com.google.common.collect.Sets$SetView -> com.android.tools.r8.internal.vU:
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.Sets$1):549:549 -> <init>
    2:2:void <init>():550:550 -> <init>
    1:1:boolean add(java.lang.Object):589:589 -> add
    1:1:boolean addAll(java.util.Collection):615:615 -> addAll
    1:1:void clear():666:666 -> clear
    1:1:boolean remove(java.lang.Object):602:602 -> remove
    1:1:boolean removeAll(java.util.Collection):628:628 -> removeAll
    1:1:boolean removeIf(java.util.function.Predicate):641:641 -> removeIf
    1:1:boolean retainAll(java.util.Collection):654:654 -> retainAll
com.android.tools.r8.com.google.common.collect.SingletonImmutableBiMap -> com.android.tools.r8.internal.jV:
    com.android.tools.r8.com.google.common.collect.ImmutableBiMap lazyInverse -> i
    com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse -> h
    java.lang.Object singleKey -> f
    java.lang.Object singleValue -> g
    1:5:void <init>(java.lang.Object,java.lang.Object):41:45 -> <init>
    6:9:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.com.google.common.collect.ImmutableBiMap):48:51 -> <init>
    1:1:boolean containsKey(java.lang.Object):71:71 -> containsKey
    1:1:boolean containsValue(java.lang.Object):76:76 -> containsValue
    1:1:void forEach(java.util.function.BiConsumer):66:66 -> forEach
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> forEach
    2:2:void forEach(java.util.function.BiConsumer):66 -> forEach
    3:3:void forEach(java.util.function.BiConsumer):66:66 -> forEach
    1:1:java.lang.Object get(java.lang.Object):56:56 -> get
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():86:86 -> k
    2:2:java.util.Map$Entry com.android.tools.r8.com.google.common.collect.Maps.immutableEntry(java.lang.Object,java.lang.Object):1320:1320 -> k
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():86 -> k
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():86:86 -> k
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> k
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet createEntrySet():86 -> k
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():91:91 -> l
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet com.android.tools.r8.com.google.common.collect.ImmutableSet.of(java.lang.Object):84:84 -> l
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet createKeySet():91 -> l
    boolean isPartialView() -> o
    1:7:com.android.tools.r8.com.google.common.collect.ImmutableBiMap inverse():99:105 -> u
com.android.tools.r8.com.google.common.collect.SingletonImmutableList -> com.android.tools.r8.internal.kV:
    java.lang.Object element -> d
    1:2:void <init>(java.lang.Object):37:38 -> <init>
    boolean isPartialView() -> e
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):64:64 -> e
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of():83:83 -> e
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList subList(int,int):65 -> e
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():49:49 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.singletonIterator(java.lang.Object):1049:1049 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():49 -> f
    1:2:java.lang.Object get(int):43:44 -> get
    1:1:java.util.Iterator iterator():31:31 -> iterator
    1:1:java.util.Spliterator spliterator():54:54 -> spliterator
    1:1:java.util.List subList(int,int):31:31 -> subList
    1:1:java.lang.String toString():70:70 -> toString
com.android.tools.r8.com.google.common.collect.SingletonImmutableSet -> com.android.tools.r8.internal.lV:
    java.lang.Object element -> e
    int cachedHashCode -> f
    1:2:void <init>(java.lang.Object):43:44 -> <init>
    1:1:int copyIntoArray(java.lang.Object[],int):80:80 -> a
    1:1:boolean contains(java.lang.Object):60:60 -> contains
    boolean isPartialView() -> e
    1:1:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():65:65 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator com.android.tools.r8.com.google.common.collect.Iterators.singletonIterator(java.lang.Object):1049:1049 -> f
    2:2:com.android.tools.r8.com.google.common.collect.UnmodifiableIterator iterator():65 -> f
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():70:70 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.com.google.common.collect.ImmutableList.of(java.lang.Object):94:94 -> h
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList createAsList():70 -> h
    1:3:int hashCode():87:89 -> hashCode
    1:1:boolean isHashCodeFast():96:96 -> i
    1:1:java.lang.String toString():101:101 -> toString
com.android.tools.r8.com.google.common.collect.Streams -> com.android.tools.r8.internal.GW:
    java.util.Spliterator lambda$concat$0(java.util.Spliterator) -> a
    1:3:java.util.stream.Stream stream(java.lang.Iterable):62:64 -> a
    4:15:java.util.stream.Stream concat(java.util.stream.Stream[]):162:173 -> a
    16:16:java.util.stream.Stream concat(java.util.stream.Stream[]):172:172 -> a
    17:24:java.util.stream.Stream concat(java.util.stream.Stream[]):171:178 -> a
    25:25:java.util.stream.Stream zip(java.util.stream.Stream,java.util.stream.Stream,java.util.function.BiFunction):305:305 -> a
    26:26:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    26:26:java.util.stream.Stream zip(java.util.stream.Stream,java.util.stream.Stream,java.util.function.BiFunction):305 -> a
    27:27:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    27:27:java.util.stream.Stream zip(java.util.stream.Stream,java.util.stream.Stream,java.util.function.BiFunction):306 -> a
    28:28:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    28:28:java.util.stream.Stream zip(java.util.stream.Stream,java.util.stream.Stream,java.util.function.BiFunction):307 -> a
    29:40:java.util.stream.Stream zip(java.util.stream.Stream,java.util.stream.Stream,java.util.function.BiFunction):308:319 -> a
    41:55:java.util.stream.Stream zip(java.util.stream.Stream,java.util.stream.Stream,java.util.function.BiFunction):317:331 -> a
    56:56:java.util.stream.Stream mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):416:416 -> a
    57:57:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    57:57:java.util.stream.Stream mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):416 -> a
    58:58:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    58:58:java.util.stream.Stream mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):417 -> a
    59:67:java.util.stream.Stream mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):418:426 -> a
    68:116:java.util.stream.Stream mapWithIndex(java.util.stream.Stream,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):423:471 -> a
    1:3:void com.android.tools.r8.com.google.common.collect.Streams.closeAll(java.util.stream.BaseStream[]):141:143 -> b
    1:3:void lambda$concat$1(java.util.stream.Stream[]):178 -> b
com.android.tools.r8.com.google.common.collect.Streams$1 -> com.android.tools.r8.internal.BW:
    java.util.function.BiFunction val$function -> c
    java.util.Iterator val$itrB -> b
    java.util.Iterator val$itrA -> a
    1:1:void <init>(long,int,java.util.Iterator,java.util.Iterator,java.util.function.BiFunction):319:319 -> <init>
    1:2:boolean tryAdvance(java.util.function.Consumer):322:323 -> tryAdvance
com.android.tools.r8.com.google.common.collect.Streams$1Splitr -> com.android.tools.r8.internal.CW:
    com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex val$function -> d
    java.lang.Object holder -> c
    1:2:void <init>(java.util.Spliterator,long,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):444:445 -> <init>
    1:1:void accept(java.lang.Object):450:450 -> accept
    1:7:boolean tryAdvance(java.util.function.Consumer):455:461 -> tryAdvance
com.android.tools.r8.com.google.common.collect.Streams$2 -> com.android.tools.r8.internal.DW:
    java.util.Iterator val$fromIterator -> b
    long index -> a
    com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex val$function -> c
    1:2:void <init>(long,int,java.util.Iterator,com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex):426:427 -> <init>
    1:2:boolean tryAdvance(java.util.function.Consumer):431:432 -> tryAdvance
com.android.tools.r8.com.google.common.collect.Streams$FunctionWithIndex -> com.android.tools.r8.internal.EW:
    java.lang.Object apply(java.lang.Object,long) -> a
com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator -> com.android.tools.r8.internal.FW:
    long index -> b
    java.util.Spliterator fromSpliterator -> a
    1:3:void <init>(java.util.Spliterator,long):732:734 -> <init>
    1:1:int characteristics():758:758 -> characteristics
    1:1:long estimateSize():753:753 -> estimateSize
    1:5:com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator.trySplit():742:746 -> trySplit
    1:5:java.util.Spliterator trySplit():726 -> trySplit
    6:6:com.android.tools.r8.com.google.common.collect.Streams$1Splitr com.android.tools.r8.com.google.common.collect.Streams$1Splitr.createSplit(java.util.Spliterator,long):468:468 -> trySplit
    6:6:com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator com.android.tools.r8.com.google.common.collect.Streams$1Splitr.createSplit(java.util.Spliterator,long):441 -> trySplit
    6:6:com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator.trySplit():746 -> trySplit
    6:6:java.util.Spliterator trySplit():726 -> trySplit
    7:7:com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator com.android.tools.r8.com.google.common.collect.Streams$MapWithIndexSpliterator.trySplit():747:747 -> trySplit
    7:7:java.util.Spliterator trySplit():726 -> trySplit
com.android.tools.r8.com.google.common.collect.TransformedIterator -> com.android.tools.r8.internal.YY:
    java.util.Iterator backingIterator -> b
    1:2:void <init>(java.util.Iterator):34:35 -> <init>
    java.lang.Object transform(java.lang.Object) -> a
    1:1:boolean hasNext():42:42 -> hasNext
    1:1:java.lang.Object next():47:47 -> next
    1:1:void remove():52:52 -> remove
com.android.tools.r8.com.google.common.collect.UnmodifiableIterator -> com.android.tools.r8.internal.S00:
    1:1:void <init>():36:36 -> <init>
    1:1:void remove():48:48 -> remove
com.android.tools.r8.com.google.common.collect.UnmodifiableListIterator -> com.android.tools.r8.internal.T00:
    1:1:void <init>():33:33 -> <init>
    1:1:void add(java.lang.Object):45:45 -> add
    1:1:void set(java.lang.Object):58:58 -> set
com.android.tools.r8.com.google.common.hash.AbstractByteHasher -> com.android.tools.r8.internal.p:
    java.nio.ByteBuffer scratch -> a
    1:2:void <init>():35:36 -> <init>
    1:1:com.android.tools.r8.com.google.common.hash.Hasher putByte(byte):77:77 -> a
    2:2:com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[]):83:83 -> a
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    3:3:com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[]):83 -> a
    4:4:void com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(byte[]):43:43 -> a
    4:4:com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[]):84 -> a
    5:6:com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[],int,int):90:91 -> a
    7:7:com.android.tools.r8.com.google.common.hash.Hasher putInt(int):109:109 -> a
    8:10:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):68:70 -> a
    8:10:com.android.tools.r8.com.google.common.hash.Hasher putInt(int):110 -> a
    11:11:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.clear(java.nio.Buffer):27:27 -> a
    11:11:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):70 -> a
    11:11:com.android.tools.r8.com.google.common.hash.Hasher putInt(int):110 -> a
    12:12:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):70:70 -> a
    12:12:com.android.tools.r8.com.google.common.hash.Hasher putInt(int):110 -> a
    13:13:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.clear(java.nio.Buffer):27:27 -> a
    13:13:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):70 -> a
    13:13:com.android.tools.r8.com.google.common.hash.Hasher putInt(int):110 -> a
    14:14:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):71:71 -> a
    14:14:com.android.tools.r8.com.google.common.hash.Hasher putInt(int):110 -> a
    15:15:com.android.tools.r8.com.google.common.hash.Hasher putLong(long):115:115 -> a
    16:18:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):68:70 -> a
    16:18:com.android.tools.r8.com.google.common.hash.Hasher putLong(long):116 -> a
    19:19:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.clear(java.nio.Buffer):27:27 -> a
    19:19:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):70 -> a
    19:19:com.android.tools.r8.com.google.common.hash.Hasher putLong(long):116 -> a
    20:20:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):70:70 -> a
    20:20:com.android.tools.r8.com.google.common.hash.Hasher putLong(long):116 -> a
    21:21:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.clear(java.nio.Buffer):27:27 -> a
    21:21:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):70 -> a
    21:21:com.android.tools.r8.com.google.common.hash.Hasher putLong(long):116 -> a
    22:22:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractByteHasher.update(int):71:71 -> a
    22:22:com.android.tools.r8.com.google.common.hash.Hasher putLong(long):116 -> a
    void update(byte) -> b
    void update(byte[],int,int) -> b
com.android.tools.r8.com.google.common.hash.AbstractHashFunction -> com.android.tools.r8.internal.t:
    1:1:void <init>():30:30 -> <init>
    1:1:com.android.tools.r8.com.google.common.hash.HashCode hashString(java.lang.CharSequence,java.nio.charset.Charset):44:44 -> a
com.android.tools.r8.com.google.common.hash.AbstractHasher -> com.android.tools.r8.internal.u:
    1:1:void <init>():29:29 -> <init>
    com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[],int,int) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putInt(int) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putLong(long) -> a
    1:1:com.android.tools.r8.com.google.common.hash.Hasher putBoolean(boolean):32:32 -> a
    2:2:com.android.tools.r8.com.google.common.hash.Hasher putDouble(double):37:37 -> a
    3:3:com.android.tools.r8.com.google.common.hash.Hasher putFloat(float):42:42 -> a
    4:4:com.android.tools.r8.com.google.common.hash.Hasher putString(java.lang.CharSequence,java.nio.charset.Charset):55:55 -> a
    5:5:com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[]):60:60 -> a
com.android.tools.r8.com.google.common.hash.HashCode -> com.android.tools.r8.internal.Fm:
    char[] hexDigits -> b
    int $r8$clinit -> c
    1:1:void <clinit>():420:420 -> <clinit>
    1:1:void <init>():36:36 -> <init>
    boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode) -> a
    1:3:boolean equals(java.lang.Object):371:373 -> equals
    4:4:int com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.bits():259:259 -> equals
    4:4:boolean equals(java.lang.Object):373 -> equals
    5:5:boolean equals(java.lang.Object):373:373 -> equals
    6:6:int com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.bits():259:259 -> equals
    6:6:boolean equals(java.lang.Object):373 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:int com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.bits():259:259 -> equals
    7:7:boolean equals(java.lang.Object):373 -> equals
    8:8:boolean equals(java.lang.Object):373:373 -> equals
    1:1:int hashCode():387:387 -> hashCode
    2:2:int com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.bits():259:259 -> hashCode
    2:2:int hashCode():387 -> hashCode
    3:7:int com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.asInt():269:273 -> hashCode
    3:7:int hashCode():388 -> hashCode
    8:8:void com.android.tools.r8.com.google.common.base.Preconditions.checkState(boolean,java.lang.String,int):562:562 -> hashCode
    8:8:int com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.asInt():269 -> hashCode
    8:8:int hashCode():388 -> hashCode
    9:11:int hashCode():392:394 -> hashCode
    1:1:java.lang.String toString():412:412 -> toString
    2:2:byte[] com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.getBytesInternal():304:304 -> toString
    2:2:java.lang.String toString():412 -> toString
    3:7:java.lang.String toString():413:417 -> toString
com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode -> com.android.tools.r8.internal.Em:
    byte[] bytes -> d
    1:2:void <init>(byte[]):253:254 -> <init>
    1:1:boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode):311:311 -> a
    2:2:byte[] com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.getBytesInternal():304:304 -> a
    2:2:boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode):311 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:9:boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode):311:317 -> a
    10:10:byte[] com.android.tools.r8.com.google.common.hash.HashCode$BytesHashCode.getBytesInternal():304:304 -> a
    10:10:boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode):317 -> a
    11:11:boolean equalsSameBits(com.android.tools.r8.com.google.common.hash.HashCode):317:317 -> a
com.android.tools.r8.com.google.common.hash.HashFunction -> com.android.tools.r8.internal.Im:
    com.android.tools.r8.com.google.common.hash.HashCode hashString(java.lang.CharSequence,java.nio.charset.Charset) -> a
    com.android.tools.r8.com.google.common.hash.Hasher newHasher() -> a
com.android.tools.r8.com.google.common.hash.Hasher -> com.android.tools.r8.internal.Km:
    com.android.tools.r8.com.google.common.hash.HashCode hash() -> a
    com.android.tools.r8.com.google.common.hash.Hasher putBoolean(boolean) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putByte(byte) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putBytes(byte[]) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putDouble(double) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putFloat(float) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putInt(int) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putLong(long) -> a
    com.android.tools.r8.com.google.common.hash.Hasher putString(java.lang.CharSequence,java.nio.charset.Charset) -> a
com.android.tools.r8.com.google.common.hash.Hashing -> com.android.tools.r8.internal.Om:
# {"id":"sourceFile","fileName":"Hashing.java"}
    int GOOD_FAST_HASH_SEED -> a
    1:1:void <clinit>():91:91 -> <clinit>
    1:1:com.android.tools.r8.com.google.common.hash.HashFunction murmur3_128():134:134 -> a
    1:1:com.android.tools.r8.com.google.common.hash.HashFunction sha256():201:201 -> b
com.android.tools.r8.com.google.common.hash.Hashing$Sha256Holder -> com.android.tools.r8.internal.Nm:
    com.android.tools.r8.com.google.common.hash.HashFunction SHA_256 -> a
    1:1:void <clinit>():205:205 -> <clinit>
com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction -> com.android.tools.r8.internal.jE:
    java.security.MessageDigest prototype -> b
    int bytes -> c
    java.lang.String toString -> e
    boolean supportsClone -> d
    1:5:void <init>(java.lang.String,java.lang.String):44:48 -> <init>
    1:1:boolean supportsClone(java.security.MessageDigest):63:63 -> a
    2:4:java.security.MessageDigest getMessageDigest(java.lang.String):82:84 -> a
    5:12:com.android.tools.r8.com.google.common.hash.Hasher newHasher():90:97 -> a
    1:1:java.lang.String toString():77:77 -> toString
com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$MessageDigestHasher -> com.android.tools.r8.internal.iE:
    java.security.MessageDigest digest -> b
    int bytes -> c
    boolean done -> d
    1:1:void <init>(java.security.MessageDigest,int,com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$1):123:123 -> <init>
    2:4:void <init>(java.security.MessageDigest,int):128:130 -> <init>
    1:1:void com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$MessageDigestHasher.checkNotDone():152:152 -> a
    1:1:com.android.tools.r8.com.google.common.hash.HashCode hash():157 -> a
    2:4:com.android.tools.r8.com.google.common.hash.HashCode hash():158:160 -> a
    5:5:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.HashCode.fromBytesNoCopy(byte[]):247:247 -> a
    5:5:com.android.tools.r8.com.google.common.hash.HashCode hash():160 -> a
    6:6:com.android.tools.r8.com.google.common.hash.HashCode hash():161:161 -> a
    7:7:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.HashCode.fromBytesNoCopy(byte[]):247:247 -> a
    7:7:com.android.tools.r8.com.google.common.hash.HashCode hash():161 -> a
    1:1:void com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$MessageDigestHasher.checkNotDone():152:152 -> b
    1:1:void update(byte):135 -> b
    2:2:void update(byte):136:136 -> b
    3:3:void com.android.tools.r8.com.google.common.hash.MessageDigestHashFunction$MessageDigestHasher.checkNotDone():152:152 -> b
    3:3:void update(byte[],int,int):141 -> b
    4:4:void update(byte[],int,int):142:142 -> b
com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction -> com.android.tools.r8.internal.hG:
    com.android.tools.r8.com.google.common.hash.HashFunction MURMUR3_128 -> c
    int seed -> b
    1:3:void <clinit>():45:47 -> <clinit>
    1:2:void <init>(int):53:54 -> <init>
    1:1:com.android.tools.r8.com.google.common.hash.Hasher newHasher():64:64 -> a
    1:3:boolean equals(java.lang.Object):74:76 -> equals
    1:1:int hashCode():83:83 -> hashCode
    1:1:java.lang.String toString():69:69 -> toString
com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher -> com.android.tools.r8.internal.gG:
    long h2 -> e
    int length -> f
    long h1 -> d
    int com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.bufferSize -> b
    java.nio.ByteBuffer com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.buffer -> a
    int com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.chunkSize -> c
    1:9:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.<init>(int,int):62:70 -> <init>
    1:9:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.<init>(int):50 -> <init>
    1:9:void <init>(int):95 -> <init>
    10:12:void <init>(int):96:98 -> <init>
    1:1:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95:95 -> a
    1:1:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:3:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):111:112 -> a
    2:3:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    2:3:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():199:199 -> a
    4:4:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):113 -> a
    4:4:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    4:4:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5:5:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206:206 -> a
    5:5:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    5:5:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):113 -> a
    5:5:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    5:5:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    6:6:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    6:6:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206 -> a
    6:6:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    6:6:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):113 -> a
    6:6:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    6:6:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    7:12:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():207:212 -> a
    7:12:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    7:12:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):113 -> a
    7:12:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    7:12:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    13:15:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):118:120 -> a
    13:15:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    13:15:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    16:16:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206:206 -> a
    16:16:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):122 -> a
    16:16:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    16:16:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    17:17:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    17:17:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206 -> a
    17:17:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):122 -> a
    17:17:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    17:17:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    18:23:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():207:212 -> a
    18:23:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):122 -> a
    18:23:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    18:23:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    24:29:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytesInternal(java.nio.ByteBuffer):125:130 -> a
    24:29:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):95 -> a
    24:29:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putBytes(byte[],int,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    30:31:void process(java.nio.ByteBuffer):103:104 -> a
    32:32:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.bmix64(long,long):110:110 -> a
    32:32:void process(java.nio.ByteBuffer):105 -> a
    33:33:long com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.mixK1(long):201:201 -> a
    33:33:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.bmix64(long,long):110 -> a
    33:33:void process(java.nio.ByteBuffer):105 -> a
    34:38:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.bmix64(long,long):110:114 -> a
    34:38:void process(java.nio.ByteBuffer):105 -> a
    39:39:long com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.mixK2(long):208:208 -> a
    39:39:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.bmix64(long,long):116 -> a
    39:39:void process(java.nio.ByteBuffer):105 -> a
    40:44:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.bmix64(long,long):116:120 -> a
    40:44:void process(java.nio.ByteBuffer):105 -> a
    45:45:void process(java.nio.ByteBuffer):106:106 -> a
    46:46:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):146:146 -> a
    46:46:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    47:47:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():199:199 -> a
    47:47:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):147 -> a
    47:47:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    48:48:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206:206 -> a
    48:48:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    48:48:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):147 -> a
    48:48:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    49:49:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    49:49:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206 -> a
    49:49:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    49:49:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):147 -> a
    49:49:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    50:55:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():207:212 -> a
    50:55:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    50:55:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):147 -> a
    50:55:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putByte(byte):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    56:56:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):167:167 -> a
    56:56:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    57:57:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():199:199 -> a
    57:57:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):168 -> a
    57:57:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    58:58:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206:206 -> a
    58:58:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    58:58:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):168 -> a
    58:58:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    59:59:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    59:59:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206 -> a
    59:59:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    59:59:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):168 -> a
    59:59:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    60:65:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():207:212 -> a
    60:65:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    60:65:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):168 -> a
    60:65:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putInt(int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    66:66:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):174:174 -> a
    66:66:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    67:67:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():199:199 -> a
    67:67:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):175 -> a
    67:67:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    68:68:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206:206 -> a
    68:68:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    68:68:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):175 -> a
    68:68:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    69:69:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    69:69:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206 -> a
    69:69:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    69:69:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):175 -> a
    69:69:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    70:75:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():207:212 -> a
    70:75:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munchIfFull():201 -> a
    70:75:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):175 -> a
    70:75:com.android.tools.r8.com.google.common.hash.Hasher com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.putLong(long):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    76:76:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206:206 -> a
    76:76:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():181 -> a
    76:76:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    77:77:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    77:77:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():206 -> a
    77:77:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():181 -> a
    77:77:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    78:83:void com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.munch():207:212 -> a
    78:83:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():181 -> a
    78:83:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    84:84:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():182:182 -> a
    84:84:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    85:85:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    85:85:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():182 -> a
    85:85:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    86:87:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():183:184 -> a
    86:87:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    88:123:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.processRemaining(java.nio.ByteBuffer):127:162 -> a
    88:123:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():184 -> a
    88:123:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    124:158:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.processRemaining(java.nio.ByteBuffer):130:164 -> a
    124:158:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():184 -> a
    124:158:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    159:159:long com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.mixK1(long):201:201 -> a
    159:159:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.processRemaining(java.nio.ByteBuffer):164 -> a
    159:159:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():184 -> a
    159:159:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    160:161:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.processRemaining(java.nio.ByteBuffer):164:165 -> a
    160:161:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():184 -> a
    160:161:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    162:162:long com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.mixK2(long):208:208 -> a
    162:162:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.processRemaining(java.nio.ByteBuffer):165 -> a
    162:162:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():184 -> a
    162:162:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    163:163:void com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.processRemaining(java.nio.ByteBuffer):165:165 -> a
    163:163:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():184 -> a
    163:163:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    164:164:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():185:185 -> a
    164:164:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    165:165:void com.android.tools.r8.com.google.common.hash.Java8Compatibility.position(java.nio.Buffer,int):39:39 -> a
    165:165:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():185 -> a
    165:165:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    166:183:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.makeHash():170:187 -> a
    166:183:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():187 -> a
    166:183:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    184:184:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.makeHash():182:182 -> a
    184:184:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():187 -> a
    184:184:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    185:185:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.HashCode.fromBytesNoCopy(byte[]):247:247 -> a
    185:185:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.Murmur3_128HashFunction$Murmur3_128Hasher.makeHash():182 -> a
    185:185:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():187 -> a
    185:185:com.android.tools.r8.com.google.common.hash.HashCode com.android.tools.r8.com.google.common.hash.AbstractStreamingHasher.hash():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.common.io.BaseEncoding -> com.android.tools.r8.internal.s4:
    com.android.tools.r8.com.google.common.io.BaseEncoding BASE64_URL -> a
    1:45:void <clinit>():320:364 -> <clinit>
    46:46:void com.android.tools.r8.com.google.common.io.BaseEncoding$StandardBaseEncoding.<init>(java.lang.String,java.lang.String,java.lang.Character):571:571 -> <clinit>
    46:46:void <clinit>():364 -> <clinit>
    47:48:void <clinit>():382:383 -> <clinit>
    49:49:void com.android.tools.r8.com.google.common.io.BaseEncoding$StandardBaseEncoding.<init>(java.lang.String,java.lang.String,java.lang.Character):571:571 -> <clinit>
    49:49:void <clinit>():383 -> <clinit>
    50:50:void <clinit>():401:401 -> <clinit>
    1:1:void <init>():128:128 -> <init>
    void encodeTo(java.lang.Appendable,byte[],int,int) -> a
    1:1:java.lang.String encode(byte[]):148:148 -> a
    2:3:java.lang.String com.android.tools.r8.com.google.common.io.BaseEncoding.encode(byte[],int,int):156:157 -> a
    2:3:java.lang.String encode(byte[]):148 -> a
    4:4:int com.android.tools.r8.com.google.common.io.BaseEncoding$StandardBaseEncoding.maxEncodedSize(int):585:585 -> a
    4:4:java.lang.String com.android.tools.r8.com.google.common.io.BaseEncoding.encode(byte[],int,int):157 -> a
    4:4:java.lang.String encode(byte[]):148 -> a
    5:11:java.lang.String com.android.tools.r8.com.google.common.io.BaseEncoding.encode(byte[],int,int):157:163 -> a
    5:11:java.lang.String encode(byte[]):148 -> a
    12:12:java.lang.String com.android.tools.r8.com.google.common.io.BaseEncoding.encode(byte[],int,int):161:161 -> a
    12:12:java.lang.String encode(byte[]):148 -> a
    13:13:com.android.tools.r8.com.google.common.io.BaseEncoding base64Url():360:360 -> a
    com.android.tools.r8.com.google.common.io.BaseEncoding omitPadding() -> b
com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet -> com.android.tools.r8.internal.o4:
    char[] chars -> b
    int bytesPerChunk -> f
    byte[] decodabet -> g
    java.lang.String name -> a
    int bitsPerChar -> d
    int charsPerChunk -> e
    int mask -> c
    1:36:void <init>(java.lang.String,char[]):431:466 -> <init>
    37:37:void <init>(java.lang.String,char[]):449:449 -> <init>
    38:38:void <init>(java.lang.String,char[]):437:437 -> <init>
    1:1:char[] access$000(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet):420:420 -> a
    2:2:char encode(int):472:472 -> a
    3:3:boolean matches(char):541:541 -> a
    1:3:boolean equals(java.lang.Object):551:553 -> equals
    1:1:int hashCode():560:560 -> hashCode
    1:1:java.lang.String toString():546:546 -> toString
com.android.tools.r8.com.google.common.io.BaseEncoding$Base16Encoding -> com.android.tools.r8.internal.p4:
    char[] encoding -> d
    1:1:void <init>(java.lang.String,java.lang.String):893:893 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet):897:897 -> <init>
    3:14:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet):890:901 -> <init>
    1:6:void encodeTo(java.lang.Appendable,byte[],int,int):907:912 -> a
    7:7:com.android.tools.r8.com.google.common.io.BaseEncoding newInstance(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):932:932 -> a
com.android.tools.r8.com.google.common.io.BaseEncoding$Base64Encoding -> com.android.tools.r8.internal.q4:
    1:1:void <init>(java.lang.String,java.lang.String,java.lang.Character):938:938 -> <init>
    2:3:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):942:943 -> <init>
    1:12:void encodeTo(java.lang.Appendable,byte[],int,int):948:959 -> a
    13:13:com.android.tools.r8.com.google.common.io.BaseEncoding newInstance(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):989:989 -> a
com.android.tools.r8.com.google.common.io.BaseEncoding$StandardBaseEncoding -> com.android.tools.r8.internal.r4:
    java.lang.Character paddingChar -> c
    com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet alphabet -> b
    1:4:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):574:577 -> <init>
    5:9:void <init>(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):576:580 -> <init>
    1:4:void encodeTo(java.lang.Appendable,byte[],int,int):635:638 -> a
    5:5:void encodeTo(java.lang.Appendable,byte[],int,int):637:637 -> a
    6:25:void encodeChunkTo(java.lang.Appendable,byte[],int,int):643:662 -> a
    26:26:com.android.tools.r8.com.google.common.io.BaseEncoding newInstance(com.android.tools.r8.com.google.common.io.BaseEncoding$Alphabet,java.lang.Character):856:856 -> a
    1:1:com.android.tools.r8.com.google.common.io.BaseEncoding omitPadding():802:802 -> b
    1:4:boolean equals(java.lang.Object):875:878 -> equals
    1:1:int hashCode():885:885 -> hashCode
    2:2:int com.android.tools.r8.com.google.common.base.Objects.hashCode(java.lang.Object[]):77:77 -> hashCode
    2:2:int hashCode():885 -> hashCode
    1:10:java.lang.String toString():861:870 -> toString
com.android.tools.r8.com.google.common.io.ByteStreams -> com.android.tools.r8.internal.c6:
    int $r8$clinit -> a
    1:1:void <clinit>():640:640 -> <clinit>
    1:1:byte[] toByteArray(java.io.InputStream):220:220 -> a
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    2:2:byte[] toByteArray(java.io.InputStream):220 -> a
    3:3:byte[] toByteArray(java.io.InputStream):221:221 -> a
    4:9:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.toByteArrayInternal(java.io.InputStream,java.util.Queue,int):176:181 -> a
    4:9:byte[] toByteArray(java.io.InputStream):221 -> a
    10:16:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.combineBuffers(java.util.Queue,int):200:206 -> a
    10:16:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.toByteArrayInternal(java.io.InputStream,java.util.Queue,int):183 -> a
    10:16:byte[] toByteArray(java.io.InputStream):221 -> a
    17:17:int com.android.tools.r8.com.google.common.math.IntMath.saturatedMultiply(int,int):558:558 -> a
    17:17:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.toByteArrayInternal(java.io.InputStream,java.util.Queue,int):175 -> a
    17:17:byte[] toByteArray(java.io.InputStream):221 -> a
    18:18:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.toByteArrayInternal(java.io.InputStream,java.util.Queue,int):191:191 -> a
    18:18:byte[] toByteArray(java.io.InputStream):221 -> a
    19:25:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.combineBuffers(java.util.Queue,int):200:206 -> a
    19:25:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.toByteArrayInternal(java.io.InputStream,java.util.Queue,int):193 -> a
    19:25:byte[] toByteArray(java.io.InputStream):221 -> a
    26:26:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.toByteArrayInternal(java.io.InputStream,java.util.Queue,int):195:195 -> a
    26:26:byte[] toByteArray(java.io.InputStream):221 -> a
com.android.tools.r8.com.google.common.io.ByteStreams$1 -> com.android.tools.r8.internal.b6:
    1:1:void <init>():641:641 -> <init>
    1:1:java.lang.String toString():660:660 -> toString
    1:1:void write(byte[]):649:649 -> write
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> write
    2:2:void write(byte[]):649 -> write
    3:3:void write(byte[],int,int):655:655 -> write
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> write
    4:4:void write(byte[],int,int):655 -> write
com.android.tools.r8.com.google.common.io.CharSequenceReader -> com.android.tools.r8.internal.f9:
    java.lang.CharSequence seq -> b
    int mark -> d
    int pos -> c
    1:2:void <init>(java.lang.CharSequence):41:42 -> <init>
    1:2:void checkOpen():46:47 -> a
    1:1:void close():128:128 -> close
    1:3:void mark(int):115:117 -> mark
    4:4:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,int):192:192 -> mark
    4:4:void mark(int):115 -> mark
    1:1:int read(java.nio.CharBuffer):61:61 -> read
    2:2:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> read
    2:2:int read(java.nio.CharBuffer):61 -> read
    3:3:int read(java.nio.CharBuffer):62:62 -> read
    4:4:int com.android.tools.r8.com.google.common.io.CharSequenceReader.remaining():56:56 -> read
    4:4:boolean com.android.tools.r8.com.google.common.io.CharSequenceReader.hasRemaining():52 -> read
    4:4:int read(java.nio.CharBuffer):63 -> read
    5:5:int read(java.nio.CharBuffer):66:66 -> read
    6:6:int com.android.tools.r8.com.google.common.io.CharSequenceReader.remaining():56:56 -> read
    6:6:int read(java.nio.CharBuffer):66 -> read
    7:9:int read(java.nio.CharBuffer):66:68 -> read
    10:10:int read():75:75 -> read
    11:11:int com.android.tools.r8.com.google.common.io.CharSequenceReader.remaining():56:56 -> read
    11:11:boolean com.android.tools.r8.com.google.common.io.CharSequenceReader.hasRemaining():52 -> read
    11:11:int read():76 -> read
    12:12:int read():76:76 -> read
    13:14:int read(char[],int,int):81:82 -> read
    15:15:int com.android.tools.r8.com.google.common.io.CharSequenceReader.remaining():56:56 -> read
    15:15:boolean com.android.tools.r8.com.google.common.io.CharSequenceReader.hasRemaining():52 -> read
    15:15:int read(char[],int,int):83 -> read
    16:16:int com.android.tools.r8.com.google.common.io.CharSequenceReader.remaining():56:56 -> read
    16:16:int read(char[],int,int):86 -> read
    17:19:int read(char[],int,int):86:88 -> read
    1:1:boolean ready():104:104 -> ready
    1:2:void reset():122:123 -> reset
    1:2:long skip(long):95:96 -> skip
    3:3:int com.android.tools.r8.com.google.common.io.CharSequenceReader.remaining():56:56 -> skip
    3:3:long skip(long):97 -> skip
    4:5:long skip(long):97:98 -> skip
    6:6:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,long):205:205 -> skip
    6:6:long skip(long):95 -> skip
com.android.tools.r8.com.google.common.io.CharSource -> com.android.tools.r8.internal.i9:
    1:1:void <init>():75:75 -> <init>
    java.io.Reader openStream() -> a
    1:3:com.android.tools.r8.com.google.common.io.CharSource wrap(java.lang.CharSequence):480:482 -> a
com.android.tools.r8.com.google.common.io.CharSource$CharSequenceCharSource -> com.android.tools.r8.internal.g9:
    java.lang.CharSequence seq -> a
    1:1:void <clinit>():524:524 -> <clinit>
    1:2:void <init>(java.lang.CharSequence):528:529 -> <init>
    1:1:java.io.Reader openStream():534:534 -> a
    1:1:java.lang.String toString():608:608 -> toString
    2:2:java.lang.String com.android.tools.r8.com.google.common.base.Ascii.truncate(java.lang.CharSequence,int,java.lang.String):550:550 -> toString
    2:2:java.lang.String toString():608 -> toString
    3:3:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> toString
    3:3:java.lang.String com.android.tools.r8.com.google.common.base.Ascii.truncate(java.lang.CharSequence,int,java.lang.String):550 -> toString
    3:3:java.lang.String toString():608 -> toString
    4:16:java.lang.String com.android.tools.r8.com.google.common.base.Ascii.truncate(java.lang.CharSequence,int,java.lang.String):563:575 -> toString
    4:16:java.lang.String toString():608 -> toString
    17:17:java.lang.String toString():608:608 -> toString
com.android.tools.r8.com.google.common.io.CharSource$StringCharSource -> com.android.tools.r8.internal.h9:
    1:1:void <init>(java.lang.String):629:629 -> <init>
    1:1:java.io.Reader openStream():634:634 -> a
com.android.tools.r8.com.google.common.io.CharStreams -> com.android.tools.r8.internal.j9:
    1:2:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):176:177 -> a
    1:2:java.lang.String toString(java.lang.Readable):164 -> a
    3:3:long com.android.tools.r8.com.google.common.io.CharStreams.copyReaderToBuilder(java.io.Reader,java.lang.StringBuilder):115:115 -> a
    3:3:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):178 -> a
    3:3:java.lang.String toString(java.lang.Readable):164 -> a
    4:4:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    4:4:long com.android.tools.r8.com.google.common.io.CharStreams.copyReaderToBuilder(java.io.Reader,java.lang.StringBuilder):115 -> a
    4:4:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):178 -> a
    4:4:java.lang.String toString(java.lang.Readable):164 -> a
    5:9:long com.android.tools.r8.com.google.common.io.CharStreams.copyReaderToBuilder(java.io.Reader,java.lang.StringBuilder):117:121 -> a
    5:9:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):178 -> a
    5:9:java.lang.String toString(java.lang.Readable):164 -> a
    10:10:long com.android.tools.r8.com.google.common.io.CharStreams.copyReaderToBuilder(java.io.Reader,java.lang.StringBuilder):115:115 -> a
    10:10:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):76 -> a
    10:10:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    10:10:java.lang.String toString(java.lang.Readable):164 -> a
    11:11:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    11:11:long com.android.tools.r8.com.google.common.io.CharStreams.copyReaderToBuilder(java.io.Reader,java.lang.StringBuilder):115 -> a
    11:11:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):76 -> a
    11:11:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    11:11:java.lang.String toString(java.lang.Readable):164 -> a
    12:16:long com.android.tools.r8.com.google.common.io.CharStreams.copyReaderToBuilder(java.io.Reader,java.lang.StringBuilder):117:121 -> a
    12:16:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):76 -> a
    12:16:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    12:16:java.lang.String toString(java.lang.Readable):164 -> a
    17:17:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):82:82 -> a
    17:17:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    17:17:java.lang.String toString(java.lang.Readable):164 -> a
    18:18:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    18:18:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):82 -> a
    18:18:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    18:18:java.lang.String toString(java.lang.Readable):164 -> a
    19:19:java.nio.CharBuffer com.android.tools.r8.com.google.common.io.CharStreams.createBuffer():55:55 -> a
    19:19:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):85 -> a
    19:19:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    19:19:java.lang.String toString(java.lang.Readable):164 -> a
    20:20:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):86:86 -> a
    20:20:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    20:20:java.lang.String toString(java.lang.Readable):164 -> a
    21:21:void com.android.tools.r8.com.google.common.io.Java8Compatibility.flip(java.nio.Buffer):31:31 -> a
    21:21:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):87 -> a
    21:21:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    21:21:java.lang.String toString(java.lang.Readable):164 -> a
    22:23:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):88:89 -> a
    22:23:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    22:23:java.lang.String toString(java.lang.Readable):164 -> a
    24:24:void com.android.tools.r8.com.google.common.io.Java8Compatibility.clear(java.nio.Buffer):27:27 -> a
    24:24:long com.android.tools.r8.com.google.common.io.CharStreams.copy(java.lang.Readable,java.lang.Appendable):90 -> a
    24:24:java.lang.StringBuilder com.android.tools.r8.com.google.common.io.CharStreams.toStringBuilder(java.lang.Readable):180 -> a
    24:24:java.lang.String toString(java.lang.Readable):164 -> a
    25:25:java.lang.String toString(java.lang.Readable):164:164 -> a
com.android.tools.r8.com.google.common.io.Closeables -> com.android.tools.r8.internal.qb:
    java.util.logging.Logger logger -> a
    1:1:void <clinit>():37:37 -> <clinit>
com.android.tools.r8.com.google.common.io.Closer -> com.android.tools.r8.internal.ub:
    com.android.tools.r8.com.google.common.io.Closer$Suppressor suppressor -> b
    java.util.Deque stack -> c
    com.android.tools.r8.com.google.common.io.Closer$Suppressor SUPPRESSOR -> d
    1:1:boolean com.android.tools.r8.com.google.common.io.Closer$SuppressingSuppressor.isAvailable():264:264 -> <clinit>
    1:1:void <clinit>():95 -> <clinit>
    2:3:void <clinit>():96:97 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.io.Closer$Suppressor):111:111 -> <init>
    2:7:void <init>(com.android.tools.r8.com.google.common.io.Closer$Suppressor):107:112 -> <init>
    1:1:com.android.tools.r8.com.google.common.io.Closer create():101:101 -> a
    2:2:java.io.Closeable register(java.io.Closeable):125:125 -> a
    1:15:void close():210:224 -> close
    16:17:void com.android.tools.r8.com.google.common.base.Throwables.throwIfInstanceOf(java.lang.Throwable,java.lang.Class):74:75 -> close
    16:17:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfInstanceOf(java.lang.Throwable,java.lang.Class):104 -> close
    16:17:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable,java.lang.Class):184 -> close
    16:17:void close():224 -> close
    18:21:void com.android.tools.r8.com.google.common.base.Throwables.throwIfUnchecked(java.lang.Throwable):129:132 -> close
    18:21:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable):159 -> close
    18:21:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable,java.lang.Class):185 -> close
    18:21:void close():224 -> close
    22:22:void close():225:225 -> close
    23:23:void com.android.tools.r8.com.google.common.base.Throwables.throwIfUnchecked(java.lang.Throwable):133:133 -> close
    23:23:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable):159 -> close
    23:23:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable,java.lang.Class):185 -> close
    23:23:void close():224 -> close
    24:24:void com.android.tools.r8.com.google.common.base.Throwables.throwIfUnchecked(java.lang.Throwable):130:130 -> close
    24:24:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable):159 -> close
    24:24:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable,java.lang.Class):185 -> close
    24:24:void close():224 -> close
    25:25:void com.android.tools.r8.com.google.common.base.Throwables.throwIfInstanceOf(java.lang.Throwable,java.lang.Class):76:76 -> close
    25:25:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfInstanceOf(java.lang.Throwable,java.lang.Class):104 -> close
    25:25:void com.android.tools.r8.com.google.common.base.Throwables.propagateIfPossible(java.lang.Throwable,java.lang.Class):184 -> close
    25:25:void close():224 -> close
com.android.tools.r8.com.google.common.io.Closer$LoggingSuppressor -> com.android.tools.r8.internal.rb:
    com.android.tools.r8.com.google.common.io.Closer$LoggingSuppressor INSTANCE -> a
    1:1:void <clinit>():244:244 -> <clinit>
    1:1:void <init>():242:242 -> <init>
    1:1:void suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable):249:249 -> a
com.android.tools.r8.com.google.common.io.Closer$SuppressingSuppressor -> com.android.tools.r8.internal.sb:
    com.android.tools.r8.com.google.common.io.Closer$SuppressingSuppressor INSTANCE -> a
    java.lang.reflect.Method addSuppressed -> b
    1:1:void <clinit>():261:261 -> <clinit>
    2:2:java.lang.reflect.Method com.android.tools.r8.com.google.common.io.Closer$SuppressingSuppressor.addSuppressedMethodOrNull():271:271 -> <clinit>
    2:2:void <clinit>():267 -> <clinit>
    3:3:void <clinit>():267:267 -> <clinit>
    1:1:void <init>():259:259 -> <init>
    1:1:void suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable):284:284 -> a
    2:2:void com.android.tools.r8.com.google.common.io.Closer$LoggingSuppressor.suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable):249:249 -> a
    2:2:void suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable):287 -> a
com.android.tools.r8.com.google.common.io.Closer$Suppressor -> com.android.tools.r8.internal.tb:
    void suppress(java.io.Closeable,java.lang.Throwable,java.lang.Throwable) -> a
com.android.tools.r8.com.google.common.math.IntMath -> com.android.tools.r8.internal.vt:
    int[] biggestBinomials -> a
    1:1:void <clinit>():676:676 -> <clinit>
    boolean isPowerOfTwo(int) -> a
    1:25:int log2(int,java.math.RoundingMode):119:143 -> a
    26:26:int log2(int,java.math.RoundingMode):136:136 -> a
    27:27:int log2(int,java.math.RoundingMode):130:130 -> a
    28:32:int log2(int,java.math.RoundingMode):122:126 -> a
    33:33:void com.android.tools.r8.com.google.common.math.MathPreconditions.checkRoundingUnnecessary(boolean):82:82 -> a
    33:33:int log2(int,java.math.RoundingMode):122 -> a
    34:34:int com.android.tools.r8.com.google.common.math.MathPreconditions.checkPositive(java.lang.String,int):33:33 -> a
    34:34:int log2(int,java.math.RoundingMode):119 -> a
    35:35:int divide(int,int,java.math.RoundingMode):317:317 -> a
    36:36:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    36:36:int divide(int,int,java.math.RoundingMode):317 -> a
    37:83:int divide(int,int,java.math.RoundingMode):321:367 -> a
    84:89:int divide(int,int,java.math.RoundingMode):356:361 -> a
    90:90:void com.android.tools.r8.com.google.common.math.MathPreconditions.checkRoundingUnnecessary(boolean):82:82 -> a
    90:90:int divide(int,int,java.math.RoundingMode):339 -> a
    91:91:int divide(int,int,java.math.RoundingMode):319:319 -> a
    92:110:int binomial(int,int):650:668 -> a
    111:111:void com.android.tools.r8.com.google.common.base.Preconditions.checkArgument(boolean,java.lang.String,int,int):303:303 -> a
    111:111:int binomial(int,int):652 -> a
    1:1:int sqrt(int,java.math.RoundingMode):270:270 -> b
    2:2:int com.android.tools.r8.com.google.common.math.IntMath.sqrtFloor(int):305:305 -> b
    2:2:int sqrt(int,java.math.RoundingMode):271 -> b
    3:29:int sqrt(int,java.math.RoundingMode):272:298 -> b
    30:30:void com.android.tools.r8.com.google.common.math.MathPreconditions.checkRoundingUnnecessary(boolean):82:82 -> b
    30:30:int sqrt(int,java.math.RoundingMode):274 -> b
    31:31:int checkedAdd(int,int):456:456 -> b
    32:32:void com.android.tools.r8.com.google.common.math.MathPreconditions.checkNoOverflow(boolean,java.lang.String,int,int):95:95 -> b
    32:32:int checkedAdd(int,int):456 -> b
com.android.tools.r8.com.google.common.math.IntMath$1 -> com.android.tools.r8.internal.ut:
    int[] $SwitchMap$java$math$RoundingMode -> a
    1:1:void <clinit>():120:120 -> <clinit>
com.android.tools.r8.com.google.common.math.MathPreconditions -> com.android.tools.r8.internal.QD:
    1:1:int checkNonNegative(java.lang.String,int):54:54 -> a
com.android.tools.r8.com.google.common.primitives.Ints -> com.android.tools.r8.internal.su:
    int saturatedCast(long) -> a
    1:6:int[] toArray(java.util.Collection):532:537 -> a
    7:7:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    7:7:int[] toArray(java.util.Collection):537 -> a
    8:8:int[] toArray(java.util.Collection):537:537 -> a
com.android.tools.r8.com.google.gson.FieldNamingPolicy -> com.android.tools.r8.internal.Wj:
    com.android.tools.r8.com.google.gson.FieldNamingPolicy IDENTITY -> b
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(java.lang.String,int):31:31 -> <init>
    2:2:void <init>(java.lang.String,int,com.android.tools.r8.com.google.gson.FieldNamingPolicy$1):31:31 -> <init>
com.android.tools.r8.com.google.gson.FieldNamingPolicy$1 -> com.android.tools.r8.internal.Vj:
    1:1:void <init>(java.lang.String,int):37:37 -> <init>
    1:1:java.lang.String translateName(java.lang.reflect.Field):39:39 -> a
com.android.tools.r8.com.google.gson.FieldNamingStrategy -> com.android.tools.r8.internal.Xj:
    java.lang.String translateName(java.lang.reflect.Field) -> a
com.android.tools.r8.com.google.gson.Gson -> com.android.tools.r8.internal.om:
    com.android.tools.r8.com.google.gson.reflect.TypeToken NULL_KEY_SURROGATE -> j
    java.util.Map typeTokenCache -> b
    java.lang.ThreadLocal calls -> a
    com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> d
    java.util.List factories -> c
    com.android.tools.r8.com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory jsonAdapterFactory -> i
    boolean serializeNulls -> e
    boolean htmlSafe -> f
    boolean generateNonExecutableJson -> g
    boolean prettyPrinting -> h
    1:1:void <clinit>():112:112 -> <clinit>
    1:6:void <init>():174:174 -> <init>
    7:7:void <init>(com.android.tools.r8.com.google.gson.internal.Excluder,com.android.tools.r8.com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.android.tools.r8.com.google.gson.LongSerializationPolicy,java.util.List):186:186 -> <init>
    8:103:void <init>(com.android.tools.r8.com.google.gson.internal.Excluder,com.android.tools.r8.com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.android.tools.r8.com.google.gson.LongSerializationPolicy,java.util.List):122:217 -> <init>
    104:107:void <init>(com.android.tools.r8.com.google.gson.internal.Excluder,com.android.tools.r8.com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.android.tools.r8.com.google.gson.LongSerializationPolicy,java.util.List):216:219 -> <init>
    108:145:void <init>(com.android.tools.r8.com.google.gson.internal.Excluder,com.android.tools.r8.com.google.gson.FieldNamingStrategy,java.util.Map,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.android.tools.r8.com.google.gson.LongSerializationPolicy,java.util.List):218:255 -> <init>
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter doubleAdapter(boolean):278:278 -> a
    2:2:com.android.tools.r8.com.google.gson.TypeAdapter atomicLongAdapter(com.android.tools.r8.com.google.gson.TypeAdapter):353:353 -> a
    3:3:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.TypeAdapter.nullSafe():186:186 -> a
    3:3:com.android.tools.r8.com.google.gson.TypeAdapter atomicLongAdapter(com.android.tools.r8.com.google.gson.TypeAdapter):361 -> a
    4:40:com.android.tools.r8.com.google.gson.TypeAdapter getAdapter(com.android.tools.r8.com.google.gson.reflect.TypeToken):399:435 -> a
    41:46:com.android.tools.r8.com.google.gson.TypeAdapter getAdapter(com.android.tools.r8.com.google.gson.reflect.TypeToken):430:435 -> a
    47:65:com.android.tools.r8.com.google.gson.TypeAdapter getDelegateAdapter(com.android.tools.r8.com.google.gson.TypeAdapterFactory,com.android.tools.r8.com.google.gson.reflect.TypeToken):493:511 -> a
    66:80:void toJson(java.lang.Object,java.lang.reflect.Type,com.android.tools.r8.com.google.gson.stream.JsonWriter):661:675 -> a
    81:85:void toJson(java.lang.Object,java.lang.reflect.Type,com.android.tools.r8.com.google.gson.stream.JsonWriter):671:675 -> a
    86:93:com.android.tools.r8.com.google.gson.stream.JsonWriter newJsonWriter(java.io.Writer):713:720 -> a
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter floatAdapter(boolean):302:302 -> b
    2:2:com.android.tools.r8.com.google.gson.TypeAdapter atomicLongArrayAdapter(com.android.tools.r8.com.google.gson.TypeAdapter):365:365 -> b
    3:3:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.TypeAdapter.nullSafe():186:186 -> b
    3:3:com.android.tools.r8.com.google.gson.TypeAdapter atomicLongArrayAdapter(com.android.tools.r8.com.google.gson.TypeAdapter):388 -> b
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter longAdapter(com.android.tools.r8.com.google.gson.LongSerializationPolicy):332:332 -> c
    1:6:java.lang.String toString():982:987 -> toString
com.android.tools.r8.com.google.gson.Gson$1 -> com.android.tools.r8.internal.im:
    1:1:void <init>():112:112 -> <init>
com.android.tools.r8.com.google.gson.Gson$2 -> com.android.tools.r8.internal.jm:
    1:1:void <init>(com.android.tools.r8.com.google.gson.Gson):278:278 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):278:278 -> a
    2:5:void com.android.tools.r8.com.google.gson.Gson$2.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):288:291 -> a
    2:5:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):278 -> a
    6:6:void com.android.tools.r8.com.google.gson.Gson.checkValidFloatingPoint(double):323:323 -> a
    6:6:void com.android.tools.r8.com.google.gson.Gson$2.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):292 -> a
    6:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):278 -> a
    7:7:void com.android.tools.r8.com.google.gson.Gson$2.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):293:293 -> a
    7:7:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):278 -> a
    8:8:void com.android.tools.r8.com.google.gson.Gson.checkValidFloatingPoint(double):324:324 -> a
    8:8:void com.android.tools.r8.com.google.gson.Gson$2.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):292 -> a
    8:8:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):278 -> a
    9:13:java.lang.Double com.android.tools.r8.com.google.gson.Gson$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):280:284 -> a
    9:13:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):278 -> a
com.android.tools.r8.com.google.gson.Gson$3 -> com.android.tools.r8.internal.km:
    1:1:void <init>(com.android.tools.r8.com.google.gson.Gson):302:302 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):302:302 -> a
    2:5:void com.android.tools.r8.com.google.gson.Gson$3.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):312:315 -> a
    2:5:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):302 -> a
    6:6:void com.android.tools.r8.com.google.gson.Gson.checkValidFloatingPoint(double):323:323 -> a
    6:6:void com.android.tools.r8.com.google.gson.Gson$3.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):316 -> a
    6:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):302 -> a
    7:7:void com.android.tools.r8.com.google.gson.Gson$3.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):317:317 -> a
    7:7:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):302 -> a
    8:8:void com.android.tools.r8.com.google.gson.Gson.checkValidFloatingPoint(double):324:324 -> a
    8:8:void com.android.tools.r8.com.google.gson.Gson$3.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):316 -> a
    8:8:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):302 -> a
    9:13:java.lang.Float com.android.tools.r8.com.google.gson.Gson$3.read(com.android.tools.r8.com.google.gson.stream.JsonReader):304:308 -> a
    9:13:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):302 -> a
com.android.tools.r8.com.google.gson.Gson$5 -> com.android.tools.r8.internal.lm:
    com.android.tools.r8.com.google.gson.TypeAdapter val$longAdapter -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.TypeAdapter):353:353 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):353:353 -> a
    2:2:void com.android.tools.r8.com.google.gson.Gson$5.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicLong):355:355 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):353 -> a
    3:4:java.util.concurrent.atomic.AtomicLong com.android.tools.r8.com.google.gson.Gson$5.read(com.android.tools.r8.com.google.gson.stream.JsonReader):358:359 -> a
    3:4:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):353 -> a
com.android.tools.r8.com.google.gson.Gson$6 -> com.android.tools.r8.internal.mm:
    com.android.tools.r8.com.google.gson.TypeAdapter val$longAdapter -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.TypeAdapter):365:365 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):365:365 -> a
    2:6:void com.android.tools.r8.com.google.gson.Gson$6.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicLongArray):367:371 -> a
    2:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):365 -> a
    7:17:java.util.concurrent.atomic.AtomicLongArray com.android.tools.r8.com.google.gson.Gson$6.read(com.android.tools.r8.com.google.gson.stream.JsonReader):374:384 -> a
    7:17:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):365 -> a
com.android.tools.r8.com.google.gson.Gson$FutureTypeAdapter -> com.android.tools.r8.internal.nm:
    com.android.tools.r8.com.google.gson.TypeAdapter delegate -> a
    1:1:void <init>():955:955 -> <init>
    1:4:void setDelegate(com.android.tools.r8.com.google.gson.TypeAdapter):959:962 -> a
    5:5:void setDelegate(com.android.tools.r8.com.google.gson.TypeAdapter):960:960 -> a
    6:9:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):966:969 -> a
    10:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):967:967 -> a
    11:14:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):973:976 -> a
    15:15:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):974:974 -> a
com.android.tools.r8.com.google.gson.JsonArray -> com.android.tools.r8.internal.Gv:
    java.util.List elements -> b
    1:2:void <init>():39:40 -> <init>
    1:1:void add(java.lang.String):85:85 -> a
    2:4:void add(com.android.tools.r8.com.google.gson.JsonElement):95:97 -> a
    5:8:boolean getAsBoolean():358:361 -> a
    1:4:int getAsInt():310:313 -> b
    1:4:long getAsLong():294:297 -> e
    1:1:boolean equals(java.lang.Object):366:366 -> equals
    1:4:java.lang.String getAsString():212:215 -> f
    1:1:com.android.tools.r8.com.google.gson.JsonElement get(int):183:183 -> h
    1:1:int hashCode():371:371 -> hashCode
    1:1:java.util.Iterator iterator():171:171 -> iterator
    1:1:int size():161:161 -> size
com.android.tools.r8.com.google.gson.JsonElement -> com.android.tools.r8.internal.Hv:
    1:1:void <init>():33:33 -> <init>
    1:1:boolean getAsBoolean():152:152 -> a
    1:1:int getAsInt():243:243 -> b
    1:1:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonArray():46:46 -> c
    1:1:com.android.tools.r8.com.google.gson.JsonArray getAsJsonArray():103 -> c
    2:4:com.android.tools.r8.com.google.gson.JsonArray getAsJsonArray():104:106 -> c
    1:1:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> d
    1:1:com.android.tools.r8.com.google.gson.JsonObject getAsJsonObject():87 -> d
    2:4:com.android.tools.r8.com.google.gson.JsonObject getAsJsonObject():88:90 -> d
    1:1:long getAsLong():230:230 -> e
    1:1:java.lang.String getAsString():191:191 -> f
    1:3:java.lang.String toString():321:323 -> toString
    4:4:void com.android.tools.r8.com.google.gson.internal.Streams.write(com.android.tools.r8.com.google.gson.JsonElement,com.android.tools.r8.com.google.gson.stream.JsonWriter):72:72 -> toString
    4:4:java.lang.String toString():324 -> toString
    5:7:java.lang.String toString():325:327 -> toString
com.android.tools.r8.com.google.gson.JsonIOException -> com.android.tools.r8.internal.Iv:
    1:1:void <init>(java.lang.String):29:29 -> <init>
    2:2:void <init>(java.lang.Throwable):43:43 -> <init>
com.android.tools.r8.com.google.gson.JsonNull -> com.android.tools.r8.internal.Jv:
    com.android.tools.r8.com.google.gson.JsonNull INSTANCE -> b
    1:1:void <clinit>():32:32 -> <clinit>
    1:1:void <init>():39:39 -> <init>
    1:1:boolean equals(java.lang.Object):61:61 -> equals
    1:1:int hashCode():53:53 -> hashCode
com.android.tools.r8.com.google.gson.JsonObject -> com.android.tools.r8.internal.Kv:
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap members -> b
    1:2:void <init>():32:33 -> <init>
    1:1:void addProperty(java.lang.String,java.lang.Boolean):0:0 -> a
    2:2:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonObject.createJsonElement(java.lang.Object):122:122 -> a
    2:2:void addProperty(java.lang.String,java.lang.Boolean):101 -> a
    3:3:void com.android.tools.r8.com.google.gson.JsonObject.add(java.lang.String,com.android.tools.r8.com.google.gson.JsonElement):57:57 -> a
    3:3:void addProperty(java.lang.String,java.lang.Boolean):101 -> a
    4:4:void addProperty(java.lang.String,java.lang.Number):0:0 -> a
    5:5:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonObject.createJsonElement(java.lang.Object):122:122 -> a
    5:5:void addProperty(java.lang.String,java.lang.Number):90 -> a
    6:6:void com.android.tools.r8.com.google.gson.JsonObject.add(java.lang.String,com.android.tools.r8.com.google.gson.JsonElement):57:57 -> a
    6:6:void addProperty(java.lang.String,java.lang.Number):90 -> a
    7:9:void add(java.lang.String,com.android.tools.r8.com.google.gson.JsonElement):55:57 -> a
    10:10:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonObject.createJsonElement(java.lang.Object):122:122 -> a
    10:10:void addProperty(java.lang.String,java.lang.String):79 -> a
    11:11:void com.android.tools.r8.com.google.gson.JsonObject.add(java.lang.String,com.android.tools.r8.com.google.gson.JsonElement):57:57 -> a
    11:11:void addProperty(java.lang.String,java.lang.String):79 -> a
    12:12:com.android.tools.r8.com.google.gson.JsonElement get(java.lang.String):161:161 -> a
    1:1:boolean has(java.lang.String):151:151 -> b
    1:1:java.util.Set entrySet():132:132 -> entrySet
    1:2:boolean equals(java.lang.Object):196:197 -> equals
    1:1:com.android.tools.r8.com.google.gson.JsonObject getAsJsonObject(java.lang.String):191:191 -> g
    1:1:int hashCode():202:202 -> hashCode
com.android.tools.r8.com.google.gson.JsonParseException -> com.android.tools.r8.internal.Lv:
    1:1:void <init>(java.lang.String):42:42 -> <init>
    2:2:void <init>(java.lang.String,java.lang.Throwable):52:52 -> <init>
    3:3:void <init>(java.lang.Throwable):62:62 -> <init>
com.android.tools.r8.com.google.gson.JsonParser -> com.android.tools.r8.internal.Mv:
    1:1:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.com.google.gson.JsonElement parse(java.lang.String):45:45 -> a
    2:4:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonParser.parse(java.io.Reader):58:60 -> a
    2:4:com.android.tools.r8.com.google.gson.JsonElement parse(java.lang.String):45 -> a
    5:5:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonNull():74:74 -> a
    5:5:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonParser.parse(java.io.Reader):60 -> a
    5:5:com.android.tools.r8.com.google.gson.JsonElement parse(java.lang.String):45 -> a
    6:15:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonParser.parse(java.io.Reader):60:69 -> a
    6:15:com.android.tools.r8.com.google.gson.JsonElement parse(java.lang.String):45 -> a
    16:16:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonParser.parse(java.io.Reader):67:67 -> a
    16:16:com.android.tools.r8.com.google.gson.JsonElement parse(java.lang.String):45 -> a
    17:17:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.JsonParser.parse(java.io.Reader):65:65 -> a
    17:17:com.android.tools.r8.com.google.gson.JsonElement parse(java.lang.String):45 -> a
    18:19:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):81:82 -> a
    20:38:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.Streams.parse(com.android.tools.r8.com.google.gson.stream.JsonReader):46:64 -> a
    20:38:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):84 -> a
    39:39:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.Streams.parse(com.android.tools.r8.com.google.gson.stream.JsonReader):62:62 -> a
    39:39:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):84 -> a
    40:40:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.Streams.parse(com.android.tools.r8.com.google.gson.stream.JsonReader):60:60 -> a
    40:40:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):84 -> a
    41:41:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.Streams.parse(com.android.tools.r8.com.google.gson.stream.JsonReader):55:55 -> a
    41:41:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):84 -> a
    42:42:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):90:90 -> a
    43:43:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.Streams.parse(com.android.tools.r8.com.google.gson.stream.JsonReader):58:58 -> a
    43:43:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):84 -> a
    44:44:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):88:88 -> a
    45:49:com.android.tools.r8.com.google.gson.JsonElement parse(com.android.tools.r8.com.google.gson.stream.JsonReader):86:90 -> a
com.android.tools.r8.com.google.gson.JsonPrimitive -> com.android.tools.r8.internal.Nv:
    java.lang.Class[] PRIMITIVE_TYPES -> c
    java.lang.Object value -> b
    1:1:void <clinit>():35:35 -> <clinit>
    1:2:void <init>(java.lang.Boolean):46:47 -> <init>
    3:4:void <init>(java.lang.Number):55:56 -> <init>
    5:6:void <init>(java.lang.String):64:65 -> <init>
    7:8:void <init>(java.lang.Object):84:85 -> <init>
    1:7:void setValue(java.lang.Object):94:100 -> a
    8:14:boolean com.android.tools.r8.com.google.gson.JsonPrimitive.isPrimitiveOrString(java.lang.Object):274:280 -> a
    8:14:void setValue(java.lang.Object):101 -> a
    15:17:void setValue(java.lang.Object):100:102 -> a
    18:18:boolean com.android.tools.r8.com.google.gson.JsonPrimitive.isBoolean():112:112 -> a
    18:18:boolean getAsBoolean():132 -> a
    19:19:java.lang.Boolean com.android.tools.r8.com.google.gson.JsonPrimitive.getAsBooleanWrapper():122:122 -> a
    19:19:boolean getAsBoolean():133 -> a
    20:23:boolean getAsBoolean():133:136 -> a
    24:26:boolean isIntegral(com.android.tools.r8.com.google.gson.JsonPrimitive):334:336 -> a
    1:1:boolean com.android.tools.r8.com.google.gson.JsonPrimitive.isNumber():146:146 -> b
    1:1:int getAsInt():260 -> b
    2:2:int getAsInt():260:260 -> b
    1:1:boolean com.android.tools.r8.com.google.gson.JsonPrimitive.isNumber():146:146 -> e
    1:1:long getAsLong():238 -> e
    2:2:long getAsLong():238:238 -> e
    1:18:boolean equals(java.lang.Object):309:326 -> equals
    1:1:boolean com.android.tools.r8.com.google.gson.JsonPrimitive.isNumber():146:146 -> f
    1:1:java.lang.String getAsString():176 -> f
    2:2:java.lang.String getAsString():177:177 -> f
    3:3:boolean com.android.tools.r8.com.google.gson.JsonPrimitive.isBoolean():112:112 -> f
    3:3:java.lang.String getAsString():178 -> f
    4:4:java.lang.Boolean com.android.tools.r8.com.google.gson.JsonPrimitive.getAsBooleanWrapper():122:122 -> f
    4:4:java.lang.String getAsString():179 -> f
    5:7:java.lang.String getAsString():179:181 -> f
    1:1:java.lang.Number getAsNumber():157:157 -> g
    1:1:boolean isBoolean():112:112 -> h
    1:13:int hashCode():289:301 -> hashCode
    1:1:boolean isNumber():146:146 -> i
    1:1:boolean isString():166:166 -> j
com.android.tools.r8.com.google.gson.JsonSyntaxException -> com.android.tools.r8.internal.Rv:
    1:1:void <init>(java.lang.String):30:30 -> <init>
    2:2:void <init>(java.lang.String,java.lang.Throwable):34:34 -> <init>
    3:3:void <init>(java.lang.Throwable):45:45 -> <init>
com.android.tools.r8.com.google.gson.TypeAdapter -> com.android.tools.r8.internal.nZ:
    1:1:void <init>():119:119 -> <init>
    java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader) -> a
    void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object) -> a
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter nullSafe():186:186 -> a
com.android.tools.r8.com.google.gson.TypeAdapter$1 -> com.android.tools.r8.internal.mZ:
    com.android.tools.r8.com.google.gson.TypeAdapter this$0 -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.TypeAdapter):186:186 -> <init>
    1:3:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):189:191 -> a
    4:8:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):195:199 -> a
com.android.tools.r8.com.google.gson.TypeAdapterFactory -> com.android.tools.r8.internal.oZ:
    com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken) -> a
com.android.tools.r8.com.google.gson.annotations.JsonAdapter -> com.android.tools.r8.internal.Ev:
com.android.tools.r8.com.google.gson.annotations.SerializedName -> com.android.tools.r8.internal.iU:
com.android.tools.r8.com.google.gson.internal.$Gson$Preconditions -> com.android.tools.r8.internal.a:
# {"id":"sourceFile","fileName":"$Gson$Preconditions.java"}
    1:1:java.lang.Object checkNotNull(java.lang.Object):39:39 -> a
    2:2:void checkArgument(boolean):46:46 -> a
com.android.tools.r8.com.google.gson.internal.$Gson$Types -> com.android.tools.r8.internal.e:
# {"id":"sourceFile","fileName":"$Gson$Types.java"}
    java.lang.reflect.Type[] EMPTY_TYPE_ARRAY -> a
    1:1:void <clinit>():44:44 -> <clinit>
    1:16:java.lang.reflect.Type canonicalize(java.lang.reflect.Type):96:111 -> a
    17:29:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):165:177 -> a
    30:30:boolean com.android.tools.r8.com.google.gson.internal.$Gson$Types.equal(java.lang.Object,java.lang.Object):154:154 -> a
    30:30:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):177 -> a
    31:60:boolean equals(java.lang.reflect.Type,java.lang.reflect.Type):178:207 -> a
    61:79:java.lang.reflect.Type getGenericSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):234:252 -> a
    80:80:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class):290:290 -> a
    81:83:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):270:272 -> a
    81:83:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class):290 -> a
    84:84:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):271:271 -> a
    84:84:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class):290 -> a
    85:91:java.lang.reflect.Type getCollectionElementType(java.lang.reflect.Type,java.lang.Class):292:298 -> a
    92:93:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):327:328 -> a
    94:95:java.lang.Class com.android.tools.r8.com.google.gson.internal.$Gson$Types.declaringClassOf(java.lang.reflect.TypeVariable):427:428 -> a
    94:95:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable):397 -> a
    94:95:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):329 -> a
    96:98:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable):404:406 -> a
    96:98:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):329 -> a
    99:100:int com.android.tools.r8.com.google.gson.internal.$Gson$Types.indexOf(java.lang.Object[],java.lang.Object):414:415 -> a
    99:100:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable):406 -> a
    99:100:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):329 -> a
    101:101:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable):407:407 -> a
    101:101:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):329 -> a
    102:102:int com.android.tools.r8.com.google.gson.internal.$Gson$Types.indexOf(java.lang.Object[],java.lang.Object):419:419 -> a
    102:102:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.resolveTypeVariable(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.TypeVariable):406 -> a
    102:102:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):329 -> a
    103:106:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):334:337 -> a
    107:107:java.lang.reflect.GenericArrayType com.android.tools.r8.com.google.gson.internal.$Gson$Types.arrayOf(java.lang.reflect.Type):68:68 -> a
    107:107:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):340 -> a
    108:111:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):342:345 -> a
    112:112:java.lang.reflect.GenericArrayType com.android.tools.r8.com.google.gson.internal.$Gson$Types.arrayOf(java.lang.reflect.Type):68:68 -> a
    112:112:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):348 -> a
    113:132:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):350:369 -> a
    133:133:java.lang.reflect.ParameterizedType com.android.tools.r8.com.google.gson.internal.$Gson$Types.newParameterizedTypeWithOwner(java.lang.reflect.Type,java.lang.reflect.Type,java.lang.reflect.Type[]):58:58 -> a
    133:133:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):369 -> a
    134:141:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):372:379 -> a
    142:142:java.lang.reflect.WildcardType com.android.tools.r8.com.google.gson.internal.$Gson$Types.supertypeOf(java.lang.reflect.Type):87:87 -> a
    142:142:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):380 -> a
    143:145:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):382:384 -> a
    146:146:java.lang.reflect.WildcardType com.android.tools.r8.com.google.gson.internal.$Gson$Types.subtypeOf(java.lang.reflect.Type):78:78 -> a
    146:146:java.lang.reflect.Type resolve(java.lang.reflect.Type,java.lang.Class,java.lang.reflect.Type):385 -> a
    1:5:java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type,java.lang.Class):311:315 -> b
    6:8:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):270:272 -> b
    6:8:java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type,java.lang.Class):315 -> b
    9:9:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.getSupertype(java.lang.reflect.Type,java.lang.Class,java.lang.Class):271:271 -> b
    9:9:java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type,java.lang.Class):315 -> b
    10:14:java.lang.reflect.Type[] getMapKeyAndValueTypes(java.lang.reflect.Type,java.lang.Class):317:321 -> b
    15:15:void checkNotPrimitive(java.lang.reflect.Type):434:434 -> b
    1:29:java.lang.Class getRawType(java.lang.reflect.Type):120:148 -> c
    1:1:java.lang.String typeToString(java.lang.reflect.Type):220:220 -> d
com.android.tools.r8.com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl -> com.android.tools.r8.internal.b:
# {"id":"sourceFile","fileName":"$Gson$Types.java"}
    java.lang.reflect.Type componentType -> b
    1:2:void <init>(java.lang.reflect.Type):505:506 -> <init>
    1:2:boolean equals(java.lang.Object):514:515 -> equals
    1:1:java.lang.reflect.Type getGenericComponentType():510:510 -> getGenericComponentType
    1:1:int hashCode():519:519 -> hashCode
    1:1:java.lang.String toString():523:523 -> toString
com.android.tools.r8.com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl -> com.android.tools.r8.internal.c:
# {"id":"sourceFile","fileName":"$Gson$Types.java"}
    java.lang.reflect.Type rawType -> c
    java.lang.reflect.Type ownerType -> b
    java.lang.reflect.Type[] typeArguments -> d
    1:16:void <init>(java.lang.reflect.Type,java.lang.reflect.Type,java.lang.reflect.Type[]):442:457 -> <init>
    1:2:boolean equals(java.lang.Object):474:475 -> equals
    1:1:java.lang.reflect.Type[] getActualTypeArguments():462:462 -> getActualTypeArguments
    1:1:java.lang.reflect.Type getOwnerType():470:470 -> getOwnerType
    1:1:java.lang.reflect.Type getRawType():466:466 -> getRawType
    1:2:int hashCode():479:480 -> hashCode
    3:3:int com.android.tools.r8.com.google.gson.internal.$Gson$Types.hashCodeOrZero(java.lang.Object):216:216 -> hashCode
    3:3:int hashCode():481 -> hashCode
    1:12:java.lang.String toString():485:496 -> toString
com.android.tools.r8.com.google.gson.internal.$Gson$Types$WildcardTypeImpl -> com.android.tools.r8.internal.d:
# {"id":"sourceFile","fileName":"$Gson$Types.java"}
    java.lang.reflect.Type lowerBound -> c
    java.lang.reflect.Type upperBound -> b
    1:16:void <init>(java.lang.reflect.Type[],java.lang.reflect.Type[]):538:553 -> <init>
    1:2:boolean equals(java.lang.Object):566:567 -> equals
    1:1:java.lang.reflect.Type[] getLowerBounds():562:562 -> getLowerBounds
    1:1:java.lang.reflect.Type[] getUpperBounds():558:558 -> getUpperBounds
    1:2:int hashCode():572:573 -> hashCode
    1:1:java.lang.String toString():577:577 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1166,"2":1167,"3":1168}}
    1166:1166:java.lang.String toString():578:578 -> toString
    1167:1167:java.lang.String toString():578:578 -> toString
    1168:1168:java.lang.String toString():578:578 -> toString
    580:582:java.lang.String toString():578:580 -> toString
    583:583:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1172,"2":1173,"3":1174}}
    1172:1172:java.lang.String toString():582:582 -> toString
    1173:1173:java.lang.String toString():582:582 -> toString
    1174:1174:java.lang.String toString():582:582 -> toString
    1165:1165:java.lang.String toString():582:582 -> toString
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor -> com.android.tools.r8.internal.Qd:
    java.util.Map instanceCreators -> a
    1:2:void <init>(java.util.Map):51:52 -> <init>
    1:19:com.android.tools.r8.com.google.gson.internal.ObjectConstructor get(com.android.tools.r8.com.google.gson.reflect.TypeToken):56:74 -> a
    20:24:com.android.tools.r8.com.google.gson.internal.ObjectConstructor com.android.tools.r8.com.google.gson.internal.ConstructorConstructor.newDefaultConstructor(java.lang.Class):99:103 -> a
    20:24:com.android.tools.r8.com.google.gson.internal.ObjectConstructor get(com.android.tools.r8.com.google.gson.reflect.TypeToken):83 -> a
    25:89:com.android.tools.r8.com.google.gson.internal.ObjectConstructor com.android.tools.r8.com.google.gson.internal.ConstructorConstructor.newDefaultImplementationConstructor(java.lang.reflect.Type,java.lang.Class):134:198 -> a
    25:89:com.android.tools.r8.com.google.gson.internal.ObjectConstructor get(com.android.tools.r8.com.google.gson.reflect.TypeToken):88 -> a
    90:98:com.android.tools.r8.com.google.gson.internal.ObjectConstructor com.android.tools.r8.com.google.gson.internal.ConstructorConstructor.newDefaultImplementationConstructor(java.lang.reflect.Type,java.lang.Class):197:205 -> a
    90:98:com.android.tools.r8.com.google.gson.internal.ObjectConstructor get(com.android.tools.r8.com.google.gson.reflect.TypeToken):88 -> a
    99:99:com.android.tools.r8.com.google.gson.internal.ObjectConstructor com.android.tools.r8.com.google.gson.internal.ConstructorConstructor.newUnsafeAllocator(java.lang.reflect.Type,java.lang.Class):218:218 -> a
    99:99:com.android.tools.r8.com.google.gson.internal.ObjectConstructor get(com.android.tools.r8.com.google.gson.reflect.TypeToken):94 -> a
    1:1:java.lang.String toString():234:234 -> toString
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$10 -> com.android.tools.r8.internal.Ed:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):186:186 -> <init>
    1:1:java.lang.Object construct():188:188 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$11 -> com.android.tools.r8.internal.Fd:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):192:192 -> <init>
    1:1:java.lang.Object construct():194:194 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$12 -> com.android.tools.r8.internal.Gd:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):199:199 -> <init>
    1:1:java.lang.Object construct():201:201 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$13 -> com.android.tools.r8.internal.Hd:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):205:205 -> <init>
    1:1:java.lang.Object construct():207:207 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$14 -> com.android.tools.r8.internal.Id:
    com.android.tools.r8.com.google.gson.internal.UnsafeAllocator unsafeAllocator -> a
    java.lang.reflect.Type val$type -> c
    java.lang.Class val$rawType -> b
    1:2:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,java.lang.Class,java.lang.reflect.Type):218:219 -> <init>
    1:4:java.lang.Object construct():223:226 -> a
    5:5:java.lang.Object construct():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":232,"2":233,"3":234}}
    232:232:java.lang.Object construct():226:226 -> a
    233:233:java.lang.Object construct():226:226 -> a
    234:234:java.lang.Object construct():226:226 -> a
    231:231:java.lang.Object construct():226:226 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$3 -> com.android.tools.r8.internal.Jd:
    java.lang.reflect.Constructor val$constructor -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,java.lang.reflect.Constructor):103:103 -> <init>
    1:11:java.lang.Object construct():108:118 -> a
    12:12:java.lang.Object construct():115:115 -> a
    13:13:java.lang.Object construct():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":246,"2":247,"3":248}}
    246:246:java.lang.Object construct():115:115 -> a
    247:247:java.lang.Object construct():115:115 -> a
    248:248:java.lang.Object construct():115:115 -> a
    128:129:java.lang.Object construct():115:116 -> a
    130:130:java.lang.Object construct():111:111 -> a
    131:131:java.lang.Object construct():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":249,"2":250,"3":251}}
    249:249:java.lang.Object construct():111:111 -> a
    250:250:java.lang.Object construct():111:111 -> a
    251:251:java.lang.Object construct():111:111 -> a
    242:242:java.lang.Object construct():111:111 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$4 -> com.android.tools.r8.internal.Kd:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):136:136 -> <init>
    1:1:java.lang.Object construct():138:138 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$5 -> com.android.tools.r8.internal.Ld:
    java.lang.reflect.Type val$type -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,java.lang.reflect.Type):142:142 -> <init>
    1:6:java.lang.Object construct():145:150 -> a
    7:7:java.lang.Object construct():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":315,"2":316,"3":317}}
    315:315:java.lang.Object construct():150:150 -> a
    316:316:java.lang.Object construct():150:150 -> a
    317:317:java.lang.Object construct():150:150 -> a
    157:160:java.lang.Object construct():150:153 -> a
    161:161:java.lang.Object construct():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":320,"2":321,"3":322}}
    320:320:java.lang.Object construct():153:153 -> a
    321:321:java.lang.Object construct():153:153 -> a
    322:322:java.lang.Object construct():153:153 -> a
    314:314:java.lang.Object construct():153:153 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$6 -> com.android.tools.r8.internal.Md:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):158:158 -> <init>
    1:1:java.lang.Object construct():160:160 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$7 -> com.android.tools.r8.internal.Nd:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):164:164 -> <init>
    1:1:java.lang.Object construct():166:166 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$8 -> com.android.tools.r8.internal.Od:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):170:170 -> <init>
    1:1:java.lang.Object construct():172:172 -> a
com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$9 -> com.android.tools.r8.internal.Pd:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):180:180 -> <init>
    1:1:java.lang.Object construct():182:182 -> a
com.android.tools.r8.com.google.gson.internal.Excluder -> com.android.tools.r8.internal.pj:
    java.util.List serializationStrategies -> b
    java.util.List deserializationStrategies -> c
    com.android.tools.r8.com.google.gson.internal.Excluder DEFAULT -> d
    1:1:void <clinit>():52:52 -> <clinit>
    1:10:void <init>():50:59 -> <init>
    1:9:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):112:120 -> a
    10:34:boolean excludeField(java.lang.reflect.Field,boolean):150:174 -> a
    35:36:boolean com.android.tools.r8.com.google.gson.internal.Excluder.isAnonymousOrLocal(java.lang.Class):216:217 -> a
    35:36:boolean excludeField(java.lang.reflect.Field,boolean):174 -> a
    37:38:boolean excludeField(java.lang.reflect.Field,boolean):178:179 -> a
    39:39:void com.android.tools.r8.com.google.gson.FieldAttributes.<init>(java.lang.reflect.Field):45:45 -> a
    39:39:boolean excludeField(java.lang.reflect.Field,boolean):180 -> a
    40:41:boolean excludeField(java.lang.reflect.Field,boolean):181:182 -> a
    42:43:boolean com.android.tools.r8.com.google.gson.internal.Excluder.isAnonymousOrLocal(java.lang.Class):216:217 -> a
    42:43:boolean excludeClass(java.lang.Class,boolean):201 -> a
    44:46:boolean excludeClass(java.lang.Class,boolean):205:207 -> a
    1:3:com.android.tools.r8.com.google.gson.internal.Excluder com.android.tools.r8.com.google.gson.internal.Excluder.clone():63:65 -> clone
    1:3:java.lang.Object clone():50 -> clone
com.android.tools.r8.com.google.gson.internal.Excluder$1 -> com.android.tools.r8.internal.oj:
    com.android.tools.r8.com.google.gson.TypeAdapter delegate -> a
    com.android.tools.r8.com.google.gson.reflect.TypeToken val$type -> e
    com.android.tools.r8.com.google.gson.internal.Excluder this$0 -> f
    com.android.tools.r8.com.google.gson.Gson val$gson -> d
    boolean val$skipDeserialize -> b
    boolean val$skipSerialize -> c
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.Excluder,boolean,boolean,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):120:120 -> <init>
    1:2:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):125:126 -> a
    3:6:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.internal.Excluder$1.delegate():141:144 -> a
    3:6:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):129 -> a
    7:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):129:129 -> a
    8:9:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):133:134 -> a
    10:13:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.internal.Excluder$1.delegate():141:144 -> a
    10:13:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):137 -> a
    14:14:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):137:137 -> a
com.android.tools.r8.com.google.gson.internal.JsonReaderInternalAccess -> com.android.tools.r8.internal.Qv:
    com.android.tools.r8.com.google.gson.internal.JsonReaderInternalAccess INSTANCE -> a
    1:1:void <init>():25:25 -> <init>
    void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader) -> a
com.android.tools.r8.com.google.gson.internal.LazilyParsedNumber -> com.android.tools.r8.internal.TA:
    java.lang.String value -> b
    1:2:void <init>(java.lang.String):30:31 -> <init>
    1:1:double doubleValue():63:63 -> doubleValue
    1:3:boolean equals(java.lang.Object):90:92 -> equals
    1:1:float floatValue():58:58 -> floatValue
    1:1:int hashCode():82:82 -> hashCode
    1:6:int intValue():37:42 -> intValue
    1:3:long longValue():50:52 -> longValue
    1:1:java.lang.String toString():68:68 -> toString
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap -> com.android.tools.r8.internal.eC:
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node root -> c
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node header -> f
    boolean $assertionsDisabled -> j
    java.util.Comparator NATURAL_ORDER -> i
    int size -> d
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet entrySet -> g
    int modCount -> e
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet keySet -> h
    java.util.Comparator comparator -> b
    1:3:void <clinit>():38:40 -> <clinit>
    1:72:void <init>(java.util.Comparator):0:71 -> <init>
    73:97:void <init>(java.util.Comparator):48:72 -> <init>
    98:98:void <init>():60:60 -> <init>
    1:57:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node find(java.lang.Object,boolean):122:178 -> a
    58:72:void replaceInParent(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node):285:299 -> a
    73:91:void rebalance(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):312:330 -> a
    92:114:void rebalance(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):326:348 -> a
    115:133:void rebalance(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):344:362 -> a
    134:134:void rebalance(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):311:311 -> a
    135:155:void rotateLeft(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node):374:394 -> a
    1:19:void removeInternal(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):219:237 -> b
    20:23:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node.last():517:520 -> b
    20:23:void removeInternal(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):237 -> b
    24:27:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node.first():504:507 -> b
    24:27:void removeInternal(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):237 -> b
    28:63:void removeInternal(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,boolean):238:273 -> b
    64:84:void rotateRight(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node):402:422 -> b
    1:7:void clear():101:107 -> clear
    1:1:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByObject(java.lang.Object):186:186 -> containsKey
    1:1:boolean containsKey(java.lang.Object):87 -> containsKey
    1:2:java.util.Set entrySet():430:431 -> entrySet
    1:1:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByObject(java.lang.Object):186:186 -> get
    1:1:java.lang.Object get(java.lang.Object):82 -> get
    2:2:java.lang.Object get(java.lang.Object):83:83 -> get
    1:2:java.util.Set keySet():435:436 -> keySet
    1:3:java.lang.Object put(java.lang.Object,java.lang.Object):94:96 -> put
    4:4:java.lang.Object put(java.lang.Object,java.lang.Object):92:92 -> put
    1:1:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByObject(java.lang.Object):186:186 -> remove
    1:1:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.removeInternalByKey(java.lang.Object):277 -> remove
    1:1:java.lang.Object remove(java.lang.Object):111 -> remove
    2:2:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.removeInternalByKey(java.lang.Object):279:279 -> remove
    2:2:java.lang.Object remove(java.lang.Object):111 -> remove
    3:3:java.lang.Object remove(java.lang.Object):112:112 -> remove
    1:1:int size():78:78 -> size
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$1 -> com.android.tools.r8.internal.XB:
    1:1:void <init>():40:40 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):40:40 -> compare
    2:2:int com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$1.compare(java.lang.Comparable,java.lang.Comparable):42:42 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):40 -> compare
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet -> com.android.tools.r8.internal.ZB:
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap):560:560 -> <init>
    1:1:void clear():591:591 -> clear
    1:1:boolean contains(java.lang.Object):574:574 -> contains
    2:2:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):202:202 -> contains
    2:2:boolean contains(java.lang.Object):574 -> contains
    3:3:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByObject(java.lang.Object):186:186 -> contains
    3:3:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):202 -> contains
    3:3:boolean contains(java.lang.Object):574 -> contains
    4:4:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):203:203 -> contains
    4:4:boolean contains(java.lang.Object):574 -> contains
    5:5:boolean com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.equal(java.lang.Object,java.lang.Object):208:208 -> contains
    5:5:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):203 -> contains
    5:5:boolean contains(java.lang.Object):574 -> contains
    1:1:java.util.Iterator iterator():566:566 -> iterator
    1:5:boolean remove(java.lang.Object):578:582 -> remove
    6:6:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):202:202 -> remove
    6:6:boolean remove(java.lang.Object):582 -> remove
    7:7:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByObject(java.lang.Object):186:186 -> remove
    7:7:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):202 -> remove
    7:7:boolean remove(java.lang.Object):582 -> remove
    8:8:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):203:203 -> remove
    8:8:boolean remove(java.lang.Object):582 -> remove
    9:9:boolean com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.equal(java.lang.Object,java.lang.Object):208:208 -> remove
    9:9:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByEntry(java.util.Map$Entry):203 -> remove
    9:9:boolean remove(java.lang.Object):582 -> remove
    10:10:boolean remove(java.lang.Object):586:586 -> remove
    1:1:int size():562:562 -> size
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet$1 -> com.android.tools.r8.internal.YB:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet):566:566 -> <init>
    1:9:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():539:547 -> next
    1:9:java.util.Map$Entry com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet$1.next():568 -> next
    1:9:java.lang.Object next():566 -> next
    10:10:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():544:544 -> next
    10:10:java.util.Map$Entry com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet$1.next():568 -> next
    10:10:java.lang.Object next():566 -> next
    11:11:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():541:541 -> next
    11:11:java.util.Map$Entry com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$EntrySet$1.next():568 -> next
    11:11:java.lang.Object next():566 -> next
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet -> com.android.tools.r8.internal.bC:
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap):595:595 -> <init>
    1:1:void clear():617:617 -> clear
    1:1:boolean contains(java.lang.Object):609:609 -> contains
    1:1:java.util.Iterator iterator():601:601 -> iterator
    1:1:boolean remove(java.lang.Object):613:613 -> remove
    2:2:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.findByObject(java.lang.Object):186:186 -> remove
    2:2:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.removeInternalByKey(java.lang.Object):277 -> remove
    2:2:boolean remove(java.lang.Object):613 -> remove
    3:3:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.removeInternalByKey(java.lang.Object):279:279 -> remove
    3:3:boolean remove(java.lang.Object):613 -> remove
    1:1:int size():597:597 -> size
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet$1 -> com.android.tools.r8.internal.aC:
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$KeySet):601:601 -> <init>
    1:9:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():539:547 -> next
    1:9:java.lang.Object next():603 -> next
    10:10:java.lang.Object next():603:603 -> next
    11:11:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():544:544 -> next
    11:11:java.lang.Object next():603 -> next
    12:12:com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator.nextNode():541:541 -> next
    12:12:java.lang.Object next():603 -> next
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator -> com.android.tools.r8.internal.cC:
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node lastReturned -> c
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap this$0 -> e
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node next -> b
    int expectedModCount -> d
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap):531:531 -> <init>
    2:4:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap):527:529 -> <init>
    1:1:boolean hasNext():535:535 -> hasNext
    1:6:void remove():551:556 -> remove
    7:7:void remove():552:552 -> remove
com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node -> com.android.tools.r8.internal.dC:
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node right -> d
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node left -> c
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node prev -> f
    java.lang.Object value -> h
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node next -> e
    java.lang.Object key -> g
    com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node parent -> b
    int height -> i
    1:3:void <init>():450:452 -> <init>
    4:11:void <init>(com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,java.lang.Object,com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node,com.android.tools.r8.com.google.gson.internal.LinkedTreeMap$Node):456:463 -> <init>
    1:4:boolean equals(java.lang.Object):482:485 -> equals
    1:1:java.lang.Object getKey():467:467 -> getKey
    1:1:java.lang.Object getValue():471:471 -> getValue
    1:2:int hashCode():491:492 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):475:476 -> setValue
    1:1:java.lang.String toString():496:496 -> toString
com.android.tools.r8.com.google.gson.internal.ObjectConstructor -> com.android.tools.r8.internal.TJ:
    java.lang.Object construct() -> a
com.android.tools.r8.com.google.gson.internal.Primitives -> com.android.tools.r8.internal.OM:
    java.util.Map PRIMITIVE_TO_WRAPPER_TYPE -> a
    1:4:void <clinit>():45:48 -> <clinit>
    5:6:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    5:6:void <clinit>():48 -> <clinit>
    7:7:void <clinit>():49:49 -> <clinit>
    8:9:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    8:9:void <clinit>():49 -> <clinit>
    10:10:void <clinit>():50:50 -> <clinit>
    11:12:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    11:12:void <clinit>():50 -> <clinit>
    13:13:void <clinit>():51:51 -> <clinit>
    14:15:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    14:15:void <clinit>():51 -> <clinit>
    16:16:void <clinit>():52:52 -> <clinit>
    17:18:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    17:18:void <clinit>():52 -> <clinit>
    19:19:void <clinit>():53:53 -> <clinit>
    20:21:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    20:21:void <clinit>():53 -> <clinit>
    22:22:void <clinit>():54:54 -> <clinit>
    23:24:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    23:24:void <clinit>():54 -> <clinit>
    25:25:void <clinit>():55:55 -> <clinit>
    26:27:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    26:27:void <clinit>():55 -> <clinit>
    28:28:void <clinit>():56:56 -> <clinit>
    29:30:void com.android.tools.r8.com.google.gson.internal.Primitives.add(java.util.Map,java.util.Map,java.lang.Class,java.lang.Class):64:65 -> <clinit>
    29:30:void <clinit>():56 -> <clinit>
    31:32:void <clinit>():58:59 -> <clinit>
    1:1:boolean isPrimitive(java.lang.reflect.Type):72:72 -> a
com.android.tools.r8.com.google.gson.internal.UnsafeAllocator -> com.android.tools.r8.internal.a10:
    1:1:void <init>():31:31 -> <init>
    1:62:com.android.tools.r8.com.google.gson.internal.UnsafeAllocator create():40:101 -> a
    63:68:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):115:120 -> a
    63:68:void access$000(java.lang.Class):31 -> a
    69:69:void access$000(java.lang.Class):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":76,"2":77,"3":78}}
    76:76:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):120:120 -> a
    76:76:void access$000(java.lang.Class):31 -> a
    77:77:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):120:120 -> a
    77:77:void access$000(java.lang.Class):31 -> a
    78:78:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):120:120 -> a
    78:78:void access$000(java.lang.Class):31 -> a
    70:70:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):120:120 -> a
    70:70:void access$000(java.lang.Class):31 -> a
    71:71:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):117:117 -> a
    71:71:void access$000(java.lang.Class):31 -> a
    72:72:void access$000(java.lang.Class):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":79,"2":80,"3":81}}
    79:79:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):117:117 -> a
    79:79:void access$000(java.lang.Class):31 -> a
    80:80:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):117:117 -> a
    80:80:void access$000(java.lang.Class):31 -> a
    81:81:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):117:117 -> a
    81:81:void access$000(java.lang.Class):31 -> a
    73:73:void com.android.tools.r8.com.google.gson.internal.UnsafeAllocator.assertInstantiable(java.lang.Class):117:117 -> a
    73:73:void access$000(java.lang.Class):31 -> a
    java.lang.Object newInstance(java.lang.Class) -> b
com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$1 -> com.android.tools.r8.internal.W00:
    java.lang.Object val$unsafe -> b
    java.lang.reflect.Method val$allocateInstance -> a
    1:1:void <init>(java.lang.reflect.Method,java.lang.Object):45:45 -> <init>
    1:2:java.lang.Object newInstance(java.lang.Class):49:50 -> b
com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$2 -> com.android.tools.r8.internal.X00:
    int val$constructorId -> b
    java.lang.reflect.Method val$newInstance -> a
    1:1:void <init>(java.lang.reflect.Method,int):69:69 -> <init>
    1:2:java.lang.Object newInstance(java.lang.Class):73:74 -> b
com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$3 -> com.android.tools.r8.internal.Y00:
    java.lang.reflect.Method val$newInstance -> a
    1:1:void <init>(java.lang.reflect.Method):89:89 -> <init>
    1:2:java.lang.Object newInstance(java.lang.Class):93:94 -> b
com.android.tools.r8.com.google.gson.internal.UnsafeAllocator$4 -> com.android.tools.r8.internal.Z00:
    1:1:void <init>():101:101 -> <init>
    1:1:java.lang.Object newInstance(java.lang.Class):104:104 -> b
com.android.tools.r8.com.google.gson.internal.bind.ArrayTypeAdapter -> com.android.tools.r8.internal.p3:
    com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> c
    com.android.tools.r8.com.google.gson.TypeAdapter componentTypeAdapter -> b
    java.lang.Class componentType -> a
    1:1:void <clinit>():39:39 -> <clinit>
    1:4:void <init>(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.TypeAdapter,java.lang.Class):57:60 -> <init>
    1:15:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):64:78 -> a
    16:25:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):86:95 -> a
com.android.tools.r8.com.google.gson.internal.bind.ArrayTypeAdapter$1 -> com.android.tools.r8.internal.o3:
    1:1:void <init>():39:39 -> <init>
    1:2:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):42:43 -> a
    3:5:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.$Gson$Types.getArrayComponentType(java.lang.reflect.Type):280:282 -> a
    3:5:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):47 -> a
    6:8:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):48:50 -> a
com.android.tools.r8.com.google.gson.internal.bind.CollectionTypeAdapterFactory -> com.android.tools.r8.internal.bc:
    com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> b
    1:2:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):39:40 -> <init>
    1:13:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):45:57 -> a
com.android.tools.r8.com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter -> com.android.tools.r8.internal.ac:
    com.android.tools.r8.com.google.gson.TypeAdapter elementTypeAdapter -> a
    com.android.tools.r8.com.google.gson.internal.ObjectConstructor constructor -> b
    1:4:void <init>(com.android.tools.r8.com.google.gson.Gson,java.lang.reflect.Type,com.android.tools.r8.com.google.gson.TypeAdapter,com.android.tools.r8.com.google.gson.internal.ObjectConstructor):67:70 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):61:61 -> a
    2:10:void com.android.tools.r8.com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Collection):91:99 -> a
    2:10:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):61 -> a
    11:22:java.util.Collection com.android.tools.r8.com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):74:85 -> a
    11:22:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):61 -> a
com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter -> com.android.tools.r8.internal.ue:
    com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> c
    java.text.DateFormat localFormat -> b
    java.text.DateFormat enUsFormat -> a
    1:1:void <clinit>():42:42 -> <clinit>
    1:12:void <init>():41:52 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):41:41 -> a
    2:6:void com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Date):80:84 -> a
    2:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):41 -> a
    7:11:java.util.Date com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):55:59 -> a
    7:11:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):41 -> a
    12:21:java.util.Date com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.deserializeToDate(java.lang.String):64:64 -> a
    12:21:java.util.Date com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):59 -> a
    12:21:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):41 -> a
    31:31:java.util.Date com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.deserializeToDate(java.lang.String):74:74 -> a
    31:31:java.util.Date com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):59 -> a
    31:31:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):41 -> a
com.android.tools.r8.com.google.gson.internal.bind.DateTypeAdapter$1 -> com.android.tools.r8.internal.te:
    1:1:void <init>():42:42 -> <init>
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):45:45 -> a
com.android.tools.r8.com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory -> com.android.tools.r8.internal.Fv:
    com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> b
    1:2:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor):37:38 -> <init>
    1:6:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):44:49 -> a
    7:29:com.android.tools.r8.com.google.gson.TypeAdapter getTypeAdapter(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,com.android.tools.r8.com.google.gson.annotations.JsonAdapter):55:77 -> a
    30:30:com.android.tools.r8.com.google.gson.TypeAdapter getTypeAdapter(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,com.android.tools.r8.com.google.gson.annotations.JsonAdapter):71:71 -> a
com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter -> com.android.tools.r8.internal.Uv:
    java.io.Writer UNWRITABLE_WRITER -> p
    com.android.tools.r8.com.google.gson.JsonPrimitive SENTINEL_CLOSED -> q
    java.lang.String pendingName -> n
    com.android.tools.r8.com.google.gson.JsonElement product -> o
    java.util.List stack -> m
    1:13:void <clinit>():34:46 -> <clinit>
    1:1:void <init>():58:58 -> <init>
    2:8:void <init>():49:55 -> <init>
    1:1:void put(com.android.tools.r8.com.google.gson.JsonElement):76:76 -> a
    2:2:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonNull():74:74 -> a
    2:2:void put(com.android.tools.r8.com.google.gson.JsonElement):77 -> a
    3:3:void put(com.android.tools.r8.com.google.gson.JsonElement):77:77 -> a
    4:4:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.peek():72:72 -> a
    4:4:void put(com.android.tools.r8.com.google.gson.JsonElement):78 -> a
    5:10:void put(com.android.tools.r8.com.google.gson.JsonElement):78:83 -> a
    11:11:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.peek():72:72 -> a
    11:11:void put(com.android.tools.r8.com.google.gson.JsonElement):85 -> a
    12:15:void put(com.android.tools.r8.com.google.gson.JsonElement):86:89 -> a
    16:16:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):133:133 -> a
    17:17:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.peek():72:72 -> a
    17:17:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):136 -> a
    18:22:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):137:141 -> a
    23:23:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):134:134 -> a
    24:24:com.android.tools.r8.com.google.gson.stream.JsonWriter com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.nullValue():153:153 -> a
    24:24:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.Boolean):164 -> a
    25:25:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.Boolean):166:166 -> a
    26:26:com.android.tools.r8.com.google.gson.stream.JsonWriter com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.nullValue():153:153 -> a
    26:26:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.Number):185 -> a
    27:34:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.Number):188:195 -> a
    35:35:com.android.tools.r8.com.google.gson.stream.JsonWriter value(long):179:179 -> a
    1:3:com.android.tools.r8.com.google.gson.stream.JsonWriter beginArray():95:97 -> b
    1:3:com.android.tools.r8.com.google.gson.stream.JsonWriter beginObject():114:116 -> c
    4:4:com.android.tools.r8.com.google.gson.stream.JsonWriter com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.nullValue():153:153 -> c
    4:4:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.String):146 -> c
    5:5:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.String):148:148 -> c
    1:4:void close():203:206 -> close
    5:5:void close():204:204 -> close
    1:1:com.android.tools.r8.com.google.gson.stream.JsonWriter endArray():102:102 -> d
    2:2:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.peek():72:72 -> d
    2:2:com.android.tools.r8.com.google.gson.stream.JsonWriter endArray():105 -> d
    3:7:com.android.tools.r8.com.google.gson.stream.JsonWriter endArray():106:110 -> d
    8:8:com.android.tools.r8.com.google.gson.stream.JsonWriter endArray():103:103 -> d
    9:9:com.android.tools.r8.com.google.gson.stream.JsonWriter value(boolean):158:158 -> d
    1:1:com.android.tools.r8.com.google.gson.stream.JsonWriter endObject():121:121 -> e
    2:2:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter.peek():72:72 -> e
    2:2:com.android.tools.r8.com.google.gson.stream.JsonWriter endObject():124 -> e
    3:7:com.android.tools.r8.com.google.gson.stream.JsonWriter endObject():125:129 -> e
    8:8:com.android.tools.r8.com.google.gson.stream.JsonWriter endObject():122:122 -> e
    1:1:com.android.tools.r8.com.google.gson.stream.JsonWriter nullValue():153:153 -> j
    1:4:com.android.tools.r8.com.google.gson.JsonElement get():65:68 -> m
    5:5:com.android.tools.r8.com.google.gson.JsonElement get():66:66 -> m
    6:6:com.android.tools.r8.com.google.gson.JsonElement get():0:0 -> m
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":73,"2":74,"3":75}}
    73:73:com.android.tools.r8.com.google.gson.JsonElement get():66:66 -> m
    74:74:com.android.tools.r8.com.google.gson.JsonElement get():66:66 -> m
    75:75:com.android.tools.r8.com.google.gson.JsonElement get():66:66 -> m
    72:72:com.android.tools.r8.com.google.gson.JsonElement get():66:66 -> m
com.android.tools.r8.com.google.gson.internal.bind.JsonTreeWriter$1 -> com.android.tools.r8.internal.Tv:
    1:1:void <init>():34:34 -> <init>
    1:1:void close():42:42 -> close
    1:1:void flush():39:39 -> flush
    1:1:void write(char[],int,int):36:36 -> write
com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory -> com.android.tools.r8.internal.uD:
    com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> b
    boolean complexMapKeySerialization -> c
    1:3:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,boolean):110:112 -> <init>
    1:10:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):116:125 -> a
    11:14:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory.getKeyAdapter(com.android.tools.r8.com.google.gson.Gson,java.lang.reflect.Type):140:140 -> a
    11:14:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):125 -> a
    15:20:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):126:131 -> a
com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter -> com.android.tools.r8.internal.tD:
    com.android.tools.r8.com.google.gson.TypeAdapter keyTypeAdapter -> a
    com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory this$0 -> d
    com.android.tools.r8.com.google.gson.TypeAdapter valueTypeAdapter -> b
    com.android.tools.r8.com.google.gson.internal.ObjectConstructor constructor -> c
    1:6:void <init>(com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory,com.android.tools.r8.com.google.gson.Gson,java.lang.reflect.Type,com.android.tools.r8.com.google.gson.TypeAdapter,java.lang.reflect.Type,com.android.tools.r8.com.google.gson.TypeAdapter,com.android.tools.r8.com.google.gson.internal.ObjectConstructor):152:157 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145:145 -> a
    2:21:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):200:219 -> a
    2:21:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    22:24:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.TypeAdapter.toJsonTree(java.lang.Object):233:235 -> a
    22:24:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):219 -> a
    22:24:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    25:27:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):220:222 -> a
    25:27:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    28:28:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonArray():46:46 -> a
    28:28:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):222 -> a
    28:28:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    29:29:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> a
    29:29:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):222 -> a
    29:29:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    30:30:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.com.google.gson.TypeAdapter.toJsonTree(java.lang.Object):237:237 -> a
    30:30:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):219 -> a
    30:30:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    31:34:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):226:229 -> a
    31:34:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    35:35:void com.android.tools.r8.com.google.gson.internal.Streams.write(com.android.tools.r8.com.google.gson.JsonElement,com.android.tools.r8.com.google.gson.stream.JsonWriter):72:72 -> a
    35:35:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):229 -> a
    35:35:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    36:43:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):230:237 -> a
    36:43:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    44:44:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):246:246 -> a
    44:44:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    44:44:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    45:45:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonPrimitive():64:64 -> a
    45:45:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):246 -> a
    45:45:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    45:45:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    46:46:com.android.tools.r8.com.google.gson.JsonPrimitive com.android.tools.r8.com.google.gson.JsonElement.getAsJsonPrimitive():120:120 -> a
    46:46:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):247 -> a
    46:46:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    46:46:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    47:54:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):248:255 -> a
    47:54:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    47:54:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    55:55:com.android.tools.r8.com.google.gson.JsonPrimitive com.android.tools.r8.com.google.gson.JsonElement.getAsJsonPrimitive():122:122 -> a
    55:55:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):247 -> a
    55:55:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    55:55:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    56:56:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonNull():74:74 -> a
    56:56:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):257 -> a
    56:56:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    56:56:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    57:57:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):258:258 -> a
    57:57:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    57:57:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    58:59:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238:239 -> a
    58:59:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    60:60:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.keyToString(com.android.tools.r8.com.google.gson.JsonElement):260:260 -> a
    60:60:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):238 -> a
    60:60:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    61:61:void com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Map):241:241 -> a
    61:61:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):145 -> a
    62:80:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):161:179 -> a
    62:80:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):145 -> a
    81:97:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.MapTypeAdapterFactory$Adapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):177:193 -> a
    81:97:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):145 -> a
com.android.tools.r8.com.google.gson.internal.bind.ObjectTypeAdapter -> com.android.tools.r8.internal.qK:
    com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> b
    com.android.tools.r8.com.google.gson.Gson gson -> a
    1:1:void <clinit>():38:38 -> <clinit>
    1:2:void <init>(com.android.tools.r8.com.google.gson.Gson):50:51 -> <init>
    1:35:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):55:89 -> a
    36:36:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):85:85 -> a
    37:37:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):82:82 -> a
    38:38:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):79:79 -> a
    39:39:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):76:76 -> a
    40:40:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):67:67 -> a
    41:41:void com.android.tools.r8.com.google.gson.internal.LinkedTreeMap.<init>():60:60 -> a
    41:41:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):67 -> a
    42:46:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):68:72 -> a
    47:52:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):58:63 -> a
    53:57:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):96:100 -> a
    58:58:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.Gson.getAdapter(java.lang.Class):521:521 -> a
    58:58:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):100 -> a
    59:65:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):101:107 -> a
com.android.tools.r8.com.google.gson.internal.bind.ObjectTypeAdapter$1 -> com.android.tools.r8.internal.pK:
    1:1:void <init>():38:38 -> <init>
    1:2:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):41:42 -> a
com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory -> com.android.tools.r8.internal.gS:
    com.android.tools.r8.com.google.gson.internal.ConstructorConstructor constructorConstructor -> b
    com.android.tools.r8.com.google.gson.internal.Excluder excluder -> d
    com.android.tools.r8.com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory jsonAdapterFactory -> e
    com.android.tools.r8.com.google.gson.FieldNamingStrategy fieldNamingPolicy -> c
    1:60:void <init>(com.android.tools.r8.com.google.gson.internal.ConstructorConstructor,com.android.tools.r8.com.google.gson.FieldNamingStrategy,com.android.tools.r8.com.google.gson.internal.Excluder,com.android.tools.r8.com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory):0:59 -> <init>
    1:1:boolean excludeField(java.lang.reflect.Field,boolean):63:63 -> a
    2:2:boolean com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.excludeField(java.lang.reflect.Field,boolean,com.android.tools.r8.com.google.gson.internal.Excluder):67:67 -> a
    2:2:boolean excludeField(java.lang.reflect.Field,boolean):63 -> a
    3:10:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):93:100 -> a
    11:26:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,java.lang.Class):143:158 -> a
    11:26:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100 -> a
    27:42:java.util.List com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldNames(java.lang.reflect.Field):72:87 -> a
    27:42:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,java.lang.Class):159 -> a
    27:42:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100 -> a
    43:47:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,java.lang.Class):161:165 -> a
    43:47:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100 -> a
    48:60:com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.createBoundField(com.android.tools.r8.com.google.gson.Gson,java.lang.reflect.Field,java.lang.String,com.android.tools.r8.com.google.gson.reflect.TypeToken,boolean,boolean):106:118 -> a
    48:60:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,java.lang.Class):164 -> a
    48:60:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100 -> a
    61:70:java.util.Map com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,java.lang.Class):166:175 -> a
    61:70:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100 -> a
    71:71:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):100:100 -> a
com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1 -> com.android.tools.r8.internal.eS:
    com.android.tools.r8.com.google.gson.reflect.TypeToken val$fieldType -> h
    boolean val$isPrimitive -> i
    java.lang.reflect.Field val$field -> d
    boolean val$jsonAdapterPresent -> e
    com.android.tools.r8.com.google.gson.Gson val$context -> g
    java.lang.String com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.name -> a
    boolean com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.serialized -> b
    boolean com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.deserialized -> c
    com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> f
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory,java.lang.String,boolean,boolean,java.lang.reflect.Field,boolean,com.android.tools.r8.com.google.gson.TypeAdapter,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,boolean):118:118 -> <init>
    2:5:void com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$BoundField.<init>(java.lang.String,boolean,boolean):185:188 -> <init>
    2:5:void <init>(com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory,java.lang.String,boolean,boolean,java.lang.reflect.Field,boolean,com.android.tools.r8.com.google.gson.TypeAdapter,com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken,boolean):118 -> <init>
com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter -> com.android.tools.r8.internal.fS:
    java.util.Map boundFields -> b
    com.android.tools.r8.com.google.gson.internal.ObjectConstructor constructor -> a
    1:3:void <init>(com.android.tools.r8.com.google.gson.internal.ObjectConstructor,java.util.Map):199:201 -> <init>
    1:13:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):205:217 -> a
    14:16:void com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.read(com.android.tools.r8.com.google.gson.stream.JsonReader,java.lang.Object):129:131 -> a
    14:16:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):220 -> a
    17:27:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):218:228 -> a
    28:28:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):226:226 -> a
    29:29:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):224:224 -> a
    30:36:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):234:240 -> a
    37:37:boolean com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.writeField(java.lang.Object):135:135 -> a
    37:37:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):241 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:38:boolean com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.writeField(java.lang.Object):136:136 -> a
    38:38:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):241 -> a
    39:39:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):242:242 -> a
    40:43:void com.android.tools.r8.com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):122:125 -> a
    40:43:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):243 -> a
    44:44:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):249:249 -> a
    45:45:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):247:247 -> a
com.android.tools.r8.com.google.gson.internal.bind.SqlDateTypeAdapter -> com.android.tools.r8.internal.GV:
    com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> b
    java.text.DateFormat format -> a
    1:1:void <clinit>():39:39 -> <clinit>
    1:10:void <init>():38:47 -> <init>
    1:1:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):38:38 -> a
    2:10:java.sql.Date com.android.tools.r8.com.google.gson.internal.bind.SqlDateTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):51:59 -> a
    2:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):38 -> a
    11:11:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):38:38 -> a
    12:12:void com.android.tools.r8.com.google.gson.internal.bind.SqlDateTypeAdapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.sql.Date):65:65 -> a
    12:12:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):38 -> a
com.android.tools.r8.com.google.gson.internal.bind.SqlDateTypeAdapter$1 -> com.android.tools.r8.internal.FV:
    1:1:void <init>():39:39 -> <init>
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):42:42 -> a
com.android.tools.r8.com.google.gson.internal.bind.TimeTypeAdapter -> com.android.tools.r8.internal.yY:
    com.android.tools.r8.com.google.gson.TypeAdapterFactory FACTORY -> b
    java.text.DateFormat format -> a
    1:1:void <clinit>():41:41 -> <clinit>
    1:9:void <init>():40:48 -> <init>
    1:1:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):40:40 -> a
    2:10:java.sql.Time com.android.tools.r8.com.google.gson.internal.bind.TimeTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):51:59 -> a
    2:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):40 -> a
    11:11:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):40:40 -> a
    12:12:void com.android.tools.r8.com.google.gson.internal.bind.TimeTypeAdapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.sql.Time):64:64 -> a
    12:12:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):40 -> a
com.android.tools.r8.com.google.gson.internal.bind.TimeTypeAdapter$1 -> com.android.tools.r8.internal.xY:
    1:1:void <init>():41:41 -> <init>
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):44:44 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper -> com.android.tools.r8.internal.pZ:
    java.lang.reflect.Type type -> c
    com.android.tools.r8.com.google.gson.TypeAdapter delegate -> b
    com.android.tools.r8.com.google.gson.Gson context -> a
    1:4:void <init>(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.TypeAdapter,java.lang.reflect.Type):33:36 -> <init>
    1:1:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):41:41 -> a
    2:3:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):53:54 -> a
    4:6:java.lang.reflect.Type com.android.tools.r8.com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.getRuntimeTypeIfMoreSpecific(java.lang.reflect.Type,java.lang.Object):76:78 -> a
    4:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):54 -> a
    7:21:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):55:69 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters -> com.android.tools.r8.internal.b00:
    com.android.tools.r8.com.google.gson.TypeAdapter FLOAT -> l
    com.android.tools.r8.com.google.gson.TypeAdapterFactory URL_FACTORY -> u
    com.android.tools.r8.com.google.gson.TypeAdapterFactory STRING_BUILDER_FACTORY -> s
    com.android.tools.r8.com.google.gson.TypeAdapter BIG_DECIMAL -> p
    com.android.tools.r8.com.google.gson.TypeAdapterFactory CURRENCY_FACTORY -> y
    com.android.tools.r8.com.google.gson.TypeAdapterFactory INET_ADDRESS_FACTORY -> w
    com.android.tools.r8.com.google.gson.TypeAdapter JSON_ELEMENT -> C
    com.android.tools.r8.com.google.gson.TypeAdapterFactory CHARACTER_FACTORY -> o
    com.android.tools.r8.com.google.gson.TypeAdapterFactory JSON_ELEMENT_FACTORY -> D
    com.android.tools.r8.com.google.gson.TypeAdapterFactory BYTE_FACTORY -> e
    com.android.tools.r8.com.google.gson.TypeAdapterFactory LOCALE_FACTORY -> B
    com.android.tools.r8.com.google.gson.TypeAdapterFactory ATOMIC_BOOLEAN_FACTORY -> i
    com.android.tools.r8.com.google.gson.TypeAdapterFactory INTEGER_FACTORY -> g
    com.android.tools.r8.com.google.gson.TypeAdapterFactory TIMESTAMP_FACTORY -> z
    com.android.tools.r8.com.google.gson.TypeAdapterFactory CLASS_FACTORY -> a
    com.android.tools.r8.com.google.gson.TypeAdapterFactory STRING_BUFFER_FACTORY -> t
    com.android.tools.r8.com.google.gson.TypeAdapter DOUBLE -> m
    com.android.tools.r8.com.google.gson.TypeAdapterFactory STRING_FACTORY -> r
    com.android.tools.r8.com.google.gson.TypeAdapter LONG -> k
    com.android.tools.r8.com.google.gson.TypeAdapterFactory UUID_FACTORY -> x
    com.android.tools.r8.com.google.gson.TypeAdapter BIG_INTEGER -> q
    com.android.tools.r8.com.google.gson.TypeAdapterFactory URI_FACTORY -> v
    com.android.tools.r8.com.google.gson.TypeAdapterFactory ATOMIC_INTEGER_ARRAY_FACTORY -> j
    com.android.tools.r8.com.google.gson.TypeAdapter BOOLEAN_AS_STRING -> c
    com.android.tools.r8.com.google.gson.TypeAdapterFactory NUMBER_FACTORY -> n
    com.android.tools.r8.com.google.gson.TypeAdapterFactory BOOLEAN_FACTORY -> d
    com.android.tools.r8.com.google.gson.TypeAdapterFactory ENUM_FACTORY -> E
    com.android.tools.r8.com.google.gson.TypeAdapterFactory BIT_SET_FACTORY -> b
    com.android.tools.r8.com.google.gson.TypeAdapterFactory ATOMIC_INTEGER_FACTORY -> h
    com.android.tools.r8.com.google.gson.TypeAdapterFactory SHORT_FACTORY -> f
    com.android.tools.r8.com.google.gson.TypeAdapterFactory CALENDAR_FACTORY -> A
    1:1:void <clinit>():69:69 -> <clinit>
    2:2:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    2:2:void <clinit>():90 -> <clinit>
    3:5:void <clinit>():90:92 -> <clinit>
    6:6:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    6:6:void <clinit>():149 -> <clinit>
    7:45:void <clinit>():149:187 -> <clinit>
    46:46:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> <clinit>
    46:46:void <clinit>():188 -> <clinit>
    47:69:void <clinit>():188:210 -> <clinit>
    70:70:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> <clinit>
    70:70:void <clinit>():211 -> <clinit>
    71:92:void <clinit>():211:232 -> <clinit>
    93:93:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> <clinit>
    93:93:void <clinit>():233 -> <clinit>
    94:114:void <clinit>():233:253 -> <clinit>
    115:115:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> <clinit>
    115:115:void <clinit>():254 -> <clinit>
    116:129:void <clinit>():254:267 -> <clinit>
    130:130:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    130:130:void <clinit>():269 -> <clinit>
    131:140:void <clinit>():269:278 -> <clinit>
    141:141:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    141:141:void <clinit>():280 -> <clinit>
    142:171:void <clinit>():280:309 -> <clinit>
    172:172:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    172:172:void <clinit>():311 -> <clinit>
    173:224:void <clinit>():311:362 -> <clinit>
    225:225:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    225:225:void <clinit>():382 -> <clinit>
    226:247:void <clinit>():382:403 -> <clinit>
    248:248:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> <clinit>
    248:248:void <clinit>():404 -> <clinit>
    249:289:void <clinit>():404:444 -> <clinit>
    290:290:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    290:290:void <clinit>():462 -> <clinit>
    291:293:void <clinit>():462:464 -> <clinit>
    294:294:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    294:294:void <clinit>():480 -> <clinit>
    295:297:void <clinit>():480:482 -> <clinit>
    298:298:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    298:298:void <clinit>():498 -> <clinit>
    299:301:void <clinit>():498:500 -> <clinit>
    302:302:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    302:302:void <clinit>():516 -> <clinit>
    303:305:void <clinit>():516:518 -> <clinit>
    306:306:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    306:306:void <clinit>():538 -> <clinit>
    307:309:void <clinit>():538:540 -> <clinit>
    310:310:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newTypeHierarchyFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):897:897 -> <clinit>
    310:310:void <clinit>():557 -> <clinit>
    311:313:void <clinit>():557:559 -> <clinit>
    314:314:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    314:314:void <clinit>():574 -> <clinit>
    315:326:void <clinit>():574:585 -> <clinit>
    327:327:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    327:327:void <clinit>():586 -> <clinit>
    328:351:void <clinit>():586:609 -> <clinit>
    352:352:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactoryForMultipleTypes(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):878:878 -> <clinit>
    352:352:void <clinit>():675 -> <clinit>
    353:355:void <clinit>():675:677 -> <clinit>
    356:356:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <clinit>
    356:356:void <clinit>():712 -> <clinit>
    357:359:void <clinit>():712:714 -> <clinit>
    360:360:com.android.tools.r8.com.google.gson.TypeAdapterFactory com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters.newTypeHierarchyFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):897:897 -> <clinit>
    360:360:void <clinit>():787 -> <clinit>
    361:398:void <clinit>():787:824 -> <clinit>
    1:1:com.android.tools.r8.com.google.gson.TypeAdapterFactory newFactory(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> a
    2:2:com.android.tools.r8.com.google.gson.TypeAdapterFactory newFactory(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1 -> com.android.tools.r8.internal.AZ:
    1:1:void <init>():69:69 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69:69 -> a
    2:4:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Class):73:75 -> a
    2:4:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69 -> a
    5:5:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Class):75:75 -> a
    7:7:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69 -> a
    8:8:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Class):75:75 -> a
    8:8:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69 -> a
    9:9:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Class):75:75 -> a
    9:9:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69 -> a
    6:6:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Class):76:76 -> a
    6:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):69 -> a
    10:14:java.lang.Class com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$1.read(com.android.tools.r8.com.google.gson.stream.JsonReader):81:85 -> a
    10:14:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):69 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$10 -> com.android.tools.r8.internal.qZ:
    1:1:void <init>():282:282 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):282:282 -> a
    2:6:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$10.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicIntegerArray):303:307 -> a
    2:6:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):282 -> a
    7:21:java.util.concurrent.atomic.AtomicIntegerArray com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$10.read(com.android.tools.r8.com.google.gson.stream.JsonReader):284:298 -> a
    7:21:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):282 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$11 -> com.android.tools.r8.internal.rZ:
    1:1:void <init>():313:313 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):313:313 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$11.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):328:328 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):313 -> a
    3:10:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$11.read(com.android.tools.r8.com.google.gson.stream.JsonReader):316:323 -> a
    3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):313 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$12 -> com.android.tools.r8.internal.sZ:
    1:1:void <init>():332:332 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):332:332 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$12.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):343:343 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):332 -> a
    3:7:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$12.read(com.android.tools.r8.com.google.gson.stream.JsonReader):335:339 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):332 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$13 -> com.android.tools.r8.internal.tZ:
    1:1:void <init>():347:347 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):347:347 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$13.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):358:358 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):347 -> a
    3:7:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$13.read(com.android.tools.r8.com.google.gson.stream.JsonReader):350:354 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):347 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14 -> com.android.tools.r8.internal.uZ:
    1:1:void <init>():362:362 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):362:362 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):378:378 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):362 -> a
    3:11:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.read(com.android.tools.r8.com.google.gson.stream.JsonReader):365:373 -> a
    3:11:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
    12:12:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16,"2":17,"3":18}}
    16:16:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.read(com.android.tools.r8.com.google.gson.stream.JsonReader):373:373 -> a
    16:16:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
    17:17:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.read(com.android.tools.r8.com.google.gson.stream.JsonReader):373:373 -> a
    17:17:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
    18:18:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.read(com.android.tools.r8.com.google.gson.stream.JsonReader):373:373 -> a
    18:18:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
    13:13:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.read(com.android.tools.r8.com.google.gson.stream.JsonReader):373:373 -> a
    13:13:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
    14:14:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$14.read(com.android.tools.r8.com.google.gson.stream.JsonReader):371:371 -> a
    14:14:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):362 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15 -> com.android.tools.r8.internal.vZ:
    1:1:void <init>():384:384 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):384:384 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Character):399:399 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):384 -> a
    3:11:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):387:395 -> a
    3:11:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    12:12:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    12:12:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    13:13:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":15,"2":16,"3":17,"4":18,"5":19}}
    15:15:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    15:15:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    16:16:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    16:16:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    17:17:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    17:17:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    18:18:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    18:18:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    19:19:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    19:19:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
    14:14:java.lang.Character com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$15.read(com.android.tools.r8.com.google.gson.stream.JsonReader):393:393 -> a
    14:14:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):384 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$16 -> com.android.tools.r8.internal.wZ:
    1:1:void <init>():406:406 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):406:406 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$16.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.String):422:422 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):406 -> a
    3:12:java.lang.String com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$16.read(com.android.tools.r8.com.google.gson.stream.JsonReader):409:418 -> a
    3:12:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):406 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$17 -> com.android.tools.r8.internal.xZ:
    1:1:void <init>():426:426 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):426:426 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$17.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.math.BigDecimal):440:440 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):426 -> a
    3:10:java.math.BigDecimal com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$17.read(com.android.tools.r8.com.google.gson.stream.JsonReader):428:435 -> a
    3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):426 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$18 -> com.android.tools.r8.internal.yZ:
    1:1:void <init>():444:444 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):444:444 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$18.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.math.BigInteger):458:458 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):444 -> a
    3:10:java.math.BigInteger com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$18.read(com.android.tools.r8.com.google.gson.stream.JsonReader):446:453 -> a
    3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):444 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$19 -> com.android.tools.r8.internal.zZ:
    1:1:void <init>():464:464 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):464:464 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$19.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.StringBuilder):475:475 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):464 -> a
    3:7:java.lang.StringBuilder com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$19.read(com.android.tools.r8.com.google.gson.stream.JsonReader):467:471 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):464 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2 -> com.android.tools.r8.internal.MZ:
    1:1:void <init>():92:92 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):92:92 -> a
    2:11:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.BitSet):136:145 -> a
    2:11:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):92 -> a
    12:40:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):94:122 -> a
    12:40:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    41:41:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":82,"2":83,"3":84}}
    82:82:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):122:122 -> a
    82:82:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    83:83:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):122:122 -> a
    83:83:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    84:84:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):122:122 -> a
    84:84:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    42:42:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):122:122 -> a
    42:42:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    43:43:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):110:110 -> a
    43:43:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    44:65:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):107:128 -> a
    44:65:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    66:66:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:117 -> a
    66:66:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    67:67:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":85,"2":86,"3":87,"4":88,"5":89}}
    85:85:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:117 -> a
    85:85:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    86:86:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:117 -> a
    86:86:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    87:87:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:117 -> a
    87:87:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    88:88:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:117 -> a
    88:88:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    89:89:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:117 -> a
    89:89:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
    68:81:java.util.BitSet com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$2.read(com.android.tools.r8.com.google.gson.stream.JsonReader):117:130 -> a
    68:81:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):92 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$20 -> com.android.tools.r8.internal.BZ:
    1:1:void <init>():482:482 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):482:482 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$20.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.StringBuffer):493:493 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):482 -> a
    3:7:java.lang.StringBuffer com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$20.read(com.android.tools.r8.com.google.gson.stream.JsonReader):485:489 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):482 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$21 -> com.android.tools.r8.internal.CZ:
    1:1:void <init>():500:500 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):500:500 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$21.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.net.URL):512:512 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):500 -> a
    3:8:java.net.URL com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$21.read(com.android.tools.r8.com.google.gson.stream.JsonReader):503:508 -> a
    3:8:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):500 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$22 -> com.android.tools.r8.internal.DZ:
    1:1:void <init>():518:518 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):518:518 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$22.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.net.URI):534:534 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):518 -> a
    3:11:java.net.URI com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$22.read(com.android.tools.r8.com.google.gson.stream.JsonReader):521:529 -> a
    3:11:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):518 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$23 -> com.android.tools.r8.internal.EZ:
    1:1:void <init>():540:540 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):540:540 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$23.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.net.InetAddress):552:552 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):540 -> a
    3:8:java.net.InetAddress com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$23.read(com.android.tools.r8.com.google.gson.stream.JsonReader):543:548 -> a
    3:8:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):540 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$24 -> com.android.tools.r8.internal.FZ:
    1:1:void <init>():559:559 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):559:559 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$24.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.UUID):570:570 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):559 -> a
    3:7:java.util.UUID com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$24.read(com.android.tools.r8.com.google.gson.stream.JsonReader):562:566 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):559 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$25 -> com.android.tools.r8.internal.GZ:
    1:1:void <init>():576:576 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):576:576 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$25.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Currency):583:583 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):576 -> a
    3:3:java.util.Currency com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$25.read(com.android.tools.r8.com.google.gson.stream.JsonReader):579:579 -> a
    3:3:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):576 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26 -> com.android.tools.r8.internal.IZ:
    1:1:void <init>():588:588 -> <init>
    1:5:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):591:595 -> a
    6:6:com.android.tools.r8.com.google.gson.TypeAdapter com.android.tools.r8.com.google.gson.Gson.getAdapter(java.lang.Class):521:521 -> a
    6:6:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):595 -> a
    7:7:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):596:596 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26$1 -> com.android.tools.r8.internal.HZ:
    com.android.tools.r8.com.google.gson.TypeAdapter val$dateTypeAdapter -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26,com.android.tools.r8.com.google.gson.TypeAdapter):596:596 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):596:596 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26$1.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.sql.Timestamp):603:603 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):596 -> a
    3:4:java.sql.Timestamp com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$26$1.read(com.android.tools.r8.com.google.gson.stream.JsonReader):598:599 -> a
    3:4:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):596 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$27 -> com.android.tools.r8.internal.JZ:
    1:1:void <init>():609:609 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):609:609 -> a
    2:18:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$27.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Calendar):654:670 -> a
    2:18:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):609 -> a
    19:48:java.util.Calendar com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$27.read(com.android.tools.r8.com.google.gson.stream.JsonReader):619:648 -> a
    19:48:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):609 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$28 -> com.android.tools.r8.internal.KZ:
    1:1:void <init>():677:677 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):677:677 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$28.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.Locale):708:708 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):677 -> a
    3:26:java.util.Locale com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$28.read(com.android.tools.r8.com.google.gson.stream.JsonReader):680:703 -> a
    3:26:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):677 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$29 -> com.android.tools.r8.internal.LZ:
    1:1:void <init>():714:714 -> <init>
    1:1:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonNull():74:74 -> a
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):753 -> a
    2:2:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonPrimitive():64:64 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):755 -> a
    3:3:com.android.tools.r8.com.google.gson.JsonPrimitive com.android.tools.r8.com.google.gson.JsonElement.getAsJsonPrimitive():120:120 -> a
    3:3:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):756 -> a
    4:9:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):757:762 -> a
    10:10:com.android.tools.r8.com.google.gson.JsonPrimitive com.android.tools.r8.com.google.gson.JsonElement.getAsJsonPrimitive():122:122 -> a
    10:10:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):756 -> a
    11:11:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonArray():46:46 -> a
    11:11:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):765 -> a
    12:16:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):766:770 -> a
    17:17:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> a
    17:17:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):772 -> a
    18:26:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):773:781 -> a
    27:27:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":836,"2":837,"3":838}}
    836:836:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):781:781 -> a
    837:837:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):781:781 -> a
    838:838:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):781:781 -> a
    808:808:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):781:781 -> a
    809:809:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,com.android.tools.r8.com.google.gson.JsonElement):754:754 -> a
    839:839:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):714:714 -> a
    840:840:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):714:714 -> a
    1:33:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):716:748 -> b
    34:35:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):725:726 -> b
    36:36:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):723:723 -> b
    37:38:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):720:721 -> b
    39:62:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):718:741 -> b
    63:68:com.android.tools.r8.com.google.gson.JsonElement read(com.android.tools.r8.com.google.gson.stream.JsonReader):728:733 -> b
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$3 -> com.android.tools.r8.internal.TZ:
    1:1:void <init>():151:151 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):151:151 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$3.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Boolean):165:165 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):151 -> a
    3:10:java.lang.Boolean com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$3.read(com.android.tools.r8.com.google.gson.stream.JsonReader):154:161 -> a
    3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):151 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$30 -> com.android.tools.r8.internal.NZ:
    1:1:void <init>():824:824 -> <init>
    1:8:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):827:834 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$32 -> com.android.tools.r8.internal.OZ:
    com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> c
    java.lang.Class val$type -> b
    1:1:void <init>(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):850:850 -> <init>
    1:1:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):853:853 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":858,"2":859,"3":860}}
    858:858:java.lang.String toString():856:856 -> toString
    859:859:java.lang.String toString():856:856 -> toString
    860:860:java.lang.String toString():856:856 -> toString
    857:857:java.lang.String toString():856:856 -> toString
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$33 -> com.android.tools.r8.internal.PZ:
    com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> d
    java.lang.Class val$unboxed -> b
    java.lang.Class val$boxed -> c
    1:1:void <init>(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):863:863 -> <init>
    1:2:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):866:867 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":873,"2":874,"3":875}}
    873:873:java.lang.String toString():870:870 -> toString
    874:874:java.lang.String toString():870:870 -> toString
    875:875:java.lang.String toString():870:870 -> toString
    871:872:java.lang.String toString():870:871 -> toString
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$34 -> com.android.tools.r8.internal.QZ:
    com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> d
    java.lang.Class val$base -> b
    java.lang.Class val$sub -> c
    1:1:void <init>(java.lang.Class,java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):878:878 -> <init>
    1:2:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):881:882 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":888,"2":889,"3":890}}
    888:888:java.lang.String toString():885:885 -> toString
    889:889:java.lang.String toString():885:885 -> toString
    890:890:java.lang.String toString():885:885 -> toString
    886:887:java.lang.String toString():885:886 -> toString
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35 -> com.android.tools.r8.internal.SZ:
    com.android.tools.r8.com.google.gson.TypeAdapter val$typeAdapter -> c
    java.lang.Class val$clazz -> b
    1:1:void <init>(java.lang.Class,com.android.tools.r8.com.google.gson.TypeAdapter):897:897 -> <init>
    1:5:com.android.tools.r8.com.google.gson.TypeAdapter create(com.android.tools.r8.com.google.gson.Gson,com.android.tools.r8.com.google.gson.reflect.TypeToken):900:904 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":922,"2":923,"3":924}}
    922:922:java.lang.String toString():920:920 -> toString
    923:923:java.lang.String toString():920:920 -> toString
    924:924:java.lang.String toString():920:920 -> toString
    921:921:java.lang.String toString():920:920 -> toString
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35$1 -> com.android.tools.r8.internal.RZ:
    com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35 this$0 -> b
    java.lang.Class val$requestedType -> a
    1:1:void <init>(com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$35,java.lang.Class):904:904 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):906:906 -> a
    2:4:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):910:912 -> a
    5:5:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":919,"2":920,"3":921}}
    919:919:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):912:912 -> a
    920:920:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):912:912 -> a
    921:921:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):912:912 -> a
    917:918:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):912:913 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$4 -> com.android.tools.r8.internal.UZ:
    1:1:void <init>():173:173 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):173:173 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$4.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Boolean):183:183 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):173 -> a
    3:7:java.lang.Boolean com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$4.read(com.android.tools.r8.com.google.gson.stream.JsonReader):175:179 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):173 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$5 -> com.android.tools.r8.internal.VZ:
    1:1:void <init>():190:190 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):190:190 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$5.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):206:206 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):190 -> a
    3:11:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$5.read(com.android.tools.r8.com.google.gson.stream.JsonReader):193:201 -> a
    3:11:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):190 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$6 -> com.android.tools.r8.internal.WZ:
    1:1:void <init>():213:213 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):213:213 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$6.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):228:228 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):213 -> a
    3:10:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$6.read(com.android.tools.r8.com.google.gson.stream.JsonReader):216:223 -> a
    3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):213 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$7 -> com.android.tools.r8.internal.XZ:
    1:1:void <init>():235:235 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):235:235 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$7.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Number):250:250 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):235 -> a
    3:10:java.lang.Number com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$7.read(com.android.tools.r8.com.google.gson.stream.JsonReader):238:245 -> a
    3:10:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):235 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$8 -> com.android.tools.r8.internal.YZ:
    1:1:void <init>():256:256 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):256:256 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$8.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicInteger):265:265 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):256 -> a
    3:5:java.util.concurrent.atomic.AtomicInteger com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$8.read(com.android.tools.r8.com.google.gson.stream.JsonReader):259:261 -> a
    3:5:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):256 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$9 -> com.android.tools.r8.internal.ZZ:
    1:1:void <init>():271:271 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):271:271 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$9.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.util.concurrent.atomic.AtomicBoolean):276:276 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):271 -> a
    3:3:java.util.concurrent.atomic.AtomicBoolean com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$9.read(com.android.tools.r8.com.google.gson.stream.JsonReader):273:273 -> a
    3:3:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):271 -> a
com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter -> com.android.tools.r8.internal.a00:
    java.util.Map nameToConstant -> a
    java.util.Map constantToName -> b
    1:1:void <init>(java.lang.Class):793:793 -> <init>
    2:20:void <init>(java.lang.Class):790:808 -> <init>
    1:1:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):789:789 -> a
    2:2:void com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Enum):820:820 -> a
    2:2:void write(com.android.tools.r8.com.google.gson.stream.JsonWriter,java.lang.Object):789 -> a
    3:7:java.lang.Enum com.android.tools.r8.com.google.gson.internal.bind.TypeAdapters$EnumTypeAdapter.read(com.android.tools.r8.com.google.gson.stream.JsonReader):812:816 -> a
    3:7:java.lang.Object read(com.android.tools.r8.com.google.gson.stream.JsonReader):789 -> a
com.android.tools.r8.com.google.gson.internal.bind.util.ISO8601Utils -> com.android.tools.r8.internal.In:
    java.util.TimeZone TIMEZONE_UTC -> a
    1:1:void <clinit>():30:30 -> <clinit>
    1:52:java.util.Date parse(java.lang.String,java.text.ParsePosition):126:177 -> a
    53:57:int com.android.tools.r8.com.google.gson.internal.bind.util.ISO8601Utils.indexOfNonDigit(java.lang.String,int):345:349 -> a
    53:57:java.util.Date parse(java.lang.String,java.text.ParsePosition):179 -> a
    58:123:java.util.Date parse(java.lang.String,java.text.ParsePosition):180:245 -> a
    124:153:java.util.Date parse(java.lang.String,java.text.ParsePosition):211:240 -> a
    154:194:java.util.Date parse(java.lang.String,java.text.ParsePosition):219:259 -> a
    195:265:java.util.Date parse(java.lang.String,java.text.ParsePosition):201:271 -> a
    266:266:java.util.Date parse(java.lang.String,java.text.ParsePosition):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":818,"2":819,"3":820}}
    818:818:java.util.Date parse(java.lang.String,java.text.ParsePosition):272:272 -> a
    819:819:java.util.Date parse(java.lang.String,java.text.ParsePosition):272:272 -> a
    820:820:java.util.Date parse(java.lang.String,java.text.ParsePosition):272:272 -> a
    538:540:java.util.Date parse(java.lang.String,java.text.ParsePosition):272:274 -> a
    541:541:java.util.Date parse(java.lang.String,java.text.ParsePosition):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":822,"2":823,"3":824,"4":825,"5":826,"6":827,"7":828}}
    822:822:java.util.Date parse(java.lang.String,java.text.ParsePosition):274:274 -> a
    823:823:java.util.Date parse(java.lang.String,java.text.ParsePosition):274:274 -> a
    824:824:java.util.Date parse(java.lang.String,java.text.ParsePosition):274:274 -> a
    825:825:java.util.Date parse(java.lang.String,java.text.ParsePosition):274:274 -> a
    826:826:java.util.Date parse(java.lang.String,java.text.ParsePosition):274:274 -> a
    827:827:java.util.Date parse(java.lang.String,java.text.ParsePosition):274:274 -> a
    828:828:java.util.Date parse(java.lang.String,java.text.ParsePosition):274:274 -> a
    815:817:java.util.Date parse(java.lang.String,java.text.ParsePosition):274:276 -> a
    829:829:boolean checkOffset(java.lang.String,int,char):288:288 -> a
    830:840:int parseInt(java.lang.String,int,int):301:311 -> a
    841:841:int parseInt(java.lang.String,int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1488,"2":1489,"3":1490}}
    1488:1488:int parseInt(java.lang.String,int,int):311:311 -> a
    1489:1489:int parseInt(java.lang.String,int,int):311:311 -> a
    1490:1490:int parseInt(java.lang.String,int,int):311:311 -> a
    1152:1159:int parseInt(java.lang.String,int,int):311:318 -> a
    1160:1160:int parseInt(java.lang.String,int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1497,"2":1498,"3":1499}}
    1497:1497:int parseInt(java.lang.String,int,int):318:318 -> a
    1498:1498:int parseInt(java.lang.String,int,int):318:318 -> a
    1499:1499:int parseInt(java.lang.String,int,int):318:318 -> a
    1478:1478:int parseInt(java.lang.String,int,int):318:318 -> a
    1479:1479:int parseInt(java.lang.String,int,int):302:302 -> a
com.android.tools.r8.com.google.gson.reflect.TypeToken -> com.android.tools.r8.internal.r00:
    java.lang.reflect.Type type -> b
    java.lang.Class rawType -> a
    int hashCode -> c
    1:4:void <init>():61:64 -> <init>
    5:8:void <init>(java.lang.reflect.Type):71:74 -> <init>
    1:1:java.lang.Class getRawType():94:94 -> a
    2:2:com.android.tools.r8.com.google.gson.reflect.TypeToken get(java.lang.reflect.Type):296:296 -> a
    3:3:com.android.tools.r8.com.google.gson.reflect.TypeToken get(java.lang.Class):303:303 -> a
    1:6:java.lang.reflect.Type getSuperclassTypeParameter(java.lang.Class):82:87 -> b
    7:7:java.lang.reflect.Type getSuperclassTypeParameter(java.lang.Class):84:84 -> b
    8:8:java.lang.reflect.Type getType():101:101 -> b
    1:2:boolean equals(java.lang.Object):284:285 -> equals
    1:1:int hashCode():280:280 -> hashCode
    1:1:java.lang.String toString():289:289 -> toString
com.android.tools.r8.com.google.gson.stream.JsonReader -> com.android.tools.r8.internal.Pv:
    long peekedLong -> j
    int stackSize -> n
    char[] buffer -> d
    int peekedNumberLength -> k
    int lineStart -> h
    int peeked -> i
    java.lang.String peekedString -> l
    int limit -> f
    java.io.Reader in -> b
    int lineNumber -> g
    int pos -> e
    char[] NON_EXECUTE_PREFIX -> q
    java.lang.String[] pathNames -> o
    int[] pathIndices -> p
    boolean lenient -> c
    int[] stack -> m
    1:1394:void <clinit>():192:1585 -> <clinit>
    1:1:void <init>(java.io.Reader):289:289 -> <init>
    2:65:void <init>(java.io.Reader):230:293 -> <init>
    1:1:java.lang.String access$000(com.android.tools.r8.com.google.gson.stream.JsonReader):190:190 -> a
    2:11:void beginArray():341:350 -> a
    12:12:void beginArray():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":363,"2":364,"3":365}}
    363:363:void beginArray():350:350 -> a
    364:364:void beginArray():350:350 -> a
    365:365:void beginArray():350:350 -> a
    362:362:void beginArray():350:350 -> a
    366:396:java.lang.String nextQuotedValue(char):987:1017 -> a
    397:414:boolean fillBuffer(int):1276:1293 -> a
    415:489:int nextNonWhitespace(boolean):1319:1393 -> a
    490:490:int nextNonWhitespace(boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1982,"2":1983,"3":1984}}
    1982:1982:int nextNonWhitespace(boolean):1393:1393 -> a
    1983:1983:int nextNonWhitespace(boolean):1393:1393 -> a
    1984:1984:int nextNonWhitespace(boolean):1393:1393 -> a
    1883:1883:int nextNonWhitespace(boolean):1393:1393 -> a
    1884:1923:int nextNonWhitespace(boolean):1328:1367 -> a
    1924:1928:void com.android.tools.r8.com.google.gson.stream.JsonReader.skipToEndOfLine():1411:1415 -> a
    1924:1928:int nextNonWhitespace(boolean):1368 -> a
    1929:1930:int nextNonWhitespace(boolean):1369:1370 -> a
    1931:1932:int nextNonWhitespace(boolean):1357:1358 -> a
    1933:1941:boolean com.android.tools.r8.com.google.gson.stream.JsonReader.skipTo(java.lang.String):1428:1428 -> a
    1933:1941:int nextNonWhitespace(boolean):1358 -> a
    1942:1943:int nextNonWhitespace(boolean):1361:1362 -> a
    1944:1968:int nextNonWhitespace(boolean):1359:1383 -> a
    1969:1973:void com.android.tools.r8.com.google.gson.stream.JsonReader.skipToEndOfLine():1411:1415 -> a
    1969:1973:int nextNonWhitespace(boolean):1384 -> a
    1974:1977:int nextNonWhitespace(boolean):1385:1388 -> a
    1985:1985:java.io.IOException syntaxError(java.lang.String):1559:1559 -> a
    1986:1986:java.io.IOException syntaxError(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3546,"2":3547,"3":3548}}
    3546:3546:java.io.IOException syntaxError(java.lang.String):1559:1559 -> a
    3547:3547:java.io.IOException syntaxError(java.lang.String):1559:1559 -> a
    3548:3548:java.io.IOException syntaxError(java.lang.String):1559:1559 -> a
    3545:3545:java.io.IOException syntaxError(java.lang.String):1559:1559 -> a
    1:1:void setLenient(boolean):326:326 -> b
    2:10:void beginObject():377:385 -> b
    11:11:void beginObject():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":397,"2":398,"3":399}}
    397:397:void beginObject():385:385 -> b
    398:398:void beginObject():385:385 -> b
    399:399:void beginObject():385:385 -> b
    396:396:void beginObject():385:385 -> b
    400:422:void skipQuotedValue(char):1089:1111 -> b
    423:434:void push(int):1256:1267 -> b
    1:2:void checkLenient():1400:1401 -> c
    1:4:void close():1208:1211 -> close
    1:15:int doPeek():462:476 -> d
    16:77:int doPeek():472:533 -> d
    78:92:void com.android.tools.r8.com.google.gson.stream.JsonReader.consumeNonExecutePrefix():1567:1581 -> d
    78:92:int doPeek():534 -> d
    93:133:int doPeek():536:576 -> d
    134:148:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekKeyword():599:613 -> d
    134:148:int doPeek():579 -> d
    149:150:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekKeyword():608:609 -> d
    149:150:int doPeek():579 -> d
    151:178:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekKeyword():604:631 -> d
    151:178:int doPeek():579 -> d
    179:179:boolean com.android.tools.r8.com.google.gson.stream.JsonReader.isLiteral(char):751:751 -> d
    179:179:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekKeyword():632 -> d
    179:179:int doPeek():579 -> d
    180:181:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekKeyword():637:638 -> d
    180:181:int doPeek():579 -> d
    182:208:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekNumber():643:669 -> d
    182:208:int doPeek():584 -> d
    209:209:boolean com.android.tools.r8.com.google.gson.stream.JsonReader.isLiteral(char):751:751 -> d
    209:209:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekNumber():706 -> d
    209:209:int doPeek():584 -> d
    210:216:int com.android.tools.r8.com.google.gson.stream.JsonReader.peekNumber():732:738 -> d
    210:216:int doPeek():584 -> d
    217:217:int doPeek():589:589 -> d
    218:218:boolean com.android.tools.r8.com.google.gson.stream.JsonReader.isLiteral(char):751:751 -> d
    218:218:int doPeek():589 -> d
    219:220:int doPeek():593:594 -> d
    221:221:int doPeek():590:590 -> d
    222:222:int doPeek():574:574 -> d
    223:242:int doPeek():553:572 -> d
    243:243:int doPeek():564:564 -> d
    244:254:int doPeek():560:570 -> d
    255:255:int doPeek():546:546 -> d
    256:268:int doPeek():479:491 -> d
    269:291:int doPeek():487:509 -> d
    292:292:boolean com.android.tools.r8.com.google.gson.stream.JsonReader.isLiteral(char):751:751 -> d
    292:292:int doPeek():510 -> d
    293:295:int doPeek():511:513 -> d
    296:298:int doPeek():503:505 -> d
    299:300:int doPeek():499:500 -> d
    301:301:int doPeek():497:497 -> d
    1:10:void endArray():359:368 -> e
    11:11:void endArray():0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":380,"2":381,"3":382}}
    380:380:void endArray():368:368 -> e
    381:381:void endArray():368:368 -> e
    382:382:void endArray():368:368 -> e
    379:379:void endArray():368:368 -> e
    1:11:void endObject():394:404 -> f
    12:12:void endObject():0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":417,"2":418,"3":419}}
    417:417:void endObject():404:404 -> f
    418:418:void endObject():404:404 -> f
    419:419:void endObject():404:404 -> f
    416:416:void endObject():404:404 -> f
    1:3:boolean hasNext():412:414 -> g
    1:1:boolean isLenient():333:333 -> h
    1:3:java.lang.String locationString():1449:1451 -> i
    4:17:java.lang.String com.android.tools.r8.com.google.gson.stream.JsonReader.getPath():1459:1472 -> i
    4:17:java.lang.String locationString():1451 -> i
    18:36:java.lang.String com.android.tools.r8.com.google.gson.stream.JsonReader.getPath():1464:1482 -> i
    18:36:java.lang.String locationString():1451 -> i
    37:37:java.lang.String locationString():1451:1451 -> i
    1:14:boolean nextBoolean():840:853 -> j
    15:15:boolean nextBoolean():0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":869,"2":870,"3":871}}
    869:869:boolean nextBoolean():853:853 -> j
    870:870:boolean nextBoolean():853:853 -> j
    871:871:boolean nextBoolean():853:853 -> j
    868:868:boolean nextBoolean():853:853 -> j
    1:20:double nextDouble():886:905 -> k
    21:21:double nextDouble():0:0 -> k
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":943,"2":944,"3":945}}
    943:943:double nextDouble():905:905 -> k
    944:944:double nextDouble():905:905 -> k
    945:945:double nextDouble():905:905 -> k
    926:926:double nextDouble():905:905 -> k
    927:942:double nextDouble():901:916 -> k
    1:13:int nextInt():1155:1167 -> l
    14:14:int nextInt():1164:1164 -> l
    15:15:int nextInt():0:0 -> l
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3618,"2":3619,"3":3620}}
    3618:3618:int nextInt():1164:1164 -> l
    3619:3619:int nextInt():1164:1164 -> l
    3620:3620:int nextInt():1164:1164 -> l
    1179:1204:int nextInt():1164:1189 -> l
    1205:1205:int nextInt():0:0 -> l
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3645,"2":3646,"3":3647}}
    3645:3645:int nextInt():1189:1189 -> l
    3646:3646:int nextInt():1189:1189 -> l
    3647:3647:int nextInt():1189:1189 -> l
    2394:2394:int nextInt():1189:1189 -> l
    2395:2419:int nextInt():1176:1200 -> l
    2420:2420:int nextInt():1196:1196 -> l
    2421:2421:int nextInt():0:0 -> l
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3654,"2":3655,"3":3656}}
    3654:3654:int nextInt():1196:1196 -> l
    3655:3655:int nextInt():1196:1196 -> l
    3656:3656:int nextInt():1196:1196 -> l
    3617:3617:int nextInt():1196:1196 -> l
    1:30:long nextLong():931:960 -> m
    31:31:long nextLong():0:0 -> m
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1986,"2":1987,"3":1988}}
    1986:1986:long nextLong():960:960 -> m
    1987:1987:long nextLong():960:960 -> m
    1988:1988:long nextLong():960:960 -> m
    991:991:long nextLong():960:960 -> m
    992:1016:long nextLong():947:971 -> m
    1017:1017:long nextLong():967:967 -> m
    1018:1018:long nextLong():0:0 -> m
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1995,"2":1996,"3":1997}}
    1995:1995:long nextLong():967:967 -> m
    1996:1996:long nextLong():967:967 -> m
    1997:1997:long nextLong():967:967 -> m
    1985:1985:long nextLong():967:967 -> m
    1:16:java.lang.String nextName():777:792 -> n
    17:17:java.lang.String nextName():789:789 -> n
    18:18:java.lang.String nextName():0:0 -> n
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":808,"2":809,"3":810}}
    808:808:java.lang.String nextName():789:789 -> n
    809:809:java.lang.String nextName():789:789 -> n
    810:810:java.lang.String nextName():789:789 -> n
    807:807:java.lang.String nextName():789:789 -> n
    1:9:void nextNull():864:872 -> o
    10:10:void nextNull():0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":883,"2":884,"3":885}}
    883:883:void nextNull():872:872 -> o
    884:884:void nextNull():872:872 -> o
    885:885:void nextNull():872:872 -> o
    882:882:void nextNull():872:872 -> o
    1:24:java.lang.String nextString():805:828 -> p
    25:25:java.lang.String nextString():825:825 -> p
    26:26:java.lang.String nextString():0:0 -> p
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":852,"2":853,"3":854}}
    852:852:java.lang.String nextString():825:825 -> p
    853:853:java.lang.String nextString():825:825 -> p
    854:854:java.lang.String nextString():825:825 -> p
    851:851:java.lang.String nextString():825:825 -> p
    1:52:java.lang.String nextUnquotedValue():1032:1083 -> q
    1:35:com.android.tools.r8.com.google.gson.stream.JsonToken peek():423:457 -> r
    1:56:char readEscapeCharacter():1495:1550 -> s
    57:72:char readEscapeCharacter():1502:1517 -> s
    73:73:char readEscapeCharacter():0:0 -> s
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1614,"2":1615,"3":1616}}
    1614:1614:char readEscapeCharacter():1517:1517 -> s
    1615:1615:char readEscapeCharacter():1517:1517 -> s
    1616:1616:char readEscapeCharacter():1517:1517 -> s
    1590:1613:char readEscapeCharacter():1517:1540 -> s
    1:25:void skipValue():1222:1246 -> t
    26:26:void skipValue():1244:1244 -> t
    27:27:void skipValue():1242:1242 -> t
    28:52:void com.android.tools.r8.com.google.gson.stream.JsonReader.skipUnquotedValue():1117:1141 -> t
    28:52:void skipValue():1240 -> t
    53:57:void skipValue():1248:1252 -> t
    1:1:java.lang.String toString():1445:1445 -> toString
com.android.tools.r8.com.google.gson.stream.JsonReader$1 -> com.android.tools.r8.internal.Ov:
    1:1:void <init>():1585:1585 -> <init>
    1:12:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1591:1602 -> a
    13:13:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1617,"2":1618,"3":1619}}
    1617:1617:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1602:1602 -> a
    1618:1618:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1602:1602 -> a
    1619:1619:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1602:1602 -> a
    1616:1616:void promoteNameToValue(com.android.tools.r8.com.google.gson.stream.JsonReader):1603:1603 -> a
com.android.tools.r8.com.google.gson.stream.JsonToken$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Sv:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.com.google.gson.stream.JsonWriter -> com.android.tools.r8.internal.Vv:
    java.lang.String separator -> f
    java.lang.String[] HTML_SAFE_REPLACEMENT_CHARS -> l
    java.lang.String deferredName -> i
    int[] stack -> c
    boolean serializeNulls -> j
    java.lang.String[] REPLACEMENT_CHARS -> k
    java.io.Writer out -> b
    int stackSize -> d
    boolean lenient -> g
    boolean htmlSafe -> h
    java.lang.String indent -> e
    1:17:void <clinit>():145:161 -> <clinit>
    1:1:void <init>(java.io.Writer):197:197 -> <init>
    2:36:void <init>(java.io.Writer):167:201 -> <init>
    37:37:void <init>(java.io.Writer):199:199 -> <init>
    1:1:void setHtmlSafe(boolean):253:253 -> a
    2:7:void push(int):354:359 -> a
    8:11:int com.android.tools.r8.com.google.gson.stream.JsonWriter.peek():366:369 -> a
    8:11:void beforeValue():629 -> a
    12:12:void beforeValue():656:656 -> a
    13:14:void beforeValue():631:632 -> a
    15:15:void com.android.tools.r8.com.google.gson.stream.JsonWriter.replaceTop(int):376:376 -> a
    15:15:void beforeValue():637 -> a
    16:16:void beforeValue():651:651 -> a
    17:17:void com.android.tools.r8.com.google.gson.stream.JsonWriter.replaceTop(int):376:376 -> a
    17:17:void beforeValue():652 -> a
    18:19:void beforeValue():646:647 -> a
    20:20:void com.android.tools.r8.com.google.gson.stream.JsonWriter.replaceTop(int):376:376 -> a
    20:20:void beforeValue():641 -> a
    21:21:void beforeValue():642:642 -> a
    22:22:int com.android.tools.r8.com.google.gson.stream.JsonWriter.peek():367:367 -> a
    22:22:void beforeValue():629 -> a
    23:26:int com.android.tools.r8.com.google.gson.stream.JsonWriter.peek():366:369 -> a
    23:26:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):337 -> a
    27:37:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):339:349 -> a
    38:38:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):342:342 -> a
    39:39:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":383,"2":384,"3":385}}
    383:383:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):342:342 -> a
    384:384:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):342:342 -> a
    385:385:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):342:342 -> a
    381:381:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):342:342 -> a
    382:382:int com.android.tools.r8.com.google.gson.stream.JsonWriter.peek():367:367 -> a
    382:382:com.android.tools.r8.com.google.gson.stream.JsonWriter close(int,int,java.lang.String):337 -> a
    386:392:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):389:395 -> a
    393:393:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String) -> a
    394:394:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):390:390 -> a
    395:395:com.android.tools.r8.com.google.gson.stream.JsonWriter name(java.lang.String):387:387 -> a
    396:400:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.Boolean):478:482 -> a
    401:403:com.android.tools.r8.com.google.gson.stream.JsonWriter value(long):509:511 -> a
    404:414:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.Number):524:534 -> a
    1:1:void setLenient(boolean):235:235 -> b
    2:3:com.android.tools.r8.com.google.gson.stream.JsonWriter beginArray():287:288 -> b
    4:6:com.android.tools.r8.com.google.gson.stream.JsonWriter com.android.tools.r8.com.google.gson.stream.JsonWriter.open(int,java.lang.String):325:327 -> b
    4:6:com.android.tools.r8.com.google.gson.stream.JsonWriter beginArray():288 -> b
    7:35:void string(java.lang.String):565:593 -> b
    1:1:void setSerializeNulls(boolean):269:269 -> c
    2:3:com.android.tools.r8.com.google.gson.stream.JsonWriter beginObject():307:308 -> c
    4:6:com.android.tools.r8.com.google.gson.stream.JsonWriter com.android.tools.r8.com.google.gson.stream.JsonWriter.open(int,java.lang.String):325:327 -> c
    4:6:com.android.tools.r8.com.google.gson.stream.JsonWriter beginObject():308 -> c
    7:11:com.android.tools.r8.com.google.gson.stream.JsonWriter value(java.lang.String):415:419 -> c
    1:7:void close():555:561 -> close
    8:8:void close():559:559 -> close
    1:1:com.android.tools.r8.com.google.gson.stream.JsonWriter endArray():297:297 -> d
    2:4:com.android.tools.r8.com.google.gson.stream.JsonWriter value(boolean):465:467 -> d
    1:1:com.android.tools.r8.com.google.gson.stream.JsonWriter endObject():317:317 -> e
    1:1:boolean getSerializeNulls():277:277 -> f
    1:4:void flush():543:546 -> flush
    5:5:void flush():544:544 -> flush
    1:1:boolean isHtmlSafe():261:261 -> g
    1:1:boolean isLenient():242:242 -> h
    1:7:void newline():597:603 -> i
    1:10:com.android.tools.r8.com.google.gson.stream.JsonWriter nullValue():446:455 -> j
    1:219:void setIndent(java.lang.String):0:218 -> k
    1:1:void writeDeferredName():400:400 -> l
    2:5:int com.android.tools.r8.com.google.gson.stream.JsonWriter.peek():366:369 -> l
    2:5:void com.android.tools.r8.com.google.gson.stream.JsonWriter.beforeName():612 -> l
    2:5:void writeDeferredName():401 -> l
    6:10:void com.android.tools.r8.com.google.gson.stream.JsonWriter.beforeName():614:618 -> l
    6:10:void writeDeferredName():401 -> l
    11:11:void com.android.tools.r8.com.google.gson.stream.JsonWriter.replaceTop(int):376:376 -> l
    11:11:void com.android.tools.r8.com.google.gson.stream.JsonWriter.beforeName():619 -> l
    11:11:void writeDeferredName():401 -> l
    12:13:void writeDeferredName():402:403 -> l
    14:14:void com.android.tools.r8.com.google.gson.stream.JsonWriter.beforeName():616:616 -> l
    14:14:void writeDeferredName():401 -> l
    15:15:int com.android.tools.r8.com.google.gson.stream.JsonWriter.peek():367:367 -> l
    15:15:void com.android.tools.r8.com.google.gson.stream.JsonWriter.beforeName():612 -> l
    15:15:void writeDeferredName():401 -> l
com.android.tools.r8.com.google.gson.stream.MalformedJsonException -> com.android.tools.r8.internal.rD:
    1:1:void <init>(java.lang.String):29:29 -> <init>
com.android.tools.r8.compatproguard.CompatProguard -> com.android.tools.r8.compatproguard.CompatProguard:
    1:29:void run(java.lang.String[]):219:247 -> a
    1:29:void lambda$main$0(java.lang.String[]):251 -> a
    30:30:void run(java.lang.String[]):221:221 -> a
    30:30:void lambda$main$0(java.lang.String[]):251 -> a
    31:31:void printVersion():205:205 -> a
    31:31:void printHelp():209 -> a
    31:31:void run(java.lang.String[]):222 -> a
    31:31:void lambda$main$0(java.lang.String[]):251 -> a
    32:32:void lambda$main$0(java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":49,"2":50,"3":51}}
    49:49:void printVersion():205:205 -> a
    49:49:void printHelp():209 -> a
    49:49:void run(java.lang.String[]):222 -> a
    49:49:void lambda$main$0(java.lang.String[]):251 -> a
    50:50:void printVersion():205:205 -> a
    50:50:void printHelp():209 -> a
    50:50:void run(java.lang.String[]):222 -> a
    50:50:void lambda$main$0(java.lang.String[]):251 -> a
    51:51:void printVersion():205:205 -> a
    51:51:void printHelp():209 -> a
    51:51:void run(java.lang.String[]):222 -> a
    51:51:void lambda$main$0(java.lang.String[]):251 -> a
    33:33:void printVersion():205:205 -> a
    33:33:void printHelp():209 -> a
    33:33:void run(java.lang.String[]):222 -> a
    33:33:void lambda$main$0(java.lang.String[]):251 -> a
    34:37:void printHelp():210:213 -> a
    34:37:void run(java.lang.String[]):222 -> a
    34:37:void lambda$main$0(java.lang.String[]):251 -> a
    38:48:void com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions.print():190:200 -> a
    38:48:void printHelp():214 -> a
    38:48:void run(java.lang.String[]):222 -> a
    38:48:void lambda$main$0(java.lang.String[]):251 -> a
    1:1:void main(java.lang.String[]):251:251 -> main
com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions -> com.android.tools.r8.compatproguard.CompatProguard$a:
    java.lang.String mainDexList -> g
    boolean disableVerticalClassMerging -> m
    java.lang.String depsFileOutput -> j
    boolean printHelpAndExit -> l
    int minApi -> c
    boolean includeDataResources -> e
    boolean multiDex -> f
    java.lang.String output -> a
    com.android.tools.r8.MapIdProvider mapIdProvider -> h
    com.android.tools.r8.CompilationMode mode -> b
    boolean forceProguardCompatibility -> d
    com.android.tools.r8.SourceFileProvider sourceFileProvider -> i
    java.util.List proguardConfig -> k
    1:14:void <init>(java.util.List,java.lang.String,com.android.tools.r8.CompilationMode,int,boolean,boolean,boolean,java.lang.String,com.android.tools.r8.MapIdProvider,com.android.tools.r8.SourceFileProvider,java.lang.String,boolean,boolean):71:84 -> <init>
    1:32:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):88:119 -> a
    33:33:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):117:117 -> a
    34:34:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    34:34:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):117 -> a
    35:35:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    35:35:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    35:35:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):117 -> a
    36:43:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):117:124 -> a
    44:44:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):122:122 -> a
    45:45:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    45:45:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):122 -> a
    46:46:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    46:46:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    46:46:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):122 -> a
    47:85:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):122:160 -> a
    86:86:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):154:154 -> a
    87:87:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    87:87:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):154 -> a
    88:88:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    88:88:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    88:88:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):154 -> a
    89:109:com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions parse(java.lang.String[]):154:174 -> a
com.android.tools.r8.compatproguard.CompatProguard$CompatProguardOptions$1 -> com.android.tools.r8.compatproguard.a:
    1:1:void <init>():88:88 -> <init>
com.android.tools.r8.compatproguard.DepsFileWriter -> com.android.tools.r8.internal.gf:
    java.util.Set dependencies -> c
    java.nio.file.Path dependentFile -> a
    java.lang.String dependencyOutput -> b
    1:1:void <init>(java.nio.file.Path,java.lang.String):26:26 -> <init>
    2:6:void <init>(java.nio.file.Path,java.lang.String):24:28 -> <init>
    1:1:void accept(com.android.tools.r8.origin.Origin,java.nio.file.Path):33:33 -> accept
    1:10:void finished():38:47 -> finished
    11:11:java.lang.String com.android.tools.r8.compatproguard.DepsFileWriter.escape(java.lang.String):60:60 -> finished
    11:11:void finished():47 -> finished
    12:16:void finished():47:51 -> finished
    17:17:java.lang.String com.android.tools.r8.compatproguard.DepsFileWriter.escape(java.lang.String):60:60 -> finished
    17:17:void finished():51 -> finished
    18:21:void finished():51:54 -> finished
    22:36:void finished():41:55 -> finished
com.android.tools.r8.contexts.CompilationContext -> com.android.tools.r8.internal.Ac:
    java.util.Map seenSetForTesting -> c
    java.lang.Thread mainThread -> b
    java.util.function.Consumer testingConsumer -> a
    boolean $assertionsDisabled -> e
    int nextProcessorId -> d
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions):41:41 -> <init>
    2:7:void <init>(com.android.tools.r8.utils.InternalOptions):38:43 -> <init>
    1:1:boolean access$200(com.android.tools.r8.contexts.CompilationContext,com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):14:14 -> a
    2:2:com.android.tools.r8.contexts.CompilationContext createInitialContext(com.android.tools.r8.utils.InternalOptions):33:33 -> a
    3:9:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):47:53 -> a
    10:10:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":64,"2":65,"3":66,"4":67,"5":68}}
    64:64:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
    65:65:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
    66:66:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
    67:67:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
    68:68:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
    63:63:boolean verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):53:53 -> a
    69:71:com.android.tools.r8.contexts.CompilationContext$ProcessorContext createProcessorContext():66:68 -> a
com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider -> com.android.tools.r8.internal.wc:
    1:1:void <init>():17:17 -> <init>
    2:2:void <init>(com.android.tools.r8.contexts.CompilationContext$1):17:17 -> <init>
    java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder) -> a
    java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder) -> b
com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext -> com.android.tools.r8.internal.xc:
    com.android.tools.r8.graph.ProgramMethod method -> b
    int nextId -> c
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext parent -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():115:115 -> <clinit>
    1:1:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$1):115:115 -> <init>
    2:2:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.graph.ProgramMethod):120:120 -> <init>
    3:7:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.graph.ProgramMethod):118:122 -> <init>
    1:2:com.android.tools.r8.contexts.CompilationContext$UniqueContext createUniqueContext():133:134 -> a
    3:3:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext.getClassContext():139:139 -> a
    3:3:java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder):156 -> a
    4:5:java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder):156:157 -> a
    6:8:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext.buildSuffix(java.lang.StringBuilder):148:150 -> a
    6:8:java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder):157 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getClassContext():139:139 -> b
    2:2:java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder):162:162 -> b
    3:5:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext.buildSuffix(java.lang.StringBuilder):148:150 -> b
    3:5:java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder):162 -> b
    1:1:com.android.tools.r8.graph.ProgramMethod getMethodContext():143:143 -> c
com.android.tools.r8.contexts.CompilationContext$ProcessorContext -> com.android.tools.r8.internal.yc:
    com.android.tools.r8.contexts.CompilationContext parent -> a
    int processorId -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():72:72 -> <clinit>
    1:1:void <init>(com.android.tools.r8.contexts.CompilationContext,int,com.android.tools.r8.contexts.CompilationContext$1):72:72 -> <init>
    2:4:void <init>(com.android.tools.r8.contexts.CompilationContext,int):76:78 -> <init>
    1:1:boolean com.android.tools.r8.contexts.CompilationContext$ProcessorContext.verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):82:82 -> a
    1:1:boolean access$500(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):72 -> a
    2:2:boolean com.android.tools.r8.contexts.CompilationContext$ProcessorContext.verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):82:82 -> a
    2:2:boolean access$500(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):72 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.contexts.CompilationContext$ProcessorContext.verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):82:82 -> a
    3:3:boolean access$500(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):72 -> a
    4:4:boolean access$500(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):72:72 -> a
    5:6:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):94:95 -> a
    7:7:boolean com.android.tools.r8.contexts.CompilationContext$ProcessorContext.verifyContext(com.android.tools.r8.contexts.CompilationContext$ContextDescriptorProvider):82:82 -> a
    7:7:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):95 -> a
    8:8:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$ProcessorContext.buildSuffix(java.lang.StringBuilder):100:100 -> a
    8:8:java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder):105 -> a
    1:1:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$ProcessorContext.buildSuffix(java.lang.StringBuilder):100:100 -> b
    1:1:java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder):110 -> b
com.android.tools.r8.contexts.CompilationContext$UniqueContext -> com.android.tools.r8.internal.zc:
    com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext parent -> a
    int positionId -> b
    1:1:void <init>(com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,int,com.android.tools.r8.contexts.CompilationContext$1):166:166 -> <init>
    2:4:void <init>(com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,int):170:172 -> <init>
    1:1:java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder):181:181 -> a
    2:2:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$UniqueContext.buildSuffix(java.lang.StringBuilder):176:176 -> a
    2:2:java.lang.StringBuilder buildContextDescriptorForTesting(java.lang.StringBuilder):181 -> a
    3:3:com.android.tools.r8.graph.DexProgramClass getClassContext():190:190 -> a
    1:1:java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder):186:186 -> b
    2:2:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$UniqueContext.buildSuffix(java.lang.StringBuilder):176:176 -> b
    2:2:java.lang.StringBuilder buildSyntheticSuffix(java.lang.StringBuilder):186 -> b
    3:3:java.lang.String getSyntheticSuffix():194:194 -> b
    4:4:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$UniqueContext.buildSyntheticSuffix(java.lang.StringBuilder):186:186 -> b
    4:4:java.lang.String getSyntheticSuffix():194 -> b
    5:5:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$UniqueContext.buildSuffix(java.lang.StringBuilder):176:176 -> b
    5:5:java.lang.StringBuilder com.android.tools.r8.contexts.CompilationContext$UniqueContext.buildSyntheticSuffix(java.lang.StringBuilder):186 -> b
    5:5:java.lang.String getSyntheticSuffix():194 -> b
    6:6:java.lang.String getSyntheticSuffix():194:194 -> b
com.android.tools.r8.debuginfo.DebugRepresentation -> com.android.tools.r8.internal.Le:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap paramToInfo -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():30:30 -> <clinit>
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):67:68 -> <init>
    boolean lambda$fromFiles$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod) -> a
    1:1:com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate none(com.android.tools.r8.utils.InternalOptions):38:38 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1966:1966 -> a
    2:2:com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate none(com.android.tools.r8.utils.InternalOptions):38 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1966:1966 -> a
    3:3:com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate none(com.android.tools.r8.utils.InternalOptions):38 -> a
    4:5:com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate none(com.android.tools.r8.utils.InternalOptions):38:39 -> a
    6:6:void lambda$fromFiles$2(java.util.Map,com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.graph.DexProgramClass):53:53 -> a
    7:7:com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary lambda$computeForFile$4(int):102:102 -> a
    8:8:void lambda$computeForFile$5(java.lang.Integer,com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):107:107 -> a
    9:9:java.lang.Integer lambda$toString$6(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):132:132 -> a
    10:14:boolean com.android.tools.r8.debuginfo.DebugRepresentation.isPcCandidate(com.android.tools.r8.graph.DexEncodedMethod):137:141 -> a
    10:14:boolean lambda$fromFiles$3(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):56 -> a
    15:17:boolean lambda$fromFiles$3(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):59:61 -> a
    18:22:boolean com.android.tools.r8.debuginfo.DebugRepresentation.usesPcEncoding(com.android.tools.r8.graph.DexEncodedMethod):114:118 -> a
    18:22:boolean lambda$fromFiles$3(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):61 -> a
    23:24:com.android.tools.r8.code.Instruction com.android.tools.r8.debuginfo.DebugRepresentation.getLastExecutableInstruction(com.android.tools.r8.graph.DexCode):267:268 -> a
    23:24:boolean com.android.tools.r8.debuginfo.DebugRepresentation.usesPcEncoding(com.android.tools.r8.graph.DexEncodedMethod):121 -> a
    23:24:boolean lambda$fromFiles$3(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):61 -> a
    25:26:boolean com.android.tools.r8.debuginfo.DebugRepresentation.usesPcEncoding(com.android.tools.r8.graph.DexEncodedMethod):125:126 -> a
    25:26:boolean lambda$fromFiles$3(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):61 -> a
    27:27:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1966:1966 -> a
    27:27:void computeForFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):73 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    28:28:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1966:1966 -> a
    28:28:void computeForFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):73 -> a
    29:35:void computeForFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):74:80 -> a
    36:36:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    36:36:void computeForFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):80 -> a
    37:45:void computeForFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):81:89 -> a
    46:50:boolean com.android.tools.r8.debuginfo.DebugRepresentation.isPcCandidate(com.android.tools.r8.graph.DexEncodedMethod):137:141 -> a
    46:50:void computeForFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):90 -> a
    51:52:void computeForFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):93:94 -> a
    53:54:com.android.tools.r8.code.Instruction com.android.tools.r8.debuginfo.DebugRepresentation.getLastExecutableInstruction(com.android.tools.r8.graph.DexCode):267:268 -> a
    53:54:void computeForFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):95 -> a
    55:55:void computeForFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):99:99 -> a
    56:67:int com.android.tools.r8.debuginfo.DebugRepresentation.estimatedDebugInfoSize(com.android.tools.r8.graph.DexDebugInfo):276:287 -> a
    56:67:void computeForFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):100 -> a
    68:76:void computeForFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):102:110 -> a
    77:77:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1966:1966 -> a
    77:77:com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate fromFiles(java.util.List,com.android.tools.r8.utils.InternalOptions):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    78:78:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1966:1966 -> a
    78:78:com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate fromFiles(java.util.List,com.android.tools.r8.utils.InternalOptions):44 -> a
    79:89:com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate fromFiles(java.util.List,com.android.tools.r8.utils.InternalOptions):45:55 -> a
    90:90:com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate fromFiles(java.util.List,com.android.tools.r8.utils.InternalOptions):48:48 -> a
    boolean lambda$none$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod) -> b
    1:3:java.lang.String toString():131:133 -> toString
com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary -> com.android.tools.r8.internal.Ie:
    int normalPreCutoffCost -> f
    int normalPostCutoffCost -> g
    int maxPc -> d
    int cutoff -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap pcToCost -> b
    int minPc -> c
    int paramCount -> a
    1:1:void <clinit>():164:164 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.debuginfo.DebugRepresentation$1):164:164 -> <init>
    2:2:void <init>(int):178:178 -> <init>
    3:14:void <init>(int):169:180 -> <init>
    1:1:void access$000(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary,int,int):164:164 -> a
    2:2:int access$100(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):164:164 -> a
    3:4:void addCost(int,int):184:185 -> a
    5:5:void com.android.tools.r8.debuginfo.DebugRepresentation$PcNormalCost.add(int):157:157 -> a
    5:5:void addCost(int,int):185 -> a
    6:6:void addCost(int,int):185:185 -> a
    7:7:void com.android.tools.r8.debuginfo.DebugRepresentation$PcNormalCost.add(int):157:157 -> a
    7:7:void addCost(int,int):185 -> a
    8:8:void com.android.tools.r8.debuginfo.DebugRepresentation$PcNormalCost.add(int):158:158 -> a
    8:8:void addCost(int,int):185 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:void com.android.tools.r8.debuginfo.DebugRepresentation$PcNormalCost.add(int):159:159 -> a
    9:9:void addCost(int,int):185 -> a
    10:11:void addCost(int,int):186:187 -> a
    1:1:int access$200(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):164:164 -> b
    1:1:void com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.computeConversionCosts():191:191 -> c
    1:1:void access$300(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):164 -> c
    2:2:void com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.computeConversionCosts():191:191 -> c
    2:2:void access$300(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):164 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.computeConversionCosts():191:191 -> c
    3:3:void access$300(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):164 -> c
    11:11:void com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.computeConversionCosts():199:199 -> c
    11:11:void access$300(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):164 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:37:void com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.computeConversionCosts():199:224 -> c
    12:37:void access$300(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):164 -> c
    38:38:int com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.preCutoffPcCost():230:230 -> c
    38:38:void com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.computeConversionCosts():225 -> c
    38:38:void access$300(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):164 -> c
    39:41:int com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo.estimatedWriteSize(int,int):152:154 -> c
    39:41:int com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.preCutoffPcCost():230 -> c
    39:41:void com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.computeConversionCosts():225 -> c
    39:41:void access$300(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):164 -> c
    42:42:void com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.computeConversionCosts():225:225 -> c
    42:42:void access$300(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):164 -> c
    43:43:int com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.postCutoffPcCost():234:234 -> c
    43:43:void com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.computeConversionCosts():226 -> c
    43:43:void access$300(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):164 -> c
    44:46:int com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo.estimatedWriteSize(int,int):152:154 -> c
    44:46:int com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.postCutoffPcCost():234 -> c
    44:46:void com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.computeConversionCosts():226 -> c
    44:46:void access$300(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):164 -> c
    47:47:void com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.computeConversionCosts():226:226 -> c
    47:47:void access$300(com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary):164 -> c
    1:13:java.lang.String toString():239:251 -> toString
    14:14:int com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.preCutoffPcCost():230:230 -> toString
    14:14:java.lang.String toString():252 -> toString
    15:17:int com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo.estimatedWriteSize(int,int):152:154 -> toString
    15:17:int com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.preCutoffPcCost():230 -> toString
    15:17:java.lang.String toString():252 -> toString
    18:24:java.lang.String toString():252:258 -> toString
    25:25:int com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.postCutoffPcCost():234:234 -> toString
    25:25:java.lang.String toString():259 -> toString
    26:28:int com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo.estimatedWriteSize(int,int):152:154 -> toString
    26:28:int com.android.tools.r8.debuginfo.DebugRepresentation$CostSummary.postCutoffPcCost():234 -> toString
    26:28:java.lang.String toString():259 -> toString
    29:31:java.lang.String toString():259:261 -> toString
com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate -> com.android.tools.r8.internal.Je:
    boolean useDexPcEncoding(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod) -> a
com.android.tools.r8.debuginfo.DebugRepresentation$PcNormalCost -> com.android.tools.r8.internal.Ke:
    boolean $assertionsDisabled -> b
    int cost -> a
    1:1:void <clinit>():145:145 -> <clinit>
    1:2:void <init>(int):151:152 -> <init>
com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator -> com.android.tools.r8.internal.Pf:
    com.android.tools.r8.utils.InternalOptions options -> b
    com.android.tools.r8.naming.NamingLens namingLens -> a
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):51:54 -> <init>
    1:1:boolean com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator.shouldRun():66:66 -> a
    1:1:void runIfNecessary(com.android.tools.r8.utils.Timing):58 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    2:2:boolean com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator.shouldRun():66 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void runIfNecessary(com.android.tools.r8.utils.Timing):58 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    3:3:boolean com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator.shouldRun():66 -> a
    3:3:void runIfNecessary(com.android.tools.r8.utils.Timing):58 -> a
    4:4:boolean com.android.tools.r8.desugar.desugaredlibrary.DesugaredLibraryKeepRuleGenerator.shouldRun():66:66 -> a
    4:4:void runIfNecessary(com.android.tools.r8.utils.Timing):58 -> a
com.android.tools.r8.dex.ApplicationReader -> com.android.tools.r8.dex.b:
    com.android.tools.r8.graph.DexItemFactory itemFactory -> b
    com.android.tools.r8.utils.Timing timing -> c
    com.android.tools.r8.utils.InternalOptions options -> a
    com.android.tools.r8.graph.DexApplicationReadFlags flags -> e
    com.android.tools.r8.utils.AndroidApp inputApp -> d
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():66:66 -> <clinit>
    1:5:void <init>(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):79:83 -> <init>
    1:1:com.android.tools.r8.utils.InternalOptions access$000(com.android.tools.r8.dex.ApplicationReader):66:66 -> a
    2:2:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66:66 -> a
    3:7:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):282:286 -> a
    3:7:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    8:8:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":15,"2":16,"3":17}}
    15:15:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):286:286 -> a
    15:15:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    16:16:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):286:286 -> a
    16:16:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    17:17:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):286:286 -> a
    17:17:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    9:11:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):288:290 -> a
    9:11:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    12:12:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    12:12:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):290 -> a
    12:12:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    13:13:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    13:13:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    13:13:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):290 -> a
    13:13:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    14:14:com.android.tools.r8.utils.AndroidApiLevel validateOrComputeMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):290:290 -> a
    14:14:com.android.tools.r8.utils.AndroidApiLevel access$100(com.android.tools.r8.dex.ApplicationReader,com.android.tools.r8.utils.AndroidApiLevel,com.android.tools.r8.dex.DexReader):66 -> a
    18:18:com.android.tools.r8.graph.LazyLoadedDexApplication read():87:87 -> a
    19:23:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource):93:97 -> a
    24:27:com.android.tools.r8.graph.LazyLoadedDexApplication read(java.util.concurrent.ExecutorService):104:107 -> a
    28:28:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):134:134 -> a
    28:28:com.android.tools.r8.graph.LazyLoadedDexApplication read(java.util.concurrent.ExecutorService):104 -> a
    29:32:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService):123:126 -> a
    33:33:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):134:134 -> a
    33:33:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService):123 -> a
    34:34:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):143:143 -> a
    35:44:boolean verifyMainDexOptionsCompatible(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):267:276 -> a
    35:44:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):143 -> a
    45:49:void dumpApplication():190:194 -> a
    45:49:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):145 -> a
    50:50:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":113,"2":114,"3":115}}
    113:113:void dumpApplication():194:194 -> a
    113:113:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):145 -> a
    114:114:void dumpApplication():194:194 -> a
    114:114:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):145 -> a
    115:115:void dumpApplication():194:194 -> a
    115:115:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):145 -> a
    51:67:void dumpApplication():194:210 -> a
    51:67:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):145 -> a
    68:68:void dumpApplication():208:208 -> a
    68:68:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):145 -> a
    69:105:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):148:184 -> a
    106:106:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):180:180 -> a
    107:107:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> a
    107:107:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):178 -> a
    108:112:com.android.tools.r8.graph.LazyLoadedDexApplication read(com.android.tools.r8.StringResource,java.util.concurrent.ExecutorService,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,boolean):178:182 -> a
    116:116:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication):216:216 -> a
    117:117:com.android.tools.r8.shaking.MainDexInfo readMainDexClassesForR8(com.android.tools.r8.graph.DexApplication):222:222 -> a
    118:124:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):226:232 -> a
    125:130:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):251:256 -> a
    125:130:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    131:131:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":156,"2":157,"3":158}}
    156:156:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    156:156:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    157:157:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    157:157:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    158:158:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    158:158:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    132:132:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":161,"2":162,"3":163,"4":164}}
    161:161:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    161:161:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    162:162:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    162:162:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    163:163:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    163:163:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    164:164:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    164:164:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    133:133:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    133:133:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    134:134:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    134:134:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):232 -> a
    135:144:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):234:243 -> a
    145:150:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):251:256 -> a
    145:150:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    151:151:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":165,"2":166,"3":167}}
    165:165:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    165:165:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    166:166:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    166:166:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    167:167:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    167:167:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    152:152:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":170,"2":171,"3":172,"4":173}}
    170:170:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    170:170:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    171:171:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    171:171:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    172:172:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    172:172:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    173:173:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    173:173:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    153:153:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):259:259 -> a
    153:153:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    154:154:void addToMainDexClasses(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo$Builder,java.lang.Iterable):256:256 -> a
    154:154:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):238 -> a
    155:155:com.android.tools.r8.shaking.MainDexInfo readMainDexClasses(com.android.tools.r8.graph.DexApplication,boolean):246:246 -> a
    174:174:com.android.tools.r8.graph.DexType lambda$readMainDexClasses$0(java.lang.String):242:242 -> a
    175:177:void readProguardMap(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder,java.util.concurrent.ExecutorService,java.util.List):305:305 -> a
    178:180:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):309:311 -> a
    181:181:com.android.tools.r8.naming.ClassNameMapper com.android.tools.r8.naming.ClassNameMapper.mapperFromString(java.lang.String,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):120:120 -> a
    181:181:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):311 -> a
    182:185:java.io.BufferedReader com.android.tools.r8.com.google.common.io.CharSource.openBufferedStream():112:115 -> a
    182:185:com.android.tools.r8.naming.ClassNameMapper com.android.tools.r8.naming.ClassNameMapper.mapperFromString(java.lang.String,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):120 -> a
    182:185:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):311 -> a
    186:186:com.android.tools.r8.naming.ClassNameMapper com.android.tools.r8.naming.ClassNameMapper.mapperFromString(java.lang.String,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):119:119 -> a
    186:186:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):311 -> a
    187:194:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):310:317 -> a
    195:195:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    195:195:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):317 -> a
    196:196:void lambda$readProguardMap$1(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexApplication$Builder):317:317 -> a
    1:1:com.android.tools.r8.graph.DexItemFactory access$200(com.android.tools.r8.dex.ApplicationReader):66:66 -> b
    2:6:com.android.tools.r8.graph.LazyLoadedDexApplication readWithoutDumping(java.util.concurrent.ExecutorService):112:112 -> b
    1:1:com.android.tools.r8.utils.AndroidApp access$300(com.android.tools.r8.dex.ApplicationReader):66:66 -> c
com.android.tools.r8.dex.ApplicationReader$ClassReader -> com.android.tools.r8.dex.a:
    java.util.List futures -> b
    com.android.tools.r8.graph.JarApplicationReader application -> f
    java.util.Queue programClasses -> c
    boolean $assertionsDisabled -> j
    java.util.Queue libraryClasses -> e
    java.util.Queue classpathClasses -> d
    boolean hasReadProgramResourceFromCf -> g
    boolean hasReadProgramResourceFromDex -> h
    com.android.tools.r8.dex.ApplicationReader this$0 -> i
    java.util.concurrent.ExecutorService executorService -> a
    1:1:void <clinit>():322:322 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.ApplicationReader,java.util.concurrent.ExecutorService,java.util.List):341:341 -> <init>
    2:17:void <init>(com.android.tools.r8.dex.ApplicationReader,java.util.concurrent.ExecutorService,java.util.List):328:343 -> <init>
    1:4:com.android.tools.r8.graph.DexApplicationReadFlags getDexApplicationReadFlags():347:350 -> a
    5:5:void lambda$readDexSources$0(com.android.tools.r8.dex.DexParser,java.util.Queue,com.android.tools.r8.graph.ApplicationReaderMap):380:380 -> a
    6:23:void readClassSources(java.util.List,java.util.Queue):403:420 -> a
    24:24:void readClassSources(java.util.List,java.util.Queue):419:419 -> a
    25:25:java.lang.Object lambda$readClassSources$2(com.android.tools.r8.graph.JarClassFileReader,com.android.tools.r8.ProgramResource):422:422 -> a
    26:26:void com.android.tools.r8.graph.JarClassFileReader.read(com.android.tools.r8.ProgramResource):92:92 -> a
    26:26:java.lang.Object lambda$readClassSources$2(com.android.tools.r8.graph.JarClassFileReader,com.android.tools.r8.ProgramResource):422 -> a
    27:33:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):473:479 -> a
    34:51:com.android.tools.r8.utils.ClassProvider buildClassProvider(com.android.tools.r8.graph.ClassKind,java.util.Queue,java.util.List,com.android.tools.r8.graph.JarApplicationReader):451:468 -> a
    34:51:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):478 -> a
    52:57:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):481:486 -> a
    58:75:com.android.tools.r8.utils.ClassProvider buildClassProvider(com.android.tools.r8.graph.ClassKind,java.util.Queue,java.util.List,com.android.tools.r8.graph.JarApplicationReader):451:468 -> a
    58:75:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):485 -> a
    76:76:void initializeLazyClassCollection(com.android.tools.r8.graph.LazyLoadedDexApplication$Builder):488:488 -> a
    77:77:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    77:77:void lambda$readClassSources$1(java.util.Queue,com.android.tools.r8.graph.DexProgramClass):411 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    78:78:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    78:78:void lambda$readClassSources$1(java.util.Queue,com.android.tools.r8.graph.DexProgramClass):411 -> a
    79:89:boolean includeAnnotationClass(com.android.tools.r8.graph.DexProgramClass):388:398 -> a
    79:89:void lambda$readClassSources$1(java.util.Queue,com.android.tools.r8.graph.DexProgramClass):411 -> a
    90:90:void lambda$readClassSources$1(java.util.Queue,com.android.tools.r8.graph.DexProgramClass):414:414 -> a
    1:24:void readDexSources(java.util.List,java.util.Queue):355:378 -> b
    25:25:void readDexSources(java.util.List,java.util.Queue):377:377 -> b
    26:38:void readSources():431:443 -> b
com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver -> com.android.tools.r8.internal.s2:
    com.android.tools.r8.graph.DexProgramClass resolveClassConflict(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass) -> a
com.android.tools.r8.dex.ApplicationWriter -> com.android.tools.r8.internal.D2:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> k
    com.android.tools.r8.dex.CodeToKeep desugaredLibraryCodeToKeep -> f
    com.android.tools.r8.utils.InternalOptions options -> e
    java.util.List markerStrings -> i
    com.android.tools.r8.naming.NamingLens namingLens -> d
    java.util.List markers -> h
    com.android.tools.r8.DexIndexedConsumer programConsumer -> j
    com.android.tools.r8.graph.InitClassLens initClassLens -> c
    java.util.function.Predicate isTypeMissing -> g
    com.android.tools.r8.graph.GraphLens graphLens -> b
    1:1:void <clinit>():81:81 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.List,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):164:164 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView,java.util.List,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DexIndexedConsumer):179:189 -> <init>
    1:1:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":316,"2":317,"3":318}}
    316:316:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):297:297 -> a
    317:317:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):297:297 -> a
    318:318:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):297:297 -> a
    298:298:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):297:297 -> a
    299:304:void com.android.tools.r8.dex.ApplicationWriter.computeOffsetMappingAndRewriteJumboStrings(com.android.tools.r8.dex.VirtualFile,java.util.List,com.android.tools.r8.utils.Timing):454:459 -> a
    299:304:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):298 -> a
    305:310:void com.android.tools.r8.dex.ApplicationWriter.computeOffsetMappingAndRewriteJumboStrings(com.android.tools.r8.dex.VirtualFile,java.util.List,com.android.tools.r8.utils.Timing):458:463 -> a
    305:310:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):298 -> a
    311:313:void com.android.tools.r8.dex.ApplicationWriter.computeOffsetMappingAndRewriteJumboStrings(com.android.tools.r8.dex.VirtualFile,java.util.List,com.android.tools.r8.utils.Timing):462:464 -> a
    311:313:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):298 -> a
    314:315:com.android.tools.r8.utils.Timing lambda$write$2(java.util.List,com.android.tools.r8.dex.VirtualFile):300:301 -> a
    319:319:com.android.tools.r8.graph.DexString access$000(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):81:81 -> a
    320:320:java.util.List distribute(java.util.concurrent.ExecutorService):196:196 -> a
    321:321:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexFilePerClassFile():477:477 -> a
    321:321:java.util.List distribute(java.util.concurrent.ExecutorService):196 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    322:322:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexFilePerClassFile():477:477 -> a
    322:322:java.util.List distribute(java.util.concurrent.ExecutorService):196 -> a
    323:323:java.util.List distribute(java.util.concurrent.ExecutorService):197:197 -> a
    324:324:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():493:493 -> a
    324:324:java.util.List distribute(java.util.concurrent.ExecutorService):198 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    325:325:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():493:493 -> a
    325:325:java.util.List distribute(java.util.concurrent.ExecutorService):198 -> a
    326:335:java.util.List distribute(java.util.concurrent.ExecutorService):198:207 -> a
    336:336:void com.android.tools.r8.graph.DexClass.setSourceFile(com.android.tools.r8.graph.DexString):197:197 -> a
    336:336:void lambda$rewriteSourceFile$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProgramClass):448 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    337:338:void encodeChecksums(java.lang.Iterable):217:218 -> a
    339:339:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.<init>(int):110:110 -> a
    339:339:void encodeChecksums(java.lang.Iterable):218 -> a
    340:349:void encodeChecksums(java.lang.Iterable):219:228 -> a
    350:355:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):244:249 -> a
    356:356:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):362:362 -> a
    356:356:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    357:357:boolean com.android.tools.r8.dex.ApplicationWriter.willComputeProguardMap():233:233 -> a
    357:357:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):364 -> a
    357:357:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    358:371:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):366:379 -> a
    358:371:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    372:372:com.android.tools.r8.graph.DexString com.android.tools.r8.dex.Marker.toDexString(com.android.tools.r8.graph.DexItemFactory):296:296 -> a
    372:372:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):379 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    372:372:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    373:373:com.android.tools.r8.graph.DexString com.android.tools.r8.dex.Marker.toDexString(com.android.tools.r8.graph.DexItemFactory):296:296 -> a
    373:373:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):379 -> a
    373:373:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    374:374:void com.android.tools.r8.dex.ApplicationWriter.computeMarkerStrings(com.android.tools.r8.utils.Box,java.util.List):379:379 -> a
    374:374:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):250 -> a
    375:376:com.android.tools.r8.utils.OriginalSourceFiles com.android.tools.r8.dex.ApplicationWriter.computeSourceFileString(com.android.tools.r8.utils.Box,java.util.List):386:387 -> a
    375:376:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):252 -> a
    377:377:boolean com.android.tools.r8.dex.ApplicationWriter.willComputeProguardMap():233:233 -> a
    377:377:com.android.tools.r8.utils.OriginalSourceFiles com.android.tools.r8.dex.ApplicationWriter.computeSourceFileString(com.android.tools.r8.utils.Box,java.util.List):389 -> a
    377:377:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):252 -> a
    378:387:com.android.tools.r8.utils.OriginalSourceFiles com.android.tools.r8.dex.ApplicationWriter.computeSourceFileString(com.android.tools.r8.utils.Box,java.util.List):390:399 -> a
    378:387:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):252 -> a
    388:388:void com.android.tools.r8.graph.DexClass.setSourceFile(com.android.tools.r8.graph.DexString):197:197 -> a
    388:388:com.android.tools.r8.utils.OriginalSourceFiles com.android.tools.r8.dex.ApplicationWriter.computeSourceFileString(com.android.tools.r8.utils.Box,java.util.List):400 -> a
    388:388:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):252 -> a
    389:397:com.android.tools.r8.utils.OriginalSourceFiles com.android.tools.r8.dex.ApplicationWriter.computeSourceFileString(com.android.tools.r8.utils.Box,java.util.List):404:412 -> a
    389:397:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):252 -> a
    398:421:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):255:278 -> a
    422:452:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):276:306 -> a
    453:453:boolean com.android.tools.r8.dex.ApplicationWriter.willComputeProguardMap():233:233 -> a
    453:453:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):311 -> a
    454:456:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):314:316 -> a
    457:490:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):315:348 -> a
    491:491:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    491:491:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):348 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    492:492:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    492:492:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):348 -> a
    493:501:void write(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp):348:356 -> a
    502:502:java.lang.Boolean lambda$write$0(java.util.List,com.android.tools.r8.ir.analysis.proto.ProtoShrinker):280:280 -> a
    503:503:void lambda$write$1(com.android.tools.r8.dex.ApplicationWriter$SortAnnotations,com.android.tools.r8.graph.DexProgramClass):286:286 -> a
    504:516:com.android.tools.r8.SourceFileEnvironment createSourceFileEnvironment(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):417:429 -> a
    517:520:void supplyAdditionalConsumers(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):527:530 -> a
    521:528:void supplyAdditionalConsumers(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):528:535 -> a
    529:537:void supplyAdditionalConsumers(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):534:542 -> a
    538:571:void com.android.tools.r8.dex.ApplicationWriter.adaptAndPassDataResources(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.DataResourceConsumer,java.util.Collection,com.android.tools.r8.dex.ResourceAdapter):591:624 -> a
    538:571:void supplyAdditionalConsumers(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):545 -> a
    572:603:void supplyAdditionalConsumers(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):550:581 -> a
    604:637:void com.android.tools.r8.dex.ApplicationWriter.adaptAndPassDataResources(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.DataResourceConsumer,java.util.Collection,com.android.tools.r8.dex.ResourceAdapter):591:624 -> a
    604:637:void supplyAdditionalConsumers(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):580 -> a
    638:638:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):557:557 -> a
    639:648:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):556:565 -> a
    649:655:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):560:566 -> a
    656:656:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1234,"2":1235,"3":1236,"4":1237,"5":1238}}
    1234:1234:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):566:566 -> a
    1235:1235:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):566:566 -> a
    1236:1236:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):566:566 -> a
    1237:1237:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):566:566 -> a
    1238:1238:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):566:566 -> a
    1224:1224:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):568:568 -> a
    1225:1225:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):559:559 -> a
    1226:1226:void lambda$supplyAdditionalConsumers$5(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType,java.util.List):558:558 -> a
    1239:1239:void insertAttributeAnnotations():631:631 -> a
    1240:1254:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):639:653 -> a
    1240:1254:void insertAttributeAnnotations():632 -> a
    1255:1255:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):652:652 -> a
    1255:1255:void insertAttributeAnnotations():632 -> a
    1256:1264:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):651:659 -> a
    1256:1264:void insertAttributeAnnotations():632 -> a
    1265:1265:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):658:658 -> a
    1265:1265:void insertAttributeAnnotations():632 -> a
    1266:1282:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):657:673 -> a
    1266:1282:void insertAttributeAnnotations():632 -> a
    1283:1289:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):672:678 -> a
    1283:1289:void insertAttributeAnnotations():632 -> a
    1290:1299:com.android.tools.r8.graph.DexAnnotation com.android.tools.r8.graph.DexAnnotation.createInnerClassAnnotation(com.android.tools.r8.graph.DexString,int,com.android.tools.r8.graph.DexItemFactory):183:192 -> a
    1290:1299:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):676 -> a
    1290:1299:void insertAttributeAnnotations():632 -> a
    1300:1308:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):675:683 -> a
    1300:1308:void insertAttributeAnnotations():632 -> a
    1309:1309:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):682:682 -> a
    1309:1309:void insertAttributeAnnotations():632 -> a
    1310:1321:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):681:692 -> a
    1310:1321:void insertAttributeAnnotations():632 -> a
    1322:1330:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):691:699 -> a
    1322:1330:void insertAttributeAnnotations():632 -> a
    1331:1331:java.lang.String com.android.tools.r8.graph.GenericSignature$ClassSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):276:276 -> a
    1331:1331:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):699 -> a
    1331:1331:void insertAttributeAnnotations():632 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    1334:1337:java.lang.String com.android.tools.r8.graph.GenericSignature$ClassSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):279:282 -> a
    1334:1337:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):699 -> a
    1334:1337:void insertAttributeAnnotations():632 -> a
    1338:1338:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):699:699 -> a
    1338:1338:void insertAttributeAnnotations():632 -> a
    1339:1339:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):698:698 -> a
    1339:1339:void insertAttributeAnnotations():632 -> a
    1340:1351:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):697:708 -> a
    1340:1351:void insertAttributeAnnotations():632 -> a
    1352:1352:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.concat(java.lang.Object[],java.lang.Object[],java.lang.Class):71:71 -> a
    1352:1352:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):706 -> a
    1352:1352:void insertAttributeAnnotations():632 -> a
    1353:1353:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.newArray(java.lang.Class,int):49:49 -> a
    1353:1353:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.concat(java.lang.Object[],java.lang.Object[],java.lang.Class):71 -> a
    1353:1353:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):706 -> a
    1353:1353:void insertAttributeAnnotations():632 -> a
    1354:1355:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.concat(java.lang.Object[],java.lang.Object[],java.lang.Class):72:73 -> a
    1354:1355:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):706 -> a
    1354:1355:void insertAttributeAnnotations():632 -> a
    1356:1366:void com.android.tools.r8.dex.ApplicationWriter.insertAttributeAnnotationsForClass(com.android.tools.r8.graph.DexProgramClass):706:716 -> a
    1356:1366:void insertAttributeAnnotations():632 -> a
    1367:1368:void insertAttributeAnnotations():633:634 -> a
    1369:1378:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):720:729 -> a
    1379:1379:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):476:476 -> a
    1379:1379:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):729 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1382:1385:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):479:482 -> a
    1382:1385:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):729 -> a
    1386:1386:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):729:729 -> a
    1387:1387:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):728:728 -> a
    1388:1388:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):726:726 -> a
    1389:1389:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):725:725 -> a
    1390:1397:void insertAttributeAnnotationsForField(com.android.tools.r8.graph.DexEncodedField):724:731 -> a
    1398:1407:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):735:744 -> a
    1408:1408:java.lang.String com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):878:878 -> a
    1408:1408:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):744 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1411:1414:java.lang.String com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):881:884 -> a
    1411:1414:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):744 -> a
    1415:1415:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):744:744 -> a
    1416:1416:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):743:743 -> a
    1417:1417:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):741:741 -> a
    1418:1418:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):740:740 -> a
    1419:1426:void insertAttributeAnnotationsForMethod(com.android.tools.r8.graph.DexEncodedMethod):739:746 -> a
    1427:1427:void setCallSiteContexts(com.android.tools.r8.graph.DexProgramClass):755:755 -> a
    1428:1428:void lambda$setCallSiteContexts$6(com.android.tools.r8.graph.ProgramMethod):757:757 -> a
    1429:1441:void rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ObjectToOffsetMapping,java.util.Collection,com.android.tools.r8.graph.DexApplication):772:784 -> a
    1442:1449:void lambda$rewriteCodeWithJumboStrings$7(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.ProgramMethod):787:794 -> a
    1450:1461:com.android.tools.r8.dex.FileWriter$ByteBufferResult writeDexFile(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.ByteBufferProvider,com.android.tools.r8.utils.Timing):801:812 -> a
    1462:1462:com.android.tools.r8.dex.FileWriter lambda$writeDexFile$8(com.android.tools.r8.dex.FileWriter):810:810 -> a
    1463:1464:java.lang.String com.android.tools.r8.dex.ApplicationWriter.mapMainDexListName(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.NamingLens):816:817 -> a
    1463:1464:void lambda$writeMainDexList$10(java.lang.StringBuilder,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType):828 -> a
    1465:1465:void lambda$writeMainDexList$10(java.lang.StringBuilder,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType):828:828 -> a
    1466:1473:java.lang.String writeMainDexList(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):822:829 -> a
    1:1:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":391,"2":392,"3":393}}
    391:391:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):336:336 -> b
    392:392:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):336:336 -> b
    393:393:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):336:336 -> b
    337:337:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):336:336 -> b
    338:348:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):469:479 -> b
    338:348:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):337 -> b
    349:349:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():493:493 -> b
    349:349:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):479 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    349:349:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):337 -> b
    350:350:com.android.tools.r8.DexFilePerClassFileConsumer com.android.tools.r8.utils.InternalOptions.getDexFilePerClassFileConsumer():493:493 -> b
    350:350:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):479 -> b
    350:350:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):337 -> b
    351:357:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):482:488 -> b
    351:357:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):337 -> b
    358:358:com.android.tools.r8.DexIndexedConsumer com.android.tools.r8.utils.InternalOptions.getDexIndexedConsumer():489:489 -> b
    358:358:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):488 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    358:358:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):337 -> b
    359:359:com.android.tools.r8.DexIndexedConsumer com.android.tools.r8.utils.InternalOptions.getDexIndexedConsumer():489:489 -> b
    359:359:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):488 -> b
    359:359:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):337 -> b
    360:376:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):493:509 -> b
    360:376:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):337 -> b
    377:389:void com.android.tools.r8.dex.ApplicationWriter.writeVirtualFile(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.Timing,java.util.List):506:518 -> b
    377:389:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):337 -> b
    390:390:com.android.tools.r8.utils.Timing lambda$write$3(java.util.List,com.android.tools.r8.dex.VirtualFile):338:338 -> b
    394:399:com.android.tools.r8.graph.DexString rewriteSourceFile(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):443:448 -> b
    400:402:void setCallSiteContexts(java.util.concurrent.ExecutorService):750:750 -> b
    403:403:com.android.tools.r8.dex.FileWriter$ByteBufferResult lambda$writeDexFile$9(com.android.tools.r8.dex.FileWriter):812:812 -> b
    1:1:void write(java.util.concurrent.ExecutorService):238:238 -> c
    2:2:boolean com.android.tools.r8.dex.ApplicationWriter.willComputeProguardMap():233:233 -> c
    2:2:void write(java.util.concurrent.ExecutorService):238 -> c
    3:4:void write(java.util.concurrent.ExecutorService):238:239 -> c
com.android.tools.r8.dex.ApplicationWriter$1 -> com.android.tools.r8.internal.w2:
    com.android.tools.r8.dex.ApplicationWriter this$0 -> d
    com.android.tools.r8.utils.Box val$delayedProguardMapId -> c
    1:1:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.Box):367:367 -> <init>
    1:3:com.android.tools.r8.graph.DexString internalCompute():371:373 -> b
    4:4:com.android.tools.r8.graph.DexString com.android.tools.r8.dex.Marker.toDexString(com.android.tools.r8.graph.DexItemFactory):296:296 -> b
    4:4:com.android.tools.r8.graph.DexString internalCompute():373 -> b
com.android.tools.r8.dex.ApplicationWriter$2 -> com.android.tools.r8.internal.x2:
    com.android.tools.r8.dex.ApplicationWriter this$0 -> d
    com.android.tools.r8.utils.Box val$delayedProguardMapId -> c
    1:1:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.Box):405:405 -> <init>
    1:1:com.android.tools.r8.graph.DexString internalCompute():408:408 -> b
com.android.tools.r8.dex.ApplicationWriter$3 -> com.android.tools.r8.internal.y2:
    1:1:void <init>():417:417 -> <init>
com.android.tools.r8.dex.ApplicationWriter$4 -> com.android.tools.r8.internal.z2:
    com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId val$proguardMapId -> a
    1:1:void <init>(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):429:429 -> <init>
    1:1:java.lang.String getMapHash():437:437 -> getMapHash
    1:1:java.lang.String getMapId():432:432 -> getMapId
com.android.tools.r8.dex.ApplicationWriter$5 -> com.android.tools.r8.internal.A2:
    com.android.tools.r8.dex.ResourceAdapter val$resourceAdapter -> a
    com.android.tools.r8.DataResourceConsumer val$dataResourceConsumer -> b
    java.util.Set val$generatedResourceNames -> d
    com.android.tools.r8.utils.InternalOptions val$options -> c
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,com.android.tools.r8.DataResourceConsumer,com.android.tools.r8.utils.InternalOptions,java.util.Set):596:596 -> <init>
    1:4:void visit(com.android.tools.r8.DataDirectoryResource):599:602 -> visit
    5:5:void visit(com.android.tools.r8.DataEntryResource):608:608 -> visit
    6:6:boolean com.android.tools.r8.dex.ResourceAdapter.isService(com.android.tools.r8.DataEntryResource):108:108 -> visit
    6:6:void visit(com.android.tools.r8.DataEntryResource):608 -> visit
    7:11:void visit(com.android.tools.r8.DataEntryResource):613:617 -> visit
    12:12:void visit(com.android.tools.r8.DataEntryResource):0:0 -> visit
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":635,"2":636,"3":637}}
    635:635:void visit(com.android.tools.r8.DataEntryResource):617:617 -> visit
    636:636:void visit(com.android.tools.r8.DataEntryResource):617:617 -> visit
    637:637:void visit(com.android.tools.r8.DataEntryResource):617:617 -> visit
    630:630:void visit(com.android.tools.r8.DataEntryResource):618:618 -> visit
    631:634:void visit(com.android.tools.r8.DataEntryResource):617:620 -> visit
com.android.tools.r8.dex.ApplicationWriter$LazyDexString -> com.android.tools.r8.internal.B2:
    boolean computed -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():832:832 -> <clinit>
    1:2:void <init>():832:833 -> <init>
    1:3:com.android.tools.r8.graph.DexString compute():838:840 -> a
    com.android.tools.r8.graph.DexString internalCompute() -> b
com.android.tools.r8.dex.ApplicationWriter$SortAnnotations -> com.android.tools.r8.internal.C2:
    com.android.tools.r8.naming.NamingLens namingLens -> a
    1:2:void <init>(com.android.tools.r8.naming.NamingLens):99:100 -> <init>
    boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode) -> a
    boolean add(com.android.tools.r8.graph.DexProgramClass) -> a
    boolean add(com.android.tools.r8.graph.DexTypeList) -> a
    boolean add(com.android.tools.r8.graph.ParameterAnnotationsList) -> a
    boolean add(com.android.tools.r8.graph.DexDebugInfoForWriting) -> a
    boolean setAnnotationsDirectoryForClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationDirectory) -> a
    1:1:boolean add(com.android.tools.r8.graph.DexAnnotationSet):106:106 -> a
    2:2:boolean add(com.android.tools.r8.graph.DexAnnotation):113:113 -> a
    3:4:boolean add(com.android.tools.r8.graph.DexEncodedArray):120:121 -> a
com.android.tools.r8.dex.BinaryReader -> com.android.tools.r8.dex.c:
    com.android.tools.r8.origin.Origin origin -> a
    com.android.tools.r8.dex.CompatByteBuffer buffer -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ProgramResource):22:22 -> <init>
    2:5:void <init>(com.android.tools.r8.origin.Origin,byte[]):25:28 -> <init>
    1:1:void position(int):86:86 -> a
    2:2:byte get():97:97 -> a
    1:1:com.android.tools.r8.origin.Origin getOrigin():32:32 -> b
    1:2:int getUint():56:57 -> c
    1:1:int getUleb128():44:44 -> d
    1:1:int getUleb128p1():52 -> d
    1:2:int getUshort():62:63 -> e
com.android.tools.r8.dex.ClassesChecksum -> com.android.tools.r8.internal.kb:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap dictionary -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():23:23 -> <init>
    2:8:void <init>():21:27 -> <init>
    1:2:void append(com.android.tools.r8.com.google.gson.JsonObject):31:32 -> a
    3:3:void lambda$append$0(java.util.Map$Entry):34:34 -> a
    4:4:void addChecksum(java.lang.String,long):38:38 -> a
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap getChecksums():42:42 -> a
    6:6:void lambda$toJsonString$1(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$Entry):52:52 -> a
    7:27:boolean definitelyPrecedesChecksumMarker(com.android.tools.r8.graph.DexString):83:103 -> a
    1:7:java.lang.String toJsonString():47:53 -> b
    8:14:void tryParseAndAppend(com.android.tools.r8.graph.DexString):58:64 -> b
    15:15:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> b
    15:15:void tryParseAndAppend(com.android.tools.r8.graph.DexString):65 -> b
    16:16:void tryParseAndAppend(com.android.tools.r8.graph.DexString):66:66 -> b
com.android.tools.r8.dex.CodeToKeep -> com.android.tools.r8.internal.Kb:
    1:1:void <init>():24:24 -> <init>
    void generateKeepRules(com.android.tools.r8.utils.InternalOptions) -> a
    boolean isNop() -> a
    void recordClass(com.android.tools.r8.graph.DexType) -> a
    void recordField(com.android.tools.r8.graph.DexField) -> a
    void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass) -> a
    void recordMethod(com.android.tools.r8.graph.DexMethod) -> a
    1:2:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):27:28 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    3:3:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):29 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    4:4:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):29 -> a
    5:9:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):29:33 -> a
    10:10:com.android.tools.r8.dex.CodeToKeep createCodeToKeep(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens):31:31 -> a
com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep -> com.android.tools.r8.internal.Ib:
    java.util.Map toKeep -> b
    com.android.tools.r8.naming.NamingLens namingLens -> a
    com.android.tools.r8.utils.InternalOptions options -> c
    1:1:void <init>(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):63:63 -> <init>
    2:7:void <init>(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):60:65 -> <init>
    boolean isNop() -> a
    1:13:void recordMethod(com.android.tools.r8.graph.DexMethod):82:94 -> a
    14:22:void recordField(com.android.tools.r8.graph.DexField):101:109 -> a
    23:24:void recordClass(com.android.tools.r8.graph.DexType):115:116 -> a
    25:25:void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass):130:130 -> a
    26:28:void com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.recordClassAllAccesses(com.android.tools.r8.graph.DexType):122:124 -> a
    26:28:void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass):130 -> a
    29:29:void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass):131:131 -> a
    30:32:void com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.recordClassAllAccesses(com.android.tools.r8.graph.DexType):122:124 -> a
    30:32:void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass):132 -> a
    33:42:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):155:164 -> a
    43:43:java.util.Comparator com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.getComparator():205:205 -> a
    43:43:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):164 -> a
    44:46:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):164:166 -> a
    47:49:java.lang.String com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.convertType(com.android.tools.r8.graph.DexType):147:149 -> a
    47:49:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):166 -> a
    50:60:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):166:176 -> a
    61:61:java.util.Comparator com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.getComparator():205:205 -> a
    61:61:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):176 -> a
    62:63:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):176:177 -> a
    64:66:java.lang.String com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.convertType(com.android.tools.r8.graph.DexType):147:149 -> a
    64:66:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):178 -> a
    67:73:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):178:184 -> a
    74:74:java.util.Comparator com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.getComparator():205:205 -> a
    74:74:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):184 -> a
    75:76:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):184:185 -> a
    77:79:java.lang.String com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.convertType(com.android.tools.r8.graph.DexType):147:149 -> a
    77:79:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):186 -> a
    80:88:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):186:194 -> a
    89:91:java.lang.String com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep.convertType(com.android.tools.r8.graph.DexType):147:149 -> a
    89:91:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):194 -> a
    92:99:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):194:201 -> a
    1:1:void keepClass(com.android.tools.r8.graph.DexType):137:137 -> b
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.lookupBaseType(com.android.tools.r8.graph.DexItemFactory):423:423 -> b
    2:2:void keepClass(com.android.tools.r8.graph.DexType):137 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:9:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.lookupBaseType(com.android.tools.r8.graph.DexItemFactory):427:430 -> b
    6:9:void keepClass(com.android.tools.r8.graph.DexType):137 -> b
    10:14:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.lookupBaseType(com.android.tools.r8.graph.DexItemFactory):428:432 -> b
    10:14:void keepClass(com.android.tools.r8.graph.DexType):137 -> b
    15:15:void keepClass(com.android.tools.r8.graph.DexType):138:138 -> b
    1:5:boolean shouldKeep(com.android.tools.r8.graph.DexType):69:73 -> c
    6:6:boolean shouldKeep(com.android.tools.r8.graph.DexType):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":85,"2":86,"3":87}}
    85:85:boolean shouldKeep(com.android.tools.r8.graph.DexType):73:73 -> c
    86:86:boolean shouldKeep(com.android.tools.r8.graph.DexType):73:73 -> c
    87:87:boolean shouldKeep(com.android.tools.r8.graph.DexType):73:73 -> c
    79:83:boolean shouldKeep(com.android.tools.r8.graph.DexType):73:77 -> c
    84:84:boolean shouldKeep(com.android.tools.r8.graph.DexType):74:74 -> c
com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep$2 -> com.android.tools.r8.internal.Gb:
    1:1:void <init>():205:205 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):205:205 -> compare
    2:2:int com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep$2.compare(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):208:208 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):205 -> compare
com.android.tools.r8.dex.CodeToKeep$DesugaredLibraryCodeToKeep$KeepStruct -> com.android.tools.r8.internal.Hb:
    java.util.Set fields -> a
    java.util.Set methods -> b
    boolean all -> c
    1:5:void <init>():52:56 -> <init>
    6:6:void <init>(com.android.tools.r8.dex.CodeToKeep$1):52:52 -> <init>
com.android.tools.r8.dex.CodeToKeep$NopCodeToKeep -> com.android.tools.r8.internal.Jb:
    1:1:void <init>():214:214 -> <init>
    boolean isNop() -> a
    void recordClass(com.android.tools.r8.graph.DexType) -> a
    void recordField(com.android.tools.r8.graph.DexField) -> a
    void recordHierarchyOf(com.android.tools.r8.graph.DexProgramClass) -> a
    void recordMethod(com.android.tools.r8.graph.DexMethod) -> a
    1:1:void generateKeepRules(com.android.tools.r8.utils.InternalOptions):238:238 -> a
com.android.tools.r8.dex.CompatByteBuffer -> com.android.tools.r8.internal.vc:
    java.nio.ByteBuffer buffer -> a
    1:2:void <init>(java.nio.ByteBuffer):21:22 -> <init>
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> a
    1:1:byte[] array():57 -> a
    2:2:byte[] array():57:57 -> a
    3:3:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> a
    3:3:byte get(int):101 -> a
    4:4:byte get(int):101:101 -> a
    5:5:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> a
    5:5:void get(byte[]):105 -> a
    6:6:void get(byte[]):105:105 -> a
    7:7:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> a
    7:7:void order(java.nio.ByteOrder):93 -> a
    8:8:void order(java.nio.ByteOrder):93:93 -> a
    9:9:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> a
    9:9:void put(byte):121 -> a
    10:10:void put(byte):121:121 -> a
    11:11:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> a
    11:11:void putShort(short):125 -> a
    12:12:void putShort(short):125:125 -> a
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> b
    1:1:int arrayOffset():61 -> b
    2:2:int arrayOffset():61:61 -> b
    3:3:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> b
    3:3:int getInt(int):113 -> b
    4:4:int getInt(int):113:113 -> b
    5:5:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> b
    5:5:void put(byte[]):133 -> b
    6:6:void put(byte[]):133:133 -> b
    1:1:com.android.tools.r8.dex.CompatByteBuffer wrap(byte[]):26:26 -> c
    2:2:java.nio.Buffer com.android.tools.r8.dex.CompatByteBuffer.asBuffer():30:30 -> c
    2:2:void position(int):43 -> c
    3:3:void position(int):43:43 -> c
    4:4:java.nio.ByteBuffer asByteBuffer():34:34 -> c
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> d
    1:1:java.nio.ShortBuffer asShortBuffer():89 -> d
    2:2:java.nio.ShortBuffer asShortBuffer():89:89 -> d
    3:3:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> d
    3:3:void putInt(int):129 -> d
    4:4:void putInt(int):129:129 -> d
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> e
    1:1:int capacity():65 -> e
    2:2:int capacity():65:65 -> e
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> f
    1:1:byte get():97 -> f
    2:2:byte get():97:97 -> f
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> g
    1:1:int getInt():109 -> g
    2:2:int getInt():109:109 -> g
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> h
    1:1:short getShort():117 -> h
    2:2:short getShort():117:117 -> h
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> i
    1:1:boolean hasArray():69 -> i
    2:2:boolean hasArray():69:69 -> i
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> j
    1:1:boolean hasRemaining():73 -> j
    2:2:boolean hasRemaining():73:73 -> j
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> k
    1:1:int position():77 -> k
    2:2:int position():77:77 -> k
    1:1:java.nio.ByteBuffer com.android.tools.r8.dex.CompatByteBuffer.asByteBuffer():34:34 -> l
    1:1:int remaining():81 -> l
    2:2:int remaining():81:81 -> l
    1:1:java.nio.Buffer com.android.tools.r8.dex.CompatByteBuffer.asBuffer():30:30 -> m
    1:1:void rewind():48 -> m
    2:2:void rewind():48:48 -> m
com.android.tools.r8.dex.Constants -> com.android.tools.r8.internal.Cd:
    byte[] VDEX_FILE_MAGIC_PREFIX -> b
    byte[] DEX_FILE_MAGIC_PREFIX -> a
    com.android.tools.r8.cf.CfVersion CORRESPONDING_CLASS_FILE_VERSION -> c
    1:12:void <clinit>():10:21 -> <clinit>
com.android.tools.r8.dex.DebugBytecodeWriter -> com.android.tools.r8.internal.Be:
    com.android.tools.r8.graph.ObjectToOffsetMapping mapping -> a
    java.nio.ByteBuffer buffer -> d
    com.android.tools.r8.graph.DexDebugInfoForWriting info -> c
    com.android.tools.r8.graph.GraphLens graphLens -> b
    1:5:void <init>(com.android.tools.r8.graph.DexDebugInfoForWriting,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):23:27 -> <init>
    1:2:byte[] generate():31:32 -> a
    3:6:void com.android.tools.r8.dex.DebugBytecodeWriter.maybeGrow(int):36:39 -> a
    3:6:void putByte(int):44 -> a
    7:7:void putByte(int):45:45 -> a
    8:8:void com.android.tools.r8.dex.DebugBytecodeWriter.putNoIndex():65:65 -> a
    8:8:void putString(com.android.tools.r8.graph.DexString):79 -> a
    9:9:void putString(com.android.tools.r8.graph.DexString):81:81 -> a
    10:10:void com.android.tools.r8.dex.DebugBytecodeWriter.putUleb128p1(int):61:61 -> a
    10:10:void putString(com.android.tools.r8.graph.DexString):82 -> a
    11:11:void com.android.tools.r8.dex.DebugBytecodeWriter.putNoIndex():65:65 -> a
    11:11:void putType(com.android.tools.r8.graph.DexType):70 -> a
    12:12:void putType(com.android.tools.r8.graph.DexType):72:72 -> a
    13:13:void com.android.tools.r8.dex.DebugBytecodeWriter.putUleb128p1(int):61:61 -> a
    13:13:void putType(com.android.tools.r8.graph.DexType):73 -> a
    1:2:void putSleb128(int):49:50 -> b
    3:6:void com.android.tools.r8.dex.DebugBytecodeWriter.maybeGrow(int):36:39 -> b
    3:6:void putSleb128(int):50 -> b
    7:7:void putSleb128(int):51:51 -> b
    1:2:void putUleb128(int):55:56 -> c
    3:6:void com.android.tools.r8.dex.DebugBytecodeWriter.maybeGrow(int):36:39 -> c
    3:6:void putUleb128(int):56 -> c
    7:7:void putUleb128(int):57:57 -> c
com.android.tools.r8.dex.DexOutputBuffer -> com.android.tools.r8.dex.e:
    com.android.tools.r8.dex.CompatByteBuffer byteBuffer -> b
    com.android.tools.r8.ByteBufferProvider byteBufferProvider -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>():30:30 -> <init>
    2:4:void <init>(com.android.tools.r8.ByteBufferProvider):33:35 -> <init>
    1:6:void putInstructions(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.dex.CodeToKeep):99:104 -> a
    7:10:void putInstructions(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.dex.CodeToKeep):103:106 -> a
    11:12:void putByte(byte):110:111 -> a
    13:14:void putBytes(byte[]):115:116 -> a
    15:16:void putShort(short):120:121 -> a
    17:21:int align(int):136:140 -> a
    22:22:byte[] asArray():167:167 -> a
    1:20:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):50:69 -> b
    21:21:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):64:64 -> b
    22:22:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":170,"2":171,"3":172}}
    170:170:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):64:64 -> b
    171:171:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):64:64 -> b
    172:172:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):64:64 -> b
    88:88:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):66:66 -> b
    89:89:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    89:89:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):66 -> b
    90:90:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):66:66 -> b
    91:91:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):56:56 -> b
    92:92:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":173,"2":174,"3":175,"4":176,"5":177}}
    173:173:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):56:56 -> b
    174:174:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):56:56 -> b
    175:175:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):56:56 -> b
    176:176:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):56:56 -> b
    177:177:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):56:56 -> b
    153:153:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):61:61 -> b
    154:154:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    154:154:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):61 -> b
    155:155:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):61:61 -> b
    156:156:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):52:52 -> b
    157:157:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    157:157:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):52 -> b
    158:158:com.android.tools.r8.dex.CompatByteBuffer allocateByteBuffer(int):52:52 -> b
    178:178:int position():145:145 -> b
    1:6:void ensureSpaceFor(int):39:44 -> c
    7:8:void freeByteBuffer(com.android.tools.r8.dex.CompatByteBuffer):74:75 -> c
    7:8:void ensureSpaceFor(int):44 -> c
    9:9:void ensureSpaceFor(int):45:45 -> c
    10:11:com.android.tools.r8.dex.CompatByteBuffer stealByteBuffer():171:172 -> c
    1:2:void forward(int):149:150 -> d
    1:2:void moveTo(int):158:159 -> e
    1:2:void putInt(int):125:126 -> f
com.android.tools.r8.dex.DexOutputBuffer$1 -> com.android.tools.r8.dex.d:
    1:1:void <init>():30:30 -> <init>
com.android.tools.r8.dex.DexParser -> com.android.tools.r8.dex.i:
    com.android.tools.r8.graph.OffsetToObjectMapping indexedItems -> h
    com.android.tools.r8.graph.ClassKind classKind -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap checksums -> g
    com.android.tools.r8.origin.Origin origin -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap offsetMap -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap codes -> i
    com.android.tools.r8.dex.DexReader dexReader -> b
    com.android.tools.r8.dex.DexSection[] dexSections -> c
    int[] stringIDs -> d
    boolean $assertionsDisabled -> l
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> k
    com.android.tools.r8.utils.InternalOptions options -> f
    1:1:void <clinit>():89:89 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.DexReader,com.android.tools.r8.graph.ClassKind,com.android.tools.r8.utils.InternalOptions):135:135 -> <init>
    2:22:void <init>(com.android.tools.r8.dex.DexReader,com.android.tools.r8.graph.ClassKind,com.android.tools.r8.utils.InternalOptions):124:144 -> <init>
    1:1:com.android.tools.r8.dex.DexSection[] parseMapFrom(java.nio.file.Path):101:101 -> a
    2:2:com.android.tools.r8.dex.DexSection[] parseMapFrom(java.io.InputStream,com.android.tools.r8.origin.Origin):105:105 -> a
    3:5:com.android.tools.r8.dex.DexSection[] parseMapFrom(com.android.tools.r8.dex.DexReader):109:111 -> a
    3:5:com.android.tools.r8.dex.DexSection[] parseMapFrom(java.io.InputStream,com.android.tools.r8.origin.Origin):105 -> a
    6:15:java.lang.Object cacheAt(int,java.util.function.Supplier):438:447 -> a
    16:17:com.android.tools.r8.graph.DexAnnotation parseAnnotation():452:453 -> a
    18:18:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    18:18:com.android.tools.r8.graph.DexAnnotation parseAnnotation():453 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    19:19:com.android.tools.r8.graph.DexAnnotation parseAnnotation():453 -> a
    20:20:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    20:20:com.android.tools.r8.graph.DexAnnotation parseAnnotation():453 -> a
    21:21:com.android.tools.r8.graph.DexAnnotation parseAnnotation():455:455 -> a
    22:22:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> a
    22:22:com.android.tools.r8.graph.DexAnnotation parseAnnotation():455 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    23:23:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> a
    23:23:com.android.tools.r8.graph.DexAnnotation parseAnnotation():455 -> a
    24:24:com.android.tools.r8.graph.DexAnnotation parseAnnotation():456:456 -> a
    25:25:com.android.tools.r8.graph.DexAnnotation annotationAt(int):460:460 -> a
    26:31:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):655:660 -> a
    32:32:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    32:32:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):660 -> a
    33:34:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):661:662 -> a
    35:35:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    35:35:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):662 -> a
    36:46:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):662:672 -> a
    47:48:java.lang.String com.android.tools.r8.graph.DexAnnotation.getSignature(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):286:287 -> a
    47:48:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):672 -> a
    49:52:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):674:677 -> a
    53:63:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):676:686 -> a
    64:64:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    64:64:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):687 -> a
    65:65:com.android.tools.r8.graph.DexEncodedField[] readFields(int,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexValue[]):688:688 -> a
    66:73:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):698:705 -> a
    74:74:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    74:74:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):705 -> a
    75:75:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):706:706 -> a
    76:76:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    76:76:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):706 -> a
    77:78:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):706:707 -> a
    79:79:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    79:79:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):707 -> a
    80:81:void ensureCodesInited(int):152:153 -> a
    80:81:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    82:82:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    82:82:void ensureCodesInited(int):153 -> a
    82:82:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    83:96:void ensureCodesInited(int):153:166 -> a
    83:96:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    97:97:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    97:97:void ensureCodesInited(int):166 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    97:97:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    98:98:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    98:98:void ensureCodesInited(int):166 -> a
    98:98:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    99:100:void ensureCodesInited(int):167:168 -> a
    99:100:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    101:101:void com.android.tools.r8.dex.BinaryReader.align(int):90:90 -> a
    101:101:void ensureCodesInited(int):168 -> a
    101:101:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    102:102:void com.android.tools.r8.dex.BinaryReader.align(int):91:91 -> a
    102:102:void ensureCodesInited(int):168 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    102:102:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    103:105:void com.android.tools.r8.dex.BinaryReader.align(int):91:93 -> a
    103:105:void ensureCodesInited(int):168 -> a
    103:105:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    106:118:com.android.tools.r8.graph.DexCode parseCodeItem():928:940 -> a
    106:118:void ensureCodesInited(int):169 -> a
    106:118:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    119:119:short com.android.tools.r8.dex.BinaryReader.getShort():68:68 -> a
    119:119:com.android.tools.r8.graph.DexCode parseCodeItem():940 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    119:119:void ensureCodesInited(int):169 -> a
    119:119:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    120:120:short com.android.tools.r8.dex.BinaryReader.getShort():68:68 -> a
    120:120:com.android.tools.r8.graph.DexCode parseCodeItem():940 -> a
    120:120:void ensureCodesInited(int):169 -> a
    120:120:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    121:136:com.android.tools.r8.graph.DexCode parseCodeItem():940:955 -> a
    121:136:void ensureCodesInited(int):169 -> a
    121:136:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    137:137:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    137:137:com.android.tools.r8.graph.DexCode parseCodeItem():955 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    137:137:void ensureCodesInited(int):169 -> a
    137:137:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    138:138:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    138:138:com.android.tools.r8.graph.DexCode parseCodeItem():955 -> a
    138:138:void ensureCodesInited(int):169 -> a
    138:138:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    139:139:com.android.tools.r8.graph.DexCode parseCodeItem():957:957 -> a
    139:139:void ensureCodesInited(int):169 -> a
    139:139:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    140:140:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    140:140:com.android.tools.r8.graph.DexCode parseCodeItem():957 -> a
    140:140:void ensureCodesInited(int):169 -> a
    140:140:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    141:145:com.android.tools.r8.graph.DexCode parseCodeItem():958:962 -> a
    141:145:void ensureCodesInited(int):169 -> a
    141:145:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    146:146:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    146:146:com.android.tools.r8.graph.DexCode parseCodeItem():962 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    146:146:void ensureCodesInited(int):169 -> a
    146:146:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    147:147:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    147:147:com.android.tools.r8.graph.DexCode parseCodeItem():962 -> a
    147:147:void ensureCodesInited(int):169 -> a
    147:147:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    148:150:com.android.tools.r8.graph.DexCode parseCodeItem():963:965 -> a
    148:150:void ensureCodesInited(int):169 -> a
    148:150:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    151:151:int com.android.tools.r8.dex.BinaryReader.getSleb128():48:48 -> a
    151:151:com.android.tools.r8.graph.DexCode parseCodeItem():965 -> a
    151:151:void ensureCodesInited(int):169 -> a
    151:151:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    152:156:com.android.tools.r8.graph.DexCode parseCodeItem():966:970 -> a
    152:156:void ensureCodesInited(int):169 -> a
    152:156:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    157:157:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    157:157:com.android.tools.r8.graph.DexCode parseCodeItem():970 -> a
    157:157:void ensureCodesInited(int):169 -> a
    157:157:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    158:158:com.android.tools.r8.graph.DexCode parseCodeItem():971:971 -> a
    158:158:void ensureCodesInited(int):169 -> a
    158:158:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    159:159:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    159:159:com.android.tools.r8.graph.DexCode parseCodeItem():971 -> a
    159:159:void ensureCodesInited(int):169 -> a
    159:159:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    160:164:com.android.tools.r8.graph.DexCode parseCodeItem():972:976 -> a
    160:164:void ensureCodesInited(int):169 -> a
    160:164:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    165:165:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    165:165:com.android.tools.r8.graph.DexCode parseCodeItem():976 -> a
    165:165:void ensureCodesInited(int):169 -> a
    165:165:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    166:169:com.android.tools.r8.graph.DexCode parseCodeItem():978:981 -> a
    166:169:void ensureCodesInited(int):169 -> a
    166:169:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    170:170:void com.android.tools.r8.graph.DexCode$Try.setHandlerIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):739:739 -> a
    170:170:com.android.tools.r8.graph.DexCode parseCodeItem():982 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    170:170:void ensureCodesInited(int):169 -> a
    170:170:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    171:171:void com.android.tools.r8.graph.DexCode$Try.setHandlerIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):739:739 -> a
    171:171:com.android.tools.r8.graph.DexCode parseCodeItem():982 -> a
    171:171:void ensureCodesInited(int):169 -> a
    171:171:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    172:172:com.android.tools.r8.graph.DexCode parseCodeItem():987:987 -> a
    172:172:void ensureCodesInited(int):169 -> a
    172:172:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    173:173:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    173:173:com.android.tools.r8.graph.DexCode parseCodeItem():987 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    173:173:void ensureCodesInited(int):169 -> a
    173:173:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    174:174:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    174:174:com.android.tools.r8.graph.DexCode parseCodeItem():987 -> a
    174:174:void ensureCodesInited(int):169 -> a
    174:174:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    175:180:com.android.tools.r8.graph.DexCode parseCodeItem():988:993 -> a
    175:180:void ensureCodesInited(int):169 -> a
    175:180:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    181:182:void ensureCodesInited(int):170:171 -> a
    181:182:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):710 -> a
    183:191:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):711:719 -> a
    192:193:java.lang.String com.android.tools.r8.graph.DexAnnotation.getSignature(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):286:287 -> a
    192:193:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):719 -> a
    194:197:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):721:724 -> a
    198:215:com.android.tools.r8.graph.DexEncodedMethod[] readMethods(int,com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[],boolean):723:740 -> a
    216:235:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):746:765 -> a
    236:236:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    236:236:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):765 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    237:237:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> a
    237:237:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):765 -> a
    238:238:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    238:238:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):765 -> a
    239:241:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):767:769 -> a
    242:242:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
    242:242:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):769 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    243:243:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
    243:243:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):769 -> a
    244:246:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):769:771 -> a
    247:247:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
    247:247:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):771 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    248:248:int com.android.tools.r8.dex.BinaryReader.getInt():78:78 -> a
    248:248:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):771 -> a
    249:287:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):771:809 -> a
    288:288:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    288:288:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):809 -> a
    289:289:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):810:810 -> a
    290:290:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    290:290:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):810 -> a
    291:291:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):811:811 -> a
    292:292:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    292:292:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):811 -> a
    293:293:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):812:812 -> a
    294:294:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> a
    294:294:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):812 -> a
    295:297:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):814:814 -> a
    299:340:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):816:857 -> a
    341:362:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):839:860 -> a
    363:363:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    364:364:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1154,"2":1155,"3":1156}}
    1154:1154:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1155:1155:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1156:1156:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1151:1151:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1152:1152:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1152:1152:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1152:1152:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787 -> a
    1153:1153:void addClassDefsTo(java.util.function.Consumer,com.android.tools.r8.graph.ApplicationReaderMap):787:787 -> a
    1157:1157:long lambda$addClassDefsTo$0(java.lang.Long,com.android.tools.r8.graph.DexProgramClass):836:836 -> a
    1:2:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():464:465 -> b
    3:3:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> b
    3:3:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():465 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> b
    4:4:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():465 -> b
    5:5:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    5:5:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():465 -> b
    6:14:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():467:475 -> b
    15:16:boolean retainAnnotation(com.android.tools.r8.graph.DexAnnotation):494:495 -> b
    15:16:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():476 -> b
    17:25:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():477:485 -> b
    26:26:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(com.android.tools.r8.graph.DexAnnotation[]):74:74 -> b
    26:26:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485 -> b
    27:30:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(java.util.List):78:81 -> b
    27:30:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(com.android.tools.r8.graph.DexAnnotation[]):74 -> b
    27:30:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():485 -> b
    31:31:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():490:490 -> b
    32:32:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
    33:33:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":38,"2":39,"3":40}}
    38:38:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
    39:39:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
    40:40:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():487:487 -> b
    34:34:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":41,"2":42,"3":43,"4":44}}
    41:41:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
    42:42:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
    43:43:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
    44:44:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
    35:35:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    35:35:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488 -> b
    36:36:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    36:36:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    36:36:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488 -> b
    37:37:com.android.tools.r8.graph.DexAnnotationSet parseAnnotationSet():488:488 -> b
    45:45:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):499:499 -> b
    46:48:java.lang.Object cacheAt(int,java.util.function.Supplier,java.util.function.Supplier):429:431 -> b
    46:48:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):499 -> b
    49:49:com.android.tools.r8.graph.DexAnnotationSet annotationSetAt(int):499:499 -> b
    1:1:com.android.tools.r8.graph.ParameterAnnotationsList annotationSetRefListAt(int):388:388 -> c
    2:9:com.android.tools.r8.graph.ParameterAnnotationsList parseAnnotationSetRefList():392:399 -> c
    10:10:com.android.tools.r8.graph.ParameterAnnotationsList com.android.tools.r8.graph.ParameterAnnotationsList.create(com.android.tools.r8.graph.DexAnnotationSet[]):72:72 -> c
    10:10:com.android.tools.r8.graph.ParameterAnnotationsList parseAnnotationSetRefList():401 -> c
    1:1:com.android.tools.r8.dex.DexParser$AnnotationsDirectory annotationsDirectoryAt(int):503:503 -> d
    2:4:java.lang.Object cacheAt(int,java.util.function.Supplier,java.util.function.Supplier):429:431 -> d
    2:4:com.android.tools.r8.dex.DexParser$AnnotationsDirectory annotationsDirectoryAt(int):503 -> d
    5:5:com.android.tools.r8.dex.DexParser$AnnotationsDirectory annotationsDirectoryAt(int):503:503 -> d
    6:9:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():508:511 -> d
    10:16:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):349:355 -> d
    10:16:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512 -> d
    17:17:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    17:17:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):355 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512 -> d
    18:18:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    18:18:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):355 -> d
    18:18:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512 -> d
    19:25:com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] parseFieldAnnotations(int):356:362 -> d
    19:25:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():512 -> d
    26:32:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):370:376 -> d
    26:32:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
    33:33:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    33:33:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):376 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:33:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
    34:34:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    34:34:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):376 -> d
    34:34:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
    35:41:com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] parseMethodAnnotations(int):377:383 -> d
    35:41:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():513 -> d
    42:48:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):408:414 -> d
    42:48:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
    49:49:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    49:49:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):414 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    49:49:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
    50:50:int com.android.tools.r8.dex.BinaryReader.position():82:82 -> d
    50:50:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):414 -> d
    50:50:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
    51:59:com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parseParameterAnnotations(int):415:423 -> d
    51:59:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():514 -> d
    60:61:com.android.tools.r8.dex.DexParser$AnnotationsDirectory parseAnnotationsDirectory():515:516 -> d
    1:1:com.android.tools.r8.graph.DexDebugInfo debugInfoAt(int):523:523 -> e
    2:2:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():527:527 -> e
    3:3:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    3:3:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():527 -> e
    4:4:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():529:529 -> e
    5:5:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    5:5:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():529 -> e
    6:15:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():530:539 -> e
    16:16:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:101 -> e
    16:16:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():539 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:18:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:102 -> e
    17:18:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():539 -> e
    19:19:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():606:606 -> e
    20:23:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():597:600 -> e
    24:24:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():592:592 -> e
    25:25:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():587:587 -> e
    26:26:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():582:582 -> e
    27:27:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    27:27:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():582 -> e
    28:28:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():582:582 -> e
    29:29:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():577:577 -> e
    30:30:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    30:30:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():577 -> e
    31:31:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():577:577 -> e
    32:32:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():564:564 -> e
    33:33:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    33:33:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():564 -> e
    34:41:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():565:572 -> e
    42:42:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():568:568 -> e
    43:43:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():552:552 -> e
    44:44:int com.android.tools.r8.dex.BinaryReader.getUleb128() -> e
    44:44:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():552 -> e
    45:50:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():553:558 -> e
    51:51:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():555:555 -> e
    52:52:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():548:548 -> e
    53:53:int com.android.tools.r8.dex.BinaryReader.getSleb128():48:48 -> e
    53:53:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():548 -> e
    54:54:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():548:548 -> e
    55:55:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():544:544 -> e
    56:56:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> e
    56:56:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():544 -> e
    57:126:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():544:613 -> e
    127:127:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():541:541 -> e
    128:128:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:101 -> e
    128:128:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():541 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    129:130:int com.android.tools.r8.dex.BinaryReader.getUbyte():101:102 -> e
    129:130:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():541 -> e
    131:132:com.android.tools.r8.graph.DexDebugInfo parseDebugInfo():620:621 -> e
    1:1:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():316:316 -> f
    2:2:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> f
    2:2:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():316 -> f
    3:3:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():317:317 -> f
    4:4:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> f
    4:4:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():317 -> f
    5:7:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():318:320 -> f
    8:8:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> f
    8:8:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():320 -> f
    9:12:com.android.tools.r8.graph.DexEncodedAnnotation parseEncodedAnnotation():321:324 -> f
    13:13:com.android.tools.r8.graph.DexEncodedArray encodedArrayAt(int):342:342 -> f
    1:1:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338:338 -> g
    2:2:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328:328 -> g
    2:2:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338 -> g
    3:3:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> g
    3:3:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328 -> g
    3:3:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338 -> g
    4:6:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():329:331 -> g
    4:6:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338 -> g
    7:7:com.android.tools.r8.graph.DexEncodedArray parseEncodedArray():338:338 -> g
    8:14:com.android.tools.r8.dex.DexSection lookupSection(int):877:883 -> g
    1:3:com.android.tools.r8.graph.DexTypeList typeListAt(int):185:187 -> h
    4:4:com.android.tools.r8.graph.DexValue parseEncodedValue():191:191 -> h
    5:5:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> h
    5:5:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> h
    6:6:com.android.tools.r8.graph.DexValue parseEncodedValue():191 -> h
    7:7:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):93:93 -> h
    7:7:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    8:8:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):91:91 -> h
    8:8:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    9:9:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):89:89 -> h
    9:9:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    10:10:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):87:87 -> h
    10:10:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    11:11:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):85:85 -> h
    11:11:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    12:12:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):83:83 -> h
    12:12:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    13:13:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):81:81 -> h
    13:13:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    14:14:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):79:79 -> h
    14:14:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    15:15:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):77:77 -> h
    15:15:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    16:16:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):75:75 -> h
    16:16:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    17:17:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):73:73 -> h
    17:17:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    18:18:com.android.tools.r8.graph.DexValue parseEncodedValue():194:194 -> h
    19:19:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):95:95 -> h
    19:19:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    20:20:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):71:71 -> h
    20:20:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    21:21:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):69:69 -> h
    21:21:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    22:22:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):65:65 -> h
    22:22:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    23:23:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):63:63 -> h
    23:23:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    24:30:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):61:67 -> h
    24:30:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    31:31:com.android.tools.r8.graph.DexValue$DexValueKind com.android.tools.r8.graph.DexValue$DexValueKind.fromId(int):59:59 -> h
    31:31:com.android.tools.r8.graph.DexValue parseEncodedValue():194 -> h
    32:140:com.android.tools.r8.graph.DexValue parseEncodedValue():194:302 -> h
    141:141:com.android.tools.r8.graph.DexValue parseEncodedValue():286:286 -> h
    142:143:com.android.tools.r8.graph.DexValue parseEncodedValue():280:281 -> h
    144:145:com.android.tools.r8.graph.DexValue parseEncodedValue():275:276 -> h
    146:147:com.android.tools.r8.graph.DexValue parseEncodedValue():270:271 -> h
    148:148:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328:328 -> h
    148:148:com.android.tools.r8.graph.DexValue parseEncodedValue():271 -> h
    149:149:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> h
    149:149:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():328 -> h
    149:149:com.android.tools.r8.graph.DexValue parseEncodedValue():271 -> h
    150:152:com.android.tools.r8.graph.DexValue[] parseEncodedArrayValues():329:331 -> h
    150:152:com.android.tools.r8.graph.DexValue parseEncodedValue():271 -> h
    153:153:com.android.tools.r8.graph.DexValue parseEncodedValue():271:271 -> h
    154:155:com.android.tools.r8.graph.DexValue parseEncodedValue():265:266 -> h
    156:157:com.android.tools.r8.graph.DexValue parseEncodedValue():258:259 -> h
    158:160:void checkName(com.android.tools.r8.graph.DexString):307:309 -> h
    158:160:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    161:161:com.android.tools.r8.graph.DexValue parseEncodedValue():0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":255,"2":256,"3":257}}
    255:255:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    255:255:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    256:256:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    256:256:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    257:257:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    257:257:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    162:162:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
    162:162:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    163:163:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> h
    163:163:void checkName(com.android.tools.r8.graph.DexString):310 -> h
    163:163:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    164:164:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
    164:164:com.android.tools.r8.graph.DexValue parseEncodedValue():259 -> h
    165:165:com.android.tools.r8.graph.DexValue parseEncodedValue():260:260 -> h
    166:167:com.android.tools.r8.graph.DexValue parseEncodedValue():251:252 -> h
    168:170:void checkName(com.android.tools.r8.graph.DexString):307:309 -> h
    168:170:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    171:171:com.android.tools.r8.graph.DexValue parseEncodedValue():0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":258,"2":259,"3":260}}
    258:258:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    258:258:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    259:259:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    259:259:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    260:260:void checkName(com.android.tools.r8.graph.DexString):309:309 -> h
    260:260:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    172:172:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
    172:172:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    173:173:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> h
    173:173:void checkName(com.android.tools.r8.graph.DexString):310 -> h
    173:173:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    174:174:void checkName(com.android.tools.r8.graph.DexString):310:310 -> h
    174:174:com.android.tools.r8.graph.DexValue parseEncodedValue():252 -> h
    175:175:com.android.tools.r8.graph.DexValue parseEncodedValue():253:253 -> h
    176:177:com.android.tools.r8.graph.DexValue parseEncodedValue():245:246 -> h
    178:239:com.android.tools.r8.graph.DexValue parseEncodedValue():238:299 -> h
    240:241:com.android.tools.r8.graph.DexValue parseEncodedValue():291:292 -> h
    242:242:com.android.tools.r8.graph.DexValue parseEncodedValue():233:233 -> h
    243:243:com.android.tools.r8.graph.DexValue parseEncodedValue():228:228 -> h
    244:245:com.android.tools.r8.graph.DexValue parseEncodedValue():222:223 -> h
    246:247:com.android.tools.r8.graph.DexValue parseEncodedValue():216:217 -> h
    248:249:com.android.tools.r8.graph.DexValue parseEncodedValue():210:211 -> h
    250:251:com.android.tools.r8.graph.DexValue parseEncodedValue():204:205 -> h
    252:254:com.android.tools.r8.graph.DexValue parseEncodedValue():197:199 -> h
    1:1:com.android.tools.r8.dex.DexSection[] parseMap():888:888 -> i
    2:2:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:72 -> i
    2:2:com.android.tools.r8.dex.DexSection[] parseMap():888 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> i
    3:4:com.android.tools.r8.dex.DexSection[] parseMap():888 -> i
    5:13:com.android.tools.r8.dex.DexSection[] parseMap():889:897 -> i
    14:14:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    14:14:com.android.tools.r8.dex.DexSection[] parseMap():897 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    15:15:com.android.tools.r8.dex.DexSection[] parseMap():897 -> i
    16:16:com.android.tools.r8.dex.DexSection[] parseMap():910:910 -> i
    17:17:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
    18:18:com.android.tools.r8.dex.DexSection[] parseMap():0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":946,"2":947,"3":948}}
    946:946:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
    947:947:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
    948:948:com.android.tools.r8.dex.DexSection[] parseMap():898:898 -> i
    919:919:com.android.tools.r8.dex.DexSection[] parseMap():901:901 -> i
    920:920:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    920:920:com.android.tools.r8.dex.DexSection[] parseMap():907 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    921:921:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    921:921:com.android.tools.r8.dex.DexSection[] parseMap():907 -> i
    922:922:com.android.tools.r8.dex.DexSection[] parseMap():907:907 -> i
    923:923:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> i
    923:923:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> i
    923:923:com.android.tools.r8.dex.DexSection[] parseMap():907 -> i
    924:934:com.android.tools.r8.dex.DexSection[] parseMap():907:917 -> i
    935:942:com.android.tools.r8.dex.DexSection[] parseMap():916:923 -> i
    943:943:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    943:943:com.android.tools.r8.dex.DexSection[] parseMap():923 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    944:944:int com.android.tools.r8.dex.BinaryReader.end():107:107 -> i
    944:944:com.android.tools.r8.dex.DexSection[] parseMap():923 -> i
    945:945:com.android.tools.r8.dex.DexSection[] parseMap():923:923 -> i
    1:8:void parseStringIDs():865:872 -> j
    1:5:com.android.tools.r8.graph.DexTypeList parseTypeList():176:180 -> k
    1:3:void populateStrings():1009:1011 -> l
    1:3:void populateIndexTables():998 -> l
    4:6:com.android.tools.r8.graph.DexString stringAt(int):1238:1240 -> l
    4:6:void populateStrings():1011 -> l
    4:6:void populateIndexTables():998 -> l
    7:7:int com.android.tools.r8.dex.BinaryReader.getUleb128():44:44 -> l
    7:7:com.android.tools.r8.graph.DexString stringAt(int):1240 -> l
    7:7:void populateStrings():1011 -> l
    7:7:void populateIndexTables():998 -> l
    8:11:com.android.tools.r8.graph.DexString stringAt(int):1241:1244 -> l
    8:11:void populateStrings():1011 -> l
    8:11:void populateIndexTables():998 -> l
    12:12:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> l
    12:12:com.android.tools.r8.graph.DexString stringAt(int):1244 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:void populateStrings():1011 -> l
    12:12:void populateIndexTables():998 -> l
    13:13:byte com.android.tools.r8.dex.BinaryReader.get():97:97 -> l
    13:13:com.android.tools.r8.graph.DexString stringAt(int):1244 -> l
    13:13:void populateStrings():1011 -> l
    13:13:void populateIndexTables():998 -> l
    14:16:com.android.tools.r8.graph.DexString stringAt(int):1245:1247 -> l
    14:16:void populateStrings():1011 -> l
    14:16:void populateIndexTables():998 -> l
    17:17:void populateStrings():1011:1011 -> l
    17:17:void populateIndexTables():998 -> l
    18:26:void populateChecksums():1044:1052 -> l
    18:26:void populateIndexTables():999 -> l
    27:28:void populateTypes():1032:1033 -> l
    27:28:void populateIndexTables():1000 -> l
    29:48:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):1061:1080 -> l
    29:48:void populateTypes():1033 -> l
    29:48:void populateIndexTables():1000 -> l
    49:49:boolean verifyOrderOfTypeIds(com.android.tools.r8.dex.DexSection):1075:1075 -> l
    49:49:void populateTypes():1033 -> l
    49:49:void populateIndexTables():1000 -> l
    50:52:void populateTypes():1034:1036 -> l
    50:52:void populateIndexTables():1000 -> l
    53:58:com.android.tools.r8.graph.DexType typeAt(int):1251:1256 -> l
    53:58:void populateTypes():1037 -> l
    53:58:void populateIndexTables():1000 -> l
    59:59:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:72 -> l
    59:59:com.android.tools.r8.graph.DexType typeAt(int):1256 -> l
    59:59:void populateTypes():1037 -> l
    59:59:void populateIndexTables():1000 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    60:61:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> l
    60:61:com.android.tools.r8.graph.DexType typeAt(int):1256 -> l
    60:61:void populateTypes():1037 -> l
    60:61:void populateIndexTables():1000 -> l
    62:62:com.android.tools.r8.graph.DexType typeAt(int):1257:1257 -> l
    62:62:void populateTypes():1037 -> l
    62:62:void populateIndexTables():1000 -> l
    63:64:void populateTypes():1038:1039 -> l
    63:64:void populateIndexTables():1000 -> l
    65:66:void populateFields():1089:1090 -> l
    65:66:void populateIndexTables():1001 -> l
    67:102:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1105:1140 -> l
    67:102:void populateFields():1090 -> l
    67:102:void populateIndexTables():1001 -> l
    103:113:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1137:1147 -> l
    103:113:void populateFields():1090 -> l
    103:113:void populateIndexTables():1001 -> l
    114:118:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1144:1148 -> l
    114:118:void populateFields():1090 -> l
    114:118:void populateIndexTables():1001 -> l
    119:119:boolean verifyOrderOfFieldIds(com.android.tools.r8.dex.DexSection):1133:1133 -> l
    119:119:void populateFields():1090 -> l
    119:119:void populateIndexTables():1001 -> l
    120:122:void populateFields():1091:1093 -> l
    120:122:void populateIndexTables():1001 -> l
    123:135:com.android.tools.r8.graph.DexField fieldAt(int):1261:1273 -> l
    123:135:void populateFields():1093 -> l
    123:135:void populateIndexTables():1001 -> l
    136:136:void populateFields():1093:1093 -> l
    136:136:void populateIndexTables():1001 -> l
    137:140:void populateProtos():1159:1162 -> l
    137:140:void populateIndexTables():1002 -> l
    141:153:com.android.tools.r8.graph.DexProto protoAt(int):1334:1346 -> l
    141:153:void populateProtos():1162 -> l
    141:153:void populateIndexTables():1002 -> l
    154:154:void populateProtos():1162:1162 -> l
    154:154:void populateIndexTables():1002 -> l
    155:156:void populateMethods():1167:1168 -> l
    155:156:void populateIndexTables():1003 -> l
    157:192:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1184:1219 -> l
    157:192:void populateMethods():1168 -> l
    157:192:void populateIndexTables():1003 -> l
    193:203:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1216:1226 -> l
    193:203:void populateMethods():1168 -> l
    193:203:void populateIndexTables():1003 -> l
    204:208:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1223:1227 -> l
    204:208:void populateMethods():1168 -> l
    204:208:void populateIndexTables():1003 -> l
    209:209:boolean verifyOrderOfMethodIds(com.android.tools.r8.dex.DexSection):1212:1212 -> l
    209:209:void populateMethods():1168 -> l
    209:209:void populateIndexTables():1003 -> l
    210:212:void populateMethods():1169:1171 -> l
    210:212:void populateIndexTables():1003 -> l
    213:225:com.android.tools.r8.graph.DexMethod methodAt(int):1350:1362 -> l
    213:225:void populateMethods():1171 -> l
    213:225:void populateIndexTables():1003 -> l
    226:226:com.android.tools.r8.graph.DexMethod methodAt(int):1359:1359 -> l
    226:226:void populateMethods():1171 -> l
    226:226:void populateIndexTables():1003 -> l
    227:227:void populateMethods():1171:1171 -> l
    227:227:void populateIndexTables():1003 -> l
    228:231:void populateMethodHandles():1016:1019 -> l
    228:231:void populateIndexTables():1004 -> l
    232:259:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1277:1304 -> l
    232:259:void populateMethodHandles():1019 -> l
    232:259:void populateIndexTables():1004 -> l
    260:260:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1300:1300 -> l
    260:260:void populateMethodHandles():1019 -> l
    260:260:void populateIndexTables():1004 -> l
    261:277:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1292:1308 -> l
    261:277:void populateMethodHandles():1019 -> l
    261:277:void populateIndexTables():1004 -> l
    278:278:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.DexItemFactory.createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):2746:2746 -> l
    278:278:com.android.tools.r8.graph.DexMethodHandle methodHandleAt(int):1308 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    278:278:void populateMethodHandles():1019 -> l
    278:278:void populateIndexTables():1004 -> l
    279:279:void populateMethodHandles():1019:1019 -> l
    279:279:void populateIndexTables():1004 -> l
    280:283:void populateCallSites():1024:1027 -> l
    280:283:void populateIndexTables():1005 -> l
    284:288:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1313:1317 -> l
    284:288:void populateCallSites():1027 -> l
    284:288:void populateIndexTables():1005 -> l
    289:289:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:72 -> l
    289:289:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1318 -> l
    289:289:void populateCallSites():1027 -> l
    289:289:void populateIndexTables():1005 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    290:291:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> l
    290:291:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1318 -> l
    290:291:void populateCallSites():1027 -> l
    290:291:void populateIndexTables():1005 -> l
    292:294:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1319:1321 -> l
    292:294:void populateCallSites():1027 -> l
    292:294:void populateIndexTables():1005 -> l
    295:295:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> l
    295:295:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1321 -> l
    295:295:void populateCallSites():1027 -> l
    295:295:void populateIndexTables():1005 -> l
    296:298:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1321:1323 -> l
    296:298:void populateCallSites():1027 -> l
    296:298:void populateIndexTables():1005 -> l
    299:299:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodType():0:0 -> l
    299:299:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1323 -> l
    299:299:void populateCallSites():1027 -> l
    299:299:void populateIndexTables():1005 -> l
    300:307:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1323:1330 -> l
    300:307:void populateCallSites():1027 -> l
    300:307:void populateIndexTables():1005 -> l
    308:308:com.android.tools.r8.graph.DexCallSite callSiteAt(int):1325:1325 -> l
    308:308:void populateCallSites():1027 -> l
    308:308:void populateIndexTables():1005 -> l
    309:309:void populateCallSites():1027:1027 -> l
    309:309:void populateIndexTables():1005 -> l
com.android.tools.r8.dex.DexParser$AnnotationsDirectory -> com.android.tools.r8.dex.f:
    com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] NO_METHOD_ANNOTATIONS -> g
    com.android.tools.r8.dex.DexParser$AnnotationsDirectory THE_EMPTY_ANNOTATIONS_DIRECTORY -> h
    com.android.tools.r8.graph.DexAnnotationSet clazz -> a
    com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] fields -> b
    com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] NO_PARAMETER_ANNOTATIONS -> e
    com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[] methods -> c
    com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[] parameters -> d
    com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[] NO_FIELD_ANNOTATIONS -> f
    1:11:void <clinit>():1367:1377 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation[],com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation[]):1389:1393 -> <init>
    1:1:com.android.tools.r8.dex.DexParser$AnnotationsDirectory empty():1397:1397 -> a
com.android.tools.r8.dex.DexParser$AttributesAndAnnotations -> com.android.tools.r8.dex.g:
    com.android.tools.r8.graph.EnclosingMethodAttribute enclosingMethodAttribute -> b
    java.util.List lazyAnnotations -> d
    com.android.tools.r8.graph.DexAnnotationSet originalAnnotations -> a
    java.util.List innerClasses -> c
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.GenericSignature$ClassSignature classSignature -> e
    1:1:void <clinit>():1401:1401 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1432:1432 -> <init>
    2:53:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1404:1455 -> <init>
    54:70:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1454:1470 -> <init>
    71:108:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1469:1506 -> <init>
    109:124:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.utils.InternalOptions):1501:1516 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature access$100(com.android.tools.r8.dex.DexParser$AttributesAndAnnotations):1401:1401 -> a
    2:8:com.android.tools.r8.graph.DexAnnotationSet getAnnotations():1410:1416 -> a
    9:11:void ensureAnnotations(int):1522:1524 -> a
    12:13:void copyAnnotation(com.android.tools.r8.graph.DexAnnotation):1529:1530 -> a
    1:1:com.android.tools.r8.graph.EnclosingMethodAttribute getEnclosingMethodAttribute():1424:1424 -> b
    1:1:java.util.List getInnerClasses():1420:1420 -> c
com.android.tools.r8.dex.DexParser$MemberAnnotationIterator -> com.android.tools.r8.dex.h:
    java.util.function.Supplier emptyValue -> c
    com.android.tools.r8.graph.DexMemberAnnotation[] annotations -> b
    int index -> a
    1:1:void <init>(com.android.tools.r8.graph.DexMemberAnnotation[],java.util.function.Supplier,com.android.tools.r8.dex.DexParser$1):624:624 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexMemberAnnotation[],java.util.function.Supplier):631:631 -> <init>
    3:10:void <init>(com.android.tools.r8.graph.DexMemberAnnotation[],java.util.function.Supplier):626:633 -> <init>
    1:7:com.android.tools.r8.graph.DexItem getNextFor(com.android.tools.r8.graph.DexMember):643:649 -> a
    8:8:com.android.tools.r8.graph.DexItem getNextFor(com.android.tools.r8.graph.DexMember):647:647 -> a
com.android.tools.r8.dex.DexReader -> com.android.tools.r8.dex.j:
    com.android.tools.r8.utils.DexVersion version -> d
    1:2:void <init>(com.android.tools.r8.ProgramResource):27:28 -> <init>
    3:4:void <init>(com.android.tools.r8.origin.Origin,byte[]):37:38 -> <init>
    1:23:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):44:66 -> a
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    24:24:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):66 -> a
    25:45:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):66:86 -> a
    46:46:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):84:84 -> a
    47:47:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    47:47:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):84 -> a
    48:48:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):84:84 -> a
    49:49:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):76:76 -> a
    50:50:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    50:50:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):76 -> a
    51:51:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):76:76 -> a
    52:52:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):47:47 -> a
    53:53:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    53:53:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):47 -> a
    54:54:com.android.tools.r8.utils.DexVersion parseMagic(com.android.tools.r8.dex.CompatByteBuffer):47:47 -> a
    1:1:com.android.tools.r8.utils.DexVersion getDexVersion():104:104 -> f
    1:7:void setByteOrder():92:98 -> g
    8:8:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> g
    8:8:void setByteOrder():98 -> g
    9:9:void setByteOrder():98:98 -> g
com.android.tools.r8.dex.DexSection -> com.android.tools.r8.dex.k:
    boolean $assertionsDisabled -> e
    int end -> d
    int length -> b
    int offset -> c
    int type -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:6:void <init>(int,int,int,int):15:20 -> <init>
    1:1:void setEnd(int):24:24 -> a
    2:2:int size():29:29 -> a
    1:1:java.lang.String typeName(int):77:77 -> b
    2:2:java.lang.String typeName(int):75:75 -> b
    3:3:java.lang.String typeName(int):73:73 -> b
    4:4:java.lang.String typeName(int):71:71 -> b
    5:5:java.lang.String typeName(int):69:69 -> b
    6:6:java.lang.String typeName(int):67:67 -> b
    7:7:java.lang.String typeName(int):65:65 -> b
    8:8:java.lang.String typeName(int):63:63 -> b
    9:9:java.lang.String typeName(int):61:61 -> b
    10:10:java.lang.String typeName(int):59:59 -> b
    11:11:java.lang.String typeName(int):57:57 -> b
    12:12:java.lang.String typeName(int):55:55 -> b
    13:13:java.lang.String typeName(int):53:53 -> b
    14:14:java.lang.String typeName(int):51:51 -> b
    15:15:java.lang.String typeName(int):49:49 -> b
    16:16:java.lang.String typeName(int):47:47 -> b
    17:17:java.lang.String typeName(int):45:45 -> b
    18:18:java.lang.String typeName(int):43:43 -> b
    19:19:java.lang.String typeName(int):41:41 -> b
    1:1:java.lang.String toString():83:83 -> toString
    2:2:java.lang.String typeName():33:33 -> toString
    2:2:java.lang.String toString():83 -> toString
    3:3:java.lang.String toString():83:83 -> toString
com.android.tools.r8.dex.FileWriter -> com.android.tools.r8.internal.vk:
    com.android.tools.r8.graph.GraphLens graphLens -> d
    com.android.tools.r8.graph.ObjectToOffsetMapping mapping -> a
    com.android.tools.r8.graph.DexApplication application -> b
    boolean $assertionsDisabled -> j
    com.android.tools.r8.utils.InternalOptions options -> c
    java.util.Map staticFieldValues -> i
    com.android.tools.r8.dex.DexOutputBuffer dest -> f
    com.android.tools.r8.dex.CodeToKeep desugaredLibraryCodeToKeep -> h
    com.android.tools.r8.naming.NamingLens namingLens -> e
    com.android.tools.r8.dex.FileWriter$MixedSectionOffsets mixedSectionOffsets -> g
    1:1:void <clinit>():84:84 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ByteBufferProvider,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.dex.CodeToKeep):115:115 -> <init>
    2:18:void <init>(com.android.tools.r8.ByteBufferProvider,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.dex.CodeToKeep):107:123 -> <init>
    1:1:com.android.tools.r8.dex.FileWriter$MixedSectionOffsets access$300(com.android.tools.r8.dex.FileWriter):84:84 -> a
    2:3:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):128:129 -> a
    4:4:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    4:4:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):129 -> a
    5:7:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):131:133 -> a
    8:8:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    8:8:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):133 -> a
    9:9:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):134:134 -> a
    10:10:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    10:10:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):134 -> a
    11:12:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):135:136 -> a
    13:13:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    13:13:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):136 -> a
    14:14:void writeEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation,com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):137:137 -> a
    15:15:int lambda$writeEncodedAnnotation$0(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexAnnotationElement):132:132 -> a
    16:16:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    16:16:int lambda$writeEncodedAnnotation$0(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexAnnotationElement):132 -> a
    17:35:com.android.tools.r8.dex.FileWriter collect():143:161 -> a
    36:36:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):268:268 -> a
    37:37:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2860:2860 -> a
    37:37:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):268 -> a
    38:42:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):271:275 -> a
    43:55:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):274:286 -> a
    56:66:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):285:295 -> a
    67:72:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):294:299 -> a
    73:73:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":682,"2":683,"3":684}}
    682:682:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):299:299 -> a
    683:683:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):299:299 -> a
    684:684:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):299:299 -> a
    375:375:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):302:302 -> a
    376:376:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    376:376:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):302 -> a
    377:377:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    377:377:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    377:377:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):302 -> a
    378:378:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):302:302 -> a
    379:379:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> a
    380:380:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":685,"2":686,"3":687}}
    685:685:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> a
    686:686:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> a
    687:687:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> a
    661:661:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> a
    662:662:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    662:662:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281 -> a
    663:663:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    663:663:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    663:663:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281 -> a
    664:664:void checkInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> a
    688:694:void lambda$sortDexCodesByClassName$1(java.util.List,java.util.Map,com.android.tools.r8.graph.ProgramMethod):334:340 -> a
    695:701:java.lang.String com.android.tools.r8.dex.FileWriter.getKeyForDexCodeSorting(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.ClassNameMapper):353:359 -> a
    695:701:void lambda$sortDexCodesByClassName$1(java.util.List,java.util.Map,com.android.tools.r8.graph.ProgramMethod):340 -> a
    702:702:void lambda$sortDexCodesByClassName$1(java.util.List,java.util.Map,com.android.tools.r8.graph.ProgramMethod):339:339 -> a
    703:705:void writeFixedSectionItems(java.util.Collection,int,java.util.function.Consumer):364:366 -> a
    706:710:void writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer,int):385:389 -> a
    711:712:void writeTypeItem(com.android.tools.r8.graph.DexType):434:435 -> a
    713:715:void writeProtoItem(com.android.tools.r8.graph.DexProto):439:441 -> a
    716:723:void writeFieldItem(com.android.tools.r8.graph.DexField):445:452 -> a
    724:731:void writeMethodItem(com.android.tools.r8.graph.DexMethod):456:463 -> a
    732:732:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488:488 -> a
    733:747:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):492:506 -> a
    733:747:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    748:748:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
    748:748:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):506 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    748:748:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    749:757:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):507:515 -> a
    749:757:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    758:758:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    758:758:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):515 -> a
    758:758:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    759:764:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):516:521 -> a
    759:764:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    765:765:void com.android.tools.r8.dex.DexOutputBuffer.putSleb128(int):83:83 -> a
    765:765:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):521 -> a
    765:765:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    766:767:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):522:523 -> a
    766:767:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    768:768:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    768:768:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):523 -> a
    768:768:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    769:769:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):524:524 -> a
    769:769:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    770:770:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    770:770:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):524 -> a
    770:770:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    771:774:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):525:528 -> a
    771:774:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    775:775:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    775:775:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):528 -> a
    775:775:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    776:785:void com.android.tools.r8.dex.FileWriter.writeCodeItem(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):531:540 -> a
    776:785:void writeCodeItem(com.android.tools.r8.graph.ProgramDexCode):488 -> a
    786:791:void writeTypeList(com.android.tools.r8.graph.DexTypeList):545:550 -> a
    792:793:void writeStringData(com.android.tools.r8.graph.DexString):555:556 -> a
    794:794:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    794:794:void writeStringData(com.android.tools.r8.graph.DexString):556 -> a
    795:795:void writeStringData(com.android.tools.r8.graph.DexString):557:557 -> a
    796:798:void writeAnnotation(com.android.tools.r8.graph.DexAnnotation):561:563 -> a
    799:799:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    799:799:void writeAnnotation(com.android.tools.r8.graph.DexAnnotation):563 -> a
    800:801:void writeAnnotation(com.android.tools.r8.graph.DexAnnotation):565:566 -> a
    802:804:void writeAnnotationSet(com.android.tools.r8.graph.DexAnnotationSet):570:572 -> a
    805:805:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    805:805:void writeAnnotationSet(com.android.tools.r8.graph.DexAnnotationSet):572 -> a
    806:812:void writeAnnotationSet(com.android.tools.r8.graph.DexAnnotationSet):574:580 -> a
    813:813:int lambda$writeAnnotationSet$2(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):577:577 -> a
    814:814:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    814:814:int lambda$writeAnnotationSet$2(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):577 -> a
    815:824:void writeAnnotationSetRefList(com.android.tools.r8.graph.ParameterAnnotationsList):585:594 -> a
    825:836:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):607:618 -> a
    837:839:void com.android.tools.r8.dex.FileWriter.writeMemberAnnotations(java.util.List,java.util.function.ToIntFunction):600:602 -> a
    837:839:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):618 -> a
    840:840:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):620:620 -> a
    841:843:void com.android.tools.r8.dex.FileWriter.writeMemberAnnotations(java.util.List,java.util.function.ToIntFunction):600:602 -> a
    841:843:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):620 -> a
    844:844:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):622:622 -> a
    845:847:void com.android.tools.r8.dex.FileWriter.writeMemberAnnotations(java.util.List,java.util.function.ToIntFunction):600:602 -> a
    845:847:void writeAnnotationDirectory(com.android.tools.r8.graph.DexAnnotationDirectory):622 -> a
    848:848:int lambda$writeAnnotationDirectory$3(com.android.tools.r8.graph.DexEncodedField):619:619 -> a
    849:858:void writeEncodedFields(java.util.List):627:636 -> a
    859:859:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    859:859:void writeEncodedFields(java.util.List):636 -> a
    860:860:void writeEncodedFields(java.util.List):638:638 -> a
    861:861:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    861:861:void writeEncodedFields(java.util.List):638 -> a
    862:862:void writeEncodedFields(java.util.List):639:639 -> a
    863:863:int lambda$writeEncodedFields$6(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):630:630 -> a
    864:864:int com.android.tools.r8.graph.DexField.acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> a
    864:864:int lambda$writeEncodedFields$6(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):630 -> a
    865:873:void writeEncodedMethods(java.lang.Iterable):644:652 -> a
    874:874:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    874:874:void writeEncodedMethods(java.lang.Iterable):652 -> a
    875:875:void writeEncodedMethods(java.lang.Iterable):654:654 -> a
    876:876:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    876:876:void writeEncodedMethods(java.lang.Iterable):654 -> a
    877:881:void writeEncodedMethods(java.lang.Iterable):655:659 -> a
    882:882:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    882:882:void writeEncodedMethods(java.lang.Iterable):659 -> a
    883:883:void writeEncodedMethods(java.lang.Iterable):661:661 -> a
    884:884:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    884:884:void writeEncodedMethods(java.lang.Iterable):661 -> a
    885:885:void writeEncodedMethods(java.lang.Iterable):664:664 -> a
    886:886:int lambda$writeEncodedMethods$7(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):647:647 -> a
    887:887:int com.android.tools.r8.graph.DexMethod.acceptCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> a
    887:887:int lambda$writeEncodedMethods$7(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):647 -> a
    888:891:void addStaticFieldValues(com.android.tools.r8.graph.DexProgramClass):686:689 -> a
    892:894:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):726:728 -> a
    895:895:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    895:895:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):728 -> a
    896:896:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):730:730 -> a
    897:897:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    897:897:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):730 -> a
    898:899:void writeEncodedArray(com.android.tools.r8.graph.DexEncodedArray):731:732 -> a
    900:906:int writeMapItem(int,int,int):740:746 -> a
    907:907:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1384:1384 -> a
    907:907:void writeCallSite(com.android.tools.r8.graph.DexCallSite):720 -> a
    908:908:void writeCallSite(com.android.tools.r8.graph.DexCallSite):721:721 -> a
    909:909:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> a
    909:909:void writeCallSite(com.android.tools.r8.graph.DexCallSite):721 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    910:910:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> a
    910:910:void writeCallSite(com.android.tools.r8.graph.DexCallSite):721 -> a
    911:912:void writeCallSite(com.android.tools.r8.graph.DexCallSite):721:722 -> a
    913:913:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1385:1385 -> a
    913:913:void writeCallSite(com.android.tools.r8.graph.DexCallSite):720 -> a
    914:914:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1384:1384 -> a
    914:914:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):694 -> a
    915:920:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):696:701 -> a
    921:927:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):698:704 -> a
    928:928:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> a
    928:928:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):704 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    929:929:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> a
    929:929:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):704 -> a
    930:932:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):704:706 -> a
    933:933:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    933:933:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):708 -> a
    934:934:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):709:709 -> a
    935:935:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    935:935:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):711 -> a
    936:941:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):711:716 -> a
    942:942:void com.android.tools.r8.dex.FileWriter.checkThatInvokeCustomIsAllowed():1385:1385 -> a
    942:942:void writeMethodHandle(com.android.tools.r8.graph.DexMethodHandle):694 -> a
    1:7:void com.android.tools.r8.dex.FileWriter.checkInterfaceMethods():249:255 -> b
    1:7:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():168 -> b
    8:8:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171:171 -> b
    9:22:boolean com.android.tools.r8.dex.FileWriter.verifyNames():307:320 -> b
    9:22:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171 -> b
    23:30:boolean com.android.tools.r8.graph.DexString.isValidSimpleName(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):404:411 -> b
    23:30:boolean com.android.tools.r8.dex.FileWriter.verifyNames():320 -> b
    23:30:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171 -> b
    31:32:boolean com.android.tools.r8.dex.FileWriter.verifyNames():320:321 -> b
    31:32:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171 -> b
    33:33:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):223:223 -> b
    33:33:boolean com.android.tools.r8.dex.FileWriter.verifyNames():321 -> b
    33:33:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():171 -> b
    34:41:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():173:180 -> b
    42:44:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItems(java.lang.Iterable):395:397 -> b
    42:44:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():180 -> b
    45:64:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItem(com.android.tools.r8.graph.DexWritableCode):404:423 -> b
    45:64:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItems(java.lang.Iterable):397 -> b
    45:64:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():180 -> b
    65:65:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    65:65:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItem(com.android.tools.r8.graph.DexWritableCode):424 -> b
    65:65:int com.android.tools.r8.dex.FileWriter.sizeOfCodeItems(java.lang.Iterable):397 -> b
    65:65:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():180 -> b
    66:76:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():180:190 -> b
    77:78:void com.android.tools.r8.dex.FileWriter.writeDebugItem(com.android.tools.r8.graph.DexDebugInfoForWriting,com.android.tools.r8.graph.GraphLens):483:484 -> b
    77:78:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():190 -> b
    79:83:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():196:200 -> b
    84:84:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> b
    84:84:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():200 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    85:85:boolean com.android.tools.r8.dex.DexOutputBuffer.isAligned(int):163:163 -> b
    85:85:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():200 -> b
    86:92:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():200:206 -> b
    93:93:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    93:93:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():206 -> b
    94:94:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():207:207 -> b
    95:95:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    95:95:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():207 -> b
    96:96:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():209:209 -> b
    97:97:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    97:97:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():209 -> b
    98:98:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():211:211 -> b
    99:99:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    99:99:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():211 -> b
    100:100:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():213:213 -> b
    101:101:void com.android.tools.r8.dex.FileWriter.writeItems(java.util.Collection,java.util.function.Consumer,java.util.function.Consumer):380:380 -> b
    101:101:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():213 -> b
    102:110:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():215:223 -> b
    111:116:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):751:756 -> b
    111:116:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    117:120:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):755:758 -> b
    117:120:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    121:124:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):757:760 -> b
    121:124:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    125:128:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):759:762 -> b
    125:128:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    129:132:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):761:764 -> b
    129:132:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    133:136:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):763:766 -> b
    133:136:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    137:140:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):765:768 -> b
    137:140:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    141:144:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):767:770 -> b
    141:144:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    145:148:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):769:772 -> b
    145:148:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    149:152:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):771:774 -> b
    149:152:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    153:156:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):773:776 -> b
    153:156:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    157:160:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):775:778 -> b
    157:160:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    161:164:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):777:780 -> b
    161:164:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    165:168:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):779:782 -> b
    165:168:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    169:172:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):781:784 -> b
    169:172:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    173:176:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):783:786 -> b
    173:176:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    177:181:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):785:789 -> b
    177:181:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    182:187:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):787:792 -> b
    182:187:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    188:194:void com.android.tools.r8.dex.FileWriter.writeMap(com.android.tools.r8.dex.FileWriter$Layout):790:796 -> b
    188:194:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():224 -> b
    195:204:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():225:234 -> b
    205:207:void com.android.tools.r8.dex.FileWriter.writeFixedSectionItems(com.android.tools.r8.graph.DexProgramClass[],int,java.util.function.Consumer):372:374 -> b
    205:207:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():234 -> b
    208:210:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():235:237 -> b
    211:211:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():236:236 -> b
    212:217:void com.android.tools.r8.dex.FileWriter.writeHeader(com.android.tools.r8.dex.FileWriter$Layout):800:805 -> b
    212:217:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():240 -> b
    218:251:void com.android.tools.r8.dex.FileWriter.writeHeader(com.android.tools.r8.dex.FileWriter$Layout):802:835 -> b
    218:251:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():240 -> b
    252:254:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):840:842 -> b
    252:254:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
    255:257:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):841:843 -> b
    255:257:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
    258:260:void com.android.tools.r8.dex.FileWriter.writeChecksum(com.android.tools.r8.dex.FileWriter$Layout):850:852 -> b
    258:260:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():242 -> b
    261:264:void com.android.tools.r8.dex.FileWriter.writeChecksum(com.android.tools.r8.dex.FileWriter$Layout):851:854 -> b
    261:264:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():242 -> b
    265:265:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():245:245 -> b
    266:266:void com.android.tools.r8.dex.FileWriter.writeSignature(com.android.tools.r8.dex.FileWriter$Layout):845:845 -> b
    266:266:com.android.tools.r8.dex.FileWriter$ByteBufferResult generate():241 -> b
    267:267:void writeStringItem(com.android.tools.r8.graph.DexString):430:430 -> b
    268:268:int lambda$writeAnnotationDirectory$4(com.android.tools.r8.graph.DexEncodedMethod):621:621 -> b
    269:269:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670:670 -> b
    270:270:boolean com.android.tools.r8.graph.DexProgramClass.hasMethodsOrFields():601:601 -> b
    270:270:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    271:271:boolean com.android.tools.r8.graph.DexProgramClass.hasMethodsOrFields():601:601 -> b
    271:271:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670 -> b
    272:274:void writeClassData(com.android.tools.r8.graph.DexProgramClass):670:672 -> b
    275:275:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> b
    275:275:void writeClassData(com.android.tools.r8.graph.DexProgramClass):672 -> b
    276:276:void writeClassData(com.android.tools.r8.graph.DexProgramClass):673:673 -> b
    277:277:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> b
    277:277:void writeClassData(com.android.tools.r8.graph.DexProgramClass):673 -> b
    278:278:void writeClassData(com.android.tools.r8.graph.DexProgramClass):674:674 -> b
    279:279:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> b
    279:279:void writeClassData(com.android.tools.r8.graph.DexProgramClass):674 -> b
    280:280:void writeClassData(com.android.tools.r8.graph.DexProgramClass):675:675 -> b
    281:281:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> b
    281:281:void writeClassData(com.android.tools.r8.graph.DexProgramClass):675 -> b
    282:285:void writeClassData(com.android.tools.r8.graph.DexProgramClass):676:679 -> b
    1:16:java.util.List sortDexCodesByClassName():329:344 -> c
    17:22:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):467:472 -> c
    23:27:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):471:475 -> c
    28:31:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):474:477 -> c
    32:32:boolean com.android.tools.r8.graph.DexProgramClass.hasMethodsOrFields():601:601 -> c
    32:32:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):478 -> c
    33:33:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):478:478 -> c
    34:36:void writeClassDefItem(com.android.tools.r8.graph.DexProgramClass):477:479 -> c
    37:37:int lambda$writeAnnotationDirectory$5(com.android.tools.r8.graph.DexEncodedMethod):623:623 -> c
com.android.tools.r8.dex.FileWriter$ByteBufferResult -> com.android.tools.r8.internal.rk:
    com.android.tools.r8.dex.CompatByteBuffer buffer -> a
    int length -> b
    1:1:void <init>(com.android.tools.r8.dex.CompatByteBuffer,int,com.android.tools.r8.dex.FileWriter$1):87:87 -> <init>
    2:4:void <init>(com.android.tools.r8.dex.CompatByteBuffer,int):93:95 -> <init>
com.android.tools.r8.dex.FileWriter$Layout -> com.android.tools.r8.internal.sk:
    int annotationSetsOffset -> n
    int annotationSetRefListsOffset -> o
    int stringDataOffsets -> l
    int annotationsOffset -> m
    int debugInfosOffset -> j
    int typeListsOffset -> k
    int dataSectionOffset -> h
    int codesOffset -> i
    int callSiteIdsOffset -> f
    boolean $assertionsDisabled -> u
    int methodHandleIdsOffset -> g
    int methodIdsOffset -> d
    int classDefsOffset -> e
    int protoIdsOffset -> b
    int fieldIdsOffset -> c
    int typeIdsOffset -> a
    int endOfFile -> t
    int encodedArrarysOffset -> r
    int mapOffset -> s
    int annotationDirectoriesOffset -> p
    int classDataOffset -> q
    1:1:void <clinit>():862:862 -> <clinit>
    1:1:void <init>(int,int,int,int,int,int,int,int,int):894:894 -> <init>
    2:35:void <init>(int,int,int,int,int,int,int,int,int):878:911 -> <init>
    void alreadySetOffset(int) -> a
    1:10:com.android.tools.r8.dex.FileWriter$Layout from(com.android.tools.r8.graph.ObjectToOffsetMapping):916:925 -> a
    11:11:boolean isValidOffset(int,boolean):935:935 -> a
    12:13:int getAnnotationDirectoriesOffset():1013:1014 -> a
    1:2:int getAnnotationSetRefListsOffset():1003:1004 -> b
    3:4:void setAnnotationDirectoriesOffset(int):1018:1019 -> b
    1:2:int getAnnotationSetsOffset():989:990 -> c
    3:4:void setAnnotationSetRefListsOffset(int):1008:1009 -> c
    1:2:int getAnnotationsOffset():979:980 -> d
    3:4:void setAnnotationSetsOffset(int):998:999 -> d
    1:2:void setAnnotationsOffset(int):984:985 -> e
    3:4:int getClassDataOffset():1023:1024 -> e
    1:2:int getCodesOffset():939:940 -> f
    3:4:void setClassDataOffset(int):1028:1029 -> f
    1:2:void setCodesOffset(int):944:945 -> g
    3:3:int com.android.tools.r8.dex.FileWriter$Layout.getEndOfFile():1051:1051 -> g
    3:3:int getDataSectionSize():929 -> g
    4:5:int getDataSectionSize():929:930 -> g
    1:2:int getDebugInfosOffset():949:950 -> h
    3:4:void setDebugInfosOffset(int):954:955 -> h
    1:2:int getEncodedArrarysOffset():1033:1034 -> i
    3:4:void setEncodedArrarysOffset(int):1038:1039 -> i
    1:1:int getEndOfFile():1051:1051 -> j
    2:2:void setEndOfFile(int):1055:1055 -> j
    1:1:int getMapOffset():1043:1043 -> k
    2:2:void setMapOffset(int):1047:1047 -> k
    1:2:int getStringDataOffsets():969:970 -> l
    3:4:void setStringDataOffsets(int):974:975 -> l
    1:2:int getTypeListsOffset():959:960 -> m
    3:4:void setTypeListsOffset(int):964:965 -> m
com.android.tools.r8.dex.FileWriter$MixedSectionOffsets -> com.android.tools.r8.internal.tk:
    boolean $assertionsDisabled -> m
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap debugInfos -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap typeLists -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotations -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotationSets -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap stringData -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap codes -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotationSetRefLists -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap annotationDirectories -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap classesWithData -> i
    java.util.Map clazzToAnnotationDirectory -> k
    com.android.tools.r8.utils.AndroidApiLevel minApiLevel -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap encodedArrays -> j
    1:1:void <clinit>():1066:1066 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.dex.FileWriter$1):1066:1066 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.InternalOptions):1100:1100 -> <init>
    3:33:void <init>(com.android.tools.r8.utils.InternalOptions):1071:1101 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap access$100(com.android.tools.r8.dex.FileWriter$MixedSectionOffsets):1066:1066 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap createObject2IntMap():1089:1089 -> a
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.<init>():176:176 -> a
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap createObject2IntMap():1089 -> a
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap createObject2IntMap():1090:1090 -> a
    5:6:boolean add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,java.lang.Object):1105:1106 -> a
    7:7:boolean add(com.android.tools.r8.graph.DexProgramClass):1122:1122 -> a
    8:8:boolean add(com.android.tools.r8.graph.DexEncodedArray):1127:1127 -> a
    9:12:boolean add(com.android.tools.r8.graph.DexAnnotationSet):1134:1137 -> a
    13:13:boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1147:1147 -> a
    14:15:boolean com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.lang.Object):1113:1114 -> a
    14:15:boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1147 -> a
    16:16:boolean add(com.android.tools.r8.graph.DexDebugInfoForWriting):1152:1152 -> a
    17:20:boolean add(com.android.tools.r8.graph.DexTypeList):1157:1160 -> a
    21:24:boolean add(com.android.tools.r8.graph.ParameterAnnotationsList):1165:1168 -> a
    25:25:boolean add(com.android.tools.r8.graph.DexAnnotation):1173:1173 -> a
    26:28:boolean setAnnotationsDirectoryForClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationDirectory):1179:1181 -> a
    29:29:boolean add(com.android.tools.r8.graph.DexString):1185:1185 -> a
    30:31:boolean com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.lang.Object):1113:1114 -> a
    30:31:boolean add(com.android.tools.r8.graph.DexString):1185 -> a
    32:33:void setOffsetFor(java.lang.Object,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap):1304:1305 -> a
    34:34:void setOffsetFor(com.android.tools.r8.graph.DexDebugInfoForWriting,int):1314:1314 -> a
    35:35:void setOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode,int):1318:1318 -> a
    36:37:void com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.setOffsetFor(java.lang.Object,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1309:1310 -> a
    36:37:void setOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode,int):1318 -> a
    38:39:void setOffsetFor(com.android.tools.r8.graph.DexTypeList,int):1322:1323 -> a
    40:40:void setOffsetFor(com.android.tools.r8.graph.DexString,int):1327:1327 -> a
    41:42:void com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.setOffsetFor(java.lang.Object,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1309:1310 -> a
    41:42:void setOffsetFor(com.android.tools.r8.graph.DexString,int):1327 -> a
    43:43:void setOffsetFor(com.android.tools.r8.graph.DexAnnotation,int):1331:1331 -> a
    44:45:void setOffsetFor(com.android.tools.r8.graph.DexAnnotationSet,int):1337:1338 -> a
    46:46:void setOffsetForAnnotationsDirectory(com.android.tools.r8.graph.DexAnnotationDirectory,int):1342:1342 -> a
    47:47:void setOffsetFor(com.android.tools.r8.graph.DexProgramClass,int):1346:1346 -> a
    48:48:void setOffsetFor(com.android.tools.r8.graph.DexEncodedArray,int):1350:1350 -> a
    49:50:void setOffsetFor(com.android.tools.r8.graph.ParameterAnnotationsList,int):1354:1355 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap createReference2IntMap():1095:1095 -> b
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.<init>():176:176 -> b
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap createReference2IntMap():1095 -> b
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap createReference2IntMap():1096:1096 -> b
    4:4:void visit(com.android.tools.r8.graph.DexEncodedMethod):1142:1142 -> b
    5:6:int lookup(java.lang.Object,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap):1232:1233 -> b
    7:7:int getOffsetFor(com.android.tools.r8.graph.DexString):1247:1247 -> b
    8:9:int com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.lookup(java.lang.Object,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1241:1242 -> b
    8:9:int getOffsetFor(com.android.tools.r8.graph.DexString):1247 -> b
    10:13:int getOffsetFor(com.android.tools.r8.graph.DexTypeList):1251:1254 -> b
    14:14:int getOffsetFor(com.android.tools.r8.graph.DexProgramClass):1258:1258 -> b
    15:15:int getOffsetFor(com.android.tools.r8.graph.DexEncodedArray):1262:1262 -> b
    16:16:int getOffsetFor(com.android.tools.r8.graph.DexDebugInfoForWriting):1266:1266 -> b
    17:17:int getOffsetFor(com.android.tools.r8.graph.DexAnnotation):1280:1280 -> b
    18:21:int getOffsetFor(com.android.tools.r8.graph.DexAnnotationSet):1286:1289 -> b
    22:25:int getOffsetFor(com.android.tools.r8.graph.ParameterAnnotationsList):1293:1296 -> b
    1:1:java.util.Collection getAnnotationDirectories():1221:1221 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> c
    2:2:java.util.Collection getAnnotationDirectories():1221 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:7:int getOffsetForAnnotationsDirectory(com.android.tools.r8.graph.DexProgramClass):1271:1275 -> c
    8:8:int getOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1300:1300 -> c
    9:10:int com.android.tools.r8.dex.FileWriter$MixedSectionOffsets.lookup(java.lang.Object,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1241:1242 -> c
    9:10:int getOffsetFor(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode):1300 -> c
    1:1:java.util.Collection getAnnotationSetRefLists():1213:1213 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> d
    2:2:java.util.Collection getAnnotationSetRefLists():1213 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getAnnotationSets():1209:1209 -> e
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> e
    2:2:java.util.Collection getAnnotationSets():1209 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getAnnotations():1205:1205 -> f
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> f
    2:2:java.util.Collection getAnnotations():1205 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getClassesWithData():1217:1217 -> g
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> g
    2:2:java.util.Collection getClassesWithData():1217 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getCodes():1189:1189 -> h
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.keySet():87:87 -> h
    2:2:java.util.Collection getCodes():1189 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getDebugInfos():1193:1193 -> i
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> i
    2:2:java.util.Collection getDebugInfos():1193 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getEncodedArrays():1225:1225 -> j
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> j
    2:2:java.util.Collection getEncodedArrays():1225 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getStringData():1201:1201 -> k
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.keySet():87:87 -> k
    2:2:java.util.Collection getStringData():1201 -> k
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.util.Collection getTypeLists():1197:1197 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> l
    2:2:java.util.Collection getTypeLists():1197 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.dex.FileWriter$ProgramClassDependencyCollector -> com.android.tools.r8.internal.uk:
    java.util.Set includedClasses -> c
    com.android.tools.r8.dex.FileWriter this$0 -> d
    1:2:void <init>(com.android.tools.r8.dex.FileWriter,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexProgramClass[]):1363:1364 -> <init>
    3:7:void <init>(com.android.tools.r8.dex.FileWriter,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexProgramClass[]):1361:1365 -> <init>
    1:4:void visit(com.android.tools.r8.graph.DexClass):1376:1379 -> b
com.android.tools.r8.dex.IndexedItemCollection -> com.android.tools.r8.internal.gp:
    boolean addCallSite(com.android.tools.r8.graph.DexCallSite) -> a
    boolean addClass(com.android.tools.r8.graph.DexProgramClass) -> a
    boolean addMethod(com.android.tools.r8.graph.DexMethod) -> a
    boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle) -> a
    boolean addProto(com.android.tools.r8.graph.DexProto) -> a
    boolean addString(com.android.tools.r8.graph.DexString) -> a
    boolean addType(com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.graph.InitClassLens getInitClassLens():109:109 -> a
    2:2:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):117:117 -> a
    boolean addField(com.android.tools.r8.graph.DexField) -> b
    1:1:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexMethod):113:113 -> b
    2:2:com.android.tools.r8.graph.DexString getRenamedDescriptor(com.android.tools.r8.graph.DexType):121:121 -> b
com.android.tools.r8.dex.InheritanceClassInDexDistributor -> com.android.tools.r8.internal.np:
    java.util.Comparator DEX_PROGRAM_CLASS_COMPARATOR -> l
    boolean $assertionsDisabled -> m
    com.android.tools.r8.graph.InitClassLens initClassLens -> i
    com.android.tools.r8.graph.GraphLens graphLens -> h
    com.android.tools.r8.graph.AppView appView -> f
    int dexIndexOffset -> g
    com.android.tools.r8.naming.NamingLens namingLens -> j
    com.android.tools.r8.dex.VirtualFile mainDex -> b
    java.util.Set classes -> e
    com.android.tools.r8.dex.InheritanceClassInDexDistributor$DirectSubClassesInfo directSubClasses -> k
    java.util.List dexes -> c
    java.util.concurrent.ExecutorService executorService -> a
    java.util.BitSet fullDex -> d
    1:3:void <clinit>():45:47 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.VirtualFile,java.util.List,java.util.Set,int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):303:303 -> <init>
    2:31:void <init>(com.android.tools.r8.dex.VirtualFile,java.util.List,java.util.Set,int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):285:314 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.dex.InheritanceClassInDexDistributor):45:45 -> a
    2:2:java.util.Comparator access$500():45:45 -> a
    3:3:int lambda$static$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):48:48 -> a
    4:7:java.util.Collection assignGroup(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,java.util.List):381:384 -> a
    8:8:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup.canFitInOneDex():84:84 -> a
    8:8:java.util.Collection assignGroup(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,java.util.List):385 -> a
    9:33:java.util.Collection assignGroup(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,java.util.List):388:412 -> a
    34:34:boolean lambda$assignGroup$1(java.util.List,com.android.tools.r8.dex.VirtualFile):388:388 -> a
    35:35:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.isDexFull(com.android.tools.r8.dex.VirtualFile):731:731 -> a
    35:35:boolean lambda$assignGroup$1(java.util.List,com.android.tools.r8.dex.VirtualFile):388 -> a
    36:36:boolean lambda$assignClassesWithLinkingError$3(java.util.Set,com.android.tools.r8.dex.VirtualFile):443:443 -> a
    37:37:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.isDexFull(com.android.tools.r8.dex.VirtualFile):731:731 -> a
    37:37:boolean lambda$assignClassesWithLinkingError$3(java.util.Set,com.android.tools.r8.dex.VirtualFile):443 -> a
    38:38:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectNoDirectInheritanceGroups(java.util.Set):489:489 -> a
    38:38:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):426 -> a
    39:43:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.getTopologicalOrder(java.util.Set):702:706 -> a
    39:43:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectNoDirectInheritanceGroups(java.util.Set):490 -> a
    39:43:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):426 -> a
    44:68:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectNoDirectInheritanceGroups(java.util.Set):491:515 -> a
    44:68:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):426 -> a
    69:70:int com.android.tools.r8.dex.InheritanceClassInDexDistributor.getTotalClassNumber(java.util.List):374:375 -> a
    69:70:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectNoDirectInheritanceGroups(java.util.Set):515 -> a
    69:70:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):426 -> a
    71:71:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectNoDirectInheritanceGroups(java.util.Set):515:515 -> a
    71:71:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):426 -> a
    72:90:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):428:446 -> a
    91:92:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.getSortedCopy(java.util.Collection):693:694 -> a
    91:92:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):446 -> a
    93:95:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):446:448 -> a
    96:96:boolean com.android.tools.r8.dex.VirtualFile.isFull():260:260 -> a
    96:96:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):449 -> a
    97:104:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):450:457 -> a
    105:105:void com.android.tools.r8.dex.InheritanceClassInDexDistributor.markDexFull(com.android.tools.r8.dex.VirtualFile):727:727 -> a
    105:105:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):458 -> a
    106:109:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):461:464 -> a
    110:110:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):453:453 -> a
    111:111:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":582,"2":583,"3":584}}
    582:582:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):453:453 -> a
    583:583:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):453:453 -> a
    584:584:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):453:453 -> a
    564:564:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):453:453 -> a
    565:565:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    565:565:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):454 -> a
    566:566:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):454:454 -> a
    567:567:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    567:567:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):454 -> a
    568:568:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    568:568:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    568:568:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):454 -> a
    569:581:java.util.Collection assignClassesWithLinkingError(java.util.Set,java.util.Collection):454:466 -> a
    585:599:void updateGroupsNumberOfIds(java.util.List):549:563 -> a
    600:600:void updateGroupsNumberOfIds(java.util.List):558:558 -> a
    601:614:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):573:586 -> a
    615:615:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    615:615:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):586 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    616:616:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    616:616:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    616:616:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):586 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    617:617:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    617:617:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):586 -> a
    618:620:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):586:588 -> a
    621:621:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    621:621:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):588 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    622:622:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    622:622:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    622:622:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):588 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    623:623:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    623:623:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):588 -> a
    624:629:void collectGroup(java.util.Collection,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup,com.android.tools.r8.graph.DexProgramClass):588:593 -> a
    630:634:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):602:606 -> a
    635:635:boolean com.android.tools.r8.dex.VirtualFile.isFull():260:260 -> a
    635:635:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):608 -> a
    636:637:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):609:610 -> a
    638:638:void com.android.tools.r8.dex.InheritanceClassInDexDistributor.markDexFull(com.android.tools.r8.dex.VirtualFile):727:727 -> a
    638:638:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):611 -> a
    639:645:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):613:619 -> a
    646:646:boolean assignAll(com.android.tools.r8.dex.VirtualFile,java.util.Collection):618:618 -> a
    647:648:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.getSortedCopy(java.util.Collection):693:694 -> a
    647:648:java.util.List access$400(java.util.Collection):45 -> a
    649:649:com.android.tools.r8.graph.DexProgramClass findOneRootInSetFrom(com.android.tools.r8.graph.DexProgramClass,java.util.Set):713:713 -> a
    650:650:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    650:650:com.android.tools.r8.graph.DexProgramClass findOneRootInSetFrom(com.android.tools.r8.graph.DexProgramClass,java.util.Set):713 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    651:651:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    651:651:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    651:651:com.android.tools.r8.graph.DexProgramClass findOneRootInSetFrom(com.android.tools.r8.graph.DexProgramClass,java.util.Set):713 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    652:652:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    652:652:com.android.tools.r8.graph.DexProgramClass findOneRootInSetFrom(com.android.tools.r8.graph.DexProgramClass,java.util.Set):713 -> a
    653:659:com.android.tools.r8.graph.DexProgramClass findOneRootInSetFrom(com.android.tools.r8.graph.DexProgramClass,java.util.Set):714:720 -> a
    1:1:com.android.tools.r8.graph.GraphLens access$100(com.android.tools.r8.dex.InheritanceClassInDexDistributor):45:45 -> b
    2:2:boolean lambda$assignGroup$2(java.util.List,com.android.tools.r8.dex.VirtualFile):402:402 -> b
    3:3:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.isDexFull(com.android.tools.r8.dex.VirtualFile):731:731 -> b
    3:3:boolean lambda$assignGroup$2(java.util.List,com.android.tools.r8.dex.VirtualFile):402 -> b
    4:4:boolean lambda$assignClassesWithLinkingError$4(java.util.Set,com.android.tools.r8.dex.VirtualFile):462:462 -> b
    5:5:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.isDexFull(com.android.tools.r8.dex.VirtualFile):731:731 -> b
    5:5:boolean lambda$assignClassesWithLinkingError$4(java.util.Set,com.android.tools.r8.dex.VirtualFile):462 -> b
    6:17:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectInheritanceGroups():533:544 -> b
    6:17:void distribute():318 -> b
    18:19:int com.android.tools.r8.dex.InheritanceClassInDexDistributor.getTotalClassNumber(java.util.List):374:375 -> b
    18:19:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectInheritanceGroups():544 -> b
    18:19:void distribute():318 -> b
    20:20:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.collectInheritanceGroups():544:544 -> b
    20:20:void distribute():318 -> b
    21:31:void distribute():320:330 -> b
    32:32:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup.canFitInOneDex():84:84 -> b
    32:32:void distribute():333 -> b
    33:33:void distribute():333:333 -> b
    34:34:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.isDexFull(com.android.tools.r8.dex.VirtualFile):731:731 -> b
    34:34:void distribute():334 -> b
    35:68:void distribute():334:367 -> b
    69:76:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):630:637 -> b
    77:78:java.util.List com.android.tools.r8.dex.InheritanceClassInDexDistributor.getSortedCopy(java.util.Collection):693:694 -> b
    77:78:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):639 -> b
    79:79:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):639:639 -> b
    80:80:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):671:671 -> b
    80:80:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    81:81:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> b
    81:81:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):671 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    81:81:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    82:82:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> b
    82:82:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> b
    82:82:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):671 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    82:82:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    83:83:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> b
    83:83:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):671 -> b
    83:83:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    84:88:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):671:675 -> b
    84:88:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    89:89:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> b
    89:89:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):675 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:89:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    90:90:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> b
    90:90:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> b
    90:90:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):675 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    90:90:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    91:91:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> b
    91:91:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):675 -> b
    91:91:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    92:92:boolean com.android.tools.r8.dex.InheritanceClassInDexDistributor.hasDirectInheritanceInCollection(com.android.tools.r8.graph.DexProgramClass,java.util.Set):675:675 -> b
    92:92:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):640 -> b
    93:93:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):643:643 -> b
    94:94:boolean com.android.tools.r8.dex.VirtualFile.isFull():260:260 -> b
    94:94:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):644 -> b
    95:103:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):645:653 -> b
    104:104:void com.android.tools.r8.dex.InheritanceClassInDexDistributor.markDexFull(com.android.tools.r8.dex.VirtualFile):727:727 -> b
    104:104:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):654 -> b
    105:105:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    106:106:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":796,"2":797,"3":798}}
    796:796:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    797:797:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    798:798:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    754:754:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):648:648 -> b
    755:755:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> b
    755:755:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649 -> b
    756:756:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649:649 -> b
    757:757:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    757:757:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649 -> b
    758:758:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    758:758:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    758:758:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649 -> b
    759:769:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):649:659 -> b
    770:794:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):641:665 -> b
    795:795:java.util.Set assignFromRoot(com.android.tools.r8.dex.VirtualFile,java.util.Collection):664:664 -> b
    1:1:com.android.tools.r8.graph.InitClassLens access$200(com.android.tools.r8.dex.InheritanceClassInDexDistributor):45:45 -> c
    1:1:com.android.tools.r8.naming.NamingLens access$300(com.android.tools.r8.dex.InheritanceClassInDexDistributor):45:45 -> d
    1:1:com.android.tools.r8.dex.VirtualFile access$600(com.android.tools.r8.dex.InheritanceClassInDexDistributor):45:45 -> e
com.android.tools.r8.dex.InheritanceClassInDexDistributor$CategorizedInheritanceGroupWithMainDexDependency -> com.android.tools.r8.internal.kp:
    com.android.tools.r8.dex.InheritanceClassInDexDistributor this$0 -> d
    java.util.Set dependentsOfMainDexIndependents -> c
    boolean $assertionsDisabled -> e
    java.util.Set mainDexIndependents -> a
    java.util.Set independentsFromMainDexIndependents -> b
    1:1:void <clinit>():126:126 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):135:135 -> <init>
    2:30:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):129:157 -> <init>
    31:31:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor,com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):154:154 -> <init>
    1:12:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):168:179 -> a
    13:13:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    13:13:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):179 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    14:14:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    14:14:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):179 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    15:15:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    15:15:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):179 -> a
    16:22:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):178:184 -> a
    23:23:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    23:23:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):184 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    24:24:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    24:24:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):184 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    25:25:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    25:25:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):184 -> a
    26:37:boolean isDependingOnMainDexClass(java.util.Set,com.android.tools.r8.graph.DexProgramClass):183:194 -> a
    38:51:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):205:218 -> a
    52:52:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    52:52:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):218 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    53:53:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    53:53:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    53:53:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):218 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    54:54:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    54:54:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):218 -> a
    55:59:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):218:222 -> a
    60:60:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    60:60:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):222 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    61:61:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    61:61:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    61:61:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):222 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    62:62:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    62:62:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):222 -> a
    63:73:boolean isDependingOnMainDexIndependents(com.android.tools.r8.graph.DexProgramClass):222:232 -> a
com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup -> com.android.tools.r8.internal.lp:
    com.android.tools.r8.dex.InheritanceClassInDexDistributor this$0 -> f
    boolean dependsOnMainDexClasses -> e
    int numberOfMethodIds -> d
    boolean $assertionsDisabled -> g
    java.util.Set members -> b
    int numberOfFieldIds -> c
    1:1:void <clinit>():56:56 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor):63:63 -> <init>
    2:7:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor):59:64 -> <init>
    8:8:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor,java.util.Set):67:67 -> <init>
    9:19:void <init>(com.android.tools.r8.dex.InheritanceClassInDexDistributor,java.util.Set):59:69 -> <init>
    1:7:void updateNumbersOfIds():74:80 -> a
    1:1:int compareTo(java.lang.Object):56:56 -> compareTo
    2:5:int com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup.compareTo(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):91:91 -> compareTo
    2:5:int compareTo(java.lang.Object):56 -> compareTo
    12:25:int com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup.compareTo(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):98:111 -> compareTo
    12:25:int compareTo(java.lang.Object):56 -> compareTo
    26:29:int com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup.compareTo(com.android.tools.r8.dex.InheritanceClassInDexDistributor$ClassGroup):109:112 -> compareTo
    26:29:int compareTo(java.lang.Object):56 -> compareTo
com.android.tools.r8.dex.InheritanceClassInDexDistributor$DirectSubClassesInfo -> com.android.tools.r8.internal.mp:
    java.util.Map directSubClasses -> a
    java.util.Set classes -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():243:243 -> <clinit>
    1:11:void <init>(com.android.tools.r8.graph.AppView,java.util.Set):248:258 -> <init>
    1:1:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    1:1:void addDirectSubClass(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):272 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    2:2:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    2:2:void addDirectSubClass(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):272 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    3:3:void addDirectSubClass(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):272 -> a
    4:7:void addDirectSubClass(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):274:277 -> a
    8:9:java.util.Collection getDirectSubClasses(com.android.tools.r8.graph.DexProgramClass):262:263 -> a
    1:1:java.util.Collection lambda$addDirectSubClass$0(com.android.tools.r8.graph.DexProgramClass):276:276 -> b
com.android.tools.r8.dex.JumboStringRewriter -> com.android.tools.r8.internal.Yv:
    com.android.tools.r8.graph.DexItemFactory factory -> c
    com.android.tools.r8.graph.DexString firstJumboString -> b
    java.util.Map instructionTargets -> d
    com.android.tools.r8.graph.DexEncodedMethod method -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap tryRangeStartAndEndTargets -> i
    boolean $assertionsDisabled -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap debugEventTargets -> f
    java.util.Map handlerTargets -> j
    java.util.Map payloadToSwitch -> g
    com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo debugEventBasedInfo -> e
    java.util.Map tryTargets -> h
    1:1:void <clinit>():57:57 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):106:106 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):96:109 -> <init>
    com.android.tools.r8.code.Instruction lambda$replaceTarget$0(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction) -> a
    1:12:int rewriteIfToIfAndGoto(int,java.util.ListIterator,com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):402:413 -> a
    13:25:void replaceTarget(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):418:430 -> a
    26:26:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():551:551 -> a
    26:26:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    27:27:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    27:27:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():551 -> a
    27:27:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    28:42:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():552:566 -> a
    28:42:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    43:73:void com.android.tools.r8.dex.JumboStringRewriter.recordInstructionTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):435:465 -> a
    43:73:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():570 -> a
    43:73:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    74:88:void com.android.tools.r8.dex.JumboStringRewriter.recordInstructionTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):464:478 -> a
    74:88:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():570 -> a
    74:88:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    89:108:void com.android.tools.r8.dex.JumboStringRewriter.recordDebugEventTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):488:507 -> a
    89:108:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():571 -> a
    89:108:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    109:109:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():572:572 -> a
    109:109:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    110:141:void com.android.tools.r8.dex.JumboStringRewriter.recordTryAndHandlerTargets(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.code.Instruction):515:546 -> a
    110:141:void com.android.tools.r8.dex.JumboStringRewriter.recordTargets():573 -> a
    110:141:com.android.tools.r8.graph.DexCode rewrite():115 -> a
    142:184:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():254:296 -> a
    142:184:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    185:185:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():293:293 -> a
    185:185:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    186:186:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():290:290 -> a
    186:186:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    187:187:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():287:287 -> a
    187:187:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    188:188:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():284:284 -> a
    188:188:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    189:232:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():281:324 -> a
    189:232:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    233:233:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():321:321 -> a
    233:233:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    234:234:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():318:318 -> a
    234:234:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    235:235:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():315:315 -> a
    235:235:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    236:236:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():312:312 -> a
    236:236:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    237:266:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():309:338 -> a
    237:266:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    267:319:java.util.List com.android.tools.r8.dex.JumboStringRewriter.expandCode():336:388 -> a
    267:319:com.android.tools.r8.graph.DexCode rewrite():117 -> a
    320:357:void com.android.tools.r8.dex.JumboStringRewriter.rewriteInstructionOffsets(java.util.List):142:179 -> a
    320:357:com.android.tools.r8.graph.DexCode rewrite():120 -> a
    358:364:com.android.tools.r8.graph.DexCode$Try[] com.android.tools.r8.dex.JumboStringRewriter.rewriteTryOffsets():186:192 -> a
    358:364:com.android.tools.r8.graph.DexCode rewrite():121 -> a
    365:380:com.android.tools.r8.graph.DexCode$TryHandler[] com.android.tools.r8.dex.JumboStringRewriter.rewriteHandlerOffsets():198:213 -> a
    365:380:com.android.tools.r8.graph.DexCode rewrite():122 -> a
    381:412:com.android.tools.r8.graph.DexDebugInfo com.android.tools.r8.dex.JumboStringRewriter.rewriteDebugInfoOffsets():219:250 -> a
    381:412:com.android.tools.r8.graph.DexCode rewrite():123 -> a
    413:425:com.android.tools.r8.graph.DexCode rewrite():125:137 -> a
    com.android.tools.r8.code.Instruction lambda$replaceTarget$1(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction) -> b
com.android.tools.r8.dex.JumboStringRewriter$1 -> com.android.tools.r8.internal.Wv:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():279:279 -> <clinit>
com.android.tools.r8.dex.JumboStringRewriter$TryTargets -> com.android.tools.r8.internal.Xv:
    com.android.tools.r8.code.Instruction start -> a
    com.android.tools.r8.code.Instruction end -> b
    boolean endsAfterLastInstruction -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():59:59 -> <clinit>
    1:6:void <init>(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction,boolean):64:69 -> <init>
    1:5:void replaceTarget(com.android.tools.r8.code.Instruction,com.android.tools.r8.code.Instruction):73:77 -> a
    6:6:int getStartOffset():82:82 -> a
    1:4:int getStartToEndDelta():86:89 -> b
com.android.tools.r8.dex.Marker -> com.android.tools.r8.internal.OD:
    com.android.tools.r8.dex.Marker$Tool tool -> b
    boolean $assertionsDisabled -> f
    java.lang.String D8_PREFIX -> c
    com.android.tools.r8.com.google.gson.JsonObject jsonObject -> a
    java.lang.String L8_PREFIX -> e
    java.lang.String R8_PREFIX -> d
    1:1:void <clinit>():23:23 -> <clinit>
    2:2:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":170,"2":171,"3":172}}
    170:170:void <clinit>():54:54 -> <clinit>
    171:171:void <clinit>():54:54 -> <clinit>
    172:172:void <clinit>():54:54 -> <clinit>
    56:56:void <clinit>():54:54 -> <clinit>
    57:57:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":173,"2":174,"3":175}}
    173:173:void <clinit>():55:55 -> <clinit>
    174:174:void <clinit>():55:55 -> <clinit>
    175:175:void <clinit>():55:55 -> <clinit>
    112:112:void <clinit>():55:55 -> <clinit>
    113:113:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":176,"2":177,"3":178}}
    176:176:void <clinit>():56:56 -> <clinit>
    177:177:void <clinit>():56:56 -> <clinit>
    178:178:void <clinit>():56:56 -> <clinit>
    169:169:void <clinit>():56:56 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.Marker$Tool):62:62 -> <init>
    2:4:void <init>(com.android.tools.r8.dex.Marker$Tool,com.android.tools.r8.com.google.gson.JsonObject):65:67 -> <init>
    1:12:void checkCompatibleDesugaredLibrary(java.util.Set,com.android.tools.r8.utils.Reporter):71:82 -> a
    13:34:void checkCompatibleDesugaredLibrary(java.util.Set,com.android.tools.r8.utils.Reporter):81:102 -> a
    35:35:boolean com.android.tools.r8.dex.Marker.isDexBackend():232:232 -> a
    35:35:void checkCompatibleDesugaredLibrary(java.util.Set,com.android.tools.r8.utils.Reporter):91 -> a
    36:38:void checkCompatibleDesugaredLibrary(java.util.Set,com.android.tools.r8.utils.Reporter):92:94 -> a
    39:39:boolean com.android.tools.r8.dex.Marker.isCfBackend():228:228 -> a
    39:39:void checkCompatibleDesugaredLibrary(java.util.Set,com.android.tools.r8.utils.Reporter):94 -> a
    40:61:void checkCompatibleDesugaredLibrary(java.util.Set,com.android.tools.r8.utils.Reporter):94:115 -> a
    62:62:boolean lambda$checkCompatibleDesugaredLibrary$0(com.android.tools.r8.dex.Marker):82:82 -> a
    63:64:com.android.tools.r8.dex.Marker setMinApi(long):164:165 -> a
    65:70:com.android.tools.r8.dex.Marker setDesugaredLibraryIdentifiers(java.lang.String[]):186:191 -> a
    71:72:com.android.tools.r8.dex.Marker setCompilationMode(com.android.tools.r8.CompilationMode):210:211 -> a
    73:73:boolean com.android.tools.r8.dex.Marker.hasBackend():216:216 -> a
    73:73:java.lang.String getBackend():220 -> a
    74:76:java.lang.String getBackend():222:224 -> a
    77:77:com.android.tools.r8.dex.Marker setBackend(com.android.tools.r8.dex.Marker$Backend):236:236 -> a
    78:78:boolean com.android.tools.r8.dex.Marker.hasBackend():216:216 -> a
    78:78:com.android.tools.r8.dex.Marker setBackend(com.android.tools.r8.dex.Marker$Backend):236 -> a
    79:80:com.android.tools.r8.dex.Marker setBackend(com.android.tools.r8.dex.Marker$Backend):236:237 -> a
    81:82:com.android.tools.r8.dex.Marker setHasChecksums(boolean):246:247 -> a
    83:84:com.android.tools.r8.dex.Marker setPgMapId(java.lang.String):256:257 -> a
    85:85:void lambda$toString$1(com.android.tools.r8.com.google.gson.JsonObject,java.util.Map$Entry):277:277 -> a
    86:91:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):302:307 -> a
    92:92:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):321:321 -> a
    92:92:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):307 -> a
    93:93:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> a
    93:93:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):322 -> a
    93:93:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):307 -> a
    94:94:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):323:323 -> a
    94:94:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):307 -> a
    95:96:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):309:310 -> a
    97:97:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):321:321 -> a
    97:97:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):310 -> a
    98:98:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> a
    98:98:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):322 -> a
    98:98:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):310 -> a
    99:99:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):323:323 -> a
    99:99:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):310 -> a
    100:101:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):312:313 -> a
    102:102:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):321:321 -> a
    102:102:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):313 -> a
    103:103:boolean com.android.tools.r8.com.google.gson.JsonElement.isJsonObject():55:55 -> a
    103:103:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):322 -> a
    103:103:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):313 -> a
    104:104:com.android.tools.r8.dex.Marker com.android.tools.r8.dex.Marker.internalParse(com.android.tools.r8.dex.Marker$Tool,java.lang.String):323:323 -> a
    104:104:com.android.tools.r8.dex.Marker parse(com.android.tools.r8.graph.DexString):313 -> a
    1:1:java.lang.String getCompilationMode():206:206 -> b
    2:3:com.android.tools.r8.dex.Marker setR8Mode(java.lang.String):266:267 -> b
    1:9:java.lang.String[] getDesugaredLibraryIdentifiers():174:182 -> c
    10:11:com.android.tools.r8.dex.Marker setSha1(java.lang.String):200:201 -> c
    1:2:com.android.tools.r8.dex.Marker setVersion(java.lang.String):144:145 -> d
    3:3:boolean getHasChecksums():242:242 -> d
    1:1:java.lang.Long getMinApi():160:160 -> e
    1:3:boolean equals(java.lang.Object):283:285 -> equals
    1:1:java.lang.String getPgMapId():252:252 -> f
    1:1:java.lang.String getR8Mode():262:262 -> g
    1:1:com.android.tools.r8.dex.Marker$Tool getTool():120:120 -> h
    1:1:int hashCode():292:292 -> hashCode
    1:1:java.lang.String getVersion():140:140 -> i
    1:1:boolean hasDesugaredLibraryIdentifiers():170:170 -> j
    1:1:boolean hasMinApi():156:156 -> k
    1:1:boolean isD8():124:124 -> l
    1:1:boolean isDesugared():152:152 -> m
    1:1:boolean isL8():132:132 -> n
    1:1:boolean isRelocator():136:136 -> o
    1:5:java.lang.String toString():274:278 -> toString
com.android.tools.r8.dex.Marker$Backend$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.ND:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String name(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.dex.Marker$Tool -> com.android.tools.r8.internal.OD$a:
    com.android.tools.r8.dex.Marker$Tool D8 -> b
    com.android.tools.r8.dex.Marker$Tool[] $VALUES -> f
    com.android.tools.r8.dex.Marker$Tool Relocator -> e
    com.android.tools.r8.dex.Marker$Tool L8 -> d
    com.android.tools.r8.dex.Marker$Tool R8 -> c
    1:4:void <clinit>():37:40 -> <clinit>
    5:5:void <clinit>():36:36 -> <clinit>
    1:1:void <init>(java.lang.String,int):36:36 -> <init>
    1:1:com.android.tools.r8.dex.Marker$Tool[] valuesR8andD8():43:43 -> a
    1:1:com.android.tools.r8.dex.Marker$Tool[] values():36:36 -> values
com.android.tools.r8.dex.MixedSectionCollection -> com.android.tools.r8.internal.pF:
    1:1:void <init>():27:27 -> <init>
    boolean add(com.android.tools.r8.graph.DexAnnotation) -> a
    boolean add(com.android.tools.r8.graph.DexAnnotationSet) -> a
    boolean add(com.android.tools.r8.graph.DexEncodedArray) -> a
    boolean add(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexWritableCode) -> a
    boolean add(com.android.tools.r8.graph.DexProgramClass) -> a
    boolean add(com.android.tools.r8.graph.DexTypeList) -> a
    boolean add(com.android.tools.r8.graph.ParameterAnnotationsList) -> a
    boolean add(com.android.tools.r8.graph.DexDebugInfoForWriting) -> a
    boolean setAnnotationsDirectoryForClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationDirectory) -> a
    1:1:void visit(com.android.tools.r8.graph.DexEncodedMethod):62:62 -> b
com.android.tools.r8.dex.ResourceAdapter -> com.android.tools.r8.internal.VS:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.naming.NamingLens namingLens -> d
    com.android.tools.r8.graph.GraphLens graphLens -> c
    1:1:void <clinit>():32:32 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):45:50 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory access$000(com.android.tools.r8.dex.ResourceAdapter):32:32 -> a
    2:2:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):56:56 -> a
    3:9:java.lang.String com.android.tools.r8.dex.ResourceAdapter.adaptFileName(com.android.tools.r8.DataEntryResource):113:119 -> a
    3:9:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):57 -> a
    10:14:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):58:62 -> a
    15:24:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):133:133 -> a
    15:24:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    32:36:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):141:145 -> a
    32:36:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    37:37:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):142:142 -> a
    37:37:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    38:38:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":46,"2":47,"3":48}}
    46:46:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):142:142 -> a
    46:46:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    47:47:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):142:142 -> a
    47:47:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    48:48:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):142:142 -> a
    48:48:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    39:39:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):143:143 -> a
    39:39:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    40:40:byte[] com.android.tools.r8.dex.ResourceAdapter.adaptFileContents(com.android.tools.r8.DataEntryResource):142:142 -> a
    40:40:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):63 -> a
    41:45:com.android.tools.r8.DataEntryResource adaptIfNeeded(com.android.tools.r8.DataEntryResource):70:74 -> a
    49:53:com.android.tools.r8.DataDirectoryResource adaptIfNeeded(com.android.tools.r8.DataDirectoryResource):82:86 -> a
    54:58:java.lang.String com.android.tools.r8.dex.ResourceAdapter.adaptDirectoryName(com.android.tools.r8.DataDirectoryResource):123:127 -> a
    54:58:com.android.tools.r8.DataDirectoryResource adaptIfNeeded(com.android.tools.r8.DataDirectoryResource):89 -> a
    59:59:com.android.tools.r8.DataDirectoryResource adaptIfNeeded(com.android.tools.r8.DataDirectoryResource):89:89 -> a
    60:68:boolean shouldAdapt(com.android.tools.r8.DataEntryResource,com.android.tools.r8.utils.InternalOptions,java.util.function.Function):96:104 -> a
    1:1:com.android.tools.r8.graph.GraphLens access$100(com.android.tools.r8.dex.ResourceAdapter):32:32 -> b
    1:1:com.android.tools.r8.naming.NamingLens access$200(com.android.tools.r8.dex.ResourceAdapter):32:32 -> c
    1:1:com.android.tools.r8.graph.AppView access$300(com.android.tools.r8.dex.ResourceAdapter):32:32 -> d
com.android.tools.r8.dex.ResourceAdapter$DefaultFileNameAdapter -> com.android.tools.r8.internal.PS:
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):420:420 -> <init>
    1:1:boolean isRenamingCandidate(int,int):425:425 -> b
com.android.tools.r8.dex.ResourceAdapter$DirectoryNameAdapter -> com.android.tools.r8.internal.QS:
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):452:452 -> <init>
    boolean isRenamingCandidate(int,int) -> b
com.android.tools.r8.dex.ResourceAdapter$FileContentsAdapter -> com.android.tools.r8.internal.RS:
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):354:354 -> <init>
    boolean allowRenamingOfPrefixes() -> a
    1:1:boolean shouldRecordPrefix(char):369:369 -> a
    2:2:boolean handlePrefix(int,int):374:374 -> a
    char getClassNameSeparator() -> b
    1:2:boolean isRenamingCandidate(int,int):380:381 -> b
com.android.tools.r8.dex.ResourceAdapter$FileNameAdapter -> com.android.tools.r8.internal.SS:
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):391:391 -> <init>
    boolean allowRenamingOfPrefixes() -> a
    1:1:boolean shouldRecordPrefix(char):406:406 -> a
    2:5:boolean handlePrefix(int,int):411:414 -> a
    6:6:boolean handlePrefix(int,int):412:412 -> a
    char getClassNameSeparator() -> b
com.android.tools.r8.dex.ResourceAdapter$ServiceFileNameAdapter -> com.android.tools.r8.internal.TS:
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):431:431 -> <init>
    char getClassNameSeparator() -> b
    1:1:boolean isRenamingCandidate(int,int):446:446 -> b
com.android.tools.r8.dex.ResourceAdapter$StringAdapter -> com.android.tools.r8.internal.US:
    java.lang.StringBuilder result -> b
    java.lang.String contents -> a
    int outputFrom -> d
    com.android.tools.r8.dex.ResourceAdapter this$0 -> g
    int position -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntStack prefixEndPositionsExclusive -> f
    boolean changed -> c
    1:1:void <clinit>():152:152 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):175:175 -> <init>
    2:24:void <init>(com.android.tools.r8.dex.ResourceAdapter,java.lang.String):155:177 -> <init>
    boolean allowRenamingOfPrefixes() -> a
    boolean handlePrefix(int,int) -> a
    boolean shouldRecordPrefix(char) -> a
    1:1:boolean eof(int):347:347 -> a
    char getClassNameSeparator() -> b
    boolean isRenamingCandidate(int,int) -> b
    1:2:java.lang.String getResult():199:200 -> c
    3:10:boolean renameJavaPackageInRange(int,int):303:310 -> c
    11:11:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.outputRangeFromInput(int,int):334:334 -> c
    11:11:boolean renameJavaPackageInRange(int,int):310 -> c
    12:13:boolean renameJavaPackageInRange(int,int):312:313 -> c
    14:14:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.outputJavaType(java.lang.String):339:339 -> c
    14:14:boolean renameJavaPackageInRange(int,int):311 -> c
    15:16:boolean renameJavaPackageInRange(int,int):315:316 -> c
    1:7:boolean renameJavaTypeInRange(int,int):273:279 -> d
    8:12:boolean renameJavaTypeInRange(int,int):278:282 -> d
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> d
    13:13:boolean renameJavaTypeInRange(int,int):282 -> d
    14:20:boolean renameJavaTypeInRange(int,int):282:288 -> d
    21:21:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.outputRangeFromInput(int,int):334:334 -> d
    21:21:boolean renameJavaTypeInRange(int,int):288 -> d
    22:23:boolean renameJavaTypeInRange(int,int):290:291 -> d
    24:24:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.outputJavaType(java.lang.String):339:339 -> d
    24:24:boolean renameJavaTypeInRange(int,int):289 -> d
    25:26:boolean renameJavaTypeInRange(int,int):293:294 -> d
    27:27:boolean com.android.tools.r8.dex.ResourceAdapter$StringAdapter.eof():343:343 -> d
    27:27:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleMisc():205 -> d
    27:27:boolean run():182 -> d
    28:29:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleMisc():205:206 -> d
    28:29:boolean run():182 -> d
    30:30:boolean com.android.tools.r8.dex.ResourceAdapter$StringAdapter.eof():343:343 -> d
    30:30:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():213 -> d
    30:30:boolean run():183 -> d
    31:34:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():217:220 -> d
    31:34:boolean run():183 -> d
    35:35:boolean com.android.tools.r8.dex.ResourceAdapter$StringAdapter.eof():343:343 -> d
    35:35:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():221 -> d
    35:35:boolean run():183 -> d
    36:41:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():222:227 -> d
    36:41:boolean run():183 -> d
    42:42:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.push(int):487:487 -> d
    42:42:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():227 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:boolean run():183 -> d
    43:53:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():229:239 -> d
    43:53:boolean run():183 -> d
    54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.push(int):487:487 -> d
    54:54:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():239 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    54:54:boolean run():183 -> d
    55:63:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():242:250 -> d
    55:63:boolean run():183 -> d
    64:64:boolean com.android.tools.r8.dex.ResourceAdapter$StringAdapter.eof():343:343 -> d
    64:64:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():250 -> d
    64:64:boolean run():183 -> d
    65:66:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():250:251 -> d
    65:66:boolean run():183 -> d
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.push(int):487:487 -> d
    67:67:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():251 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    67:67:boolean run():183 -> d
    68:72:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():254:258 -> d
    68:72:boolean run():183 -> d
    73:73:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():492:492 -> d
    73:73:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():258 -> d
    73:73:boolean run():183 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    74:74:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():493:493 -> d
    74:74:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():258 -> d
    74:74:boolean run():183 -> d
    75:76:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():259:260 -> d
    75:76:boolean run():183 -> d
    77:77:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():492:492 -> d
    77:77:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():258 -> d
    77:77:boolean run():183 -> d
    78:80:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():264:266 -> d
    78:80:boolean run():183 -> d
    81:81:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():492:492 -> d
    81:81:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():266 -> d
    81:81:boolean run():183 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    82:82:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():493:493 -> d
    82:82:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():266 -> d
    82:82:boolean run():183 -> d
    83:83:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.popInt():492:492 -> d
    83:83:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.handleJavaType():266 -> d
    83:83:boolean run():183 -> d
    84:84:boolean com.android.tools.r8.dex.ResourceAdapter$StringAdapter.eof():343:343 -> d
    84:84:boolean run():184 -> d
    85:88:boolean run():185:188 -> d
    89:89:void com.android.tools.r8.dex.ResourceAdapter$StringAdapter.outputRangeFromInput(int,int):334:334 -> d
    89:89:boolean run():188 -> d
    90:93:boolean run():192:195 -> d
com.android.tools.r8.dex.VDexParser -> com.android.tools.r8.dex.l:
    java.util.List dexFiles -> b
    com.android.tools.r8.dex.VDexReader vDexReader -> a
    1:1:void <init>(com.android.tools.r8.dex.VDexReader):26:26 -> <init>
    2:12:void <init>(com.android.tools.r8.dex.VDexReader):19:29 -> <init>
    1:1:java.util.List getDexFiles():33:33 -> a
    1:10:void parseDexFiles():37:46 -> b
    11:11:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:72 -> b
    11:11:void parseDexFiles():46 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:13:int com.android.tools.r8.dex.BinaryReader.getUint(int):72:73 -> b
    12:13:void parseDexFiles():46 -> b
    14:15:void parseDexFiles():47:48 -> b
    16:17:byte[] com.android.tools.r8.dex.BinaryReader.getByteArray(int):38:39 -> b
    16:17:void parseDexFiles():48 -> b
    18:23:void parseDexFiles():48:53 -> b
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    24:24:void parseDexFiles():53 -> b
    25:25:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    25:25:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    25:25:void parseDexFiles():53 -> b
    26:26:void parseDexFiles():53:53 -> b
com.android.tools.r8.dex.VDexReader -> com.android.tools.r8.dex.m:
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():22:22 -> <clinit>
    1:4:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):27:30 -> <init>
    5:5:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":36,"2":37,"3":38,"4":39,"5":40}}
    36:36:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):30:30 -> <init>
    37:37:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):30:30 -> <init>
    38:38:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):30:30 -> <init>
    39:39:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):30:30 -> <init>
    40:40:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):30:30 -> <init>
    35:35:void <init>(com.android.tools.r8.origin.Origin,java.io.InputStream):30:30 -> <init>
    1:3:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):41:43 -> a
    4:4:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    4:4:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):43 -> a
    5:13:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):43:51 -> a
    14:14:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):49:49 -> a
    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    15:15:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):49 -> a
    16:28:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):49:61 -> a
    29:29:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    29:29:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):61 -> a
    30:30:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):61:61 -> a
    31:31:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):54:54 -> a
    32:32:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    32:32:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):54 -> a
    33:33:int parseMagic(com.android.tools.r8.dex.CompatByteBuffer):54:54 -> a
    boolean supportedVersion(int) -> b
    1:13:void setByteOrder():75:87 -> f
    14:14:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> f
    14:14:void setByteOrder():87 -> f
    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> f
    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> f
    15:15:void setByteOrder():87 -> f
    16:16:void setByteOrder():87:87 -> f
com.android.tools.r8.dex.VirtualFile -> com.android.tools.r8.internal.i20:
    com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection indexedItems -> b
    com.android.tools.r8.graph.ObjectToOffsetMapping objectMapping -> g
    com.android.tools.r8.debuginfo.DebugRepresentation debugRepresentation -> f
    com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction transaction -> c
    com.android.tools.r8.graph.DexProgramClass primaryClass -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.FeatureSplit featureSplit -> d
    int id -> a
    1:1:void <clinit>():61:61 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.dex.VirtualFile$1):61:61 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):85:85 -> <init>
    3:3:void <init>(int,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.FeatureSplit):95:95 -> <init>
    4:4:void <init>(int,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):105:105 -> <init>
    5:105:void <init>(int,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.FeatureSplit):115:215 -> <init>
    106:111:void <init>(int,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.FeatureSplit):116:121 -> <init>
    1:1:java.util.Map access$1100(java.util.Collection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.ClassNameMapper):61:61 -> a
    2:2:com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction access$1200(com.android.tools.r8.dex.VirtualFile):61:61 -> a
    3:5:void setDebugRepresentation(com.android.tools.r8.debuginfo.DebugRepresentation):146:148 -> a
    6:8:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):157:159 -> a
    9:9:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":518,"3":519}}
    518:518:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):162:162 -> a
    519:519:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):162:162 -> a
    173:184:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):164:175 -> a
    185:185:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):170:170 -> a
    186:186:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):167:167 -> a
    187:187:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":524,"2":525,"3":526,"4":527,"5":528,"6":529}}
    524:524:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):167:167 -> a
    525:525:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):167:167 -> a
    526:526:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):167:167 -> a
    527:527:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):167:167 -> a
    528:528:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):167:167 -> a
    529:529:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):167:167 -> a
    354:354:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):167:167 -> a
    355:355:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):160:160 -> a
    356:356:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":530,"2":531,"3":532,"4":533,"5":534,"6":535}}
    530:530:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):160:160 -> a
    531:531:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):160:160 -> a
    532:532:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):160:160 -> a
    533:533:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):160:160 -> a
    534:534:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):160:160 -> a
    535:535:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):160:160 -> a
    516:516:java.lang.String deriveCommonPrefixAndSanityCheck(java.util.List):160:160 -> a
    536:539:void lambda$computeOriginalNameMapping$0(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexProgramClass):191:194 -> a
    540:540:void lambda$computeOriginalNameMapping$0(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexProgramClass):192:192 -> a
    541:557:void computeMapping(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.InitClassLens,int,com.android.tools.r8.utils.Timing):229:245 -> a
    558:558:void addClass(com.android.tools.r8.graph.DexProgramClass):251:251 -> a
    559:560:boolean isFull(int):255:256 -> a
    561:561:boolean com.android.tools.r8.dex.VirtualFile.isFull():260:260 -> a
    561:561:void throwIfFull(boolean,com.android.tools.r8.utils.Reporter):276 -> a
    562:565:void throwIfFull(boolean,com.android.tools.r8.utils.Reporter):279:279 -> a
    566:566:void abortTransaction():289:289 -> a
    567:567:boolean containsString(com.android.tools.r8.graph.DexString):297:297 -> a
    568:568:boolean containsType(com.android.tools.r8.graph.DexType):301:301 -> a
    1:1:int access$1300(com.android.tools.r8.dex.VirtualFile):61:61 -> b
    2:2:void injectString(com.android.tools.r8.graph.DexString):182:182 -> b
    3:3:void com.android.tools.r8.dex.VirtualFile.commitTransaction():293:293 -> b
    3:3:void injectString(com.android.tools.r8.graph.DexString):183 -> b
    4:5:java.util.Map computeOriginalNameMapping(java.util.Collection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.ClassNameMapper):188:189 -> b
    6:6:java.util.Collection classes():309:309 -> b
    1:1:void commitTransaction():293:293 -> c
    1:4:java.util.Set getClassDescriptors():129:132 -> d
    1:2:com.android.tools.r8.debuginfo.DebugRepresentation getDebugRepresentation():152:153 -> e
    1:1:com.android.tools.r8.FeatureSplit getFeatureSplit():138:138 -> f
    1:1:int getId():125:125 -> g
    1:1:int getNumberOfClasses():272:272 -> h
    1:1:int getNumberOfFields():268:268 -> i
    1:1:int getNumberOfMethods():264:264 -> j
    1:2:com.android.tools.r8.graph.ObjectToOffsetMapping getObjectMapping():218:219 -> k
    1:1:java.lang.String getPrimaryClassDescriptor():142:142 -> l
    1:1:boolean isEmpty():305:305 -> m
com.android.tools.r8.dex.VirtualFile$Distributor -> com.android.tools.r8.internal.Z10:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.List virtualFiles -> c
    com.android.tools.r8.dex.ApplicationWriter writer -> b
    1:1:void <init>(com.android.tools.r8.dex.ApplicationWriter):317:317 -> <init>
    2:6:void <init>(com.android.tools.r8.dex.ApplicationWriter):315:319 -> <init>
    java.util.List run() -> a
com.android.tools.r8.dex.VirtualFile$DistributorBase -> com.android.tools.r8.internal.a20:
    com.android.tools.r8.dex.VirtualFile mainDexFile -> f
    java.util.Set classes -> d
    com.android.tools.r8.utils.InternalOptions options -> g
    boolean $assertionsDisabled -> h
    java.util.Map originalNames -> e
    1:1:void <clinit>():382:382 -> <clinit>
    1:15:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.InternalOptions):389:403 -> <init>
    16:16:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.InternalOptions):402:402 -> <init>
    1:5:void addMarkers(com.android.tools.r8.dex.VirtualFile):407:411 -> a
    6:20:void fillForMainDexList(java.util.Set):416:430 -> a
    21:21:void fillForMainDexList(java.util.Set):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":466,"2":467,"3":468}}
    466:466:void fillForMainDexList(java.util.Set):431:431 -> a
    467:467:void fillForMainDexList(java.util.Set):431:431 -> a
    468:468:void fillForMainDexList(java.util.Set):431:431 -> a
    453:453:void fillForMainDexList(java.util.Set):432:432 -> a
    454:457:void fillForMainDexList(java.util.Set):431:434 -> a
    458:461:void fillForMainDexList(java.util.Set):433:436 -> a
    462:465:void fillForMainDexList(java.util.Set):435:438 -> a
    469:474:void lambda$fillForMainDexList$0(com.android.tools.r8.dex.VirtualFile,java.util.Set,com.android.tools.r8.graph.DexType):423:428 -> a
    475:501:java.util.TreeSet sortClassesByPackage(java.util.Set,java.util.Map):443:469 -> a
    502:524:int lambda$sortClassesByPackage$1(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):445:467 -> a
    525:556:void addFeatureSplitFiles(java.util.Map):498:529 -> a
    1:17:java.util.Map removeFeatureSplitClassesGetMapping():474:490 -> b
com.android.tools.r8.dex.VirtualFile$FilePerInputClassDistributor -> com.android.tools.r8.internal.b20:
    boolean $assertionsDisabled -> e
    boolean combineSyntheticClassesWithPrimaryClass -> d
    1:1:void <clinit>():331:331 -> <clinit>
    1:2:void <init>(com.android.tools.r8.dex.ApplicationWriter,boolean):336:337 -> <init>
    1:8:java.util.List run():342:349 -> a
    9:9:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    9:9:java.util.List run():349 -> a
    10:10:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    10:10:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    10:10:java.util.List run():349 -> a
    11:11:java.util.List run():365:365 -> a
    12:40:java.util.List run():350:378 -> a
com.android.tools.r8.dex.VirtualFile$FillFilesDistributor -> com.android.tools.r8.internal.c20:
    boolean $assertionsDisabled -> j
    java.util.concurrent.ExecutorService executorService -> i
    1:1:void <clinit>():534:534 -> <clinit>
    1:2:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):539:540 -> <init>
    1:57:java.util.List run():545:601 -> a
    1:1:int lambda$run$0(com.android.tools.r8.dex.VirtualFile):600:600 -> b
com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction -> com.android.tools.r8.internal.d20:
    com.android.tools.r8.ir.conversion.LensCodeRewriterUtils rewriter -> e
    boolean $assertionsDisabled -> n
    com.android.tools.r8.naming.NamingLens namingLens -> d
    com.android.tools.r8.graph.InitClassLens initClassLens -> c
    java.util.Set fields -> g
    java.util.Set methods -> h
    java.util.Set types -> i
    java.util.Set protos -> j
    com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection base -> a
    java.util.Set classes -> f
    java.util.Set strings -> k
    java.util.Set callSites -> l
    com.android.tools.r8.graph.GraphLens graphLens -> b
    java.util.Set methodHandles -> m
    1:1:void <clinit>():733:733 -> <clinit>
    1:1:void <init>(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.dex.VirtualFile$1):733:733 -> <init>
    2:2:void <init>(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):755:755 -> <init>
    3:22:void <init>(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):741:760 -> <init>
    1:1:java.util.Set access$1500(com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction):733:733 -> a
    2:5:boolean maybeInsert(com.android.tools.r8.graph.DexItem,java.util.Set,java.util.Set):764:767 -> a
    6:6:boolean addClass(com.android.tools.r8.graph.DexProgramClass):777:777 -> a
    7:7:boolean addMethod(com.android.tools.r8.graph.DexMethod):787:787 -> a
    8:8:boolean addString(com.android.tools.r8.graph.DexString):792:792 -> a
    9:9:boolean addProto(com.android.tools.r8.graph.DexProto):797:797 -> a
    10:10:boolean addType(com.android.tools.r8.graph.DexType):802:802 -> a
    11:11:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):223:223 -> a
    11:11:boolean addType(com.android.tools.r8.graph.DexType):802 -> a
    12:12:boolean addType(com.android.tools.r8.graph.DexType):803:803 -> a
    13:13:boolean addCallSite(com.android.tools.r8.graph.DexCallSite):808:808 -> a
    14:14:boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle):813:813 -> a
    15:15:com.android.tools.r8.graph.InitClassLens getInitClassLens():823:823 -> a
    16:16:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):839:839 -> a
    17:21:void commitItemsIn(java.util.Set,java.util.function.Function):855:859 -> a
    22:23:void lambda$commitItemsIn$0(java.util.function.Function,com.android.tools.r8.graph.DexItem):856:857 -> a
    1:1:com.android.tools.r8.ir.conversion.LensCodeRewriterUtils access$200(com.android.tools.r8.dex.VirtualFile$IndexedItemTransaction):733:733 -> b
    2:2:void addClassAndDependencies(com.android.tools.r8.graph.DexProgramClass):772:772 -> b
    3:3:boolean addField(com.android.tools.r8.graph.DexField):782:782 -> b
    4:4:com.android.tools.r8.graph.DexString getRenamedDescriptor(com.android.tools.r8.graph.DexType):828:828 -> b
    5:6:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexMethod):833:834 -> b
    7:12:void abort():874:879 -> b
    1:8:void commit():863:870 -> c
    1:1:int getNumberOfClasses():847:847 -> d
    1:1:int getNumberOfFields():851:851 -> e
    1:1:int getNumberOfMethods():843:843 -> f
    1:2:boolean isEmpty():883:884 -> g
com.android.tools.r8.dex.VirtualFile$MonoDexDistributor -> com.android.tools.r8.internal.e20:
    1:1:void <init>(com.android.tools.r8.dex.ApplicationWriter,com.android.tools.r8.utils.InternalOptions):607:607 -> <init>
    1:14:java.util.List run():613:626 -> a
com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator -> com.android.tools.r8.internal.f20:
    java.util.List classes -> a
    java.util.Map originalNames -> b
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.dex.VirtualFile$VirtualFileCycler cycler -> e
    1:1:void <clinit>():1007:1007 -> <clinit>
    1:6:void <init>(java.util.List,com.android.tools.r8.graph.AppView,java.util.Set,java.util.Map,int,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):1036:1041 -> <init>
    1:5:java.util.Map call():1068:1072 -> a
    6:6:java.lang.String com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getOriginalName(com.android.tools.r8.graph.DexProgramClass):1059:1059 -> a
    6:6:java.util.Map call():1073 -> a
    7:11:boolean com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.coveredByPrefix(java.lang.String,java.lang.String):1050:1054 -> a
    7:11:java.util.Map call():1074 -> a
    12:32:java.util.Map call():1076:1096 -> a
    33:35:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):205:207 -> a
    33:35:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):61 -> a
    33:35:java.util.Map call():1096 -> a
    36:38:java.util.Map call():1097:1099 -> a
    39:41:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):205:207 -> a
    39:41:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):61 -> a
    39:41:java.util.Map call():1100 -> a
    42:42:java.util.Map call():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1271,"2":1272,"3":1273,"4":1274,"5":1275}}
    1271:1271:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):210:210 -> a
    1271:1271:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):61 -> a
    1271:1271:java.util.Map call():1100 -> a
    1272:1272:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):210:210 -> a
    1272:1272:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):61 -> a
    1272:1272:java.util.Map call():1100 -> a
    1273:1273:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):210:210 -> a
    1273:1273:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):61 -> a
    1273:1273:java.util.Map call():1100 -> a
    1274:1274:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):210:210 -> a
    1274:1274:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):61 -> a
    1274:1274:java.util.Map call():1100 -> a
    1275:1275:java.lang.String com.android.tools.r8.dex.VirtualFile.extractPrefixToken(int,java.lang.String,boolean):210:210 -> a
    1275:1275:java.lang.String com.android.tools.r8.dex.VirtualFile.access$1400(int,java.lang.String,boolean):61 -> a
    1275:1275:java.util.Map call():1100 -> a
    1147:1156:java.util.Map call():1105:1114 -> a
    1157:1158:boolean com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1159:1160 -> a
    1157:1158:java.util.Map call():1114 -> a
    1159:1159:boolean com.android.tools.r8.dex.VirtualFile.isFull():260:260 -> a
    1159:1159:boolean com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1163 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1159:1159:java.util.Map call():1114 -> a
    1160:1189:java.util.Map call():1115:1144 -> a
    1190:1235:java.util.Map call():1108:1153 -> a
    1236:1239:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1168:1171 -> a
    1236:1239:java.util.Map call():1153 -> a
    1240:1240:boolean com.android.tools.r8.dex.VirtualFile.isFull():260:260 -> a
    1240:1240:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1172 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1240:1240:java.util.Map call():1153 -> a
    1241:1241:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1193:1193 -> a
    1241:1241:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1173 -> a
    1241:1241:java.util.Map call():1153 -> a
    1242:1243:boolean com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1159:1160 -> a
    1242:1243:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1193 -> a
    1242:1243:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1173 -> a
    1242:1243:java.util.Map call():1153 -> a
    1244:1244:boolean com.android.tools.r8.dex.VirtualFile.isFull():260:260 -> a
    1244:1244:boolean com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1163 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1244:1244:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1193 -> a
    1244:1244:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1173 -> a
    1244:1244:java.util.Map call():1153 -> a
    1245:1245:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1194:1194 -> a
    1245:1245:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1173 -> a
    1245:1245:java.util.Map call():1153 -> a
    1246:1247:boolean com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1159:1160 -> a
    1246:1247:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1194 -> a
    1246:1247:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1173 -> a
    1246:1247:java.util.Map call():1153 -> a
    1248:1248:boolean com.android.tools.r8.dex.VirtualFile.isFull():260:260 -> a
    1248:1248:boolean com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1163 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1248:1248:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1194 -> a
    1248:1248:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1173 -> a
    1248:1248:java.util.Map call():1153 -> a
    1249:1249:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1195:1195 -> a
    1249:1249:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1173 -> a
    1249:1249:java.util.Map call():1153 -> a
    1250:1250:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1175:1175 -> a
    1250:1250:java.util.Map call():1153 -> a
    1251:1251:boolean com.android.tools.r8.dex.VirtualFile.isFull():260:260 -> a
    1251:1251:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1176 -> a
    1251:1251:java.util.Map call():1153 -> a
    1252:1252:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1178:1178 -> a
    1252:1252:java.util.Map call():1153 -> a
    1253:1253:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1193:1193 -> a
    1253:1253:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1179 -> a
    1253:1253:java.util.Map call():1153 -> a
    1254:1255:boolean com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1159:1160 -> a
    1254:1255:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1193 -> a
    1254:1255:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1179 -> a
    1254:1255:java.util.Map call():1153 -> a
    1256:1256:boolean com.android.tools.r8.dex.VirtualFile.isFull():260:260 -> a
    1256:1256:boolean com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1163 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1256:1256:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1193 -> a
    1256:1256:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1179 -> a
    1256:1256:java.util.Map call():1153 -> a
    1257:1257:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1194:1194 -> a
    1257:1257:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1179 -> a
    1257:1257:java.util.Map call():1153 -> a
    1258:1259:boolean com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1159:1160 -> a
    1258:1259:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1194 -> a
    1258:1259:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1179 -> a
    1258:1259:java.util.Map call():1153 -> a
    1260:1260:boolean com.android.tools.r8.dex.VirtualFile.isFull():260:260 -> a
    1260:1260:boolean com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.isFullEnough(com.android.tools.r8.dex.VirtualFile,com.android.tools.r8.utils.InternalOptions):1163 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1260:1260:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1194 -> a
    1260:1260:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1179 -> a
    1260:1260:java.util.Map call():1153 -> a
    1261:1261:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.getVirtualFile(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler):1195:1195 -> a
    1261:1261:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1179 -> a
    1261:1261:java.util.Map call():1153 -> a
    1262:1263:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1180:1181 -> a
    1262:1263:java.util.Map call():1153 -> a
    1264:1264:boolean com.android.tools.r8.dex.VirtualFile.isFull():260:260 -> a
    1264:1264:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1182 -> a
    1264:1264:java.util.Map call():1153 -> a
    1265:1265:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1183:1183 -> a
    1265:1265:java.util.Map call():1153 -> a
    1266:1266:java.util.Map call():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1276,"2":1277,"3":1278}}
    1276:1276:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1183:1183 -> a
    1276:1276:java.util.Map call():1153 -> a
    1277:1277:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1183:1183 -> a
    1277:1277:java.util.Map call():1153 -> a
    1278:1278:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1183:1183 -> a
    1278:1278:java.util.Map call():1153 -> a
    1267:1270:void com.android.tools.r8.dex.VirtualFile$PackageSplitPopulator.addNonPackageClasses(com.android.tools.r8.dex.VirtualFile$VirtualFileCycler,java.util.List):1184:1187 -> a
    1267:1270:java.util.Map call():1153 -> a
    1:1:java.lang.Object call():1007:1007 -> call
com.android.tools.r8.dex.VirtualFile$VirtualFileCycler -> com.android.tools.r8.internal.g20:
    java.util.List files -> a
    com.android.tools.r8.FeatureSplit featuresplit -> i
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> j
    int nextFileId -> f
    com.android.tools.r8.naming.NamingLens namingLens -> e
    java.util.Iterator activeFiles -> h
    java.util.Iterator allFilesCyclic -> g
    com.android.tools.r8.graph.GraphLens graphLens -> c
    com.android.tools.r8.graph.InitClassLens initClassLens -> d
    1:1:void <clinit>():900:900 -> <clinit>
    1:13:void <init>(java.util.List,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,int):919:931 -> <init>
    1:1:boolean com.android.tools.r8.dex.VirtualFile$VirtualFileCycler.hasNext():940:940 -> a
    1:1:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$VirtualFileCycler.nextOrCreate():951 -> a
    1:1:com.android.tools.r8.dex.VirtualFile nextOrCreate(java.util.function.Predicate):971 -> a
    2:8:com.android.tools.r8.dex.VirtualFile com.android.tools.r8.dex.VirtualFile$VirtualFileCycler.nextOrCreate():952:958 -> a
    2:8:com.android.tools.r8.dex.VirtualFile nextOrCreate(java.util.function.Predicate):971 -> a
    9:12:com.android.tools.r8.dex.VirtualFile nextOrCreate(java.util.function.Predicate):972:975 -> a
    13:18:com.android.tools.r8.dex.VirtualFile addFile():987:992 -> a
    1:1:boolean hasNext():940:940 -> b
    1:1:com.android.tools.r8.dex.VirtualFile next():944:944 -> c
    1:2:void reset():935:936 -> d
    1:1:void restart():983:983 -> e
com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection -> com.android.tools.r8.internal.h20:
    java.util.Set methods -> g
    java.util.Set fields -> h
    java.util.Set strings -> i
    java.util.Set callSites -> j
    com.android.tools.r8.naming.NamingLens namingLens -> c
    java.util.Set classes -> d
    java.util.Set protos -> e
    java.util.Set types -> f
    boolean $assertionsDisabled -> l
    java.util.Set methodHandles -> k
    com.android.tools.r8.graph.GraphLens graphLens -> a
    com.android.tools.r8.graph.InitClassLens initClassLens -> b
    1:1:void <clinit>():630:630 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):646:646 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens):636:649 -> <init>
    1:1:java.util.Set access$100(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):630:630 -> a
    2:2:boolean addClass(com.android.tools.r8.graph.DexProgramClass):654:654 -> a
    3:3:boolean addMethod(com.android.tools.r8.graph.DexMethod):664:664 -> a
    4:4:boolean addString(com.android.tools.r8.graph.DexString):669:669 -> a
    5:5:boolean addProto(com.android.tools.r8.graph.DexProto):674:674 -> a
    6:6:boolean addType(com.android.tools.r8.graph.DexType):679:679 -> a
    7:7:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):223:223 -> a
    7:7:boolean addType(com.android.tools.r8.graph.DexType):679 -> a
    8:8:boolean addType(com.android.tools.r8.graph.DexType):680:680 -> a
    9:9:boolean addCallSite(com.android.tools.r8.graph.DexCallSite):685:685 -> a
    10:10:boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle):690:690 -> a
    11:11:com.android.tools.r8.graph.InitClassLens getInitClassLens():712:712 -> a
    12:12:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):729:729 -> a
    13:13:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    13:13:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):729 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexField):729:729 -> a
    1:1:java.util.Set access$300(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):630:630 -> b
    2:2:boolean addField(com.android.tools.r8.graph.DexField):659:659 -> b
    3:3:int getNumberOfFields():698:698 -> b
    4:4:com.android.tools.r8.graph.DexString getRenamedDescriptor(com.android.tools.r8.graph.DexType):717:717 -> b
    5:7:com.android.tools.r8.graph.DexString getRenamedName(com.android.tools.r8.graph.DexMethod):722:724 -> b
    1:1:java.util.Set access$400(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):630:630 -> c
    2:2:int getNumberOfMethods():694:694 -> c
    1:1:java.util.Set access$500(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):630:630 -> d
    1:1:java.util.Set access$600(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):630:630 -> e
    1:1:java.util.Set access$700(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):630:630 -> f
    1:1:java.util.Set access$800(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):630:630 -> g
    1:1:java.util.Set access$900(com.android.tools.r8.dex.VirtualFile$VirtualFileIndexedItemCollection):630:630 -> h
com.android.tools.r8.dexsplitter.DexSplitter -> com.android.tools.r8.dexsplitter.DexSplitter:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>():38:38 -> <init>
    1:6:com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar parseFeatureJarArgument(java.lang.String):204:209 -> a
    1:6:void lambda$parseArguments$0(com.android.tools.r8.dexsplitter.DexSplitter$Options,java.lang.String):225 -> a
    7:11:com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar parseFeatureJarArgument(java.lang.String):207:211 -> a
    7:11:void lambda$parseArguments$0(com.android.tools.r8.dexsplitter.DexSplitter$Options,java.lang.String):225 -> a
    12:12:void lambda$parseArguments$0(com.android.tools.r8.dexsplitter.DexSplitter$Options,java.lang.String):225:225 -> a
    13:14:void run(java.lang.String[]):283:284 -> a
    13:14:void lambda$main$1(java.lang.String[]):362 -> a
    15:15:void lambda$main$1(java.lang.String[]):365:365 -> a
    16:16:void lambda$main$1(java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":382,"2":383,"3":384}}
    382:382:void lambda$main$1(java.lang.String[]):365:365 -> a
    383:383:void lambda$main$1(java.lang.String[]):365:365 -> a
    384:384:void lambda$main$1(java.lang.String[]):365:365 -> a
    381:381:void lambda$main$1(java.lang.String[]):365:365 -> a
    1:51:com.android.tools.r8.dexsplitter.DexSplitter$Options parseArguments(java.lang.String[]):215:265 -> b
    1:1:void main(java.lang.String[]):359:359 -> main
    1:24:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):290:313 -> run
    25:27:com.android.tools.r8.utils.FeatureClassMapping createFeatureClassMapping(com.android.tools.r8.dexsplitter.DexSplitter$Options):272:274 -> run
    25:27:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):316 -> run
    28:33:com.android.tools.r8.utils.FeatureClassMapping createFeatureClassMapping(com.android.tools.r8.dexsplitter.DexSplitter$Options):273:278 -> run
    28:33:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):316 -> run
    34:34:com.android.tools.r8.utils.FeatureClassMapping createFeatureClassMapping(com.android.tools.r8.dexsplitter.DexSplitter$Options):277:277 -> run
    34:34:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):316 -> run
    35:35:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):319:319 -> run
    36:39:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):318:321 -> run
    40:46:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):328:334 -> run
    40:46:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    47:48:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> run
    47:48:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):334 -> run
    47:48:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    49:58:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):334:343 -> run
    49:58:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    59:59:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):347:347 -> run
    59:59:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):344 -> run
    59:59:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    60:60:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):337:337 -> run
    60:60:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    61:61:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):347:347 -> run
    61:61:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):344 -> run
    61:61:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    62:62:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):344:344 -> run
    62:62:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    63:63:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):347:347 -> run
    63:63:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):347 -> run
    63:63:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    64:64:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):329:329 -> run
    64:64:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    65:65:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):347:347 -> run
    65:65:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):347 -> run
    65:65:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    66:69:void splitNonClassResources(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.utils.FeatureClassMapping):347:350 -> run
    66:69:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):322 -> run
    70:70:void run(com.android.tools.r8.dexsplitter.DexSplitter$Options):300:300 -> run
com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar -> com.android.tools.r8.internal.hh:
    java.lang.String jar -> a
    java.lang.String outputName -> b
    1:3:void <init>(java.lang.String,java.lang.String):49:51 -> <init>
    4:4:void <init>(java.lang.String):55:55 -> <init>
    1:1:java.lang.String getJar():59:59 -> a
    2:4:java.lang.String featureNameFromJar(java.lang.String):67:69 -> a
    5:5:java.lang.String featureNameFromJar(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":75,"3":76}}
    75:75:java.lang.String featureNameFromJar(java.lang.String):70:70 -> a
    76:76:java.lang.String featureNameFromJar(java.lang.String):70:70 -> a
    1:1:java.lang.String getOutputName():63:63 -> b
com.android.tools.r8.dexsplitter.DexSplitter$Options -> com.android.tools.r8.dexsplitter.DexSplitter$Options:
    java.util.List inputArchives -> b
    java.lang.String featureSplitMapping -> g
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> a
    java.lang.String output -> f
    java.lang.String mainDexList -> i
    java.lang.String proguardMap -> h
    boolean splitNonClassResources -> j
    java.util.List baseJars -> d
    java.util.List featureJars -> c
    java.lang.String baseOutputName -> e
    1:1:void <init>():102:102 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler):105:105 -> <init>
    3:18:void <init>(com.android.tools.r8.DiagnosticsHandler):91:106 -> <init>
    1:1:com.android.tools.r8.DiagnosticsHandler access$000(com.android.tools.r8.dexsplitter.DexSplitter$Options):89:89 -> a
    2:2:void addFeatureJar(com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar):162:162 -> a
    2:2:void access$300(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar):89 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void addFeatureJar(com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar):162:162 -> a
    3:3:void access$300(com.android.tools.r8.dexsplitter.DexSplitter$Options,com.android.tools.r8.dexsplitter.DexSplitter$FeatureJar):89 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableList getBaseJars():186:186 -> a
    1:1:void addBaseJar(java.lang.String):158:158 -> addBaseJar
    1:1:void addFeatureJar(java.lang.String):166:166 -> addFeatureJar
    2:2:void addFeatureJar(java.lang.String,java.lang.String):170:170 -> addFeatureJar
    1:1:void addInputArchive(java.lang.String):154:154 -> addInputArchive
    1:1:java.util.List access$100(com.android.tools.r8.dexsplitter.DexSplitter$Options):89:89 -> b
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableList getFeatureJars():182:182 -> b
    1:1:boolean access$200(com.android.tools.r8.dexsplitter.DexSplitter$Options):89:89 -> c
    1:2:com.android.tools.r8.Diagnostic error(java.lang.String):191:192 -> error
    1:1:java.lang.String getBaseOutputName():146:146 -> getBaseOutputName
    1:1:com.android.tools.r8.DiagnosticsHandler getDiagnosticsHandler():110:110 -> getDiagnosticsHandler
    1:1:java.lang.String getFeatureSplitMapping():130:130 -> getFeatureSplitMapping
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList getInputArchives():178:178 -> getInputArchives
    1:1:java.lang.String getMainDexList():114:114 -> getMainDexList
    1:1:java.lang.String getOutput():122:122 -> getOutput
    1:1:java.lang.String getProguardMap():138:138 -> getProguardMap
    1:1:void setBaseOutputName(java.lang.String):150:150 -> setBaseOutputName
    1:1:void setFeatureSplitMapping(java.lang.String):134:134 -> setFeatureSplitMapping
    1:1:void setMainDexList(java.lang.String):118:118 -> setMainDexList
    1:1:void setOutput(java.lang.String):126:126 -> setOutput
    1:1:void setProguardMap(java.lang.String):142:142 -> setProguardMap
    1:1:void setSplitNonClassResources(boolean):174:174 -> setSplitNonClassResources
com.android.tools.r8.dexsplitter.DexSplitter$Options$1 -> com.android.tools.r8.dexsplitter.a:
    1:1:void <init>():102:102 -> <init>
com.android.tools.r8.dexsplitter.DexSplitter$ZipFileOrigin -> com.android.tools.r8.dexsplitter.b:
    1:1:void <init>(java.nio.file.Path):79:79 -> <init>
    1:1:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":170,"2":171,"3":172}}
    170:170:java.lang.String part():84:84 -> part
    171:171:java.lang.String part():84:84 -> part
    172:172:java.lang.String part():84:84 -> part
    85:85:java.lang.String part():84:84 -> part
    86:86:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":173,"2":174,"3":175}}
    173:173:java.lang.String part():84:84 -> part
    174:174:java.lang.String part():84:84 -> part
    175:175:java.lang.String part():84:84 -> part
com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl -> com.android.tools.r8.diagnostic.internal.a:
    com.android.tools.r8.references.ClassReference classReference -> b
    1:1:void <init>(com.android.tools.r8.references.ClassReference,com.android.tools.r8.origin.Origin,com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl$1):11:11 -> <init>
    2:3:void <init>(com.android.tools.r8.references.ClassReference,com.android.tools.r8.origin.Origin):17:18 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl$Builder builder():22:22 -> a
    1:1:com.android.tools.r8.references.ClassReference getClassReference():27:27 -> getClassReference
com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl$Builder -> com.android.tools.r8.diagnostic.internal.a$a:
    com.android.tools.r8.references.ClassReference classReference -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl$1):30:30 -> <init>
    2:2:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.diagnostic.DefinitionContext build():30:30 -> a
    2:2:com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl$Builder setClassContext(com.android.tools.r8.references.ClassReference):37:37 -> a
    com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder self() -> b
    1:1:com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl build():48:48 -> c
    2:2:boolean com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder.validate():37:37 -> c
    2:2:boolean validate():54 -> c
    2:2:com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl build():48 -> c
    3:3:boolean validate():55:55 -> c
    3:3:com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl build():48 -> c
    4:4:com.android.tools.r8.diagnostic.internal.DefinitionClassContextImpl build():49:49 -> c
com.android.tools.r8.diagnostic.internal.DefinitionContextBase -> com.android.tools.r8.diagnostic.internal.c:
    com.android.tools.r8.origin.Origin origin -> a
    1:2:void <init>(com.android.tools.r8.origin.Origin):14:15 -> <init>
    1:1:com.android.tools.r8.origin.Origin getOrigin():20:20 -> getOrigin
com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder -> com.android.tools.r8.diagnostic.internal.b:
    com.android.tools.r8.origin.Origin origin -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>():23:23 -> <init>
    com.android.tools.r8.diagnostic.DefinitionContext build() -> a
    1:2:com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder setOrigin(com.android.tools.r8.origin.Origin):28:29 -> a
    com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder self() -> b
com.android.tools.r8.diagnostic.internal.DefinitionContextUtils -> com.android.tools.r8.diagnostic.internal.d:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:7:void accept(com.android.tools.r8.diagnostic.DefinitionContext,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):26:32 -> a
    8:25:com.android.tools.r8.diagnostic.DefinitionContext create(com.android.tools.r8.graph.ProgramDerivedContext):52:69 -> a
    26:26:com.android.tools.r8.diagnostic.DefinitionContext create(com.android.tools.r8.graph.ProgramDerivedContext):67:67 -> a
    27:27:java.lang.String toSourceString(com.android.tools.r8.diagnostic.DefinitionContext):73:73 -> a
    28:34:java.lang.Object apply(com.android.tools.r8.diagnostic.DefinitionContext,java.util.function.Function,java.util.function.Function,java.util.function.Function):41:47 -> a
    28:34:java.lang.String toSourceString(com.android.tools.r8.diagnostic.DefinitionContext):73 -> a
    35:35:java.lang.String toSourceString(com.android.tools.r8.diagnostic.DefinitionContext):73:73 -> a
    36:36:java.lang.String lambda$toSourceString$0(com.android.tools.r8.diagnostic.DefinitionClassContext):75:75 -> a
    37:37:java.lang.String lambda$toSourceString$1(com.android.tools.r8.diagnostic.DefinitionFieldContext):76:76 -> a
    38:38:java.lang.String lambda$toSourceString$2(com.android.tools.r8.diagnostic.DefinitionMethodContext):77:77 -> a
com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl -> com.android.tools.r8.diagnostic.internal.e:
    com.android.tools.r8.references.FieldReference fieldReference -> b
    1:1:void <init>(com.android.tools.r8.references.FieldReference,com.android.tools.r8.origin.Origin,com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl$1):11:11 -> <init>
    2:3:void <init>(com.android.tools.r8.references.FieldReference,com.android.tools.r8.origin.Origin):17:18 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl$Builder builder():22:22 -> a
    1:1:com.android.tools.r8.references.FieldReference getFieldReference():27:27 -> getFieldReference
com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl$Builder -> com.android.tools.r8.diagnostic.internal.e$a:
    com.android.tools.r8.references.FieldReference fieldReference -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl$1):30:30 -> <init>
    2:2:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.diagnostic.DefinitionContext build():30:30 -> a
    2:2:com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl$Builder setFieldContext(com.android.tools.r8.references.FieldReference):37:37 -> a
    com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder self() -> b
    1:1:com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl build():48:48 -> c
    2:2:boolean com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder.validate():37:37 -> c
    2:2:boolean validate():54 -> c
    2:2:com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl build():48 -> c
    3:3:boolean validate():55:55 -> c
    3:3:com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl build():48 -> c
    4:4:com.android.tools.r8.diagnostic.internal.DefinitionFieldContextImpl build():49:49 -> c
com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl -> com.android.tools.r8.diagnostic.internal.f:
    com.android.tools.r8.references.MethodReference methodReference -> b
    1:1:void <init>(com.android.tools.r8.references.MethodReference,com.android.tools.r8.origin.Origin,com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl$1):11:11 -> <init>
    2:3:void <init>(com.android.tools.r8.references.MethodReference,com.android.tools.r8.origin.Origin):17:18 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl$Builder builder():22:22 -> a
    1:1:com.android.tools.r8.references.MethodReference getMethodReference():27:27 -> getMethodReference
com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl$Builder -> com.android.tools.r8.diagnostic.internal.f$a:
    com.android.tools.r8.references.MethodReference methodReference -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl$1):30:30 -> <init>
    2:2:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.diagnostic.DefinitionContext build():30:30 -> a
    2:2:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl$Builder setMethodContext(com.android.tools.r8.references.MethodReference):37:37 -> a
    com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder self() -> b
    1:1:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl build():48:48 -> c
    2:2:boolean com.android.tools.r8.diagnostic.internal.DefinitionContextBase$Builder.validate():37:37 -> c
    2:2:boolean validate():54 -> c
    2:2:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl build():48 -> c
    3:3:boolean validate():55:55 -> c
    3:3:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl build():48 -> c
    4:4:com.android.tools.r8.diagnostic.internal.DefinitionMethodContextImpl build():49:49 -> c
com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl -> com.android.tools.r8.internal.dF:
    com.android.tools.r8.references.ClassReference classReference -> b
    1:1:void <init>(com.android.tools.r8.references.ClassReference,java.util.Collection,com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$1):13:13 -> <init>
    2:3:void <init>(com.android.tools.r8.references.ClassReference,java.util.Collection):19:20 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$Builder builder():24:24 -> a
    1:1:com.android.tools.r8.references.ClassReference getClassReference():29:29 -> getClassReference
com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$Builder -> com.android.tools.r8.internal.cF:
    com.android.tools.r8.references.ClassReference classReference -> b
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$1):32:32 -> <init>
    2:2:void <init>():36:36 -> <init>
    com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder self() -> a
    1:1:com.android.tools.r8.diagnostic.internal.MissingClassInfoImpl$Builder setClass(com.android.tools.r8.references.ClassReference):39:39 -> a
    1:1:com.android.tools.r8.diagnostic.MissingDefinitionInfo build():44:44 -> b
com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase -> com.android.tools.r8.internal.hF:
    java.util.Collection referencedFromContexts -> a
    1:2:void <init>(java.util.Collection):16:17 -> <init>
    1:3:java.lang.String getDiagnosticMessage():22:24 -> getDiagnosticMessage
    1:1:java.util.Collection getReferencedFromContexts():29:29 -> getReferencedFromContexts
com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder -> com.android.tools.r8.internal.gF:
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder referencedFromContextsBuilder -> a
    1:1:void <init>():37:37 -> <init>
    2:2:void <init>():35:35 -> <init>
    com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder self() -> a
    1:2:com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder addReferencedFromContext(com.android.tools.r8.diagnostic.DefinitionContext):40:41 -> a
    3:4:com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder addReferencedFromContexts(java.lang.Iterable):45:46 -> a
com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoUtils -> com.android.tools.r8.internal.iF:
    boolean $assertionsDisabled -> b
    java.util.Comparator COMPARATOR -> a
    1:3:void <clinit>():26:28 -> <clinit>
    1:5:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):30:34 -> a
    6:11:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):33:38 -> a
    12:16:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):37:41 -> a
    17:24:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):40:47 -> a
    25:25:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):46:46 -> a
    26:26:int com.android.tools.r8.utils.FieldReferenceUtils.compare(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.ClassReference):35:35 -> a
    26:26:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):46 -> a
    27:29:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):49:51 -> a
    30:34:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):50:54 -> a
    35:35:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):53:53 -> a
    36:36:int com.android.tools.r8.utils.FieldReferenceUtils.compare(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.MethodReference):44:44 -> a
    36:36:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):53 -> a
    37:40:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):56:59 -> a
    41:41:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):58:58 -> a
    42:42:int com.android.tools.r8.utils.MethodReferenceUtils.compare(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.ClassReference):59:59 -> a
    42:42:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):58 -> a
    43:45:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):61:63 -> a
    46:46:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):62:62 -> a
    47:47:int com.android.tools.r8.utils.MethodReferenceUtils.compare(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.FieldReference):63:63 -> a
    47:47:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):62 -> a
    48:48:int com.android.tools.r8.utils.FieldReferenceUtils.compare(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.MethodReference):44:44 -> a
    48:48:int com.android.tools.r8.utils.MethodReferenceUtils.compare(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.FieldReference):63 -> a
    48:48:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):62 -> a
    49:49:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):66:66 -> a
    50:50:int lambda$static$0(com.android.tools.r8.diagnostic.MissingDefinitionInfo,com.android.tools.r8.diagnostic.MissingDefinitionInfo):65:65 -> a
    51:51:java.util.Comparator getComparator():85:85 -> a
    52:52:void writeDiagnosticMessage(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):90:90 -> a
    53:59:void com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoUtils.accept(com.android.tools.r8.diagnostic.MissingDefinitionInfo,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):74:80 -> a
    53:59:void writeDiagnosticMessage(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):90 -> a
    60:60:void writeDiagnosticMessage(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):105:105 -> a
    61:62:void lambda$writeDiagnosticMessage$1(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingClassInfo):94:95 -> a
    63:64:void lambda$writeDiagnosticMessage$2(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingFieldInfo):98:99 -> a
    65:67:void lambda$writeDiagnosticMessage$3(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingMethodInfo):102:104 -> a
    68:68:void lambda$writeDiagnosticMessage$3(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingMethodInfo):103:103 -> a
    69:69:void lambda$writeReferencedFromSuffix$4(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionClassContext):119:119 -> a
    70:70:void com.android.tools.r8.utils.Box.setMin(java.lang.Object,java.util.Comparator):37:37 -> a
    70:70:void lambda$writeReferencedFromSuffix$4(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionClassContext):118 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:72:void com.android.tools.r8.utils.Box.setMin(java.lang.Object,java.util.Comparator):37:38 -> a
    71:72:void lambda$writeReferencedFromSuffix$4(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionClassContext):118 -> a
    73:73:void lambda$writeReferencedFromSuffix$5(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionFieldContext):122:122 -> a
    74:74:void com.android.tools.r8.utils.Box.setMin(java.lang.Object,java.util.Comparator):37:37 -> a
    74:74:void lambda$writeReferencedFromSuffix$5(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionFieldContext):121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    75:76:void com.android.tools.r8.utils.Box.setMin(java.lang.Object,java.util.Comparator):37:38 -> a
    75:76:void lambda$writeReferencedFromSuffix$5(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionFieldContext):121 -> a
    77:78:void lambda$writeReferencedFromSuffix$6(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionMethodContext):125:126 -> a
    79:79:void com.android.tools.r8.utils.Box.setMin(java.lang.Object,java.util.Comparator):37:37 -> a
    79:79:void lambda$writeReferencedFromSuffix$6(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionMethodContext):124 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    80:81:void com.android.tools.r8.utils.Box.setMin(java.lang.Object,java.util.Comparator):37:38 -> a
    80:81:void lambda$writeReferencedFromSuffix$6(com.android.tools.r8.utils.Box,com.android.tools.r8.diagnostic.DefinitionMethodContext):124 -> a
    82:91:void writeReferencedFromSuffix(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo,java.lang.String):143:152 -> a
    1:23:void writeReferencedFromSuffix(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):110:132 -> b
    24:28:void writeReferencedFromSuffix(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):131:135 -> b
    29:32:void writeReferencedFromSuffix(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):134:137 -> b
com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl -> com.android.tools.r8.internal.kF:
    java.util.Collection missingDefinitions -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(java.util.Collection,com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$1):17:17 -> <init>
    2:4:void <init>(java.util.Collection):21:23 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder builder():27:27 -> a
    2:2:void lambda$getDiagnosticMessage$0(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):70:70 -> a
    3:3:void lambda$getDiagnosticMessage$0(java.lang.StringBuilder,com.android.tools.r8.diagnostic.MissingDefinitionInfo):69:69 -> a
    1:1:java.lang.String getDiagnosticMessage():56:56 -> getDiagnosticMessage
    2:4:java.util.Collection com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl.getMissingDefinitionsWithDeterministicOrder():36:38 -> getDiagnosticMessage
    2:4:java.lang.String getDiagnosticMessage():58 -> getDiagnosticMessage
    5:19:java.lang.String getDiagnosticMessage():58:72 -> getDiagnosticMessage
    1:3:java.util.Collection com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl.getMissingDefinitionsWithDeterministicOrder():36:38 -> getMissingDefinitions
    1:3:java.util.Collection getMissingDefinitions():32 -> getMissingDefinitions
    1:1:com.android.tools.r8.origin.Origin getOrigin():45:45 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():51:51 -> getPosition
com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder -> com.android.tools.r8.internal.jF:
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder missingDefinitionsBuilder -> a
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$1):75:75 -> <init>
    2:2:void <init>():80:80 -> <init>
    3:3:void <init>():78:78 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder addMissingDefinitionInfo(com.android.tools.r8.diagnostic.MissingDefinitionInfo):83:83 -> a
    2:2:com.android.tools.r8.diagnostic.MissingDefinitionsDiagnostic build():88:88 -> a
com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl -> com.android.tools.r8.internal.mF:
    com.android.tools.r8.references.FieldReference fieldReference -> b
    1:1:void <init>(com.android.tools.r8.references.FieldReference,java.util.Collection,com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$1):13:13 -> <init>
    2:3:void <init>(com.android.tools.r8.references.FieldReference,java.util.Collection):19:20 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$Builder builder():24:24 -> a
    1:1:com.android.tools.r8.references.FieldReference getFieldReference():29:29 -> getFieldReference
com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$Builder -> com.android.tools.r8.internal.lF:
    com.android.tools.r8.references.FieldReference fieldReference -> b
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$1):32:32 -> <init>
    2:2:void <init>():36:36 -> <init>
    com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder self() -> a
    1:1:com.android.tools.r8.diagnostic.internal.MissingFieldInfoImpl$Builder setField(com.android.tools.r8.references.FieldReference):39:39 -> a
    1:1:com.android.tools.r8.diagnostic.MissingDefinitionInfo build():44:44 -> b
com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl -> com.android.tools.r8.internal.oF:
    com.android.tools.r8.references.MethodReference methodReference -> b
    1:1:void <init>(com.android.tools.r8.references.MethodReference,java.util.Collection,com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$1):13:13 -> <init>
    2:3:void <init>(com.android.tools.r8.references.MethodReference,java.util.Collection):19:20 -> <init>
    1:1:com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$Builder builder():24:24 -> a
    1:1:com.android.tools.r8.references.MethodReference getMethodReference():29:29 -> getMethodReference
com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$Builder -> com.android.tools.r8.internal.nF:
    com.android.tools.r8.references.MethodReference methodReference -> b
    1:1:void <init>(com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$1):32:32 -> <init>
    2:2:void <init>():36:36 -> <init>
    com.android.tools.r8.diagnostic.internal.MissingDefinitionInfoBase$Builder self() -> a
    1:1:com.android.tools.r8.diagnostic.internal.MissingMethodInfoImpl$Builder setMethod(com.android.tools.r8.references.MethodReference):39:39 -> a
    1:1:com.android.tools.r8.diagnostic.MissingDefinitionInfo build():44:44 -> b
com.android.tools.r8.dump.CompilerDump -> com.android.tools.r8.internal.Cc:
    java.nio.file.Path directory -> a
    1:2:void <init>(java.nio.file.Path):23:24 -> <init>
    1:2:com.android.tools.r8.dump.CompilerDump fromArchive(java.nio.file.Path,java.nio.file.Path):19:20 -> a
    3:3:java.nio.file.Path com.android.tools.r8.dump.CompilerDump.getBuildPropertiesFile():40:40 -> a
    3:3:com.android.tools.r8.dump.DumpOptions getBuildProperties():48 -> a
    4:5:com.android.tools.r8.dump.DumpOptions getBuildProperties():48:49 -> a
    6:6:java.nio.file.Path com.android.tools.r8.dump.CompilerDump.getBuildPropertiesFile():40:40 -> a
    6:6:com.android.tools.r8.dump.DumpOptions getBuildProperties():51 -> a
    7:7:com.android.tools.r8.dump.DumpOptions getBuildProperties():51:51 -> a
    8:10:com.android.tools.r8.dump.DumpOptions getBuildProperties():50:52 -> a
    1:1:java.nio.file.Path getLibraryArchive():36:36 -> b
    1:1:java.nio.file.Path getProgramArchive():28:28 -> c
    1:1:java.nio.file.Path getProguardConfigFile():44:44 -> d
com.android.tools.r8.dump.DumpOptions -> com.android.tools.r8.internal.Fh:
    java.util.Optional intermediate -> g
    java.util.Optional includeDataResources -> h
    java.util.List mainDexKeepRules -> o
    com.android.tools.r8.dex.Marker$Tool tool -> a
    java.util.Map systemProperties -> p
    int threadCount -> e
    java.util.Optional forceProguardCompatibility -> k
    boolean dumpInputToFile -> q
    int minApi -> c
    java.util.Optional treeShaking -> i
    java.util.Optional minification -> j
    com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> m
    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> n
    com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification desugaredLibrarySpecification -> l
    com.android.tools.r8.CompilationMode compilationMode -> b
    com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> f
    boolean optimizeMultidexForLinearAlloc -> d
    1:1:void <init>(com.android.tools.r8.dex.Marker$Tool,com.android.tools.r8.CompilationMode,int,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,boolean,int,com.android.tools.r8.utils.InternalOptions$DesugarState,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.shaking.ProguardConfiguration,java.util.List,java.util.Map,boolean,com.android.tools.r8.dump.DumpOptions$1):23:23 -> <init>
    2:19:void <init>(com.android.tools.r8.dex.Marker$Tool,com.android.tools.r8.CompilationMode,int,com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,boolean,int,com.android.tools.r8.utils.InternalOptions$DesugarState,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,java.util.Optional,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.shaking.ProguardConfiguration,java.util.List,java.util.Map,boolean):84:101 -> <init>
    1:1:void lambda$dumpOptions$0(java.lang.StringBuilder,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":129,"2":130,"3":131,"4":132,"5":133}}
    129:129:void lambda$dumpOptions$0(java.lang.StringBuilder,java.lang.String):126:126 -> a
    130:130:void lambda$dumpOptions$0(java.lang.StringBuilder,java.lang.String):126:126 -> a
    131:131:void lambda$dumpOptions$0(java.lang.StringBuilder,java.lang.String):126:126 -> a
    132:132:void lambda$dumpOptions$0(java.lang.StringBuilder,java.lang.String):126:126 -> a
    133:133:void lambda$dumpOptions$0(java.lang.StringBuilder,java.lang.String):126:126 -> a
    127:127:void lambda$dumpOptions$0(java.lang.StringBuilder,java.lang.String):126:126 -> a
    128:128:void com.android.tools.r8.dump.DumpOptions.addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):215:215 -> a
    128:128:void lambda$dumpOptions$0(java.lang.StringBuilder,java.lang.String):126 -> a
    134:142:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):131:139 -> a
    143:185:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):145:187 -> a
    143:185:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    186:186:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    186:186:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):189 -> a
    186:186:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    187:187:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":379,"2":380,"3":381,"4":382,"5":383,"6":384,"7":385}}
    379:379:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    379:379:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):189 -> a
    379:379:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    380:380:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    380:380:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):189 -> a
    380:380:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    381:381:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    381:381:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):189 -> a
    381:381:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    382:382:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    382:382:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):189 -> a
    382:382:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    383:383:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    383:383:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):189 -> a
    383:383:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    384:384:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    384:384:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):189 -> a
    384:384:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    385:385:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    385:385:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):189 -> a
    385:385:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    188:188:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    188:188:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):189 -> a
    188:188:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    189:189:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):177:177 -> a
    189:189:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    190:205:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):159:174 -> a
    190:205:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    206:206:com.android.tools.r8.dex.Marker$Tool com.android.tools.r8.dex.Marker$Tool.valueOf(java.lang.String):36:36 -> a
    206:206:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):147 -> a
    206:206:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    207:213:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):147:153 -> a
    207:213:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    214:214:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    214:214:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):155 -> a
    214:214:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    215:215:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":386,"2":387,"3":388,"4":389,"5":390,"6":391,"7":392}}
    386:386:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    386:386:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):155 -> a
    386:386:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    387:387:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    387:387:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):155 -> a
    387:387:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    388:388:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    388:388:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):155 -> a
    388:388:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    389:389:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    389:389:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):155 -> a
    389:389:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    390:390:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    390:390:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):155 -> a
    390:390:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    391:391:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    391:391:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):155 -> a
    391:391:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    392:392:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    392:392:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):155 -> a
    392:392:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    216:216:void com.android.tools.r8.dump.DumpOptions.parseKeyValueError(java.lang.String,java.lang.String):195:195 -> a
    216:216:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):155 -> a
    216:216:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    217:217:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):183:183 -> a
    217:217:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    218:236:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):162:180 -> a
    218:236:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    237:237:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):171:171 -> a
    237:237:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    238:238:com.android.tools.r8.utils.InternalOptions$DesugarState com.android.tools.r8.utils.InternalOptions$DesugarState.valueOf(java.lang.String):125:125 -> a
    238:238:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):168 -> a
    238:238:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    239:239:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):168:168 -> a
    239:239:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    240:240:void com.android.tools.r8.dump.DumpOptions.parseKeyValue(com.android.tools.r8.dump.DumpOptions$Builder,java.lang.String,java.lang.String):165:165 -> a
    240:240:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):140 -> a
    241:241:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):136:136 -> a
    242:242:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":393,"2":394,"3":395,"4":396,"5":397,"6":398}}
    393:393:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):136:136 -> a
    394:394:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):136:136 -> a
    395:395:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):136:136 -> a
    396:396:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):136:136 -> a
    397:397:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):136:136 -> a
    398:398:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):136:136 -> a
    378:378:void parse(java.lang.String,com.android.tools.r8.dump.DumpOptions$Builder):136:136 -> a
    399:399:void addOptionalDumpEntry(java.lang.StringBuilder,java.lang.String,java.util.Optional):211:211 -> a
    400:400:void com.android.tools.r8.dump.DumpOptions.addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):215:215 -> a
    400:400:void lambda$addOptionalDumpEntry$1(java.lang.StringBuilder,java.lang.String,java.lang.Object):211 -> a
    401:401:boolean dumpInputToFile():251:251 -> a
    402:402:com.android.tools.r8.dump.DumpOptions$Builder builder(com.android.tools.r8.dex.Marker$Tool):255:255 -> a
    1:2:java.lang.String dumpOptions():105:106 -> b
    3:3:void com.android.tools.r8.dump.DumpOptions.addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):215:215 -> b
    3:3:java.lang.String dumpOptions():106 -> b
    4:7:java.lang.String dumpOptions():108:111 -> b
    8:8:void com.android.tools.r8.dump.DumpOptions.addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):215:215 -> b
    8:8:java.lang.String dumpOptions():108 -> b
    9:9:java.lang.String dumpOptions():112:112 -> b
    10:10:void com.android.tools.r8.dump.DumpOptions.addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):215:215 -> b
    10:10:java.lang.String dumpOptions():112 -> b
    11:11:java.lang.String dumpOptions():113:113 -> b
    12:12:void com.android.tools.r8.dump.DumpOptions.addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):215:215 -> b
    12:12:java.lang.String dumpOptions():113 -> b
    13:14:java.lang.String dumpOptions():114:115 -> b
    15:15:void com.android.tools.r8.dump.DumpOptions.addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):215:215 -> b
    15:15:java.lang.String dumpOptions():115 -> b
    16:16:java.lang.String dumpOptions():117:117 -> b
    17:17:void com.android.tools.r8.dump.DumpOptions.addDumpEntry(java.lang.StringBuilder,java.lang.String,java.lang.Object):215:215 -> b
    17:17:java.lang.String dumpOptions():117 -> b
    18:27:java.lang.String dumpOptions():118:127 -> b
    1:1:boolean com.android.tools.r8.dump.DumpOptions.hasDesugaredLibraryConfiguration():219:219 -> c
    1:1:java.lang.String getDesugaredLibraryJsonSource():223 -> c
    2:2:java.lang.String getDesugaredLibraryJsonSource():224:224 -> c
    1:1:com.android.tools.r8.features.FeatureSplitConfiguration getFeatureSplitConfiguration():230:230 -> d
    1:1:java.util.List getMainDexKeepRules():247:247 -> e
    1:1:int getMinApi():207:207 -> f
    1:1:java.lang.String getParsedProguardConfiguration():239:239 -> g
    1:1:boolean hasMainDexKeepRules():243:243 -> h
com.android.tools.r8.dump.DumpOptions$Builder -> com.android.tools.r8.internal.Fh$a:
    java.util.Optional intermediate -> g
    java.util.Optional includeDataResources -> h
    java.util.List mainDexKeepRules -> o
    com.android.tools.r8.dex.Marker$Tool tool -> a
    java.util.Map systemProperties -> p
    int threadCount -> e
    java.util.Optional forceProguardCompatibility -> k
    boolean $assertionsDisabled -> q
    int minApi -> c
    java.util.Optional treeShaking -> i
    java.util.Optional minification -> j
    com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> m
    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> n
    com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification desugaredLibrarySpecification -> l
    com.android.tools.r8.CompilationMode compilationMode -> b
    com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> f
    boolean optimizeMultidexForLinearAlloc -> d
    1:1:void <clinit>():258:258 -> <clinit>
    1:1:void <init>():281:281 -> <init>
    2:13:void <init>():265:276 -> <init>
    1:1:com.android.tools.r8.dump.DumpOptions$Builder setTool(com.android.tools.r8.dex.Marker$Tool):284:284 -> a
    2:2:com.android.tools.r8.dump.DumpOptions$Builder setCompilationMode(com.android.tools.r8.CompilationMode):289:289 -> a
    3:3:com.android.tools.r8.dump.DumpOptions$Builder setMinApi(int):294:294 -> a
    4:4:com.android.tools.r8.dump.DumpOptions$Builder setDesugaredLibraryConfiguration(com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification):300:300 -> a
    5:5:com.android.tools.r8.dump.DumpOptions$Builder setDesugarState(com.android.tools.r8.utils.InternalOptions$DesugarState):315:315 -> a
    6:6:com.android.tools.r8.dump.DumpOptions$Builder setIncludeDataResources(java.util.Optional):325:325 -> a
    7:7:com.android.tools.r8.dump.DumpOptions$Builder setForceProguardCompatibility(boolean):330:330 -> a
    8:8:com.android.tools.r8.dump.DumpOptions$Builder setFeatureSplitConfiguration(com.android.tools.r8.features.FeatureSplitConfiguration):351:351 -> a
    9:9:com.android.tools.r8.dump.DumpOptions$Builder setProguardConfiguration(com.android.tools.r8.shaking.ProguardConfiguration):356:356 -> a
    10:10:com.android.tools.r8.dump.DumpOptions$Builder setMainDexKeepRules(java.util.List):361:361 -> a
    11:11:com.android.tools.r8.dump.DumpOptions$Builder setSystemProperty(java.lang.String,java.lang.String):366:366 -> a
    12:13:void lambda$readCurrentSystemProperties$0(java.lang.String):375:376 -> a
    14:14:com.android.tools.r8.dump.DumpOptions$Builder com.android.tools.r8.dump.DumpOptions$Builder.setSystemProperty(java.lang.String,java.lang.String):366:366 -> a
    14:14:void lambda$readCurrentSystemProperties$0(java.lang.String):377 -> a
    15:16:com.android.tools.r8.dump.DumpOptions build():384:385 -> a
    1:1:com.android.tools.r8.dump.DumpOptions$Builder setThreadCount(int):310:310 -> b
    2:2:com.android.tools.r8.dump.DumpOptions$Builder setIntermediate(boolean):320:320 -> b
    3:5:com.android.tools.r8.dump.DumpOptions$Builder readCurrentSystemProperties():371:373 -> b
    1:1:com.android.tools.r8.dump.DumpOptions$Builder setMinification(boolean):335:335 -> c
    1:1:com.android.tools.r8.dump.DumpOptions$Builder setOptimizeMultidexForLinearAlloc(boolean):305:305 -> d
    1:1:com.android.tools.r8.dump.DumpOptions$Builder setTreeShaking(boolean):340:340 -> e
com.android.tools.r8.errors.ApiLevelDiagnostic -> com.android.tools.r8.internal.f2:
    1:1:void <init>():11:11 -> <init>
    1:1:com.android.tools.r8.origin.Origin getOrigin():15:15 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():20:20 -> getPosition
com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic -> com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic:
    java.util.List methods -> b
    com.android.tools.r8.origin.Origin origin -> c
    com.android.tools.r8.position.Position position -> d
    1:1:void <init>(java.util.List,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic$1):19:19 -> <init>
    2:5:void <init>(java.util.List,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):26:29 -> <init>
    1:5:java.lang.String getDiagnosticMessage():44:48 -> getDiagnosticMessage
    6:6:java.lang.String com.android.tools.r8.utils.MethodReferenceUtils.toSourceStringWithoutHolderAndReturnType(com.android.tools.r8.references.MethodReference):102:102 -> getDiagnosticMessage
    6:6:java.lang.String getDiagnosticMessage():48 -> getDiagnosticMessage
    7:11:java.lang.String getDiagnosticMessage():48:52 -> getDiagnosticMessage
    12:12:java.lang.String com.android.tools.r8.utils.MethodReferenceUtils.toSourceStringWithoutHolderAndReturnType(com.android.tools.r8.references.MethodReference):102:102 -> getDiagnosticMessage
    12:12:java.lang.String getDiagnosticMessage():53 -> getDiagnosticMessage
    13:19:java.lang.String getDiagnosticMessage():53:59 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():34:34 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():39:39 -> getPosition
com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic$Builder -> com.android.tools.r8.errors.a:
    java.util.List methods -> a
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    1:1:void <init>():68:68 -> <init>
    2:2:void <init>():64:64 -> <init>
    1:2:com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic$Builder addMatchedMethods(java.util.Set):71:72 -> a
    3:3:com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic$Builder setOrigin(com.android.tools.r8.origin.Origin):78:78 -> a
    4:4:com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic$Builder setPosition(com.android.tools.r8.position.Position):83:83 -> a
    5:5:com.android.tools.r8.errors.AssumeNoSideEffectsRuleForObjectMembersDiagnostic build():88:88 -> a
com.android.tools.r8.errors.CheckDiscardDiagnostic -> com.android.tools.r8.errors.CheckDiscardDiagnostic:
    java.util.List messages -> b
    1:1:void <init>(java.util.List,com.android.tools.r8.errors.CheckDiscardDiagnostic$1):19:19 -> <init>
    2:3:void <init>(java.util.List):48:49 -> <init>
    1:2:void lambda$getDiagnosticMessage$0(java.lang.StringBuilder,java.lang.String):72:73 -> a
    1:11:java.lang.String getDiagnosticMessage():66:76 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():55:55 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():61:61 -> getPosition
com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder -> com.android.tools.r8.errors.b:
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder messagesBuilder -> a
    1:2:void <init>():23:24 -> <init>
    1:4:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):30:33 -> a
    5:7:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):32:34 -> a
    8:8:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":48,"2":49,"3":50}}
    48:48:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):34:34 -> a
    49:49:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):34:34 -> a
    50:50:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):34:34 -> a
    44:46:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):36:38 -> a
    47:47:com.android.tools.r8.errors.CheckDiscardDiagnostic$Builder addFailedItems(java.util.List,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer):34:34 -> a
    51:51:com.android.tools.r8.errors.CheckDiscardDiagnostic build():44:44 -> a
com.android.tools.r8.errors.ClassFileOverflowDiagnostic -> com.android.tools.r8.errors.ClassFileOverflowDiagnostic:
    com.android.tools.r8.origin.Origin origin -> b
    1:2:void <init>(com.android.tools.r8.origin.Origin):16:17 -> <init>
    1:1:com.android.tools.r8.origin.Origin getOrigin():22:22 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():27:27 -> getPosition
com.android.tools.r8.errors.CodeSizeOverflowDiagnostic -> com.android.tools.r8.errors.CodeSizeOverflowDiagnostic:
    com.android.tools.r8.position.MethodPosition position -> e
    com.android.tools.r8.references.MethodReference method -> c
    int codeSize -> d
    1:4:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.references.MethodReference,int):24:27 -> <init>
    1:1:int getCodeSize():32:32 -> getCodeSize
    1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":48,"2":49,"3":50}}
    48:48:java.lang.String getDiagnosticMessage():42:42 -> getDiagnosticMessage
    49:49:java.lang.String getDiagnosticMessage():42:42 -> getDiagnosticMessage
    50:50:java.lang.String getDiagnosticMessage():42:42 -> getDiagnosticMessage
    43:47:java.lang.String getDiagnosticMessage():42:46 -> getDiagnosticMessage
    1:1:com.android.tools.r8.position.Position getPosition():37:37 -> getPosition
com.android.tools.r8.errors.CompilationError -> com.android.tools.r8.internal.Bc:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    1:1:void <init>(java.lang.String):22:22 -> <init>
    2:2:void <init>(java.lang.String,java.lang.Throwable):26:26 -> <init>
    3:3:void <init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> <init>
    4:4:void <init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> <init>
    5:7:void <init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):42:44 -> <init>
    1:1:com.android.tools.r8.origin.Origin getOrigin():48:48 -> a
    1:1:com.android.tools.r8.position.Position getPosition():52:52 -> b
    1:1:com.android.tools.r8.Diagnostic toStringDiagnostic():56:56 -> c
com.android.tools.r8.errors.ConstantPoolOverflowDiagnostic -> com.android.tools.r8.errors.ConstantPoolOverflowDiagnostic:
    com.android.tools.r8.references.ClassReference clazz -> d
    int constantPoolSize -> c
    1:3:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.references.ClassReference,int):21:23 -> <init>
    1:1:int getConstantPoolSize():28:28 -> getConstantPoolSize
    1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":39,"2":40,"3":41}}
    39:39:java.lang.String getDiagnosticMessage():33:33 -> getDiagnosticMessage
    40:40:java.lang.String getDiagnosticMessage():33:33 -> getDiagnosticMessage
    41:41:java.lang.String getDiagnosticMessage():33:33 -> getDiagnosticMessage
    34:38:java.lang.String getDiagnosticMessage():33:37 -> getDiagnosticMessage
com.android.tools.r8.errors.DefaultInterfaceMethodDiagnostic -> com.android.tools.r8.internal.We:
    com.android.tools.r8.position.MethodPosition position -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():11:11 -> <clinit>
    1:3:void <init>(com.android.tools.r8.position.MethodPosition):15:17 -> <init>
    1:3:java.lang.String getDiagnosticMessage():27:27 -> getDiagnosticMessage
    1:1:com.android.tools.r8.position.Position getPosition():22:22 -> getPosition
com.android.tools.r8.errors.DesugaredLibraryMismatchDiagnostic -> com.android.tools.r8.internal.Qf:
    java.util.Set markers -> c
    java.util.Set desugaredLibraryIdentifiers -> b
    1:3:void <init>(java.util.Set,java.util.Set):20:22 -> <init>
    1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":43,"2":44,"3":45}}
    43:43:java.lang.String getDiagnosticMessage():37:37 -> getDiagnosticMessage
    44:44:java.lang.String getDiagnosticMessage():37:37 -> getDiagnosticMessage
    45:45:java.lang.String getDiagnosticMessage():37:37 -> getDiagnosticMessage
    38:42:java.lang.String getDiagnosticMessage():37:41 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():27:27 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():32:32 -> getPosition
com.android.tools.r8.errors.DexFileOverflowDiagnostic -> com.android.tools.r8.errors.DexFileOverflowDiagnostic:
    long numOfFields -> d
    long numOfMethods -> c
    boolean hasMainDexSpecification -> b
    1:4:void <init>(boolean,long,long):26:29 -> <init>
    1:26:java.lang.String getDiagnosticMessage():71:96 -> getDiagnosticMessage
    1:1:long getNumberOfFields():34:34 -> getNumberOfFields
    1:1:long getNumberOfMethods():39:39 -> getNumberOfMethods
    1:1:com.android.tools.r8.origin.Origin getOrigin():60:60 -> getOrigin
    1:1:boolean hasMainDexSpecification():54:54 -> hasMainDexSpecification
com.android.tools.r8.errors.DuplicateTypesDiagnostic -> com.android.tools.r8.errors.DuplicateTypesDiagnostic:
    java.util.Collection origins -> c
    com.android.tools.r8.references.ClassReference type -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():15:15 -> <clinit>
    1:5:void <init>(com.android.tools.r8.references.ClassReference,java.util.Collection):21:25 -> <init>
    1:2:java.lang.String getDiagnosticMessage():66:67 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():56:56 -> getOrigin
    1:1:java.util.Collection getOrigins():43:43 -> getOrigins
    1:1:com.android.tools.r8.position.Position getPosition():61:61 -> getPosition
    1:1:com.android.tools.r8.references.ClassReference getType():30:30 -> getType
com.android.tools.r8.errors.ExperimentalClassFileVersionDiagnostic -> com.android.tools.r8.internal.qj:
    com.android.tools.r8.origin.Origin origin -> c
    java.lang.String message -> b
    1:3:void <init>(com.android.tools.r8.origin.Origin,java.lang.String):16:18 -> <init>
    1:1:java.lang.String getDiagnosticMessage():33:33 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():23:23 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():28:28 -> getPosition
com.android.tools.r8.errors.IncompleteNestNestDesugarDiagnosic -> com.android.tools.r8.errors.IncompleteNestNestDesugarDiagnosic:
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String):15:15 -> <init>
com.android.tools.r8.errors.InlinableStaticFinalFieldPreconditionDiagnostic -> com.android.tools.r8.errors.InlinableStaticFinalFieldPreconditionDiagnostic:
    java.util.Collection fields -> c
    com.android.tools.r8.shaking.ProguardIfRule rule -> b
    1:3:void <init>(com.android.tools.r8.shaking.ProguardIfRule,java.util.List):26:28 -> <init>
    1:6:java.lang.String getDiagnosticMessage():43:48 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():33:33 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():38:38 -> getPosition
com.android.tools.r8.errors.InterfaceDesugarMissingTypeDiagnostic -> com.android.tools.r8.errors.InterfaceDesugarMissingTypeDiagnostic:
    com.android.tools.r8.references.ClassReference contextType -> e
    com.android.tools.r8.references.ClassReference implementingContextType -> f
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    com.android.tools.r8.references.ClassReference missingType -> d
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():14:14 -> <clinit>
    1:11:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.ClassReference):31:41 -> <init>
    1:1:com.android.tools.r8.references.ClassReference getContextType():63:63 -> getContextType
    1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":88,"2":89,"3":91}}
    88:88:java.lang.String getDiagnosticMessage():68:68 -> getDiagnosticMessage
    89:89:java.lang.String getDiagnosticMessage():68:68 -> getDiagnosticMessage
    91:91:java.lang.String getDiagnosticMessage():70:70 -> getDiagnosticMessage
    71:87:java.lang.String getDiagnosticMessage():70:86 -> getDiagnosticMessage
    1:1:com.android.tools.r8.references.ClassReference getMissingType():58:58 -> getMissingType
    1:1:com.android.tools.r8.origin.Origin getOrigin():47:47 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():53:53 -> getPosition
com.android.tools.r8.errors.InternalCompilerError -> com.android.tools.r8.internal.cu:
    1:1:void <init>():17:17 -> <init>
    2:2:void <init>(java.lang.String):21:21 -> <init>
    3:3:void <init>(java.lang.String,java.lang.Throwable):25:25 -> <init>
    4:4:void <init>(java.lang.Throwable):29:29 -> <init>
com.android.tools.r8.errors.InvalidDebugInfoException -> com.android.tools.r8.internal.tu:
    1:1:void <init>(java.lang.String):9:9 -> <init>
com.android.tools.r8.errors.InvalidDescriptorException -> com.android.tools.r8.internal.uu:
    1:1:void <init>(java.lang.String):8:8 -> <init>
com.android.tools.r8.errors.InvalidLibrarySuperclassDiagnostic -> com.android.tools.r8.errors.InvalidLibrarySuperclassDiagnostic:
    com.android.tools.r8.references.ClassReference invalidSuperType -> e
    java.lang.String message -> f
    com.android.tools.r8.origin.Origin origin -> b
    java.util.List methods -> c
    com.android.tools.r8.references.ClassReference libraryType -> d
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():19:19 -> <clinit>
    1:10:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.ClassReference,java.lang.String,java.util.List):33:42 -> <init>
    1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":71,"2":72,"3":74}}
    71:71:java.lang.String getDiagnosticMessage():57:57 -> getDiagnosticMessage
    72:72:java.lang.String getDiagnosticMessage():57:57 -> getDiagnosticMessage
    74:74:java.lang.String getDiagnosticMessage():59:59 -> getDiagnosticMessage
    60:70:java.lang.String getDiagnosticMessage():59:69 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():47:47 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():52:52 -> getPosition
com.android.tools.r8.errors.InvokeCustomDiagnostic -> com.android.tools.r8.internal.zu:
    1:1:void <init>():9:9 -> <init>
    1:1:java.lang.String getDiagnosticMessage():13:13 -> getDiagnosticMessage
com.android.tools.r8.errors.MissingNestHostNestDesugarDiagnostic -> com.android.tools.r8.errors.MissingNestHostNestDesugarDiagnostic:
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String):15:15 -> <init>
com.android.tools.r8.errors.NestDesugarDiagnostic -> com.android.tools.r8.errors.NestDesugarDiagnostic:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    java.lang.String message -> d
    1:4:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String):18:21 -> <init>
    1:1:java.lang.String getDiagnosticMessage():36:36 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():26:26 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():31:31 -> getPosition
com.android.tools.r8.errors.PrivateInterfaceMethodDiagnostic -> com.android.tools.r8.internal.QM:
    com.android.tools.r8.position.MethodPosition position -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():11:11 -> <clinit>
    1:3:void <init>(com.android.tools.r8.position.MethodPosition):15:17 -> <init>
    1:3:java.lang.String getDiagnosticMessage():27:27 -> getDiagnosticMessage
    1:1:com.android.tools.r8.position.Position getPosition():22:22 -> getPosition
com.android.tools.r8.errors.StaticInterfaceMethodDiagnostic -> com.android.tools.r8.internal.uW:
    com.android.tools.r8.position.MethodPosition position -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():11:11 -> <clinit>
    1:3:void <init>(com.android.tools.r8.position.MethodPosition):15:17 -> <init>
    1:3:java.lang.String getDiagnosticMessage():27:27 -> getDiagnosticMessage
    1:1:com.android.tools.r8.position.Position getPosition():22:22 -> getPosition
com.android.tools.r8.errors.Unimplemented -> com.android.tools.r8.internal.C00:
    1:1:void <init>():11:11 -> <init>
    2:2:void <init>(java.lang.String):15:15 -> <init>
com.android.tools.r8.errors.Unreachable -> com.android.tools.r8.internal.V00:
    1:1:void <init>():19:19 -> <init>
    2:2:void <init>(java.lang.String):23:23 -> <init>
    3:3:void <init>(java.lang.Throwable):27:27 -> <init>
com.android.tools.r8.errors.UnsupportedMainDexListUsageDiagnostic -> com.android.tools.r8.errors.UnsupportedMainDexListUsageDiagnostic:
    com.android.tools.r8.origin.Origin origin -> b
    1:2:void <init>(com.android.tools.r8.origin.Origin):20:21 -> <init>
    1:1:java.lang.String getDiagnosticMessage():36:36 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():26:26 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():31:31 -> getPosition
com.android.tools.r8.errors.dontwarn.DontWarnConfiguration -> com.android.tools.r8.internal.zh:
    1:1:void <init>():12:12 -> <init>
    boolean matches(com.android.tools.r8.graph.DexType) -> a
    boolean validate(com.android.tools.r8.utils.InternalOptions) -> a
    1:3:com.android.tools.r8.errors.dontwarn.DontWarnConfiguration create(com.android.tools.r8.shaking.ProguardConfiguration):15:17 -> a
    4:4:com.android.tools.r8.errors.dontwarn.EmptyDontWarnConfiguration com.android.tools.r8.errors.dontwarn.DontWarnConfiguration.empty():23:23 -> a
    4:4:com.android.tools.r8.errors.dontwarn.DontWarnConfiguration create(com.android.tools.r8.shaking.ProguardConfiguration):19 -> a
com.android.tools.r8.errors.dontwarn.DontWarnConfiguration$Witness -> com.android.tools.r8.internal.yh:
    1:1:void <init>(com.android.tools.r8.errors.dontwarn.DontWarnConfiguration$1):36:36 -> <init>
    2:2:void <init>():38:38 -> <init>
com.android.tools.r8.errors.dontwarn.EmptyDontWarnConfiguration -> com.android.tools.r8.internal.Th:
    1:1:void <init>():10:10 -> <init>
    boolean matches(com.android.tools.r8.graph.DexType) -> a
    boolean validate(com.android.tools.r8.utils.InternalOptions) -> a
com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration -> com.android.tools.r8.internal.vH:
    java.util.List dontWarnPatterns -> a
    java.util.Map matchedDontWarnPatterns -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.ProguardClassFilter):25:25 -> <init>
    2:8:void <init>(com.android.tools.r8.shaking.ProguardClassFilter):22:28 -> <init>
    1:3:boolean matches(com.android.tools.r8.graph.DexType):33:35 -> a
    4:7:void recordMatch(com.android.tools.r8.shaking.ProguardClassNameList,com.android.tools.r8.graph.DexType):43:46 -> a
    8:8:java.util.Set lambda$recordMatch$0(com.android.tools.r8.shaking.ProguardClassNameList):45:45 -> a
    9:9:boolean validate(com.android.tools.r8.utils.InternalOptions):52:52 -> a
    10:12:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnnecessaryDontWarnWildcards():59:61 -> a
    10:12:boolean validate(com.android.tools.r8.utils.InternalOptions):53 -> a
    13:13:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnnecessaryDontWarnWildcards():60:60 -> a
    13:13:boolean validate(com.android.tools.r8.utils.InternalOptions):53 -> a
    14:14:boolean validate(com.android.tools.r8.utils.InternalOptions):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":25,"2":26,"3":27}}
    25:25:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnnecessaryDontWarnWildcards():60:60 -> a
    25:25:boolean validate(com.android.tools.r8.utils.InternalOptions):53 -> a
    26:26:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnnecessaryDontWarnWildcards():60:60 -> a
    26:26:boolean validate(com.android.tools.r8.utils.InternalOptions):53 -> a
    27:27:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnnecessaryDontWarnWildcards():60:60 -> a
    27:27:boolean validate(com.android.tools.r8.utils.InternalOptions):53 -> a
    15:17:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnnecessaryDontWarnWildcards():63:65 -> a
    15:17:boolean validate(com.android.tools.r8.utils.InternalOptions):53 -> a
    18:18:boolean validate(com.android.tools.r8.utils.InternalOptions):54:54 -> a
    19:21:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnusedDontWarnPatterns(com.android.tools.r8.utils.InternalOptions):72:74 -> a
    19:21:boolean validate(com.android.tools.r8.utils.InternalOptions):54 -> a
    22:22:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnusedDontWarnPatterns(com.android.tools.r8.utils.InternalOptions):73:73 -> a
    22:22:boolean validate(com.android.tools.r8.utils.InternalOptions):54 -> a
    23:23:boolean validate(com.android.tools.r8.utils.InternalOptions):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":28,"2":29,"3":30}}
    28:28:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnusedDontWarnPatterns(com.android.tools.r8.utils.InternalOptions):73:73 -> a
    28:28:boolean validate(com.android.tools.r8.utils.InternalOptions):54 -> a
    29:29:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnusedDontWarnPatterns(com.android.tools.r8.utils.InternalOptions):73:73 -> a
    29:29:boolean validate(com.android.tools.r8.utils.InternalOptions):54 -> a
    30:30:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnusedDontWarnPatterns(com.android.tools.r8.utils.InternalOptions):73:73 -> a
    30:30:boolean validate(com.android.tools.r8.utils.InternalOptions):54 -> a
    24:24:boolean com.android.tools.r8.errors.dontwarn.NonEmptyDontWarnConfiguration.validateNoUnusedDontWarnPatterns(com.android.tools.r8.utils.InternalOptions):75:75 -> a
    24:24:boolean validate(com.android.tools.r8.utils.InternalOptions):54 -> a
com.android.tools.r8.experimental.graphinfo.AnnotationGraphNode -> com.android.tools.r8.experimental.graphinfo.AnnotationGraphNode:
    com.android.tools.r8.experimental.graphinfo.ClassGraphNode annotationClassNode -> d
    com.android.tools.r8.experimental.graphinfo.GraphNode annotatedNode -> c
    1:3:void <init>(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.ClassGraphNode):16:18 -> <init>
    1:6:boolean equals(java.lang.Object):34:39 -> equals
    1:1:com.android.tools.r8.experimental.graphinfo.GraphNode getAnnotatedNode():22:22 -> getAnnotatedNode
    1:1:com.android.tools.r8.experimental.graphinfo.ClassGraphNode getAnnotationClassNode():26:26 -> getAnnotationClassNode
    1:1:int hashCode():44:44 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":51,"2":52,"3":53}}
    51:51:java.lang.String toString():49:49 -> toString
    52:52:java.lang.String toString():49:49 -> toString
    53:53:java.lang.String toString():49:49 -> toString
    50:50:java.lang.String toString():49:49 -> toString
com.android.tools.r8.experimental.graphinfo.ClassGraphNode -> com.android.tools.r8.experimental.graphinfo.ClassGraphNode:
    com.android.tools.r8.references.ClassReference reference -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():9:9 -> <clinit>
    1:3:void <init>(boolean,com.android.tools.r8.references.ClassReference):15:17 -> <init>
    1:2:boolean equals(java.lang.Object):26:27 -> equals
    1:1:com.android.tools.r8.references.ClassReference getReference():21:21 -> getReference
    1:1:int hashCode():32:32 -> hashCode
    1:1:java.lang.String toString():37:37 -> toString
com.android.tools.r8.experimental.graphinfo.FieldGraphNode -> com.android.tools.r8.experimental.graphinfo.FieldGraphNode:
    com.android.tools.r8.references.FieldReference reference -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():9:9 -> <clinit>
    1:3:void <init>(boolean,com.android.tools.r8.references.FieldReference):15:17 -> <init>
    1:2:boolean equals(java.lang.Object):26:27 -> equals
    1:1:com.android.tools.r8.references.FieldReference getReference():21:21 -> getReference
    1:1:int hashCode():32:32 -> hashCode
    1:1:java.lang.String toString():37:37 -> toString
com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo -> com.android.tools.r8.internal.gm:
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo UNKNOWN -> b
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind kind -> a
    boolean $assertionsDisabled -> c
    1:3:void <clinit>():6:8 -> <clinit>
    1:2:void <init>(com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind):41:42 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():46:46 -> a
    1:40:java.lang.String getInfoPrefix():50:89 -> b
    41:41:java.lang.String getInfoPrefix():87:87 -> b
    42:42:java.lang.String getInfoPrefix():85:85 -> b
    43:43:java.lang.String getInfoPrefix():83:83 -> b
    44:44:java.lang.String getInfoPrefix():81:81 -> b
    45:45:java.lang.String getInfoPrefix():78:78 -> b
    46:46:java.lang.String getInfoPrefix():76:76 -> b
    47:47:java.lang.String getInfoPrefix():74:74 -> b
    48:48:java.lang.String getInfoPrefix():72:72 -> b
    49:49:java.lang.String getInfoPrefix():70:70 -> b
    50:50:java.lang.String getInfoPrefix():68:68 -> b
    51:51:java.lang.String getInfoPrefix():66:66 -> b
    52:52:java.lang.String getInfoPrefix():64:64 -> b
    53:53:java.lang.String getInfoPrefix():62:62 -> b
    54:54:java.lang.String getInfoPrefix():60:60 -> b
    55:55:java.lang.String getInfoPrefix():58:58 -> b
    56:56:java.lang.String getInfoPrefix() -> b
    57:95:java.lang.String getInfoPrefix():54:92 -> b
    96:96:java.lang.String getInfoPrefix():89:89 -> b
    97:97:java.lang.String getInfoPrefix():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":187,"2":188,"3":189}}
    187:187:java.lang.String getInfoPrefix():89:89 -> b
    188:188:java.lang.String getInfoPrefix():89:89 -> b
    189:189:java.lang.String getInfoPrefix():89:89 -> b
    186:186:java.lang.String getInfoPrefix():89:89 -> b
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo unknown():11:11 -> c
    1:1:boolean equals(java.lang.Object):103:103 -> equals
    1:1:int hashCode():108:108 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":100,"2":101,"3":102}}
    100:100:java.lang.String toString():98:98 -> toString
    101:101:java.lang.String toString():98:98 -> toString
    102:102:java.lang.String toString():98:98 -> toString
    99:99:java.lang.String toString():98:98 -> toString
com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$1 -> com.android.tools.r8.internal.fm:
    int[] $SwitchMap$com$android$tools$r8$experimental$graphinfo$GraphEdgeInfo$EdgeKind -> a
    1:1:void <clinit>():50:50 -> <clinit>
com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind -> com.android.tools.r8.internal.gm$a:
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind[] $VALUES -> t
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind ReflectiveUseFrom -> m
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind ReferencedFrom -> l
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind ReferencedInAnnotation -> o
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind ReachableFromLiveType -> n
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind OverridingMethod -> q
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind IsLibraryMethod -> p
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind Unknown -> s
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind MethodHandleUseFrom -> r
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind KeepRulePrecondition -> e
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind ConditionalKeepRule -> d
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind InvokedViaSuper -> g
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind InstantiatedIn -> f
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind InvokedFrom -> i
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind TargetedBySuper -> h
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind AnnotatedOn -> k
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind InvokedFromLambdaCreatedIn -> j
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind CompatibilityRule -> c
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind KeepRule -> b
    1:20:void <clinit>():17:36 -> <clinit>
    21:21:void <clinit>():15:15 -> <clinit>
    1:1:void <init>(java.lang.String,int):15:15 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind[] values():15:15 -> a
com.android.tools.r8.experimental.graphinfo.GraphNode -> com.android.tools.r8.experimental.graphinfo.GraphNode:
    boolean isLibraryNode -> a
    com.android.tools.r8.experimental.graphinfo.GraphNode CYCLE -> b
    1:1:void <clinit>():11:11 -> <clinit>
    1:2:void <init>(boolean):31:32 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphNode cycle():36:36 -> cycle
    1:1:boolean isCycle():40:40 -> isCycle
    1:1:boolean isLibraryNode():44:44 -> isLibraryNode
com.android.tools.r8.experimental.graphinfo.GraphNode$1 -> com.android.tools.r8.experimental.graphinfo.a:
    1:1:void <init>(boolean):12:12 -> <init>
    1:1:java.lang.String toString():25:25 -> toString
com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode -> com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode:
    com.android.tools.r8.origin.Origin origin -> c
    com.android.tools.r8.position.Position position -> d
    java.util.Set preconditions -> f
    boolean $assertionsDisabled -> g
    java.lang.String content -> e
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.ProguardKeepRule):28:28 -> <init>
    2:8:void <init>(com.android.tools.r8.shaking.ProguardKeepRuleBase,java.util.Set):32:38 -> <init>
    1:8:boolean equals(java.lang.Object):46:53 -> equals
    1:1:java.lang.String getContent():70:70 -> getContent
    1:1:com.android.tools.r8.origin.Origin getOrigin():62:62 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():66:66 -> getPosition
    1:1:java.util.Set getPreconditions():74:74 -> getPreconditions
    1:1:int hashCode():58:58 -> hashCode
    1:3:java.lang.String toString():85:87 -> toString
    4:12:java.lang.String shortPositionInfo(com.android.tools.r8.position.Position):91:99 -> toString
    4:12:java.lang.String toString():87 -> toString
    13:13:java.lang.String toString():87:87 -> toString
com.android.tools.r8.experimental.graphinfo.MethodGraphNode -> com.android.tools.r8.experimental.graphinfo.MethodGraphNode:
    com.android.tools.r8.references.MethodReference reference -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():9:9 -> <clinit>
    1:3:void <init>(boolean,com.android.tools.r8.references.MethodReference):15:17 -> <init>
    1:2:boolean equals(java.lang.Object):26:27 -> equals
    1:1:com.android.tools.r8.references.MethodReference getReference():21:21 -> getReference
    1:1:int hashCode():32:32 -> hashCode
    1:1:java.lang.String toString():37:37 -> toString
com.android.tools.r8.experimental.startup.StartupConfiguration -> com.android.tools.r8.internal.fW:
    java.util.List startupClasses -> a
    1:2:void <init>(java.util.List):23:24 -> <init>
    1:23:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):29:51 -> a
    24:24:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":97,"2":98,"3":99,"4":100,"5":101}}
    97:97:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:51 -> a
    98:98:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:51 -> a
    99:99:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:51 -> a
    100:100:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:51 -> a
    101:101:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:51 -> a
    75:83:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:59 -> a
    84:84:com.android.tools.r8.experimental.startup.StartupConfiguration createStartupConfiguration(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):38:38 -> a
    102:102:java.util.List getStartupClasses():67:67 -> a
    1:1:boolean hasStartupClasses():63:63 -> b
com.android.tools.r8.features.ClassToFeatureSplitMap -> com.android.tools.r8.internal.Ta:
    java.util.Map classToFeatureSplitMap -> b
    java.util.Map representativeStringsForFeatureSplit -> c
    com.android.tools.r8.FeatureSplit baseStartup -> a
    int $r8$clinit -> e
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():29:29 -> <clinit>
    1:4:void <init>(com.android.tools.r8.FeatureSplit,java.util.Map,java.util.Map):38:41 -> <init>
    1:1:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.FeatureSplit):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":220,"2":221,"3":222}}
    220:220:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.FeatureSplit):211:211 -> a
    221:221:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    221:221:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.FeatureSplit):211 -> a
    222:222:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    222:222:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.FeatureSplit):211 -> a
    213:219:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.FeatureSplit):212:218 -> a
    223:223:com.android.tools.r8.features.ClassToFeatureSplitMap createEmptyClassToFeatureSplitMap():45:45 -> a
    224:270:com.android.tools.r8.features.ClassToFeatureSplitMap createInitialClassToFeatureSplitMap(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,com.android.tools.r8.utils.Reporter):63:109 -> a
    271:276:com.android.tools.r8.features.ClassToFeatureSplitMap createInitialClassToFeatureSplitMap(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,com.android.tools.r8.utils.Reporter):108:113 -> a
    277:291:int compareFeatureSplits(com.android.tools.r8.FeatureSplit,com.android.tools.r8.FeatureSplit):118:132 -> a
    292:293:java.util.Map getFeatureSplitClasses(java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):145:146 -> a
    294:294:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    294:294:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156 -> a
    294:294:java.util.Map getFeatureSplitClasses(java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):147 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    295:295:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    295:295:java.util.Map getFeatureSplitClasses(java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):147 -> a
    296:297:java.util.Map getFeatureSplitClasses(java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):148:149 -> a
    298:298:java.util.Set lambda$getFeatureSplitClasses$0(com.android.tools.r8.FeatureSplit):149:149 -> a
    299:307:com.android.tools.r8.FeatureSplit getFeatureSplit(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticItems):160:168 -> a
    308:320:com.android.tools.r8.features.ClassToFeatureSplitMap rewrittenWithLens(com.android.tools.r8.graph.GraphLens):208:220 -> a
    321:328:com.android.tools.r8.features.ClassToFeatureSplitMap withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):225:232 -> a
    329:330:void lambda$withoutPrunedItems$2(com.android.tools.r8.graph.PrunedItems,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.FeatureSplit):228:229 -> a
    1:1:com.android.tools.r8.FeatureSplit getBaseStartup():140:140 -> b
    1:1:boolean isEmpty():175:175 -> c
com.android.tools.r8.features.FeatureSplitConfiguration -> com.android.tools.r8.internal.Aj:
    java.util.List featureSplits -> a
    1:2:void <init>(java.util.List):20:21 -> <init>
    1:16:java.util.Collection getDataResourceProvidersAndConsumers():44:59 -> a
    1:1:java.util.List getFeatureSplits():68:68 -> b
com.android.tools.r8.features.FeatureSplitConfiguration$DataResourceProvidersAndConsumer -> com.android.tools.r8.internal.zj:
    com.android.tools.r8.DataResourceConsumer consumer -> b
    java.util.Set providers -> a
    1:3:void <init>(java.util.Set,com.android.tools.r8.DataResourceConsumer):29:31 -> <init>
    1:1:com.android.tools.r8.DataResourceConsumer getConsumer():39:39 -> a
    1:1:java.util.Set getProviders():35:35 -> b
com.android.tools.r8.graph.AbstractAccessContexts -> com.android.tools.r8.internal.k:
    1:1:void <init>():37:37 -> <init>
    com.android.tools.r8.graph.AbstractAccessContexts$ConcreteAccessContexts asConcrete() -> a
    void flattenAccessContexts(com.android.tools.r8.graph.DexField) -> a
    void forEachAccessContext(java.util.function.Consumer) -> a
    boolean isAccessedInMethodSatisfying(java.util.function.Predicate) -> a
    boolean isAccessedOutside(com.android.tools.r8.graph.DexEncodedMethod) -> a
    com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts) -> a
    com.android.tools.r8.graph.AbstractAccessContexts rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens) -> a
    int getNumberOfAccessContexts() -> b
    boolean isAccessedOnlyInMethodSatisfying(java.util.function.Predicate) -> b
    boolean isEmpty() -> c
com.android.tools.r8.graph.AbstractAccessContexts$ConcreteAccessContexts -> com.android.tools.r8.internal.h:
    java.util.Map accessesWithContexts -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():153:153 -> <clinit>
    1:1:void <init>():158:158 -> <init>
    2:3:void <init>(java.util.Map):161:162 -> <init>
    com.android.tools.r8.graph.AbstractAccessContexts$ConcreteAccessContexts asConcrete() -> a
    1:1:com.android.tools.r8.graph.AbstractAccessContexts rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):153:153 -> a
    2:3:void forEachAccess(java.util.function.Consumer,java.util.function.Predicate):166:167 -> a
    4:5:void lambda$forEachAccess$0(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):169:170 -> a
    6:11:void forEachAccessContext(java.util.function.Consumer):181:186 -> a
    12:25:void flattenAccessContexts(com.android.tools.r8.graph.DexField):218:231 -> a
    26:26:void lambda$flattenAccessContexts$2(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):224:224 -> a
    27:29:boolean isAccessedInMethodSatisfying(java.util.function.Predicate):240:242 -> a
    30:32:boolean isAccessedOutside(com.android.tools.r8.graph.DexEncodedMethod):271:273 -> a
    33:35:boolean recordAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):297:299 -> a
    36:36:com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts):321:321 -> a
    37:37:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    37:37:com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts):324 -> a
    38:49:com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts):327:338 -> a
    50:50:void lambda$join$6(java.util.Map,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):330:330 -> a
    51:51:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    51:51:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):309 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    52:52:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):309:309 -> a
    53:55:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):308:310 -> a
    56:56:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):375:375 -> a
    56:56:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):311 -> a
    57:57:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    57:57:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):375 -> a
    57:57:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):311 -> a
    58:59:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):376:377 -> a
    58:59:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):311 -> a
    60:60:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):312:312 -> a
    61:61:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":375,"2":376,"3":377}}
    375:375:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):312:312 -> a
    376:376:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):312:312 -> a
    377:377:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):312:312 -> a
    373:374:void lambda$rewrittenWithLens$5(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):312:313 -> a
    1:4:int getNumberOfAccessContexts():199:202 -> b
    5:5:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$flattenAccessContexts$1(com.android.tools.r8.graph.DexField):220:220 -> b
    6:8:boolean isAccessedOnlyInMethodSatisfying(java.util.function.Predicate):256:258 -> b
    9:21:com.android.tools.r8.graph.AbstractAccessContexts$ConcreteAccessContexts rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):304:316 -> b
    22:23:void lambda$join$8(java.util.Map,com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.collections.ProgramMethodSet):335:336 -> b
    1:1:boolean isEmpty():293:293 -> c
    2:2:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$join$7(com.android.tools.r8.graph.DexField):335:335 -> c
    1:1:java.util.Map getAccessesWithContexts():194:194 -> d
    2:2:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$recordAccess$3(com.android.tools.r8.graph.DexField):298:298 -> d
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$rewrittenWithLens$4(com.android.tools.r8.graph.DexField):309:309 -> e
com.android.tools.r8.graph.AbstractAccessContexts$EmptyAccessContexts -> com.android.tools.r8.internal.i:
    com.android.tools.r8.graph.AbstractAccessContexts$EmptyAccessContexts INSTANCE -> a
    1:1:void <clinit>():94:94 -> <clinit>
    1:1:void <init>():96:96 -> <init>
    void flattenAccessContexts(com.android.tools.r8.graph.DexField) -> a
    void forEachAccessContext(java.util.function.Consumer) -> a
    boolean isAccessedInMethodSatisfying(java.util.function.Predicate) -> a
    boolean isAccessedOutside(com.android.tools.r8.graph.DexEncodedMethod) -> a
    com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts) -> a
    com.android.tools.r8.graph.AbstractAccessContexts rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens) -> a
    int getNumberOfAccessContexts() -> b
    boolean isAccessedOnlyInMethodSatisfying(java.util.function.Predicate) -> b
    boolean isEmpty() -> c
com.android.tools.r8.graph.AbstractAccessContexts$UnknownAccessContexts -> com.android.tools.r8.internal.j:
    com.android.tools.r8.graph.AbstractAccessContexts$UnknownAccessContexts INSTANCE -> a
    1:1:void <clinit>():344:344 -> <clinit>
    1:1:void <init>():346:346 -> <init>
    void flattenAccessContexts(com.android.tools.r8.graph.DexField) -> a
    boolean isAccessedInMethodSatisfying(java.util.function.Predicate) -> a
    boolean isAccessedOutside(com.android.tools.r8.graph.DexEncodedMethod) -> a
    com.android.tools.r8.graph.AbstractAccessContexts join(com.android.tools.r8.graph.AbstractAccessContexts) -> a
    com.android.tools.r8.graph.AbstractAccessContexts rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens) -> a
    1:1:void forEachAccessContext(java.util.function.Consumer):359:359 -> a
    boolean isAccessedOnlyInMethodSatisfying(java.util.function.Predicate) -> b
    1:1:int getNumberOfAccessContexts():379:379 -> b
    boolean isEmpty() -> c
com.android.tools.r8.graph.AccessControl -> com.android.tools.r8.graph.a:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):23:23 -> a
    2:2:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):22:22 -> a
    3:3:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):61:61 -> a
    4:4:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):60:60 -> a
    5:11:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):69:75 -> a
    12:24:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):71:83 -> a
    25:31:boolean isNestMate(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):102:108 -> a
    25:31:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):83 -> a
    32:42:com.android.tools.r8.utils.OptionalBool isMemberAccessible(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):84:94 -> a
    43:43:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    43:43:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):31 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    44:44:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):31 -> a
    45:51:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):31:37 -> a
    52:52:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):36:36 -> a
    53:53:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    53:53:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    53:53:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):36 -> a
    54:55:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):189:190 -> a
    54:55:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
    54:55:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):36 -> a
    56:56:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    56:56:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):190 -> a
    56:56:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
    56:56:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):36 -> a
    57:59:com.android.tools.r8.utils.OptionalBool isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.Definition,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):38:40 -> a
com.android.tools.r8.graph.AccessFlags -> com.android.tools.r8.graph.c:
    java.util.List NAMES -> d
    boolean $assertionsDisabled -> e
    int originalFlags -> b
    int modifiedFlags -> c
    1:12:void <clinit>():15:26 -> <clinit>
    1:3:void <init>(int,int):54:56 -> <init>
    1:1:void setFinal():216:216 -> A
    1:2:void setPrivate():178:179 -> B
    1:2:void setProtected():191:192 -> C
    1:2:void setPublic():165:166 -> D
    1:1:com.android.tools.r8.utils.structural.StructuralItem self():15:15 -> E
    1:1:void setStatic():204:204 -> G
    1:1:void setSynthetic():229:229 -> H
    1:14:java.lang.String toStringInternal(boolean):307:320 -> I
    1:14:java.lang.String toSmaliString():298 -> I
    1:2:com.android.tools.r8.graph.AccessFlags unsetFinal():220:221 -> J
    1:1:void unsetPrivate():183:183 -> K
    1:1:void unsetProtected():196:196 -> L
    1:1:void unsetPublic():170:170 -> M
    1:2:com.android.tools.r8.graph.AccessFlags unsetSynthetic():233:234 -> N
    1:1:int lambda$specify$0(com.android.tools.r8.graph.AccessFlags):60:60 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):60:60 -> a
    3:4:com.android.tools.r8.graph.AccessFlags demoteFromFinal():246:247 -> a
    5:5:void demote(int):294:294 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.graph.AccessFlags):60:60 -> b
    2:2:void demoteFromSynthetic():238:238 -> b
    1:1:java.util.List getNames():48:48 -> c
    boolean isSet(int,int) -> d
    1:1:int getOriginalAccessFlags():82:82 -> d
    2:3:void set(int):276:277 -> d
    1:1:java.util.List getPredicates():37:37 -> e
    1:3:boolean equals(java.lang.Object):99:101 -> equals
    1:7:int getVisibilityOrdinal():135:141 -> f
    8:9:void unset(int):281:282 -> f
    1:1:boolean isSet(int):268:268 -> g
    1:1:boolean isFinal():212 -> g
    1:1:boolean isPackagePrivate():153:153 -> h
    1:1:int hashCode():108:108 -> hashCode
    1:1:boolean isPackagePrivateOrProtected():157:157 -> i
    1:1:boolean isSet(int):268:268 -> k
    1:1:boolean isPrivate():174 -> k
    1:1:boolean wasSet(int):264:264 -> l
    1:1:boolean isPromoted(int):286 -> l
    1:1:boolean isPromotedToPublic():251 -> l
    2:2:boolean isSet(int):268:268 -> l
    2:2:boolean isPromoted(int):286 -> l
    2:2:boolean isPromotedToPublic():251 -> l
    1:1:boolean isSet(int):268:268 -> m
    1:1:boolean isProtected():187 -> m
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():65:65 -> n
    1:1:boolean isSet(int):268:268 -> o
    1:1:boolean isPublic():161 -> o
    1:1:boolean isSet(int):268:268 -> p
    1:1:boolean isStatic():200 -> p
    1:1:boolean isSet(int):268:268 -> s
    1:1:boolean isSynthetic():225 -> s
    1:1:boolean isVisibilityDependingOnPackage():149:149 -> t
    1:14:java.lang.String toStringInternal(boolean):307:320 -> toString
    1:14:java.lang.String toString():303 -> toString
    1:1:int materialize():74:74 -> u
    1:1:void promote(int):290:290 -> v
    1:1:void promoteToFinal():242 -> v
    1:1:void promoteToPublic():255:255 -> w
    2:2:void promote(int):290:290 -> w
    2:2:void promoteToPublic():256 -> w
    1:1:void promote(int):290:290 -> x
    1:1:void promoteToStatic():260 -> x
    com.android.tools.r8.graph.AccessFlags self() -> z
com.android.tools.r8.graph.AccessFlags$BuilderBase -> com.android.tools.r8.graph.b:
    com.android.tools.r8.graph.AccessFlags flags -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():323:323 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AccessFlags):327:328 -> <init>
com.android.tools.r8.graph.AppInfo -> com.android.tools.r8.graph.d:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> d
    com.android.tools.r8.utils.BooleanBox obsolete -> e
    com.android.tools.r8.graph.DexApplication app -> a
    com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> c
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():19:19 -> <clinit>
    1:2:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):40:41 -> <init>
    3:3:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):39:39 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy$CreateDesugaringViewOnAppInfo,com.android.tools.r8.graph.AppInfo):49:49 -> <init>
    5:10:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.shaking.MainDexInfo,com.android.tools.r8.utils.BooleanBox):57:62 -> <init>
    1:1:com.android.tools.r8.graph.AppInfo createInitialAppInfo(com.android.tools.r8.graph.DexApplication):31:31 -> a
    2:2:com.android.tools.r8.graph.AppInfo createInitialAppInfo(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):35:35 -> a
    3:4:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):40:41 -> a
    3:4:com.android.tools.r8.graph.AppInfo createInitialAppInfo(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):35 -> a
    5:5:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):39:39 -> a
    5:5:com.android.tools.r8.graph.AppInfo createInitialAppInfo(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):35 -> a
    6:14:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):67:75 -> a
    15:16:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):40:41 -> a
    15:16:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):75 -> a
    17:17:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.shaking.MainDexInfo):39:39 -> a
    17:17:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):75 -> a
    18:19:com.android.tools.r8.graph.AppInfo rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):79:80 -> a
    20:21:com.android.tools.r8.graph.DexItemFactory dexItemFactory():111:112 -> a
    22:23:void forEachMethod(java.util.function.Consumer):136:137 -> a
    24:27:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):210:213 -> a
    28:28:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):566:566 -> a
    28:28:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):213 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    29:29:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):566:566 -> a
    29:29:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):213 -> a
    30:30:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):214:214 -> a
    31:32:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):246:247 -> a
    33:33:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.failure():20:20 -> a
    33:33:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):247 -> a
    34:38:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):249:253 -> a
    39:39:com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.unknown():24:24 -> a
    39:39:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):253 -> a
    1:2:com.android.tools.r8.graph.DexApplication app():105:106 -> b
    3:6:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):191:194 -> b
    7:7:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):566:566 -> b
    7:7:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):194 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupDirectMethod(com.android.tools.r8.graph.DexMethod):566:566 -> b
    8:8:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):194 -> b
    9:9:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTargetOnItself(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):195:195 -> b
    1:1:boolean checkIfObsolete():100:100 -> c
    2:2:boolean isObsolete():88:88 -> c
    2:2:boolean checkIfObsolete():100 -> c
    3:3:boolean checkIfObsolete():100:100 -> c
    4:7:com.android.tools.r8.graph.DexClass definitionForWithoutExistenceAssert(com.android.tools.r8.graph.DexType):154:157 -> c
    1:2:java.util.Collection classes():126:127 -> d
    3:4:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):143:144 -> d
    1:2:java.util.Collection classesWithDeterministicOrder():131:132 -> e
    3:3:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):150:150 -> e
    1:2:com.android.tools.r8.shaking.MainDexInfo getMainDexInfo():116:117 -> f
    1:2:com.android.tools.r8.synthesis.SyntheticItems getSyntheticItems():121:122 -> g
    1:1:boolean hasClassHierarchy():221:221 -> h
    1:1:boolean hasLiveness():231:231 -> i
    1:1:boolean isObsolete():88:88 -> j
    1:1:void markObsolete():92:92 -> k
    1:1:com.android.tools.r8.utils.InternalOptions options():84:84 -> l
    1:1:void unsetObsolete():96:96 -> m
    2:2:void com.android.tools.r8.utils.BooleanBox.unset():48:48 -> m
    2:2:void unsetObsolete():96 -> m
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy withClassHierarchy():226:226 -> n
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness withLiveness():236:236 -> o
com.android.tools.r8.graph.AppInfoWithClassHierarchy -> com.android.tools.r8.graph.g:
    com.android.tools.r8.graph.AppInfoWithClassHierarchy$CreateDesugaringViewOnAppInfo WITNESS -> i
    boolean $assertionsDisabled -> j
    com.android.tools.r8.features.ClassToFeatureSplitMap classToFeatureSplitMap -> g
    com.android.tools.r8.shaking.MissingClasses missingClasses -> h
    1:3:void <clinit>():49:51 -> <clinit>
    1:92:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy$CreateDesugaringViewOnAppInfo,com.android.tools.r8.graph.AppInfo):0:91 -> <init>
    93:95:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.shaking.MainDexInfo,com.android.tools.r8.shaking.MissingClasses):80:82 -> <init>
    1:1:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):49:49 -> a
    2:2:com.android.tools.r8.graph.AppInfo rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):49:49 -> a
    3:7:com.android.tools.r8.graph.AppInfoWithClassHierarchy createInitialAppInfoWithClassHierarchy(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.shaking.MainDexInfo):61:65 -> a
    8:9:com.android.tools.r8.graph.AppInfoWithClassHierarchy createForDesugaring(com.android.tools.r8.graph.AppInfo):95:96 -> a
    10:10:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):100:100 -> a
    11:11:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():142:142 -> a
    11:11:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):101 -> a
    12:12:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):101:101 -> a
    13:13:com.android.tools.r8.shaking.MissingClasses getMissingClasses():146:146 -> a
    13:13:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):101 -> a
    14:14:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(com.android.tools.r8.synthesis.CommittedItems):101:101 -> a
    15:17:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):106:108 -> a
    18:18:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():142:142 -> a
    18:18:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):109 -> a
    19:19:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):110:110 -> a
    20:20:com.android.tools.r8.shaking.MissingClasses getMissingClasses():146:146 -> a
    20:20:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):111 -> a
    21:21:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithClassHierarchy(java.util.function.Function):111:111 -> a
    22:74:com.android.tools.r8.utils.TraversalContinuation traverseSuperTypes(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriFunction):194:246 -> a
    75:75:void forEachSuperType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriConsumer):255:255 -> a
    76:77:com.android.tools.r8.utils.TraversalContinuation lambda$forEachSuperType$0(com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):258:259 -> a
    78:78:com.android.tools.r8.utils.TraversalContinuation lambda$isStrictSubtypeOf$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):295:295 -> a
    79:94:boolean isStrictSubtypeOfClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):316:331 -> a
    95:99:com.android.tools.r8.utils.TraversalContinuation traverseSuperClasses(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriFunction):165:169 -> a
    95:99:boolean isStrictSubtypeOfClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):331 -> a
    100:100:boolean isStrictSubtypeOfClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):346:346 -> a
    101:111:com.android.tools.r8.utils.TraversalContinuation lambda$isStrictSubtypeOfClass$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):334:344 -> a
    112:114:boolean inSameHierarchy(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):350:352 -> a
    112:114:boolean inDifferentHierarchy(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):356 -> a
    115:128:java.util.List computeProgramClassRelationChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):449:462 -> a
    129:137:boolean isInterfaceInSuperTypes(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList):471:479 -> a
    129:137:java.util.List computeProgramClassRelationChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):462 -> a
    138:141:java.util.List computeProgramClassRelationChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):463:466 -> a
    142:148:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):520:526 -> a
    149:149:boolean com.android.tools.r8.graph.AccessFlags.isSameVisibility(com.android.tools.r8.graph.AccessFlags):130:130 -> a
    149:149:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):527 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    150:150:boolean com.android.tools.r8.graph.AccessFlags.isSameVisibility(com.android.tools.r8.graph.AccessFlags):130:130 -> a
    150:150:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):527 -> a
    151:152:boolean methodDefinedInInterface(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):531:532 -> a
    153:153:com.android.tools.r8.graph.DexEncodedField lookupInstanceTarget(com.android.tools.r8.graph.DexField):566:566 -> a
    154:155:com.android.tools.r8.graph.DexEncodedField lookupInstanceTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):559:560 -> a
    154:155:com.android.tools.r8.graph.DexEncodedField lookupInstanceTarget(com.android.tools.r8.graph.DexField):566 -> a
    156:157:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1020:1021 -> a
    156:157:com.android.tools.r8.graph.DexEncodedField lookupInstanceTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):561 -> a
    156:157:com.android.tools.r8.graph.DexEncodedField lookupInstanceTarget(com.android.tools.r8.graph.DexField):566 -> a
    158:159:com.android.tools.r8.graph.DexEncodedField lookupInstanceTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):561:562 -> a
    158:159:com.android.tools.r8.graph.DexEncodedField lookupInstanceTarget(com.android.tools.r8.graph.DexField):566 -> a
    160:161:com.android.tools.r8.graph.DexClassAndMethod lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass):618:619 -> a
    162:163:com.android.tools.r8.graph.MethodResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,boolean):671:672 -> a
    164:167:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,boolean):703:706 -> a
    168:173:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnArray(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):718:723 -> a
    174:174:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):732:732 -> a
    175:185:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexType):764:774 -> a
    186:186:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexClass):784:784 -> a
    186:186:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexType):776 -> a
    187:187:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):780:780 -> a
    188:192:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):789:793 -> a
    193:193:com.android.tools.r8.graph.MethodResolutionResult resolveMethodStep3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):850:850 -> a
    193:193:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):798 -> a
    194:196:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):898:898 -> a
    194:196:com.android.tools.r8.graph.MethodResolutionResult resolveMethodStep3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):851 -> a
    194:196:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):798 -> a
    197:197:com.android.tools.r8.graph.MethodResolutionResult resolveMethodStep3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):852:852 -> a
    197:197:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):798 -> a
    198:198:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):814:814 -> a
    199:199:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupSignaturePolymorphicMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):618:618 -> a
    199:199:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):814 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    200:213:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupSignaturePolymorphicMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):618:631 -> a
    200:213:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):814 -> a
    214:214:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):816:816 -> a
    215:215:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):608:608 -> a
    215:215:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):819 -> a
    216:217:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):826:827 -> a
    218:218:void com.android.tools.r8.graph.MethodResolutionResult$IllegalAccessOrNoSuchMethodResult.<init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):988:988 -> a
    218:218:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):827 -> a
    219:225:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClassStep2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):829:835 -> a
    226:227:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):861:862 -> a
    226:227:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):884 -> a
    226:227:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):544 -> a
    228:230:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):898:898 -> a
    228:230:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):862 -> a
    228:230:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):884 -> a
    228:230:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):544 -> a
    231:231:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):884:884 -> a
    231:231:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):544 -> a
    232:236:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):872:876 -> a
    232:236:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):867 -> a
    237:237:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):873:873 -> a
    237:237:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):867 -> a
    238:238:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexMethod):867:867 -> a
    239:245:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):908:914 -> a
    246:246:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):608:608 -> a
    246:246:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):915 -> a
    247:247:boolean isMaximallySpecificCandidate(com.android.tools.r8.graph.DexEncodedMethod):939:939 -> a
    247:247:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):916 -> a
    248:248:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):918:918 -> a
    249:251:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):898:898 -> a
    249:251:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):921 -> a
    252:252:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):926:926 -> a
    253:255:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):898:898 -> a
    253:255:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):928 -> a
    256:270:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):958:972 -> a
    271:271:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1014:1014 -> a
    272:273:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1020:1021 -> a
    272:273:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1015 -> a
    274:275:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField):1026:1027 -> a
    1:4:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):116:119 -> b
    5:5:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():142:142 -> b
    5:5:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):120 -> b
    6:6:com.android.tools.r8.shaking.MissingClasses getMissingClasses():146:146 -> b
    6:6:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):122 -> b
    7:7:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):122:122 -> b
    8:15:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):128:135 -> b
    16:16:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():142:142 -> b
    16:16:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):136 -> b
    17:18:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):136:137 -> b
    19:19:com.android.tools.r8.shaking.MissingClasses getMissingClasses():146:146 -> b
    19:19:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):138 -> b
    20:20:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):138:138 -> b
    21:45:boolean isStrictSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):272:296 -> b
    46:47:boolean isSubtype(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):300:301 -> b
    48:54:boolean isSubtypeOfClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):306:312 -> b
    48:54:boolean isSubtype(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):302 -> b
    55:55:com.android.tools.r8.graph.DexClassAndField lookupStaticTarget(com.android.tools.r8.graph.DexField):583:583 -> b
    56:57:com.android.tools.r8.graph.DexClassAndField lookupStaticTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):576:577 -> b
    56:57:com.android.tools.r8.graph.DexClassAndField lookupStaticTarget(com.android.tools.r8.graph.DexField):583 -> b
    58:59:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1020:1021 -> b
    58:59:com.android.tools.r8.graph.DexClassAndField lookupStaticTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):578 -> b
    58:59:com.android.tools.r8.graph.DexClassAndField lookupStaticTarget(com.android.tools.r8.graph.DexField):583 -> b
    60:61:com.android.tools.r8.graph.DexClassAndField lookupStaticTargetOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):578:579 -> b
    60:61:com.android.tools.r8.graph.DexClassAndField lookupStaticTarget(com.android.tools.r8.graph.DexField):583 -> b
    62:62:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod):728:728 -> b
    63:75:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):748:760 -> b
    76:77:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):861:862 -> b
    76:77:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):856 -> b
    78:80:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):898:898 -> b
    78:80:com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder resolveMaximallySpecificTargetHelper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):862 -> b
    78:80:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):856 -> b
    81:81:com.android.tools.r8.graph.MethodResolutionResult resolveMaximallySpecificTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):856:856 -> b
    82:83:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):981:982 -> b
    84:84:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):608:608 -> b
    84:84:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):984 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    85:85:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):608:608 -> b
    85:85:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):984 -> b
    86:91:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):986:991 -> b
    92:92:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):608:608 -> b
    92:92:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):993 -> b
    93:94:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):994:995 -> b
    95:95:com.android.tools.r8.graph.MethodResolutionResult resolveMethodStep3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):850:850 -> b
    95:95:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):999 -> b
    96:98:void resolveMethodStep3Helper(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder):898:898 -> b
    96:98:com.android.tools.r8.graph.MethodResolutionResult resolveMethodStep3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):851 -> b
    96:98:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):999 -> b
    99:99:com.android.tools.r8.graph.MethodResolutionResult resolveMethodStep3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):852:852 -> b
    99:99:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):999 -> b
    1:5:boolean isSubtype(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):264:268 -> c
    6:10:java.util.List computeChainInClassHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):487:491 -> c
    11:23:java.util.List computeChainInClassHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):489:501 -> c
    24:24:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):643:643 -> c
    25:26:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass):637:638 -> c
    25:26:com.android.tools.r8.graph.DexEncodedMethod lookupDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):643 -> c
    27:27:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):676:676 -> c
    28:30:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):685:687 -> c
    28:30:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):676 -> c
    31:31:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexMethod):943:943 -> c
    32:33:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField):1007:1008 -> c
    34:35:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):1020:1021 -> c
    34:35:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField):1008 -> c
    1:1:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):603:603 -> d
    2:3:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass):597:598 -> d
    2:3:com.android.tools.r8.graph.DexEncodedMethod lookupStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):603 -> d
    4:13:com.android.tools.r8.graph.MethodResolutionResult unsafeResolveMethodDueToDexFormat(com.android.tools.r8.graph.DexMethod):657:666 -> d
    14:14:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):976:976 -> d
    1:30:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):366:395 -> f
    31:33:boolean com.android.tools.r8.ir.analysis.type.InterfaceCollection.isKnownToImplement(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):26:28 -> f
    31:33:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):395 -> f
    34:63:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):396:425 -> f
    64:66:boolean com.android.tools.r8.ir.analysis.type.InterfaceCollection.isKnownToImplement(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):26:28 -> f
    64:66:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):425 -> f
    67:77:com.android.tools.r8.ir.analysis.type.InterfaceCollection implementedInterfaces(com.android.tools.r8.graph.DexType):426:436 -> f
    1:1:boolean isMissingOrHasMissingSuperType(com.android.tools.r8.graph.DexType):360:360 -> g
    2:6:boolean com.android.tools.r8.graph.DexClass.hasMissingSuperType(com.android.tools.r8.graph.AppInfoWithClassHierarchy):812:816 -> g
    2:6:boolean isMissingOrHasMissingSuperType(com.android.tools.r8.graph.DexType):361 -> g
    1:1:boolean hasClassHierarchy():151:151 -> h
    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy withClassHierarchy():157:157 -> n
    1:1:com.android.tools.r8.features.ClassToFeatureSplitMap getClassToFeatureSplitMap():142:142 -> p
    1:1:com.android.tools.r8.shaking.MissingClasses getMissingClasses():146:146 -> q
com.android.tools.r8.graph.AppInfoWithClassHierarchy$CreateDesugaringViewOnAppInfo -> com.android.tools.r8.graph.e:
    1:1:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy$1):53:53 -> <init>
    2:2:void <init>():54:54 -> <init>
com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder -> com.android.tools.r8.graph.f:
    java.util.LinkedHashMap maximallySpecificMethods -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():1030:1030 -> <clinit>
    1:9:void <init>():1030:1038 -> <init>
    10:10:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy$1):1030:1030 -> <init>
    1:1:com.android.tools.r8.graph.MethodResolutionResult access$200(com.android.tools.r8.graph.AppInfoWithClassHierarchy$MaximallySpecificMethodsBuilder,com.android.tools.r8.graph.DexClass):1030:1030 -> a
    2:10:void addCandidate(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppInfo):1042:1050 -> a
    11:25:void markShadowed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppInfo):1058:1072 -> a
    26:26:com.android.tools.r8.graph.DexClassAndMethod lookup():1077:1077 -> a
    27:33:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1086:1092 -> a
    34:37:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult singleResultHelper(com.android.tools.r8.graph.DexClass,java.util.Map$Entry):1124:1127 -> a
    34:37:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1091 -> a
    38:55:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1095:1112 -> a
    56:59:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult singleResultHelper(com.android.tools.r8.graph.DexClass,java.util.Map$Entry):1124:1127 -> a
    56:59:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1113 -> a
    60:61:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1116:1117 -> a
    62:65:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult singleResultHelper(com.android.tools.r8.graph.DexClass,java.util.Map$Entry):1124:1127 -> a
    62:65:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1117 -> a
    66:66:com.android.tools.r8.graph.MethodResolutionResult internalResolve(com.android.tools.r8.graph.DexClass):1119:1119 -> a
    1:2:com.android.tools.r8.graph.MethodResolutionResult resolve(com.android.tools.r8.graph.DexClass):1081:1082 -> b
com.android.tools.r8.graph.AppServices -> com.android.tools.r8.internal.q2:
    java.util.Map services -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.GraphLens applied -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.AppServices$1):37:37 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):49:52 -> <init>
    1:2:java.util.Set allServiceTypes():60:61 -> a
    3:3:void lambda$computeAllServiceImplementations$1(java.util.Set,com.android.tools.r8.graph.DexType,java.util.Map):69:69 -> a
    4:4:void lambda$computeAllServiceImplementations$0(java.util.Set,com.android.tools.r8.FeatureSplit,java.util.List):71:71 -> a
    5:12:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):76:83 -> a
    13:13:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):79:79 -> a
    14:14:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":105,"2":106,"3":107}}
    105:105:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):79:79 -> a
    106:106:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):79:79 -> a
    107:107:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):79:79 -> a
    15:15:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":109,"2":110,"3":111,"4":112}}
    109:109:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):81:81 -> a
    110:110:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):81:81 -> a
    111:111:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):81:81 -> a
    112:112:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):81:81 -> a
    96:104:java.util.List serviceImplementationsFor(com.android.tools.r8.graph.DexType):81:89 -> a
    113:133:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):94:114 -> a
    134:134:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    134:134:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    134:134:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    134:134:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):114 -> a
    135:135:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    135:135:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    135:135:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):114 -> a
    136:144:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):117:125 -> a
    145:145:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    145:145:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    145:145:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    145:145:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):124 -> a
    146:146:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    146:146:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    146:146:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):124 -> a
    147:147:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):100:100 -> a
    148:148:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":252,"2":253,"3":254}}
    252:252:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):100:100 -> a
    253:253:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):100:100 -> a
    254:254:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):100:100 -> a
    149:149:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":256,"2":257,"3":258,"4":259}}
    256:256:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):102:102 -> a
    257:257:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):102:102 -> a
    258:258:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):102:102 -> a
    259:259:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):102:102 -> a
    251:251:boolean hasServiceImplementationsInFeature(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):102:102 -> a
    260:260:boolean lambda$hasServiceImplementationsInFeature$2(com.android.tools.r8.FeatureSplit):106:106 -> a
    261:271:com.android.tools.r8.graph.AppServices rewrittenWithLens(com.android.tools.r8.graph.GraphLens):135:145 -> a
    272:276:com.android.tools.r8.graph.AppServices rewrittenWithLens(com.android.tools.r8.graph.GraphLens):144:148 -> a
    277:282:com.android.tools.r8.graph.AppServices rewrittenWithLens(com.android.tools.r8.graph.GraphLens):147:152 -> a
    283:302:com.android.tools.r8.graph.AppServices prunedCopy(com.android.tools.r8.graph.PrunedItems):157:176 -> a
    303:313:com.android.tools.r8.graph.AppServices prunedCopy(com.android.tools.r8.graph.PrunedItems):175:185 -> a
    314:314:void visit(java.util.function.BiConsumer):201:201 -> a
    315:317:void lambda$visit$3(java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,java.util.Map):203:205 -> a
    318:318:com.android.tools.r8.graph.AppServices$Builder builder(com.android.tools.r8.graph.AppView):210:210 -> a
    1:3:java.util.Set computeAllServiceImplementations():65:67 -> b
    1:1:boolean isEmpty():56:56 -> c
    1:5:boolean verifyRewrittenWithLens():189:193 -> d
com.android.tools.r8.graph.AppServices$Builder -> com.android.tools.r8.internal.q2$a:
    java.util.Map services -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.AppServices$1):213:213 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView):219:219 -> <init>
    3:7:void <init>(com.android.tools.r8.graph.AppView):217:221 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.graph.AppServices$Builder):213:213 -> a
    2:4:com.android.tools.r8.graph.AppServices build():225:227 -> a
    5:7:void com.android.tools.r8.graph.AppServices$Builder.readServices(com.android.tools.r8.DataResourceProvider,com.android.tools.r8.FeatureSplit):246:248 -> a
    5:7:com.android.tools.r8.graph.AppServices build():227 -> a
    8:12:com.android.tools.r8.graph.AppServices build():229:233 -> a
    13:15:void com.android.tools.r8.graph.AppServices$Builder.readServices(com.android.tools.r8.DataResourceProvider,com.android.tools.r8.FeatureSplit):246:248 -> a
    13:15:com.android.tools.r8.graph.AppServices build():235 -> a
    16:16:com.android.tools.r8.graph.AppServices build():240:240 -> a
    1:1:java.util.Map access$300(com.android.tools.r8.graph.AppServices$Builder):213:213 -> b
    1:1:com.android.tools.r8.utils.InternalOptions access$400(com.android.tools.r8.graph.AppServices$Builder):213:213 -> c
com.android.tools.r8.graph.AppServices$Builder$DataResourceProviderVisitor -> com.android.tools.r8.internal.p2:
    com.android.tools.r8.graph.AppServices$Builder this$0 -> b
    com.android.tools.r8.FeatureSplit featureSplit -> a
    1:2:void <init>(com.android.tools.r8.graph.AppServices$Builder,com.android.tools.r8.FeatureSplit):256:257 -> <init>
    1:1:java.util.Map lambda$visit$0(com.android.tools.r8.graph.DexType):293:293 -> a
    2:2:java.util.List lambda$visit$1(com.android.tools.r8.FeatureSplit):295:295 -> a
    3:44:void readServiceImplementationsForService(java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexType,java.util.List):309:350 -> a
    45:45:boolean lambda$readServiceImplementationsForService$2(java.lang.String):312:312 -> a
    46:46:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):318:318 -> a
    47:47:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":63,"2":64,"3":65}}
    63:63:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):320:320 -> a
    64:64:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):320:320 -> a
    65:65:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):320:320 -> a
    48:48:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":67,"2":68,"3":69}}
    67:67:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):322:322 -> a
    68:68:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):322:322 -> a
    69:69:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):322:322 -> a
    49:49:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":71,"2":72,"3":73,"4":74}}
    71:71:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):324:324 -> a
    72:72:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):324:324 -> a
    73:73:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):324:324 -> a
    74:74:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):324:324 -> a
    50:51:void com.android.tools.r8.graph.AppServices$Builder$DataResourceProviderVisitor.warn(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin):360:361 -> a
    50:51:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):320 -> a
    52:56:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):330:334 -> a
    57:57:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":86,"2":87,"3":88}}
    86:86:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):336:336 -> a
    87:87:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):336:336 -> a
    88:88:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):336:336 -> a
    58:58:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":91,"2":92,"3":93}}
    91:91:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):339:339 -> a
    92:92:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):339:339 -> a
    93:93:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):339:339 -> a
    59:59:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":95,"2":96,"3":97,"4":98}}
    95:95:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):341:341 -> a
    96:96:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):341:341 -> a
    97:97:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):341:341 -> a
    98:98:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):341:341 -> a
    60:61:void com.android.tools.r8.graph.AppServices$Builder$DataResourceProviderVisitor.warn(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin):360:361 -> a
    60:61:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):336 -> a
    62:62:boolean lambda$readServiceImplementationsForService$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,java.util.List,com.android.tools.r8.graph.DexType):348:348 -> a
    1:2:java.lang.String prefixUntilCommentChar(java.lang.String):355:356 -> b
    1:20:void visit(com.android.tools.r8.DataEntryResource):268:287 -> visit
    21:22:void com.android.tools.r8.graph.AppServices$Builder$DataResourceProviderVisitor.warn(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin):360:361 -> visit
    21:22:void visit(com.android.tools.r8.DataEntryResource):282 -> visit
    23:30:void visit(com.android.tools.r8.DataEntryResource):290:297 -> visit
    31:34:void visit(com.android.tools.r8.DataEntryResource):296:299 -> visit
com.android.tools.r8.graph.AppView -> com.android.tools.r8.graph.h:
    com.android.tools.r8.graph.GraphLens graphLens -> g
    com.android.tools.r8.graph.AppView$WholeProgramOptimizations wholeProgramOptimizations -> e
    boolean $assertionsDisabled -> J
    com.android.tools.r8.ir.desugar.TypeRewriter typeRewriter -> p
    com.android.tools.r8.shaking.KeepInfoCollection keepInfo -> l
    boolean allCodeProcessed -> u
    com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnums -> z
    com.android.tools.r8.contexts.CompilationContext context -> F
    com.android.tools.r8.naming.SeedMapper applyMappingSeedMapper -> D
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfoForDesugaring -> b
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory simpleInliningConstraintFactory -> o
    com.android.tools.r8.graph.classmerging.VerticallyMergedClasses verticallyMergedClasses -> y
    com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection openClosedInterfacesCollection -> A
    com.android.tools.r8.shaking.RootSetUtils$RootSet rootSet -> j
    com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses horizontallyMergedClasses -> x
    com.android.tools.r8.graph.GraphLens codeLens -> f
    com.android.tools.r8.graph.InitClassLens initClassLens -> h
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> H
    com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer libraryMemberOptimizer -> s
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator argumentPropagator -> r
    java.util.Set cfByteCodePassThrough -> B
    java.util.function.Predicate classesEscapingIntoLibrary -> v
    com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet mainDexRootSet -> k
    java.util.Map sourceDebugExtensions -> C
    com.android.tools.r8.graph.AppServices appServices -> c
    com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection libraryMethodSideEffectModelCollection -> q
    com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods initializedClassesInInstanceMethods -> w
    java.util.Set alreadyLibraryDesugared -> E
    com.android.tools.r8.shaking.ProguardCompatibilityActions proguardCompatibilityActions -> i
    com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory -> m
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory instanceFieldInitializationInfoFactory -> n
    com.android.tools.r8.graph.AppInfo appInfo -> a
    com.android.tools.r8.ir.analysis.proto.ProtoShrinker protoShrinker -> t
    com.android.tools.r8.errors.dontwarn.DontWarnConfiguration dontWarnConfiguration -> d
    java.lang.Thread mainThread -> G
    com.android.tools.r8.androidapi.ComputedApiLevel computedMinApiLevel -> I
    1:1:void <clinit>():63:63 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.AppView$WholeProgramOptimizations,com.android.tools.r8.ir.desugar.TypeRewriter):129:129 -> <init>
    2:76:void <init>(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.AppView$WholeProgramOptimizations,com.android.tools.r8.ir.desugar.TypeRewriter):75:149 -> <init>
    1:1:boolean hasClassHierarchy():650:650 -> A
    1:1:boolean hasMainDexRootSet():527:527 -> B
    1:1:boolean hasProguardCompatibilityActions():551:551 -> C
    1:1:boolean hasUnboxedEnums():626:626 -> D
    1:1:boolean hasVerticallyMergedClasses():599:599 -> E
    1:1:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses horizontallyMergedClasses():584:584 -> F
    1:1:com.android.tools.r8.graph.InitClassLens initClassLens():469:469 -> G
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory instanceFieldInitializationInfoFactory():207:207 -> H
    1:1:boolean isAllCodeProcessed():260:260 -> I
    1:1:com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer libraryMethodOptimizer():358:358 -> J
    1:4:void loadApplyMappingSeedMapper():844:847 -> K
    5:5:void loadApplyMappingSeedMapper():846:846 -> K
    1:1:com.android.tools.r8.utils.InternalOptions options():498:498 -> L
    1:1:com.android.tools.r8.ir.analysis.proto.ProtoShrinker protoShrinker():366:366 -> M
    1:1:com.android.tools.r8.shaking.RootSetUtils$RootSet rootSet():514:514 -> N
    1:1:void setAllCodeProcessed():264:264 -> O
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory simpleInliningConstraintFactory():211:211 -> P
    1:1:com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnums():630:630 -> Q
    2:2:com.android.tools.r8.ir.optimize.enums.EnumDataMap com.android.tools.r8.ir.optimize.enums.EnumDataMap.empty():20:20 -> Q
    2:2:com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnums():630 -> Q
    1:4:boolean validateUnboxedEnumsHaveBeenPruned():640:643 -> R
    1:1:com.android.tools.r8.graph.classmerging.VerticallyMergedClasses verticallyMergedClasses():607:607 -> S
    1:1:com.android.tools.r8.graph.AppView withClassHierarchy():655:655 -> T
    com.android.tools.r8.graph.AppView withLiveness() -> U
    1:1:com.android.tools.r8.graph.AppView withoutClassHierarchy():662:662 -> V
    2:2:boolean hasClassHierarchy():650:650 -> V
    2:2:com.android.tools.r8.graph.AppView withoutClassHierarchy():662 -> V
    3:3:com.android.tools.r8.graph.AppView withoutClassHierarchy():662:662 -> V
    1:431:java.lang.Object withGeneratedMessageLiteBuilderShrinker(java.util.function.Function,java.lang.Object):0:430 -> a
    432:432:com.android.tools.r8.graph.AppView createForD8(com.android.tools.r8.graph.AppInfo):168:168 -> a
    433:434:com.android.tools.r8.ir.desugar.TypeRewriter defaultTypeRewriter(com.android.tools.r8.graph.AppInfo):163:164 -> a
    433:434:com.android.tools.r8.graph.AppView createForD8(com.android.tools.r8.graph.AppInfo):168 -> a
    435:435:com.android.tools.r8.graph.AppView createForD8(com.android.tools.r8.graph.AppInfo):168:168 -> a
    436:436:com.android.tools.r8.graph.AppView createForD8(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.ir.desugar.TypeRewriter):172:172 -> a
    437:437:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication):176:176 -> a
    438:439:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):181:182 -> a
    440:440:com.android.tools.r8.features.ClassToFeatureSplitMap com.android.tools.r8.features.ClassToFeatureSplitMap.createInitialClassToFeatureSplitMap(com.android.tools.r8.utils.InternalOptions):51:51 -> a
    440:440:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):182 -> a
    441:441:com.android.tools.r8.features.ClassToFeatureSplitMap com.android.tools.r8.features.ClassToFeatureSplitMap.createInitialClassToFeatureSplitMap(com.android.tools.r8.utils.InternalOptions):50:50 -> a
    441:441:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):182 -> a
    442:444:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):184:186 -> a
    445:446:com.android.tools.r8.ir.desugar.TypeRewriter defaultTypeRewriter(com.android.tools.r8.graph.AppInfo):163:164 -> a
    445:446:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):186 -> a
    447:447:com.android.tools.r8.graph.AppView createForR8(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.shaking.MainDexInfo):186:186 -> a
    448:448:com.android.tools.r8.graph.AppView createForTracer(com.android.tools.r8.graph.AppInfoWithClassHierarchy):199:199 -> a
    449:450:com.android.tools.r8.ir.desugar.TypeRewriter defaultTypeRewriter(com.android.tools.r8.graph.AppInfo):163:164 -> a
    449:450:com.android.tools.r8.graph.AppView createForTracer(com.android.tools.r8.graph.AppInfoWithClassHierarchy):199 -> a
    451:451:com.android.tools.r8.graph.AppView createForTracer(com.android.tools.r8.graph.AppInfoWithClassHierarchy):199:199 -> a
    452:452:void setAppServices(com.android.tools.r8.graph.AppServices):278:278 -> a
    453:453:void setClassesEscapingIntoLibrary(java.util.function.Predicate):291:291 -> a
    454:454:void setSourceDebugExtensionForType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexValue$DexValueString):295:295 -> a
    455:455:com.android.tools.r8.graph.DexValue$DexValueString getSourceDebugExtensionForType(com.android.tools.r8.graph.DexClass):299:299 -> a
    456:456:com.android.tools.r8.graph.DexItemFactory dexItemFactory():328:328 -> a
    457:458:void withArgumentPropagator(com.android.tools.r8.utils.ThrowingConsumer):352:353 -> a
    459:459:java.lang.Object withProtoEnumShrinker(java.util.function.Function,java.lang.Object):384:384 -> a
    460:460:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.isEnumLiteProtoShrinkingEnabled():1660:1660 -> a
    460:460:java.lang.Object withProtoEnumShrinker(java.util.function.Function,java.lang.Object):384 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    461:461:java.lang.Object withProtoEnumShrinker(java.util.function.Function,java.lang.Object):385:385 -> a
    462:463:java.lang.Object withGeneratedExtensionRegistryShrinker(java.util.function.Function,java.lang.Object):399:400 -> a
    464:464:void setCodeLens(com.android.tools.r8.graph.GraphLens):440:440 -> a
    465:465:void setInitClassLens(com.android.tools.r8.graph.InitClassLens):477:477 -> a
    466:466:void setInitializedClassesInInstanceMethods(com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods):482:482 -> a
    467:467:com.android.tools.r8.utils.InternalOptions$TestingOptions testing():506:506 -> a
    467:467:boolean checkForTesting(java.util.function.Supplier):860 -> a
    468:468:boolean checkForTesting(java.util.function.Supplier):860:860 -> a
    469:469:void setRootSet(com.android.tools.r8.shaking.RootSetUtils$RootSet):518:518 -> a
    470:471:void setMainDexRootSet(com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet):522:523 -> a
    472:472:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():535:535 -> a
    472:472:com.android.tools.r8.shaking.KeepClassInfo getKeepInfo(com.android.tools.r8.graph.DexProgramClass):539 -> a
    473:473:com.android.tools.r8.shaking.KeepClassInfo getKeepInfo(com.android.tools.r8.graph.DexProgramClass):539:539 -> a
    474:474:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():535:535 -> a
    474:474:com.android.tools.r8.shaking.KeepFieldInfo getKeepInfo(com.android.tools.r8.graph.ProgramField):543 -> a
    475:475:com.android.tools.r8.shaking.KeepFieldInfo getKeepInfo(com.android.tools.r8.graph.ProgramField):543:543 -> a
    476:476:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.ProgramField):118:118 -> a
    476:476:com.android.tools.r8.shaking.KeepFieldInfo getKeepInfo(com.android.tools.r8.graph.ProgramField):543 -> a
    477:477:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():535:535 -> a
    477:477:com.android.tools.r8.shaking.KeepMethodInfo getKeepInfo(com.android.tools.r8.graph.ProgramMethod):547 -> a
    478:478:com.android.tools.r8.shaking.KeepMethodInfo getKeepInfo(com.android.tools.r8.graph.ProgramMethod):547:547 -> a
    479:479:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.ProgramMethod):105:105 -> a
    479:479:com.android.tools.r8.shaking.KeepMethodInfo getKeepInfo(com.android.tools.r8.graph.ProgramMethod):547 -> a
    480:481:void setProguardCompatibilityActions(com.android.tools.r8.shaking.ProguardCompatibilityActions):560:561 -> a
    482:482:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):589:589 -> a
    483:483:boolean hasHorizontallyMergedClasses():576:576 -> a
    483:483:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):589 -> a
    484:484:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):589:589 -> a
    485:485:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses horizontallyMergedClasses():584:584 -> a
    485:485:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):590 -> a
    486:487:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):590:591 -> a
    488:488:com.android.tools.r8.utils.InternalOptions$TestingOptions testing():506:506 -> a
    488:488:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):592 -> a
    489:491:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):592:594 -> a
    492:492:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses horizontallyMergedClasses():584:584 -> a
    492:492:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):594 -> a
    493:493:void setHorizontallyMergedClasses(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):594:594 -> a
    494:495:void setVerticallyMergedClasses(com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):611:612 -> a
    496:496:com.android.tools.r8.utils.InternalOptions$TestingOptions testing():506:506 -> a
    496:496:void setVerticallyMergedClasses(com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):613 -> a
    497:497:void setVerticallyMergedClasses(com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):613:613 -> a
    498:498:void setOpenClosedInterfacesCollection(com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection):622:622 -> a
    499:500:void setUnboxedEnums(com.android.tools.r8.ir.optimize.enums.EnumDataMap):634:635 -> a
    501:501:com.android.tools.r8.utils.InternalOptions$TestingOptions testing():506:506 -> a
    501:501:void setUnboxedEnums(com.android.tools.r8.ir.optimize.enums.EnumDataMap):636 -> a
    502:502:void setUnboxedEnums(com.android.tools.r8.ir.optimize.enums.EnumDataMap):636:636 -> a
    503:503:boolean hasLiveness():667:667 -> a
    503:503:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):806 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    504:504:boolean hasLiveness():667:667 -> a
    504:504:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):806 -> a
    505:506:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):808:809 -> a
    507:507:com.android.tools.r8.graph.AppServices appServices():274:274 -> a
    507:507:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):811 -> a
    508:508:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):811:811 -> a
    509:509:boolean hasInitClassLens():473:473 -> a
    509:509:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):812 -> a
    510:510:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):813:813 -> a
    511:511:void setInitClassLens(com.android.tools.r8.graph.InitClassLens):477:477 -> a
    511:511:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):813 -> a
    512:512:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):815:815 -> a
    513:513:com.android.tools.r8.shaking.ProguardCompatibilityActions getProguardCompatibilityActions():555:555 -> a
    513:513:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):817 -> a
    514:514:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):817:817 -> a
    515:518:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):816:819 -> a
    519:519:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet getMainDexRootSet():531:531 -> a
    519:519:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):820 -> a
    520:520:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):820:820 -> a
    521:521:void setMainDexRootSet(com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet):523:523 -> a
    521:521:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):820 -> a
    522:522:com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection getOpenClosedInterfacesCollection():617:617 -> a
    522:522:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):823 -> a
    523:523:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):823:823 -> a
    524:524:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):822:822 -> a
    525:525:boolean hasRootSet():510:510 -> a
    525:525:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):824 -> a
    526:526:void lambda$rewriteWithLens$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):825:825 -> a
    527:529:com.android.tools.r8.utils.OptionalBool isSubtype(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):680:682 -> a
    530:530:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):686:686 -> a
    531:531:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    531:531:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):686 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    532:532:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    532:532:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):686 -> a
    533:537:boolean isCfByteCodePassThrough(com.android.tools.r8.graph.DexEncodedMethod):689:693 -> a
    538:547:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):702:711 -> a
    548:548:void pruneAppInfo(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):737:737 -> a
    548:548:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):713 -> a
    549:549:com.android.tools.r8.graph.AppServices appServices():274:274 -> a
    549:549:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):715 -> a
    550:552:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):716:718 -> a
    553:553:com.android.tools.r8.shaking.ProguardCompatibilityActions getProguardCompatibilityActions():555:555 -> a
    553:553:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):720 -> a
    554:554:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):720:720 -> a
    555:555:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):719:719 -> a
    556:556:boolean hasRootSet():510:510 -> a
    556:556:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):722 -> a
    557:560:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):723:726 -> a
    561:561:void setMainDexRootSet(com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet):523:523 -> a
    561:561:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):726 -> a
    562:564:void pruneItems(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):728:728 -> a
    565:567:void rewriteWithLensAndApplication(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):753:755 -> a
    568:587:void rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):767:786 -> a
    588:588:boolean com.android.tools.r8.graph.GraphLens.isMemberRebindingLens():0:0 -> a
    588:588:void rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):792 -> a
    589:598:void rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):794:803 -> a
    599:599:boolean lambda$rewriteWithLens$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):788:788 -> a
    600:600:boolean com.android.tools.r8.graph.GraphLens.isMemberRebindingLens():0:0 -> a
    600:600:boolean lambda$rewriteWithLens$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):788 -> a
    601:601:boolean com.android.tools.r8.graph.GraphLens.isMemberRebindingIdentityLens():0:0 -> a
    601:601:boolean lambda$rewriteWithLens$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):788 -> a
    602:603:void setAlreadyLibraryDesugared(java.util.Set):831:832 -> a
    1:493:java.lang.Object withInitializedClassesInInstanceMethods(java.util.function.Function,java.lang.Object):0:492 -> b
    494:494:com.android.tools.r8.graph.AppView createForL8(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.ir.desugar.TypeRewriter):190:190 -> b
    495:495:com.android.tools.r8.graph.AppView createForRelocator(com.android.tools.r8.graph.AppInfo):194:194 -> b
    496:497:com.android.tools.r8.ir.desugar.TypeRewriter defaultTypeRewriter(com.android.tools.r8.graph.AppInfo):163:164 -> b
    496:497:com.android.tools.r8.graph.AppView createForRelocator(com.android.tools.r8.graph.AppInfo):194 -> b
    498:498:com.android.tools.r8.graph.AppView createForRelocator(com.android.tools.r8.graph.AppInfo):194:194 -> b
    499:499:com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory():203:203 -> b
    500:501:void withGeneratedExtensionRegistryShrinker(com.android.tools.r8.utils.ThrowingConsumer):392:393 -> b
    502:503:java.lang.Object withGeneratedMessageLiteShrinker(java.util.function.Function,java.lang.Object):421:422 -> b
    504:511:boolean setGraphLens(com.android.tools.r8.graph.GraphLens):449:456 -> b
    512:512:boolean com.android.tools.r8.graph.GraphLens.isAppliedLens():0:0 -> b
    512:512:boolean setGraphLens(com.android.tools.r8.graph.GraphLens):456 -> b
    513:513:boolean com.android.tools.r8.graph.GraphLens.isClearCodeRewritingLens():0:0 -> b
    513:513:boolean setGraphLens(com.android.tools.r8.graph.GraphLens):456 -> b
    514:514:void setCodeLens(com.android.tools.r8.graph.GraphLens):440:440 -> b
    514:514:boolean setGraphLens(com.android.tools.r8.graph.GraphLens):457 -> b
    515:515:void setCfByteCodePassThrough(java.util.Set):486:486 -> b
    516:516:void rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):742:742 -> b
    517:521:boolean isAlreadyLibraryDesugared(com.android.tools.r8.graph.DexProgramClass):836:840 -> b
    1:379:java.lang.Object withProtoShrinker(java.util.function.Function,java.lang.Object):0:378 -> c
    380:380:boolean isModeled(com.android.tools.r8.graph.DexType):159:159 -> c
    381:383:com.android.tools.r8.graph.AppView setAppInfo(com.android.tools.r8.graph.AppInfo):244:246 -> c
    384:384:void unsetAppInfoForDesugaring():240:240 -> c
    384:384:com.android.tools.r8.graph.AppView setAppInfo(com.android.tools.r8.graph.AppInfo):247 -> c
    385:388:com.android.tools.r8.graph.AppView setAppInfo(com.android.tools.r8.graph.AppInfo):249:252 -> c
    389:390:void withGeneratedMessageLiteBuilderShrinker(com.android.tools.r8.utils.ThrowingConsumer):414:415 -> c
    391:391:com.android.tools.r8.graph.classmerging.MergedClassesCollection allMergedClasses():565:565 -> c
    392:392:boolean hasHorizontallyMergedClasses():576:576 -> c
    392:392:com.android.tools.r8.graph.classmerging.MergedClassesCollection allMergedClasses():566 -> c
    393:396:com.android.tools.r8.graph.classmerging.MergedClassesCollection allMergedClasses():567:570 -> c
    1:1:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):304:304 -> d
    2:3:void withGeneratedMessageLiteShrinker(com.android.tools.r8.utils.ThrowingConsumer):407:408 -> d
    4:4:com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute():864:864 -> d
    1:1:com.android.tools.r8.graph.DexApplication app():215:215 -> e
    2:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):309:309 -> e
    3:4:void withProtoShrinker(com.android.tools.r8.utils.ThrowingConsumer):371:372 -> e
    1:2:com.android.tools.r8.graph.AppInfo appInfo():219:220 -> f
    3:4:boolean isClassEscapingIntoLibrary(com.android.tools.r8.graph.DexType):286:287 -> f
    1:9:com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfoForDesugaring():228:236 -> g
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness appInfoWithLiveness():224:224 -> h
    1:1:com.android.tools.r8.graph.AppServices appServices():274:274 -> i
    1:1:boolean canUseInitClass():465:465 -> j
    2:2:boolean com.android.tools.r8.graph.InitClassLens.isFinal():0:0 -> j
    2:2:boolean canUseInitClass():465 -> j
    1:1:void clearApplyMappingSeedMapper():856:856 -> k
    1:1:com.android.tools.r8.graph.GraphLens clearCodeRewritings():268:268 -> l
    2:2:com.android.tools.r8.graph.GraphLens com.android.tools.r8.graph.GraphLens.withCodeRewritingsApplied(com.android.tools.r8.graph.DexItemFactory):579:579 -> l
    2:2:com.android.tools.r8.graph.GraphLens clearCodeRewritings():268 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.graph.GraphLens com.android.tools.r8.graph.GraphLens.withCodeRewritingsApplied(com.android.tools.r8.graph.DexItemFactory):580:580 -> l
    3:3:com.android.tools.r8.graph.GraphLens clearCodeRewritings():268 -> l
    4:4:com.android.tools.r8.graph.GraphLens clearCodeRewritings():269:269 -> l
    1:1:com.android.tools.r8.graph.GraphLens codeLens():436:436 -> m
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel computedMinApiLevel():868:868 -> n
    1:1:com.android.tools.r8.contexts.CompilationContext$ProcessorContext createProcessorContext():342:342 -> o
    2:2:boolean verifyMainThread():153:153 -> o
    2:2:com.android.tools.r8.contexts.CompilationContext$ProcessorContext createProcessorContext():342 -> o
    3:3:com.android.tools.r8.contexts.CompilationContext$ProcessorContext createProcessorContext():343:343 -> o
    1:1:boolean enableWholeProgramOptimizations():332:332 -> p
    1:1:com.android.tools.r8.naming.SeedMapper getApplyMappingSeedMapper():852:852 -> q
    1:1:com.android.tools.r8.errors.dontwarn.DontWarnConfiguration getDontWarnConfiguration():282:282 -> r
    1:1:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():535:535 -> s
    1:1:com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection getLibraryMethodSideEffectModelCollection():362:362 -> t
    1:1:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet getMainDexRootSet():531:531 -> u
    1:1:com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection getOpenClosedInterfacesCollection():617:617 -> v
    1:1:com.android.tools.r8.shaking.ProguardCompatibilityActions getProguardCompatibilityActions():555:555 -> w
    1:1:com.android.tools.r8.synthesis.SyntheticItems getSyntheticItems():347:347 -> x
    1:1:com.android.tools.r8.graph.GraphLens graphLens():444:444 -> y
    1:1:boolean hasCfByteCodePassThroughMethods():697:697 -> z
com.android.tools.r8.graph.ApplicationReaderMap -> com.android.tools.r8.internal.v2:
    1:1:void <init>():9:9 -> <init>
    java.lang.String getDescriptor(java.lang.String) -> a
    com.android.tools.r8.graph.DexType getInvertedType(com.android.tools.r8.graph.DexType) -> a
    1:4:com.android.tools.r8.graph.ApplicationReaderMap getInstance(com.android.tools.r8.utils.InternalOptions):20:23 -> a
    com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexType) -> b
com.android.tools.r8.graph.ApplicationReaderMap$EmptyMap -> com.android.tools.r8.internal.t2:
    1:1:void <init>():26:26 -> <init>
    java.lang.String getDescriptor(java.lang.String) -> a
    com.android.tools.r8.graph.DexType getInvertedType(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexType) -> b
com.android.tools.r8.graph.ApplicationReaderMap$RecordMap -> com.android.tools.r8.internal.u2:
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:2:void <init>(com.android.tools.r8.graph.DexItemFactory):48:49 -> <init>
    1:2:java.lang.String getDescriptor(java.lang.String):54:55 -> a
    3:3:com.android.tools.r8.graph.DexType getInvertedType(com.android.tools.r8.graph.DexType):66:66 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexType):61:61 -> b
com.android.tools.r8.graph.AppliedGraphLens -> com.android.tools.r8.graph.i:
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap renamedTypeNames -> f
    boolean $assertionsDisabled -> j
    java.util.Map extraOriginalMethodSignatures -> i
    com.android.tools.r8.com.google.common.collect.BiMap originalFieldSignatures -> g
    com.android.tools.r8.com.google.common.collect.BiMap originalMethodSignatures -> h
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):41:41 -> <init>
    2:54:void <init>(com.android.tools.r8.graph.AppView):31:83 -> <init>
    com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod) -> a
    1:11:void recordOriginalTypeNames(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):88:98 -> a
    12:13:void lambda$recordOriginalTypeNames$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):95:96 -> a
    14:14:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):109:109 -> a
    15:15:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> a
    15:15:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):109 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):109:109 -> a
    17:17:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):120:120 -> a
    18:18:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):128:128 -> a
    com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> b
    1:2:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):114:115 -> b
    3:3:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):134:134 -> b
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):141:141 -> d
    2:2:com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType):146:146 -> d
    1:4:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):162:165 -> e
    boolean isContextFreeForMethods() -> g
com.android.tools.r8.graph.AssemblyWriter -> com.android.tools.r8.internal.y3:
    com.android.tools.r8.kotlin.Kotlin kotlin -> i
    com.android.tools.r8.contexts.CompilationContext compilationContext -> k
    com.android.tools.r8.graph.AppInfo appInfo -> h
    boolean $assertionsDisabled -> l
    boolean writeAnnotations -> e
    boolean writeIR -> f
    boolean writeCode -> g
    boolean writeAllClassInfo -> c
    boolean writeFields -> d
    com.android.tools.r8.utils.Timing timing -> j
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.InternalOptions,boolean,boolean,boolean):43:43 -> <init>
    2:29:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.InternalOptions,boolean,boolean,boolean):34:61 -> <init>
    1:1:java.lang.String getFileEnding():66:66 -> a
    2:2:void lambda$writeIR$0(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):186:186 -> a
    3:3:void lambda$writeIR$0(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):184:184 -> a
    4:18:void writeAnnotations(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationSet,java.io.PrintStream):194:208 -> a
    19:19:void writeAnnotations(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationSet,java.io.PrintStream):207:207 -> a
    20:20:void writeAnnotations(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotationSet,java.io.PrintStream):204:204 -> a
    void writeClassFooter(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream) -> b
    1:10:void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream):129:138 -> b
    11:11:void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":153,"2":154,"3":155}}
    153:153:void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream):139:139 -> b
    154:154:void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream):139:139 -> b
    155:155:void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream):139:139 -> b
    150:152:void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream):139:141 -> b
    156:164:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):152:160 -> b
    165:165:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":338,"2":339,"3":340}}
    338:338:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):161:161 -> b
    339:339:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):161:161 -> b
    340:340:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):161:161 -> b
    326:337:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):161:172 -> b
    1:9:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):72:80 -> c
    10:10:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":616,"2":617,"3":618}}
    616:616:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):81:81 -> c
    617:617:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):81:81 -> c
    618:618:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):81:81 -> c
    91:92:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):81:82 -> c
    93:93:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":620,"2":621,"3":622}}
    620:620:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):83:83 -> c
    621:621:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):83:83 -> c
    622:622:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):83:83 -> c
    176:178:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):83:85 -> c
    179:179:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":625,"2":626,"3":627}}
    625:625:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):86:86 -> c
    626:626:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):86:86 -> c
    627:627:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):86:86 -> c
    265:269:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):86:90 -> c
    270:270:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":632,"2":633,"3":634}}
    632:632:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):91:91 -> c
    633:633:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):91:91 -> c
    634:634:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):91:91 -> c
    363:371:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):93:101 -> c
    372:388:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):91:107 -> c
    389:389:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":651,"2":652,"3":653}}
    651:651:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):108:108 -> c
    652:652:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):108:108 -> c
    653:653:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):108:108 -> c
    497:497:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):108:108 -> c
    498:498:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":655,"2":656,"3":657}}
    655:655:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):110:110 -> c
    656:656:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):110:110 -> c
    657:657:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):110:110 -> c
    609:609:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):111:111 -> c
    610:615:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):110:115 -> c
    658:658:void writeFieldsFooter(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):147:147 -> c
    659:660:void writeIR(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):178:179 -> c
    661:661:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter):327:327 -> c
    661:661:void writeIR(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):179 -> c
    662:671:void writeIR(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):180:189 -> c
    1:4:void writeFieldsHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):120:123 -> d
com.android.tools.r8.graph.BottomUpClassHierarchyTraversal -> com.android.tools.r8.internal.R5:
    java.util.function.Function immediateSubtypesProvider -> g
    1:2:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.ClassHierarchyTraversal$Scope):18:19 -> <init>
    1:1:com.android.tools.r8.graph.BottomUpClassHierarchyTraversal forAllClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):28:28 -> a
    2:2:com.android.tools.r8.graph.BottomUpClassHierarchyTraversal forProgramClasses(com.android.tools.r8.graph.AppView,java.util.function.Function):48:48 -> a
    3:4:com.android.tools.r8.graph.ClassHierarchyTraversal com.android.tools.r8.graph.ClassHierarchyTraversal.excludeInterfaces():60:61 -> a
    3:4:com.android.tools.r8.graph.ClassHierarchyTraversal excludeInterfaces():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5:20:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):62:77 -> a
    com.android.tools.r8.graph.ClassHierarchyTraversal self() -> b
    1:1:com.android.tools.r8.graph.BottomUpClassHierarchyTraversal forProgramClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):38:38 -> b
com.android.tools.r8.graph.CachedHashValueDexItem -> com.android.tools.r8.graph.j:
    int hash -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():9:9 -> <clinit>
    1:5:void <init>():9:13 -> <init>
    1:1:boolean equals(java.lang.Object):51:51 -> equals
    boolean computeEquals(java.lang.Object) -> h
    1:9:int hashCode():21:29 -> hashCode
    10:14:boolean verifyHashCodeConsistent(int):34:38 -> hashCode
    10:14:int hashCode():29 -> hashCode
    int computeHashCode() -> n0
com.android.tools.r8.graph.CfCode -> com.android.tools.r8.graph.k:
    boolean $assertionsDisabled -> m
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata metadata -> l
    com.android.tools.r8.graph.DexType originalHolder -> d
    int maxStack -> f
    java.util.List localVariables -> i
    java.util.List tryCatchRanges -> h
    int maxLocals -> e
    java.util.List instructions -> g
    com.android.tools.r8.graph.CfCode$StackMapStatus stackMapStatus -> j
    com.android.tools.r8.position.Position diagnosticPosition -> k
    1:1:void <clinit>():68:68 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List):165:166 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List):160:160 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> <init>
    5:5:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> <init>
    6:6:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> <init>
    7:7:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata):213:213 -> <init>
    8:75:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata):154:221 -> <init>
    1:1:com.android.tools.r8.position.Position getDiagnosticPosition():271:271 -> B0
    1:1:java.util.List getInstructions():287:287 -> C0
    1:1:java.util.List getLocalVariables():295:295 -> D0
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int getMaxLocals():262:262 -> E0
    1:1:int getMaxStack():258:258 -> F0
    1:1:com.android.tools.r8.graph.DexType getOriginalHolder():254:254 -> G0
    1:2:com.android.tools.r8.graph.CfCode$StackMapStatus getStackMapStatus():266:267 -> H0
    1:1:java.util.List getTryCatchRanges():283:283 -> I0
    com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> O
    com.android.tools.r8.graph.CfCode asCfCode() -> X
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):68:68 -> a
    2:2:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):241:241 -> a
    3:3:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.cf.code.CfInstruction):245:245 -> a
    3:3:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):241 -> a
    4:4:void setInstructions(java.util.List):291:291 -> a
    5:8:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):353:356 -> a
    9:9:void lambda$acceptHashing$0(com.android.tools.r8.utils.structural.HashingVisitor,com.android.tools.r8.cf.code.CfInstruction):356:356 -> a
    10:11:int acceptCompareTo(com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.structural.CompareToVisitor):361:362 -> a
    12:12:java.util.Collection lambda$acceptCompareTo$1(com.android.tools.r8.graph.CfCode):366:366 -> a
    13:13:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):366:366 -> a
    14:14:com.android.tools.r8.utils.structural.StructuralAcceptor com.android.tools.r8.graph.CfCompareHelper.instructionAcceptor():106:106 -> a
    14:14:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):366 -> a
    15:15:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):366:366 -> a
    16:16:com.android.tools.r8.utils.structural.StructuralAcceptor com.android.tools.r8.graph.CfCompareHelper.tryCatchRangeAcceptor():122:122 -> a
    16:16:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):367 -> a
    17:17:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):367:367 -> a
    18:18:com.android.tools.r8.utils.structural.StructuralAcceptor com.android.tools.r8.graph.CfCompareHelper.localVariableAcceptor():137:137 -> a
    18:18:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):368 -> a
    19:19:void lambda$acceptCompareTo$4(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):368:368 -> a
    20:21:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):405:406 -> a
    22:22:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):871:871 -> a
    22:22:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):406 -> a
    23:28:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):406:411 -> a
    29:45:boolean shouldAddParameterNames(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):375:391 -> a
    29:45:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):411 -> a
    46:46:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):412:412 -> a
    47:47:void com.android.tools.r8.cf.code.CfLabel.write(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):73:73 -> a
    47:47:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):413 -> a
    48:64:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):416:432 -> a
    65:65:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":549,"2":550,"3":551}}
    549:549:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):433:433 -> a
    550:550:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    550:550:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):433 -> a
    551:551:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    551:551:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):433 -> a
    499:506:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):434:441 -> a
    507:527:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):435:455 -> a
    528:528:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):473:473 -> a
    528:528:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):448 -> a
    529:529:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":552,"2":553,"3":554}}
    552:552:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):473:473 -> a
    552:552:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):448 -> a
    553:553:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    553:553:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):473 -> a
    553:553:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):448 -> a
    554:554:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    554:554:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):473 -> a
    554:554:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):448 -> a
    530:536:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):474:474 -> a
    530:536:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):448 -> a
    537:539:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):458:460 -> a
    540:540:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):473:473 -> a
    540:540:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):459 -> a
    541:541:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":555,"2":556,"3":557}}
    555:555:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):473:473 -> a
    555:555:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):459 -> a
    556:556:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    556:556:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):473 -> a
    556:556:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):459 -> a
    557:557:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    557:557:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):473 -> a
    557:557:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):459 -> a
    542:548:void writeLocalVariableEntry(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,int):474:474 -> a
    542:548:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):459 -> a
    558:560:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):507:509 -> a
    561:563:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):556:558 -> a
    561:563:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):508 -> a
    564:564:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):557:557 -> a
    564:564:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):508 -> a
    565:567:com.android.tools.r8.ir.code.IRCode internalBuildWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):591:591 -> a
    565:567:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):568 -> a
    565:567:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):508 -> a
    578:580:com.android.tools.r8.ir.code.IRCode internalBuildWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):602:604 -> a
    578:580:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):568 -> a
    578:580:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):508 -> a
    581:581:com.android.tools.r8.ir.code.IRCode internalBuildWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):603:603 -> a
    581:581:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):568 -> a
    581:581:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):508 -> a
    582:585:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):522:525 -> a
    586:588:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):556:558 -> a
    586:588:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):526 -> a
    589:589:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):557:557 -> a
    589:589:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):526 -> a
    590:592:com.android.tools.r8.ir.code.IRCode internalBuildWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):591:591 -> a
    590:592:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):568 -> a
    590:592:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):526 -> a
    603:605:com.android.tools.r8.ir.code.IRCode internalBuildWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):602:604 -> a
    603:605:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):568 -> a
    603:605:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):526 -> a
    606:606:com.android.tools.r8.ir.code.IRCode internalBuildWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):603:603 -> a
    606:606:com.android.tools.r8.ir.code.IRCode internalBuildPossiblyWithLocals(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):568 -> a
    606:606:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):526 -> a
    607:612:com.android.tools.r8.ir.code.IRCode internalBuild(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):627:632 -> a
    613:613:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    613:613:com.android.tools.r8.ir.code.IRCode internalBuild(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):632 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    614:627:com.android.tools.r8.ir.code.IRCode internalBuild(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):632:645 -> a
    628:639:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):650:661 -> a
    640:645:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):669:674 -> a
    646:646:void lambda$registerCodeReferencesForDesugaring$5(com.android.tools.r8.graph.UseRegistry,com.android.tools.r8.cf.code.CfTryCatch):674:674 -> a
    647:687:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):681:721 -> a
    688:688:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):720:720 -> a
    689:689:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):692:692 -> a
    690:690:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):769:769 -> a
    691:701:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):777:787 -> a
    702:702:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    702:702:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):787 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    703:703:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    703:703:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):787 -> a
    704:704:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMonitor():275:275 -> a
    704:704:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):788 -> a
    705:713:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):789:797 -> a
    714:720:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):796:802 -> a
    721:721:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMoveException():283:283 -> a
    721:721:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):805 -> a
    722:722:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):805:805 -> a
    723:732:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):811:820 -> a
    733:736:int com.android.tools.r8.graph.DexCode.getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):312:315 -> a
    733:736:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):820 -> a
    737:752:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):820:835 -> a
    753:754:void com.android.tools.r8.graph.CfCode$LocalVariableInfo.<init>(int,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel):99:100 -> a
    753:754:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):835 -> a
    755:755:void addFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):832:832 -> a
    756:759:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):840:843 -> a
    760:760:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    760:760:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):843 -> a
    761:768:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):844:851 -> a
    769:769:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    769:769:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):851 -> a
    770:774:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):853:857 -> a
    775:775:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):854:854 -> a
    776:776:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    776:776:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):859 -> a
    777:783:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):860:866 -> a
    784:784:void <init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    784:784:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):866 -> a
    785:816:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):875:906 -> a
    817:823:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.multipleFramesForLabel(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):32:38 -> a
    817:823:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):906 -> a
    824:824:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    824:824:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.multipleFramesForLabel(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):38 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    824:824:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):906 -> a
    825:825:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.multipleFramesForLabel(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):39:39 -> a
    825:825:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):906 -> a
    826:826:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):982:982 -> a
    826:826:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):905 -> a
    827:832:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):909:914 -> a
    833:839:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.unexpectedStackMapFrame(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):21:27 -> a
    833:839:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):914 -> a
    840:840:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    840:840:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.unexpectedStackMapFrame(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):27 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    840:840:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):914 -> a
    841:841:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.unexpectedStackMapFrame(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):28:28 -> a
    841:841:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):914 -> a
    842:842:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):982:982 -> a
    842:842:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):913 -> a
    843:843:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    843:843:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):919 -> a
    844:844:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    844:844:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):921 -> a
    845:850:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):922:927 -> a
    851:851:boolean com.android.tools.r8.cf.code.CfInstruction.isThrow():0:0 -> a
    851:851:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):987 -> a
    851:851:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):927 -> a
    852:861:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):987:996 -> a
    852:861:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):927 -> a
    862:862:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    862:862:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):996 -> a
    862:862:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):927 -> a
    863:863:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    863:863:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):996 -> a
    863:863:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):927 -> a
    864:864:boolean finalAndExitInstruction(com.android.tools.r8.cf.code.CfInstruction):1001:1001 -> a
    864:864:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):927 -> a
    865:867:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):931:933 -> a
    868:875:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.noFramesForMethodWithJumps(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):44:51 -> a
    868:875:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):933 -> a
    876:876:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    876:876:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.noFramesForMethodWithJumps(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):51 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    876:876:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):933 -> a
    877:877:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.noFramesForMethodWithJumps(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):52:52 -> a
    877:877:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):933 -> a
    878:878:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):982:982 -> a
    878:878:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):932 -> a
    879:888:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):935:944 -> a
    889:890:boolean shouldComputeInitialFrame():1005:1006 -> a
    889:890:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):944 -> a
    891:891:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    891:891:boolean shouldComputeInitialFrame():1008 -> a
    891:891:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):944 -> a
    892:892:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    892:892:boolean shouldComputeInitialFrame():1008 -> a
    892:892:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):944 -> a
    893:893:boolean shouldComputeInitialFrame():1013:1013 -> a
    893:893:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):944 -> a
    894:894:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):944:944 -> a
    895:895:boolean shouldComputeInitialFrame():1013:1013 -> a
    895:895:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):944 -> a
    896:896:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):945:945 -> a
    897:898:boolean shouldComputeInitialFrame():1005:1006 -> a
    897:898:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):946 -> a
    899:899:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    899:899:boolean shouldComputeInitialFrame():1008 -> a
    899:899:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):946 -> a
    900:900:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    900:900:boolean shouldComputeInitialFrame():1008 -> a
    900:900:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):946 -> a
    901:901:boolean shouldComputeInitialFrame():1013:1013 -> a
    901:901:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):946 -> a
    902:902:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):947:947 -> a
    903:910:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1022:1029 -> a
    903:910:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):949 -> a
    911:911:boolean com.android.tools.r8.graph.DexMethod.isHorizontallyMergedInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):313:313 -> a
    911:911:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1030 -> a
    911:911:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):949 -> a
    912:912:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    912:912:boolean com.android.tools.r8.graph.DexMethod.isHorizontallyMergedInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):313 -> a
    912:912:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1030 -> a
    912:912:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):949 -> a
    913:913:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1032:1032 -> a
    913:913:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):949 -> a
    914:914:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1031:1031 -> a
    914:914:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):949 -> a
    915:934:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap computeInitialLocals(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1026:1045 -> a
    915:934:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):949 -> a
    935:935:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):949:949 -> a
    936:952:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):947:963 -> a
    953:953:boolean com.android.tools.r8.cf.code.CfInstruction.isStore():0:0 -> a
    953:953:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):963 -> a
    954:961:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):963:970 -> a
    962:975:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.toDiagnostics(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction,java.lang.String,com.android.tools.r8.graph.AppView):61:74 -> a
    962:975:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):969 -> a
    976:976:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    976:976:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.toDiagnostics(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction,java.lang.String,com.android.tools.r8.graph.AppView):74 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    976:976:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):969 -> a
    977:977:com.android.tools.r8.graph.CfCodeDiagnostics com.android.tools.r8.graph.CfCodeStackMapValidatingException.toDiagnostics(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction,java.lang.String,com.android.tools.r8.graph.AppView):75:75 -> a
    977:977:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):969 -> a
    978:978:com.android.tools.r8.graph.CfCode$StackMapStatus reportStackMapError(com.android.tools.r8.graph.CfCodeDiagnostics,com.android.tools.r8.graph.AppView):982:982 -> a
    978:978:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):968 -> a
    979:979:boolean shouldComputeInitialFrame():1013:1013 -> a
    979:979:com.android.tools.r8.graph.CfCode$StackMapStatus verifyFrames(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):946 -> a
    980:980:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1057:1057 -> a
    981:981:boolean com.android.tools.r8.graph.DexType.isByteType():280:280 -> a
    981:981:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1088 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    981:981:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1058 -> a
    982:982:boolean com.android.tools.r8.graph.DexType.isByteType():280:280 -> a
    982:982:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1088 -> a
    982:982:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1058 -> a
    983:984:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1088:1089 -> a
    983:984:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1058 -> a
    985:985:boolean com.android.tools.r8.graph.DexType.isByteType():280:280 -> a
    985:985:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1088 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    985:985:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1059 -> a
    986:986:boolean com.android.tools.r8.graph.DexType.isByteType():280:280 -> a
    986:986:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1088 -> a
    986:986:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1059 -> a
    987:988:com.android.tools.r8.graph.DexType byteCharShortOrBooleanToInt(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1088:1089 -> a
    987:988:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1059 -> a
    989:1006:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1063:1080 -> a
    1007:1011:boolean isAssignable(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1079:1083 -> a
    1:1:java.util.Collection lambda$acceptCompareTo$2(com.android.tools.r8.graph.CfCode):367:367 -> b
    2:6:void verifyFramesOrRemove(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):538:542 -> b
    7:7:java.util.function.BiPredicate isAssignablePredicate(com.android.tools.r8.graph.AppView):1052:1052 -> b
    8:8:boolean lambda$isAssignablePredicate$6(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1052:1052 -> b
    1:1:java.util.Collection lambda$acceptCompareTo$3(com.android.tools.r8.graph.CfCode):368:368 -> c
    1:2:int countNonStackOperations(int):315:316 -> h
    1:2:boolean estimatedSizeForInliningAtMost(int):305 -> h
    3:3:boolean computeEquals(java.lang.Object):490:490 -> h
    1:1:void setMaxLocals(int):275:275 -> i
    1:1:void setMaxStack(int):279:279 -> j
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():250:250 -> n
    1:1:int computeHashCode():485:485 -> n0
    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> o0
    1:2:int countNonStackOperations(int):315:316 -> r0
    1:2:int estimatedSizeForInlining():300 -> r0
    1:2:int estimatedDexCodeSizeUpperBoundInBytes():310 -> r0
    1:2:int countNonStackOperations(int):315:316 -> s0
    1:2:int estimatedSizeForInlining():300 -> s0
    boolean isCfCode() -> t0
    1:1:java.lang.String toString():764:764 -> toString
    2:2:void com.android.tools.r8.cf.CfPrinter.<init>(com.android.tools.r8.graph.CfCode):132:132 -> toString
    2:2:java.lang.String toString():764 -> toString
    3:3:java.lang.String toString():764:764 -> toString
    boolean isCfWritableCode() -> u0
com.android.tools.r8.graph.CfCode$LocalVariableInfo -> com.android.tools.r8.graph.k$a:
    com.android.tools.r8.graph.DebugLocalInfo local -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.cf.code.CfLabel start -> c
    com.android.tools.r8.cf.code.CfLabel end -> d
    int index -> a
    1:1:void <clinit>():85:85 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel):92:95 -> <init>
    1:1:com.android.tools.r8.graph.DebugLocalInfo access$000(com.android.tools.r8.graph.CfCode$LocalVariableInfo):85:85 -> a
    2:4:void setEnd(com.android.tools.r8.cf.code.CfLabel):104:106 -> a
    5:5:com.android.tools.r8.cf.code.CfLabel getEnd():122:122 -> a
    6:6:int acceptCompareTo(com.android.tools.r8.graph.CfCode$LocalVariableInfo,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):127:127 -> a
    7:8:void lambda$acceptCompareTo$0(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):131:132 -> a
    9:9:com.android.tools.r8.utils.structural.StructuralSpecification com.android.tools.r8.utils.structural.StructuralSpecification.withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):43:43 -> a
    9:9:void lambda$acceptCompareTo$0(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):132 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:11:void lambda$acceptCompareTo$0(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):132:133 -> a
    12:12:com.android.tools.r8.utils.structural.StructuralSpecification com.android.tools.r8.utils.structural.StructuralSpecification.withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):43:43 -> a
    12:12:void lambda$acceptCompareTo$0(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):133 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:14:void lambda$acceptCompareTo$0(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.utils.structural.StructuralSpecification):133:134 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel access$100(com.android.tools.r8.graph.CfCode$LocalVariableInfo):85:85 -> b
    2:2:int getIndex():110:110 -> b
    1:1:com.android.tools.r8.cf.code.CfLabel access$200(com.android.tools.r8.graph.CfCode$LocalVariableInfo):85:85 -> c
    2:2:com.android.tools.r8.graph.DebugLocalInfo getLocal():114:114 -> c
    1:1:int access$300(com.android.tools.r8.graph.CfCode$LocalVariableInfo):85:85 -> d
    2:2:com.android.tools.r8.cf.code.CfLabel getStart():118:118 -> d
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":141,"2":142,"3":143}}
    141:141:java.lang.String toString():139:139 -> toString
    142:142:java.lang.String toString():139:139 -> toString
    143:143:java.lang.String toString():139:139 -> toString
    140:140:java.lang.String toString():139:139 -> toString
com.android.tools.r8.graph.CfCodeDiagnostics -> com.android.tools.r8.internal.S6:
    com.android.tools.r8.position.MethodPosition methodPosition -> c
    com.android.tools.r8.origin.Origin origin -> b
    java.lang.String diagnosticMessage -> d
    1:4:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexMethod,java.lang.String):33:36 -> <init>
    1:1:java.lang.String getDiagnosticMessage():26:26 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():16:16 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():21:21 -> getPosition
com.android.tools.r8.graph.CfCodeStackMapValidatingException -> com.android.tools.r8.internal.U6:
    int $r8$clinit -> b
    1:1:void <init>(java.lang.String):12:12 -> <init>
    1:1:com.android.tools.r8.graph.CfCodeStackMapValidatingException error(java.lang.String):16:16 -> a
com.android.tools.r8.graph.CfCompareHelper -> com.android.tools.r8.graph.p:
    com.android.tools.r8.graph.CfCode code2 -> b
    com.android.tools.r8.graph.CfCode code1 -> a
    com.android.tools.r8.utils.structural.StructuralAcceptor lazyLabelAcceptor -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.CfCode):74:74 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.CfCode):72:76 -> <init>
    1:1:com.android.tools.r8.graph.CfCode access$000(com.android.tools.r8.graph.CfCompareHelper):18:18 -> a
    2:4:int compareIdUniquelyDeterminesEquality(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.cf.code.CfInstruction):54:56 -> a
    5:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap getLabelOrdering(com.android.tools.r8.graph.CfCode):61:63 -> a
    5:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap access$100(com.android.tools.r8.graph.CfCode):18 -> a
    8:8:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap getLabelOrdering(com.android.tools.r8.graph.CfCode):63 -> a
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap access$100(com.android.tools.r8.graph.CfCode):18 -> a
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap getLabelOrdering(com.android.tools.r8.graph.CfCode):64:64 -> a
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap access$100(com.android.tools.r8.graph.CfCode):18 -> a
    10:27:com.android.tools.r8.utils.structural.StructuralAcceptor labelAcceptor():84:101 -> a
    1:1:com.android.tools.r8.graph.CfCode access$200(com.android.tools.r8.graph.CfCompareHelper):18:18 -> b
com.android.tools.r8.graph.CfCompareHelper$1 -> com.android.tools.r8.graph.l:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labels1 -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labels2 -> b
    1:3:void <init>(com.android.tools.r8.graph.CfCompareHelper):86:88 -> <init>
    1:1:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):86:86 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.CompareToVisitor):92:92 -> a
    2:2:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):86 -> a
    3:3:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):86:86 -> a
    4:4:void acceptHashing(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.utils.structural.HashingVisitor):97:97 -> a
    4:4:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):86 -> a
com.android.tools.r8.graph.CfCompareHelper$2 -> com.android.tools.r8.graph.m:
    com.android.tools.r8.graph.CfCompareHelper val$helper -> a
    1:1:void <init>(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.graph.CfCompareHelper):106:106 -> <init>
    1:1:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):106:106 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor):110:110 -> a
    2:2:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):106 -> a
    3:3:int com.android.tools.r8.cf.code.CfInstruction.acceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):71:71 -> a
    3:3:int acceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor):110 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):106 -> a
    4:8:int com.android.tools.r8.cf.code.CfInstruction.acceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.CfCompareHelper):71:75 -> a
    4:8:int acceptCompareTo(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.CompareToVisitor):110 -> a
    4:8:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):106 -> a
    9:9:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):106:106 -> a
    10:10:void acceptHashing(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.utils.structural.HashingVisitor):115:115 -> a
    10:10:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):106 -> a
com.android.tools.r8.graph.CfCompareHelper$3 -> com.android.tools.r8.graph.n:
    com.android.tools.r8.graph.CfCompareHelper val$helper -> a
    1:1:void <init>(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.graph.CfCompareHelper):122:122 -> <init>
    1:1:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):122:122 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.cf.code.CfTryCatch,com.android.tools.r8.cf.code.CfTryCatch,com.android.tools.r8.utils.structural.CompareToVisitor):125:125 -> a
    2:2:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):122 -> a
    3:3:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):122:122 -> a
    4:4:void acceptHashing(com.android.tools.r8.cf.code.CfTryCatch,com.android.tools.r8.utils.structural.HashingVisitor):130:130 -> a
    4:4:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):122 -> a
com.android.tools.r8.graph.CfCompareHelper$4 -> com.android.tools.r8.graph.o:
    com.android.tools.r8.graph.CfCompareHelper val$helper -> a
    1:1:void <init>(com.android.tools.r8.graph.CfCompareHelper,com.android.tools.r8.graph.CfCompareHelper):137:137 -> <init>
    1:1:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):137:137 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.graph.CfCode$LocalVariableInfo,com.android.tools.r8.graph.CfCode$LocalVariableInfo,com.android.tools.r8.utils.structural.CompareToVisitor):141:141 -> a
    2:2:int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor):137 -> a
    3:3:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):137:137 -> a
    4:4:void acceptHashing(com.android.tools.r8.graph.CfCode$LocalVariableInfo,com.android.tools.r8.utils.structural.HashingVisitor):146:146 -> a
    4:4:void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor):137 -> a
com.android.tools.r8.graph.CfWritableCode -> com.android.tools.r8.internal.X8:
    com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> O
    com.android.tools.r8.graph.CfCode asCfCode() -> X
    void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> a
    void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor) -> a
    1:14:int acceptCompareTo(com.android.tools.r8.graph.CfWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):24:37 -> a
    15:15:int acceptCompareTo(com.android.tools.r8.graph.CfWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):31:31 -> a
com.android.tools.r8.graph.ClassAccessFlags -> com.android.tools.r8.graph.q:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>(int,int):58:58 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.ClassAccessFlags createPublicFinalSynthetic():62:62 -> O
    2:2:void <init>(int):54:54 -> O
    2:2:com.android.tools.r8.graph.ClassAccessFlags createPublicFinalSynthetic():62 -> O
    1:1:void demoteFromAbstract():160:160 -> P
    1:4:int getAsCfAccessFlags():92:95 -> Q
    5:5:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> Q
    5:5:int getAsCfAccessFlags():96 -> Q
    1:1:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> R
    1:1:int getAsDexAccessFlags():103 -> R
    2:2:int getAsDexAccessFlags():104:104 -> R
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> S
    1:1:boolean isAbstract():156 -> S
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> T
    1:1:boolean isAnnotation():172 -> T
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> U
    1:1:boolean isEnum():184 -> U
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> V
    1:1:boolean isInterface():144 -> V
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> X
    1:1:boolean isRecord():192 -> X
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> Y
    1:1:boolean isSuper():204 -> Y
    1:1:void setAbstract():164:164 -> Z
    1:16:boolean areValid(com.android.tools.r8.cf.CfVersion,boolean):120:135 -> a
    1:1:void setAnnotation():176:176 -> a0
    1:1:void setSuper():208:208 -> b0
    1:9:java.util.List getNames():29:37 -> c
    1:1:void unsetAbstract():168:168 -> c0
    1:1:void unsetInterface():152:152 -> d0
    1:9:java.util.List getPredicates():42:50 -> e
    1:1:void unsetRecord():200:200 -> e0
    1:1:void unsetSuper():212:212 -> f0
    1:1:com.android.tools.r8.graph.ClassAccessFlags fromCfAccessFlags(int):77:77 -> h
    2:2:void <init>(int):54:54 -> h
    2:2:com.android.tools.r8.graph.ClassAccessFlags fromCfAccessFlags(int):77 -> h
    1:1:com.android.tools.r8.graph.ClassAccessFlags fromDexAccessFlags(int):73:73 -> i
    2:2:void <init>(int):54:54 -> i
    2:2:com.android.tools.r8.graph.ClassAccessFlags fromDexAccessFlags(int):73 -> i
    1:3:com.android.tools.r8.graph.ClassAccessFlags fromSharedAccessFlags(int):67:69 -> j
    com.android.tools.r8.graph.AccessFlags self() -> z
com.android.tools.r8.graph.ClassDefinition -> com.android.tools.r8.internal.M9:
    boolean isClasspathClass() -> G
    com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> H
    void forEachClassField(java.util.function.Consumer) -> b
    void forEachClassMethod(java.util.function.Consumer) -> c
    com.android.tools.r8.graph.MethodCollection getMethodCollection() -> d0
    boolean isLibraryClass() -> h0
    java.lang.Iterable allImmediateSupertypes() -> i0
    com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> l
com.android.tools.r8.graph.ClassHierarchyTraversal -> com.android.tools.r8.internal.O9:
    java.util.Deque worklist -> d
    java.util.Set visited -> c
    com.android.tools.r8.graph.ClassHierarchyTraversal$Scope scope -> b
    boolean excludeInterfaces -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexDefinitionSupplier definitionSupplier -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ClassHierarchyTraversal$Scope):52:52 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ClassHierarchyTraversal$Scope):47:54 -> <init>
    void addDependentsToWorklist(com.android.tools.r8.graph.DexClass) -> a
    1:22:void visit(java.lang.Iterable,java.util.function.Consumer):65:86 -> a
    23:36:void visit(java.lang.Iterable,java.util.function.Consumer):69:82 -> a
com.android.tools.r8.graph.ClassKind -> com.android.tools.r8.graph.s:
    com.android.tools.r8.graph.ClassKind CLASSPATH -> d
    com.android.tools.r8.graph.ClassKind LIBRARY -> e
    java.util.function.Predicate check -> b
    com.android.tools.r8.graph.ClassKind$Factory factory -> a
    com.android.tools.r8.graph.ClassKind PROGRAM -> c
    1:87:void <clinit>():17:103 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.ClassKind$Factory,java.util.function.Predicate):173:175 -> <init>
    1:1:com.android.tools.r8.graph.DexClass create(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,com.android.tools.r8.synthesis.SyntheticMarker):199:199 -> a
    2:2:boolean isOfKind(com.android.tools.r8.graph.DexClass):223:223 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass lambda$static$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,com.android.tools.r8.synthesis.SyntheticMarker):39:39 -> b
    1:1:com.android.tools.r8.graph.DexClasspathClass lambda$static$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,com.android.tools.r8.synthesis.SyntheticMarker):83:83 -> c
    1:1:com.android.tools.r8.graph.DexLibraryClass lambda$static$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,com.android.tools.r8.synthesis.SyntheticMarker):125:125 -> d
com.android.tools.r8.graph.ClassKind$Factory -> com.android.tools.r8.graph.r:
    com.android.tools.r8.graph.DexClass create(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,com.android.tools.r8.synthesis.SyntheticMarker) -> a
com.android.tools.r8.graph.ClassResolutionResult -> com.android.tools.r8.internal.Ra:
    com.android.tools.r8.graph.DexClass toSingleClassWithProgramOverLibrary() -> D
    boolean hasClassResolutionResult() -> Z
    void forEachClassResolutionResult(java.util.function.Consumer) -> a
com.android.tools.r8.graph.ClassResolutionResult$Builder -> com.android.tools.r8.graph.t:
    com.android.tools.r8.graph.DexLibraryClass libraryClass -> b
    com.android.tools.r8.graph.ProgramOrClasspathClass programOrClasspathClass -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>():23:23 -> <init>
    1:2:com.android.tools.r8.graph.ClassResolutionResult$Builder add(com.android.tools.r8.graph.DexProgramClass):29:30 -> a
    3:4:com.android.tools.r8.graph.ClassResolutionResult$Builder add(com.android.tools.r8.graph.DexClasspathClass):35:36 -> a
    5:6:com.android.tools.r8.graph.ClassResolutionResult$Builder add(com.android.tools.r8.graph.DexLibraryClass):41:42 -> a
    7:8:com.android.tools.r8.graph.ClassResolutionResult$Builder add(com.android.tools.r8.graph.ProgramOrClasspathClass):47:48 -> a
    9:19:com.android.tools.r8.graph.ClassResolutionResult build():53:63 -> a
    20:20:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    20:20:com.android.tools.r8.graph.ClassResolutionResult build():63 -> a
    21:23:com.android.tools.r8.graph.ClassResolutionResult build():63:65 -> a
com.android.tools.r8.graph.ClassResolutionResult$ClasspathAndLibraryClassResolutionResult -> com.android.tools.r8.internal.Oa:
    1:1:void <init>(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexLibraryClass):136:136 -> <init>
    1:1:com.android.tools.r8.graph.DexClass toSingleClassWithProgramOverLibrary():141:141 -> D
com.android.tools.r8.graph.ClassResolutionResult$MultipleClassResolutionResult -> com.android.tools.r8.internal.Pa:
    com.android.tools.r8.graph.DexClass programOrClasspathClass -> b
    com.android.tools.r8.graph.DexLibraryClass libraryClass -> c
    1:3:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexLibraryClass):100:102 -> <init>
    boolean hasClassResolutionResult() -> Z
    1:2:void forEachClassResolutionResult(java.util.function.Consumer):112:113 -> a
com.android.tools.r8.graph.ClassResolutionResult$NoResolutionResult -> com.android.tools.r8.graph.u:
    com.android.tools.r8.graph.ClassResolutionResult$NoResolutionResult NO_RESULT -> b
    1:1:void <clinit>():72:72 -> <clinit>
    1:1:void <init>():70:70 -> <init>
    com.android.tools.r8.graph.DexClass toSingleClassWithProgramOverLibrary() -> D
    boolean hasClassResolutionResult() -> Z
    void forEachClassResolutionResult(java.util.function.Consumer) -> a
    1:1:com.android.tools.r8.graph.ClassResolutionResult noResult():75:75 -> a
com.android.tools.r8.graph.ClassResolutionResult$ProgramAndLibraryClassResolutionResult -> com.android.tools.r8.internal.Qa:
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexLibraryClass):122:122 -> <init>
    1:1:com.android.tools.r8.graph.DexClass toSingleClassWithProgramOverLibrary():127:127 -> D
com.android.tools.r8.graph.ClasspathDefinition -> com.android.tools.r8.internal.mb:
    1:1:com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext):22:22 -> a
com.android.tools.r8.graph.ClasspathField -> com.android.tools.r8.graph.v:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexEncodedField):11:11 -> <init>
    1:2:com.android.tools.r8.graph.DexClasspathClass getHolder():31:32 -> q
    1:2:com.android.tools.r8.graph.DexClass getHolder():7 -> q
    3:3:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> q
    3:3:com.android.tools.r8.graph.DexClasspathClass getHolder():32 -> q
    3:3:com.android.tools.r8.graph.DexClass getHolder():7 -> q
    4:5:com.android.tools.r8.graph.DexClasspathClass getHolder():32:33 -> q
    4:5:com.android.tools.r8.graph.DexClass getHolder():7 -> q
com.android.tools.r8.graph.ClasspathMethod -> com.android.tools.r8.graph.w:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexEncodedMethod):13:13 -> <init>
    1:2:com.android.tools.r8.graph.DexClasspathClass getHolder():43:44 -> L
    3:3:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> L
    3:3:com.android.tools.r8.graph.DexClasspathClass getHolder():44 -> L
    4:5:com.android.tools.r8.graph.DexClasspathClass getHolder():44:45 -> L
    com.android.tools.r8.graph.ClasspathMethod asClasspathMethod() -> N
    1:1:com.android.tools.r8.graph.DexClass getHolder():9:9 -> q
com.android.tools.r8.graph.ClasspathOrLibraryClass -> com.android.tools.r8.internal.nb:
    com.android.tools.r8.graph.DexClass asDexClass() -> e
com.android.tools.r8.graph.ClasspathOrLibraryContext -> com.android.tools.r8.internal.ob:
    com.android.tools.r8.graph.Definition context -> b
    com.android.tools.r8.graph.ProgramDerivedContext programDerivedContext -> c
    1:3:void <init>(com.android.tools.r8.graph.Definition,com.android.tools.r8.graph.ProgramDerivedContext):17:19 -> <init>
    1:1:com.android.tools.r8.graph.ClasspathOrLibraryContext create(com.android.tools.r8.graph.ClasspathDefinition,com.android.tools.r8.graph.ProgramDerivedContext):24:24 -> a
    2:2:com.android.tools.r8.graph.ClasspathOrLibraryContext create(com.android.tools.r8.graph.LibraryDefinition,com.android.tools.r8.graph.ProgramDerivedContext):29:29 -> a
    1:1:com.android.tools.r8.graph.Definition getContext():34:34 -> getContext
com.android.tools.r8.graph.ClasspathOrLibraryDefinition -> com.android.tools.r8.internal.pb:
    com.android.tools.r8.graph.ClasspathOrLibraryDefinition asClasspathOrLibraryDefinition() -> h
com.android.tools.r8.graph.Code -> com.android.tools.r8.graph.x:
    1:1:void <init>():19:19 -> <init>
    boolean verifyNoInputReaders() -> A0
    1:1:com.android.tools.r8.graph.DexCode asDexCode():148:148 -> C
    com.android.tools.r8.graph.ThrowExceptionCode asThrowExceptionCode() -> S
    1:1:com.android.tools.r8.graph.CfCode asCfCode():136:136 -> X
    com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin) -> a
    com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction) -> a
    void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry) -> a
    void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry) -> a
    java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper) -> a
    1:1:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):32:32 -> a
    2:2:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":36,"2":37,"3":38}}
    36:36:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):32:32 -> a
    37:37:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):32:32 -> a
    38:38:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):32:32 -> a
    35:35:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):33:33 -> a
    39:39:com.android.tools.r8.graph.GraphLens getCodeLens(com.android.tools.r8.graph.AppView):37:37 -> a
    40:40:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):59:59 -> a
    41:41:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):157:157 -> a
    42:42:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):167:167 -> a
    1:1:boolean estimatedSizeForInliningAtMost(int):130:130 -> h
    1:1:com.android.tools.r8.graph.CfWritableCode asCfWritableCode():140:140 -> o0
    1:1:com.android.tools.r8.graph.DexWritableCode asDexWritableCode():152:152 -> p0
    1:1:com.android.tools.r8.graph.LazyCfCode asLazyCfCode():144:144 -> q0
    int estimatedDexCodeSizeUpperBoundInBytes() -> r0
    int estimatedSizeForInlining() -> s0
    boolean isCfCode() -> t0
    boolean isCfWritableCode() -> u0
    boolean isDexCode() -> v0
    boolean isDexWritableCode() -> w0
    boolean isHorizontalClassMergerCode() -> x0
    boolean isIncompleteHorizontalClassMergerCode() -> y0
    boolean isSharedCodeObject() -> z0
com.android.tools.r8.graph.DebugLocalInfo -> com.android.tools.r8.internal.Ce:
    com.android.tools.r8.graph.DexString name -> b
    com.android.tools.r8.graph.DexString signature -> d
    com.android.tools.r8.graph.DexType type -> c
    int $r8$clinit -> e
    1:4:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):36:39 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexString lambda$specify$0(com.android.tools.r8.graph.DebugLocalInfo):31:31 -> a
    2:4:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):31:33 -> a
    5:9:boolean localsInfoMapsEqual(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):60:64 -> a
    10:14:java.lang.String toString(com.android.tools.r8.graph.DebugLocalInfo$PrintLevel):132:136 -> a
    15:15:java.lang.String toString(com.android.tools.r8.graph.DebugLocalInfo$PrintLevel):130:130 -> a
    16:16:java.lang.String toString(com.android.tools.r8.graph.DebugLocalInfo$PrintLevel):128:128 -> a
    17:17:java.lang.String toString(com.android.tools.r8.graph.DebugLocalInfo$PrintLevel):126:126 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$specify$1(com.android.tools.r8.graph.DebugLocalInfo):32:32 -> b
    1:1:com.android.tools.r8.graph.DexString lambda$specify$2(com.android.tools.r8.graph.DebugLocalInfo):33:33 -> c
    1:5:boolean equals(java.lang.Object):104:108 -> equals
    1:3:int hashCode():113:115 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():49:49 -> n
    1:1:java.lang.String toString():122:122 -> toString
com.android.tools.r8.graph.DefaultInstanceInitializerCode -> com.android.tools.r8.graph.z:
    boolean $assertionsDisabled -> e
    int $r8$clinit -> f
    com.android.tools.r8.graph.DefaultInstanceInitializerCode INSTANCE -> d
    1:4:void <clinit>():55:58 -> <clinit>
    1:1:void <init>():61:61 -> <init>
    1:1:com.android.tools.r8.graph.DefaultInstanceInitializerCode get():64:64 -> B0
    com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> O
    com.android.tools.r8.graph.Code asCode() -> R
    int getOutgoingRegisterSize() -> V
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean) -> a
    void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep) -> a
    1:2:boolean canonicalizeCodeIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):68:69 -> a
    3:4:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):81:82 -> a
    5:5:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    5:5:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):82 -> a
    6:7:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):82:83 -> a
    8:12:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):330:334 -> a
    8:12:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):83 -> a
    13:18:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):331:336 -> a
    13:18:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):83 -> a
    19:19:void uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):83:83 -> a
    20:20:boolean lambda$hasDefaultInstanceInitializerCode$0(com.android.tools.r8.cf.code.CfInstruction):111:111 -> a
    21:21:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    21:21:boolean lambda$hasDefaultInstanceInitializerCode$0(com.android.tools.r8.cf.code.CfInstruction):111 -> a
    22:22:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    22:22:boolean lambda$hasDefaultInstanceInitializerCode$0(com.android.tools.r8.cf.code.CfInstruction):111 -> a
    23:23:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):133:133 -> a
    24:24:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):139:139 -> a
    25:25:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    25:25:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):139 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    26:26:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):140:140 -> a
    27:27:void com.android.tools.r8.graph.DefaultInstanceInitializerCode$DefaultInstanceInitializerSourceCode.<init>(com.android.tools.r8.graph.DexMethod):389:389 -> a
    27:27:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):140 -> a
    28:28:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):142:142 -> a
    29:29:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):156:156 -> a
    30:30:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    30:30:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):156 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    31:35:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):157:161 -> a
    36:36:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):175:175 -> a
    37:37:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.ProgramMethod.getHolder():22:22 -> a
    37:37:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229 -> a
    37:37:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):175 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    38:38:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229:229 -> a
    38:38:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):175 -> a
    39:39:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    39:39:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):175 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:40:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    40:40:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    40:40:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):175 -> a
    41:41:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    41:41:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    41:41:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    41:41:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):175 -> a
    42:42:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):225:225 -> a
    42:42:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):251 -> a
    43:43:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):310:310 -> a
    43:43:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):301 -> a
    44:44:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229:229 -> a
    44:44:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):310 -> a
    44:44:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):301 -> a
    45:45:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):310:310 -> a
    45:45:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):301 -> a
    46:46:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):310:310 -> a
    46:46:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):306 -> a
    47:47:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229:229 -> a
    47:47:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):310 -> a
    47:47:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):306 -> a
    48:48:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):310:310 -> a
    48:48:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):306 -> a
    49:52:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):347:350 -> a
    53:61:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):348:356 -> a
    62:62:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):366:366 -> a
    63:63:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.ProgramMethod.getHolder():22:22 -> a
    63:63:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229 -> a
    63:63:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):366 -> a
    64:64:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229:229 -> a
    64:64:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):366 -> a
    65:67:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):366:368 -> a
    68:68:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):383:383 -> a
    int codeSizeInBytes() -> a0
    1:30:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):88:117 -> b
    31:31:boolean com.android.tools.r8.cf.code.CfInvoke.isInvokeConstructor(com.android.tools.r8.graph.DexItemFactory):141:141 -> b
    31:31:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):119 -> b
    32:32:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):120:120 -> b
    33:33:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.ProgramMethod.getHolder():22:22 -> b
    33:33:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229 -> b
    33:33:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):120 -> b
    34:34:com.android.tools.r8.graph.DexMethod getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229:229 -> b
    34:34:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):120 -> b
    35:35:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):123:123 -> b
    36:36:boolean com.android.tools.r8.cf.code.CfInstruction.isReturnVoid():0:0 -> b
    36:36:boolean hasDefaultInstanceInitializerCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):123 -> b
    37:37:boolean lambda$hasDefaultInstanceInitializerCode$1(com.android.tools.r8.cf.code.CfInstruction):112:112 -> b
    38:38:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> b
    38:38:boolean lambda$hasDefaultInstanceInitializerCode$1(com.android.tools.r8.cf.code.CfInstruction):112 -> b
    39:39:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):225:225 -> b
    void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
    1:3:int getMaxLocals(com.android.tools.r8.graph.ProgramMethod):233:235 -> d
    boolean computeEquals(java.lang.Object) -> h
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():205:205 -> m
    1:1:int computeHashCode():185:185 -> n0
    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():256:256 -> o
    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> o0
    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> p0
    int estimatedDexCodeSizeUpperBoundInBytes() -> r0
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():215:215 -> s
    1:1:java.lang.String toString():378:378 -> toString
    com.android.tools.r8.graph.DexString getHighestSortingString() -> u
    com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> w
com.android.tools.r8.graph.DefaultInstanceInitializerCode$DefaultInstanceInitializerSourceCode -> com.android.tools.r8.graph.y:
    1:6:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):394:399 -> <init>
    7:7:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):393:393 -> <init>
    1:1:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):406:406 -> d
    2:2:com.android.tools.r8.ir.code.InvokeDirect$Builder com.android.tools.r8.ir.code.InvokeDirect.builder():49:49 -> d
    2:2:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):406 -> d
    3:3:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):409:409 -> d
    4:4:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.ir.conversion.IRBuilder.dexItemFactory():483:483 -> d
    4:4:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):409 -> d
    5:5:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):408:408 -> d
    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.ProgramMethod.getHolder():22:22 -> d
    6:6:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DefaultInstanceInitializerCode.getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):408 -> d
    7:7:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DefaultInstanceInitializerCode.getParentConstructor(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexItemFactory):229:229 -> d
    7:7:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):408 -> d
    8:11:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):407:410 -> d
    12:12:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> d
    12:12:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):410 -> d
    13:14:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):410:411 -> d
    15:15:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):405:405 -> d
    1:1:java.util.List getInstructionBuilders():403:403 -> f
com.android.tools.r8.graph.Definition -> com.android.tools.r8.internal.df:
    com.android.tools.r8.graph.ClasspathOrLibraryClass asClasspathOrLibraryClass() -> A
    com.android.tools.r8.graph.ProgramMethod asProgramMethod() -> I
    boolean isMethod() -> J
    boolean isField() -> K
    boolean isProgramField() -> M
    com.android.tools.r8.graph.ClasspathMethod asClasspathMethod() -> N
    boolean isProgramMethod() -> P
    com.android.tools.r8.graph.ProgramMember asProgramMember() -> Q
    com.android.tools.r8.graph.DexType getContextType() -> U
    com.android.tools.r8.graph.ProgramField asProgramField() -> Y
    com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext) -> a
    com.android.tools.r8.graph.DexClass getContextClass() -> a
    com.android.tools.r8.graph.LibraryMethod asLibraryMethod() -> b0
    com.android.tools.r8.graph.DexClassAndMethod asMethod() -> c
    boolean isProgramMember() -> c0
    com.android.tools.r8.graph.DexClassAndField asField() -> d
    com.android.tools.r8.graph.ProgramDefinition asProgramDefinition() -> f
    com.android.tools.r8.graph.DexProgramClass asProgramClass() -> f0
    boolean isProgramDefinition() -> g
    boolean isProgramClass() -> g0
    com.android.tools.r8.graph.ClasspathOrLibraryDefinition asClasspathOrLibraryDefinition() -> h
    com.android.tools.r8.graph.DexDefinition getDefinition() -> i
    com.android.tools.r8.graph.DexClassAndMember asMember() -> j0
    com.android.tools.r8.graph.LibraryField asLibraryField() -> k
    1:1:boolean isMember():64:64 -> t
com.android.tools.r8.graph.DexAnnotation -> com.android.tools.r8.graph.A:
    com.android.tools.r8.graph.DexEncodedAnnotation annotation -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexAnnotation[] EMPTY_ARRAY -> d
    int visibility -> b
    1:26:void <clinit>():27:52 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.graph.DexEncodedAnnotation):63:65 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):60:60 -> a
    2:2:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):110:110 -> a
    3:9:boolean retainCompileTimeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):114:120 -> a
    10:10:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    10:10:boolean retainCompileTimeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):120 -> a
    11:14:boolean retainCompileTimeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):123:126 -> a
    15:15:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):268:268 -> a
    15:15:boolean retainCompileTimeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):126 -> a
    16:16:com.android.tools.r8.graph.DexAnnotation createEnclosingClassAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):134:134 -> a
    17:21:com.android.tools.r8.graph.DexType getEnclosingClassFromAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):140:144 -> a
    22:22:com.android.tools.r8.graph.DexAnnotation createEnclosingMethodAnnotation(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):149:149 -> a
    23:27:com.android.tools.r8.graph.DexAnnotation createMemberClassesAnnotation(java.util.List,com.android.tools.r8.graph.DexItemFactory):216:220 -> a
    28:36:com.android.tools.r8.graph.DexAnnotation createMethodParametersAnnotation(com.android.tools.r8.graph.DexValue[],com.android.tools.r8.graph.DexValue[],com.android.tools.r8.graph.DexItemFactory):249:257 -> a
    37:41:com.android.tools.r8.graph.DexAnnotation createAnnotationDefaultAnnotation(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):264:264 -> a
    42:42:com.android.tools.r8.graph.DexAnnotation createSignatureAnnotation(java.lang.String,com.android.tools.r8.graph.DexItemFactory):272:272 -> a
    43:70:com.android.tools.r8.graph.DexValue compressSignature(java.lang.String,com.android.tools.r8.graph.DexItemFactory):353:380 -> a
    43:70:com.android.tools.r8.graph.DexAnnotation createSignatureAnnotation(java.lang.String,com.android.tools.r8.graph.DexItemFactory):273 -> a
    71:71:com.android.tools.r8.graph.DexValue toDexValue(java.lang.String,com.android.tools.r8.graph.DexItemFactory):388:388 -> a
    71:71:com.android.tools.r8.graph.DexValue compressSignature(java.lang.String,com.android.tools.r8.graph.DexItemFactory):380 -> a
    71:71:com.android.tools.r8.graph.DexAnnotation createSignatureAnnotation(java.lang.String,com.android.tools.r8.graph.DexItemFactory):273 -> a
    72:76:com.android.tools.r8.graph.DexValue compressSignature(java.lang.String,com.android.tools.r8.graph.DexItemFactory):380:384 -> a
    72:76:com.android.tools.r8.graph.DexAnnotation createSignatureAnnotation(java.lang.String,com.android.tools.r8.graph.DexItemFactory):273 -> a
    77:77:com.android.tools.r8.graph.DexAnnotation createSignatureAnnotation(java.lang.String,com.android.tools.r8.graph.DexItemFactory):272:272 -> a
    78:83:java.lang.String getSignature(com.android.tools.r8.graph.DexAnnotation):277:282 -> a
    84:84:com.android.tools.r8.graph.DexAnnotation createThrowsAnnotation(com.android.tools.r8.graph.DexValue[],com.android.tools.r8.graph.DexItemFactory):292:292 -> a
    85:87:com.android.tools.r8.graph.DexAnnotation createSystemValueAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexValue):298:300 -> a
    88:92:com.android.tools.r8.graph.DexValue getSystemValueAnnotationValue(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotation):305:309 -> a
    93:114:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSynthesizedClassAnnotationInfo(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):410:431 -> a
    115:116:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.fromDescriptor(java.lang.String):118:119 -> a
    115:116:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSynthesizedClassAnnotationInfo(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):430 -> a
    117:124:com.android.tools.r8.graph.DexAnnotation rewrite(java.util.function.Function):436:443 -> a
    1:1:com.android.tools.r8.graph.DexEncodedAnnotation lambda$specify$0(com.android.tools.r8.graph.DexAnnotation):60:60 -> b
    2:6:com.android.tools.r8.graph.DexMethod getEnclosingMethodFromAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):155:159 -> b
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexAnnotation):60:60 -> c
    2:12:com.android.tools.r8.utils.Pair getInnerClassFromAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):198:208 -> c
    1:8:java.util.List getMemberClassesFromAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):226:233 -> d
    1:1:boolean isEnclosingClassAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):164:164 -> e
    1:3:boolean equals(java.lang.Object):92:94 -> equals
    1:1:boolean isEnclosingMethodAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):169:169 -> f
    1:1:boolean isInnerClassAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):173:173 -> g
    1:1:boolean isMemberClassesAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):178:178 -> h
    1:1:int hashCode():84:84 -> hashCode
    1:1:boolean isSignatureAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):319:319 -> i
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():75:75 -> n
    1:1:com.android.tools.r8.graph.DexType getAnnotationType():79:79 -> n0
    1:1:java.lang.String toString():101:101 -> toString
com.android.tools.r8.graph.DexAnnotation$AnnotatedKind -> com.android.tools.r8.internal.fg:
    com.android.tools.r8.graph.DexAnnotation$AnnotatedKind FIELD -> b
    com.android.tools.r8.graph.DexAnnotation$AnnotatedKind METHOD -> c
    com.android.tools.r8.graph.DexAnnotation$AnnotatedKind TYPE -> d
    com.android.tools.r8.graph.DexAnnotation$AnnotatedKind PARAMETER -> e
    1:4:void <clinit>():30:33 -> <clinit>
    1:1:void <init>(java.lang.String,int):29:29 -> <init>
    1:1:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> a
    2:2:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind from(com.android.tools.r8.graph.DexReference):44:44 -> a
    3:3:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind lambda$from$0(com.android.tools.r8.graph.DexType):44:44 -> a
    4:4:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind lambda$from$1(com.android.tools.r8.graph.DexField):44:44 -> a
    5:5:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind lambda$from$2(com.android.tools.r8.graph.DexMethod):44:44 -> a
com.android.tools.r8.graph.DexAnnotationDirectory -> com.android.tools.r8.graph.B:
    java.util.List fieldAnnotations -> e
    com.android.tools.r8.graph.DexProgramClass clazz -> b
    java.util.List parameterAnnotations -> d
    java.util.List methodAnnotations -> c
    boolean classHasOnlyInternalizableAnnotations -> f
    1:20:void <init>(com.android.tools.r8.graph.DexProgramClass):20:39 -> <init>
    1:5:void lambda$new$0(com.android.tools.r8.graph.DexEncodedMethod):30:34 -> a
    6:6:int lambda$sortMethodAnnotations$1(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):49:49 -> a
    7:7:int com.android.tools.r8.graph.DexMethod.acceptCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> a
    7:7:int lambda$sortMethodAnnotations$1(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):49 -> a
    8:8:int lambda$sortFieldAnnotations$3(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):60:60 -> a
    9:9:int com.android.tools.r8.graph.DexField.acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> a
    9:9:int lambda$sortFieldAnnotations$3(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):60 -> a
    10:11:java.util.List sortFieldAnnotations(com.android.tools.r8.utils.structural.CompareToVisitor):60:61 -> a
    12:12:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):96:96 -> a
    1:2:java.util.List sortMethodAnnotations(com.android.tools.r8.utils.structural.CompareToVisitor):49:50 -> b
    3:3:int lambda$sortParameterAnnotations$2(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):55:55 -> b
    4:4:int com.android.tools.r8.graph.DexMethod.acceptCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> b
    4:4:int lambda$sortParameterAnnotations$2(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):55 -> b
    1:3:java.util.List sortParameterAnnotations(com.android.tools.r8.utils.structural.CompareToVisitor):54:56 -> c
    1:11:boolean equals(java.lang.Object):73:83 -> equals
    1:4:int hashCode():88:91 -> hashCode
    1:1:com.android.tools.r8.graph.DexAnnotationSet getClazzAnnotations():45:45 -> n0
com.android.tools.r8.graph.DexAnnotationElement -> com.android.tools.r8.graph.C:
    com.android.tools.r8.graph.DexValue value -> c
    com.android.tools.r8.graph.DexString name -> b
    com.android.tools.r8.graph.DexAnnotationElement[] EMPTY_ARRAY -> d
    boolean $assertionsDisabled -> e
    1:2:void <clinit>():12:13 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexValue):22:24 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexString lambda$specify$0(com.android.tools.r8.graph.DexAnnotationElement):19:19 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):19:19 -> a
    3:3:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):71:71 -> a
    1:1:com.android.tools.r8.graph.DexValue lambda$specify$1(com.android.tools.r8.graph.DexAnnotationElement):19:19 -> b
    1:3:boolean equals(java.lang.Object):51:53 -> equals
    1:1:int hashCode():43:43 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():34:34 -> n
    1:1:com.android.tools.r8.graph.DexValue getValue():38:38 -> n0
    1:1:java.lang.String toString():60:60 -> toString
com.android.tools.r8.graph.DexAnnotationSet -> com.android.tools.r8.graph.D:
    com.android.tools.r8.graph.DexAnnotation[] annotations -> d
    int sorted -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.graph.DexAnnotationSet THE_EMPTY_ANNOTATIONS_SET -> g
    com.android.tools.r8.graph.DexAnnotationSet[] EMPTY_ARRAY -> f
    1:7:void <clinit>():27:33 -> <clinit>
    1:1:void <init>():42:42 -> <init>
    2:9:void <init>():36:43 -> <init>
    10:10:void <init>(com.android.tools.r8.graph.DexAnnotation[]):46:46 -> <init>
    11:23:void <init>(com.android.tools.r8.graph.DexAnnotation[]):36:48 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexAnnotation[] lambda$specify$0(com.android.tools.r8.graph.DexAnnotationSet):39:39 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):39:39 -> a
    3:3:com.android.tools.r8.graph.DexAnnotationSet create(com.android.tools.r8.graph.DexAnnotation[]):52:52 -> a
    4:4:boolean com.android.tools.r8.utils.ArrayUtils.isEmpty(java.lang.Object[]):51:51 -> a
    4:4:com.android.tools.r8.graph.DexAnnotationSet create(com.android.tools.r8.graph.DexAnnotation[]):52 -> a
    5:5:com.android.tools.r8.graph.DexAnnotationSet create(com.android.tools.r8.graph.DexAnnotation[]):52:52 -> a
    6:7:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):127:128 -> a
    8:9:void sort(com.android.tools.r8.naming.NamingLens):136:137 -> a
    10:10:int sortedHashCode():175:175 -> a
    10:10:void sort(com.android.tools.r8.naming.NamingLens):137 -> a
    11:20:void sort(com.android.tools.r8.naming.NamingLens):137:146 -> a
    21:21:int lambda$sort$1(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):142:142 -> a
    22:23:com.android.tools.r8.graph.DexAnnotation getFirstMatching(com.android.tools.r8.graph.DexType):150:151 -> a
    24:24:com.android.tools.r8.graph.DexAnnotation lambda$removeIf$2(java.util.function.Predicate,com.android.tools.r8.graph.DexAnnotation):204:204 -> a
    25:25:com.android.tools.r8.graph.DexAnnotationSet removeIf(java.util.function.Predicate):204:204 -> a
    26:30:com.android.tools.r8.graph.DexAnnotationSet rewrite(java.util.function.Function):208:212 -> a
    31:54:com.android.tools.r8.graph.DexAnnotationSet methodParametersWithFakeThisArguments(com.android.tools.r8.graph.DexItemFactory):217:240 -> a
    55:65:com.android.tools.r8.graph.DexAnnotationSet methodParametersWithFakeThisArguments(com.android.tools.r8.graph.DexItemFactory):239:249 -> a
    1:8:com.android.tools.r8.graph.DexAnnotationSet getWithout(com.android.tools.r8.graph.DexType):160:167 -> b
    1:2:void forEach(java.util.function.Consumer):92:93 -> forEach
    1:3:boolean computeEquals(java.lang.Object):112:114 -> h
    1:1:boolean isEmpty():132:132 -> isEmpty
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():70:70 -> n
    1:1:int computeHashCode():107:107 -> n0
    1:1:com.android.tools.r8.graph.DexAnnotationSet empty():88:88 -> o0
    1:1:com.android.tools.r8.graph.DexAnnotation get(int):56:56 -> p0
    1:1:com.android.tools.r8.graph.DexAnnotation getFirst():60 -> p0
    1:1:int size():102:102 -> size
    1:1:java.util.stream.Stream stream():98:98 -> stream
    1:1:java.lang.String toString():254:254 -> toString
com.android.tools.r8.graph.DexApplication -> com.android.tools.r8.graph.F:
    com.android.tools.r8.naming.ClassNameMapper proguardMap -> b
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> e
    com.android.tools.r8.utils.Timing timing -> c
    com.android.tools.r8.graph.DexApplicationReadFlags flags -> f
    com.android.tools.r8.graph.DexString highestSortingString -> g
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> h
    com.android.tools.r8.com.google.common.collect.ImmutableList dataResourceProviders -> a
    1:1:void <clinit>():26:26 -> <clinit>
    1:8:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):48:55 -> <init>
    void forEachLibraryType(java.util.function.Consumer) -> a
    1:1:com.android.tools.r8.graph.DexApplicationReadFlags access$000(com.android.tools.r8.graph.DexApplication):26:26 -> a
    2:2:com.android.tools.r8.graph.DexItemFactory dexItemFactory():62:62 -> a
    3:3:com.android.tools.r8.graph.DexDefinitionSupplier getDefinitionsSupplier(com.android.tools.r8.synthesis.SyntheticDefinitionsProvider):68:68 -> a
    4:4:java.util.List classesWithDeterministicOrder(java.util.List):141:141 -> a
    5:6:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder builder(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):268:269 -> a
    7:7:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder builder(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):274:274 -> a
    7:7:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder builder(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):268 -> a
    8:8:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder builder(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):274:274 -> a
    void forEachProgramType(java.util.function.Consumer) -> b
    1:1:com.android.tools.r8.graph.DirectMappedDexApplication asDirect():278:278 -> b
    com.android.tools.r8.graph.DexApplication$Builder builder() -> c
    com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType) -> c
    1:3:java.util.Collection classes():125:127 -> d
    com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType) -> e
    1:1:java.util.Collection classesWithDeterministicOrder():131:131 -> e
    1:1:com.android.tools.r8.graph.DexApplicationReadFlags getFlags():146:146 -> f
    1:1:com.android.tools.r8.naming.ClassNameMapper getProguardMap():158:158 -> g
    java.util.Collection programClasses() -> h
    com.android.tools.r8.graph.DirectMappedDexApplication toDirect() -> i
com.android.tools.r8.graph.DexApplication$1 -> com.android.tools.r8.graph.E:
    com.android.tools.r8.graph.DexApplication val$self -> b
    com.android.tools.r8.synthesis.SyntheticDefinitionsProvider val$syntheticDefinitionsProvider -> a
    1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.synthesis.SyntheticDefinitionsProvider,com.android.tools.r8.graph.DexApplication):68:68 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():85:85 -> a
    1:1:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):72:72 -> d
    1:3:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):78:80 -> e
com.android.tools.r8.graph.DexApplication$Builder -> com.android.tools.r8.graph.F$a:
    java.util.List dataResourceProviders -> b
    java.util.List programClasses -> a
    com.android.tools.r8.utils.Timing timing -> e
    com.android.tools.r8.graph.DexApplicationReadFlags flags -> f
    com.android.tools.r8.naming.ClassNameMapper proguardMap -> d
    com.android.tools.r8.utils.InternalOptions options -> c
    com.android.tools.r8.graph.DexString highestSortingString -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():161:161 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):176:176 -> <init>
    2:19:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):163:180 -> <init>
    20:20:void <init>(com.android.tools.r8.graph.DexApplication):185:185 -> <init>
    21:52:void <init>(com.android.tools.r8.graph.DexApplication):163:194 -> <init>
    com.android.tools.r8.graph.DirectMappedDexApplication$Builder asDirect() -> a
    1:1:void setFlags(com.android.tools.r8.graph.DexApplicationReadFlags):206:206 -> a
    2:4:com.android.tools.r8.graph.DexApplication$Builder setProguardMap(com.android.tools.r8.naming.ClassNameMapper):210:212 -> a
    5:6:com.android.tools.r8.graph.DexApplication$Builder removeProgramClasses(java.util.function.Predicate):216:217 -> a
    7:10:com.android.tools.r8.graph.DexApplication$Builder replaceProgramClasses(java.util.Collection):221:224 -> a
    11:11:com.android.tools.r8.graph.DexApplication$Builder addDataResourceProvider(com.android.tools.r8.DataResourceProvider):228:228 -> a
    12:13:com.android.tools.r8.graph.DexApplication$Builder setHighestSortingString(com.android.tools.r8.graph.DexString):233:234 -> a
    14:15:com.android.tools.r8.graph.DexApplication$Builder addProgramClass(com.android.tools.r8.graph.DexProgramClass):238:239 -> a
    void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass) -> b
    com.android.tools.r8.graph.DexApplication build() -> b
    1:1:java.util.List getProgramClasses():257:257 -> c
    com.android.tools.r8.graph.DexApplication$Builder self() -> d
com.android.tools.r8.graph.DexApplication$ReorderBox -> com.android.tools.r8.graph.G:
    java.util.Collection classes -> a
    1:2:void <init>(java.util.Collection):100:101 -> <init>
    1:1:java.util.Collection getClasses():114:114 -> a
    1:3:boolean reorderClasses():106:108 -> b
com.android.tools.r8.graph.DexApplicationReadFlags -> com.android.tools.r8.internal.gg:
    boolean hasReadProgramClassFromDex -> a
    boolean hasReadProgramClassFromCf -> b
    boolean hasReadRecordReferenceFromProgramClass -> c
    1:4:void <init>(boolean,boolean,boolean):17:20 -> <init>
    1:1:boolean hasReadProgramClassFromCf():24:24 -> a
    1:1:boolean hasReadProgramClassFromDex():28:28 -> b
    1:1:boolean hasReadRecordReferenceFromProgramClass():32:32 -> c
com.android.tools.r8.graph.DexByteCodeWriter -> com.android.tools.r8.internal.ug:
    com.android.tools.r8.graph.DexApplication application -> a
    com.android.tools.r8.utils.InternalOptions options -> b
    1:3:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.InternalOptions):27:29 -> <init>
    java.lang.String getFileEnding() -> a
    java.io.PrintStream lambda$write$1(java.io.PrintStream,com.android.tools.r8.graph.DexClass) -> a
    void lambda$write$2(java.io.PrintStream) -> a
    1:1:com.android.tools.r8.graph.DexByteCodeWriter$OutputStreamProvider oneFilePerClass(java.nio.file.Path):40:40 -> a
    2:4:java.io.PrintStream lambda$oneFilePerClass$0(java.nio.file.Path,com.android.tools.r8.graph.DexClass):41:41 -> a
    6:8:java.io.PrintStream lambda$oneFilePerClass$0(java.nio.file.Path,com.android.tools.r8.graph.DexClass):43:43 -> a
    9:11:void com.android.tools.r8.graph.DexByteCodeWriter.ensureParentExists(java.nio.file.Path):33:35 -> a
    9:11:java.io.PrintStream lambda$oneFilePerClass$0(java.nio.file.Path,com.android.tools.r8.graph.DexClass):45 -> a
    12:12:java.io.PrintStream lambda$oneFilePerClass$0(java.nio.file.Path,com.android.tools.r8.graph.DexClass):46:46 -> a
    13:14:boolean anyMethodMatches(com.android.tools.r8.graph.DexClass):86:87 -> a
    15:22:void writeClass(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):91:98 -> a
    23:23:void lambda$writeClass$3(java.io.PrintStream,com.android.tools.r8.graph.DexEncodedField):93:93 -> a
    24:24:void lambda$writeClass$4(java.io.PrintStream,com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    void writeClassFooter(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream) -> b
    void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream) -> b
    void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream) -> b
    1:2:void write(java.nio.file.Path):51:52 -> b
    3:10:void com.android.tools.r8.graph.DexByteCodeWriter.write(com.android.tools.r8.graph.DexByteCodeWriter$OutputStreamProvider,java.util.function.Consumer):72:79 -> b
    3:10:void write(java.nio.file.Path):52 -> b
    11:13:void com.android.tools.r8.graph.DexByteCodeWriter.ensureParentExists(java.nio.file.Path):33:35 -> b
    11:13:void write(java.nio.file.Path):54 -> b
    14:17:void write(java.nio.file.Path):55:55 -> b
    19:19:void write(java.nio.file.Path):57:57 -> b
    20:21:void write(java.io.PrintStream):62:63 -> b
    22:22:void write(java.io.PrintStream):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100}}
    98:98:void write(java.io.PrintStream):63:63 -> b
    99:99:void write(java.io.PrintStream):63:63 -> b
    100:100:void write(java.io.PrintStream):63:63 -> b
    85:89:void write(java.io.PrintStream):63:67 -> b
    90:97:void com.android.tools.r8.graph.DexByteCodeWriter.write(com.android.tools.r8.graph.DexByteCodeWriter$OutputStreamProvider,java.util.function.Consumer):72:79 -> b
    90:97:void write(java.io.PrintStream):67 -> b
    void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream) -> c
    void writeFieldsFooter(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream) -> c
    void writeFieldsHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream) -> d
com.android.tools.r8.graph.DexByteCodeWriter$OutputStreamProvider -> com.android.tools.r8.internal.tg:
    java.io.PrintStream get(com.android.tools.r8.graph.DexClass) -> a
com.android.tools.r8.graph.DexCallSite -> com.android.tools.r8.graph.I:
    com.android.tools.r8.graph.DexString methodName -> e
    com.android.tools.r8.graph.DexMethod method -> j
    int instructionOffset -> k
    com.android.tools.r8.graph.DexProto methodProto -> f
    com.android.tools.r8.graph.DexEncodedArray encodedArray -> i
    boolean $assertionsDisabled -> l
    java.util.List bootstrapArgs -> h
    com.android.tools.r8.graph.DexMethodHandle bootstrapMethod -> g
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,java.util.List):62:62 -> <init>
    2:36:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,java.util.List):37:71 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:11:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):45:55 -> a
    12:12:com.android.tools.r8.graph.DexMethod lambda$specify$0(com.android.tools.r8.graph.DexCallSite):49:49 -> a
    13:18:void setContext(com.android.tools.r8.graph.DexMethod,int):124:129 -> a
    19:19:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):176:176 -> a
    20:20:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):181:181 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCallSite):50:50 -> b
    1:1:com.android.tools.r8.graph.DexString lambda$specify$2(com.android.tools.r8.graph.DexCallSite):52:52 -> c
    1:1:com.android.tools.r8.graph.DexProto lambda$specify$3(com.android.tools.r8.graph.DexCallSite):53:53 -> d
    1:1:com.android.tools.r8.graph.DexMethodHandle lambda$specify$4(com.android.tools.r8.graph.DexCallSite):54:54 -> e
    1:1:java.util.Collection lambda$specify$5(com.android.tools.r8.graph.DexCallSite):55:55 -> f
    boolean computeEquals(java.lang.Object) -> h
    1:1:java.lang.String toSmaliString():187:187 -> l0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():120:120 -> n
    1:1:int computeHashCode():137:137 -> n0
    1:14:com.android.tools.r8.graph.DexEncodedArray getEncodedArray():297:310 -> o0
    1:1:java.lang.String getHash():191:191 -> p0
    1:11:java.lang.String toString():150:160 -> toString
com.android.tools.r8.graph.DexCallSite$HashBuilder -> com.android.tools.r8.graph.H:
    java.io.ByteArrayOutputStream bytes -> a
    com.android.tools.r8.graph.DexCallSite this$0 -> c
    java.io.ObjectOutputStream out -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():194:194 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexCallSite):194:194 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexCallSite$1):194:194 -> <init>
    1:2:void write(com.android.tools.r8.graph.DexString):199:200 -> a
    3:4:void write(com.android.tools.r8.graph.DexProto):217:218 -> a
    5:5:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    5:5:void write(com.android.tools.r8.graph.DexProto):218 -> a
    6:8:void write(com.android.tools.r8.graph.DexProto):219:221 -> a
    9:9:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    9:9:void write(com.android.tools.r8.graph.DexProto):222 -> a
    10:39:void write(java.util.List):239:268 -> a
    40:40:void write(java.util.List):265:265 -> a
    41:41:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    41:41:void write(java.util.List):265 -> a
    42:42:void write(java.util.List):262:262 -> a
    43:43:void write(java.util.List):256:256 -> a
    44:44:void write(com.android.tools.r8.graph.DexMethodHandle):208:208 -> a
    44:44:void write(java.util.List):256 -> a
    45:45:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    45:45:void write(com.android.tools.r8.graph.DexMethodHandle):209 -> a
    45:45:void write(java.util.List):256 -> a
    46:46:void write(com.android.tools.r8.graph.DexMethodHandle):210:210 -> a
    46:46:void write(java.util.List):256 -> a
    47:47:void write(com.android.tools.r8.graph.DexField):233:233 -> a
    47:47:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    47:47:void write(java.util.List):256 -> a
    48:48:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    48:48:void write(com.android.tools.r8.graph.DexField):233 -> a
    48:48:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    48:48:void write(java.util.List):256 -> a
    49:49:void write(com.android.tools.r8.graph.DexField):234:234 -> a
    49:49:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    49:49:void write(java.util.List):256 -> a
    50:50:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    50:50:void write(com.android.tools.r8.graph.DexField):234 -> a
    50:50:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    50:50:void write(java.util.List):256 -> a
    51:51:void write(com.android.tools.r8.graph.DexField):235:235 -> a
    51:51:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    51:51:void write(java.util.List):256 -> a
    52:52:void write(com.android.tools.r8.graph.DexMethodHandle):212:212 -> a
    52:52:void write(java.util.List):256 -> a
    53:53:void write(com.android.tools.r8.graph.DexMethod):227:227 -> a
    53:53:void write(com.android.tools.r8.graph.DexMethodHandle):212 -> a
    53:53:void write(java.util.List):256 -> a
    54:54:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    54:54:void write(com.android.tools.r8.graph.DexMethod):227 -> a
    54:54:void write(com.android.tools.r8.graph.DexMethodHandle):212 -> a
    54:54:void write(java.util.List):256 -> a
    55:56:void write(com.android.tools.r8.graph.DexMethod):228:229 -> a
    55:56:void write(com.android.tools.r8.graph.DexMethodHandle):212 -> a
    55:56:void write(java.util.List):256 -> a
    57:57:void write(java.util.List):259:259 -> a
    58:67:void write(java.util.List):244:253 -> a
    68:86:void write(java.util.List):250:268 -> a
    87:95:java.lang.String build():275:283 -> a
    96:96:void write(com.android.tools.r8.graph.DexMethodHandle):208:208 -> a
    96:96:java.lang.String build():283 -> a
    97:97:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    97:97:void write(com.android.tools.r8.graph.DexMethodHandle):209 -> a
    97:97:java.lang.String build():283 -> a
    98:98:void write(com.android.tools.r8.graph.DexMethodHandle):210:210 -> a
    98:98:java.lang.String build():283 -> a
    99:99:void write(com.android.tools.r8.graph.DexField):233:233 -> a
    99:99:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    99:99:java.lang.String build():283 -> a
    100:100:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    100:100:void write(com.android.tools.r8.graph.DexField):233 -> a
    100:100:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    100:100:java.lang.String build():283 -> a
    101:101:void write(com.android.tools.r8.graph.DexField):234:234 -> a
    101:101:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    101:101:java.lang.String build():283 -> a
    102:102:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    102:102:void write(com.android.tools.r8.graph.DexField):234 -> a
    102:102:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    102:102:java.lang.String build():283 -> a
    103:103:void write(com.android.tools.r8.graph.DexField):235:235 -> a
    103:103:void write(com.android.tools.r8.graph.DexMethodHandle):210 -> a
    103:103:java.lang.String build():283 -> a
    104:104:void write(com.android.tools.r8.graph.DexMethodHandle):212:212 -> a
    104:104:java.lang.String build():283 -> a
    105:105:void write(com.android.tools.r8.graph.DexMethod):227:227 -> a
    105:105:void write(com.android.tools.r8.graph.DexMethodHandle):212 -> a
    105:105:java.lang.String build():283 -> a
    106:106:void write(com.android.tools.r8.graph.DexType):204:204 -> a
    106:106:void write(com.android.tools.r8.graph.DexMethod):227 -> a
    106:106:void write(com.android.tools.r8.graph.DexMethodHandle):212 -> a
    106:106:java.lang.String build():283 -> a
    107:108:void write(com.android.tools.r8.graph.DexMethod):228:229 -> a
    107:108:void write(com.android.tools.r8.graph.DexMethodHandle):212 -> a
    107:108:java.lang.String build():283 -> a
    109:116:java.lang.String build():284:291 -> a
com.android.tools.r8.graph.DexClass -> com.android.tools.r8.graph.J:
    com.android.tools.r8.graph.GenericSignature$ClassSignature classSignature -> r
    com.android.tools.r8.graph.ClassAccessFlags accessFlags -> f
    java.util.List nestMembers -> q
    com.android.tools.r8.graph.DexEncodedField[] instanceFields -> l
    com.android.tools.r8.graph.DexEncodedField[] staticFields -> k
    java.util.List innerClasses -> o
    com.android.tools.r8.graph.EnclosingMethodAttribute enclosingMethod -> n
    com.android.tools.r8.graph.MethodCollection methodCollection -> m
    boolean $assertionsDisabled -> s
    com.android.tools.r8.utils.OptionalBool isResolvable -> j
    com.android.tools.r8.graph.NestHostClassAttribute nestHost -> p
    com.android.tools.r8.origin.Origin origin -> d
    com.android.tools.r8.graph.DexString sourceFile -> i
    com.android.tools.r8.graph.DexTypeList interfaces -> h
    com.android.tools.r8.graph.DexType superType -> g
    com.android.tools.r8.graph.DexType type -> e
    1:1:void <clinit>():43:43 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):103:103 -> <init>
    2:72:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):57:127 -> <init>
    73:73:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":467,"2":468,"3":469}}
    467:467:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):127:127 -> <init>
    468:468:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):127:127 -> <init>
    469:469:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):127:127 -> <init>
    200:204:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):127:131 -> <init>
    205:205:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":473,"2":474,"3":475}}
    473:473:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):131:131 -> <init>
    474:474:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):131:131 -> <init>
    475:475:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):131:131 -> <init>
    336:338:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):131:133 -> <init>
    339:339:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):123:123 -> <init>
    340:340:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":476,"2":477,"3":478}}
    476:476:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):123:123 -> <init>
    477:477:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):123:123 -> <init>
    478:478:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):123:123 -> <init>
    463:463:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.origin.Origin,boolean):123:123 -> <init>
    1:1:java.lang.Iterable classFields():201:201 -> A0
    1:1:java.lang.Iterable classMethods():228:228 -> B0
    1:1:void clearClassSignature():1059:1059 -> C0
    com.android.tools.r8.graph.DexClass toSingleClassWithProgramOverLibrary() -> D
    1:1:void clearEnclosingMethodAttribute():1045:1045 -> D0
    1:1:void clearInnerClasses():1055:1055 -> E0
    1:2:com.android.tools.r8.graph.DexEncodedField[] clearInstanceFields():495:496 -> F0
    boolean isClasspathClass() -> G
    1:1:void clearNestHost():1120:1120 -> G0
    com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> H
    1:1:void clearNestMembers():1124:1124 -> H0
    1:2:com.android.tools.r8.graph.DexEncodedField[] clearStaticFields():403:404 -> I0
    1:2:boolean defaultValuesForStaticFieldsMayTriggerAllocation():1019:1020 -> J0
    1:1:java.lang.Iterable directMethods():245:245 -> K0
    1:1:java.lang.Iterable fields():205:205 -> L0
    1:1:com.android.tools.r8.graph.ClassAccessFlags getAccessFlags():181:181 -> M0
    1:2:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():755:756 -> N0
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature getClassSignature():1088:1088 -> O0
    1:1:com.android.tools.r8.graph.EnclosingMethodAttribute getEnclosingMethodAttribute():1037:1037 -> P0
    1:2:com.android.tools.r8.graph.InnerClassAttribute getInnerClassAttributeForThisClass():1067:1068 -> Q0
    1:1:java.util.List getInnerClasses():1025:1025 -> R0
    1:1:com.android.tools.r8.graph.DexTypeList getInterfaces():185:185 -> S0
    1:5:com.android.tools.r8.graph.DexType getNestHost():1145:1149 -> T0
    1:1:com.android.tools.r8.graph.NestHostClassAttribute getNestHostClassAttribute():1160:1160 -> U0
    1:1:java.util.List getNestMembersClassAttributes():1168:1168 -> V0
    1:1:java.lang.String getSimpleName():1183:1183 -> W0
    1:1:com.android.tools.r8.graph.DexString getSourceFile():193:193 -> X0
    1:1:com.android.tools.r8.graph.DexType getSuperType():786:786 -> Y0
    boolean hasClassResolutionResult() -> Z
    1:1:java.lang.String getTypeName():1187:1187 -> Z0
    void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer) -> a
    com.android.tools.r8.graph.DexClass getContextClass() -> a
    boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set) -> a
    java.util.Iterator lambda$allImmediateSupertypes$9(java.util.Iterator) -> a
    1:1:void forEachClassResolutionResult(java.util.function.Consumer):145:145 -> a
    2:2:void forEachClassFieldMatching(java.util.function.Predicate,java.util.function.Consumer):165:165 -> a
    3:3:void forEachFieldMatching(java.util.function.Predicate,java.util.function.Consumer):338:338 -> a
    3:3:void forEachClassFieldMatching(java.util.function.Predicate,java.util.function.Consumer):165 -> a
    4:4:void lambda$forEachClassFieldMatching$0(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField):165:165 -> a
    5:5:void lambda$forEachClassMethodMatching$1(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):176:176 -> a
    6:6:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):241:241 -> a
    7:7:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):253:253 -> a
    8:8:void addDirectMethods(java.util.Collection):257:257 -> a
    9:9:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):269:269 -> a
    10:10:void setVirtualMethods(java.util.List):285:285 -> a
    11:11:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):289:289 -> a
    11:11:void setVirtualMethods(java.util.List):285 -> a
    12:12:void virtualizeMethods(java.util.Set):314:314 -> a
    13:18:com.android.tools.r8.utils.TraversalContinuation traverseFields(java.util.function.Function):360:365 -> a
    19:24:void appendInstanceField(com.android.tools.r8.graph.DexEncodedField):453:458 -> a
    25:27:void setInstanceField(int,com.android.tools.r8.graph.DexEncodedField):483:485 -> a
    28:29:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):489:490 -> a
    30:31:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):511:512 -> a
    30:31:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):490 -> a
    32:32:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):491:491 -> a
    33:33:java.lang.Object com.android.tools.r8.com.google.common.base.MoreObjects.firstNonNull(java.lang.Object,java.lang.Object):64:64 -> a
    33:33:void setInstanceFields(com.android.tools.r8.graph.DexEncodedField[]):489 -> a
    34:35:com.android.tools.r8.graph.DexEncodedField lookupField(com.android.tools.r8.graph.DexField):560:561 -> a
    36:36:com.android.tools.r8.graph.DexClassAndMethod lookupClassMethod(com.android.tools.r8.graph.DexMethod):595:595 -> a
    37:37:com.android.tools.r8.graph.DexClassAndMethod toClassMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):599:599 -> a
    37:37:com.android.tools.r8.graph.DexClassAndMethod lookupClassMethod(com.android.tools.r8.graph.DexMethod):595 -> a
    38:38:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):608:608 -> a
    39:41:boolean isSignaturePolymorphicMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):641:641 -> a
    43:46:boolean isSignaturePolymorphicMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):643:646 -> a
    47:49:com.android.tools.r8.graph.DexEncodedMethod getInitializer(com.android.tools.r8.graph.DexType[]):798:800 -> a
    50:50:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView):852:852 -> a
    51:51:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):858:858 -> a
    51:51:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView):852 -> a
    52:52:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):857:857 -> a
    52:52:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView):852 -> a
    53:53:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):858:858 -> a
    54:54:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):857:857 -> a
    55:55:boolean classInitializationMayHaveSideEffectsInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition):864:864 -> a
    56:56:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):858:858 -> a
    56:56:boolean classInitializationMayHaveSideEffectsInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition):864 -> a
    57:57:boolean classInitializationMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.function.Predicate):857:857 -> a
    57:57:boolean classInitializationMayHaveSideEffectsInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition):864 -> a
    58:58:boolean lambda$classInitializationMayHaveSideEffectsInContext$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexType):865:865 -> a
    59:62:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):901:904 -> a
    63:63:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    63:63:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):904 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    64:65:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):904:905 -> a
    66:67:void forEachImmediateInterface(java.util.function.Consumer):875:876 -> a
    66:67:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):905 -> a
    68:70:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):911:913 -> a
    71:71:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    71:71:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):913 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    72:78:void forEachImmediateInterfaceWithSignature(java.util.function.BiConsumer):913:919 -> a
    79:82:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):934:937 -> a
    83:83:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    83:83:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):937 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    84:85:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):937:938 -> a
    86:87:void forEachImmediateInterface(java.util.function.Consumer):875:876 -> a
    86:87:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):938 -> a
    88:90:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):943:945 -> a
    91:91:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    91:91:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):945 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    92:100:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):945:953 -> a
    101:101:boolean com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.hasTypeVariableArguments():651:651 -> a
    101:101:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):953 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    102:103:boolean com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.hasTypeVariableArguments():651:652 -> a
    102:103:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):953 -> a
    104:110:void forEachImmediateInterfaceWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):954:960 -> a
    111:111:void lambda$forEachImmediateInterfaceWithAppliedTypeArguments$7(java.util.function.BiConsumer,com.android.tools.r8.graph.DexType):939:939 -> a
    112:114:java.util.List applyTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,java.util.List):975:977 -> a
    115:115:java.util.List com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.typeArguments():605:605 -> a
    115:115:java.util.List applyTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,java.util.List):980 -> a
    116:137:java.util.List applyTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,java.util.List):980:1001 -> a
    138:139:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):983:984 -> a
    140:140:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    140:140:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):984 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    141:143:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):984:986 -> a
    144:144:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    144:144:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):986 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    145:145:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):986:986 -> a
    146:146:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> a
    146:146:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):988 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    147:147:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):989:989 -> a
    148:148:java.lang.String com.android.tools.r8.graph.GenericSignature$TypeVariableSignature.typeVariable():747:747 -> a
    148:148:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):989 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    149:158:void lambda$applyTypeArguments$8(java.util.List,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):989:998 -> a
    159:159:boolean definesFinalizer(com.android.tools.r8.graph.DexItemFactory):1015:1015 -> a
    160:160:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):576:576 -> a
    160:160:boolean definesFinalizer(com.android.tools.r8.graph.DexItemFactory):1015 -> a
    161:161:void setInnerClasses(java.util.List):1029:1029 -> a
    162:162:void setEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):1041:1041 -> a
    163:163:void setClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):1092:1092 -> a
    164:165:void setNestHost(com.android.tools.r8.graph.DexType):1128:1129 -> a
    166:166:void setNestHostAttribute(com.android.tools.r8.graph.NestHostClassAttribute):1133:1133 -> a
    167:167:void lambda$forEachNestMember$11(java.util.function.Consumer,com.android.tools.r8.graph.NestMemberClassAttribute):1156:1156 -> a
    168:168:boolean isValid(com.android.tools.r8.utils.InternalOptions):1220:1220 -> a
    169:171:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):294:296 -> a
    169:171:boolean isValid(com.android.tools.r8.utils.InternalOptions):1220 -> a
    172:172:boolean isValid(com.android.tools.r8.utils.InternalOptions):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":180,"2":181,"3":182}}
    180:180:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):296:296 -> a
    180:180:boolean isValid(com.android.tools.r8.utils.InternalOptions):1220 -> a
    181:181:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):296:296 -> a
    181:181:boolean isValid(com.android.tools.r8.utils.InternalOptions):1220 -> a
    182:182:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):296:296 -> a
    182:182:boolean isValid(com.android.tools.r8.utils.InternalOptions):1220 -> a
    173:173:boolean verifyNoAbstractMethodsOnNonAbstractClasses(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):298:298 -> a
    173:173:boolean isValid(com.android.tools.r8.utils.InternalOptions):1220 -> a
    174:175:boolean isValid(com.android.tools.r8.utils.InternalOptions):1221:1222 -> a
    176:177:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):511:512 -> a
    176:177:boolean isValid(com.android.tools.r8.utils.InternalOptions):1222 -> a
    178:179:boolean isValid(com.android.tools.r8.utils.InternalOptions):1223:1224 -> a
    1:1:boolean hasClassInitializer():790:790 -> a1
    1:1:void forEachClassField(java.util.function.Consumer):160:160 -> b
    2:2:void forEachClassMethodMatching(java.util.function.Predicate,java.util.function.Consumer):175:175 -> b
    3:3:com.android.tools.r8.graph.DexClassAndMethod lambda$classMethods$3(com.android.tools.r8.graph.DexEncodedMethod):228:228 -> b
    4:4:java.lang.Iterable directMethods(java.util.function.Predicate):249:249 -> b
    5:5:void addVirtualMethods(java.util.Collection):281:281 -> b
    6:6:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):289:289 -> b
    7:12:void appendStaticField(com.android.tools.r8.graph.DexEncodedField):381:386 -> b
    13:15:void setStaticField(int,com.android.tools.r8.graph.DexEncodedField):416:418 -> b
    16:17:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):422:423 -> b
    18:19:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):511:512 -> b
    18:19:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):423 -> b
    20:20:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):424:424 -> b
    21:21:java.lang.Object com.android.tools.r8.com.google.common.base.MoreObjects.firstNonNull(java.lang.Object,java.lang.Object):64:64 -> b
    21:21:void setStaticFields(com.android.tools.r8.graph.DexEncodedField[]):422 -> b
    22:22:com.android.tools.r8.graph.DexEncodedField lookupInstanceField(com.android.tools.r8.graph.DexField):533:533 -> b
    23:24:com.android.tools.r8.graph.DexEncodedMember lookupTarget(com.android.tools.r8.graph.DexEncodedMember[],com.android.tools.r8.graph.DexMember):651:652 -> b
    23:24:com.android.tools.r8.graph.DexEncodedField lookupInstanceField(com.android.tools.r8.graph.DexField):533 -> b
    25:25:com.android.tools.r8.graph.DexEncodedMethod lookupDirectMethod(com.android.tools.r8.graph.DexMethod):566:566 -> b
    26:26:boolean isFinal():672:672 -> b
    26:26:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):676 -> b
    27:30:void forEachImmediateSupertype(java.util.function.BiConsumer):888:891 -> b
    31:32:void forEachImmediateInterface(java.util.function.Consumer):875:876 -> b
    31:32:void forEachImmediateSupertype(java.util.function.BiConsumer):891 -> b
    33:33:void lambda$forEachImmediateInterfaceWithSignature$6(java.util.function.BiConsumer,com.android.tools.r8.graph.DexType):907:907 -> b
    34:36:void forEachImmediateSupertypeWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):966:968 -> b
    37:40:void forEachImmediateSupertypeWithAppliedTypeArguments(java.util.List,java.util.function.BiConsumer):967:970 -> b
    41:41:void setNestMemberAttributes(java.util.List):1172:1172 -> b
    1:1:boolean hasEnclosingMethodAttribute():1033:1033 -> b1
    1:1:void forEachClassMethod(java.util.function.Consumer):170:170 -> c
    2:2:com.android.tools.r8.graph.DexClassAndField lambda$classFields$2(com.android.tools.r8.graph.DexEncodedField):201:201 -> c
    3:5:java.lang.Iterable fields(java.util.function.Predicate):209:211 -> c
    6:6:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> c
    6:6:java.lang.Iterable fields(java.util.function.Predicate):209 -> c
    7:7:void forEachFieldMatching(java.util.function.Predicate,java.util.function.Consumer):338:338 -> c
    8:16:void appendStaticFields(java.util.Collection):390:398 -> c
    17:18:boolean verifyCorrectnessOfFieldHolders(java.lang.Iterable):511:512 -> c
    17:18:void appendStaticFields(java.util.Collection):398 -> c
    19:19:void appendStaticFields(java.util.Collection):399:399 -> c
    20:20:com.android.tools.r8.graph.DexEncodedField lookupStaticField(com.android.tools.r8.graph.DexField):528:528 -> c
    21:22:com.android.tools.r8.graph.DexEncodedMember lookupTarget(com.android.tools.r8.graph.DexEncodedMember[],com.android.tools.r8.graph.DexMember):651:652 -> c
    21:22:com.android.tools.r8.graph.DexEncodedField lookupStaticField(com.android.tools.r8.graph.DexField):528 -> c
    23:23:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):604:604 -> c
    24:31:boolean isResolvable(com.android.tools.r8.graph.AppView):824:831 -> c
    32:33:boolean com.android.tools.r8.graph.DexType.isResolvable(com.android.tools.r8.graph.AppView):375:376 -> c
    32:33:boolean isResolvable(com.android.tools.r8.graph.AppView):831 -> c
    34:37:boolean isResolvable(com.android.tools.r8.graph.AppView):837:840 -> c
    38:38:void lambda$forEachImmediateSupertype$5(java.util.function.BiConsumer,com.android.tools.r8.graph.DexType):891:891 -> c
    39:42:void forEachImmediateSupertypeWithSignature(java.util.function.BiConsumer):925:928 -> c
    1:1:boolean hasInstanceFields():1195:1195 -> c1
    1:1:void setDirectMethods(java.util.Collection):265:265 -> d
    2:2:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):269:269 -> d
    2:2:void setDirectMethods(java.util.Collection):265 -> d
    3:3:void forEachField(java.util.function.Consumer):333:333 -> d
    4:4:void forEachFieldMatching(java.util.function.Predicate,java.util.function.Consumer):338:338 -> d
    4:4:void forEachField(java.util.function.Consumer):333 -> d
    5:5:java.lang.Iterable instanceFields(java.util.function.Predicate):449:449 -> d
    6:6:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):576:576 -> d
    7:7:boolean lambda$defaultValuesForStaticFieldsMayTriggerAllocation$10(com.android.tools.r8.graph.DexEncodedField):1021:1021 -> d
    1:1:com.android.tools.r8.graph.MethodCollection getMethodCollection():224:224 -> d0
    1:1:boolean hasNestMemberAttributes():1164:1164 -> d1
    com.android.tools.r8.graph.DexClass asDexClass() -> e
    1:1:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):261:261 -> e
    2:2:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):501:501 -> e
    3:3:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1013,"2":1014,"3":1015}}
    1013:1013:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):501:501 -> e
    1014:1014:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):501:501 -> e
    1015:1015:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):501:501 -> e
    506:506:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):503:503 -> e
    507:507:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1019,"2":1020,"3":1021,"4":1022}}
    1019:1019:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):505:505 -> e
    1020:1020:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):505:505 -> e
    1021:1021:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):505:505 -> e
    1022:1022:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):505:505 -> e
    1012:1012:boolean verifyCorrectnessOfFieldHolder(com.android.tools.r8.graph.DexEncodedField):505:505 -> e
    1023:1023:com.android.tools.r8.graph.DexEncodedMethod lookupDirectMethod(java.util.function.Predicate):571:571 -> e
    1024:1025:void forEachImmediateSupertype(java.util.function.Consumer):881:882 -> e
    1026:1027:void forEachImmediateInterface(java.util.function.Consumer):875:876 -> e
    1026:1027:void forEachImmediateSupertype(java.util.function.Consumer):884 -> e
    1:1:boolean hasStaticFields():1191:1191 -> e1
    1:1:void forEachInstanceField(java.util.function.Consumer):342:342 -> f
    2:2:void forEachInstanceFieldMatching(java.util.function.Predicate,java.util.function.Consumer):347:347 -> f
    2:2:void forEachInstanceField(java.util.function.Consumer):342 -> f
    3:3:com.android.tools.r8.graph.DexEncodedMethod lookupVirtualMethod(java.util.function.Predicate):581:581 -> f
    1:5:java.util.List instanceFields():441:445 -> f1
    1:1:java.lang.Iterable members(java.util.function.Predicate):219:219 -> g
    2:2:java.lang.Iterable methods(java.util.function.Predicate):236:236 -> g
    2:2:java.lang.Iterable members(java.util.function.Predicate):219 -> g
    3:3:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> g
    3:3:java.lang.Iterable members(java.util.function.Predicate):219 -> g
    4:4:void forEachMethod(java.util.function.Consumer):306:306 -> g
    5:5:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):98:98 -> g
    5:5:void forEachMethod(java.util.function.Consumer):306 -> g
    6:6:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):98:98 -> g
    6:6:void forEachMethod(java.util.function.Consumer):306 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean isAbstract():664:664 -> g1
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():43:43 -> getAccessFlags
    1:1:com.android.tools.r8.references.ClassReference getClassReference():762:762 -> getClassReference
    1:1:com.android.tools.r8.origin.Origin getOrigin():777:777 -> getOrigin
    1:1:com.android.tools.r8.graph.DexReference getReference():696:696 -> getReference
    1:1:com.android.tools.r8.graph.DexType getType():782:782 -> getType
    1:1:java.lang.Iterable methods(java.util.function.Predicate):236:236 -> h
    2:3:void forEachNestMember(java.util.function.Consumer):1155:1156 -> h
    boolean isLibraryClass() -> h0
    1:1:boolean isAnnotation():668:668 -> h1
    1:1:void forEachStaticField(java.util.function.Consumer):351:351 -> i
    2:2:java.lang.Iterable staticFields(java.util.function.Predicate):377:377 -> i
    2:2:void forEachStaticFieldMatching(java.util.function.Predicate,java.util.function.Consumer):356 -> i
    2:2:void forEachStaticField(java.util.function.Consumer):351 -> i
    3:3:void forEachStaticFieldMatching(java.util.function.Predicate,java.util.function.Consumer):356:356 -> i
    3:3:void forEachStaticField(java.util.function.Consumer):351 -> i
    4:5:void removeEnclosingMethodAttribute(java.util.function.Predicate):1049:1050 -> i
    1:3:java.lang.Iterable allImmediateSupertypes():1007:1009 -> i0
    4:7:java.lang.Iterable allImmediateSupertypes():1008:1011 -> i0
    1:4:boolean isAnonymousClass():1109:1112 -> i1
    1:1:boolean isInterface():681:681 -> isInterface
    1:1:void removeInnerClasses(java.util.function.Predicate):1063:1063 -> j
    1:1:boolean isEnum():685:685 -> j1
    1:1:void removeNestMemberAttributes(java.util.function.Predicate):1176:1176 -> k
    1:1:boolean isFinal():672:672 -> k1
    com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> l
    1:1:java.lang.Iterable virtualMethods(java.util.function.Predicate):277:277 -> l
    1:1:boolean isInANest():1116:1116 -> l1
    1:3:boolean isLocalClass():1096:1098 -> m1
    1:3:boolean isMemberClass():1102:1104 -> n1
    1:1:boolean isNestHost():1137:1137 -> o1
    1:1:boolean isNestMember():1141:1141 -> p1
    boolean isNotProgramClass() -> q1
    1:1:boolean isPublic():741:741 -> r1
    1:1:boolean isRecord():689:689 -> s1
    1:1:java.lang.Iterable members():215:215 -> t1
    2:2:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> t1
    2:2:java.lang.Iterable members():215 -> t1
    boolean isDexClass() -> u0
    1:1:java.lang.Iterable methods():232:232 -> u1
    1:5:java.util.List staticFields():369:373 -> v1
    1:1:boolean validInterfaceSignatures():895:895 -> w1
    2:2:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> w1
    2:2:boolean validInterfaceSignatures():895 -> w1
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:boolean validInterfaceSignatures():895:896 -> w1
    1:4:boolean verifyNoDuplicateFields():518:521 -> x1
    5:5:boolean verifyNoDuplicateFields():0:0 -> x1
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":527,"2":528,"3":529}}
    527:527:boolean verifyNoDuplicateFields():521:521 -> x1
    528:528:boolean verifyNoDuplicateFields():521:521 -> x1
    529:529:boolean verifyNoDuplicateFields():521:521 -> x1
    526:526:boolean verifyNoDuplicateFields():521:521 -> x1
    boolean isStaticMember() -> y0
    1:1:java.lang.Iterable virtualMethods():273:273 -> y1
    1:1:java.util.List allMethodsSorted():310:310 -> z0
com.android.tools.r8.graph.DexClass$FieldSetter -> com.android.tools.r8.internal.vg:
    void setField(int,com.android.tools.r8.graph.DexEncodedField) -> a
com.android.tools.r8.graph.DexClassAndField -> com.android.tools.r8.graph.K:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():10:10 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):13:16 -> <init>
    boolean isField() -> K
    1:2:com.android.tools.r8.graph.DexClassAndField create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):20:21 -> a
    3:3:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    3:3:com.android.tools.r8.graph.DexClassAndField create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):23 -> a
    4:6:com.android.tools.r8.graph.DexClassAndField create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):24:26 -> a
    7:7:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    7:7:com.android.tools.r8.graph.DexClassAndField create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):26 -> a
    8:9:com.android.tools.r8.graph.DexClassAndField create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):26:27 -> a
    com.android.tools.r8.graph.DexClassAndField asField() -> d
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():10:10 -> getAccessFlags
    1:1:com.android.tools.r8.graph.DexType getType():45:45 -> getType
    com.android.tools.r8.graph.DexClassAndMember asMember() -> j0
    1:1:com.android.tools.r8.graph.FieldAccessFlags getAccessFlags():32:32 -> w
    1:1:com.android.tools.r8.references.FieldReference getFieldReference():36:36 -> x
com.android.tools.r8.graph.DexClassAndMember -> com.android.tools.r8.graph.L:
    com.android.tools.r8.graph.DexClass holder -> b
    com.android.tools.r8.graph.DexEncodedMember definition -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():11:11 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMember):17:22 -> <init>
    1:1:com.android.tools.r8.graph.DexType getContextType():36:36 -> U
    1:1:com.android.tools.r8.graph.DexClass getContextClass():31:31 -> a
    1:1:boolean equals(java.lang.Object):81:81 -> equals
    1:1:com.android.tools.r8.origin.Origin getOrigin():67:67 -> getOrigin
    1:1:com.android.tools.r8.graph.DexReference getReference():11:11 -> getReference
    1:1:int hashCode():86:86 -> hashCode
    1:1:com.android.tools.r8.graph.DexDefinition getDefinition():11:11 -> i
    2:2:com.android.tools.r8.graph.DexEncodedMember getDefinition():49:49 -> i
    1:1:com.android.tools.r8.graph.DexAnnotationSet getAnnotations():26:26 -> p
    1:1:com.android.tools.r8.graph.DexClass getHolder():40:40 -> q
    1:1:com.android.tools.r8.graph.DexType getHolderType():44:44 -> r
    1:1:com.android.tools.r8.graph.DexMember getReference():58:58 -> s
    1:1:java.lang.String toString():76:76 -> toString
    1:1:java.lang.String toSourceString():71:71 -> u
com.android.tools.r8.graph.DexClassAndMethod -> com.android.tools.r8.graph.M:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():11:11 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):15:18 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():59:59 -> C
    1:1:com.android.tools.r8.graph.DexTypeList getParameters():71:71 -> D
    1:1:com.android.tools.r8.graph.DexProto getProto():83:83 -> E
    1:1:com.android.tools.r8.graph.DexType getReturnType():87:87 -> F
    boolean isMethod() -> J
    1:1:com.android.tools.r8.graph.ProgramMethod asProgramMethodOrNull(com.android.tools.r8.graph.DexClassAndMethod):22:22 -> a
    2:3:com.android.tools.r8.graph.DexClassAndMethod create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):26:27 -> a
    4:4:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    4:4:com.android.tools.r8.graph.DexClassAndMethod create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):29 -> a
    5:7:com.android.tools.r8.graph.DexClassAndMethod create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):30:32 -> a
    8:8:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    8:8:com.android.tools.r8.graph.DexClassAndMethod create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):32 -> a
    9:10:com.android.tools.r8.graph.DexClassAndMethod create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):32:33 -> a
    11:11:com.android.tools.r8.graph.DexType getArgumentType(int):63:63 -> a
    12:12:void accept(java.util.function.Consumer,java.util.function.Consumer):118:118 -> a
    1:1:com.android.tools.r8.graph.DexType getParameter(int):67:67 -> b
    com.android.tools.r8.graph.DexClassAndMethod asMethod() -> c
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():11:11 -> getAccessFlags
    com.android.tools.r8.graph.DexClassAndMethod asMethodTarget() -> j
    com.android.tools.r8.graph.DexClassAndMember asMember() -> j0
    boolean isMethodTarget() -> m
    1:1:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():46:46 -> w
    1:1:com.android.tools.r8.references.MethodReference getMethodReference():50:50 -> x
    1:1:com.android.tools.r8.graph.DexMethodSignature getMethodSignature():54:54 -> y
    2:2:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> y
    2:2:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethod.getSignature():173 -> y
    2:2:com.android.tools.r8.graph.DexMethodSignature getMethodSignature():54 -> y
com.android.tools.r8.graph.DexClasspathClass -> com.android.tools.r8.graph.N:
    boolean $assertionsDisabled -> t
    1:1:void <clinit>():24:24 -> <clinit>
    1:19:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean):46:64 -> <init>
    com.android.tools.r8.graph.ClasspathOrLibraryClass asClasspathOrLibraryClass() -> A
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):72:72 -> a
    2:5:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):136:139 -> a
    6:18:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):153:165 -> a
    19:19:boolean lambda$specify$1(com.android.tools.r8.graph.DexClasspathClass):162:162 -> a
    1:1:void lambda$forEachClasspathMethodMatching$0(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):82:82 -> b
    2:2:com.android.tools.r8.graph.DexEncodedField[] lambda$specify$2(com.android.tools.r8.graph.DexClasspathClass):163:163 -> b
    1:1:com.android.tools.r8.graph.DexEncodedField[] lambda$specify$3(com.android.tools.r8.graph.DexClasspathClass):164:164 -> c
    1:1:void forEachClasspathMethodMatching(java.util.function.Predicate,java.util.function.Consumer):81:81 -> d
    com.android.tools.r8.graph.DexClasspathClass asClasspathClass() -> l
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():149:149 -> n
    boolean isNotProgramClass() -> q1
    1:1:java.lang.String toString():87:87 -> toString
com.android.tools.r8.graph.DexCode -> com.android.tools.r8.graph.O:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.graph.DexDebugInfoForWriting debugInfoForWriting -> l
    com.android.tools.r8.code.Instruction[] instructions -> i
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata metadata -> m
    int outgoingRegisterSize -> f
    int registerSize -> d
    com.android.tools.r8.graph.DexString highestSortingString -> j
    int incomingRegisterSize -> e
    com.android.tools.r8.graph.DexCode$TryHandler[] handlers -> h
    com.android.tools.r8.graph.DexCode$Try[] tries -> g
    com.android.tools.r8.graph.DexDebugInfo debugInfo -> k
    1:1:void <clinit>():51:51 -> <clinit>
    1:1:void <init>(int,int,int,com.android.tools.r8.code.Instruction[],com.android.tools.r8.graph.DexCode$Try[],com.android.tools.r8.graph.DexCode$TryHandler[],com.android.tools.r8.graph.DexDebugInfo):95:95 -> <init>
    2:2:void <init>(int,int,int,com.android.tools.r8.code.Instruction[],com.android.tools.r8.graph.DexCode$Try[],com.android.tools.r8.graph.DexCode$TryHandler[],com.android.tools.r8.graph.DexDebugInfo):87:87 -> <init>
    3:15:void <init>(int,int,int,com.android.tools.r8.code.Instruction[],com.android.tools.r8.graph.DexCode$Try[],com.android.tools.r8.graph.DexCode$TryHandler[],com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata):106:118 -> <init>
    1:1:com.android.tools.r8.graph.DexDebugInfo getDebugInfo():228:228 -> B0
    com.android.tools.r8.graph.DexCode asDexCode() -> C
    1:1:boolean isEmptyVoidMethod():360:360 -> C0
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    com.android.tools.r8.graph.Code asCode() -> R
    1:1:int getOutgoingRegisterSize():639:639 -> V
    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode):70:70 -> a
    2:8:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):70:76 -> a
    9:9:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):133:133 -> a
    10:10:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.Instruction):137:137 -> a
    10:10:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.code.CfOrDexInstruction):133 -> a
    11:14:com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean):155:158 -> a
    15:24:com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean):157:166 -> a
    25:27:void setDebugInfo(com.android.tools.r8.graph.DexDebugInfo):232:234 -> a
    28:35:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):239:246 -> a
    36:39:int getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):312:315 -> a
    36:39:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):247 -> a
    40:44:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):247:251 -> a
    45:48:int getLargestPrefix(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexString):312:315 -> a
    45:48:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):252 -> a
    49:58:com.android.tools.r8.graph.DexDebugInfo debugInfoWithFakeThisParameter(com.android.tools.r8.graph.DexItemFactory):252:261 -> a
    59:59:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):266:266 -> a
    60:90:com.android.tools.r8.graph.DexDebugInfo debugInfoAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):278:308 -> a
    60:90:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):273 -> a
    91:91:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):273:273 -> a
    92:92:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):339:339 -> a
    93:97:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):370:374 -> a
    98:98:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    98:98:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):374 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    99:100:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):376:377 -> a
    101:105:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):390:394 -> a
    106:106:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    106:106:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):394 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    107:110:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):396:399 -> a
    111:111:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):404:404 -> a
    112:112:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):409:409 -> a
    113:123:void internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):413:423 -> a
    124:153:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):437:466 -> a
    154:155:com.android.tools.r8.graph.DexDebugEntry advanceToOffset(int,com.android.tools.r8.graph.DexDebugEntry,java.util.Iterator):515:516 -> a
    154:155:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):466 -> a
    156:177:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):467:488 -> a
    178:179:com.android.tools.r8.graph.DexDebugEntry advanceToOffset(int,com.android.tools.r8.graph.DexDebugEntry,java.util.Iterator):515:516 -> a
    178:179:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):488 -> a
    180:180:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):492:492 -> a
    181:201:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):490:510 -> a
    202:204:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):586:588 -> a
    205:205:boolean com.android.tools.r8.code.Instruction.isDexItemBasedConstString():0:0 -> a
    205:205:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):588 -> a
    206:209:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):588:591 -> a
    210:212:void updateHighestSortingString(com.android.tools.r8.graph.DexString):643:645 -> a
    210:212:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):591 -> a
    213:213:boolean com.android.tools.r8.code.Instruction.isConstStringJumbo():0:0 -> a
    213:213:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):592 -> a
    214:214:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):593:593 -> a
    215:217:void updateHighestSortingString(com.android.tools.r8.graph.DexString):643:645 -> a
    215:217:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):593 -> a
    218:221:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):596:599 -> a
    222:222:void com.android.tools.r8.graph.DexCode$TryHandler.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):807:807 -> a
    222:222:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):600 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    223:224:void com.android.tools.r8.graph.DexCode$TryHandler.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):807:808 -> a
    223:224:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):600 -> a
    225:225:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):629:629 -> a
    226:227:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):651:652 -> a
    228:235:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):675:682 -> a
    236:236:boolean com.android.tools.r8.code.Instruction.isConstClass():0:0 -> a
    236:236:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):683 -> a
    237:237:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):684:684 -> a
    238:238:boolean com.android.tools.r8.code.Instruction.isInstanceOf():0:0 -> a
    238:238:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):685 -> a
    239:241:void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep):686:688 -> a
    242:243:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):700:701 -> a
    1:3:int codeSizeInBytes():658:660 -> a0
    4:5:int computeCodeSizeInBytes():667:668 -> a0
    4:5:int codeSizeInBytes():661 -> a0
    6:6:int codeSizeInBytes():661:661 -> a0
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode):71:71 -> b
    2:2:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):634:634 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.graph.DexCode):72:72 -> c
    2:5:void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod):172:175 -> c
    1:1:com.android.tools.r8.graph.DexCode$Try[] lambda$specify$3(com.android.tools.r8.graph.DexCode):73:73 -> d
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] lambda$specify$4(com.android.tools.r8.graph.DexCode):74:74 -> e
    1:1:com.android.tools.r8.graph.DexDebugInfo lambda$specify$5(com.android.tools.r8.graph.DexCode):75:75 -> f
    1:1:com.android.tools.r8.code.Instruction[] lambda$specify$6(com.android.tools.r8.graph.DexCode):76:76 -> g
    1:1:boolean computeEquals(java.lang.Object):355:355 -> h
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():142:142 -> m
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():147:147 -> n
    1:7:int computeHashCode():344:350 -> n0
    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():624:624 -> o
    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> p0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():219:219 -> r0
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():614:614 -> s
    1:1:int estimatedSizeForInlining():214:214 -> s0
    1:1:java.lang.String toString():432:432 -> toString
    1:1:com.android.tools.r8.graph.DexString getHighestSortingString():619:619 -> u
    boolean isDexCode() -> v0
    1:4:com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting():606:609 -> w
    boolean isDexWritableCode() -> w0
com.android.tools.r8.graph.DexCode$Try -> com.android.tools.r8.graph.O$a:
    boolean $assertionsDisabled -> f
    int instructionCount -> d
    int handlerIndex -> e
    int handlerOffset -> b
    int startAddress -> c
    1:1:void <clinit>():705:705 -> <clinit>
    1:5:void <init>(int,int,int):721:725 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode$Try):716:716 -> a
    2:4:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):716:718 -> a
    5:5:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):765:765 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode$Try):717:717 -> b
    1:1:int lambda$specify$2(com.android.tools.r8.graph.DexCode$Try):718:718 -> c
    1:1:boolean equals(java.lang.Object):749:749 -> equals
    1:1:int hashCode():744:744 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():735:735 -> n
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":759,"2":760,"3":761}}
    759:759:java.lang.String toString():754:754 -> toString
    760:760:java.lang.String toString():754:754 -> toString
    761:761:java.lang.String toString():754:754 -> toString
    755:758:java.lang.String toString():754:757 -> toString
com.android.tools.r8.graph.DexCode$TryHandler -> com.android.tools.r8.graph.O$b:
    com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[] pairs -> b
    int catchAllAddr -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():770:770 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[],int):781:783 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexCode$TryHandler):778:778 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):778:778 -> a
    3:3:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):815:815 -> a
    1:1:com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair[] lambda$specify$1(com.android.tools.r8.graph.DexCode$TryHandler):778:778 -> b
    1:1:boolean equals(java.lang.Object):803:803 -> equals
    1:1:int hashCode():798:798 -> hashCode
    2:2:int com.android.tools.r8.utils.structural.HashCodeVisitor.run(com.android.tools.r8.utils.structural.StructuralItem):28:28 -> hashCode
    2:2:int hashCode():798 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():793:793 -> n
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":837,"2":838,"3":839}}
    837:837:java.lang.String toString():820:820 -> toString
    838:838:java.lang.String toString():820:820 -> toString
    839:839:java.lang.String toString():821:821 -> toString
    823:836:java.lang.String toString():822:835 -> toString
com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair -> com.android.tools.r8.graph.O$b$a:
    com.android.tools.r8.graph.DexType type -> b
    int addr -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():838:838 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexType,int):847:849 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexType access$000(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):838:838 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):844:844 -> a
    3:3:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):867:867 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):871 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    4:4:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):867 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):871 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):872:872 -> a
    6:6:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):872 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":8,"2":9,"3":10}}
    8:8:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):872 -> a
    9:9:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):872 -> a
    10:10:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    10:10:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    10:10:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):872 -> a
    11:11:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):867:867 -> a
    12:12:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":879,"2":880,"3":881}}
    879:879:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):867:867 -> a
    880:880:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    880:880:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):867 -> a
    881:881:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    881:881:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.GraphLens):867 -> a
    882:882:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):878:878 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$specify$0(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):844:844 -> b
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexCode$TryHandler$TypeAddrPair):844:844 -> c
    1:1:boolean equals(java.lang.Object):888:888 -> equals
    1:1:com.android.tools.r8.graph.DexType getType():863:863 -> getType
    1:1:int hashCode():883:883 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():859:859 -> n
com.android.tools.r8.graph.DexDebugEntry -> com.android.tools.r8.internal.yg:
    com.android.tools.r8.ir.code.Position callerPosition -> i
    com.android.tools.r8.graph.DexString sourceFile -> d
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.DexMethod method -> h
    boolean prologueEnd -> e
    boolean epilogueBegin -> f
    boolean lineEntry -> a
    int address -> b
    int line -> c
    java.util.Map locals -> g
    1:1:void <clinit>():13:13 -> <clinit>
    1:11:void <init>(boolean,int,int,com.android.tools.r8.graph.DexString,boolean,boolean,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):34:44 -> <init>
    1:38:java.lang.String toString(boolean):53:90 -> a
    1:1:java.lang.String toString():49:49 -> toString
com.android.tools.r8.graph.DexDebugEntryBuilder -> com.android.tools.r8.graph.Q:
    com.android.tools.r8.graph.DexDebugPositionState positionState -> h
    java.util.Map locals -> c
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.DexDebugEntry pending -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap arguments -> d
    java.util.List entries -> g
    boolean prologueEnd -> a
    boolean epilogueBegin -> b
    java.util.Map canonicalizedLocals -> f
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod):62:62 -> <init>
    2:21:void <init>(int,com.android.tools.r8.graph.DexMethod):46:65 -> <init>
    22:22:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):68:68 -> <init>
    23:71:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexItemFactory):46:94 -> <init>
    1:2:void visit(com.android.tools.r8.graph.DexDebugEvent$AdvancePC):104:105 -> a
    3:3:void visit(com.android.tools.r8.graph.DexDebugEvent$AdvanceLine):110:110 -> a
    4:4:void visit(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):115:115 -> a
    5:5:void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame):120:120 -> a
    6:6:void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):125:125 -> a
    7:8:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):130:131 -> a
    9:9:void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile):136:136 -> a
    10:10:void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd):141:141 -> a
    11:11:void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin):146:146 -> a
    12:12:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):157:157 -> a
    13:16:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):219:222 -> a
    13:16:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):157 -> a
    17:17:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):157:157 -> a
    18:19:com.android.tools.r8.graph.DebugLocalInfo canonicalize(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):213:214 -> a
    18:19:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):158 -> a
    20:21:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.set(com.android.tools.r8.graph.DebugLocalInfo):32:33 -> a
    20:21:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):158 -> a
    22:22:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):163:163 -> a
    23:26:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):219:222 -> a
    23:26:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):163 -> a
    27:27:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.unset():37:37 -> a
    27:27:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):163 -> a
    28:28:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):168:168 -> a
    29:32:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):219:222 -> a
    29:32:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):168 -> a
    33:33:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.reset():41:41 -> a
    33:33:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):168 -> a
    34:36:void entryEventReceived(boolean):172:174 -> a
    37:45:com.android.tools.r8.com.google.common.collect.ImmutableMap getLocals():228:236 -> a
    37:45:void entryEventReceived(boolean):182 -> a
    46:46:void entryEventReceived(boolean):182:182 -> a
    47:71:void entryEventReceived(boolean):174:198 -> a
    72:77:java.util.List build():203:208 -> a
    78:79:com.android.tools.r8.graph.DebugLocalInfo canonicalize(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):213:214 -> a
    78:79:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):150 -> a
    80:80:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):151:151 -> a
    81:84:com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry getEntry(int):219:222 -> a
    81:84:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):152 -> a
    85:86:void com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry.set(com.android.tools.r8.graph.DebugLocalInfo):32:33 -> a
    85:86:void startArgument(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):152 -> a
com.android.tools.r8.graph.DexDebugEntryBuilder$LocalEntry -> com.android.tools.r8.graph.P:
    com.android.tools.r8.graph.DebugLocalInfo current -> a
    com.android.tools.r8.graph.DebugLocalInfo last -> b
    1:1:void <init>():27:27 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexDebugEntryBuilder$1):27:27 -> <init>
com.android.tools.r8.graph.DexDebugEvent -> com.android.tools.r8.graph.T:
    com.android.tools.r8.graph.DexDebugEvent[] EMPTY_ARRAY -> b
    boolean $assertionsDisabled -> c
    1:8:void <clinit>():20:27 -> <clinit>
    1:1:void <init>():20:20 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    void accept(com.android.tools.r8.graph.DexDebugEventVisitor) -> a
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens) -> a
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):20:20 -> a
    2:3:int acceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):68:69 -> a
    4:5:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):74:75 -> a
    6:6:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):90:90 -> a
    int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor) -> b
    void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
    1:1:boolean equals(java.lang.Object):47:47 -> equals
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():63:63 -> n
    com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame asSetInlineFrame() -> n0
    int getCompareToId() -> o0
    boolean isWritableEvent() -> p0
com.android.tools.r8.graph.DexDebugEvent$AdvanceLine -> com.android.tools.r8.graph.S:
    int delta -> d
    1:2:void <init>(int):271:272 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):267:267 -> a
    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):283:284 -> a
    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):289:289 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):310:310 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):315:315 -> b
    1:1:int hashCode():299:299 -> hashCode
    int getCompareToId() -> o0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":296,"2":297,"3":298}}
    296:296:java.lang.String toString():294:294 -> toString
    297:297:java.lang.String toString():294:294 -> toString
    298:298:java.lang.String toString():294:294 -> toString
    295:295:java.lang.String toString():294:294 -> toString
com.android.tools.r8.graph.DexDebugEvent$AdvancePC -> com.android.tools.r8.graph.T$a:
    boolean $assertionsDisabled -> e
    int delta -> d
    1:1:void <clinit>():115:115 -> <clinit>
    1:2:void <init>(int):131:132 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):115:115 -> a
    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):127:128 -> a
    4:5:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):137:138 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):160:160 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):165:165 -> b
    1:1:int hashCode():149:149 -> hashCode
    int getCompareToId() -> o0
    boolean isWritableEvent() -> p0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":146,"2":147,"3":148}}
    146:146:java.lang.String toString():144:144 -> toString
    147:147:java.lang.String toString():144:144 -> toString
    148:148:java.lang.String toString():144:144 -> toString
    145:145:java.lang.String toString():144:144 -> toString
com.android.tools.r8.graph.DexDebugEvent$Default -> com.android.tools.r8.graph.T$b:
    boolean $assertionsDisabled -> e
    int value -> d
    1:1:void <clinit>():738:738 -> <clinit>
    1:3:void <init>(int):742:744 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):738:738 -> a
    2:2:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):767:767 -> a
    3:3:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):772:772 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):803:803 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):808:808 -> b
    1:1:int hashCode():792:792 -> hashCode
    int getCompareToId() -> o0
    boolean isWritableEvent() -> p0
    1:2:int getLineDelta():781:782 -> q0
    1:2:int getPCDelta():776:777 -> r0
    1:1:java.lang.String toString():787:787 -> toString
com.android.tools.r8.graph.DexDebugEvent$EndLocal -> com.android.tools.r8.graph.U:
    int registerNum -> d
    1:2:void <init>(int):420:421 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):416:416 -> a
    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):432:433 -> a
    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):438:438 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):459:459 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):464:464 -> b
    1:1:int hashCode():448:448 -> hashCode
    int getCompareToId() -> o0
    boolean isWritableEvent() -> p0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":445,"2":446,"3":447}}
    445:445:java.lang.String toString():443:443 -> toString
    446:446:java.lang.String toString():443:443 -> toString
    447:447:java.lang.String toString():443:443 -> toString
    444:444:java.lang.String toString():443:443 -> toString
com.android.tools.r8.graph.DexDebugEvent$RestartLocal -> com.android.tools.r8.graph.V:
    int registerNum -> d
    1:2:void <init>(int):472:473 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):468:468 -> a
    2:3:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):484:485 -> a
    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):490:490 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):511:511 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):516:516 -> b
    1:1:int hashCode():500:500 -> hashCode
    int getCompareToId() -> o0
    boolean isWritableEvent() -> p0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":497,"2":498,"3":499}}
    497:497:java.lang.String toString():495:495 -> toString
    498:498:java.lang.String toString():495:495 -> toString
    499:499:java.lang.String toString():495:495 -> toString
    496:496:java.lang.String toString():495:495 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin -> com.android.tools.r8.graph.W:
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():219:219 -> <clinit>
    1:1:void <init>():221:221 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):219:219 -> a
    2:2:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):232:232 -> a
    3:3:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):237:237 -> a
    void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):257:257 -> b
    int getCompareToId() -> o0
    boolean isWritableEvent() -> p0
    1:1:java.lang.String toString():242:242 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetFile -> com.android.tools.r8.graph.T$c:
    com.android.tools.r8.graph.DexString fileName -> d
    1:2:void <init>(com.android.tools.r8.graph.DexString):531:532 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):527:527 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):543:543 -> a
    3:3:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):543 -> a
    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):548:548 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):569:569 -> b
    2:2:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):569 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):574:574 -> b
    1:2:int hashCode():558:559 -> hashCode
    int getCompareToId() -> o0
    boolean isWritableEvent() -> p0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":555,"2":556,"3":557}}
    555:555:java.lang.String toString():553:553 -> toString
    556:556:java.lang.String toString():553:553 -> toString
    557:557:java.lang.String toString():553:553 -> toString
    554:554:java.lang.String toString():553:553 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame -> com.android.tools.r8.graph.X:
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexMethod callee -> d
    com.android.tools.r8.ir.code.Position caller -> e
    1:1:void <clinit>():578:578 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):587:590 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):578:578 -> a
    2:2:com.android.tools.r8.graph.DexMethod lambda$specify$0(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):584:584 -> a
    3:3:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):584:584 -> a
    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):595:595 -> a
    5:6:boolean hasOuterPosition(com.android.tools.r8.graph.DexMethod):634:635 -> a
    1:1:com.android.tools.r8.ir.code.Position lambda$specify$1(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):584:584 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):615:615 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):620:620 -> b
    1:1:int hashCode():605:605 -> hashCode
    com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame asSetInlineFrame() -> n0
    int getCompareToId() -> o0
    1:1:java.lang.String toString():600:600 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame -> com.android.tools.r8.graph.Y:
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexMethod outlineCallee -> d
    com.android.tools.r8.utils.Int2StructuralItemArrayMap outlinePositions -> e
    1:1:void <clinit>():672:672 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap):682:686 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):672:672 -> a
    2:2:com.android.tools.r8.graph.DexMethod lambda$specify$0(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):678:678 -> a
    3:3:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):678:678 -> a
    4:4:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):699:699 -> a
    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap lambda$specify$1(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):678:678 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):719:719 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):724:724 -> b
    1:1:int hashCode():709:709 -> hashCode
    int getCompareToId() -> o0
    1:1:com.android.tools.r8.graph.DexMethod getOutlineCallee():690:690 -> q0
    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap getOutlinePositions():694:694 -> r0
    1:1:java.lang.String toString():704:704 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame -> com.android.tools.r8.graph.Z:
    1:1:void <init>():639:639 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):639:639 -> a
    2:2:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):668:668 -> a
    int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor) -> b
    void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
    int getCompareToId() -> o0
    1:1:java.lang.String toString():643:643 -> toString
com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd -> com.android.tools.r8.graph.a0:
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():169:169 -> <clinit>
    1:1:void <init>():171:171 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):169:169 -> a
    2:2:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):182:182 -> a
    3:3:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):187:187 -> a
    void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):208:208 -> b
    int getCompareToId() -> o0
    boolean isWritableEvent() -> p0
    1:1:java.lang.String toString():192:192 -> toString
com.android.tools.r8.graph.DexDebugEvent$StartLocal -> com.android.tools.r8.graph.T$d:
    com.android.tools.r8.graph.DexString name -> e
    com.android.tools.r8.graph.DexString signature -> g
    int registerNum -> d
    com.android.tools.r8.graph.DexType type -> f
    1:5:void <init>(int,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):337:341 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):319:319 -> a
    2:2:int lambda$spec$0(com.android.tools.r8.graph.DexDebugEvent$StartLocal):327:327 -> a
    3:6:void spec(com.android.tools.r8.utils.structural.StructuralSpecification):327:330 -> a
    7:12:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):356:361 -> a
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    13:13:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):361 -> a
    14:16:void internalWriteOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):361:363 -> a
    17:17:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):369:369 -> a
    18:18:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    18:18:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):370 -> a
    19:20:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):372:373 -> a
    21:21:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    21:21:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):373 -> a
    22:22:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374:374 -> a
    23:23:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    23:23:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374 -> a
    24:24:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":402,"2":403,"3":404}}
    402:402:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    402:402:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374 -> a
    403:403:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    403:403:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374 -> a
    404:404:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    404:404:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    404:404:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):374 -> a
    400:400:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):376:376 -> a
    401:401:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    401:401:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):377 -> a
    405:405:void accept(com.android.tools.r8.graph.DexDebugEventVisitor):383:383 -> a
    1:1:com.android.tools.r8.graph.DexString lambda$spec$1(com.android.tools.r8.graph.DexDebugEvent$StartLocal):328:328 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugEvent,com.android.tools.r8.utils.structural.CompareToVisitor):407:407 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):412:412 -> b
    1:1:com.android.tools.r8.graph.DexType lambda$spec$2(com.android.tools.r8.graph.DexDebugEvent$StartLocal):329:329 -> c
    1:1:com.android.tools.r8.graph.DexString lambda$spec$3(com.android.tools.r8.graph.DexDebugEvent$StartLocal):330:330 -> d
    1:5:int hashCode():393:397 -> hashCode
    int getCompareToId() -> o0
    boolean isWritableEvent() -> p0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":390,"2":391,"3":392}}
    390:390:java.lang.String toString():388:388 -> toString
    391:391:java.lang.String toString():388:388 -> toString
    392:392:java.lang.String toString():388:388 -> toString
    389:389:java.lang.String toString():388:388 -> toString
com.android.tools.r8.graph.DexDebugEventBuilder -> com.android.tools.r8.graph.b0:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    boolean $assertionsDisabled -> m
    int startLine -> l
    com.android.tools.r8.ir.code.Position emittedPosition -> i
    com.android.tools.r8.graph.DexEncodedMethod method -> a
    int emittedPc -> h
    com.android.tools.r8.utils.InternalOptions options -> c
    java.util.ArrayList arguments -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap emittedLocals -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap pendingLocals -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap lastKnownLocals -> e
    boolean pendingLocalChanges -> g
    java.util.List events -> k
    1:1:void <clinit>():31:31 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):64:64 -> <init>
    2:22:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):47:67 -> <init>
    1:2:void add(int,int,com.android.tools.r8.ir.code.Instruction):72:73 -> a
    3:9:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):128:134 -> a
    3:9:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    10:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    10:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    10:11:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):134 -> a
    10:11:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    12:15:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):134:137 -> a
    12:15:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    16:26:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):143:153 -> a
    16:26:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
    16:26:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    27:27:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    27:27:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):153 -> a
    27:27:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
    27:27:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    28:34:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):153:159 -> a
    28:34:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
    28:34:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167:167 -> a
    35:35:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):159 -> a
    35:35:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
    35:35:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    36:36:void initialize(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):159:159 -> a
    36:36:void updateBlockEntry(com.android.tools.r8.ir.code.Instruction):138 -> a
    36:36:void add(int,int,com.android.tools.r8.ir.code.Instruction):77 -> a
    37:46:void add(int,int,com.android.tools.r8.ir.code.Instruction):79:88 -> a
    47:51:void startArgument(com.android.tools.r8.ir.code.Argument):163:167 -> a
    47:51:void add(int,int,com.android.tools.r8.ir.code.Instruction):88 -> a
    52:52:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    52:52:void add(int,int,com.android.tools.r8.ir.code.Instruction):89 -> a
    53:53:void add(int,int,com.android.tools.r8.ir.code.Instruction):90:90 -> a
    54:55:void updateLocals(com.android.tools.r8.ir.code.DebugLocalsChange):172:173 -> a
    54:55:void add(int,int,com.android.tools.r8.ir.code.Instruction):90 -> a
    56:57:void add(int,int,com.android.tools.r8.ir.code.Instruction):92:93 -> a
    58:60:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):185:187 -> a
    58:60:void add(int,int,com.android.tools.r8.ir.code.Instruction):94 -> a
    61:61:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
    61:61:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):188 -> a
    61:61:void add(int,int,com.android.tools.r8.ir.code.Instruction):94 -> a
    62:84:void emitDebugPosition(int,com.android.tools.r8.ir.code.Position):188:210 -> a
    62:84:void add(int,int,com.android.tools.r8.ir.code.Instruction):94 -> a
    85:85:void add(int,int,com.android.tools.r8.ir.code.Instruction):97:97 -> a
    86:96:void emitLocalChanges(int):215:225 -> a
    86:96:void add(int,int,com.android.tools.r8.ir.code.Instruction):98 -> a
    97:98:void add(int,int,com.android.tools.r8.ir.code.Instruction):104:105 -> a
    99:112:com.android.tools.r8.graph.DexDebugInfo build():111:124 -> a
    113:126:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):237:250 -> a
    127:134:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):248:255 -> a
    135:144:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):254:263 -> a
    145:145:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):262:262 -> a
    146:146:com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame com.android.tools.r8.graph.DexItemFactory.createSetOutlineCallerFrame(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap):2852:2852 -> a
    146:146:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):262 -> a
    147:151:void emitAdvancementEvents(int,com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.ir.code.Position,java.util.List,com.android.tools.r8.graph.DexItemFactory,boolean):261:265 -> a
    152:164:void addDefaultEventWithAdvancePcIfNecessary(int,int,java.util.List,com.android.tools.r8.graph.DexItemFactory):272:284 -> a
    165:165:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):294:294 -> a
    166:171:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.graph.DebugLocalInfo.endingLocals(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):74:79 -> a
    166:171:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):294 -> a
    172:177:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.graph.DebugLocalInfo.startingLocals(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):88:93 -> a
    172:177:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):296 -> a
    178:193:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):297:312 -> a
    194:194:void com.android.tools.r8.graph.DexDebugEvent$StartLocal.<init>(int,com.android.tools.r8.graph.DebugLocalInfo):345:345 -> a
    194:194:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):312 -> a
    195:196:void emitLocalChangeEvents(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,java.util.List,com.android.tools.r8.graph.DexItemFactory):312:313 -> a
    1:4:boolean localsChanged():177:180 -> b
com.android.tools.r8.graph.DexDebugEventVisitor -> com.android.tools.r8.graph.c0:
    void visit(com.android.tools.r8.graph.DexDebugEvent$AdvanceLine) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$AdvancePC) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$Default) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal) -> a
com.android.tools.r8.graph.DexDebugInfo -> com.android.tools.r8.graph.d0:
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>():26:26 -> <init>
    1:1:com.android.tools.r8.utils.structural.StructuralItem self():26:26 -> E
    int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):26:26 -> a
    2:6:int acceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):74:78 -> a
    2:6:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):26 -> a
    7:31:com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo convertToEventBased(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexItemFactory):289:313 -> a
    32:39:com.android.tools.r8.graph.DexDebugInfoForWriting convertToWritable(com.android.tools.r8.graph.DexDebugInfo):320:327 -> a
    1:1:boolean computeEquals(java.lang.Object):83:83 -> h
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():66:66 -> n
    com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo asEventBasedInfo() -> o0
    com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo asPcBasedInfo() -> p0
    com.android.tools.r8.graph.DexDebugInfo$DebugInfoKind getKind() -> q0
    int getParameterCount() -> r0
    int getStartLine() -> s0
    1:1:boolean isEventBasedInfo():43:43 -> t0
    1:1:boolean isPcBasedInfo():47:47 -> u0
    com.android.tools.r8.graph.DexDebugInfo self() -> v0
com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo -> com.android.tools.r8.graph.d0$a:
    com.android.tools.r8.graph.DexString[] parameters -> f
    com.android.tools.r8.graph.DexDebugEvent[] events -> g
    int startLine -> e
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():190:190 -> <clinit>
    1:5:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):202:206 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):190:190 -> a
    2:6:int com.android.tools.r8.graph.DexDebugInfo.acceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):74:78 -> a
    2:6:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):190 -> a
    7:7:int lambda$specify$0(com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo):197:197 -> a
    8:10:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):197:199 -> a
    11:15:java.util.List computeEntries(com.android.tools.r8.graph.DexMethod):235:239 -> a
    16:16:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):249:249 -> a
    17:18:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):254:255 -> a
    19:19:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):272:272 -> a
    1:1:com.android.tools.r8.graph.DexString[] lambda$specify$1(com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo):198:198 -> b
    1:1:com.android.tools.r8.graph.DexDebugEvent[] lambda$specify$2(com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo):199:199 -> c
    1:1:int computeHashCode():244:244 -> n0
    com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo asEventBasedInfo() -> o0
    com.android.tools.r8.graph.DexDebugInfo$DebugInfoKind getKind() -> q0
    1:1:int getParameterCount():231:231 -> r0
    1:1:int getStartLine():226:226 -> s0
    1:1:java.lang.String toString():277:277 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":287,"2":288,"3":289}}
    287:287:java.lang.String toString():278:278 -> toString
    288:288:java.lang.String toString():278:278 -> toString
    289:289:java.lang.String toString():278:278 -> toString
    280:286:java.lang.String toString():278:284 -> toString
    com.android.tools.r8.graph.DexDebugInfo self() -> v0
com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo -> com.android.tools.r8.graph.e0:
    int $r8$clinit -> h
    int maxPc -> f
    boolean $assertionsDisabled -> g
    int parameterCount -> e
    1:1:void <clinit>():86:86 -> <clinit>
    1:3:void <init>(int,int):95:97 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens) -> a
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):86:86 -> a
    2:6:int com.android.tools.r8.graph.DexDebugInfo.acceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):74:78 -> a
    2:6:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):86 -> a
    7:7:int access$000(com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo):86:86 -> a
    8:8:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):92:92 -> a
    9:9:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):132:132 -> a
    10:11:int internalAcceptCompareTo(com.android.tools.r8.graph.DexDebugInfo,com.android.tools.r8.utils.structural.CompareToVisitor):137:138 -> a
    12:12:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):143:143 -> a
    13:18:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):168:173 -> a
    19:19:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:80 -> a
    19:19:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):173 -> a
    20:21:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:81 -> a
    20:21:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):173 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:23:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):174:175 -> a
    24:24:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:80 -> a
    24:24:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):175 -> a
    25:26:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:81 -> a
    25:26:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):175 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):177:177 -> a
    1:1:int lambda$specify$0(com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo):92:92 -> b
    1:1:int lambda$specify$1(com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo):92:92 -> c
    1:1:int estimatedWriteSize():162:162 -> k0
    2:4:int estimatedWriteSize(int,int):152:154 -> k0
    2:4:int estimatedWriteSize():162 -> k0
    1:1:int computeHashCode():127:127 -> n0
    com.android.tools.r8.graph.DexDebugInfo$PcBasedDebugInfo asPcBasedInfo() -> p0
    com.android.tools.r8.graph.DexDebugInfo$DebugInfoKind getKind() -> q0
    1:1:int getParameterCount():107:107 -> r0
    int getStartLine() -> s0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":187,"2":188,"3":189}}
    187:187:java.lang.String toString():182:182 -> toString
    188:188:java.lang.String toString():182:182 -> toString
    189:189:java.lang.String toString():182:182 -> toString
    183:186:java.lang.String toString():182:185 -> toString
    com.android.tools.r8.graph.DexDebugInfo self() -> v0
com.android.tools.r8.graph.DexDebugInfo$WritableEventBasedDebugInfo -> com.android.tools.r8.graph.f0:
    1:1:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[],com.android.tools.r8.graph.DexDebugInfo$1):331:331 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):336:336 -> <init>
    1:1:void com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):259:259 -> a
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):341 -> a
    2:2:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    2:2:void com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):261 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):341 -> a
    3:4:void com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):264:265 -> a
    3:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens):341 -> a
    5:5:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):346:346 -> a
    6:11:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):362:367 -> a
    12:12:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:80 -> a
    12:12:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):368 -> a
    13:13:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:80 -> a
    13:13:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):368 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):80:80 -> a
    14:14:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):368 -> a
    15:15:void com.android.tools.r8.graph.DexDebugEvent.writeOn(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):81:81 -> a
    15:15:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):368 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens):370:370 -> a
    1:2:int estimatedWriteSize():351:352 -> k0
com.android.tools.r8.graph.DexDebugInfoForSingleLineMethod -> com.android.tools.r8.graph.g0:
    com.android.tools.r8.graph.DexDebugInfoForSingleLineMethod INSTANCE -> i
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexString[],com.android.tools.r8.graph.DexDebugEvent[]):16:16 -> <init>
    1:1:com.android.tools.r8.graph.DexDebugInfoForSingleLineMethod getInstance():20:20 -> w0
com.android.tools.r8.graph.DexDebugInfoForWriting -> com.android.tools.r8.internal.zg:
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens) -> a
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    void write(com.android.tools.r8.dex.DebugBytecodeWriter,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.GraphLens) -> a
    int estimatedWriteSize() -> k0
com.android.tools.r8.graph.DexDebugPositionState -> com.android.tools.r8.graph.h0:
    com.android.tools.r8.graph.DexString currentFile -> c
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.DexMethod outlineCallee -> g
    boolean isOutline -> f
    com.android.tools.r8.graph.DexMethod currentMethod -> d
    int currentLine -> b
    int currentPc -> a
    com.android.tools.r8.ir.code.Position currentCallerPosition -> e
    com.android.tools.r8.utils.Int2StructuralItemArrayMap outlineCallerPositions -> h
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod):37:37 -> <init>
    2:13:void <init>(int,com.android.tools.r8.graph.DexMethod):28:39 -> <init>
    void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd) -> a
    void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal) -> a
    1:2:void visit(com.android.tools.r8.graph.DexDebugEvent$AdvancePC):44:45 -> a
    3:3:void visit(com.android.tools.r8.graph.DexDebugEvent$AdvanceLine):50:50 -> a
    4:5:void visit(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame):55:56 -> a
    6:6:void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame):61:61 -> a
    7:8:void visit(com.android.tools.r8.graph.DexDebugEvent$SetOutlineCallerFrame):66:67 -> a
    9:11:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):72:74 -> a
    12:12:void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile):79:79 -> a
    13:13:com.android.tools.r8.ir.code.Position getCurrentCallerPosition():124:124 -> a
    1:1:com.android.tools.r8.graph.DexString getCurrentFile():116:116 -> b
    1:1:int getCurrentLine():112:112 -> c
    1:1:com.android.tools.r8.graph.DexMethod getCurrentMethod():120:120 -> d
    1:1:int getCurrentPc():108:108 -> e
    1:1:com.android.tools.r8.graph.DexMethod getOutlineCallee():132:132 -> f
    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap getOutlineCallerPositions():136:136 -> g
    1:1:boolean isOutline():128:128 -> h
    1:3:void resetOutlineInformation():140:142 -> i
com.android.tools.r8.graph.DexDefinition -> com.android.tools.r8.graph.i0:
    com.android.tools.r8.graph.DexAnnotationSet annotations -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():15:15 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexAnnotationSet):19:21 -> <init>
    1:1:com.android.tools.r8.graph.DexType getContextType():149:149 -> U
    1:1:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.DexDefinition):36:36 -> a
    1:1:com.android.tools.r8.graph.DexAnnotation lambda$rewriteAllAnnotations$0(java.util.function.BiFunction,com.android.tools.r8.graph.DexAnnotation):58 -> a
    2:2:com.android.tools.r8.graph.DexAnnotation lambda$rewriteAllAnnotations$0(java.util.function.BiFunction,com.android.tools.r8.graph.DexAnnotation):58:58 -> a
    3:3:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> a
    4:4:void removeAnnotations(java.util.function.Predicate):52:52 -> a
    5:5:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> a
    5:5:void removeAnnotations(java.util.function.Predicate):52 -> a
    6:6:void rewriteAllAnnotations(java.util.function.BiFunction):58:58 -> a
    7:7:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> a
    7:7:void rewriteAllAnnotations(java.util.function.BiFunction):57 -> a
    8:8:java.util.stream.Stream filterDexEncodedField(java.util.stream.Stream,java.util.function.Function):118:118 -> a
    9:9:java.util.stream.Stream filter(java.util.stream.Stream,java.util.function.Predicate,java.util.function.Function):109:109 -> a
    9:9:java.util.stream.Stream filterDexEncodedField(java.util.stream.Stream,java.util.function.Function):118 -> a
    10:10:java.lang.Object lambda$filterDexEncodedField$1(java.util.function.Function,com.android.tools.r8.graph.DexDefinition):121:121 -> a
    1:1:java.util.stream.Stream filterDexEncodedMethod(java.util.stream.Stream,java.util.function.Function):130:130 -> b
    2:2:java.util.stream.Stream filter(java.util.stream.Stream,java.util.function.Predicate,java.util.function.Function):109:109 -> b
    2:2:java.util.stream.Stream filterDexEncodedMethod(java.util.stream.Stream,java.util.function.Function):130 -> b
    3:3:java.lang.Object lambda$filterDexEncodedMethod$2(java.util.function.Function,com.android.tools.r8.graph.DexDefinition):133:133 -> b
    com.android.tools.r8.graph.DexClass asDexClass() -> e
    com.android.tools.r8.graph.DexProgramClass asProgramClass() -> f0
    boolean isProgramClass() -> g0
    1:1:com.android.tools.r8.graph.DexAnnotationSet annotations():34:34 -> n0
    com.android.tools.r8.graph.DexEncodedField asDexEncodedField() -> o0
    com.android.tools.r8.graph.DexEncodedMember asDexEncodedMember() -> p0
    com.android.tools.r8.graph.DexEncodedMethod asDexEncodedMethod() -> q0
    1:1:void clearAnnotations():40:40 -> r0
    2:2:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> r0
    2:2:void clearAnnotations():40 -> r0
    1:1:boolean hasAnnotations():25:25 -> s0
    1:1:boolean hasAnyAnnotations():30:30 -> t0
    boolean isDexClass() -> u0
    boolean isDexEncodedField() -> v0
    boolean isDexEncodedMember() -> w0
    boolean isDexEncodedMethod() -> x0
    boolean isStaticMember() -> y0
    1:1:void clearAnnotations():40:40 -> z
    1:1:void clearAllAnnotations():44 -> z
    2:2:void setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):48:48 -> z
    2:2:void clearAnnotations():40 -> z
    2:2:void clearAllAnnotations():44 -> z
com.android.tools.r8.graph.DexDefinitionSupplier -> com.android.tools.r8.graph.k0:
    1:1:void <clinit>():7:7 -> <clinit>
    com.android.tools.r8.graph.DexItemFactory dexItemFactory() -> a
    1:1:com.android.tools.r8.graph.DexClass contextIndependentDefinitionFor(com.android.tools.r8.graph.DexType):18:18 -> a
    2:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> a
    3:3:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    4:4:com.android.tools.r8.graph.DexClassAndMethod definitionFor(com.android.tools.r8.graph.DexMethod):91:91 -> a
    5:5:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.lookupClassMethod(com.android.tools.r8.graph.DexMethod):595:595 -> a
    5:5:com.android.tools.r8.graph.DexClassAndMethod definitionFor(com.android.tools.r8.graph.DexMethod):92 -> a
    6:6:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.toClassMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):599:599 -> a
    6:6:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.lookupClassMethod(com.android.tools.r8.graph.DexMethod):595 -> a
    6:6:com.android.tools.r8.graph.DexClassAndMethod definitionFor(com.android.tools.r8.graph.DexMethod):92 -> a
    7:7:com.android.tools.r8.graph.DexClass definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> b
    2:2:com.android.tools.r8.graph.DexProgramClass definitionForProgramType(com.android.tools.r8.graph.DexType):106:106 -> b
    com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType) -> d
    com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType) -> e
com.android.tools.r8.graph.DexDefinitionSupplier$1 -> com.android.tools.r8.graph.j0:
    int $r8$clinit -> a
com.android.tools.r8.graph.DexEncodedAnnotation -> com.android.tools.r8.graph.l0:
    com.android.tools.r8.graph.DexAnnotationElement[] elements -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexType type -> b
    int sorted -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement[]):29:29 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement[]):23:31 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexType lambda$specify$0(com.android.tools.r8.graph.DexEncodedAnnotation):26:26 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):26:26 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):45:45 -> a
    4:4:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):45 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":56,"2":57,"3":58}}
    56:56:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    56:56:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):45 -> a
    57:57:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    57:57:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):45 -> a
    58:58:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    58:58:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    58:58:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):45 -> a
    51:51:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):46:46 -> a
    52:52:void com.android.tools.r8.graph.DexAnnotationElement.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):64:64 -> a
    52:52:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):47 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    53:53:void com.android.tools.r8.graph.DexAnnotationElement.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):64:64 -> a
    53:53:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):47 -> a
    54:54:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    54:54:void com.android.tools.r8.graph.DexAnnotationElement.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):64 -> a
    54:54:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):47 -> a
    55:55:void com.android.tools.r8.graph.DexAnnotationElement.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):65:65 -> a
    55:55:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):47 -> a
    59:59:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):68:68 -> a
    60:60:int lambda$sort$2(com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexAnnotationElement):98:98 -> a
    61:67:com.android.tools.r8.graph.DexEncodedAnnotation rewrite(java.util.function.Function,java.util.function.Function):113:119 -> a
    1:1:com.android.tools.r8.graph.DexAnnotationElement[] lambda$specify$1(com.android.tools.r8.graph.DexEncodedAnnotation):26:26 -> b
    1:2:void forEachElement(java.util.function.Consumer):52:53 -> d
    1:3:boolean equals(java.lang.Object):86:88 -> equals
    1:1:com.android.tools.r8.graph.DexAnnotationElement getElement(int):58:58 -> h
    1:1:int hashCode():78:78 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():41:41 -> n
    1:1:int getNumberOfElements():62:62 -> n0
    1:2:void sort():94:95 -> o0
    3:3:int sortedHashCode():106:106 -> o0
    3:3:void sort():95 -> o0
    4:9:void sort():95:100 -> o0
    10:10:int sortedHashCode():106:106 -> o0
    10:10:void sort():102 -> o0
    11:11:void sort():102:102 -> o0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":75,"2":76,"3":77}}
    75:75:java.lang.String toString():73:73 -> toString
    76:76:java.lang.String toString():73:73 -> toString
    77:77:java.lang.String toString():73:73 -> toString
    74:74:java.lang.String toString():73:73 -> toString
com.android.tools.r8.graph.DexEncodedArray -> com.android.tools.r8.graph.m0:
    com.android.tools.r8.graph.DexValue[] values -> b
    1:2:void <init>(com.android.tools.r8.graph.DexValue[]):14:15 -> <init>
    1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):26:26 -> a
    1:1:boolean equals(java.lang.Object):39:39 -> equals
    1:1:int hashCode():31:31 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":46,"2":47,"3":48}}
    46:46:java.lang.String toString():44:44 -> toString
    47:47:java.lang.String toString():44:44 -> toString
    48:48:java.lang.String toString():44:44 -> toString
    45:45:java.lang.String toString():44:44 -> toString
com.android.tools.r8.graph.DexEncodedField -> com.android.tools.r8.graph.o0:
    boolean isInlinableByJavaC -> m
    com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo optimizationInfo -> k
    boolean $assertionsDisabled -> o
    boolean deprecated -> i
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature genericSignature -> j
    com.android.tools.r8.kotlin.KotlinFieldLevelInfo kotlinMemberInfo -> l
    com.android.tools.r8.graph.FieldAccessFlags accessFlags -> g
    com.android.tools.r8.graph.DexValue staticValue -> h
    com.android.tools.r8.graph.DexEncodedField[] EMPTY_ARRAY -> n
    1:4:void <clinit>():32:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessFlags,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexValue,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,boolean,com.android.tools.r8.graph.DexEncodedField$1):32:32 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessFlags,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexValue,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,boolean):70:70 -> <init>
    3:36:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessFlags,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexValue,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,boolean):43:76 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():107:107 -> D0
    1:1:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo():32 -> D0
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexEncodedField$Builder builder():355:355 -> H0
    1:2:void clearStaticValue():253:254 -> I0
    1:1:com.android.tools.r8.graph.FieldAccessFlags getAccessFlags():137:137 -> J0
    1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature getGenericSignature():341:341 -> K0
    1:1:boolean getIsInlinableByJavaC():371:371 -> L0
    1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinInfo():127:127 -> M0
    1:2:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo getMutableOptimizationInfo():116:117 -> N0
    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():107:107 -> O0
    1:2:com.android.tools.r8.graph.DexValue getStaticValue():258:259 -> P0
    1:2:boolean hasExplicitStaticValue():242:243 -> Q0
    1:1:boolean isDeprecated():94:94 -> R0
    1:1:boolean isEnum():204:204 -> S0
    1:1:void clearKotlinInfo():132:132 -> T
    1:1:boolean isStatic():213:213 -> T0
    1:1:com.android.tools.r8.graph.DexEncodedField$Builder syntheticBuilder():363:363 -> U0
    1:1:com.android.tools.r8.graph.DexType type():90:90 -> V0
    1:1:com.android.tools.r8.graph.DexValue access$200(com.android.tools.r8.graph.DexEncodedField):32:32 -> a
    2:2:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo access$302(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo):32:32 -> a
    3:8:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):52:57 -> a
    9:9:void setOptimizationInfo(com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):122:122 -> a
    10:11:void setKotlinMemberInfo(com.android.tools.r8.kotlin.KotlinFieldLevelInfo):141:142 -> a
    12:12:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):147:147 -> a
    13:14:void com.android.tools.r8.graph.DexAnnotationSet.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):127:128 -> a
    13:14:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):147 -> a
    15:15:java.lang.Object apply(java.util.function.Function,java.util.function.Function):191:191 -> a
    16:18:void setStaticValue(com.android.tools.r8.graph.DexValue):247:249 -> a
    19:23:com.android.tools.r8.ir.code.Instruction valueAsConstInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.graph.AppView):269:273 -> a
    24:24:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo getOptimizationInfo():107:107 -> a
    24:24:com.android.tools.r8.ir.code.Instruction valueAsConstInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.graph.AppView):277 -> a
    25:35:com.android.tools.r8.ir.code.Instruction valueAsConstInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.graph.AppView):277:287 -> a
    36:36:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    36:36:com.android.tools.r8.ir.code.Instruction valueAsConstInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.graph.AppView):286 -> a
    37:43:com.android.tools.r8.ir.code.Instruction valueAsConstInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.graph.AppView):293:299 -> a
    44:44:boolean com.android.tools.r8.graph.DexValue.isDefault(com.android.tools.r8.graph.DexType):412:412 -> a
    44:44:com.android.tools.r8.ir.code.Instruction valueAsConstInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.graph.AppView):299 -> a
    45:45:com.android.tools.r8.ir.code.Instruction valueAsConstInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.graph.AppView):300:300 -> a
    46:46:com.android.tools.r8.graph.DexEncodedField toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,java.util.function.Consumer):313:313 -> a
    47:47:com.android.tools.r8.graph.DexEncodedField$Builder builder(com.android.tools.r8.graph.DexEncodedField):359:359 -> a
    47:47:com.android.tools.r8.graph.DexEncodedField toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,java.util.function.Consumer):316 -> a
    48:50:com.android.tools.r8.graph.DexEncodedField toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,java.util.function.Consumer):317:319 -> a
    51:54:com.android.tools.r8.graph.DexEncodedField toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,java.util.function.Consumer):318:321 -> a
    55:56:void setGenericSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):345:346 -> a
    57:57:boolean getIsInlinableByJavaC():371:371 -> a
    57:57:boolean getOrComputeIsInlinableByJavaC(com.android.tools.r8.graph.DexItemFactory):375 -> a
    58:58:boolean getOrComputeIsInlinableByJavaC(com.android.tools.r8.graph.DexItemFactory):378:378 -> a
    59:59:boolean isFinal():208:208 -> a
    59:59:boolean getOrComputeIsInlinableByJavaC(com.android.tools.r8.graph.DexItemFactory):378 -> a
    60:69:boolean getOrComputeIsInlinableByJavaC(com.android.tools.r8.graph.DexItemFactory):381:390 -> a
    70:70:void markAsInlinableByJavaC():367:367 -> a
    70:70:boolean getOrComputeIsInlinableByJavaC(com.android.tools.r8.graph.DexItemFactory):393 -> a
    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo access$300(com.android.tools.r8.graph.DexEncodedField):32:32 -> b
    2:6:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):325:329 -> b
    7:7:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":677,"2":678,"3":679}}
    677:677:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):329:329 -> b
    678:678:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):329:329 -> b
    679:679:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):329:329 -> b
    337:339:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):330:332 -> b
    340:340:boolean com.android.tools.r8.graph.DexValue.isDexValueNull():0:0 -> b
    340:340:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):332 -> b
    341:341:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):333:333 -> b
    342:342:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":683,"2":684,"3":685}}
    683:683:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):333:333 -> b
    684:684:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):333:333 -> b
    685:685:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):333:333 -> b
    676:676:boolean validateDexValue(com.android.tools.r8.graph.DexItemFactory):334:334 -> b
    1:1:com.android.tools.r8.graph.DexValue lambda$specify$0(com.android.tools.r8.graph.DexEncodedField):54:54 -> c
    1:1:boolean lambda$specify$1(com.android.tools.r8.graph.DexEncodedField):57:57 -> d
    1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinInfo():127:127 -> e0
    1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():32 -> e0
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():32:32 -> getAccessFlags
    1:1:com.android.tools.r8.graph.DexType getType():166:166 -> getType
    1:1:java.lang.String toSourceString():162:162 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():81:81 -> n
    com.android.tools.r8.graph.DexEncodedField asDexEncodedField() -> o0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":154,"2":155,"3":156}}
    154:154:java.lang.String toString():152:152 -> toString
    155:155:java.lang.String toString():152:152 -> toString
    156:156:java.lang.String toString():152:152 -> toString
    153:153:java.lang.String toString():152:152 -> toString
    1:1:void clearGenericSignature():351:351 -> v
    1:1:boolean isStaticMember():230:230 -> y0
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel():112:112 -> z0
com.android.tools.r8.graph.DexEncodedField$Builder -> com.android.tools.r8.graph.n0:
    com.android.tools.r8.graph.DexAnnotationSet annotations -> b
    com.android.tools.r8.graph.FieldAccessFlags accessFlags -> c
    boolean d8R8Synthesized -> i
    boolean checkAndroidApiLevel -> k
    boolean $assertionsDisabled -> l
    com.android.tools.r8.graph.DexField field -> a
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature genericSignature -> d
    boolean deprecated -> h
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevel -> f
    com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo optimizationInfo -> g
    com.android.tools.r8.graph.DexValue staticValue -> e
    java.util.function.Consumer buildConsumer -> j
    1:1:void <clinit>():397:397 -> <clinit>
    1:1:void <init>(boolean,com.android.tools.r8.graph.DexEncodedField$1):397:397 -> <init>
    2:2:void <init>(boolean,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField$1):397:397 -> <init>
    3:3:void <init>(boolean):414:414 -> <init>
    4:19:void <init>(boolean):400:415 -> <init>
    20:20:void <init>(boolean,com.android.tools.r8.graph.DexEncodedField):418:418 -> <init>
    21:53:void <init>(boolean,com.android.tools.r8.graph.DexEncodedField):400:432 -> <init>
    1:1:com.android.tools.r8.graph.DexEncodedField$Builder apply(java.util.function.Consumer):436:436 -> a
    2:2:com.android.tools.r8.graph.DexEncodedField$Builder setAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.AppView):447:447 -> a
    3:3:com.android.tools.r8.graph.DexEncodedField$Builder addBuildConsumer(java.util.function.Consumer):463:463 -> a
    3:3:com.android.tools.r8.graph.DexEncodedField$Builder setAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.AppView):447 -> a
    4:5:void lambda$setAbstractValue$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexEncodedField):449:450 -> a
    6:6:com.android.tools.r8.graph.DexEncodedField$Builder setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):458:458 -> a
    7:7:com.android.tools.r8.graph.DexEncodedField$Builder setField(com.android.tools.r8.graph.DexField):468:468 -> a
    8:8:com.android.tools.r8.graph.DexEncodedField$Builder setAccessFlags(com.android.tools.r8.graph.FieldAccessFlags):473:473 -> a
    9:9:com.android.tools.r8.graph.DexEncodedField$Builder setApiLevel(com.android.tools.r8.androidapi.ComputedApiLevel):478:478 -> a
    10:10:com.android.tools.r8.graph.DexEncodedField$Builder setGenericSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):483:483 -> a
    11:11:com.android.tools.r8.graph.DexEncodedField$Builder setStaticValue(com.android.tools.r8.graph.DexValue):488:488 -> a
    12:12:com.android.tools.r8.graph.DexEncodedField$Builder disableAndroidApiLevelCheckIf(boolean):503:503 -> a
    13:29:com.android.tools.r8.graph.DexEncodedField build():509:525 -> a
    1:1:com.android.tools.r8.graph.DexEncodedField$Builder modifyAccessFlags(java.util.function.Consumer):441:441 -> b
    2:2:com.android.tools.r8.graph.DexEncodedField$Builder clearAnnotations():454:454 -> b
    3:3:com.android.tools.r8.graph.DexEncodedField$Builder setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):458:458 -> b
    3:3:com.android.tools.r8.graph.DexEncodedField$Builder clearAnnotations():454 -> b
    4:4:com.android.tools.r8.graph.DexEncodedField$Builder setDeprecated(boolean):493:493 -> b
com.android.tools.r8.graph.DexEncodedMember -> com.android.tools.r8.internal.Ag:
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevelForDefinition -> e
    boolean d8R8Synthesized -> d
    com.android.tools.r8.graph.DexMember reference -> f
    1:4:void <init>(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexAnnotationSet,boolean,com.android.tools.r8.androidapi.ComputedApiLevel):33:36 -> <init>
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForDefinition():99:99 -> A0
    1:1:com.android.tools.r8.graph.DexType getHolderType():46:46 -> B0
    1:1:com.android.tools.r8.graph.DexString getName():50:50 -> C0
    com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo() -> D0
    1:1:com.android.tools.r8.graph.DexMember getReference():55:55 -> E0
    1:1:boolean isD8R8Synthesized():59:59 -> F0
    1:1:boolean isPrivate():73:73 -> G0
    void clearKotlinInfo() -> T
    java.lang.Object apply(java.util.function.Function,java.util.function.Function) -> a
    1:1:void accept(java.util.function.Consumer,java.util.function.Consumer):83:83 -> a
    2:2:java.lang.Object lambda$accept$0(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField):85:85 -> a
    3:3:java.lang.Object lambda$accept$1(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):89:89 -> a
    1:1:void setApiLevelForDefinition(com.android.tools.r8.androidapi.ComputedApiLevel):103:103 -> e
    com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo() -> e0
    1:2:boolean equals(java.lang.Object):115:116 -> equals
    1:1:com.android.tools.r8.graph.DexReference getReference():12:12 -> getReference
    1:1:int hashCode():121:121 -> hashCode
    com.android.tools.r8.graph.DexEncodedMember asDexEncodedMember() -> p0
    void clearGenericSignature() -> v
    boolean isDexEncodedMember() -> w0
    com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel() -> z0
com.android.tools.r8.graph.DexEncodedMethod -> com.android.tools.r8.graph.q0:
    com.android.tools.r8.graph.ParameterAnnotationsList parameterAnnotationsList -> i
    com.android.tools.r8.cf.CfVersion classFileVersion -> m
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo optimizationInfo -> l
    com.android.tools.r8.graph.DexEncodedMethod[] EMPTY_ARRAY -> t
    com.android.tools.r8.graph.DexEncodedMethod SENTINEL -> u
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap NO_PARAMETER_INFO -> v
    boolean $assertionsDisabled -> w
    com.android.tools.r8.graph.Code code -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap parameterInfo -> r
    com.android.tools.r8.graph.GenericSignature$MethodTypeSignature genericSignature -> p
    boolean obsolete -> s
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevelForCode -> n
    com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride -> q
    boolean deprecated -> h
    com.android.tools.r8.graph.MethodAccessFlags accessFlags -> g
    com.android.tools.r8.graph.DexEncodedMethod$CompilationState compilationState -> k
    com.android.tools.r8.kotlin.KotlinMethodLevelInfo kotlinMemberInfo -> o
    1:57:void <clinit>():91:147 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo,boolean,com.android.tools.r8.graph.DexEncodedMethod$1):91:91 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo,boolean):239:239 -> <init>
    3:99:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.ParameterAnnotationsList,com.android.tools.r8.graph.Code,boolean,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo,boolean):156:252 -> <init>
    1:1:boolean isObsolete():183:183 -> A1
    1:1:boolean isOnlyInlinedIntoNestMembers():621:621 -> B1
    1:2:boolean isPrivateMethod():544:545 -> C1
    1:2:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1237:1238 -> D0
    1:2:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo getOptimizationInfo():91 -> D0
    1:2:boolean isProcessed():422:423 -> D1
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:2:boolean isProtectedMethod():539:540 -> E1
    1:2:boolean isPublicMethod():534:535 -> F1
    1:2:boolean isPublicized():529:530 -> G1
    1:1:boolean belongsToDirectPool():581:581 -> H0
    1:2:boolean isStatic():562:563 -> H1
    1:1:boolean belongsToVirtualPool():585:585 -> I0
    1:1:boolean isSynchronized():447:447 -> I1
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder builder():1311:1311 -> J0
    1:2:boolean isSyntheticMethod():576:577 -> J1
    1:1:void checkIfObsolete():177:177 -> K0
    1:2:boolean isVirtualMethod():500:501 -> K1
    1:1:void clearApiLevelForCode():1246:1246 -> L0
    1:2:void markNotProcessed():725:726 -> L1
    1:2:java.lang.String codeToString():1215:1216 -> M0
    1:2:java.lang.String qualifiedName():835:836 -> M1
    1:2:java.lang.String descriptor():840:841 -> N0
    1:1:com.android.tools.r8.graph.DexType returnType():341:341 -> N1
    1:1:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():194:194 -> O0
    1:1:void setObsolete():189:189 -> O1
    1:1:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForCode():1242:1242 -> P0
    1:1:boolean shouldNotHaveCode():795:795 -> P1
    1:3:com.android.tools.r8.cf.CfVersion getClassFileVersion():808:810 -> Q0
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder syntheticBuilder():1303:1303 -> Q1
    1:2:com.android.tools.r8.graph.Code getCode():803:804 -> R0
    1:2:void unsetCode():750:751 -> R1
    1:1:com.android.tools.r8.graph.DexEncodedMethod$CompilationState getCompilationState():210:210 -> S0
    1:1:void unsetObsolete():223:223 -> S1
    1:1:void clearKotlinInfo():595:595 -> T
    1:3:com.android.tools.r8.graph.DexWritableCode getDexWritableCodeOrNull():1297:1299 -> T0
    1:1:int getFirstNonReceiverArgumentIndex():202:202 -> U0
    1:1:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature getGenericSignature():1283:1283 -> V0
    1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinInfo():590:590 -> W0
    1:3:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo getMutableOptimizationInfo():1261:1263 -> X0
    1:1:int getNumberOfArguments():206:206 -> Y0
    2:2:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> Y0
    2:2:int getNumberOfArguments():206 -> Y0
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> Y0
    3:3:int getNumberOfArguments():206 -> Y0
    1:2:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1237:1238 -> Z0
    1:1:com.android.tools.r8.cf.CfVersion access$200(com.android.tools.r8.graph.DexEncodedMethod):91:91 -> a
    2:2:com.android.tools.r8.graph.DexEncodedMethod$CompilationState access$402(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$CompilationState):91:91 -> a
    3:11:void syntheticSpecify(com.android.tools.r8.utils.structural.StructuralSpecification):276:284 -> a
    12:18:int compareCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.CompareToVisitor):298:304 -> a
    19:19:int compareCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.CompareToVisitor):296:296 -> a
    20:24:void hashCodeObject(com.android.tools.r8.graph.Code,com.android.tools.r8.utils.structural.HashingVisitor):312:316 -> a
    25:28:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):349:352 -> a
    29:29:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):351:351 -> a
    30:30:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":751,"2":752,"3":753}}
    751:751:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):351:351 -> a
    752:752:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):351:351 -> a
    753:753:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):351:351 -> a
    384:387:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):354:357 -> a
    388:388:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):356:356 -> a
    389:389:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":758,"2":759,"3":760}}
    758:758:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):356:356 -> a
    759:759:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):356:356 -> a
    760:760:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):356:356 -> a
    748:750:void setLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):359:361 -> a
    761:761:java.lang.Object apply(java.util.function.Function,java.util.function.Function):380:380 -> a
    762:765:com.android.tools.r8.graph.DexClassAndMethod asDexClassAndMethod(com.android.tools.r8.graph.DexDefinitionSupplier):384:387 -> a
    762:765:com.android.tools.r8.graph.DexClassAndMethod asDexClassAndMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):408 -> a
    766:767:com.android.tools.r8.graph.ProgramMethod asProgramMethod(com.android.tools.r8.graph.DexProgramClass):393:394 -> a
    768:769:com.android.tools.r8.graph.ProgramMethod asProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):398:399 -> a
    768:769:com.android.tools.r8.graph.ProgramMethod asProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):418 -> a
    770:770:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    770:770:com.android.tools.r8.graph.ProgramMethod asProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):399 -> a
    770:770:com.android.tools.r8.graph.ProgramMethod asProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):418 -> a
    771:773:com.android.tools.r8.graph.ProgramMethod asProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):399:401 -> a
    771:773:com.android.tools.r8.graph.ProgramMethod asProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):418 -> a
    774:775:boolean willBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):465:466 -> a
    776:776:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    776:776:boolean willBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):466 -> a
    777:778:boolean willBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):467:468 -> a
    779:779:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    779:779:com.android.tools.r8.graph.Code buildInstanceOfCode(com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.utils.InternalOptions):948 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    780:780:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    780:780:com.android.tools.r8.graph.Code buildInstanceOfCode(com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.utils.InternalOptions):948 -> a
    781:794:com.android.tools.r8.graph.CfCode buildInstanceOfCfCode(com.android.tools.r8.graph.DexType,boolean):954:967 -> a
    781:794:com.android.tools.r8.graph.Code buildInstanceOfCode(com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.utils.InternalOptions):949 -> a
    795:802:com.android.tools.r8.graph.DexCode buildInstanceOfDexCode(com.android.tools.r8.graph.DexType,boolean):971:978 -> a
    795:802:com.android.tools.r8.graph.Code buildInstanceOfCode(com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.utils.InternalOptions):950 -> a
    803:804:void setKotlinMemberInfo(com.android.tools.r8.kotlin.KotlinMethodLevelInfo):608:609 -> a
    805:807:boolean isInliningCandidate(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):629:631 -> a
    808:808:boolean isInliningCandidate(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):630:630 -> a
    809:817:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):639:647 -> a
    818:818:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2253,"2":2254,"3":2255}}
    2253:2253:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):647:647 -> a
    2254:2254:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):647:647 -> a
    2255:2255:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):647:647 -> a
    1465:1512:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):647:694 -> a
    1513:1513:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2302,"2":2303,"3":2304}}
    2302:2302:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):694:694 -> a
    2303:2303:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):694:694 -> a
    2304:2304:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):694:694 -> a
    2207:2207:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):694:694 -> a
    2208:2211:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):679:682 -> a
    2212:2215:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):672:675 -> a
    2216:2219:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):665:668 -> a
    2220:2252:boolean isInliningCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):658:690 -> a
    2305:2324:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):699:718 -> a
    2325:2325:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):715:715 -> a
    2326:2326:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):712:712 -> a
    2327:2327:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):709:709 -> a
    2328:2328:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):706:706 -> a
    2329:2347:boolean markProcessed(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):703:721 -> a
    2348:2352:void setCode(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.AppView):730:734 -> a
    2353:2354:void setParameterInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):762:763 -> a
    2353:2354:void setCode(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.AppView):734 -> a
    2355:2355:void setCode(com.android.tools.r8.graph.Code,com.android.tools.r8.graph.AppView):736:736 -> a
    2356:2358:void setCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.ir.regalloc.RegisterAllocator,com.android.tools.r8.graph.AppView):744:746 -> a
    2359:2362:boolean keepLocals(com.android.tools.r8.utils.InternalOptions):755:758 -> a
    2363:2364:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo getOptimizationInfo():1237:1238 -> a
    2363:2364:boolean keepLocals(com.android.tools.r8.utils.InternalOptions):758 -> a
    2365:2365:boolean keepLocals(com.android.tools.r8.utils.InternalOptions):758:758 -> a
    2366:2366:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):782:782 -> a
    2367:2369:void downgradeClassFileVersion(com.android.tools.r8.cf.CfVersion):829:831 -> a
    2370:2370:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):845:845 -> a
    2371:2371:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3225,"2":3226,"3":3227}}
    3225:3225:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):846:846 -> a
    3226:3226:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):846:846 -> a
    3227:3227:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):847:847 -> a
    3219:3224:java.lang.String descriptor(com.android.tools.r8.naming.NamingLens):848:853 -> a
    3228:3228:void rewriteAllAnnotations(java.util.function.BiFunction):871:871 -> a
    3229:3233:void rewriteAllAnnotations(java.util.function.BiFunction):870:874 -> a
    3234:3234:void setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):894:894 -> a
    3234:3234:void rewriteAllAnnotations(java.util.function.BiFunction):872 -> a
    3235:3235:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):898:898 -> a
    3236:3236:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4211,"2":4212,"3":4213}}
    4211:4211:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):899:899 -> a
    4212:4212:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):899:899 -> a
    4213:4213:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):900:900 -> a
    4137:4139:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):901:903 -> a
    4140:4140:java.lang.String com.android.tools.r8.graph.DexItem.toSmaliString():44:44 -> a
    4140:4140:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):903 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4141:4142:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):903:904 -> a
    4143:4143:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> a
    4143:4143:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> a
    4143:4143:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):904 -> a
    4144:4150:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):904:910 -> a
    4151:4206:java.lang.String com.android.tools.r8.graph.DexCode.toSmaliString(com.android.tools.r8.naming.ClassNameMapper):522:577 -> a
    4151:4206:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):911 -> a
    4207:4210:java.lang.String toSmaliString(com.android.tools.r8.naming.ClassNameMapper):911:914 -> a
    4214:4223:com.android.tools.r8.graph.DexCode generateCodeFromTemplate(int,int,com.android.tools.r8.code.Instruction[]):929:938 -> a
    4224:4227:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):996:999 -> a
    4228:4228:int com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo.getParameterCount():231:231 -> a
    4228:4228:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):999 -> a
    4229:4234:void setDebugInfoWithFakeThisParameter(com.android.tools.r8.graph.Code,int,com.android.tools.r8.graph.AppView):999:1004 -> a
    4235:4236:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod):1089:1090 -> a
    4237:4237:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):1094:1094 -> a
    4238:4238:com.android.tools.r8.graph.DexEncodedMethod$Builder builder(com.android.tools.r8.graph.DexEncodedMethod):1315:1315 -> a
    4238:4238:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):1095 -> a
    4239:4251:com.android.tools.r8.graph.DexEncodedMethod toTypeSubstitutedMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):1096:1108 -> a
    4252:4267:com.android.tools.r8.graph.ProgramMethod toPrivateSyntheticMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):1118:1133 -> a
    4268:4271:void lambda$toPrivateSyntheticMethod$5(com.android.tools.r8.graph.MethodAccessFlags):1128:1131 -> a
    4272:4272:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1138:1138 -> a
    4273:4273:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):322:322 -> a
    4273:4273:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1138 -> a
    4274:4289:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1139:1154 -> a
    4290:4319:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1153:1182 -> a
    4320:4320:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIf(boolean,com.android.tools.r8.utils.OptionalBool):1436:1436 -> a
    4320:4320:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1181 -> a
    4321:4321:com.android.tools.r8.graph.DexEncodedMethod toForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):1183:1183 -> a
    4322:4327:void lambda$toForwardingMethod$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):1157:1162 -> a
    4328:4346:void lambda$toForwardingMethod$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):1161:1179 -> a
    4347:4369:void lambda$toForwardingMethod$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):1158:1180 -> a
    4370:4375:void lambda$toForwardingMethod$6(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1165:1170 -> a
    4376:4376:boolean com.android.tools.r8.graph.DexType.isInterface(com.android.tools.r8.graph.DexDefinitionSupplier):362:362 -> a
    4376:4376:void lambda$toForwardingMethod$6(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1170 -> a
    4377:4377:void lambda$toForwardingMethod$6(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1166:1166 -> a
    4378:4385:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1188:1195 -> a
    4386:4386:void com.android.tools.r8.graph.MethodAccessFlags.unsetAbstract():200:200 -> a
    4386:4386:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1196 -> a
    4387:4396:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1199:1208 -> a
    4397:4402:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1204:1209 -> a
    4403:4403:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForCode():1242:1242 -> a
    4403:4403:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1210 -> a
    4404:4405:com.android.tools.r8.graph.DexEncodedMethod createDesugaringForwardingMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):1210:1211 -> a
    4406:4407:void setOptimizationInfo(com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):1268:1269 -> a
    4408:4412:void copyMetadata(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):1273:1277 -> a
    4413:4413:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevelForCode():1242:1242 -> a
    4413:4413:void copyMetadata(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):1278 -> a
    4414:4414:void copyMetadata(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):1278:1278 -> a
    4415:4416:void setGenericSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):1287:1288 -> a
    4417:4417:com.android.tools.r8.graph.DexEncodedMethod$Builder builder(com.android.tools.r8.graph.DexEncodedMethod):1315:1315 -> a
    4417:4417:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):983 -> a
    4418:4418:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):985:985 -> a
    4419:4419:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    4419:4419:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):985 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4420:4420:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    4420:4420:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):985 -> a
    4421:4421:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986:986 -> a
    4422:4423:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1041:1042 -> a
    4422:4423:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4424:4424:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4516,"2":4517,"3":4518}}
    4516:4516:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1043:1043 -> a
    4516:4516:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4517:4517:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1043:1043 -> a
    4517:4517:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4518:4518:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1043:1043 -> a
    4518:4518:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4425:4425:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1046:1046 -> a
    4425:4425:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4426:4437:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1044:1055 -> a
    4426:4437:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4438:4446:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1052:1060 -> a
    4438:4446:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4447:4455:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1057:1065 -> a
    4447:4455:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4456:4460:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1063:1067 -> a
    4456:4460:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4461:4462:boolean isStaticMember():568:569 -> a
    4461:4462:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1068 -> a
    4461:4462:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4463:4476:com.android.tools.r8.graph.CfCode toCfCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1072:1085 -> a
    4463:4476:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):986 -> a
    4477:4477:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987:987 -> a
    4478:4479:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1009:1010 -> a
    4478:4479:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4480:4480:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4519,"2":4520,"3":4521}}
    4519:4519:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1011:1011 -> a
    4519:4519:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4520:4520:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1011:1011 -> a
    4520:4520:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4521:4521:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1011:1011 -> a
    4521:4521:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4481:4481:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1014:1014 -> a
    4481:4481:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4482:4492:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1012:1022 -> a
    4482:4492:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4493:4499:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1021:1027 -> a
    4493:4499:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4500:4504:com.android.tools.r8.graph.DexCode toDexCodeThatLogsError(com.android.tools.r8.graph.DexItemFactory):1025:1029 -> a
    4500:4504:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):987 -> a
    4505:4511:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):984:990 -> a
    4512:4512:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIf(boolean,com.android.tools.r8.utils.OptionalBool):1436:1436 -> a
    4512:4512:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):988 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4513:4513:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):988:988 -> a
    4514:4514:void setObsolete():189:189 -> a
    4514:4514:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):991 -> a
    4515:4515:com.android.tools.r8.graph.DexEncodedMethod toMethodThatLogsError(com.android.tools.r8.graph.AppView):992:992 -> a
    4522:4522:com.android.tools.r8.graph.DexEncodedMethod$Builder builder(com.android.tools.r8.graph.DexEncodedMethod):1315:1315 -> a
    4522:4522:com.android.tools.r8.graph.DexEncodedMethod toRenamedHolderMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1112 -> a
    4523:4524:com.android.tools.r8.graph.DexEncodedMethod toRenamedHolderMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):1113:1114 -> a
    1:1:com.android.tools.r8.graph.ParameterAnnotationsList getParameterAnnotations():886:886 -> a1
    1:1:com.android.tools.r8.graph.ParameterAnnotationsList lambda$syntheticSpecify$0(com.android.tools.r8.graph.DexEncodedMethod):279:279 -> b
    2:6:void collectMixedSectionItemsWithCodeMapping(com.android.tools.r8.dex.MixedSectionCollection):786:790 -> b
    7:8:void com.android.tools.r8.graph.DexAnnotationSet.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):127:128 -> b
    7:8:void collectMixedSectionItemsWithCodeMapping(com.android.tools.r8.dex.MixedSectionCollection):790 -> b
    9:9:void collectMixedSectionItemsWithCodeMapping(com.android.tools.r8.dex.MixedSectionCollection):791:791 -> b
    10:12:void upgradeClassFileVersion(com.android.tools.r8.cf.CfVersion):823:825 -> b
    13:13:com.android.tools.r8.graph.DexAnnotation lambda$rewriteAllAnnotations$3(java.util.function.BiFunction,com.android.tools.r8.graph.DexAnnotation):871:871 -> b
    14:19:void lambda$toForwardingMethod$7(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1173:1178 -> b
    20:20:boolean com.android.tools.r8.graph.DexType.isInterface(com.android.tools.r8.graph.DexDefinitionSupplier):362:362 -> b
    20:20:void lambda$toForwardingMethod$7(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1178 -> b
    21:21:void lambda$toForwardingMethod$7(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):1174:1174 -> b
    1:1:java.util.Map getParameterInfo():771:771 -> b1
    1:1:com.android.tools.r8.cf.CfVersion lambda$syntheticSpecify$1(com.android.tools.r8.graph.DexEncodedMethod):280:280 -> c
    2:2:com.android.tools.r8.graph.DexAnnotation lambda$rewriteAllAnnotations$4(java.util.function.BiFunction,com.android.tools.r8.graph.DexAnnotation):874:874 -> c
    1:1:com.android.tools.r8.graph.DexTypeList getParameters():329:329 -> c1
    1:1:boolean lambda$syntheticSpecify$2(com.android.tools.r8.graph.DexEncodedMethod):283:283 -> d
    1:1:com.android.tools.r8.graph.DexProto getProto():321:321 -> d1
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder syntheticBuilder(com.android.tools.r8.graph.DexEncodedMethod):1307:1307 -> e
    1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinInfo():590:590 -> e0
    1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():91 -> e0
    1:1:com.android.tools.r8.graph.DexType getReturnType():333:333 -> e1
    1:2:void setApiLevelForCode(com.android.tools.r8.androidapi.ComputedApiLevel):1250:1251 -> f
    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature():337:337 -> f1
    2:2:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> f1
    2:2:com.android.tools.r8.graph.DexMethodSignature getSignature():337 -> f1
    1:2:boolean hasClassFileVersion():818:819 -> g1
    1:1:com.android.tools.r8.graph.AccessFlags getAccessFlags():91:91 -> getAccessFlags
    1:1:com.android.tools.r8.graph.DexType getArgumentType(int):198:198 -> h
    1:1:boolean hasCode():799:799 -> h1
    1:1:com.android.tools.r8.graph.DexType getParameter(int):325:325 -> i
    1:1:boolean hasParameterInfo():767:767 -> i1
    1:1:com.android.tools.r8.graph.DexAnnotationSet getParameterAnnotation(int):882:882 -> j
    1:1:boolean isAbstract():427:427 -> j1
    1:1:boolean isBridge():431:431 -> k1
    1:2:boolean isClassInitializer():484:485 -> l1
    1:2:java.lang.String toSourceString():919:920 -> m0
    1:2:boolean isDefaultInitializer():479:480 -> m1
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():270:270 -> n
    1:1:boolean isDefaultMethod():490:490 -> n1
    1:1:boolean isDeprecated():260:260 -> o1
    1:2:boolean isDirectMethod():552:553 -> p1
    1:1:com.android.tools.r8.graph.DexEncodedMethod asDexEncodedMethod():1227:1227 -> q0
    1:1:boolean isFinal():435:435 -> q1
    1:2:boolean isInitializer():451:452 -> r1
    1:1:boolean isInstance():557:557 -> s1
    1:1:boolean hasAnyAnnotations():858:858 -> t0
    2:2:boolean hasParameterAnnotations():890:890 -> t0
    2:2:boolean hasAnyAnnotations():858 -> t0
    1:2:boolean isInstanceInitializer():456:457 -> t1
    1:1:java.lang.String toString():776:776 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":780,"2":781,"3":782}}
    780:780:java.lang.String toString():777:777 -> toString
    781:781:java.lang.String toString():777:777 -> toString
    782:782:java.lang.String toString():777:777 -> toString
    779:779:java.lang.String toString():777:777 -> toString
    1:1:com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride():345:345 -> u1
    1:1:void clearGenericSignature():1293:1293 -> v
    1:1:boolean isNative():439:439 -> v1
    1:2:boolean isNonAbstractNonNativeMethod():524:525 -> w1
    1:1:boolean isDexEncodedMethod():1221:1221 -> x0
    1:2:boolean isNonAbstractVirtualMethod():519:520 -> x1
    1:2:boolean isStaticMember():568:569 -> y0
    1:2:boolean isNonPrivateVirtualMethod():505:506 -> y1
    1:1:void clearAllAnnotations():863:863 -> z
    2:2:void clearParameterAnnotations():878:878 -> z
    2:2:void clearAllAnnotations():864 -> z
    1:2:com.android.tools.r8.androidapi.ComputedApiLevel getApiLevel():1256:1257 -> z0
    1:2:boolean isNonStaticPrivateMethod():510:511 -> z1
com.android.tools.r8.graph.DexEncodedMethod$1 -> com.android.tools.r8.graph.p0:
    int[] $SwitchMap$com$android$tools$r8$ir$optimize$Inliner$Constraint -> b
    int[] $SwitchMap$com$android$tools$r8$graph$DexEncodedMethod$CompilationState -> a
    1:1:void <clinit>():701:701 -> <clinit>
    2:2:com.android.tools.r8.graph.DexEncodedMethod$CompilationState[] com.android.tools.r8.graph.DexEncodedMethod$CompilationState.values():102:102 -> <clinit>
    2:2:void <clinit>():653 -> <clinit>
    3:3:void <clinit>():653:653 -> <clinit>
com.android.tools.r8.graph.DexEncodedMethod$Builder -> com.android.tools.r8.graph.q0$a:
    com.android.tools.r8.graph.ParameterAnnotationsList parameterAnnotations -> g
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo optimizationInfo -> i
    com.android.tools.r8.graph.GenericSignature$MethodTypeSignature genericSignature -> d
    boolean d8R8Synthesized -> n
    com.android.tools.r8.kotlin.KotlinMethodLevelInfo kotlinInfo -> j
    boolean deprecated -> o
    com.android.tools.r8.graph.DexAnnotationSet annotations -> e
    com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride -> f
    boolean checkMethodNotNull -> p
    java.util.function.Consumer buildConsumer -> s
    com.android.tools.r8.graph.DexMethod method -> c
    boolean checkParameterAnnotationList -> q
    com.android.tools.r8.cf.CfVersion classFileVersion -> k
    boolean checkAndroidApiLevels -> r
    boolean $assertionsDisabled -> t
    com.android.tools.r8.graph.DexEncodedMethod$CompilationState compilationState -> h
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevelForDefinition -> l
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevelForCode -> m
    com.android.tools.r8.graph.Code code -> b
    com.android.tools.r8.graph.MethodAccessFlags accessFlags -> a
    1:1:void <clinit>():1318:1318 -> <clinit>
    1:1:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod$1):1318:1318 -> <init>
    2:2:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$1):1318:1318 -> <init>
    3:3:void <init>(boolean):1344:1344 -> <init>
    4:26:void <init>(boolean):1323:1345 -> <init>
    27:27:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod):1348:1348 -> <init>
    28:77:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod):1323:1372 -> <init>
    78:78:void <init>(boolean,com.android.tools.r8.graph.DexEncodedMethod):1368:1368 -> <init>
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder apply(java.util.function.Consumer):1377:1377 -> a
    2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder applyIf(boolean,java.util.function.Consumer):1382:1382 -> a
    3:5:com.android.tools.r8.graph.DexEncodedMethod$Builder applyIf(boolean,java.util.function.Consumer,java.util.function.Consumer):1388:1390 -> a
    3:5:com.android.tools.r8.graph.DexEncodedMethod$Builder applyIf(boolean,java.util.function.Consumer):1382 -> a
    6:6:com.android.tools.r8.graph.DexEncodedMethod$Builder fixupOptimizationInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):1397:1397 -> a
    7:7:void lambda$fixupOptimizationInfo$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):1398:1398 -> a
    8:8:com.android.tools.r8.graph.DexEncodedMethod$Builder setAccessFlags(com.android.tools.r8.graph.MethodAccessFlags):1412:1412 -> a
    9:9:com.android.tools.r8.graph.DexEncodedMethod$Builder setMethod(com.android.tools.r8.graph.DexMethod):1417:1417 -> a
    10:11:com.android.tools.r8.graph.DexEncodedMethod$Builder setCompilationState(com.android.tools.r8.graph.DexEncodedMethod$CompilationState):1422:1423 -> a
    12:13:com.android.tools.r8.graph.DexEncodedMethod$Builder setIsLibraryMethodOverride(com.android.tools.r8.utils.OptionalBool):1428:1429 -> a
    14:14:com.android.tools.r8.graph.DexEncodedMethod$Builder setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):1464:1464 -> a
    15:15:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1469:1469 -> a
    16:33:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1475:1492 -> a
    34:34:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):98:98 -> a
    34:34:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1493 -> a
    35:44:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1494:1503 -> a
    45:45:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1469:1469 -> a
    45:45:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1503 -> a
    46:57:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1506:1517 -> a
    58:68:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1515:1525 -> a
    69:69:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1524:1524 -> a
    70:70:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1469:1469 -> a
    70:70:com.android.tools.r8.graph.DexEncodedMethod$Builder rewriteParameterAnnotations(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.ArgumentInfoCollection):1523 -> a
    71:71:com.android.tools.r8.graph.DexEncodedMethod$Builder setOptimizationInfo(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo):1530:1530 -> a
    72:72:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyOptimizationInfo(java.util.function.BiConsumer):1536:1536 -> a
    73:73:com.android.tools.r8.graph.DexEncodedMethod$Builder addBuildConsumer(java.util.function.Consumer):1402:1402 -> a
    73:73:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyOptimizationInfo(java.util.function.BiConsumer):1536 -> a
    74:75:void lambda$modifyOptimizationInfo$1(java.util.function.BiConsumer,com.android.tools.r8.graph.DexEncodedMethod):1538:1539 -> a
    76:76:com.android.tools.r8.graph.DexEncodedMethod$Builder setCode(com.android.tools.r8.graph.Code):1545:1545 -> a
    77:77:com.android.tools.r8.graph.DexEncodedMethod$Builder setGenericSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):1554:1554 -> a
    78:78:com.android.tools.r8.graph.DexEncodedMethod$Builder setApiLevelForCode(com.android.tools.r8.androidapi.ComputedApiLevel):1564:1564 -> a
    79:79:com.android.tools.r8.graph.DexEncodedMethod$Builder setDeprecated(boolean):1569:1569 -> a
    80:80:com.android.tools.r8.graph.DexEncodedMethod$Builder setClassFileVersion(com.android.tools.r8.cf.CfVersion):1574:1574 -> a
    81:87:com.android.tools.r8.graph.DexEncodedMethod build():1594:1600 -> a
    88:112:com.android.tools.r8.graph.DexEncodedMethod build():1598:1622 -> a
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder modifyAccessFlags(java.util.function.Consumer):1407:1407 -> b
    2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAnnotations():1452:1452 -> b
    2:2:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAllAnnotations():1460 -> b
    3:3:com.android.tools.r8.graph.DexEncodedMethod$Builder setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):1464:1464 -> b
    3:3:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAnnotations():1452 -> b
    3:3:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAllAnnotations():1460 -> b
    4:4:com.android.tools.r8.graph.DexEncodedMethod$Builder clearParameterAnnotations():1456:1456 -> b
    4:4:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAllAnnotations():1460 -> b
    5:5:com.android.tools.r8.graph.DexEncodedMethod$Builder setParameterAnnotations(com.android.tools.r8.graph.ParameterAnnotationsList):1469:1469 -> b
    5:5:com.android.tools.r8.graph.DexEncodedMethod$Builder clearParameterAnnotations():1456 -> b
    5:5:com.android.tools.r8.graph.DexEncodedMethod$Builder clearAllAnnotations():1460 -> b
    6:6:com.android.tools.r8.graph.DexEncodedMethod$Builder setApiLevelForDefinition(com.android.tools.r8.androidapi.ComputedApiLevel):1559:1559 -> b
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder disableAndroidApiLevelCheck():1589:1589 -> c
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder disableMethodNotNullCheck():1579:1579 -> d
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder disableParameterAnnotationListCheck():1584:1584 -> e
    1:1:com.android.tools.r8.graph.DexEncodedMethod$Builder unsetIsLibraryMethodOverride():1447:1447 -> f
com.android.tools.r8.graph.DexEncodedMethod$CompilationState$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Bg:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.graph.DexField -> com.android.tools.r8.graph.r0:
    com.android.tools.r8.graph.DexType type -> i
    1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):27:30 -> <init>
    5:5:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":37,"2":38,"3":39}}
    37:37:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):30:30 -> <init>
    38:38:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):30:30 -> <init>
    39:39:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):30:30 -> <init>
    36:36:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,boolean):31:31 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):22:22 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):22 -> a
    3:3:boolean match(com.android.tools.r8.graph.DexEncodedMember):22:22 -> a
    4:4:boolean match(com.android.tools.r8.graph.DexEncodedField):186:186 -> a
    4:4:boolean match(com.android.tools.r8.graph.DexEncodedMember):22 -> a
    5:5:boolean match(com.android.tools.r8.graph.DexField):181:181 -> a
    5:5:boolean match(com.android.tools.r8.graph.DexEncodedField):186 -> a
    5:5:boolean match(com.android.tools.r8.graph.DexEncodedMember):22 -> a
    6:6:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):36:36 -> a
    7:14:int compareTo(com.android.tools.r8.graph.DexReference):41:48 -> a
    15:16:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):54:55 -> a
    17:17:java.lang.Iterable getReferencedTypes():171:171 -> a
    17:17:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):56 -> a
    18:18:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):56:56 -> a
    19:19:java.lang.Object apply(java.util.function.Function,java.util.function.Function):94:94 -> a
    20:20:java.lang.Object apply(java.util.function.Function,java.util.function.Function,java.util.function.Function):102:102 -> a
    21:21:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):110:110 -> a
    22:23:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):147:148 -> a
    24:24:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    24:24:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):148 -> a
    25:25:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":328,"2":329,"3":330}}
    328:328:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    328:328:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):148 -> a
    329:329:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    329:329:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):148 -> a
    330:330:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    330:330:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    330:330:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):148 -> a
    174:174:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):149:149 -> a
    175:175:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    175:175:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):149 -> a
    176:176:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":331,"2":332,"3":333}}
    331:331:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    331:331:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):149 -> a
    332:332:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    332:332:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):149 -> a
    333:333:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    333:333:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    333:333:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):149 -> a
    326:326:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):150:150 -> a
    327:327:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    327:327:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):150 -> a
    334:334:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):156:156 -> a
    335:335:com.android.tools.r8.graph.DexField withHolder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):205:205 -> a
    336:336:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551:551 -> a
    336:336:com.android.tools.r8.graph.DexClassAndField lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    336:336:com.android.tools.r8.graph.DexClassAndMember lookupMemberOnClass(com.android.tools.r8.graph.DexClass):22 -> a
    337:337:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.toClassFieldOrNull(com.android.tools.r8.graph.DexEncodedField):555:555 -> a
    337:337:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551 -> a
    337:337:com.android.tools.r8.graph.DexClassAndField lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    337:337:com.android.tools.r8.graph.DexClassAndMember lookupMemberOnClass(com.android.tools.r8.graph.DexClass):22 -> a
    1:1:com.android.tools.r8.graph.DexEncodedField lookupOnClass(com.android.tools.r8.graph.DexClass):79:79 -> b
    1:1:com.android.tools.r8.graph.DexType getType():70:70 -> getType
    1:5:boolean computeEquals(java.lang.Object):131:135 -> h
    1:1:java.lang.String toSmaliString():195:195 -> l0
    1:1:java.lang.String toSourceString():200:200 -> m0
    2:2:java.lang.String toSourceString():0:0 -> m0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":404,"2":405,"3":406}}
    404:404:java.lang.String toSourceString():200:200 -> m0
    405:405:java.lang.String toSourceString():200:200 -> m0
    406:406:java.lang.String toSourceString():200:200 -> m0
    202:202:java.lang.String toSourceString():200:200 -> m0
    203:203:java.lang.String toSourceString():0:0 -> m0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":407,"2":408,"3":409}}
    407:407:java.lang.String toSourceString():200:200 -> m0
    408:408:java.lang.String toSourceString():200:200 -> m0
    409:409:java.lang.String toSourceString():200:200 -> m0
    403:403:java.lang.String toSourceString():200:200 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():66:66 -> n
    1:3:int computeHashCode():124:126 -> n0
    com.android.tools.r8.graph.DexField asDexField() -> o0
    boolean isDexField() -> s0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":144,"2":145,"3":146}}
    144:144:java.lang.String toString():142:142 -> toString
    145:145:java.lang.String toString():142:142 -> toString
    146:146:java.lang.String toString():142:142 -> toString
    143:143:java.lang.String toString():142:142 -> toString
    1:1:java.lang.Iterable getReferencedTypes():171:171 -> x0
    1:5:com.android.tools.r8.references.FieldReference asFieldReference():217:217 -> y0
com.android.tools.r8.graph.DexItem -> com.android.tools.r8.graph.s0:
    1:1:void <init>():11:11 -> <init>
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    1:1:void collectAll(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexItem[]):14:14 -> a
    2:4:void consumeArray(com.android.tools.r8.graph.DexItem[],java.util.function.Consumer):30:32 -> a
    2:4:void collectAll(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexItem[]):14 -> a
    5:5:void lambda$collectAll$0(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexItem):14:14 -> a
    6:6:void collectAll(com.android.tools.r8.dex.MixedSectionCollection,java.util.Collection):19:19 -> a
    1:1:void lambda$collectAll$1(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexItem):19:19 -> b
    1:1:java.lang.String toSmaliString():44:44 -> l0
    1:1:java.lang.String toSourceString():48:48 -> m0
com.android.tools.r8.graph.DexItemFactory -> com.android.tools.r8.graph.v0:
    com.android.tools.r8.graph.DexString invokeMethodName -> A0
    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBuilderMethods -> C3
    com.android.tools.r8.graph.DexString startsWithMethodName -> Q
    com.android.tools.r8.graph.DexString javacLambdaMethodPrefix -> b1
    com.android.tools.r8.graph.DexType optionalDoubleType -> F2
    com.android.tools.r8.graph.DexType optionalConversionsJ$Type -> g3
    com.android.tools.r8.graph.DexType listIteratorType -> G4
    com.android.tools.r8.graph.DexString classLoaderDescriptor -> I0
    java.util.Set libraryMethodsReturningReceiver -> W4
    com.android.tools.r8.graph.DexString getSimpleNameName -> r0
    com.android.tools.r8.graph.DexString floatDescriptor -> A
    java.util.Map types -> c
    com.android.tools.r8.graph.DexType annotationSynthesizedClass -> x4
    com.android.tools.r8.graph.DexType mathType -> V1
    com.android.tools.r8.graph.DexType mapType -> w2
    java.util.IdentityHashMap internalSentinels -> e5
    com.android.tools.r8.graph.DexString assertionsDisabled -> z0
    java.util.List typeSpecificBuffers -> K2
    com.android.tools.r8.graph.DexType annotationEnclosingClass -> p4
    com.android.tools.r8.com.google.common.collect.BiMap primitiveToBoxed -> Q4
    com.android.tools.r8.graph.DexType recordTagType -> N1
    com.android.tools.r8.graph.DexType methodHandleType -> o2
    com.android.tools.r8.graph.DexItemFactory$LongMembers longMembers -> J3
    com.android.tools.r8.graph.DexString unknownTypeName -> d5
    com.android.tools.r8.graph.DexType boxedShortType -> F1
    com.android.tools.r8.graph.DexString compareToIgnoreCaseMethodName -> a0
    com.android.tools.r8.graph.DexString endsWithMethodName -> R
    com.android.tools.r8.graph.DexType zipFileType -> g2
    com.android.tools.r8.graph.DexString wrapperFieldName -> i0
    com.android.tools.r8.graph.DexType longArrayType -> w1
    com.android.tools.r8.graph.DexString throwableDescriptor -> Q0
    com.android.tools.r8.graph.DexString intDescriptor -> B
    java.util.Map fields -> d
    com.android.tools.r8.graph.DexType npeType -> W2
    com.android.tools.r8.graph.DexType androidSystemOsConstantsType -> x3
    java.util.Map unboxPrimitiveMethod -> R4
    com.android.tools.r8.graph.DexType shortType -> o1
    com.android.tools.r8.graph.DexString temporaryConstructorMethodPrefix -> Y0
    com.android.tools.r8.graph.DexItemFactory$ThrowableMethods throwableMethods -> R3
    com.android.tools.r8.graph.DexItemFactory$ObjectsMethods objectsMethods -> K3
    com.android.tools.r8.graph.DexItemFactory$JavaLangSystemMethods javaLangSystemMethods -> Y3
    com.android.tools.r8.graph.DexType retentionType -> O2
    com.android.tools.r8.graph.DexType javaUtilLocaleType -> p3
    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBufferMethods -> D3
    com.android.tools.r8.graph.DexString equalsMethodName -> S
    com.android.tools.r8.graph.DexType longSummaryStatisticsConversionsJ$Type -> f3
    com.android.tools.r8.graph.DexType optionalType -> E2
    com.android.tools.r8.graph.DexString classDescriptor -> H0
    com.android.tools.r8.graph.DexType iteratorType -> F4
    com.android.tools.r8.graph.DexItemFactory$RecordMembers recordMembers -> N3
    com.android.tools.r8.graph.DexString arraysDescriptor -> P0
    com.android.tools.r8.graph.DexString getCanonicalNameName -> q0
    com.android.tools.r8.graph.DexItemFactory$StringConcatFactoryMembers stringConcatFactoryMembers -> P4
    com.android.tools.r8.graph.DexType iterableType -> U1
    com.android.tools.r8.graph.DexType setType -> v2
    com.android.tools.r8.graph.DexString longDescriptor -> C
    com.android.tools.r8.graph.DexProto twrCloseResourceMethodProto -> k4
    com.android.tools.r8.graph.DexType annotationThrows -> w4
    com.android.tools.r8.graph.DexString newInstanceName -> y0
    com.android.tools.r8.graph.DexType recordType -> M1
    com.android.tools.r8.graph.DexType varHandleType -> n2
    java.util.Map protos -> e
    com.android.tools.r8.graph.DexType annotationDefault -> o4
    com.android.tools.r8.graph.DexString thisName -> a1
    com.android.tools.r8.graph.DexType boxedLongType -> E1
    com.android.tools.r8.graph.DexType closeableType -> f2
    com.android.tools.r8.graph.DexString hashCodeMethodName -> T
    com.android.tools.r8.graph.DexString twrCloseResourceMethodName -> j4
    com.android.tools.r8.graph.DexString convertMethodName -> h0
    com.android.tools.r8.graph.DexString getNameName -> p0
    com.android.tools.r8.graph.DexType noSuchMethodErrorType -> V2
    com.android.tools.r8.graph.DexType androidOsParcelableCreatorType -> w3
    com.android.tools.r8.graph.DexType intArrayType -> v1
    com.android.tools.r8.graph.DexString shortDescriptor -> D
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap advanceLines -> h
    com.android.tools.r8.graph.DexString classConstructorMethodName -> X0
    com.android.tools.r8.graph.DexType intConsumer -> N2
    com.android.tools.r8.graph.DexType javaUtilListType -> o3
    com.android.tools.r8.graph.DexType longType -> n1
    java.util.Map methods -> f
    com.android.tools.r8.graph.DexString assertionErrorDescriptor -> C0
    java.util.concurrent.ConcurrentHashMap classTypeInterfaces -> u
    com.android.tools.r8.graph.DexString throwableArrayDescriptor -> d1
    com.android.tools.r8.graph.DexItemFactory$ProxyMethods proxyMethods -> f4
    com.android.tools.r8.graph.DexType intSummaryStatisticsConversionsJ$Type -> e3
    com.android.tools.r8.graph.DexType typeDescriptorType -> E4
    java.util.Map setFiles -> o
    com.android.tools.r8.graph.DexType runnableType -> D2
    com.android.tools.r8.graph.DexString constructorDescriptor -> K0
    com.android.tools.r8.graph.DexItemFactory$AndroidUtilSparseArrayMembers androidUtilSparseArrayMembers -> g4
    java.util.Set libraryMethodsWithReturnValueDependingOnlyOnArguments -> Y4
    com.android.tools.r8.graph.DexString getDeclaredConstructorName -> t0
    com.android.tools.r8.graph.DexType annotationSourceDebugExtension -> v4
    com.android.tools.r8.graph.DexType collectionsType -> T1
    com.android.tools.r8.graph.DexType listType -> u2
    com.android.tools.r8.graph.DexItemFactory$ClassMethods classMethods -> T3
    com.android.tools.r8.graph.DexItemFactory$AtomicFieldUpdaterMethods atomicFieldUpdaterMethods -> c4
    com.android.tools.r8.utils.LRUCacheTable leastUpperBoundOfInterfacesTable -> v
    com.android.tools.r8.graph.DexItemFactory$NullPointerExceptionMethods npeMethods -> Z3
    com.android.tools.r8.graph.DexItemFactory$ObjectMethodsMembers objectMethodsMembers -> N4
    com.android.tools.r8.graph.DexString isEmptyMethodName -> M
    com.android.tools.r8.graph.DexType objectType -> L1
    com.android.tools.r8.graph.DexType javaIoPrintStreamType -> m2
    com.android.tools.r8.graph.DexItemFactory$BooleanMembers booleanMembers -> E3
    com.android.tools.r8.graph.DexString substringName -> c0
    java.util.Set libraryClassesWithoutStaticInitialization -> a5
    java.util.concurrent.ConcurrentHashMap referenceTypes -> t
    com.android.tools.r8.graph.DexItemFactory$StringMembers stringMembers -> P3
    com.android.tools.r8.graph.DexType autoCloseableType -> e2
    boolean $assertionsDisabled -> f5
    com.android.tools.r8.graph.DexType boxedIntType -> D1
    com.android.tools.r8.graph.DexString finalizeMethodName -> k0
    com.android.tools.r8.graph.DexMethod metafactoryAltMethod -> T4
    com.android.tools.r8.graph.DexType floatArrayType -> u1
    com.android.tools.r8.graph.DexString intFieldUpdaterDescriptor -> S0
    com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin setEpilogueBegin -> m
    com.android.tools.r8.graph.DexType noClassDefFoundErrorType -> U2
    com.android.tools.r8.graph.DexType androidOsBundleType -> v3
    com.android.tools.r8.graph.DexType intType -> m1
    com.android.tools.r8.graph.DexType longConsumer -> M2
    com.android.tools.r8.graph.DexType javaUtilConcurrentTimeUnitType -> n3
    com.android.tools.r8.graph.DexString lengthMethodName -> N
    com.android.tools.r8.graph.DexItemFactory$JavaUtilArraysMethods javaUtilArraysMethods -> h4
    java.util.Map setInlineFrames -> q
    com.android.tools.r8.graph.DexString enabledFieldName -> c1
    com.android.tools.r8.graph.DexString invokeExactMethodName -> B0
    com.android.tools.r8.graph.DexType consumerType -> C2
    com.android.tools.r8.graph.DexType objectMethodsType -> D4
    com.android.tools.r8.graph.DexItemFactory$ByteMembers byteMembers -> F3
    com.android.tools.r8.graph.DexType doubleSummaryStatisticsConversionsJ$Type -> d3
    com.android.tools.r8.graph.DexString classArrayDescriptor -> J0
    com.android.tools.r8.graph.DexItemFactory$JavaLangAnnotationRetentionPolicyMembers javaLangAnnotationRetentionPolicyMembers -> X3
    java.util.Set libraryMethodsReturningNonNull -> X4
    com.android.tools.r8.graph.DexString getTypeNameName -> s0
    com.android.tools.r8.graph.DexType objectsType -> S1
    com.android.tools.r8.graph.DexType serviceLoaderConfigurationErrorType -> t2
    com.android.tools.r8.graph.DexType annotationSignature -> u4
    com.android.tools.r8.graph.DexItemFactory$IllegalArgumentExceptionMethods illegalArgumentExceptionMethods -> a4
    com.android.tools.r8.graph.DexType stringArrayType -> K1
    com.android.tools.r8.graph.DexType javaLangSystemType -> l2
    com.android.tools.r8.graph.DexString concatMethodName -> O
    com.android.tools.r8.graph.DexType serializedLambdaType -> m4
    com.android.tools.r8.graph.DexString containsMethodName -> P
    com.android.tools.r8.graph.DexString cloneMethodName -> b0
    com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd setPrologueEnd -> n
    com.android.tools.r8.graph.DexType methodType -> d2
    com.android.tools.r8.graph.DexString deserializeLambdaMethodName -> l4
    com.android.tools.r8.graph.DexType boxedFloatType -> C1
    com.android.tools.r8.graph.DexString getClassMethodName -> j0
    com.android.tools.r8.graph.DexMethod metafactoryMethod -> S4
    com.android.tools.r8.graph.DexString npeDescriptor -> R0
    java.util.Map strings -> b
    com.android.tools.r8.graph.DexType icceType -> T2
    com.android.tools.r8.graph.DexType androidOsBuildVersionType -> u3
    com.android.tools.r8.graph.DexType doubleArrayType -> t1
    com.android.tools.r8.graph.DexString syntheticConstructorMethodPrefix -> Z0
    com.android.tools.r8.graph.DexType doubleConsumer -> L2
    com.android.tools.r8.graph.DexType javaUtilComparatorType -> m3
    com.android.tools.r8.graph.DexType floatType -> l1
    com.android.tools.r8.graph.DexType unsafeType -> M4
    com.android.tools.r8.graph.DexType comparableType -> K4
    com.android.tools.r8.graph.DexString stringDescriptor -> E0
    com.android.tools.r8.graph.DexString kindString -> f1
    com.android.tools.r8.graph.DexType supplierType -> B2
    com.android.tools.r8.graph.DexType timeConversionsType -> c3
    com.android.tools.r8.graph.DexString lastIndexOfMethodName -> Y
    com.android.tools.r8.graph.DexString doubleDescriptor -> z
    com.android.tools.r8.graph.DexType lookupType -> C4
    com.android.tools.r8.graph.DexString methodDescriptor -> M0
    com.android.tools.r8.graph.DexType packageType -> Z1
    com.android.tools.r8.graph.DexString getDeclaredFieldName -> v0
    com.android.tools.r8.graph.DexType annotationMethodParameters -> t4
    com.android.tools.r8.graph.DexType annotationType -> R1
    com.android.tools.r8.graph.DexType serviceLoaderType -> s2
    com.android.tools.r8.graph.DexString boxedNumberDescriptor -> I
    com.android.tools.r8.graph.DexType stringType -> J1
    com.android.tools.r8.graph.DexType javaLangReflectArrayType -> k2
    com.android.tools.r8.graph.DexType boxedDoubleType -> B1
    com.android.tools.r8.graph.DexString valueOfMethodName -> e0
    com.android.tools.r8.graph.DexItemFactory$ShortMembers shortMembers -> O3
    com.android.tools.r8.graph.DexType fieldType -> c2
    com.android.tools.r8.graph.DexString compareToMethodName -> Z
    com.android.tools.r8.graph.DexString nameMethodName -> m0
    java.util.Map libraryMethodsNonNullParamOrThrow -> V4
    com.android.tools.r8.graph.DexType charArrayType -> s1
    com.android.tools.r8.graph.DexString referenceFieldUpdaterDescriptor -> U0
    com.android.tools.r8.graph.DexType illegalArgumentExceptionType -> S2
    com.android.tools.r8.graph.DexType androidOsBuildType -> t3
    com.android.tools.r8.graph.DexString waitMethodName -> J
    com.android.tools.r8.graph.DexType doubleType -> k1
    java.util.List libraryMembersCollection -> i4
    com.android.tools.r8.graph.DexType stringConcatFactoryType -> L4
    com.android.tools.r8.graph.DexType javaUtilCollectionsType -> l3
    com.android.tools.r8.graph.DexType javaMathBigIntegerType -> j3
    com.android.tools.r8.graph.DexString valueString -> e1
    com.android.tools.r8.graph.DexType streamType -> I2
    com.android.tools.r8.graph.DexString charSequenceDescriptor -> D0
    com.android.tools.r8.graph.DexType externalizableType -> J4
    java.util.Set libraryTypesAssumedToBePresent -> Z4
    com.android.tools.r8.graph.DexType nullValueType -> c5
    com.android.tools.r8.graph.DexType optionalConversionsType -> b3
    com.android.tools.r8.graph.DexString fieldDescriptor -> L0
    com.android.tools.r8.graph.DexType comparatorType -> A2
    com.android.tools.r8.graph.DexType callSiteType -> B4
    com.android.tools.r8.graph.DexDebugEvent$Default zeroChangeDefaultEvent -> r
    com.android.tools.r8.graph.DexType classType -> Y1
    com.android.tools.r8.graph.DexType collectionType -> z2
    com.android.tools.r8.graph.DexDebugEvent$Default oneChangeDefaultEvent -> s
    com.android.tools.r8.graph.DexString getFieldName -> u0
    com.android.tools.r8.graph.DexType enumType -> Q1
    com.android.tools.r8.graph.DexType proxyType -> r2
    com.android.tools.r8.graph.DexType annotationMemberClasses -> s4
    com.android.tools.r8.graph.DexString notifyMethodName -> K
    com.android.tools.r8.graph.DexType charSequenceArrayType -> I1
    com.android.tools.r8.graph.DexType javaLangAnnotationRetentionPolicyType -> j2
    com.android.tools.r8.graph.DexString trimName -> d0
    com.android.tools.r8.graph.DexItemFactory$DoubleMembers doubleMembers -> Q3
    com.android.tools.r8.graph.DexItemFactory$BufferMembers bufferMembers -> M3
    com.android.tools.r8.graph.DexType boxedCharType -> A1
    com.android.tools.r8.graph.DexType constructorType -> b2
    com.android.tools.r8.graph.DexItemFactory$PolymorphicMethods polymorphicMethods -> e4
    com.android.tools.r8.graph.DexString ordinalMethodName -> l0
    com.android.tools.r8.graph.DexType androidUtilSparseArrayType -> B3
    com.android.tools.r8.graph.DexType intSummaryStatisticsConversionsType -> Z2
    com.android.tools.r8.graph.DexType boxedByteType -> z1
    com.android.tools.r8.graph.DexItemFactory$JavaLangReflectArrayMembers javaLangReflectArrayMembers -> W3
    com.android.tools.r8.graph.DexMethod deserializeLambdaMethod -> U4
    com.android.tools.r8.graph.DexString longFieldUpdaterDescriptor -> T0
    com.android.tools.r8.graph.DexItemFactory$ConstructorMethods constructorMethods -> U3
    com.android.tools.r8.graph.DexType illegalAccessErrorType -> R2
    com.android.tools.r8.graph.DexType javaUtilSetType -> s3
    com.android.tools.r8.graph.DexType byteArrayType -> r1
    com.android.tools.r8.graph.DexString notifyAllMethodName -> L
    com.android.tools.r8.graph.DexType bufferType -> J2
    com.android.tools.r8.graph.DexType javaNioByteOrderType -> k3
    com.android.tools.r8.graph.DexType charType -> j1
    com.android.tools.r8.graph.DexType javaIoFileType -> i3
    com.android.tools.r8.graph.DexType serializableType -> I4
    com.android.tools.r8.graph.DexType booleanType -> h1
    com.android.tools.r8.graph.DexType optionalLongType -> H2
    com.android.tools.r8.graph.DexString identityHashCodeName -> U
    com.android.tools.r8.graph.DexString objectArrayDescriptor -> G0
    com.android.tools.r8.graph.DexType longSummaryStatisticsConversionsType -> a3
    com.android.tools.r8.graph.DexType annotationReachabilitySensitive -> A4
    com.android.tools.r8.graph.DexString listDescriptor -> O0
    com.android.tools.r8.graph.DexType annotationCovariantReturnTypes -> z4
    com.android.tools.r8.graph.DexType referenceFieldUpdaterType -> X1
    com.android.tools.r8.graph.DexType abstractMapSimpleEntryType -> y2
    com.android.tools.r8.graph.DexProto deserializeLambdaMethodProto -> n4
    com.android.tools.r8.graph.DexItemFactory$CharMembers charMembers -> G3
    com.android.tools.r8.kotlin.Kotlin kotlin -> d4
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap advancePCs -> i
    com.android.tools.r8.graph.DexString voidDescriptor -> E
    com.android.tools.r8.graph.DexString getDeclaredMethodName -> x0
    com.android.tools.r8.graph.DexType annotationInnerClass -> r4
    com.android.tools.r8.graph.DexType classArrayType -> P1
    com.android.tools.r8.graph.DexType invocationHandlerType -> q2
    java.util.Map methodHandles -> g
    com.android.tools.r8.graph.DexType stringBufferType -> i2
    com.android.tools.r8.graph.DexType charSequenceType -> H1
    com.android.tools.r8.graph.DexString equalsIgnoreCaseMethodName -> V
    com.android.tools.r8.graph.DexString booleanDescriptor -> w
    com.android.tools.r8.graph.DexString internMethodName -> g0
    com.android.tools.r8.graph.DexType classLoaderType -> a2
    boolean skipNameValidationForTesting -> b5
    com.android.tools.r8.graph.DexType androidViewViewType -> A3
    com.android.tools.r8.graph.DexType boxedBooleanType -> y1
    com.android.tools.r8.graph.DexString forNameMethodName -> o0
    com.android.tools.r8.graph.DexType doubleSummaryStatisticsConversionsType -> Y2
    com.android.tools.r8.graph.DexType androidUtilPropertyType -> z3
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap defaults -> j
    com.android.tools.r8.graph.DexItemFactory$PrimitiveTypesBoxedTypeFields primitiveTypesBoxedTypeFields -> b4
    com.android.tools.r8.graph.DexString descriptorSeparator -> F
    com.android.tools.r8.graph.DexType booleanArrayType -> q1
    com.android.tools.r8.graph.DexString constructorMethodName -> W0
    com.android.tools.r8.graph.DexType throwableType -> Q2
    com.android.tools.r8.graph.DexType javaUtilLoggingLoggerType -> r3
    com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame setOutlineFrame -> p
    com.android.tools.r8.graph.DexType byteType -> i1
    com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods serviceLoaderMethods -> O4
    com.android.tools.r8.graph.DexType optionalIntType -> G2
    com.android.tools.r8.graph.DexType enumerationType -> H4
    com.android.tools.r8.graph.DexType timeConversionsJ$Type -> h3
    com.android.tools.r8.graph.DexString dalvikAnnotationOptimizationPrefix -> g1
    com.android.tools.r8.graph.DexString objectDescriptor -> F0
    com.android.tools.r8.graph.DexString contentEqualsMethodName -> W
    com.android.tools.r8.graph.DexString byteDescriptor -> x
    com.android.tools.r8.graph.DexString enumDescriptor -> N0
    com.android.tools.r8.graph.DexItemFactory$ObjectMembers objectMembers -> L3
    com.android.tools.r8.graph.DexType strictMathType -> W1
    com.android.tools.r8.graph.DexType mapEntryType -> x2
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap endLocals -> k
    com.android.tools.r8.graph.DexType annotationCovariantReturnType -> y4
    com.android.tools.r8.graph.DexString boxedDoubleDescriptor -> G
    com.android.tools.r8.graph.DexString getMethodName -> w0
    com.android.tools.r8.graph.DexType objectArrayType -> O1
    com.android.tools.r8.graph.DexType methodTypeType -> p2
    com.android.tools.r8.graph.DexType annotationEnclosingMethod -> q4
    com.android.tools.r8.graph.DexItemFactory$FloatMembers floatMembers -> H3
    com.android.tools.r8.graph.DexType stringBuilderType -> h2
    com.android.tools.r8.graph.DexItemFactory$AssertionErrorMethods assertionErrorMethods -> S3
    com.android.tools.r8.graph.DexType boxedNumberType -> G1
    com.android.tools.r8.graph.DexItemFactory$EnumMembers enumMembers -> V3
    com.android.tools.r8.graph.DexString toStringMethodName -> f0
    com.android.tools.r8.graph.DexItemFactory$IntegerMembers integerMembers -> I3
    com.android.tools.r8.graph.DexString indexOfMethodName -> X
    com.android.tools.r8.graph.DexString charDescriptor -> y
    java.util.Set possibleCompilerSynthesizedTypes -> a
    com.android.tools.r8.graph.DexString desiredAssertionStatusMethodName -> n0
    com.android.tools.r8.graph.DexType kotlinMetadataType -> X2
    com.android.tools.r8.graph.DexType androidUtilLogType -> y3
    com.android.tools.r8.graph.DexType shortArrayType -> x1
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap restartLocals -> l
    com.android.tools.r8.graph.DexString newUpdaterName -> V0
    com.android.tools.r8.graph.DexString boxedLongDescriptor -> H
    com.android.tools.r8.graph.DexType runtimeExceptionType -> P2
    com.android.tools.r8.graph.DexType javaUtilLoggingLevelType -> q3
    com.android.tools.r8.graph.DexType voidType -> p1
    1:52:void <clinit>():72:123 -> <clinit>
    1:1:void <init>():127:127 -> <init>
    2:653:void <init>():82:733 -> <init>
    654:740:void <init>():723:809 -> <init>
    741:757:void <init>():799:815 -> <init>
    758:845:void <init>():812:899 -> <init>
    846:846:void <init>():128:128 -> <init>
    com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame lambda$createSetInlineFrame$8(com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame) -> a
    1:1:com.android.tools.r8.graph.DexType[] com.android.tools.r8.graph.DexTypeList.getBacking():63:63 -> a
    1:1:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):2616 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:7:com.android.tools.r8.graph.DexString createShorty(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2708:2713 -> a
    2:7:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):2616 -> a
    8:8:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):2616:2616 -> a
    9:9:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):132:132 -> a
    10:10:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):339:339 -> a
    10:10:java.util.Optional lambda$createInstanceInitializerWithFreshProto$4(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2452 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):339:339 -> a
    11:11:java.util.Optional lambda$createInstanceInitializerWithFreshProto$4(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2452 -> a
    12:12:java.util.Optional lambda$createInstanceInitializerWithFreshProto$4(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2452:2452 -> a
    13:14:com.android.tools.r8.graph.DexMethod createUnboxMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):748:749 -> a
    15:15:com.android.tools.r8.graph.DexDebugEvent$Default com.android.tools.r8.graph.DexDebugEvent$Default.create(int,int):756:756 -> a
    15:15:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int,int):2810 -> a
    16:16:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int,int):2810:2810 -> a
    17:18:com.android.tools.r8.graph.DexType getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType):774:775 -> a
    19:30:java.util.Set boxedValueOfMethods():784:795 -> a
    31:33:com.android.tools.r8.graph.DexMethod lambda$boxedValueOfMethods$0(java.util.Map$Entry):787:789 -> a
    34:34:void setSkipNameValidationForTesting(boolean):902:902 -> a
    35:35:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2213:2213 -> a
    36:36:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):132:132 -> a
    36:36:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2214 -> a
    37:38:com.android.tools.r8.graph.DexItem canonicalize(java.util.Map,com.android.tools.r8.graph.DexItem):2214:2215 -> a
    39:39:com.android.tools.r8.graph.DexString createString(int,byte[]):2221:2221 -> a
    40:40:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2261:2261 -> a
    41:41:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":56,"2":57,"3":58}}
    56:56:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2234:2234 -> a
    56:56:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2262 -> a
    57:57:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2234:2234 -> a
    57:57:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2262 -> a
    58:58:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2234:2234 -> a
    58:58:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2262 -> a
    42:42:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2236:2236 -> a
    42:42:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2262 -> a
    43:43:java.lang.String escapeMemberString(java.lang.String):2230:2230 -> a
    43:43:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2236 -> a
    43:43:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2262 -> a
    44:51:java.lang.String createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2236:2243 -> a
    44:51:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2262 -> a
    52:55:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType,int):2262:2265 -> a
    59:59:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2333:2333 -> a
    60:60:com.android.tools.r8.graph.DexMethod internalCreateFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2358:2358 -> a
    60:60:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2334 -> a
    61:61:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithoutHolder(java.lang.String,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate,int):2349:2349 -> a
    61:61:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithoutHolder(java.lang.String,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2339 -> a
    62:62:com.android.tools.r8.graph.DexMethod createFreshMethodNameWithoutHolder(java.lang.String,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate,int):2349:2349 -> a
    63:63:com.android.tools.r8.graph.DexMethod internalCreateFreshMethodNameWithHolder(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,java.util.function.Predicate,int):2372:2372 -> a
    64:68:java.util.Optional lambda$internalCreateFreshMethodNameWithHolder$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2374:2378 -> a
    69:69:com.android.tools.r8.graph.DexMethodSignature createFreshMethodSignatureName(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate):2396:2396 -> a
    70:70:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2248:2248 -> a
    70:70:com.android.tools.r8.graph.DexMethodSignature createFreshMethodSignatureName(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate):2396 -> a
    71:71:com.android.tools.r8.graph.DexMethodSignature createFreshMethodSignatureName(java.lang.String,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.util.function.Predicate):2396:2396 -> a
    72:72:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2398:2398 -> a
    73:73:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):21:21 -> a
    73:73:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2398 -> a
    74:77:java.util.Optional lambda$createFreshMethodSignatureName$2(com.android.tools.r8.graph.DexProto,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2399:2402 -> a
    78:78:com.android.tools.r8.graph.DexField createFreshFieldNameWithoutHolder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2416:2416 -> a
    79:80:java.util.Optional lambda$internalCreateFreshFieldName$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.function.Predicate,com.android.tools.r8.graph.DexString):2427:2428 -> a
    81:81:com.android.tools.r8.graph.DexMethod createInstanceInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2439:2439 -> a
    82:83:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,java.util.List,java.util.function.Predicate):2448:2449 -> a
    84:87:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2457:2460 -> a
    88:88:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,java.util.function.Predicate):2458:2458 -> a
    89:107:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexProto,java.util.List,java.util.function.Function):2466:2484 -> a
    108:108:com.android.tools.r8.graph.DexMethod createInstanceInitializerWithFreshProto(com.android.tools.r8.graph.DexProto,java.util.List,java.util.function.Function):2483:2483 -> a
    109:109:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2528:2528 -> a
    110:110:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2539:2539 -> a
    110:110:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2528 -> a
    111:115:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2560:2564 -> a
    111:115:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2541 -> a
    111:115:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.String):2528 -> a
    116:116:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2535:2535 -> a
    117:117:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2539:2539 -> a
    117:117:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2534 -> a
    118:122:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2560:2564 -> a
    118:122:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2541 -> a
    118:122:com.android.tools.r8.graph.DexType createStaticallyKnownType(java.lang.Class):2534 -> a
    123:123:com.android.tools.r8.graph.DexType createType(com.android.tools.r8.references.ClassReference):2586:2586 -> a
    124:125:com.android.tools.r8.graph.DexType createArrayType(int,com.android.tools.r8.graph.DexType):2594:2595 -> a
    126:127:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):2600:2601 -> a
    128:128:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String):2605:2605 -> a
    129:131:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.references.FieldReference):2610:2612 -> a
    132:132:com.android.tools.r8.graph.DexField createField(com.android.tools.r8.references.FieldReference):2609:2609 -> a
    133:134:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString):2621:2622 -> a
    135:135:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,java.util.List):2634:2634 -> a
    136:138:com.android.tools.r8.graph.DexProto appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2660:2662 -> a
    136:138:com.android.tools.r8.graph.DexProto lambda$createInstanceInitializerWithFreshProto$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2484 -> a
    139:142:com.android.tools.r8.graph.DexProto appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2661:2664 -> a
    139:142:com.android.tools.r8.graph.DexProto lambda$createInstanceInitializerWithFreshProto$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2484 -> a
    143:147:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2674:2678 -> a
    148:152:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2695:2699 -> a
    148:152:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2678 -> a
    153:153:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceFunction.put(java.lang.Object,java.lang.Object):41:41 -> a
    153:153:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2699 -> a
    153:153:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2678 -> a
    154:156:com.android.tools.r8.graph.DexType[] applyClassMappingToDexTypes(com.android.tools.r8.graph.DexType[],java.util.function.Function):2702:2704 -> a
    154:156:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2678 -> a
    157:163:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2679:2685 -> a
    164:168:com.android.tools.r8.graph.DexProto applyClassMappingToProto(com.android.tools.r8.graph.DexProto,java.util.function.Function,java.util.Map):2684:2688 -> a
    169:170:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):2718:2719 -> a
    171:171:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,java.lang.String):2723:2723 -> a
    172:174:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2727:2729 -> a
    175:185:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2728:2738 -> a
    186:186:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.references.MethodReference):2733:2733 -> a
    187:187:void lambda$createMethod$7(com.android.tools.r8.graph.DexString[],com.android.tools.r8.references.TypeReference,int):2731:2731 -> a
    188:190:com.android.tools.r8.graph.DexMethodHandle createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean,com.android.tools.r8.graph.DexMethod):2755:2757 -> a
    191:191:com.android.tools.r8.graph.DexCallSite createCallSite(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,java.util.List):2767:2767 -> a
    192:201:com.android.tools.r8.graph.DexMethod createMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString[]):2775:2784 -> a
    202:204:com.android.tools.r8.graph.DexDebugEvent$AdvanceLine createAdvanceLine(int):2792:2794 -> a
    205:207:com.android.tools.r8.graph.DexDebugEvent$SetFile createSetFile(com.android.tools.r8.graph.DexString):2834:2836 -> a
    208:210:com.android.tools.r8.graph.DexDebugEvent$SetInlineFrame createSetInlineFrame(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position):2841:2843 -> a
    211:211:boolean isConstructor(com.android.tools.r8.graph.DexMethod):2856:2856 -> a
    212:219:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement createReferenceTypeElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):2893:2900 -> a
    220:251:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement createReferenceTypeElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):2899:2930 -> a
    252:257:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):2907:2912 -> a
    258:268:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AppView.isInterface(com.android.tools.r8.graph.DexType):313:323 -> a
    258:268:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):2913 -> a
    269:274:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):2913:2918 -> a
    275:289:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement lambda$createReferenceTypeElement$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):2914:2928 -> a
    290:290:com.android.tools.r8.ir.analysis.type.InterfaceCollection getOrComputeLeastUpperBoundOfImplementedInterfaces(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):2935:2935 -> a
    291:291:void forAllTypes(java.util.function.Consumer):2945:2945 -> a
    1:1:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):339:339 -> b
    1:1:java.util.Optional lambda$createInstanceInitializerWithFreshProto$5(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2461 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):339:339 -> b
    2:2:java.util.Optional lambda$createInstanceInitializerWithFreshProto$5(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2461 -> b
    3:3:java.util.Optional lambda$createInstanceInitializerWithFreshProto$5(com.android.tools.r8.graph.DexMethod,java.util.function.Predicate,com.android.tools.r8.graph.DexProto):2461:2461 -> b
    4:5:java.util.Map buildLibraryMethodsNonNullParamOrThrow():824:825 -> b
    6:6:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1555:1555 -> b
    6:6:java.util.Map buildLibraryMethodsNonNullParamOrThrow():825 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1555:1555 -> b
    7:7:java.util.Map buildLibraryMethodsNonNullParamOrThrow():825 -> b
    8:11:java.util.Map buildLibraryMethodsNonNullParamOrThrow():825:828 -> b
    12:12:com.android.tools.r8.graph.DexString createString(java.lang.String):2226:2226 -> b
    13:13:com.android.tools.r8.graph.DexField internalCreateFreshFieldName(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2425:2425 -> b
    14:14:java.lang.Object createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2248:2248 -> b
    14:14:com.android.tools.r8.graph.DexField internalCreateFreshFieldName(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2425 -> b
    15:15:com.android.tools.r8.graph.DexField internalCreateFreshFieldName(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.function.Predicate):2425:2425 -> b
    16:16:com.android.tools.r8.graph.DexString lookupString(int,byte[]):2489:2489 -> b
    17:17:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2539:2539 -> b
    18:22:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2560:2564 -> b
    18:22:com.android.tools.r8.graph.DexType createStaticallyKnownType(com.android.tools.r8.graph.DexString):2541 -> b
    23:23:boolean isPossiblyCompilerSynthesizedType(com.android.tools.r8.graph.DexType):2569:2569 -> b
    24:24:void forEachPossiblyCompilerSynthesizedType(java.util.function.Consumer):2573:2573 -> b
    25:25:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2629:2629 -> b
    26:31:com.android.tools.r8.graph.DexString createShorty(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2708:2713 -> b
    26:31:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2630 -> b
    32:32:com.android.tools.r8.graph.DexProto createProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType[]):2627:2627 -> b
    33:33:com.android.tools.r8.graph.DexProto prependHolderToProto(com.android.tools.r8.graph.DexMethod):2644:2644 -> b
    34:37:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):2652:2655 -> b
    38:40:com.android.tools.r8.graph.DexProto prependTypeToProto(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto):2654:2656 -> b
    41:43:com.android.tools.r8.graph.DexDebugEvent$AdvancePC createAdvancePC(int):2798:2800 -> b
    44:45:com.android.tools.r8.ir.analysis.type.InterfaceCollection lambda$getOrComputeLeastUpperBoundOfImplementedInterfaces$10(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):2938:2939 -> b
    1:1:com.android.tools.r8.graph.DexType createSynthesizedType(java.lang.String):2548:2548 -> c
    2:6:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2560:2564 -> c
    2:6:com.android.tools.r8.graph.DexType createSynthesizedType(java.lang.String):2549 -> c
    7:11:void addPossiblySynthesizedType(com.android.tools.r8.graph.DexType):2560:2564 -> c
    7:11:void registerTypeNeededForDesugaring(com.android.tools.r8.graph.DexType):2556 -> c
    12:12:com.android.tools.r8.graph.DexType createType(com.android.tools.r8.graph.DexString):2578:2578 -> c
    13:15:com.android.tools.r8.graph.DexDebugEvent$Default createDefault(int):2804:2806 -> c
    16:18:void clearTypeElementsCache():2864:2866 -> c
    1:9:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2512:2520 -> d
    10:10:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2517:2517 -> d
    11:11:boolean isInternalSentinel(com.android.tools.r8.graph.DexItem):132:132 -> d
    11:11:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2521 -> d
    12:13:com.android.tools.r8.graph.DexType internalCreateType(com.android.tools.r8.graph.DexString):2521:2522 -> d
    14:14:com.android.tools.r8.graph.DexType createType(java.lang.String):2582:2582 -> d
    15:17:com.android.tools.r8.graph.DexDebugEvent$EndLocal createEndLocal(int):2814:2816 -> d
    18:18:com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin createSetEpilogueBegin():2826:2826 -> d
    1:1:com.android.tools.r8.graph.DexString lookupString(java.lang.String):2493:2493 -> e
    2:2:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexString):2590:2590 -> e
    3:5:com.android.tools.r8.graph.DexDebugEvent$RestartLocal createRestartLocal(int):2820:2822 -> e
    6:6:com.android.tools.r8.graph.DexDebugEvent$SetOutlineFrame createSetOutlineFrame():2847:2847 -> e
    1:1:com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd createSetPrologueEnd():2830:2830 -> f
    1:5:java.util.List extractMarkers():2500:2504 -> g
    1:1:boolean getSkipNameValidationForTesting():906:906 -> h
    1:3:boolean verifyNoCachedTypeElements():2870:2872 -> i
com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildMembers -> com.android.tools.r8.internal.Eg:
    com.android.tools.r8.graph.DexField TYPE -> q
    com.android.tools.r8.graph.DexField SUPPORTED_64_BIT_ABIS -> n
    com.android.tools.r8.graph.DexField SUPPORTED_32_BIT_ABIS -> m
    com.android.tools.r8.graph.DexField TIME -> p
    com.android.tools.r8.graph.DexField SUPPORTED_ABIS -> o
    com.android.tools.r8.graph.DexField MODEL -> j
    com.android.tools.r8.graph.DexField MANUFACTURER -> i
    com.android.tools.r8.graph.DexField SERIAL -> l
    com.android.tools.r8.graph.DexField PRODUCT -> k
    com.android.tools.r8.graph.DexField DISPLAY -> f
    com.android.tools.r8.graph.DexField DEVICE -> e
    com.android.tools.r8.graph.DexField HARDWARE -> h
    com.android.tools.r8.graph.DexField FINGERPRINT -> g
    com.android.tools.r8.graph.DexField BRAND -> b
    com.android.tools.r8.graph.DexField BOOTLOADER -> a
    com.android.tools.r8.graph.DexField CPU_ABI2 -> d
    com.android.tools.r8.graph.DexField CPU_ABI -> c
    1:23:void <init>(com.android.tools.r8.graph.DexItemFactory):918:940 -> <init>
    1:17:void forEachFinalField(java.util.function.Consumer):944:960 -> a
com.android.tools.r8.graph.DexItemFactory$AndroidOsBuildVersionMembers -> com.android.tools.r8.internal.Fg:
    com.android.tools.r8.graph.DexField SECURITY_PATCH -> e
    com.android.tools.r8.graph.DexField RELEASE -> b
    com.android.tools.r8.graph.DexField CODENAME -> a
    com.android.tools.r8.graph.DexField SDK_INT -> d
    com.android.tools.r8.graph.DexField SDK -> c
    1:8:void <init>(com.android.tools.r8.graph.DexItemFactory):964:971 -> <init>
    1:5:void forEachFinalField(java.util.function.Consumer):975:979 -> a
com.android.tools.r8.graph.DexItemFactory$AndroidOsBundleMembers -> com.android.tools.r8.internal.Gg:
    com.android.tools.r8.graph.DexField EMPTY -> b
    com.android.tools.r8.graph.DexField CREATOR -> a
    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):983:987 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):991:992 -> a
com.android.tools.r8.graph.DexItemFactory$AndroidSystemOsConstantsMembers -> com.android.tools.r8.internal.Hg:
    com.android.tools.r8.graph.DexField S_IXUSR -> b
    com.android.tools.r8.graph.DexField S_IRUSR -> a
    1:4:void <init>(com.android.tools.r8.graph.DexItemFactory):996:999 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1003:1004 -> a
com.android.tools.r8.graph.DexItemFactory$AndroidUtilSparseArrayMembers -> com.android.tools.r8.internal.Ig:
    com.android.tools.r8.graph.DexMethod set -> b
    com.android.tools.r8.graph.DexMethod put -> a
    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1031:1035 -> <init>
com.android.tools.r8.graph.DexItemFactory$AndroidViewViewMembers -> com.android.tools.r8.internal.Jg:
    com.android.tools.r8.graph.DexField SELECTED_STATE_SET -> e
    com.android.tools.r8.graph.DexField EMPTY_STATE_SET -> b
    com.android.tools.r8.graph.DexField TRANSLATION_Z -> a
    com.android.tools.r8.graph.DexField PRESSED_ENABLED_STATE_SET -> d
    com.android.tools.r8.graph.DexField ENABLED_STATE_SET -> c
    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1008:1019 -> <init>
    1:5:void forEachFinalField(java.util.function.Consumer):1023:1027 -> a
com.android.tools.r8.graph.DexItemFactory$AssertionErrorMethods -> com.android.tools.r8.graph.t0:
    com.android.tools.r8.graph.DexMethod initMessageAndCause -> b
    com.android.tools.r8.graph.DexMethod initMessage -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1328:1328 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1332:1337 -> <init>
com.android.tools.r8.graph.DexItemFactory$AtomicFieldUpdaterMethods -> com.android.tools.r8.graph.u0:
    java.util.Set updaters -> b
    com.android.tools.r8.graph.DexMethod referenceUpdater -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1824:1824 -> <init>
    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1830:1849 -> <init>
    1:1:boolean isFieldUpdater(com.android.tools.r8.graph.DexMethod):1853:1853 -> a
com.android.tools.r8.graph.DexItemFactory$BooleanMembers -> com.android.tools.r8.graph.v0$a:
    com.android.tools.r8.graph.DexField TRUE -> b
    com.android.tools.r8.graph.DexMethod toString -> g
    com.android.tools.r8.graph.DexField FALSE -> a
    com.android.tools.r8.graph.DexMethod valueOf -> f
    com.android.tools.r8.graph.DexMethod parseBoolean -> e
    com.android.tools.r8.graph.DexField TYPE -> c
    com.android.tools.r8.graph.DexMethod booleanValue -> d
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1038:1038 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1053:1053 -> <init>
    3:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1040:1051 -> <init>
    1:3:void forEachFinalField(java.util.function.Consumer):1057:1059 -> a
com.android.tools.r8.graph.DexItemFactory$BufferMembers -> com.android.tools.r8.internal.Kg:
    java.util.List bufferCovariantMethods -> a
    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1486:1497 -> <init>
com.android.tools.r8.graph.DexItemFactory$ByteMembers -> com.android.tools.r8.graph.w0:
    com.android.tools.r8.graph.DexMethod valueOf -> c
    com.android.tools.r8.graph.DexMethod toString -> b
    com.android.tools.r8.graph.DexMethod byteValue -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1063:1063 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1072:1072 -> <init>
    3:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1065:1070 -> <init>
com.android.tools.r8.graph.DexItemFactory$CharMembers -> com.android.tools.r8.graph.x0:
    com.android.tools.r8.graph.DexMethod toString -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1075:1075 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1080:1080 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1077:1078 -> <init>
com.android.tools.r8.graph.DexItemFactory$ClassMethods -> com.android.tools.r8.graph.y0:
    com.android.tools.r8.graph.DexMethod newInstance -> l
    com.android.tools.r8.graph.DexMethod getPackage -> k
    com.android.tools.r8.graph.DexMethod getDeclaredConstructor -> j
    com.android.tools.r8.graph.DexMethod getConstructor -> i
    com.android.tools.r8.graph.DexMethod getTypeName -> h
    com.android.tools.r8.graph.DexMethod getSimpleName -> g
    com.android.tools.r8.graph.DexMethod getCanonicalName -> f
    com.android.tools.r8.graph.DexMethod getName -> e
    com.android.tools.r8.graph.DexMethod getClassLoader -> d
    com.android.tools.r8.graph.DexMethod forName3 -> c
    com.android.tools.r8.graph.DexMethod forName -> b
    com.android.tools.r8.graph.DexMethod desiredAssertionStatus -> a
    java.util.Set getMembers -> m
    java.util.Set getNames -> n
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1560:1560 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1583:1583 -> <init>
    3:62:void <init>(com.android.tools.r8.graph.DexItemFactory):1565:1624 -> <init>
    1:1:boolean isReflectiveMemberLookup(com.android.tools.r8.graph.DexMethod):1632:1632 -> a
com.android.tools.r8.graph.DexItemFactory$ConstructorMethods -> com.android.tools.r8.graph.z0:
    com.android.tools.r8.graph.DexMethod newInstance -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1640:1640 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1644:1646 -> <init>
com.android.tools.r8.graph.DexItemFactory$DoubleMembers -> com.android.tools.r8.graph.A0:
    com.android.tools.r8.graph.DexMethod toString -> b
    com.android.tools.r8.graph.DexMethod isNaN -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1260:1260 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1267:1267 -> <init>
    3:10:void <init>(com.android.tools.r8.graph.DexItemFactory):1264:1271 -> <init>
    11:11:void <init>(com.android.tools.r8.graph.DexItemFactory):1269:1269 -> <init>
com.android.tools.r8.graph.DexItemFactory$EnumMembers -> com.android.tools.r8.graph.B0:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.graph.DexMethod finalize -> l
    com.android.tools.r8.graph.DexMethod constructor -> k
    com.android.tools.r8.graph.DexMethod hashCode -> j
    com.android.tools.r8.graph.DexMethod equals -> i
    com.android.tools.r8.graph.DexMethod compareToWithObject -> h
    com.android.tools.r8.graph.DexMethod compareTo -> g
    com.android.tools.r8.graph.DexMethod toString -> f
    com.android.tools.r8.graph.DexMethod nameMethod -> e
    com.android.tools.r8.graph.DexMethod ordinalMethod -> d
    com.android.tools.r8.graph.DexMethod valueOf -> c
    com.android.tools.r8.graph.DexField ordinalField -> b
    com.android.tools.r8.graph.DexField nameField -> a
    com.android.tools.r8.graph.DexItemFactory this$0 -> m
    1:1:void <clinit>():1687:1687 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1687:1687 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1707:1707 -> <init>
    3:48:void <init>(com.android.tools.r8.graph.DexItemFactory):1689:1734 -> <init>
    1:2:void forEachField(java.util.function.Consumer):1738:1739 -> a
    3:4:boolean isEnumField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1747:1748 -> a
    5:5:boolean com.android.tools.r8.graph.DexEncodedField.isEnum():204:204 -> a
    5:5:boolean isEnumField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1748 -> a
    6:6:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    6:6:boolean isEnumField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1748 -> a
    1:3:boolean isValuesFieldCandidate(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1752:1754 -> b
    4:4:boolean com.android.tools.r8.graph.DexEncodedField.isSynthetic():234:234 -> b
    4:4:boolean isValuesFieldCandidate(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1755 -> b
    5:5:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> b
    5:5:boolean isValuesFieldCandidate(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexType):1756 -> b
com.android.tools.r8.graph.DexItemFactory$FloatMembers -> com.android.tools.r8.graph.C0:
    com.android.tools.r8.graph.DexField TYPE -> a
    com.android.tools.r8.graph.DexMethod toString -> b
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1083:1083 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1090:1090 -> <init>
    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1085:1088 -> <init>
    1:1:void forEachFinalField(java.util.function.Consumer):1094:1094 -> a
com.android.tools.r8.graph.DexItemFactory$IllegalArgumentExceptionMethods -> com.android.tools.r8.internal.Lg:
    com.android.tools.r8.graph.DexMethod initWithMessage -> a
    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1768:1772 -> <init>
    6:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1771:1771 -> <init>
com.android.tools.r8.graph.DexItemFactory$IntegerMembers -> com.android.tools.r8.internal.Mg:
    com.android.tools.r8.graph.DexField TYPE -> a
    com.android.tools.r8.graph.DexMethod toString -> b
    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1277:1282 -> <init>
    1:1:void forEachFinalField(java.util.function.Consumer):1286:1286 -> a
com.android.tools.r8.graph.DexItemFactory$JavaIoFileMembers -> com.android.tools.r8.internal.Ng:
    com.android.tools.r8.graph.DexField separator -> b
    com.android.tools.r8.graph.DexField pathSeparator -> a
    1:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1098:1101 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1105:1106 -> a
com.android.tools.r8.graph.DexItemFactory$JavaLangAnnotationRetentionPolicyMembers -> com.android.tools.r8.graph.D0:
    com.android.tools.r8.graph.DexField CLASS -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1654:1654 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1660:1660 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1656:1657 -> <init>
com.android.tools.r8.graph.DexItemFactory$JavaLangReflectArrayMembers -> com.android.tools.r8.graph.E0:
    com.android.tools.r8.graph.DexMethod newInstanceMethodWithDimensions -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1663:1663 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1671:1671 -> <init>
    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1665:1668 -> <init>
    7:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1666:1666 -> <init>
com.android.tools.r8.graph.DexItemFactory$JavaLangSystemMethods -> com.android.tools.r8.graph.F0:
    com.android.tools.r8.graph.DexMethod identityHashCode -> b
    com.android.tools.r8.graph.DexMethod arraycopy -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1674:1674 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1684:1684 -> <init>
    3:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1676:1679 -> <init>
    7:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1677:1682 -> <init>
com.android.tools.r8.graph.DexItemFactory$JavaMathBigIntegerMembers -> com.android.tools.r8.internal.Og:
    com.android.tools.r8.graph.DexField ZERO -> b
    com.android.tools.r8.graph.DexField ONE -> a
    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1110:1114 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1118:1119 -> a
com.android.tools.r8.graph.DexItemFactory$JavaNioByteOrderMembers -> com.android.tools.r8.internal.Pg:
    com.android.tools.r8.graph.DexField BIG_ENDIAN -> b
    com.android.tools.r8.graph.DexField LITTLE_ENDIAN -> a
    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1123:1128 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1132:1133 -> a
com.android.tools.r8.graph.DexItemFactory$JavaUtilArraysMethods -> com.android.tools.r8.graph.G0:
    com.android.tools.r8.graph.DexMethod equalsObjectArray -> b
    com.android.tools.r8.graph.DexMethod asList -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1137:1137 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1142:1146 -> <init>
    7:13:void <init>(com.android.tools.r8.graph.DexItemFactory):1144:1150 -> <init>
com.android.tools.r8.graph.DexItemFactory$JavaUtilComparatorMembers -> com.android.tools.r8.internal.Qg:
    com.android.tools.r8.graph.DexField EMPTY_SET -> b
    com.android.tools.r8.graph.DexField EMPTY_LIST -> a
    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1158:1163 -> <init>
    1:2:void forEachFinalField(java.util.function.Consumer):1167:1168 -> a
com.android.tools.r8.graph.DexItemFactory$JavaUtilConcurrentTimeUnitMembers -> com.android.tools.r8.internal.Rg:
    com.android.tools.r8.graph.DexField NANOSECONDS -> f
    com.android.tools.r8.graph.DexField MINUTES -> e
    com.android.tools.r8.graph.DexField SECONDS -> g
    com.android.tools.r8.graph.DexField HOURS -> b
    com.android.tools.r8.graph.DexField DAYS -> a
    com.android.tools.r8.graph.DexField MILLISECONDS -> d
    com.android.tools.r8.graph.DexField MICROSECONDS -> c
    1:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1172:1187 -> <init>
    1:7:void forEachFinalField(java.util.function.Consumer):1191:1197 -> a
com.android.tools.r8.graph.DexItemFactory$JavaUtilLocaleMembers -> com.android.tools.r8.internal.Sg:
    com.android.tools.r8.graph.DexField ROOT -> b
    com.android.tools.r8.graph.DexField ENGLISH -> a
    com.android.tools.r8.graph.DexField US -> c
    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory):1201:1205 -> <init>
    1:3:void forEachFinalField(java.util.function.Consumer):1209:1211 -> a
com.android.tools.r8.graph.DexItemFactory$JavaUtilLoggingLevelMembers -> com.android.tools.r8.internal.Tg:
    com.android.tools.r8.graph.DexField WARNING -> f
    com.android.tools.r8.graph.DexField SEVERE -> e
    com.android.tools.r8.graph.DexField FINE -> b
    com.android.tools.r8.graph.DexField CONFIG -> a
    com.android.tools.r8.graph.DexField FINEST -> d
    com.android.tools.r8.graph.DexField FINER -> c
    1:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1215:1228 -> <init>
    1:6:void forEachFinalField(java.util.function.Consumer):1232:1237 -> a
com.android.tools.r8.graph.DexItemFactory$LibraryMembers -> com.android.tools.r8.internal.Ug:
    1:1:void <init>():913:913 -> <init>
    void forEachFinalField(java.util.function.Consumer) -> a
com.android.tools.r8.graph.DexItemFactory$LongMembers -> com.android.tools.r8.graph.H0:
    com.android.tools.r8.graph.DexField TYPE -> a
    com.android.tools.r8.graph.DexMethod toString -> b
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1241:1241 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1249:1249 -> <init>
    3:11:void <init>(com.android.tools.r8.graph.DexItemFactory):1243:1251 -> <init>
    12:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1250:1250 -> <init>
    1:1:void forEachFinalField(java.util.function.Consumer):1256:1256 -> a
com.android.tools.r8.graph.DexItemFactory$NullPointerExceptionMethods -> com.android.tools.r8.internal.Vg:
    com.android.tools.r8.graph.DexMethod initWithMessage -> b
    com.android.tools.r8.graph.DexMethod init -> a
    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1760:1765 -> <init>
com.android.tools.r8.graph.DexItemFactory$ObjectMembers -> com.android.tools.r8.graph.v0$b:
    com.android.tools.r8.graph.DexMethod waitLongInt -> n
    com.android.tools.r8.graph.DexMethod waitLong -> m
    com.android.tools.r8.graph.DexMethod wait -> l
    com.android.tools.r8.graph.DexMethod notifyAll -> k
    com.android.tools.r8.graph.DexMethod notify -> j
    com.android.tools.r8.graph.DexMethod toString -> i
    com.android.tools.r8.graph.DexMethod finalize -> h
    com.android.tools.r8.graph.DexMethod constructor -> g
    com.android.tools.r8.graph.DexMethod hashCode -> f
    com.android.tools.r8.graph.DexMethod getClass -> e
    com.android.tools.r8.graph.DexMethod equals -> d
    com.android.tools.r8.graph.DexMethod clone -> c
    com.android.tools.r8.graph.DexField clinitField -> b
    com.android.tools.r8.graph.DexField classIdField -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1365:1365 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1394:1394 -> <init>
    3:47:void <init>(com.android.tools.r8.graph.DexItemFactory):1371:1415 -> <init>
    1:12:boolean isObjectMember(com.android.tools.r8.graph.DexMethod):1423:1434 -> a
com.android.tools.r8.graph.DexItemFactory$ObjectMethodsMembers -> com.android.tools.r8.internal.Wg:
    com.android.tools.r8.graph.DexMethod bootstrap -> a
    1:12:void <init>(com.android.tools.r8.graph.DexItemFactory):1350:1361 -> <init>
    13:13:void <init>(com.android.tools.r8.graph.DexItemFactory):1354:1354 -> <init>
    14:14:void <init>(com.android.tools.r8.graph.DexItemFactory):1352:1352 -> <init>
com.android.tools.r8.graph.DexItemFactory$ObjectsMethods -> com.android.tools.r8.graph.I0:
    com.android.tools.r8.graph.DexMethod toStringWithObjectAndNullDefault -> k
    com.android.tools.r8.graph.DexMethod toStringWithObject -> j
    com.android.tools.r8.graph.DexMethod requireNonNullElseGet -> i
    com.android.tools.r8.graph.DexMethod requireNonNullElse -> h
    com.android.tools.r8.graph.DexMethod requireNonNullWithMessageSupplier -> g
    com.android.tools.r8.graph.DexMethod requireNonNullWithMessage -> f
    com.android.tools.r8.graph.DexMethod requireNonNull -> e
    com.android.tools.r8.graph.DexMethod nonNull -> d
    com.android.tools.r8.graph.DexMethod isNull -> c
    com.android.tools.r8.graph.DexMethod hashCode -> b
    com.android.tools.r8.graph.DexMethod equals -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1500:1500 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1526:1526 -> <init>
    3:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1502:1515 -> <init>
    17:22:void <init>(com.android.tools.r8.graph.DexItemFactory):1514:1519 -> <init>
    23:39:void <init>(com.android.tools.r8.graph.DexItemFactory):1517:1533 -> <init>
    40:47:void <init>(com.android.tools.r8.graph.DexItemFactory):1531:1538 -> <init>
    48:48:void <init>(com.android.tools.r8.graph.DexItemFactory):1536:1536 -> <init>
com.android.tools.r8.graph.DexItemFactory$PolymorphicMethods -> com.android.tools.r8.internal.Xg:
    com.android.tools.r8.graph.DexProto compareAndSetSignature -> c
    java.util.Set varHandleMethods -> d
    com.android.tools.r8.graph.DexItemFactory this$0 -> g
    java.util.Set varHandleSetMethods -> e
    java.util.Set varHandleCompareAndSetMethods -> f
    com.android.tools.r8.graph.DexProto signature -> a
    com.android.tools.r8.graph.DexProto setSignature -> b
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():2087:2087 -> <clinit>
    1:36:void <init>(com.android.tools.r8.graph.DexItemFactory):2087:2122 -> <init>
    1:14:com.android.tools.r8.graph.DexMethod canonicalize(com.android.tools.r8.graph.DexMethod):2131:2144 -> a
    15:20:java.util.Set createStrings(java.lang.String[]):2149:2154 -> a
    1:7:boolean isPolymorphicInvoke(com.android.tools.r8.graph.DexMethod):2158:2164 -> b
com.android.tools.r8.graph.DexItemFactory$PrimitiveTypesBoxedTypeFields -> com.android.tools.r8.graph.J0:
    java.util.Map boxedFieldTypeToPrimitiveType -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1781:1781 -> <init>
    2:21:void <init>(com.android.tools.r8.graph.DexItemFactory):1793:1812 -> <init>
    1:1:com.android.tools.r8.graph.DexType boxedFieldTypeToPrimitiveType(com.android.tools.r8.graph.DexField):1816:1816 -> a
com.android.tools.r8.graph.DexItemFactory$ProxyMethods -> com.android.tools.r8.graph.K0:
    com.android.tools.r8.graph.DexMethod newProxyInstance -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):2170:2170 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.DexItemFactory):2174:2179 -> <init>
    8:8:void <init>(com.android.tools.r8.graph.DexItemFactory):2176:2176 -> <init>
com.android.tools.r8.graph.DexItemFactory$RecordMembers -> com.android.tools.r8.internal.Yg:
    com.android.tools.r8.graph.DexMethod toString -> d
    com.android.tools.r8.graph.DexMethod hashCode -> c
    com.android.tools.r8.graph.DexMethod equals -> b
    com.android.tools.r8.graph.DexMethod constructor -> a
    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory):1342:1347 -> <init>
com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods -> com.android.tools.r8.graph.L0:
    com.android.tools.r8.graph.DexMethod iterator -> d
    com.android.tools.r8.graph.DexMethod loadInstalled -> c
    com.android.tools.r8.graph.DexMethod loadWithClassLoader -> b
    com.android.tools.r8.graph.DexMethod load -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):2183:2183 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.DexItemFactory):2190:2196 -> <init>
    9:17:void <init>(com.android.tools.r8.graph.DexItemFactory):2194:2202 -> <init>
    18:23:void <init>(com.android.tools.r8.graph.DexItemFactory):2199:2204 -> <init>
com.android.tools.r8.graph.DexItemFactory$ShortMembers -> com.android.tools.r8.graph.M0:
    com.android.tools.r8.graph.DexMethod toString -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1857:1857 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1862:1862 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1859:1860 -> <init>
com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods -> com.android.tools.r8.graph.N0:
    com.android.tools.r8.graph.DexMethod toString -> m
    com.android.tools.r8.graph.DexMethod stringConstructor -> l
    com.android.tools.r8.graph.DexMethod intConstructor -> k
    com.android.tools.r8.graph.DexMethod defaultConstructor -> j
    com.android.tools.r8.graph.DexMethod charSequenceConstructor -> i
    com.android.tools.r8.graph.DexMethod appendString -> h
    com.android.tools.r8.graph.DexMethod appendObject -> g
    com.android.tools.r8.graph.DexMethod appendLong -> f
    com.android.tools.r8.graph.DexMethod appendFloat -> e
    com.android.tools.r8.graph.DexMethod appendDouble -> d
    com.android.tools.r8.graph.DexMethod appendInt -> c
    com.android.tools.r8.graph.DexMethod appendChar -> b
    boolean $assertionsDisabled -> r
    com.android.tools.r8.graph.DexMethod appendBoolean -> a
    java.util.Set appendPrimitiveMethods -> o
    java.util.Set constructorMethods -> p
    java.util.Set appendMethods -> n
    com.android.tools.r8.graph.DexItemFactory this$0 -> q
    1:1:void <clinit>():1951:1951 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory$1):1951:1951 -> <init>
    2:48:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):1975:2021 -> <init>
    1:1:java.util.Set access$2500(com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods):1951:1951 -> a
    2:2:boolean isAppendMethod(com.android.tools.r8.graph.DexMethod):2028:2028 -> a
    3:29:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2049:2075 -> a
    30:30:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2106,"2":2107,"3":2108}}
    2106:2106:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2075:2075 -> a
    2107:2107:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2075:2075 -> a
    2108:2108:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2075:2075 -> a
    2105:2105:boolean constructorInvokeIsSideEffectFree(com.android.tools.r8.graph.DexMethod,java.util.List):2075:2075 -> a
    1:1:boolean isAppendPrimitiveMethod(com.android.tools.r8.graph.DexMethod):2036:2036 -> b
com.android.tools.r8.graph.DexItemFactory$StringConcatFactoryMembers -> com.android.tools.r8.internal.Zg:
    com.android.tools.r8.graph.DexMethod makeConcatWithConstants -> b
    com.android.tools.r8.graph.DexMethod makeConcat -> a
    1:7:void <init>(com.android.tools.r8.graph.DexItemFactory):1290:1296 -> <init>
    8:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1293:1302 -> <init>
    18:18:void <init>(com.android.tools.r8.graph.DexItemFactory):1298:1298 -> <init>
com.android.tools.r8.graph.DexItemFactory$StringMembers -> com.android.tools.r8.graph.v0$c:
    com.android.tools.r8.graph.DexMethod lastIndexOfString -> o
    com.android.tools.r8.graph.DexMethod lastIndexOfInt -> n
    com.android.tools.r8.graph.DexMethod indexOfString -> m
    com.android.tools.r8.graph.DexMethod indexOfInt -> l
    com.android.tools.r8.graph.DexMethod contentEqualsCharSequence -> k
    com.android.tools.r8.graph.DexMethod equalsIgnoreCase -> j
    com.android.tools.r8.graph.DexMethod equals -> i
    com.android.tools.r8.graph.DexMethod endsWith -> h
    com.android.tools.r8.graph.DexMethod startsWith -> g
    com.android.tools.r8.graph.DexMethod contains -> f
    com.android.tools.r8.graph.DexMethod constructor -> e
    com.android.tools.r8.graph.DexMethod concat -> d
    com.android.tools.r8.graph.DexMethod length -> c
    com.android.tools.r8.graph.DexMethod isEmpty -> b
    com.android.tools.r8.graph.DexField CASE_INSENSITIVE_ORDER -> a
    com.android.tools.r8.graph.DexMethod trim -> v
    com.android.tools.r8.graph.DexMethod intern -> u
    com.android.tools.r8.graph.DexMethod toString -> t
    com.android.tools.r8.graph.DexMethod valueOf -> s
    com.android.tools.r8.graph.DexMethod hashCode -> r
    com.android.tools.r8.graph.DexMethod compareToIgnoreCase -> q
    com.android.tools.r8.graph.DexMethod compareTo -> p
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1865:1865 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):1897:1897 -> <init>
    3:77:void <init>(com.android.tools.r8.graph.DexItemFactory):1867:1941 -> <init>
    1:1:void forEachFinalField(java.util.function.Consumer):1947:1947 -> a
com.android.tools.r8.graph.DexItemFactory$SupplierMembers -> com.android.tools.r8.graph.O0:
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):2080:2080 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory):2084:2084 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.DexItemFactory):2082:2082 -> <init>
com.android.tools.r8.graph.DexItemFactory$ThrowableMethods -> com.android.tools.r8.graph.v0$d:
    com.android.tools.r8.graph.DexMethod initCause -> d
    com.android.tools.r8.graph.DexMethod getSuppressed -> c
    com.android.tools.r8.graph.DexMethod getMessage -> b
    com.android.tools.r8.graph.DexMethod addSuppressed -> a
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexItemFactory$1):1305:1305 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexItemFactory):1312:1314 -> <init>
    5:8:void <init>(com.android.tools.r8.graph.DexItemFactory):1313:1316 -> <init>
    9:16:void <init>(com.android.tools.r8.graph.DexItemFactory):1315:1322 -> <init>
    17:17:void <init>(com.android.tools.r8.graph.DexItemFactory):1320:1320 -> <init>
com.android.tools.r8.graph.DexLibraryClass -> com.android.tools.r8.graph.P0:
    int $r8$clinit -> u
    boolean $assertionsDisabled -> t
    1:1:void <clinit>():22:22 -> <clinit>
    1:28:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean):43:70 -> <init>
    com.android.tools.r8.graph.ClasspathOrLibraryClass asClasspathOrLibraryClass() -> A
    com.android.tools.r8.graph.DexLibraryClass asLibraryClass() -> H
    1:1:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):99:99 -> a
    2:7:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):154:159 -> a
    1:3:boolean verifyLibraryMethod(com.android.tools.r8.graph.DexEncodedMethod):82:84 -> c
    1:2:boolean verifyLibraryField(com.android.tools.r8.graph.DexEncodedField):89:90 -> f
    1:1:java.lang.String toSourceString():109:109 -> m0
    2:2:java.lang.String toSourceString():0:0 -> m0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":111,"2":112,"3":113,"4":114}}
    111:111:java.lang.String toSourceString():109:109 -> m0
    112:112:java.lang.String toSourceString():109:109 -> m0
    113:113:java.lang.String toSourceString():109:109 -> m0
    114:114:java.lang.String toSourceString():109:109 -> m0
    boolean isNotProgramClass() -> q1
    1:1:java.lang.String toString():104:104 -> toString
com.android.tools.r8.graph.DexMember -> com.android.tools.r8.graph.Q0:
    com.android.tools.r8.graph.DexString name -> g
    boolean $assertionsDisabled -> h
    com.android.tools.r8.graph.DexType holder -> f
    1:1:void <clinit>():9:9 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):15:19 -> <init>
    1:1:com.android.tools.r8.graph.DexType getContextType():37:37 -> U
    java.lang.Object apply(java.util.function.Function,java.util.function.Function) -> a
    com.android.tools.r8.graph.DexClassAndMember lookupMemberOnClass(com.android.tools.r8.graph.DexClass) -> a
    1:1:java.lang.Iterable getReferencedBaseTypes(com.android.tools.r8.graph.DexItemFactory):61:61 -> a
    2:2:com.android.tools.r8.graph.DexType lambda$getReferencedBaseTypes$0(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):61:61 -> a
    com.android.tools.r8.graph.DexMember asDexMember() -> p0
    1:1:com.android.tools.r8.graph.DexType getHolderType():41:41 -> v0
    1:1:com.android.tools.r8.graph.DexString getName():45:45 -> w0
    java.lang.Iterable getReferencedTypes() -> x0
com.android.tools.r8.graph.DexMemberAnnotation -> com.android.tools.r8.graph.R0:
    com.android.tools.r8.graph.DexItem annotations -> c
    com.android.tools.r8.graph.DexMember item -> b
    1:3:void <init>(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexItem):14:16 -> <init>
    1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):21:21 -> a
    1:3:boolean equals(java.lang.Object):34:36 -> equals
    1:1:int hashCode():26:26 -> hashCode
com.android.tools.r8.graph.DexMemberAnnotation$DexFieldAnnotation -> com.android.tools.r8.internal.ah:
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexAnnotationSet):44:44 -> <init>
com.android.tools.r8.graph.DexMemberAnnotation$DexMethodAnnotation -> com.android.tools.r8.internal.bh:
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexAnnotationSet):56:56 -> <init>
com.android.tools.r8.graph.DexMemberAnnotation$DexParameterAnnotation -> com.android.tools.r8.internal.ch:
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ParameterAnnotationsList):69:69 -> <init>
com.android.tools.r8.graph.DexMethod -> com.android.tools.r8.graph.S0:
    com.android.tools.r8.graph.DexProto proto -> i
    1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):27:30 -> <init>
    5:5:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":37,"2":38,"3":39,"4":40}}
    37:37:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):31:31 -> <init>
    38:38:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):31:31 -> <init>
    39:39:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):31:31 -> <init>
    40:40:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):31:31 -> <init>
    36:36:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,boolean):31:31 -> <init>
    1:1:com.android.tools.r8.graph.DexTypeList getParameters():90:90 -> A0
    1:1:com.android.tools.r8.graph.DexProto getProto():94:94 -> B0
    1:1:com.android.tools.r8.graph.DexType getReturnType():98:98 -> C0
    1:1:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> D0
    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature():173 -> D0
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:java.lang.String qualifiedName():251:251 -> E0
    1:1:java.lang.String toSourceStringWithoutHolder():265:265 -> F0
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):22:22 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):22 -> a
    3:3:com.android.tools.r8.graph.DexClassAndMember lookupMemberOnClass(com.android.tools.r8.graph.DexClass):22:22 -> a
    4:4:com.android.tools.r8.graph.DexProto lambda$specify$0(com.android.tools.r8.graph.DexMethod):37:37 -> a
    5:5:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):37:37 -> a
    6:9:int compareTo(com.android.tools.r8.graph.DexReference):42:45 -> a
    10:11:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):66:67 -> a
    12:12:java.lang.Iterable getReferencedTypes():213:213 -> a
    12:12:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):68 -> a
    13:13:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74:74 -> a
    13:13:java.lang.Iterable getReferencedTypes():213 -> a
    13:13:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):68 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    14:14:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74:74 -> a
    14:14:java.lang.Iterable getReferencedTypes():213 -> a
    14:14:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):68 -> a
    15:15:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    15:15:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74 -> a
    15:15:java.lang.Iterable getReferencedTypes():213 -> a
    15:15:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):68 -> a
    16:16:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):68:68 -> a
    17:22:com.android.tools.r8.graph.DexType getArgumentType(int,boolean):73:78 -> a
    23:23:java.lang.Object apply(java.util.function.Function,java.util.function.Function):103:103 -> a
    24:24:java.lang.Object apply(java.util.function.Function,java.util.function.Function,java.util.function.Function):111:111 -> a
    25:25:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):119:119 -> a
    26:26:com.android.tools.r8.graph.ProgramMethod lookupOnProgramClass(com.android.tools.r8.graph.DexProgramClass):143:143 -> a
    27:27:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    28:28:void collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    28:28:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    29:29:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    29:29:void collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    29:29:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    30:30:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):198:198 -> a
    31:31:boolean match(com.android.tools.r8.graph.DexEncodedMethod):247:247 -> a
    32:46:java.lang.String toSourceString(boolean,boolean):273:287 -> a
    47:48:boolean mustBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.AppView):300:301 -> a
    49:49:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    49:49:boolean mustBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.AppView):301 -> a
    50:53:boolean mustBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.AppView):302:305 -> a
    54:54:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    54:54:boolean mustBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.AppView):306 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    55:55:boolean mustBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.AppView):307:307 -> a
    56:56:com.android.tools.r8.graph.DexMethod withHolder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):327:327 -> a
    1:2:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):184:185 -> b
    3:3:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> b
    3:3:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):185 -> b
    4:4:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":191,"2":192,"3":193}}
    191:191:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> b
    191:191:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):185 -> b
    192:192:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> b
    192:192:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):185 -> b
    193:193:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> b
    193:193:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> b
    193:193:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):185 -> b
    190:190:boolean collectIndexedItemsExceptName(com.android.tools.r8.dex.IndexedItemCollection):186:186 -> b
    194:194:boolean match(com.android.tools.r8.graph.DexMethod):234:234 -> b
    195:195:boolean match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> b
    195:195:boolean match(com.android.tools.r8.graph.DexMethod):234 -> b
    196:196:boolean isInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):296:296 -> b
    197:197:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2856:2856 -> b
    197:197:boolean isInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):296 -> b
    198:198:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.lookupClassMethod(com.android.tools.r8.graph.DexMethod):595:595 -> b
    198:198:com.android.tools.r8.graph.DexClassAndMethod lookupMemberOnClass(com.android.tools.r8.graph.DexClass):138 -> b
    199:199:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.toClassMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):599:599 -> b
    199:199:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.DexClass.lookupClassMethod(com.android.tools.r8.graph.DexMethod):595 -> b
    199:199:com.android.tools.r8.graph.DexClassAndMethod lookupMemberOnClass(com.android.tools.r8.graph.DexClass):138 -> b
    1:1:com.android.tools.r8.graph.DexEncodedMember com.android.tools.r8.graph.DexClass.lookupMember(com.android.tools.r8.graph.DexMember):589:589 -> c
    1:1:com.android.tools.r8.graph.DexEncodedMethod lookupOnClass(com.android.tools.r8.graph.DexClass):133 -> c
    2:2:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):604:604 -> c
    2:2:com.android.tools.r8.graph.DexEncodedMember com.android.tools.r8.graph.DexClass.lookupMember(com.android.tools.r8.graph.DexMember):589 -> c
    2:2:com.android.tools.r8.graph.DexEncodedMethod lookupOnClass(com.android.tools.r8.graph.DexClass):133 -> c
    3:3:com.android.tools.r8.graph.DexEncodedMethod lookupOnClass(com.android.tools.r8.graph.DexClass):133:133 -> c
    1:1:com.android.tools.r8.graph.DexType getParameter(int):86:86 -> h
    2:6:boolean computeEquals(java.lang.Object):223:227 -> h
    1:1:java.lang.String toSmaliString():256:256 -> l0
    2:2:java.lang.String com.android.tools.r8.graph.DexProto.toDescriptorString():118:118 -> l0
    2:2:java.lang.String com.android.tools.r8.graph.DexProto.toSmaliString():114 -> l0
    2:2:java.lang.String toSmaliString():256 -> l0
    3:3:java.lang.String toSmaliString():256:256 -> l0
    1:1:java.lang.String toSourceString():261:261 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():51:51 -> n
    1:1:int computeHashCode():218:218 -> n0
    com.android.tools.r8.graph.DexMethod asDexMethod() -> q0
    boolean isDexMethod() -> t0
    1:1:java.lang.String toString():148:148 -> toString
    1:1:java.lang.Iterable getReferencedTypes():213:213 -> x0
    2:2:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74:74 -> x0
    2:2:java.lang.Iterable getReferencedTypes():213 -> x0
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74:74 -> x0
    3:3:java.lang.Iterable getReferencedTypes():213 -> x0
    4:4:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> x0
    4:4:java.lang.Iterable com.android.tools.r8.graph.DexProto.getTypes():74 -> x0
    4:4:java.lang.Iterable getReferencedTypes():213 -> x0
    1:12:com.android.tools.r8.references.MethodReference asMethodReference():152:163 -> y0
    13:13:com.android.tools.r8.references.MethodReference asMethodReference():161:161 -> y0
    1:1:int getArity():169:169 -> z0
com.android.tools.r8.graph.DexMethodHandle -> com.android.tools.r8.graph.U0:
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType type -> e
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.DexMethod rewrittenTarget -> h
    boolean isInterface -> g
    com.android.tools.r8.graph.DexMember member -> f
    1:1:void <clinit>():17:17 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean,com.android.tools.r8.graph.DexMethod):212:216 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221:221 -> a
    2:29:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):88:115 -> a
    2:29:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    30:30:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":67,"2":68,"3":69}}
    67:67:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):115:115 -> a
    67:67:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    68:68:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):115:115 -> a
    68:68:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    69:69:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):115:115 -> a
    69:69:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    31:31:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):115:115 -> a
    31:31:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    32:36:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):109:113 -> a
    32:36:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    37:50:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):98:111 -> a
    37:50:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    51:51:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):107:107 -> a
    51:51:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    52:52:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):96:96 -> a
    52:52:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    53:53:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):94:94 -> a
    53:53:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    54:54:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):92:92 -> a
    54:54:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    55:55:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):90:90 -> a
    55:55:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):221 -> a
    56:57:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):223:224 -> a
    58:58:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(java.lang.String,java.lang.String,java.lang.String):90:90 -> a
    58:58:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):224 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    59:59:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String):94:94 -> a
    59:59:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(java.lang.String,java.lang.String,java.lang.String):90 -> a
    59:59:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):224 -> a
    60:60:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):225:225 -> a
    61:61:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.JarApplicationReader.getMethod(java.lang.String,java.lang.String,java.lang.String):98:98 -> a
    61:61:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):225 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    62:62:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.JarApplicationReader.getMethod(java.lang.String,java.lang.String,java.lang.String):98:98 -> a
    62:62:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):225 -> a
    63:63:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):226:226 -> a
    64:64:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.JarApplicationReader.getMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):115:115 -> a
    64:64:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):226 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    65:65:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.JarApplicationReader.getMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):115:115 -> a
    65:65:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):226 -> a
    66:66:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.DexItemFactory.createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):2746:2746 -> a
    66:66:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.JarApplicationReader.getMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):115 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:66:com.android.tools.r8.graph.DexMethodHandle fromAsmHandle(com.android.tools.r8.org.objectweb.asm.Handle,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):226 -> a
    70:81:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):258:269 -> a
    82:82:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    82:82:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):269 -> a
    83:83:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    83:83:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    83:83:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):269 -> a
    84:84:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    84:84:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):272 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    85:85:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    85:85:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    85:85:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):272 -> a
    86:86:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    86:86:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    86:86:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    86:86:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):272 -> a
    87:87:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):280:280 -> a
    88:88:boolean isMethodHandle():294:294 -> a
    88:88:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):338 -> a
    89:103:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):339:353 -> a
    104:104:boolean isFieldHandle():290:290 -> a
    104:104:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):353 -> a
    105:112:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):353:360 -> a
    113:134:int getAsmTag():364:385 -> a
    113:134:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):360 -> a
    135:135:com.android.tools.r8.org.objectweb.asm.Handle toAsmHandle(com.android.tools.r8.naming.NamingLens):360:360 -> a
    136:136:int lambda$specify$0(com.android.tools.r8.graph.DexMethodHandle):322:322 -> a
    137:141:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):322:326 -> a
    1:1:boolean lambda$specify$1(com.android.tools.r8.graph.DexMethodHandle):325:325 -> b
    1:1:com.android.tools.r8.graph.DexMethod lambda$specify$2(com.android.tools.r8.graph.DexMethodHandle):326:326 -> c
    1:6:boolean computeEquals(java.lang.Object):236:241 -> h
    1:1:java.lang.String toSmaliString():286:286 -> l0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():318:318 -> n
    1:1:int computeHashCode():231:231 -> n0
    1:1:com.android.tools.r8.graph.DexField asField():307:307 -> o0
    2:2:boolean isFieldHandle():290:290 -> o0
    2:2:com.android.tools.r8.graph.DexField asField():307 -> o0
    3:4:com.android.tools.r8.graph.DexField asField():307:308 -> o0
    1:1:com.android.tools.r8.graph.DexMethod asMethod():302:302 -> p0
    2:2:boolean isMethodHandle():294:294 -> p0
    2:2:com.android.tools.r8.graph.DexMethod asMethod():302 -> p0
    3:4:com.android.tools.r8.graph.DexMethod asMethod():302:303 -> p0
    1:1:boolean isFieldHandle():290:290 -> q0
    1:1:boolean isMethodHandle():294:294 -> r0
    1:7:java.lang.String toString():248:254 -> toString
com.android.tools.r8.graph.DexMethodHandle$MethodHandleType -> com.android.tools.r8.graph.T0:
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_INSTANCE -> h
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_STATIC -> g
    boolean $assertionsDisabled -> n
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INSTANCE_GET -> f
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType[] $VALUES -> m
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INSTANCE_PUT -> e
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType STATIC_GET -> d
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType STATIC_PUT -> c
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_SUPER -> l
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_INTERFACE -> k
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_DIRECT -> j
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType INVOKE_CONSTRUCTOR -> i
    short value -> b
    1:14:void <clinit>():20:20 -> <clinit>
    1:2:void <init>(java.lang.String,int,short):36:37 -> <init>
    1:1:short getValue():41:41 -> a
    2:2:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):79:79 -> a
    3:3:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):76:76 -> a
    4:4:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):73:73 -> a
    5:5:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):70:70 -> a
    6:6:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):67:67 -> a
    7:7:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):64:64 -> a
    8:8:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):61:61 -> a
    9:9:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):58:58 -> a
    10:10:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):55:55 -> a
    11:11:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):52:52 -> a
    12:45:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):49:82 -> a
    46:46:short getValue():41:41 -> a
    46:46:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):82 -> a
    47:47:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType getKind(int):82:82 -> a
    1:1:boolean isStaticPut():129:129 -> b
    1:1:boolean isFieldType():120 -> b
    2:2:boolean isStaticGet():133:133 -> b
    2:2:boolean isFieldType():120 -> b
    3:3:boolean isInstancePut():137:137 -> b
    3:3:boolean isFieldType():120 -> b
    4:4:boolean isInstanceGet():141:141 -> b
    4:4:boolean isFieldType():120 -> b
    1:1:boolean isInvokeDirect():149:149 -> c
    1:1:boolean isInvokeStatic():145:145 -> d
    1:1:boolean isMethodType():124:124 -> e
    2:2:boolean isInvokeInstance():153:153 -> e
    2:2:boolean isMethodType():124 -> e
    3:3:boolean isInvokeInterface():157:157 -> e
    3:3:boolean isMethodType():124 -> e
    4:4:boolean isInvokeSuper():161:161 -> e
    4:4:boolean isMethodType():124 -> e
    5:5:boolean isInvokeConstructor():165:165 -> e
    5:5:boolean isMethodType():125 -> e
    6:6:boolean isMethodType():125:125 -> e
    1:16:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():169:184 -> f
    17:17:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():182:182 -> f
    18:18:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():180:180 -> f
    19:19:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():178:178 -> f
    20:20:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():176:176 -> f
    21:21:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():174:174 -> f
    22:22:com.android.tools.r8.ir.code.Invoke$Type toInvokeType():172:172 -> f
com.android.tools.r8.graph.DexMethodSignature -> com.android.tools.r8.graph.X0:
    int $r8$clinit -> b
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.graph.DexString getName() -> a
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):50:50 -> a
    2:2:com.android.tools.r8.graph.DexMethodSignature withName(com.android.tools.r8.graph.DexString):54:54 -> a
    3:3:com.android.tools.r8.graph.DexMethodSignature create(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):21:21 -> a
    3:3:com.android.tools.r8.graph.DexMethodSignature withName(com.android.tools.r8.graph.DexString):54 -> a
    4:4:com.android.tools.r8.graph.DexMethodSignature withParameters(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexItemFactory):58:58 -> a
    5:5:com.android.tools.r8.graph.DexType getReturnType():41:41 -> a
    5:5:com.android.tools.r8.graph.DexMethodSignature withParameters(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexItemFactory):58 -> a
    6:6:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProto.getReturnType():62:62 -> a
    6:6:com.android.tools.r8.graph.DexType getReturnType():41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.graph.DexMethodSignature withParameters(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexItemFactory):58 -> a
    7:7:com.android.tools.r8.graph.DexMethodSignature withParameters(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexItemFactory):58:58 -> a
    8:8:com.android.tools.r8.graph.DexMethodSignature create(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):21:21 -> a
    8:8:com.android.tools.r8.graph.DexMethodSignature withParameters(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexItemFactory):58 -> a
    com.android.tools.r8.graph.DexProto getProto() -> b
    1:3:boolean equals(java.lang.Object):76:78 -> equals
    1:1:int hashCode():83:83 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():46:46 -> n
    1:1:java.lang.String toString():93:93 -> toString
    2:2:com.android.tools.r8.graph.DexType getReturnType():41:41 -> toString
    2:2:java.lang.String toString():95 -> toString
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProto.getReturnType():62:62 -> toString
    3:3:com.android.tools.r8.graph.DexType getReturnType():41 -> toString
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:java.lang.String toString():95 -> toString
    4:7:java.lang.String toString():95:98 -> toString
    8:8:int getArity():29:29 -> toString
    8:8:java.lang.String toString():99 -> toString
    9:9:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> toString
    9:9:int getArity():29 -> toString
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:java.lang.String toString():99 -> toString
    10:10:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> toString
    10:10:int getArity():29 -> toString
    10:10:java.lang.String toString():99 -> toString
    11:11:java.lang.String toString():101:101 -> toString
    12:12:com.android.tools.r8.graph.DexType getParameter(int):33:33 -> toString
    12:12:java.lang.String toString():103 -> toString
    13:15:java.lang.String toString():103:105 -> toString
com.android.tools.r8.graph.DexMethodSignature$MethodBased -> com.android.tools.r8.graph.V0:
    com.android.tools.r8.graph.DexMethod method -> c
    1:2:void <init>(com.android.tools.r8.graph.DexMethod):112:113 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexString getName():118:118 -> a
    1:1:com.android.tools.r8.graph.DexProto getProto():123:123 -> b
com.android.tools.r8.graph.DexMethodSignature$NameAndProtoBased -> com.android.tools.r8.graph.W0:
    com.android.tools.r8.graph.DexString name -> c
    com.android.tools.r8.graph.DexProto proto -> d
    1:3:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):132:134 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexString getName():139:139 -> a
    1:1:com.android.tools.r8.graph.DexProto getProto():144:144 -> b
com.android.tools.r8.graph.DexProgramClass -> com.android.tools.r8.graph.Z0:
    com.android.tools.r8.synthesis.SyntheticMarker syntheticMarker -> y
    com.android.tools.r8.graph.DexProgramClass[] EMPTY_ARRAY -> z
    com.android.tools.r8.kotlin.KotlinClassLevelInfo kotlinInfo -> w
    boolean deprecated -> v
    com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier checksumSupplier -> x
    com.android.tools.r8.cf.CfVersion initialClassFileVersion -> u
    boolean $assertionsDisabled -> A
    com.android.tools.r8.ProgramResource$Kind originKind -> t
    1:9:void <clinit>():40:48 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,com.android.tools.r8.synthesis.SyntheticMarker):80:80 -> <init>
    2:53:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier,com.android.tools.r8.synthesis.SyntheticMarker):51:102 -> <init>
    54:54:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.NestHostClassAttribute,java.util.List,com.android.tools.r8.graph.EnclosingMethodAttribute,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassSignature,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedField[],com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[],boolean,com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier):125:125 -> <init>
    1:1:long getChecksum():821:821 -> A1
    1:1:com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier getChecksumSupplier():825:825 -> B1
    1:1:com.android.tools.r8.cf.CfVersion getInitialClassFileVersion():747:747 -> C1
    1:1:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo():483:483 -> D1
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.ProgramResource$Kind getOriginKind():365:365 -> E1
    1:1:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():286:286 -> F1
    2:2:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> F1
    2:2:com.android.tools.r8.graph.ProgramMethod getProgramClassInitializer():286 -> F1
    1:1:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290:290 -> G1
    2:2:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294:294 -> G1
    2:2:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290 -> G1
    3:3:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> G1
    3:3:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294 -> G1
    3:3:com.android.tools.r8.graph.ProgramMethod getProgramDefaultInitializer():290 -> G1
    1:1:boolean hasClassFileVersion():743:743 -> H1
    1:1:boolean hasClassOrMemberAnnotations():606:606 -> I1
    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):625:626 -> I1
    2:3:boolean hasClassOrMemberAnnotations():607 -> I1
    4:6:boolean hasClassOrMemberAnnotations():607:609 -> I1
    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):627:627 -> I1
    7:7:boolean hasClassOrMemberAnnotations():607 -> I1
    1:1:boolean hasFields():593:593 -> J1
    1:1:boolean hasMethods():597:597 -> K1
    1:1:boolean hasOnlyInternalizableAnnotations():613:613 -> L1
    2:3:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):625:626 -> L1
    2:3:boolean hasOnlyInternalizableAnnotations():613 -> L1
    4:6:boolean hasOnlyInternalizableAnnotations():613:615 -> L1
    7:7:boolean hasAnnotations(com.android.tools.r8.graph.MethodCollection):627:627 -> L1
    7:7:boolean hasOnlyInternalizableAnnotations():613 -> L1
    1:1:boolean isDeprecated():755:755 -> M1
    1:1:boolean originatesFromClassResource():373:373 -> N1
    1:1:boolean originatesFromDexResource():369:369 -> O1
    1:1:java.lang.Iterable programInstanceInitializers():252:252 -> P1
    1:1:void setDeprecated():751:751 -> Q1
    1:5:com.android.tools.r8.synthesis.SyntheticMarker stripSyntheticInputMarker():172:176 -> R1
    1:1:java.lang.Iterable virtualProgramMethods():243:243 -> S1
    1:1:void clearKotlinInfo():493:493 -> T
    1:1:com.android.tools.r8.graph.DexType getContextType():723:723 -> U
    com.android.tools.r8.graph.DexClass getContextClass() -> a
    com.android.tools.r8.graph.DexProgramClass getContextClass() -> a
    1:1:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):18:18 -> a
    1:1:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:4:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):18:20 -> a
    2:4:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
    5:5:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    5:5:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):20 -> a
    5:5:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    6:6:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    6:6:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):20 -> a
    6:6:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
    7:7:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    7:7:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):20 -> a
    7:7:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
    8:8:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    8:8:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
    8:8:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):20 -> a
    8:8:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
    9:10:void com.android.tools.r8.graph.ProgramField.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):21:22 -> a
    9:10:void lambda$collectIndexedItems$24(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramField):399 -> a
    11:11:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):153:153 -> a
    12:26:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):181:195 -> a
    27:27:boolean lambda$forEachProgramInstanceInitializerMatching$19(java.util.function.Predicate,com.android.tools.r8.graph.DexEncodedMethod):272:272 -> a
    28:28:com.android.tools.r8.utils.TraversalContinuation lambda$traverseProgramFields$21(java.util.function.Function,com.android.tools.r8.graph.DexEncodedField):341:341 -> a
    29:29:com.android.tools.r8.utils.TraversalContinuation lambda$traverseProgramMethods$22(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):346:346 -> a
    30:31:com.android.tools.r8.utils.TraversalContinuation traverseProgramMethods(java.util.function.Function,java.util.function.Predicate):356:357 -> a
    32:34:com.android.tools.r8.utils.TraversalContinuation lambda$traverseProgramMethods$23(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):359:361 -> a
    35:36:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):378:379 -> a
    37:37:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    37:37:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):379 -> a
    38:38:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1218,"2":1219,"3":1220}}
    1218:1218:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    1218:1218:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):379 -> a
    1219:1219:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    1219:1219:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):379 -> a
    1220:1220:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    1220:1220:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    1220:1220:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):379 -> a
    418:418:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):380:380 -> a
    419:419:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    419:419:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):381 -> a
    420:420:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1221,"2":1222,"3":1223}}
    1221:1221:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    1221:1221:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):381 -> a
    1222:1222:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    1222:1222:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):381 -> a
    1223:1223:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    1223:1223:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    1223:1223:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):381 -> a
    803:805:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):383:385 -> a
    806:806:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    806:806:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):386 -> a
    807:807:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):388:388 -> a
    808:808:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    808:808:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):388 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    809:809:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    809:809:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):388 -> a
    810:810:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    810:810:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    810:810:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):388 -> a
    811:811:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    811:811:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
    811:811:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):388 -> a
    812:812:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):389:389 -> a
    813:814:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):113:114 -> a
    813:814:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    815:815:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    815:815:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    815:815:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    816:816:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1224,"2":1225,"3":1226}}
    1224:1224:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    1224:1224:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    1224:1224:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    1225:1225:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    1225:1225:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    1225:1225:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    1226:1226:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    1226:1226:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    1226:1226:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    1226:1226:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):390 -> a
    1208:1215:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):392:399 -> a
    1216:1216:void forEachProgramField(java.util.function.Consumer):199:199 -> a
    1216:1216:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):399 -> a
    1217:1217:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):400:400 -> a
    1227:1231:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):406:410 -> a
    1232:1232:void lambda$addDependencies$26(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexEncodedMethod):422:422 -> a
    1233:1233:void com.android.tools.r8.graph.DexEncodedMethod.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):782:782 -> a
    1233:1233:void lambda$addDependencies$26(com.android.tools.r8.dex.MixedSectionCollection,com.android.tools.r8.graph.DexEncodedMethod):422 -> a
    1234:1234:com.android.tools.r8.graph.DexProgramClass asProgramClassOrNull(com.android.tools.r8.graph.DexClass):473:473 -> a
    1235:1237:void setKotlinInfo(com.android.tools.r8.kotlin.KotlinClassLevelInfo):487:489 -> a
    1238:1242:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):502:506 -> a
    1243:1250:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):516:523 -> a
    1243:1250:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1251:1251:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):578:578 -> a
    1251:1251:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):524 -> a
    1251:1251:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1252:1254:boolean com.android.tools.r8.graph.DexType.internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):146:148 -> a
    1252:1254:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):579 -> a
    1252:1254:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):524 -> a
    1252:1254:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1255:1256:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):583:584 -> a
    1255:1256:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):524 -> a
    1255:1256:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1257:1259:boolean com.android.tools.r8.graph.DexType.internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):146:148 -> a
    1257:1259:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):584 -> a
    1257:1259:boolean internalClassMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):524 -> a
    1257:1259:boolean internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):508 -> a
    1260:1260:int lambda$computeStaticValuesArray$27(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):637:637 -> a
    1261:1263:boolean hasNonDefaultStaticFieldValues():655:657 -> a
    1261:1263:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):632 -> a
    1264:1264:boolean com.android.tools.r8.graph.DexValue.isDefault(com.android.tools.r8.graph.DexType):412:412 -> a
    1264:1264:boolean hasNonDefaultStaticFieldValues():657 -> a
    1264:1264:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):632 -> a
    1265:1275:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):635:645 -> a
    1276:1276:boolean com.android.tools.r8.graph.DexValue.isDefault(com.android.tools.r8.graph.DexType):412:412 -> a
    1276:1276:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):645 -> a
    1277:1277:com.android.tools.r8.graph.DexEncodedArray computeStaticValuesArray(com.android.tools.r8.naming.NamingLens):650:650 -> a
    1278:1279:void downgradeInitialClassFileVersion(com.android.tools.r8.cf.CfVersion):738:739 -> a
    1280:1280:java.lang.Iterable asProgramClasses(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):779:779 -> a
    1281:1281:java.util.Iterator lambda$asProgramClasses$28(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):780:780 -> a
    1282:1282:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):812:812 -> a
    1283:1283:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1283:1283:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):812 -> a
    1284:1284:long invalidChecksumRequest(com.android.tools.r8.graph.DexProgramClass):812:812 -> a
    1:1:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61:61 -> b
    1:1:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:4:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):61:63 -> b
    2:4:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> b
    5:5:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> b
    5:5:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> b
    6:6:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> b
    6:6:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> b
    6:6:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> b
    6:6:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> b
    7:7:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> b
    7:7:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> b
    7:7:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> b
    7:7:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):63 -> b
    7:7:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> b
    8:12:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):64:68 -> b
    8:12:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> b
    13:13:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> b
    13:13:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> b
    13:13:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    14:14:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> b
    14:14:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> b
    14:14:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> b
    15:15:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> b
    15:15:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> b
    15:15:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> b
    16:16:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> b
    16:16:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> b
    16:16:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):68 -> b
    16:16:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> b
    17:17:void com.android.tools.r8.graph.ProgramMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):69:69 -> b
    17:17:void lambda$collectIndexedItems$25(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ProgramMethod):400 -> b
    18:18:com.android.tools.r8.graph.DexType lambda$specify$0(com.android.tools.r8.graph.DexProgramClass):181:181 -> b
    19:19:void lambda$forEachProgramFieldMatching$10(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField):204:204 -> b
    20:20:void lambda$forEachProgramDirectMethodMatching$18(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):262:262 -> b
    21:21:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294:294 -> b
    22:22:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> b
    22:22:com.android.tools.r8.graph.ProgramMethod getProgramInitializer(com.android.tools.r8.graph.DexType[]):294 -> b
    23:23:com.android.tools.r8.utils.TraversalContinuation traverseProgramFields(java.util.function.Function):341:341 -> b
    24:26:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):416:418 -> b
    27:27:boolean hasMethodsOrFields():601:601 -> b
    27:27:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):420 -> b
    28:29:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):421:422 -> b
    30:30:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):98:98 -> b
    30:30:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):422 -> b
    31:31:void com.android.tools.r8.graph.MethodCollection.forEachMethod(java.util.function.Consumer):98:98 -> b
    31:31:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):422 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    32:35:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):423:426 -> b
    36:37:void com.android.tools.r8.graph.DexAnnotationSet.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):127:128 -> b
    36:37:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):426 -> b
    38:38:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):427:427 -> b
    39:39:void com.android.tools.r8.graph.DexTypeList.collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):120:120 -> b
    39:39:void addDependencies(com.android.tools.r8.dex.MixedSectionCollection):428 -> b
    40:58:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):547:565 -> b
    59:59:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):578:578 -> b
    59:59:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):569 -> b
    60:62:boolean com.android.tools.r8.graph.DexType.internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):146:148 -> b
    60:62:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):579 -> b
    60:62:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):569 -> b
    63:64:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):583:584 -> b
    63:64:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):569 -> b
    65:67:boolean com.android.tools.r8.graph.DexType.internalClassOrInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):146:148 -> b
    65:67:boolean initializationOfParentTypesMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):584 -> b
    65:67:boolean internalInterfaceMayHaveInitializationSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.Set):569 -> b
    68:68:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> b
    68:68:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):448 -> b
    69:75:boolean isEffectivelyFinal(com.android.tools.r8.graph.AppView):451:457 -> b
    76:78:void setInitialClassFileVersion(com.android.tools.r8.cf.CfVersion):732:734 -> b
    1:1:com.android.tools.r8.graph.DexType lambda$specify$1(com.android.tools.r8.graph.DexProgramClass):182:182 -> c
    2:2:void lambda$forEachProgramInstanceField$11(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField):208:208 -> c
    3:3:void lambda$forEachProgramMethodMatching$13(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):227:227 -> c
    4:4:com.android.tools.r8.utils.TraversalContinuation traverseProgramInstanceInitializers(java.util.function.Function):351:351 -> c
    5:7:boolean hasAnnotations(com.android.tools.r8.graph.DexEncodedField[]):619:621 -> c
    8:8:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):665:665 -> c
    9:9:void addExtraInterfaces(java.util.List):678:678 -> c
    10:13:void addExtraInterfacesToInterfacesArray(java.util.List):686:689 -> c
    10:13:void addExtraInterfaces(java.util.List):681 -> c
    14:14:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> c
    14:14:void addExtraInterfacesToInterfacesArray(java.util.List):689 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:void addExtraInterfaces(java.util.List):681 -> c
    15:17:void addExtraInterfacesToInterfacesArray(java.util.List):689:691 -> c
    15:17:void addExtraInterfaces(java.util.List):681 -> c
    18:30:void addExtraInterfacesToSignatureIfPresent(java.util.List):696:708 -> c
    18:30:void addExtraInterfaces(java.util.List):682 -> c
    1:1:com.android.tools.r8.graph.DexTypeList lambda$specify$2(com.android.tools.r8.graph.DexProgramClass):183:183 -> d
    2:2:void forEachProgramDirectMethodMatching(java.util.function.Predicate,java.util.function.Consumer):261:261 -> d
    3:3:void lambda$forEachProgramVirtualMethodMatching$20(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):282:282 -> d
    4:4:com.android.tools.r8.graph.ProgramField lookupProgramField(com.android.tools.r8.graph.DexField):309:309 -> d
    5:5:com.android.tools.r8.graph.ProgramField toProgramFieldOrNull(com.android.tools.r8.graph.DexEncodedField):318:318 -> d
    5:5:com.android.tools.r8.graph.ProgramField lookupProgramField(com.android.tools.r8.graph.DexField):309 -> d
    6:6:com.android.tools.r8.utils.TraversalContinuation traverseProgramMethods(java.util.function.Function):346:346 -> d
    7:7:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):669:669 -> d
    1:1:com.android.tools.r8.graph.ClassAccessFlags lambda$specify$3(com.android.tools.r8.graph.DexProgramClass):184:184 -> e
    2:2:void forEachProgramFieldMatching(java.util.function.Predicate,java.util.function.Consumer):204:204 -> e
    3:3:com.android.tools.r8.graph.ProgramMethod lambda$directProgramMethods$14(com.android.tools.r8.graph.DexEncodedMethod):235:235 -> e
    1:1:com.android.tools.r8.graph.DexString lambda$specify$4(com.android.tools.r8.graph.DexProgramClass):185:185 -> f
    2:2:com.android.tools.r8.graph.ProgramMethod lambda$directProgramMethods$15(com.android.tools.r8.graph.DexEncodedMethod):239:239 -> f
    3:3:void forEachProgramInstanceInitializerMatching(java.util.function.Predicate,java.util.function.Consumer):271:271 -> f
    4:4:com.android.tools.r8.graph.ProgramMethod lookupProgramMethod(com.android.tools.r8.graph.DexMethod):313:313 -> f
    5:5:com.android.tools.r8.graph.ProgramMethod toProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod):325:325 -> f
    5:5:com.android.tools.r8.graph.ProgramMethod lookupProgramMethod(com.android.tools.r8.graph.DexMethod):313 -> f
    com.android.tools.r8.graph.DexProgramClass asProgramClass() -> f0
    1:1:com.android.tools.r8.cf.CfVersion lambda$specify$5(com.android.tools.r8.graph.DexProgramClass):186:186 -> g
    2:2:void forEachProgramMethodMatching(java.util.function.Predicate,java.util.function.Consumer):226:226 -> g
    3:3:com.android.tools.r8.graph.ProgramMethod lambda$virtualProgramMethods$16(com.android.tools.r8.graph.DexEncodedMethod):243:243 -> g
    boolean isProgramClass() -> g0
    1:1:boolean lambda$specify$6(com.android.tools.r8.graph.DexProgramClass):187:187 -> h
    2:2:void forEachProgramVirtualMethodMatching(java.util.function.Predicate,java.util.function.Consumer):281:281 -> h
    com.android.tools.r8.graph.DexDefinition getDefinition() -> i
    1:1:boolean lambda$specify$7(com.android.tools.r8.graph.DexProgramClass):192:192 -> i
    1:1:com.android.tools.r8.graph.DexEncodedField[] lambda$specify$8(com.android.tools.r8.graph.DexProgramClass):193:193 -> j
    2:2:void forEachProgramInstanceField(java.util.function.Consumer):208:208 -> j
    1:1:com.android.tools.r8.graph.DexEncodedField[] lambda$specify$9(com.android.tools.r8.graph.DexProgramClass):194:194 -> k
    2:2:void forEachProgramField(java.util.function.Consumer):199:199 -> k
    2:2:void forEachProgramMember(java.util.function.Consumer):216 -> k
    3:3:void forEachProgramMember(java.util.function.Consumer):217:217 -> k
    1:1:void forEachProgramMethod(java.util.function.Consumer):221:221 -> l
    1:1:java.lang.Iterable directProgramMethods(java.util.function.Predicate):239:239 -> m
    1:1:java.lang.String toSourceString():439:439 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():168:168 -> n
    boolean isNotProgramClass() -> q1
    1:1:java.lang.String toString():434:434 -> toString
    1:1:java.lang.Iterable directProgramMethods():235:235 -> z1
com.android.tools.r8.graph.DexProgramClass$1 -> com.android.tools.r8.graph.Y0:
    java.util.Iterator iterator -> c
    com.android.tools.r8.graph.DexProgramClass next -> b
    com.android.tools.r8.graph.DexDefinitionSupplier val$definitions -> d
    1:5:void <init>(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):780:784 -> <init>
    1:1:boolean hasNext():788:788 -> hasNext
    1:5:com.android.tools.r8.graph.DexProgramClass findNext():799:803 -> j
    1:2:com.android.tools.r8.graph.DexProgramClass next():793:794 -> next
    1:2:java.lang.Object next():780 -> next
com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier -> com.android.tools.r8.graph.Z0$a:
    long getChecksum(com.android.tools.r8.graph.DexProgramClass) -> a
com.android.tools.r8.graph.DexProto -> com.android.tools.r8.graph.a1:
    com.android.tools.r8.graph.DexProto SENTINEL -> h
    com.android.tools.r8.graph.DexString shorty -> e
    com.android.tools.r8.graph.DexTypeList parameters -> g
    com.android.tools.r8.graph.DexType returnType -> f
    1:1:void <clinit>():16:16 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):22:25 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:java.lang.String toDescriptorString(com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":131,"2":132,"3":133}}
    131:131:java.lang.String toDescriptorString(com.android.tools.r8.naming.NamingLens):122:122 -> a
    132:132:java.lang.String toDescriptorString(com.android.tools.r8.naming.NamingLens):122:122 -> a
    133:133:java.lang.String toDescriptorString(com.android.tools.r8.naming.NamingLens):123:123 -> a
    125:130:java.lang.String toDescriptorString(com.android.tools.r8.naming.NamingLens):124:129 -> a
    134:137:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):29:32 -> a
    138:138:com.android.tools.r8.graph.DexTypeList lambda$specify$0(com.android.tools.r8.graph.DexProto):30:30 -> a
    139:139:com.android.tools.r8.graph.DexType lambda$getBaseTypes$3(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):70:70 -> a
    140:140:java.lang.Iterable getTypes():74:74 -> a
    140:140:java.lang.Iterable getBaseTypes(com.android.tools.r8.graph.DexItemFactory):70 -> a
    141:141:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    141:141:java.lang.Iterable getTypes():74 -> a
    141:141:java.lang.Iterable getBaseTypes(com.android.tools.r8.graph.DexItemFactory):70 -> a
    142:142:java.lang.Iterable getBaseTypes(com.android.tools.r8.graph.DexItemFactory):70:70 -> a
    143:144:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):100:101 -> a
    145:145:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    145:145:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):101 -> a
    146:146:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102:102 -> a
    147:147:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    147:147:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102 -> a
    148:148:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":257,"2":258,"3":259}}
    257:257:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    257:257:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102 -> a
    258:258:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    258:258:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102 -> a
    259:259:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    259:259:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    259:259:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):102 -> a
    251:251:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103:103 -> a
    252:252:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):113:113 -> a
    252:252:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    253:254:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):113:114 -> a
    253:254:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
    255:255:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    255:255:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    255:255:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
    256:256:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":260,"2":261,"3":262}}
    260:260:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    260:260:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    260:260:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
    261:261:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    261:261:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    261:261:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
    262:262:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    262:262:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    262:262:void com.android.tools.r8.graph.DexTypeList.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):114 -> a
    262:262:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):103 -> a
    263:263:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):109:109 -> a
    1:1:com.android.tools.r8.graph.DexString lambda$specify$1(com.android.tools.r8.graph.DexProto):32:32 -> b
    2:2:java.lang.Iterable getParameterBaseTypes(com.android.tools.r8.graph.DexItemFactory):66:66 -> b
    3:3:com.android.tools.r8.graph.DexType lambda$getParameterBaseTypes$2(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):66:66 -> b
    1:2:void forEachType(java.util.function.Consumer):78:79 -> d
    1:5:boolean computeEquals(java.lang.Object):47:51 -> h
    6:6:com.android.tools.r8.graph.DexType getParameter(int):83:83 -> h
    1:1:java.lang.String toDescriptorString():118:118 -> l0
    1:1:java.lang.String toSmaliString():114 -> l0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():37:37 -> n
    1:1:int computeHashCode():58:58 -> n0
    1:1:com.android.tools.r8.graph.DexType getReturnType():62:62 -> o0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100}}
    98:98:java.lang.String toString():96:96 -> toString
    99:99:java.lang.String toString():96:96 -> toString
    100:100:java.lang.String toString():96:96 -> toString
    97:97:java.lang.String toString():96:96 -> toString
com.android.tools.r8.graph.DexReference -> com.android.tools.r8.graph.b1:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.graph.DexType getContextType() -> U
    void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer) -> a
    java.lang.Object apply(java.util.function.Function,java.util.function.Function,java.util.function.Function) -> a
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection) -> a
    int compareTo(com.android.tools.r8.graph.DexReference) -> a
    1:1:java.lang.Object applyPair(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference,java.util.function.BiFunction,java.util.function.BiFunction,java.util.function.BiFunction):38:38 -> a
    2:2:boolean isDexType():0:0 -> a
    2:2:java.lang.Object applyPair(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference,java.util.function.BiFunction,java.util.function.BiFunction,java.util.function.BiFunction):38 -> a
    3:9:java.lang.Object applyPair(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference,java.util.function.BiFunction,java.util.function.BiFunction,java.util.function.BiFunction):39:45 -> a
    com.android.tools.r8.graph.DexField asDexField() -> o0
    com.android.tools.r8.graph.DexMember asDexMember() -> p0
    com.android.tools.r8.graph.DexMethod asDexMethod() -> q0
    com.android.tools.r8.graph.DexType asDexType() -> r0
    boolean isDexField() -> s0
    boolean isDexMethod() -> t0
    1:1:boolean isDexType():0:0 -> u0
    1:1:int referenceTypeOrder():87 -> u0
    2:5:int referenceTypeOrder():90:93 -> u0
com.android.tools.r8.graph.DexString -> com.android.tools.r8.graph.d1:
    com.android.tools.r8.graph.DexString[] EMPTY_ARRAY -> g
    int size -> e
    boolean $assertionsDisabled -> h
    byte[] content -> f
    1:3:void <clinit>():20:22 -> <clinit>
    1:3:void <init>(int,byte[]):28:30 -> <init>
    4:6:void <init>(java.lang.String):33:35 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):20:20 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):20 -> a
    3:3:int compareTo(com.android.tools.r8.utils.structural.StructuralItem):20:20 -> a
    4:4:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):70:70 -> a
    5:21:int decodePrefix(char[]):154:170 -> a
    22:34:int decodePrefix(char[]):168:180 -> a
    35:42:int decodePrefix(char[]):178:185 -> a
    43:45:int countBytes(java.lang.String):230:232 -> a
    43:45:byte[] encodeToMutf8(java.lang.String):249 -> a
    46:51:byte[] encodeToMutf8(java.lang.String):249:254 -> a
    52:59:int encodeToMutf8(char,byte[],int):260:267 -> a
    60:60:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):278:278 -> a
    61:73:int internalCompareTo(com.android.tools.r8.graph.DexString):290:302 -> a
    61:73:int compareTo(com.android.tools.r8.graph.DexString):60 -> a
    74:76:boolean isValidSimpleName(com.android.tools.r8.utils.AndroidApiLevel):419:421 -> a
    77:84:boolean isValidSimpleName(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):404:411 -> a
    77:84:boolean isValidSimpleName(com.android.tools.r8.utils.AndroidApiLevel):421 -> a
    85:89:boolean startsWith(byte[]):452:456 -> a
    90:90:int getArrayDim():529:529 -> a
    90:90:com.android.tools.r8.graph.DexString withNewPrefix(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):496 -> a
    91:108:com.android.tools.r8.graph.DexString withNewPrefix(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):497:514 -> a
    109:109:int getArrayDim():529:529 -> a
    109:109:com.android.tools.r8.graph.DexString withoutArray(com.android.tools.r8.graph.DexItemFactory):518 -> a
    110:112:com.android.tools.r8.graph.DexString withoutArray(com.android.tools.r8.graph.DexItemFactory):522:524 -> a
    1:5:boolean endsWith(com.android.tools.r8.graph.DexString):480:484 -> b
    1:1:int compareTo(java.lang.Object):20:20 -> compareTo
    1:3:boolean computeEquals(java.lang.Object):120:122 -> h
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():50:50 -> n
    1:1:int computeHashCode():115:115 -> n0
    1:3:java.lang.String decode():145:147 -> o0
    1:32:int decodedHashCode():191:222 -> p0
    33:46:int decodedHashCode():205:218 -> p0
    1:11:java.lang.String dump():430:440 -> q0
    1:1:boolean isValidClassDescriptor():396:396 -> r0
    2:13:boolean isValidClassDescriptor(java.lang.String):314:325 -> r0
    2:13:boolean isValidClassDescriptor():396 -> r0
    14:14:boolean isValidClassDescriptor(java.lang.String):323:323 -> r0
    14:14:boolean isValidClassDescriptor():396 -> r0
    1:1:boolean isValidFieldName():388:388 -> s0
    2:18:boolean isValidFieldName(java.lang.String):355:371 -> s0
    2:18:boolean isValidFieldName():388 -> s0
    19:19:boolean isValidFieldName(java.lang.String):369:369 -> s0
    19:19:boolean isValidFieldName():388 -> s0
    1:1:boolean isValidMethodName():380:380 -> t0
    2:16:boolean isValidMethodName(java.lang.String):333:347 -> t0
    2:16:boolean isValidMethodName():380 -> t0
    17:17:boolean isValidMethodName(java.lang.String):345:345 -> t0
    17:17:boolean isValidMethodName():380 -> t0
    1:3:java.lang.String toString():130:132 -> toString
    1:1:com.android.tools.r8.utils.ThrowingCharIterator iterator():74:74 -> u0
    1:3:java.lang.String toASCIIString():138:140 -> v0
com.android.tools.r8.graph.DexString$1 -> com.android.tools.r8.graph.c1:
    com.android.tools.r8.graph.DexString this$0 -> b
    boolean $assertionsDisabled -> c
    int i -> a
    1:1:void <clinit>():74:74 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexString):74:76 -> <init>
    1:24:char nextChar():80:103 -> a
    25:25:char nextChar():81:81 -> a
    1:1:boolean hasNext():108:108 -> hasNext
com.android.tools.r8.graph.DexType -> com.android.tools.r8.graph.e1:
    java.lang.String toStringCache -> g
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.DexString descriptor -> f
    com.android.tools.r8.graph.DexType[] EMPTY_ARRAY -> h
    java.util.List OLD_SYNTHESIZED_NAMES -> i
    1:7:void <clinit>():30:36 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexString):50:50 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexString):48:51 -> <init>
    6:6:void <init>(com.android.tools.r8.graph.DexString):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":59,"2":60,"3":61}}
    59:59:void <init>(com.android.tools.r8.graph.DexString):51:51 -> <init>
    60:60:void <init>(com.android.tools.r8.graph.DexString):51:51 -> <init>
    61:61:void <init>(com.android.tools.r8.graph.DexString):51:51 -> <init>
    57:58:void <init>(com.android.tools.r8.graph.DexString):51:52 -> <init>
    1:1:int getNumberOfLeadingSquareBrackets():401:401 -> A0
    1:1:java.lang.String getPackageDescriptor():495:495 -> B0
    1:1:java.lang.String getPackageName():523:523 -> C0
    2:4:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getPackageNameFromBinaryName(java.lang.String):512:514 -> C0
    2:4:java.lang.String getPackageName():523 -> C0
    1:2:int getRequiredRegisters():118:119 -> D0
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:2:java.lang.String getSimpleName():506:507 -> E0
    1:1:java.lang.String getTypeName():208:208 -> F0
    1:1:boolean isArrayType():314:314 -> G0
    1:1:boolean isBooleanType():276:276 -> H0
    1:1:boolean isClassType():319:319 -> I0
    1:1:boolean isDoubleType():304:304 -> J0
    1:1:boolean isFloatType():296:296 -> K0
    1:1:boolean isIntType():292:292 -> L0
    1:1:boolean isLegacySynthesizedTypeAllowedDuplication():349:349 -> M0
    2:3:boolean oldSynthesizedName(java.lang.String):353:354 -> M0
    2:3:boolean isLegacySynthesizedTypeAllowedDuplication():349 -> M0
    1:1:boolean isLongType():300:300 -> N0
    1:2:boolean isNullValueType():308:309 -> O0
    1:4:boolean isPrimitiveArrayType():330:333 -> P0
    1:1:boolean isPrimitiveType():268:268 -> Q0
    1:2:boolean isReferenceType():324:325 -> R0
    1:1:boolean isVoidType():272:272 -> S0
    1:1:boolean isWideType():337:337 -> T0
    com.android.tools.r8.graph.DexType getContextType() -> U
    1:4:java.lang.String toBinaryName():175:178 -> U0
    5:5:java.lang.String toBinaryName():176:176 -> U0
    6:6:java.lang.String toBinaryName():0:0 -> U0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":185,"3":186}}
    185:185:java.lang.String toBinaryName():179:179 -> U0
    186:186:java.lang.String toBinaryName():179:179 -> U0
    1:1:java.lang.String toDescriptorString():171:171 -> V0
    1:1:char toShorty():225:225 -> W0
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):30:30 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    2:2:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):30 -> a
    3:3:int compareTo(com.android.tools.r8.graph.DexReference):78:78 -> a
    4:4:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    4:4:int compareTo(com.android.tools.r8.graph.DexReference):78 -> a
    5:7:int compareTo(com.android.tools.r8.graph.DexReference):79:81 -> a
    8:8:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):105:105 -> a
    9:10:boolean classInitializationMayHaveSideEffectsInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition):137:138 -> a
    11:18:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):153:160 -> a
    19:19:boolean com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection.isMaybeOpen(com.android.tools.r8.graph.DexClass):36:36 -> a
    19:19:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):160 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):163:163 -> a
    21:21:boolean isSamePackage(com.android.tools.r8.graph.DexType):167:167 -> a
    22:22:java.lang.Object apply(java.util.function.Function,java.util.function.Function,java.util.function.Function):187:187 -> a
    23:23:void accept(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):195:195 -> a
    24:24:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    25:25:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":267,"2":268,"3":269}}
    267:267:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    268:268:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    269:269:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    269:269:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    270:270:int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping):254:254 -> a
    271:273:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):436:438 -> a
    274:274:com.android.tools.r8.graph.DexType toArrayType(int,com.android.tools.r8.graph.DexItemFactory):469:469 -> a
    274:274:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):438 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    275:275:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexString.toArrayDescriptor(int,com.android.tools.r8.graph.DexItemFactory):536:536 -> a
    275:275:com.android.tools.r8.graph.DexType toArrayType(int,com.android.tools.r8.graph.DexItemFactory):469 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    275:275:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):438 -> a
    276:279:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexString.toArrayDescriptor(int,com.android.tools.r8.graph.DexItemFactory):536:539 -> a
    276:279:com.android.tools.r8.graph.DexType toArrayType(int,com.android.tools.r8.graph.DexItemFactory):469 -> a
    276:279:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):438 -> a
    280:280:com.android.tools.r8.graph.DexType toArrayType(int,com.android.tools.r8.graph.DexItemFactory):469:469 -> a
    280:280:com.android.tools.r8.graph.DexType replaceBaseType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):438 -> a
    281:285:com.android.tools.r8.graph.DexType addSuffix(java.lang.String,com.android.tools.r8.graph.DexItemFactory):453:457 -> a
    286:290:com.android.tools.r8.graph.DexType toArrayElementType(com.android.tools.r8.graph.DexItemFactory):473:477 -> a
    291:294:com.android.tools.r8.graph.DexType toArrayElementType(com.android.tools.r8.graph.DexItemFactory):475:478 -> a
    295:299:java.lang.String getPackageOrName(boolean):482:486 -> a
    300:300:java.lang.String getPackageOrName(boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1276,"3":1277}}
    1276:1276:java.lang.String getPackageOrName(boolean):486:486 -> a
    1277:1277:java.lang.String getPackageOrName(boolean):486:486 -> a
    789:789:java.lang.String getPackageOrName(boolean):489:489 -> a
    790:790:java.lang.String getPackageOrName(boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1281,"3":1282}}
    1281:1281:java.lang.String getPackageOrName(boolean):490:490 -> a
    1282:1282:java.lang.String getPackageOrName(boolean):490:490 -> a
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement toTypeElement(com.android.tools.r8.graph.AppView):69:69 -> b
    2:2:com.android.tools.r8.ir.analysis.type.TypeElement toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> b
    2:2:com.android.tools.r8.ir.analysis.type.TypeElement toTypeElement(com.android.tools.r8.graph.AppView):69 -> b
    3:10:com.android.tools.r8.graph.DexType toBaseType(com.android.tools.r8.graph.DexItemFactory):408:415 -> b
    11:15:com.android.tools.r8.graph.DexType toBaseType(com.android.tools.r8.graph.DexItemFactory):413:417 -> b
    16:19:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):442:445 -> b
    20:20:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":471,"2":472,"3":473,"4":474,"5":475,"6":476}}
    471:471:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):446:446 -> b
    472:472:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):446:446 -> b
    473:473:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):446:446 -> b
    474:474:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):446:446 -> b
    475:475:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):446:446 -> b
    476:476:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):446:446 -> b
    21:21:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":478,"2":479,"3":480}}
    478:478:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):448:448 -> b
    479:479:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):448:448 -> b
    480:480:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):448:448 -> b
    469:470:com.android.tools.r8.graph.DexType replacePackage(java.lang.String,com.android.tools.r8.graph.DexItemFactory):448:449 -> b
    1:3:com.android.tools.r8.graph.DexType withSimpleName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):511:513 -> c
    4:4:com.android.tools.r8.graph.DexType withSimpleName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):512:512 -> c
    1:2:boolean computeEquals(java.lang.Object):129:130 -> h
    1:1:java.lang.String toSmaliString():231:231 -> l0
    1:9:java.lang.String toSourceString():213:221 -> m0
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():93:93 -> n
    1:1:int computeHashCode():124:124 -> n0
    com.android.tools.r8.graph.DexType asDexType() -> r0
    1:1:java.lang.String toString():236:236 -> toString
    1:1:com.android.tools.r8.references.ClassReference asClassReference():56:56 -> v0
    1:16:int elementSizeForPrimitiveArrayType():380:395 -> w0
    17:17:int elementSizeForPrimitiveArrayType():0:0 -> w0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":413,"2":414,"3":415}}
    413:413:int elementSizeForPrimitiveArrayType():395:395 -> w0
    414:414:int elementSizeForPrimitiveArrayType():395:395 -> w0
    415:415:int elementSizeForPrimitiveArrayType():395:395 -> w0
    412:412:int elementSizeForPrimitiveArrayType():395:395 -> w0
    1:1:com.android.tools.r8.graph.DexString getDescriptor():114:114 -> x0
    1:2:java.lang.String getInternalName():518:519 -> y0
    1:4:java.lang.String getName():499:502 -> z0
com.android.tools.r8.graph.DexTypeList -> com.android.tools.r8.graph.f1:
    com.android.tools.r8.graph.DexTypeList theEmptyTypeList -> c
    com.android.tools.r8.graph.DexType[] values -> b
    int $r8$clinit -> e
    boolean $assertionsDisabled -> d
    1:3:void <clinit>():23:25 -> <clinit>
    1:2:void <init>():37:38 -> <init>
    3:5:void <init>(com.android.tools.r8.graph.DexType[]):41:43 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexType[] lambda$specify$0(com.android.tools.r8.graph.DexTypeList):30:30 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):30:30 -> a
    3:7:com.android.tools.r8.graph.DexTypeList map(java.util.function.Function):75:79 -> a
    8:8:com.android.tools.r8.graph.DexTypeList create(com.android.tools.r8.graph.DexType[]):51:51 -> a
    8:8:com.android.tools.r8.graph.DexTypeList map(java.util.function.Function):79 -> a
    9:9:boolean contains(com.android.tools.r8.graph.DexType):97:97 -> a
    10:11:boolean com.android.tools.r8.utils.ArrayUtils.contains(java.lang.Object[],java.lang.Object):129:130 -> a
    10:11:boolean contains(com.android.tools.r8.graph.DexType):97 -> a
    12:12:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):120:120 -> a
    1:2:boolean equals(java.lang.Object):128:129 -> equals
    1:2:void forEach(java.util.function.Consumer):102:103 -> forEach
    1:1:com.android.tools.r8.graph.DexType get(int):59:59 -> h
    1:1:int hashCode():109:109 -> hashCode
    1:1:boolean isEmpty():133:133 -> isEmpty
    1:1:java.util.Iterator iterator():158:158 -> iterator
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():93:93 -> n
    1:1:com.android.tools.r8.graph.DexTypeList empty():34:34 -> n0
    1:1:int size():137:137 -> size
    1:1:java.util.stream.Stream stream():141:141 -> stream
    1:8:java.lang.String toString():146:153 -> toString
com.android.tools.r8.graph.DexTypeUtils -> com.android.tools.r8.internal.jh:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:3:com.android.tools.r8.graph.DexType computeLeastUpperBound(com.android.tools.r8.graph.AppView,java.lang.Iterable):16:18 -> a
    4:4:com.android.tools.r8.ir.analysis.type.TypeElement lambda$computeLeastUpperBound$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):17:17 -> a
    5:12:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):23:30 -> a
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.toArrayType(int,com.android.tools.r8.graph.DexItemFactory):469:469 -> a
    13:13:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):30 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexString.toArrayDescriptor(int,com.android.tools.r8.graph.DexItemFactory):536:536 -> a
    14:14:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.toArrayType(int,com.android.tools.r8.graph.DexItemFactory):469 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):30 -> a
    15:18:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexString.toArrayDescriptor(int,com.android.tools.r8.graph.DexItemFactory):536:539 -> a
    15:18:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.toArrayType(int,com.android.tools.r8.graph.DexItemFactory):469 -> a
    15:18:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):30 -> a
    19:19:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexType.toArrayType(int,com.android.tools.r8.graph.DexItemFactory):469:469 -> a
    19:19:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):30 -> a
    20:28:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):32:40 -> a
com.android.tools.r8.graph.DexValue -> com.android.tools.r8.graph.i1:
    com.android.tools.r8.graph.DexValue[] EMPTY_ARRAY -> b
    1:1:void <clinit>():145:145 -> <clinit>
    1:1:void <init>():34:34 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueMethod asDexValueMethod() -> A0
    com.android.tools.r8.graph.DexValue$DexValueMethodHandle asDexValueMethodHandle() -> B0
    com.android.tools.r8.graph.DexValue$DexValueMethodType asDexValueMethodType() -> C0
    com.android.tools.r8.graph.DexValue$DexValueNumber asDexValueNumber() -> D0
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    com.android.tools.r8.graph.DexValue$DexValueShort asDexValueShort() -> E0
    com.android.tools.r8.graph.DexValue$DexValueString asDexValueString() -> F0
    com.android.tools.r8.graph.DexValue$DexValueType asDexValueType() -> G0
    java.lang.Object getBoxedValue() -> H0
    com.android.tools.r8.graph.DexValue$DexValueKind getValueKind() -> I0
    boolean isDexValueBoolean() -> J0
    boolean isDexValueByte() -> K0
    boolean isDexValueChar() -> L0
    boolean isDexValueDouble() -> M0
    boolean isDexValueFloat() -> N0
    boolean isDexValueInt() -> O0
    boolean isDexValueLong() -> P0
    boolean isDexValueNumber() -> Q0
    boolean isDexValueShort() -> R0
    boolean isDexValueString() -> S0
    boolean isDexValueType() -> T0
    boolean isNestedDexValue() -> U0
    boolean mayHaveSideEffects() -> V0
    void sort() -> W0
    com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo) -> a
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection) -> a
    com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory) -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory) -> a
    void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping) -> a
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):34:34 -> a
    2:5:int acceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):127:130 -> a
    6:7:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):137:138 -> a
    8:8:void writeHeader(com.android.tools.r8.graph.DexValue$DexValueKind,int,com.android.tools.r8.dex.DexOutputBuffer):350:350 -> a
    8:8:void access$100(com.android.tools.r8.graph.DexValue$DexValueKind,int,com.android.tools.r8.dex.DexOutputBuffer):34 -> a
    9:9:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):360:360 -> a
    10:30:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):377:397 -> a
    31:31:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":471,"2":472,"3":473,"4":474,"5":475}}
    471:471:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):397:397 -> a
    472:472:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):397:397 -> a
    473:473:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):397:397 -> a
    474:474:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):397:397 -> a
    475:475:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):397:397 -> a
    428:428:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):397:397 -> a
    429:445:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):379:395 -> a
    446:446:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):389:389 -> a
    447:453:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):387:393 -> a
    454:454:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):383:383 -> a
    455:455:com.android.tools.r8.graph.DexValue defaultForType(com.android.tools.r8.graph.DexType):381:381 -> a
    int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor) -> b
    void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> b
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():121:121 -> n
    java.lang.Object asAsmEncodedObject() -> n0
    com.android.tools.r8.graph.DexValue$DexItemBasedValueString asDexItemBasedValueString() -> o0
    com.android.tools.r8.graph.DexValue$DexValueAnnotation asDexValueAnnotation() -> p0
    com.android.tools.r8.graph.DexValue$DexValueArray asDexValueArray() -> q0
    com.android.tools.r8.graph.DexValue$DexValueBoolean asDexValueBoolean() -> r0
    com.android.tools.r8.graph.DexValue$DexValueByte asDexValueByte() -> s0
    com.android.tools.r8.graph.DexValue$DexValueChar asDexValueChar() -> t0
    com.android.tools.r8.graph.DexValue$DexValueDouble asDexValueDouble() -> u0
    com.android.tools.r8.graph.DexValue$DexValueEnum asDexValueEnum() -> v0
    com.android.tools.r8.graph.DexValue$DexValueField asDexValueField() -> w0
    com.android.tools.r8.graph.DexValue$DexValueFloat asDexValueFloat() -> x0
    com.android.tools.r8.graph.DexValue$DexValueInt asDexValueInt() -> y0
    com.android.tools.r8.graph.DexValue$DexValueLong asDexValueLong() -> z0
com.android.tools.r8.graph.DexValue$DexItemBasedValueString -> com.android.tools.r8.graph.g1:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> d
    1:1:void <clinit>():1274:1274 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):1289:1290 -> <init>
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1333:1333 -> I0
    boolean isNestedDexValue() -> U0
    void sort() -> W0
    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():1313:1313 -> Y0
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1309:1309 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1338:1338 -> a
    3:5:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):1344:1346 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1355:1355 -> a
    7:7:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1360:1360 -> a
    1:4:int compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1279:1282 -> b
    1:4:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1300 -> b
    5:5:boolean com.android.tools.r8.graph.DexValue.isDexItemBasedValueString():0:0 -> b
    5:5:int compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1282 -> b
    5:5:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1300 -> b
    6:6:int compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1283:1283 -> b
    6:6:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1300 -> b
    7:7:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1304:1304 -> b
    8:8:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1295:1295 -> b
    1:1:java.lang.Object asAsmEncodedObject():1328:1328 -> n0
    com.android.tools.r8.graph.DexValue$DexItemBasedValueString asDexItemBasedValueString() -> o0
com.android.tools.r8.graph.DexValue$DexValueAnnotation -> com.android.tools.r8.graph.h1:
    com.android.tools.r8.graph.DexEncodedAnnotation value -> c
    1:2:void <init>(com.android.tools.r8.graph.DexEncodedAnnotation):1688:1689 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:java.lang.Object getBoxedValue():1744:1744 -> H0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1708:1708 -> I0
    1:1:void sort():1754:1754 -> W0
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):1684:1684 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1723:1723 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1728:1728 -> a
    4:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1733:1734 -> a
    6:6:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1739:1739 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1694:1694 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1699:1699 -> b
    1:3:boolean equals(java.lang.Object):1767:1769 -> equals
    1:1:int hashCode():1759:1759 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():1749:1749 -> n0
    com.android.tools.r8.graph.DexValue$DexValueAnnotation asDexValueAnnotation() -> p0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1778,"2":1779,"3":1780}}
    1778:1778:java.lang.String toString():1776:1776 -> toString
    1779:1779:java.lang.String toString():1776:1776 -> toString
    1780:1780:java.lang.String toString():1776:1776 -> toString
    1777:1777:java.lang.String toString():1776:1776 -> toString
com.android.tools.r8.graph.DexValue$DexValueArray -> com.android.tools.r8.graph.i1$a:
    com.android.tools.r8.graph.DexValue[] values -> c
    1:2:void <init>(com.android.tools.r8.graph.DexValue[]):1579:1580 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:java.lang.Object getBoxedValue():1631:1631 -> H0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1605:1605 -> I0
    1:2:void sort():1646:1647 -> W0
    1:1:com.android.tools.r8.graph.DexValue[] getValues():1600:1600 -> X0
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):1575:1575 -> a
    2:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1610:1611 -> a
    4:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1617:1618 -> a
    6:6:void com.android.tools.r8.dex.DexOutputBuffer.putUleb128(int):79:79 -> a
    6:6:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1618 -> a
    7:8:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1619:1620 -> a
    9:9:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1626:1626 -> a
    10:10:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1636:1636 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1585:1585 -> b
    2:2:int com.android.tools.r8.utils.structural.CompareToVisitor.visitItemArray(com.android.tools.r8.utils.structural.StructuralItem[],com.android.tools.r8.utils.structural.StructuralItem[]):35:35 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1585 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1590:1590 -> b
    4:4:void com.android.tools.r8.utils.structural.HashingVisitor.visitItemArray(com.android.tools.r8.utils.structural.StructuralItem[]):32:32 -> b
    4:4:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1590 -> b
    1:2:void forEachElement(java.util.function.Consumer):1594:1595 -> d
    1:3:boolean equals(java.lang.Object):1661:1663 -> equals
    1:1:int hashCode():1653:1653 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():1641:1641 -> n0
    com.android.tools.r8.graph.DexValue$DexValueArray asDexValueArray() -> q0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1672,"2":1673,"3":1674}}
    1672:1672:java.lang.String toString():1670:1670 -> toString
    1673:1673:java.lang.String toString():1670:1670 -> toString
    1674:1674:java.lang.String toString():1670:1670 -> toString
    1671:1671:java.lang.String toString():1670:1670 -> toString
com.android.tools.r8.graph.DexValue$DexValueBoolean -> com.android.tools.r8.graph.i1$b:
    com.android.tools.r8.graph.DexValue$DexValueBoolean TRUE -> d
    com.android.tools.r8.graph.DexValue$DexValueBoolean FALSE -> e
    com.android.tools.r8.graph.DexValue$DexValueBoolean DEFAULT -> f
    boolean value -> c
    1:4:void <clinit>():1871:1874 -> <clinit>
    1:2:void <init>(boolean):1878:1879 -> <init>
    1:1:java.lang.Object getBoxedValue():1927:1927 -> H0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1902:1902 -> I0
    boolean isDexValueBoolean() -> J0
    1:1:long getRawValue():1912:1912 -> X0
    1:1:com.android.tools.r8.graph.DexValue$DexValueBoolean access$000():1869:1869 -> Y0
    1:1:boolean getValue():1897:1897 -> Z0
    1:1:com.android.tools.r8.graph.DexValue$DexValueBoolean create(boolean):1883:1883 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1907:1907 -> a
    3:3:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1932:1932 -> a
    4:4:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):1961:1961 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1888:1888 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1893:1893 -> b
    1:1:boolean equals(java.lang.Object):1950:1950 -> equals
    1:1:int hashCode():1942:1942 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():1937:1937 -> n0
    com.android.tools.r8.graph.DexValue$DexValueBoolean asDexValueBoolean() -> r0
    1:1:java.lang.String toString():1955:1955 -> toString
com.android.tools.r8.graph.DexValue$DexValueByte -> com.android.tools.r8.graph.i1$c:
    byte value -> c
    com.android.tools.r8.graph.DexValue$DexValueByte DEFAULT -> d
    1:1:void <clinit>():471:471 -> <clinit>
    1:2:void <init>(byte):475:476 -> <init>
    1:1:java.lang.Object getBoxedValue():524:524 -> H0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():499:499 -> I0
    boolean isDexValueByte() -> K0
    1:1:long getRawValue():509:509 -> X0
    1:1:byte getValue():494:494 -> Y0
    1:1:com.android.tools.r8.graph.DexValue$DexValueByte create(byte):480:480 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):504:504 -> a
    3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):529:530 -> a
    5:5:int com.android.tools.r8.dex.DexOutputBuffer.putSignedEncodedValue(long,int):87:87 -> a
    5:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):530 -> a
    6:6:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):559:559 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):485:485 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):490:490 -> b
    1:1:boolean equals(java.lang.Object):548:548 -> equals
    1:1:int hashCode():540:540 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():535:535 -> n0
    com.android.tools.r8.graph.DexValue$DexValueByte asDexValueByte() -> s0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":555,"2":556,"3":557}}
    555:555:java.lang.String toString():553:553 -> toString
    556:556:java.lang.String toString():553:553 -> toString
    557:557:java.lang.String toString():553:553 -> toString
    554:554:java.lang.String toString():553:553 -> toString
com.android.tools.r8.graph.DexValue$DexValueChar -> com.android.tools.r8.graph.i1$d:
    com.android.tools.r8.graph.DexValue$DexValueChar DEFAULT -> d
    char value -> c
    1:1:void <clinit>():657:657 -> <clinit>
    1:2:void <init>(char):660:661 -> <init>
    1:1:java.lang.Object getBoxedValue():709:709 -> H0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():684:684 -> I0
    boolean isDexValueChar() -> L0
    1:1:long getRawValue():694:694 -> X0
    1:1:char getValue():679:679 -> Y0
    1:1:com.android.tools.r8.graph.DexValue$DexValueChar create(char):665:665 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):689:689 -> a
    3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):714:715 -> a
    5:5:int com.android.tools.r8.dex.DexOutputBuffer.putUnsignedEncodedValue(long,int):91:91 -> a
    5:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):715 -> a
    6:6:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
    6:6:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):716 -> a
    7:8:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):717:718 -> a
    9:9:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):747:747 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):670:670 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):675:675 -> b
    1:1:boolean equals(java.lang.Object):736:736 -> equals
    1:1:int hashCode():728:728 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():723:723 -> n0
    com.android.tools.r8.graph.DexValue$DexValueChar asDexValueChar() -> t0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":743,"2":744,"3":745}}
    743:743:java.lang.String toString():741:741 -> toString
    744:744:java.lang.String toString():741:741 -> toString
    745:745:java.lang.String toString():741:741 -> toString
    742:742:java.lang.String toString():741:741 -> toString
com.android.tools.r8.graph.DexValue$DexValueDouble -> com.android.tools.r8.graph.i1$e:
    com.android.tools.r8.graph.DexValue$DexValueDouble DEFAULT -> d
    double value -> c
    1:1:void <clinit>():1034:1034 -> <clinit>
    1:2:void <init>(double):1038:1039 -> <init>
    1:1:java.lang.Object getBoxedValue():1087:1087 -> H0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1062:1062 -> I0
    boolean isDexValueDouble() -> M0
    1:1:long getRawValue():1072:1072 -> X0
    1:1:double getValue():1057:1057 -> Y0
    1:1:com.android.tools.r8.graph.DexValue$DexValueDouble create(double):1043:1043 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1067:1067 -> a
    3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1092:1093 -> a
    5:5:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
    5:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1094 -> a
    6:7:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1095:1096 -> a
    8:8:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):1107:1107 -> a
    9:9:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createDoubleConstant(double,com.android.tools.r8.graph.DebugLocalInfo):1166:1166 -> a
    9:9:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):1107 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1048:1048 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1053:1053 -> b
    1:2:boolean equals(java.lang.Object):1120:1121 -> equals
    1:1:int hashCode():1112:1112 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():1101:1101 -> n0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1128,"2":1129,"3":1130}}
    1128:1128:java.lang.String toString():1126:1126 -> toString
    1129:1129:java.lang.String toString():1126:1126 -> toString
    1130:1130:java.lang.String toString():1126:1126 -> toString
    1127:1127:java.lang.String toString():1126:1126 -> toString
    com.android.tools.r8.graph.DexValue$DexValueDouble asDexValueDouble() -> u0
com.android.tools.r8.graph.DexValue$DexValueEnum -> com.android.tools.r8.graph.j1:
    1:1:void <init>(com.android.tools.r8.graph.DexField):1494:1494 -> <init>
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1509:1509 -> I0
    boolean isNestedDexValue() -> U0
    void sort() -> W0
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1491 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1514:1514 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1529:1529 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1499:1499 -> b
    2:2:int com.android.tools.r8.graph.DexField.acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1499 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1504:1504 -> b
    com.android.tools.r8.graph.DexValue$DexValueEnum asDexValueEnum() -> v0
com.android.tools.r8.graph.DexValue$DexValueField -> com.android.tools.r8.graph.k1:
    1:1:void <init>(com.android.tools.r8.graph.DexField):1410:1410 -> <init>
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1425:1425 -> I0
    boolean isNestedDexValue() -> U0
    void sort() -> W0
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1407 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1430:1430 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1445:1445 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1415:1415 -> b
    2:2:int com.android.tools.r8.graph.DexField.acceptCompareTo(com.android.tools.r8.graph.DexField,com.android.tools.r8.utils.structural.CompareToVisitor):176:176 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1415 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1420:1420 -> b
    com.android.tools.r8.graph.DexValue$DexValueField asDexValueField() -> w0
com.android.tools.r8.graph.DexValue$DexValueFloat -> com.android.tools.r8.graph.i1$f:
    float value -> c
    com.android.tools.r8.graph.DexValue$DexValueFloat DEFAULT -> d
    1:1:void <clinit>():937:937 -> <clinit>
    1:2:void <init>(float):940:941 -> <init>
    1:1:java.lang.Object getBoxedValue():989:989 -> H0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():964:964 -> I0
    boolean isDexValueFloat() -> N0
    1:1:long getRawValue():974:974 -> X0
    1:1:float getValue():959:959 -> Y0
    1:1:com.android.tools.r8.graph.DexValue$DexValueFloat create(float):945:945 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):969:969 -> a
    3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):994:995 -> a
    5:5:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
    5:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):996 -> a
    6:7:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):997:998 -> a
    8:8:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):1009:1009 -> a
    9:9:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createFloatConstant(float,com.android.tools.r8.graph.DebugLocalInfo):1170:1170 -> a
    9:9:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):1009 -> a
    1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):950:950 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):955:955 -> b
    1:2:boolean equals(java.lang.Object):1022:1023 -> equals
    1:1:int hashCode():1014:1014 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():1003:1003 -> n0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1030,"2":1031,"3":1032}}
    1030:1030:java.lang.String toString():1028:1028 -> toString
    1031:1031:java.lang.String toString():1028:1028 -> toString
    1032:1032:java.lang.String toString():1028:1028 -> toString
    1029:1029:java.lang.String toString():1028:1028 -> toString
    com.android.tools.r8.graph.DexValue$DexValueFloat asDexValueFloat() -> x0
com.android.tools.r8.graph.DexValue$DexValueInt -> com.android.tools.r8.graph.i1$g:
    int value -> c
    com.android.tools.r8.graph.DexValue$DexValueInt DEFAULT -> d
    1:1:void <clinit>():753:753 -> <clinit>
    1:2:void <init>(int):756:757 -> <init>
    1:1:java.lang.Object getBoxedValue():795:795 -> H0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():780:780 -> I0
    boolean isDexValueInt() -> O0
    1:1:long getRawValue():790:790 -> X0
    1:1:int getValue():775:775 -> Y0
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):785:785 -> a
    2:2:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):800:800 -> a
    3:3:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):839:839 -> a
    1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):766:766 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):771:771 -> b
    1:1:boolean equals(java.lang.Object):828:828 -> equals
    1:1:com.android.tools.r8.graph.DexValue$DexValueInt create(int):761:761 -> h
    1:1:int hashCode():820:820 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():815:815 -> n0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":835,"2":836,"3":837}}
    835:835:java.lang.String toString():833:833 -> toString
    836:836:java.lang.String toString():833:833 -> toString
    837:837:java.lang.String toString():833:833 -> toString
    834:834:java.lang.String toString():833:833 -> toString
    com.android.tools.r8.graph.DexValue$DexValueInt asDexValueInt() -> y0
com.android.tools.r8.graph.DexValue$DexValueKind -> com.android.tools.r8.graph.l1:
    com.android.tools.r8.graph.DexValue$DexValueKind ENUM -> p
    com.android.tools.r8.graph.DexValue$DexValueKind ARRAY -> q
    com.android.tools.r8.graph.DexValue$DexValueKind ANNOTATION -> r
    com.android.tools.r8.graph.DexValue$DexValueKind NULL -> s
    com.android.tools.r8.graph.DexValue$DexValueKind BOOLEAN -> t
    com.android.tools.r8.graph.DexValue$DexValueKind FLOAT -> h
    com.android.tools.r8.graph.DexValue$DexValueKind DOUBLE -> i
    com.android.tools.r8.graph.DexValue$DexValueKind METHOD_TYPE -> j
    com.android.tools.r8.graph.DexValue$DexValueKind METHOD_HANDLE -> k
    com.android.tools.r8.graph.DexValue$DexValueKind STRING -> l
    com.android.tools.r8.graph.DexValue$DexValueKind TYPE -> m
    com.android.tools.r8.graph.DexValue$DexValueKind FIELD -> n
    com.android.tools.r8.graph.DexValue$DexValueKind METHOD -> o
    com.android.tools.r8.graph.DexValue$DexValueKind BYTE -> c
    com.android.tools.r8.graph.DexValue$DexValueKind SHORT -> d
    com.android.tools.r8.graph.DexValue$DexValueKind CHAR -> e
    com.android.tools.r8.graph.DexValue$DexValueKind INT -> f
    com.android.tools.r8.graph.DexValue$DexValueKind[] $VALUES -> u
    com.android.tools.r8.graph.DexValue$DexValueKind LONG -> g
    1:18:void <clinit>():37:54 -> <clinit>
    19:19:void <clinit>():36:36 -> <clinit>
    1:2:void <init>(java.lang.String,int,int):101:102 -> <init>
    1:1:byte toByte():106:106 -> a
com.android.tools.r8.graph.DexValue$DexValueLong -> com.android.tools.r8.graph.i1$h:
    long value -> c
    com.android.tools.r8.graph.DexValue$DexValueLong DEFAULT -> d
    1:1:void <clinit>():845:845 -> <clinit>
    1:2:void <init>(long):848:849 -> <init>
    1:1:java.lang.Object getBoxedValue():897:897 -> H0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():872:872 -> I0
    boolean isDexValueLong() -> P0
    1:1:long getRawValue():882:882 -> X0
    1:1:long getValue():867:867 -> Y0
    1:1:com.android.tools.r8.graph.DexValue$DexValueLong create(long):853:853 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):877:877 -> a
    3:3:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):902:902 -> a
    4:4:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):931:931 -> a
    5:5:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createLongConstant(long,com.android.tools.r8.graph.DebugLocalInfo):1182:1182 -> a
    5:5:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):931 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):858:858 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):863:863 -> b
    1:1:boolean equals(java.lang.Object):920:920 -> equals
    1:1:int hashCode():912:912 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():907:907 -> n0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":927,"2":928,"3":929}}
    927:927:java.lang.String toString():925:925 -> toString
    928:928:java.lang.String toString():925:925 -> toString
    929:929:java.lang.String toString():925:925 -> toString
    926:926:java.lang.String toString():925:925 -> toString
    com.android.tools.r8.graph.DexValue$DexValueLong asDexValueLong() -> z0
com.android.tools.r8.graph.DexValue$DexValueMethod -> com.android.tools.r8.graph.m1:
    1:1:void <init>(com.android.tools.r8.graph.DexMethod):1452:1452 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueMethod asDexValueMethod() -> A0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1467:1467 -> I0
    boolean isNestedDexValue() -> U0
    void sort() -> W0
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1449 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1472:1472 -> a
    3:3:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1472 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    4:4:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1472 -> a
    5:5:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    5:5:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    5:5:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1472 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1487:1487 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1457:1457 -> b
    2:2:int com.android.tools.r8.graph.DexMethod.acceptCompareTo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.structural.CompareToVisitor):61:61 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1457 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1462:1462 -> b
com.android.tools.r8.graph.DexValue$DexValueMethodHandle -> com.android.tools.r8.graph.n1:
    1:1:void <init>(com.android.tools.r8.graph.DexMethodHandle):1968:1968 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueMethodHandle asDexValueMethodHandle() -> B0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1993:1993 -> I0
    boolean isNestedDexValue() -> U0
    void sort() -> W0
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1965 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1998:1998 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):2003:2003 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1973:1973 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1978:1978 -> b
com.android.tools.r8.graph.DexValue$DexValueMethodType -> com.android.tools.r8.graph.o1:
    1:1:void <init>(com.android.tools.r8.graph.DexProto):1536:1536 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueMethodType asDexValueMethodType() -> C0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1561:1561 -> I0
    boolean isNestedDexValue() -> U0
    void sort() -> W0
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1533 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1566:1566 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1571:1571 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1541:1541 -> b
    2:2:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1546:1546 -> b
com.android.tools.r8.graph.DexValue$DexValueNull -> com.android.tools.r8.graph.p1:
    com.android.tools.r8.graph.DexValue NULL -> c
    boolean $assertionsDisabled -> d
    1:3:void <clinit>():1780:1782 -> <clinit>
    1:1:void <init>():1785:1785 -> <init>
    java.lang.Object getBoxedValue() -> H0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1806:1806 -> I0
    long getRawValue() -> X0
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1811:1811 -> a
    2:2:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1821:1821 -> a
    3:3:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):1865:1865 -> a
    4:4:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createConstNull(com.android.tools.r8.graph.DebugLocalInfo):1217:1217 -> a
    4:4:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):1865 -> a
    1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1790:1790 -> b
    2:3:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1795:1796 -> b
    1:1:boolean equals(java.lang.Object):1854:1854 -> equals
    java.lang.Object asAsmEncodedObject() -> n0
    1:1:java.lang.String toString():1859:1859 -> toString
com.android.tools.r8.graph.DexValue$DexValueNumber -> com.android.tools.r8.graph.q1:
    1:1:void com.android.tools.r8.graph.DexValue$SimpleDexValue.<init>():427:427 -> <init>
    1:1:void com.android.tools.r8.graph.DexValue$SimpleDexValue.<init>(com.android.tools.r8.graph.DexValue$1):427 -> <init>
    1:1:void <init>():449 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueNumber asDexValueNumber() -> D0
    com.android.tools.r8.utils.structural.StructuralItem com.android.tools.r8.graph.DexValue$SimpleDexValue.self() -> E
      # {"id":"com.android.tools.r8.synthesized"}
    boolean isDexValueNumber() -> Q0
    boolean mayHaveSideEffects() -> V0
    void sort() -> W0
    long getRawValue() -> X0
    1:1:int com.android.tools.r8.graph.DexValue$SimpleDexValue.acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):427:427 -> a
    1:1:int com.android.tools.r8.graph.DexValue$SimpleDexValue.acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:void com.android.tools.r8.graph.DexValue$SimpleDexValue.writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):441:441 -> a
    3:3:int com.android.tools.r8.dex.DexOutputBuffer.putSignedEncodedValue(long,int):87:87 -> a
    3:3:void com.android.tools.r8.graph.DexValue$SimpleDexValue.writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):442 -> a
    4:4:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
    4:4:void com.android.tools.r8.graph.DexValue$SimpleDexValue.writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):443 -> a
    5:5:void com.android.tools.r8.graph.DexValue.writeHeader(com.android.tools.r8.graph.DexValue$DexValueKind,int,com.android.tools.r8.dex.DexOutputBuffer):350:350 -> a
    5:5:void com.android.tools.r8.graph.DexValue.access$100(com.android.tools.r8.graph.DexValue$DexValueKind,int,com.android.tools.r8.dex.DexOutputBuffer):34 -> a
    5:5:void com.android.tools.r8.graph.DexValue$SimpleDexValue.writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):444 -> a
    6:6:void com.android.tools.r8.graph.DexValue$SimpleDexValue.writeIntegerTo(com.android.tools.r8.graph.DexValue$DexValueKind,long,int,com.android.tools.r8.dex.DexOutputBuffer):445:445 -> a
    7:7:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):465:465 -> a
com.android.tools.r8.graph.DexValue$DexValueShort -> com.android.tools.r8.graph.i1$i:
    com.android.tools.r8.graph.DexValue$DexValueShort DEFAULT -> d
    short value -> c
    1:1:void <clinit>():565:565 -> <clinit>
    1:2:void <init>(short):568:569 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueShort asDexValueShort() -> E0
    1:1:java.lang.Object getBoxedValue():617:617 -> H0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():592:592 -> I0
    boolean isDexValueShort() -> R0
    1:1:long getRawValue():602:602 -> X0
    1:1:short getValue():587:587 -> Y0
    1:1:com.android.tools.r8.graph.DexValue$DexValueShort create(short):573:573 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):597:597 -> a
    3:3:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):622:622 -> a
    4:4:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):651:651 -> a
    1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):578:578 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):583:583 -> b
    1:1:boolean equals(java.lang.Object):640:640 -> equals
    1:1:int hashCode():632:632 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():627:627 -> n0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":647,"2":648,"3":649}}
    647:647:java.lang.String toString():645:645 -> toString
    648:648:java.lang.String toString():645:645 -> toString
    649:649:java.lang.String toString():645:645 -> toString
    646:646:java.lang.String toString():645:645 -> toString
com.android.tools.r8.graph.DexValue$DexValueString -> com.android.tools.r8.graph.i1$j:
    1:1:void <init>(com.android.tools.r8.graph.DexString):1203:1203 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueString asDexValueString() -> F0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1242:1242 -> I0
    boolean isDexValueString() -> S0
    boolean isNestedDexValue() -> U0
    void sort() -> W0
    1:1:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1222:1222 -> a
    2:2:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1222 -> a
    3:3:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1247:1247 -> a
    4:7:com.android.tools.r8.ir.code.ConstInstruction asConstInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DebugLocalInfo):1253:1256 -> a
    8:8:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1270:1270 -> a
    1:1:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1208:1208 -> b
    2:3:int com.android.tools.r8.graph.DexValue$DexItemBasedValueString.compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1279:1280 -> b
    2:3:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1213 -> b
    4:4:boolean com.android.tools.r8.graph.DexValue.isDexItemBasedValueString():0:0 -> b
    4:4:int com.android.tools.r8.graph.DexValue$DexItemBasedValueString.compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1281 -> b
    4:4:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1213 -> b
    5:5:int com.android.tools.r8.graph.DexValue$DexItemBasedValueString.compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1282:1282 -> b
    5:5:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1213 -> b
    6:6:boolean com.android.tools.r8.graph.DexValue.isDexItemBasedValueString():0:0 -> b
    6:6:int com.android.tools.r8.graph.DexValue$DexItemBasedValueString.compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1282 -> b
    6:6:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1213 -> b
    7:7:int com.android.tools.r8.graph.DexValue$DexItemBasedValueString.compareAndCheckValueStrings(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1283:1283 -> b
    7:7:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1213 -> b
    8:8:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1217:1217 -> b
    9:9:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> b
    9:9:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1217 -> b
    1:1:java.lang.Object asAsmEncodedObject():1237:1237 -> n0
com.android.tools.r8.graph.DexValue$DexValueType -> com.android.tools.r8.graph.i1$k:
    1:1:void <init>(com.android.tools.r8.graph.DexType):1368:1368 -> <init>
    com.android.tools.r8.graph.DexValue$DexValueType asDexValueType() -> G0
    1:1:com.android.tools.r8.graph.DexValue$DexValueKind getValueKind():1383:1383 -> I0
    boolean isDexValueType() -> T0
    boolean isNestedDexValue() -> U0
    void sort() -> W0
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexValue$NestedDexValue.getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1365 -> a
    2:2:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1388:1388 -> a
    3:3:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    3:3:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1388 -> a
    4:4:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5,"2":6,"3":7}}
    5:5:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    5:5:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1388 -> a
    6:6:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    6:6:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1388 -> a
    7:7:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    7:7:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    7:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):1388 -> a
    8:8:com.android.tools.r8.ir.analysis.value.AbstractValue toAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):1403:1403 -> a
    1:1:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1373:1373 -> b
    2:2:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> b
    2:2:int internalAcceptCompareTo(com.android.tools.r8.graph.DexValue,com.android.tools.r8.utils.structural.CompareToVisitor):1373 -> b
    3:3:void internalAcceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):1378:1378 -> b
com.android.tools.r8.graph.DexValue$NestedDexValue -> com.android.tools.r8.graph.i1$l:
    com.android.tools.r8.graph.IndexedDexItem value -> c
    1:1:void <init>(com.android.tools.r8.graph.IndexedDexItem,com.android.tools.r8.graph.DexValue$1):1130:1130 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.IndexedDexItem):1134:1135 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:java.lang.Object getBoxedValue():1164:1164 -> H0
    2:2:java.lang.Object getBoxedValue():0:0 -> H0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1167,"2":1168,"3":1169}}
    1167:1167:java.lang.Object getBoxedValue():1164:1164 -> H0
    1168:1168:java.lang.Object getBoxedValue():1164:1164 -> H0
    1169:1169:java.lang.Object getBoxedValue():1164:1164 -> H0
    1166:1166:java.lang.Object getBoxedValue():1164:1164 -> H0
    boolean isNestedDexValue() -> U0
    void sort() -> W0
    1:1:com.android.tools.r8.graph.IndexedDexItem getValue():1149:1149 -> X0
    1:1:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):1130:1130 -> a
    2:2:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):1145:1145 -> a
    3:4:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1154:1155 -> a
    5:5:int com.android.tools.r8.dex.DexOutputBuffer.putUnsignedEncodedValue(long,int):91:91 -> a
    5:5:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1156 -> a
    6:6:void com.android.tools.r8.dex.DexOutputBuffer.rewind(int):154:154 -> a
    6:6:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1157 -> a
    7:8:void writeTo(com.android.tools.r8.dex.DexOutputBuffer,com.android.tools.r8.graph.ObjectToOffsetMapping):1158:1159 -> a
    1:3:boolean equals(java.lang.Object):1187:1189 -> equals
    1:1:int hashCode():1179:1179 -> hashCode
    1:1:java.lang.Object asAsmEncodedObject():1169:1169 -> n0
    2:2:java.lang.Object asAsmEncodedObject():0:0 -> n0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1172,"2":1173,"3":1174}}
    1172:1172:java.lang.Object asAsmEncodedObject():1169:1169 -> n0
    1173:1173:java.lang.Object asAsmEncodedObject():1169:1169 -> n0
    1174:1174:java.lang.Object asAsmEncodedObject():1169:1169 -> n0
    1171:1171:java.lang.Object asAsmEncodedObject():1169:1169 -> n0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1198,"2":1199,"3":1200}}
    1198:1198:java.lang.String toString():1196:1196 -> toString
    1199:1199:java.lang.String toString():1196:1196 -> toString
    1200:1200:java.lang.String toString():1196:1196 -> toString
    1197:1197:java.lang.String toString():1196:1196 -> toString
com.android.tools.r8.graph.DexWritableCode -> com.android.tools.r8.graph.s1:
    1:1:void <clinit>():18:18 -> <clinit>
    com.android.tools.r8.graph.DexCode asDexCode() -> C
    com.android.tools.r8.graph.Code asCode() -> R
    com.android.tools.r8.graph.ThrowExceptionCode asThrowExceptionCode() -> S
    int getOutgoingRegisterSize() -> V
    void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor) -> a
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    int getRegisterSize(com.android.tools.r8.graph.ProgramMethod) -> a
    com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean) -> a
    void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping) -> a
    void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep) -> a
    1:17:int acceptCompareTo(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):32:48 -> a
    18:18:int acceptCompareTo(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):45:45 -> a
    19:19:boolean com.android.tools.r8.graph.Code.isThrowExceptionCode():0:0 -> a
    19:19:int acceptCompareTo(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):45 -> a
    20:21:int acceptCompareTo(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):45:46 -> a
    22:22:int acceptCompareTo(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.utils.structural.CompareToVisitor):39:39 -> a
    int codeSizeInBytes() -> a0
    int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod) -> b
    void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
    com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind() -> m
    com.android.tools.r8.graph.DexCode$Try[] getTries() -> o
    com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers() -> s
    com.android.tools.r8.graph.DexString getHighestSortingString() -> u
    com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> w
com.android.tools.r8.graph.DexWritableCode$1 -> com.android.tools.r8.graph.r1:
    int[] $SwitchMap$com$android$tools$r8$graph$DexWritableCode$DexWritableCodeKind -> b
    boolean $assertionsDisabled -> a
    1:9:void <clinit>():37:45 -> <clinit>
com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind -> com.android.tools.r8.internal.nh:
    com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind THROW_EXCEPTION -> e
    com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind THROW_NULL -> d
    com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind[] $VALUES -> f
    com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind DEFAULT_INSTANCE_INITIALIZER -> c
    com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind DEFAULT -> b
    1:4:void <clinit>():21:24 -> <clinit>
    5:5:void <clinit>():20:20 -> <clinit>
    1:1:void <init>(java.lang.String,int):20:20 -> <init>
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind[] values():20:20 -> a
com.android.tools.r8.graph.DirectMappedDexApplication -> com.android.tools.r8.graph.u1:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.com.google.common.collect.ImmutableMap programOrClasspathClasses -> j
    java.util.Map codeOwners -> i
    com.android.tools.r8.com.google.common.collect.ImmutableCollection classpathClasses -> m
    com.android.tools.r8.com.google.common.collect.ImmutableMap libraryClasses -> k
    com.android.tools.r8.com.google.common.collect.ImmutableCollection programClasses -> l
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.DirectMappedDexApplication$1):28:28 -> <init>
    2:2:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):53:53 -> <init>
    3:28:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):32:57 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableCollection access$100(com.android.tools.r8.graph.DirectMappedDexApplication):28:28 -> a
    2:2:void lambda$forEachProgramType$0(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):71:71 -> a
    3:3:void forEachLibraryType(java.util.function.Consumer):76:76 -> a
    4:4:void lambda$forEachLibraryType$1(java.util.function.Consumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):76:76 -> a
    5:5:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):153:153 -> a
    6:6:java.util.Collection programClasses():66:66 -> a
    6:6:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):153 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:8:boolean mappingIsValid(java.util.Collection,com.android.tools.r8.graph.GraphLens):163:164 -> a
    7:8:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):153 -> a
    9:9:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":19,"2":20,"3":21}}
    19:19:boolean mappingIsValid(java.util.Collection,com.android.tools.r8.graph.GraphLens):165:165 -> a
    19:19:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):153 -> a
    20:20:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    20:20:boolean mappingIsValid(java.util.Collection,com.android.tools.r8.graph.GraphLens):165 -> a
    20:20:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):153 -> a
    21:21:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    21:21:boolean mappingIsValid(java.util.Collection,com.android.tools.r8.graph.GraphLens):165 -> a
    21:21:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):153 -> a
    10:17:boolean mappingIsValid(java.util.Collection,com.android.tools.r8.graph.GraphLens):166:173 -> a
    10:17:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):153 -> a
    18:18:boolean verifyWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens):154:154 -> a
    com.android.tools.r8.graph.DirectMappedDexApplication asDirect() -> b
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap access$200(com.android.tools.r8.graph.DirectMappedDexApplication):28:28 -> b
    2:2:void forEachProgramType(java.util.function.Consumer):71:71 -> b
    1:1:com.android.tools.r8.graph.DexApplication$Builder builder():28:28 -> c
    2:3:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):123:124 -> c
    1:1:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):85:85 -> d
    2:2:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100,"4":101,"5":102}}
    98:98:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):85:85 -> d
    99:99:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):85:85 -> d
    100:100:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):85:85 -> d
    101:101:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):85:85 -> d
    102:102:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):85:85 -> d
    87:95:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):85:93 -> d
    96:96:com.android.tools.r8.graph.ClassResolutionResult$Builder com.android.tools.r8.graph.ClassResolutionResult.builder():20:20 -> d
    96:96:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):95 -> d
    97:97:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):95:95 -> d
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):101:101 -> e
    2:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":120,"2":121,"3":122,"4":123,"5":124}}
    120:120:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):101:101 -> e
    121:121:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):101:101 -> e
    122:122:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):101:101 -> e
    123:123:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):101:101 -> e
    124:124:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):101:101 -> e
    103:119:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):101:117 -> e
    1:1:java.util.Collection programClasses():66:66 -> h
    com.android.tools.r8.graph.DirectMappedDexApplication toDirect() -> i
    1:1:com.android.tools.r8.graph.DirectMappedDexApplication$Builder builder():129:129 -> j
    1:1:java.util.Collection classpathClasses():61:61 -> k
    1:1:java.util.Collection libraryClasses():80:80 -> l
    1:4:boolean verifyCodeObjectsOwners():193:196 -> m
    5:5:java.lang.Iterable com.android.tools.r8.graph.DexClass.methods(java.util.function.Predicate):236:236 -> m
    5:5:boolean verifyCodeObjectsOwners():196 -> m
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:java.lang.Iterable com.android.tools.r8.graph.DexClass.methods(java.util.function.Predicate):236:236 -> m
    6:6:boolean verifyCodeObjectsOwners():196 -> m
    7:17:boolean verifyCodeObjectsOwners():196:206 -> m
    1:1:java.lang.String toString():149:149 -> toString
com.android.tools.r8.graph.DirectMappedDexApplication$Builder -> com.android.tools.r8.graph.t1:
    boolean $assertionsDisabled -> m
    java.util.Map libraryClasses -> j
    com.android.tools.r8.com.google.common.collect.ImmutableCollection classpathClasses -> i
    java.util.Set pendingClasspathRemovalIfPresent -> l
    java.util.List pendingClasspathClasses -> k
    1:1:void <clinit>():212:212 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.DirectMappedDexApplication$1):212:212 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.LazyLoadedDexApplication):221:221 -> <init>
    3:12:void <init>(com.android.tools.r8.graph.LazyLoadedDexApplication):217:226 -> <init>
    13:13:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication):230:230 -> <init>
    14:29:void <init>(com.android.tools.r8.graph.DirectMappedDexApplication):217:232 -> <init>
    com.android.tools.r8.graph.DirectMappedDexApplication$Builder asDirect() -> a
    1:1:com.android.tools.r8.graph.DirectMappedDexApplication$Builder addClasspathClass(com.android.tools.r8.graph.DexClasspathClass):267:267 -> a
    2:4:com.android.tools.r8.graph.DirectMappedDexApplication$Builder replaceClasspathClasses(java.util.Collection):283:285 -> a
    5:5:void lambda$replaceLibraryClasses$0(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexLibraryClass):291:291 -> a
    6:9:boolean addAll(java.util.Map,java.lang.Iterable):333:336 -> a
    10:10:boolean addAll(java.util.Map,java.lang.Iterable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":347,"2":348,"3":349}}
    347:347:boolean addAll(java.util.Map,java.lang.Iterable):336:336 -> a
    348:348:boolean addAll(java.util.Map,java.lang.Iterable):336:336 -> a
    349:349:boolean addAll(java.util.Map,java.lang.Iterable):336:336 -> a
    346:346:boolean addAll(java.util.Map,java.lang.Iterable):336:336 -> a
    1:1:com.android.tools.r8.graph.DexApplication build():212:212 -> b
    2:4:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):247:249 -> b
    5:6:void ensureMutableLibraryClassesMap():256:257 -> b
    5:6:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):250 -> b
    7:7:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):251:251 -> b
    8:10:com.android.tools.r8.graph.DirectMappedDexApplication$Builder replaceLibraryClasses(java.util.Collection):290:292 -> b
    com.android.tools.r8.graph.DexApplication$Builder self() -> d
    1:7:void commitPendingClasspathClasses():272:278 -> e
    1:7:com.android.tools.r8.graph.DirectMappedDexApplication build():300 -> e
    8:27:com.android.tools.r8.graph.DirectMappedDexApplication build():301:320 -> e
    28:31:com.android.tools.r8.com.google.common.collect.ImmutableMap getLibraryClassesAsImmutableMap():345:348 -> e
    28:31:com.android.tools.r8.graph.DirectMappedDexApplication build():321 -> e
    32:34:com.android.tools.r8.graph.DirectMappedDexApplication build():322:324 -> e
com.android.tools.r8.graph.EnclosingMethodAttribute -> com.android.tools.r8.graph.v1:
    com.android.tools.r8.graph.DexType enclosingClass -> a
    com.android.tools.r8.graph.DexMethod enclosingMethod -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType):28:29 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexMethod):32:33 -> <init>
    1:5:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens):41:45 -> a
    6:11:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens):42:47 -> a
    12:12:com.android.tools.r8.graph.DexType getEnclosingClass():64:64 -> a
    13:14:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):85:86 -> a
    15:15:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    15:15:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):86 -> a
    16:16:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":108,"2":109,"3":110}}
    108:108:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    108:108:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):86 -> a
    109:109:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    109:109:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):86 -> a
    110:110:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    110:110:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    110:110:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):86 -> a
    104:104:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):88:88 -> a
    105:105:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    105:105:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):89 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    106:106:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    106:106:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    106:106:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):89 -> a
    107:107:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    107:107:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    107:107:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    107:107:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):89 -> a
    111:115:boolean isEnclosingPinned(com.android.tools.r8.graph.AppView):103:107 -> a
    1:1:com.android.tools.r8.graph.DexMethod getEnclosingMethod():60:60 -> b
    1:1:com.android.tools.r8.graph.DexType getEnclosingType():68:68 -> c
    1:1:boolean equals(java.lang.Object):79:79 -> equals
    1:2:int hashCode():73:74 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":195,"2":196,"3":197}}
    195:195:java.lang.String toString():95:95 -> toString
    196:196:java.lang.String toString():95:95 -> toString
    197:197:java.lang.String toString():95:95 -> toString
    97:99:java.lang.String toString():96:98 -> toString
    100:100:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":200,"2":201,"3":202}}
    200:200:java.lang.String toString():98:98 -> toString
    201:201:java.lang.String toString():98:98 -> toString
    202:202:java.lang.String toString():98:98 -> toString
com.android.tools.r8.graph.FieldAccessFlags -> com.android.tools.r8.graph.x1:
    boolean $assertionsDisabled -> f
    int $r8$clinit -> g
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>(int,int):44:44 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.FieldAccessFlags copy():53:53 -> O
    1:1:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> P
    1:1:int getAsCfAccessFlags():108 -> P
    1:1:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> Q
    1:1:int getAsDexAccessFlags():113 -> Q
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> R
    1:1:boolean isEnum():133 -> R
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> S
    1:1:boolean isTransient():125 -> S
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> T
    1:1:boolean isVolatile():117 -> T
    1:6:java.util.List getNames():21:26 -> c
    1:6:java.util.List getPredicates():31:36 -> e
    1:1:com.android.tools.r8.graph.FieldAccessFlags fromCfAccessFlags(int):98:98 -> h
    2:2:void <init>(int):40:40 -> h
    2:2:com.android.tools.r8.graph.FieldAccessFlags fromCfAccessFlags(int):98 -> h
    1:1:com.android.tools.r8.graph.FieldAccessFlags fromDexAccessFlags(int):94:94 -> i
    2:2:void <init>(int):40:40 -> i
    2:2:com.android.tools.r8.graph.FieldAccessFlags fromDexAccessFlags(int):94 -> i
    1:2:com.android.tools.r8.graph.FieldAccessFlags fromSharedAccessFlags(int):89:90 -> j
    3:3:void <init>(int):40:40 -> j
    3:3:com.android.tools.r8.graph.FieldAccessFlags fromSharedAccessFlags(int):90 -> j
    com.android.tools.r8.graph.AccessFlags self() -> z
com.android.tools.r8.graph.FieldAccessFlags$Builder -> com.android.tools.r8.graph.w1:
    1:1:void <init>():143:143 -> <init>
    1:1:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.AccessFlags$BuilderBase.build():378:378 -> a
    1:1:com.android.tools.r8.graph.AccessFlags build():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    com.android.tools.r8.graph.AccessFlags$BuilderBase self() -> b
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPackagePrivate():332:333 -> c
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase setPackagePrivate():0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setStatic():368:369 -> d
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase setStatic():0 -> d
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setSynthetic():373:374 -> e
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase setSynthetic():0 -> e
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.graph.FieldAccessInfo -> com.android.tools.r8.internal.Dj:
    void forEachIndirectAccess(java.util.function.Consumer) -> a
    1:1:boolean isAccessedFromMethodHandle():38:38 -> a
    boolean isWrittenFromMethodHandle() -> b
    boolean isReadFromMethodHandle() -> c
com.android.tools.r8.graph.FieldAccessInfoCollection -> com.android.tools.r8.internal.Ej:
com.android.tools.r8.graph.FieldAccessInfoCollectionImpl -> com.android.tools.r8.internal.Fj:
    java.util.Map infos -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():21:21 -> <init>
    2:3:void <init>(java.util.Map):24:25 -> <init>
    1:1:void destroyAccessContexts():30:30 -> a
    2:2:com.android.tools.r8.graph.FieldAccessInfoImpl computeIfAbsent(com.android.tools.r8.graph.DexField,java.util.function.Function):40:40 -> a
    3:3:boolean contains(com.android.tools.r8.graph.DexField):45:45 -> a
    4:5:com.android.tools.r8.graph.FieldAccessInfoImpl extend(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):54:55 -> a
    6:7:void forEach(java.util.function.Consumer):62:63 -> a
    8:8:boolean lambda$removeIf$0(java.util.function.BiPredicate,java.util.Map$Entry):68:68 -> a
    9:9:void removeIf(java.util.function.BiPredicate):68:68 -> a
    10:10:boolean lambda$restrictToProgram$1(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):73:73 -> a
    11:11:void restrictToProgram(com.android.tools.r8.graph.DexDefinitionSupplier):73:73 -> a
    12:22:com.android.tools.r8.graph.FieldAccessInfoCollectionImpl rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):78:88 -> a
    23:25:void lambda$rewrittenWithLens$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.FieldAccessInfoImpl):81:83 -> a
    26:26:com.android.tools.r8.graph.FieldAccessInfoImpl lambda$rewrittenWithLens$2(com.android.tools.r8.graph.FieldAccessInfoImpl,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):86:86 -> a
    1:1:void flattenAccessContexts():35:35 -> b
    2:2:com.android.tools.r8.graph.FieldAccessInfoImpl get(com.android.tools.r8.graph.DexField):50:50 -> b
    1:1:boolean verifyMappingIsOneToOne():95:95 -> c
com.android.tools.r8.graph.FieldAccessInfoImpl -> com.android.tools.r8.internal.Gj:
    com.android.tools.r8.graph.AbstractAccessContexts readsWithContexts -> c
    com.android.tools.r8.graph.DexField field -> a
    com.android.tools.r8.graph.FieldAccessInfoImpl MISSING_FIELD_ACCESS_INFO -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.AbstractAccessContexts writesWithContexts -> d
    int flags -> b
    1:3:void <clinit>():23:25 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexField):47:47 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.DexField):41:48 -> <init>
    1:1:void setReadsWithContexts(com.android.tools.r8.graph.AbstractAccessContexts):80:80 -> a
    2:4:void forEachIndirectAccess(java.util.function.Consumer):113:115 -> a
    5:5:void forEachIndirectAccess(java.util.function.Consumer,com.android.tools.r8.graph.AbstractAccessContexts,java.util.Set):122:122 -> a
    6:6:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> a
    6:6:void forEachIndirectAccess(java.util.function.Consumer,com.android.tools.r8.graph.AbstractAccessContexts,java.util.Set):122 -> a
    7:7:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> a
    7:7:void forEachIndirectAccess(java.util.function.Consumer,com.android.tools.r8.graph.AbstractAccessContexts,java.util.Set):125 -> a
    8:12:void forEachIndirectAccess(java.util.function.Consumer,com.android.tools.r8.graph.AbstractAccessContexts,java.util.Set):127:131 -> a
    13:13:boolean lambda$forEachIndirectAccess$0(java.util.Set,com.android.tools.r8.graph.DexField):128:128 -> a
    14:14:boolean isReadOnlyInMethodSatisfying(java.util.function.Predicate):267:267 -> a
    15:15:boolean isWrittenOutside(com.android.tools.r8.graph.DexEncodedMethod):275:275 -> a
    16:16:boolean recordRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):279:279 -> a
    17:17:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> a
    17:17:boolean recordRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):279 -> a
    18:20:boolean recordRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):280:282 -> a
    21:21:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> a
    21:21:boolean recordRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):282 -> a
    22:22:boolean recordRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):283:283 -> a
    23:23:com.android.tools.r8.graph.FieldAccessInfoImpl rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):311:311 -> a
    24:24:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    24:24:com.android.tools.r8.graph.FieldAccessInfoImpl rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):311 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:28:com.android.tools.r8.graph.FieldAccessInfoImpl rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):311:314 -> a
    29:32:com.android.tools.r8.graph.FieldAccessInfoImpl join(com.android.tools.r8.graph.FieldAccessInfoImpl):319:322 -> a
    1:1:void setWritesWithContexts(com.android.tools.r8.graph.AbstractAccessContexts):84:84 -> b
    2:2:void forEachWriteContext(java.util.function.Consumer):178:178 -> b
    3:3:boolean isWrittenFromMethodHandle():238:238 -> b
    4:4:boolean isWrittenInMethodSatisfying(java.util.function.Predicate):250:250 -> b
    5:5:boolean recordWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):289:289 -> b
    6:6:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> b
    6:6:boolean recordWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):289 -> b
    7:9:boolean recordWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):290:292 -> b
    10:10:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> b
    10:10:boolean recordWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):292 -> b
    11:11:boolean recordWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):293:293 -> b
    1:1:boolean isReadFromMethodHandle():210:210 -> c
    2:2:boolean isWrittenOnlyInMethodSatisfying(java.util.function.Predicate):259:259 -> c
    1:4:void clearReads():299:302 -> d
    5:5:void com.android.tools.r8.graph.FieldAccessInfoImpl.clearReadFromRecordInvokeDynamic():227:227 -> d
    5:5:void clearReads():303 -> d
    1:1:void clearWrites():307:307 -> e
    1:2:void destroyAccessContexts():52:53 -> f
    1:1:void flattenAccessContexts():57:57 -> g
    2:2:void com.android.tools.r8.graph.FieldAccessInfoImpl.flattenAccessContexts(com.android.tools.r8.graph.AbstractAccessContexts):62:62 -> g
    2:2:void flattenAccessContexts():57 -> g
    3:3:void flattenAccessContexts():58:58 -> g
    4:4:void com.android.tools.r8.graph.FieldAccessInfoImpl.flattenAccessContexts(com.android.tools.r8.graph.AbstractAccessContexts):62:62 -> g
    4:4:void flattenAccessContexts():58 -> g
    1:1:com.android.tools.r8.graph.DexField getField():72:72 -> getField
    1:1:int getNumberOfWriteContexts():94:94 -> h
    1:1:com.android.tools.r8.graph.AbstractAccessContexts getReadsWithContexts():76:76 -> i
    1:1:boolean hasKnownWriteContexts():106:106 -> j
    2:2:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> j
    2:2:boolean hasKnownWriteContexts():106 -> j
    1:1:boolean hasReflectiveAccess():183:183 -> k
    1:4:boolean isRead():193:196 -> l
    1:1:boolean isReadFromAnnotation():201:201 -> m
    1:1:boolean isReadFromRecordInvokeDynamic():215:215 -> n
    1:1:boolean isWritten():233:233 -> o
    1:1:void setHasReflectiveAccess():187:187 -> p
    1:1:void setReadFromAnnotation():205:205 -> q
    1:1:void setReadFromMethodHandle():219:219 -> r
    1:1:void setReadFromRecordInvokeDynamic():223:223 -> s
    1:1:void setWrittenFromMethodHandle():242:242 -> t
com.android.tools.r8.graph.FieldResolution -> com.android.tools.r8.graph.y1:
    com.android.tools.r8.graph.DexDefinitionSupplier definitionFor -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexDefinitionSupplier):22:23 -> <init>
    1:1:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):27:27 -> a
    2:2:com.android.tools.r8.graph.FieldResolutionResult$Builder com.android.tools.r8.graph.FieldResolutionResult.builder():483:483 -> a
    2:2:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):27 -> a
    3:5:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):28:30 -> a
    6:6:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.failure():20:20 -> a
    6:6:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):32 -> a
    7:7:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):32:32 -> a
    8:8:void lambda$resolveFieldOn$0(com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass):31:31 -> a
    9:10:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField):36:37 -> a
    11:25:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set):45:59 -> a
    26:26:com.android.tools.r8.graph.FieldResolutionResult$Builder com.android.tools.r8.graph.FieldResolutionResult.builder():483:483 -> a
    26:26:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set):59 -> a
    27:41:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set):60:74 -> a
    42:42:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult com.android.tools.r8.graph.FieldResolutionResult.failure():20:20 -> a
    42:42:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set):74 -> a
    43:43:void lambda$resolveFieldOn$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set,com.android.tools.r8.graph.DexClass):66:66 -> a
    44:44:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    44:44:void lambda$resolveFieldOn$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set,com.android.tools.r8.graph.DexClass):66 -> a
    45:45:void lambda$resolveFieldOn$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set,com.android.tools.r8.graph.DexClass):66:66 -> a
    46:46:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    46:46:void lambda$resolveFieldOn$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set,com.android.tools.r8.graph.DexClass):66 -> a
    47:47:void lambda$resolveFieldOn$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set,com.android.tools.r8.graph.DexClass):70:70 -> a
    48:48:void lambda$resolveFieldOn$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass,java.util.Set,com.android.tools.r8.graph.DexClass):69:69 -> a
    49:49:void lambda$resolveFieldOnDirectInterfaces$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexClass):91:91 -> a
    50:50:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    50:50:void lambda$resolveFieldOnDirectInterfaces$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexClass):91 -> a
    51:51:void lambda$resolveFieldOnDirectInterfaces$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexClass):91:91 -> a
    52:52:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    52:52:void lambda$resolveFieldOnDirectInterfaces$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexClass):91 -> a
    53:58:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOnInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set):113:118 -> a
    53:58:void lambda$resolveFieldOnDirectInterfaces$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexClass):95 -> a
    59:59:void lambda$resolveFieldOnDirectInterfaces$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.FieldResolutionResult$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexClass):94:94 -> a
    1:3:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOnDirectInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set):82:84 -> b
    4:4:com.android.tools.r8.graph.FieldResolutionResult$Builder com.android.tools.r8.graph.FieldResolutionResult.builder():483:483 -> b
    4:4:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOnDirectInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set):84 -> b
    5:18:com.android.tools.r8.graph.FieldResolutionResult resolveFieldOnDirectInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexField,java.util.Set):85:98 -> b
com.android.tools.r8.graph.FieldResolutionResult -> com.android.tools.r8.graph.H1:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():16:16 -> <init>
    com.android.tools.r8.graph.DexClass getInitialResolutionHolder() -> a
    void lambda$forEachSuccessfulFieldResolutionResult$0(com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult) -> a
    void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer) -> a
    1:1:void forEachFieldResolutionResult(java.util.function.Consumer):109:109 -> a
    2:2:com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult createSingleFieldResolutionResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):135:135 -> a
    3:3:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    3:3:com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult createSingleFieldResolutionResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):135 -> a
    4:5:com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult createSingleFieldResolutionResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):136:137 -> a
    6:6:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    6:6:com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult createSingleFieldResolutionResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):138 -> a
    7:12:com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult createSingleFieldResolutionResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):139:144 -> a
    1:1:void forEachSuccessfulFieldResolutionResult(java.util.function.Consumer):114:114 -> b
    2:2:void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer):120:120 -> b
    2:2:void forEachSuccessfulFieldResolutionResult(java.util.function.Consumer):114 -> b
    1:1:com.android.tools.r8.graph.DexClassAndMember com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult.getResolutionPair():148:148 -> c
    com.android.tools.r8.graph.FieldResolutionResult asFieldResolutionResult() -> e
    1:1:com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult():16:16 -> g
    boolean isFieldResolutionResult() -> i
    boolean isSuccessfulMemberResolutionResult() -> j
    com.android.tools.r8.graph.FieldResolutionResult$SingleClasspathFieldResolutionResult asSingleClasspathFieldResolutionResult() -> k
    com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult asSingleFieldResolutionResult() -> l
    com.android.tools.r8.graph.FieldResolutionResult$SingleProgramFieldResolutionResult asSingleProgramFieldResolutionResult() -> m
    com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult asSuccessfulMemberResolutionResult() -> n
    com.android.tools.r8.graph.ProgramField getProgramField() -> o
    com.android.tools.r8.graph.DexClassAndField getResolutionPair() -> p
    com.android.tools.r8.graph.DexEncodedField getResolvedField() -> q
    com.android.tools.r8.graph.DexField getResolvedFieldReference() -> r
    com.android.tools.r8.graph.ProgramField getSingleProgramField() -> s
    boolean hasClasspathResult() -> t
    boolean hasProgramOrClasspathResult() -> u
    boolean hasProgramResult() -> v
    boolean isMultiFieldResolutionResult() -> w
    boolean isPossiblyFailedOrUnknownResolution() -> x
    boolean isSingleFieldResolutionResult() -> y
com.android.tools.r8.graph.FieldResolutionResult$Builder -> com.android.tools.r8.graph.z1:
    com.android.tools.r8.graph.FieldResolutionResult currentResult -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():486:486 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.FieldResolutionResult$1):486:486 -> <init>
    2:2:void <init>():490:490 -> <init>
    3:3:void <init>():488:488 -> <init>
    1:55:void addResolutionResult(com.android.tools.r8.graph.FieldResolutionResult):493:547 -> a
    56:58:void lambda$addResolutionResult$0(com.android.tools.r8.utils.Box,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):504:506 -> a
    59:64:void lambda$addResolutionResult$0(com.android.tools.r8.utils.Box,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):505:510 -> a
    65:65:void lambda$addResolutionResult$2(java.util.List,com.android.tools.r8.graph.FieldResolutionResult$SingleLibraryFieldResolutionResult):513:513 -> a
    66:66:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    66:66:void lambda$addResolutionResult$2(java.util.List,com.android.tools.r8.graph.FieldResolutionResult$SingleLibraryFieldResolutionResult):513 -> a
    67:67:void lambda$addResolutionResult$2(java.util.List,com.android.tools.r8.graph.FieldResolutionResult$SingleLibraryFieldResolutionResult):516:516 -> a
    68:68:boolean lambda$addResolutionResult$1(com.android.tools.r8.graph.FieldResolutionResult$SingleLibraryFieldResolutionResult,com.android.tools.r8.graph.FieldResolutionResult$SingleLibraryFieldResolutionResult):515:515 -> a
    69:69:void lambda$addResolutionResult$4(java.util.List,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):520:520 -> a
    70:70:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    70:70:void lambda$addResolutionResult$4(java.util.List,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):520 -> a
    71:71:void lambda$addResolutionResult$4(java.util.List,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):524:524 -> a
    72:72:boolean lambda$addResolutionResult$3(com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):523:523 -> a
    73:73:com.android.tools.r8.graph.FieldResolutionResult buildOrIfEmpty(com.android.tools.r8.graph.FieldResolutionResult):554:554 -> a
com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult -> com.android.tools.r8.graph.A1:
    com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult INSTANCE -> b
    1:1:void <clinit>():465:465 -> <clinit>
    1:1:void <init>():463:463 -> <init>
    boolean isFailedResolution() -> h
    1:1:com.android.tools.r8.graph.FieldResolutionResult$FailedFieldResolutionResult access$000():463:463 -> z
com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult -> com.android.tools.r8.graph.B1:
    1:1:void <init>():441:441 -> <init>
    1:1:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):446:446 -> a
    2:2:void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):454:454 -> a
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    boolean isPossiblyFailedOrUnknownResolution() -> x
com.android.tools.r8.graph.FieldResolutionResult$MultipleClasspathWithLibraryFieldResolutionResult -> com.android.tools.r8.graph.C1:
    1:1:void <init>(com.android.tools.r8.graph.FieldResolutionResult$SingleClasspathFieldResolutionResult,java.util.List,java.util.List):427:427 -> <init>
com.android.tools.r8.graph.FieldResolutionResult$MultipleFieldResolutionResult -> com.android.tools.r8.graph.D1:
    com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult programOrClasspathResult -> b
    java.util.List failedOrUnknownResolutionResults -> d
    java.util.List libraryResolutionResults -> c
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():323:323 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,java.util.List,java.util.List):334:336 -> <init>
    4:7:void <init>(com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,java.util.List,java.util.List):335:338 -> <init>
    8:12:void <init>(com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,java.util.List,java.util.List):337:341 -> <init>
    13:20:void <init>(com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,java.util.List,java.util.List):339:346 -> <init>
    1:1:com.android.tools.r8.graph.DexClass getInitialResolutionHolder():356:356 -> a
    2:2:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):377:377 -> a
    3:7:void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):395:399 -> a
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    1:1:boolean isSuccessfulMemberResolutionResult():387:387 -> j
    1:1:boolean hasClasspathResult():371:371 -> t
    1:1:boolean hasProgramOrClasspathResult():361:361 -> u
    1:1:boolean hasProgramResult():366:366 -> v
    boolean isMultiFieldResolutionResult() -> w
    1:1:boolean isPossiblyFailedOrUnknownResolution():382:382 -> x
com.android.tools.r8.graph.FieldResolutionResult$MultipleLibraryFieldResolutionResult -> com.android.tools.r8.graph.E1:
    1:1:void <init>(java.util.List,java.util.List):437:437 -> <init>
com.android.tools.r8.graph.FieldResolutionResult$MultipleProgramWithLibraryFieldResolutionResult -> com.android.tools.r8.graph.F1:
    1:1:void <init>(com.android.tools.r8.graph.FieldResolutionResult$SingleProgramFieldResolutionResult,java.util.List,java.util.List):410:410 -> <init>
    1:1:com.android.tools.r8.graph.ProgramField getProgramField():415:415 -> o
    2:2:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.FieldResolutionResult$SingleProgramFieldResolutionResult.getProgramField():233:233 -> o
    2:2:com.android.tools.r8.graph.ProgramField getProgramField():415 -> o
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.graph.FieldResolutionResult$SingleClasspathFieldResolutionResult -> com.android.tools.r8.graph.G1:
    1:1:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexEncodedField):277:277 -> <init>
    1:1:void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):300:300 -> a
    com.android.tools.r8.graph.FieldResolutionResult$SingleClasspathFieldResolutionResult asSingleClasspathFieldResolutionResult() -> k
    boolean hasClasspathResult() -> t
    boolean hasProgramOrClasspathResult() -> u
com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult -> com.android.tools.r8.graph.H1$a:
    com.android.tools.r8.graph.DexClass initialResolutionHolder -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexClass resolvedHolder -> c
    com.android.tools.r8.graph.DexEncodedField resolvedField -> d
    1:1:void <clinit>():148:148 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):157:161 -> <init>
    1:3:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isMemberAccessible(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):49:51 -> a
    1:3:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):197 -> a
    4:4:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isMemberAccessible(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):48:48 -> a
    4:4:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):197 -> a
    5:5:com.android.tools.r8.graph.DexClass getInitialResolutionHolder():166:166 -> a
    1:1:com.android.tools.r8.graph.DexEncodedField getResolvedMember():186:186 -> b
    1:1:com.android.tools.r8.graph.DexEncodedMember getResolvedMember():148 -> b
    1:1:com.android.tools.r8.graph.DexClass getResolvedHolder():171:171 -> d
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    boolean isSuccessfulMemberResolutionResult() -> j
    com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult asSingleFieldResolutionResult() -> l
    com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult asSuccessfulMemberResolutionResult() -> n
    1:1:com.android.tools.r8.graph.DexClassAndField getResolutionPair():191:191 -> p
    1:1:com.android.tools.r8.graph.DexEncodedField getResolvedField():176:176 -> q
    1:1:com.android.tools.r8.graph.DexField getResolvedFieldReference():181:181 -> r
    boolean isSingleFieldResolutionResult() -> y
com.android.tools.r8.graph.FieldResolutionResult$SingleLibraryFieldResolutionResult -> com.android.tools.r8.graph.I1:
    1:1:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexEncodedField):311:311 -> <init>
    1:1:void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):319:319 -> a
com.android.tools.r8.graph.FieldResolutionResult$SingleProgramFieldResolutionResult -> com.android.tools.r8.graph.J1:
    1:1:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):228:228 -> <init>
    1:1:void visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):266:266 -> a
    com.android.tools.r8.graph.FieldResolutionResult$SingleProgramFieldResolutionResult asSingleProgramFieldResolutionResult() -> m
    1:1:com.android.tools.r8.graph.ProgramField getProgramField():233:233 -> o
    1:1:com.android.tools.r8.graph.ProgramField getSingleProgramField():238:238 -> s
    boolean hasProgramOrClasspathResult() -> u
    boolean hasProgramResult() -> v
com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult -> com.android.tools.r8.graph.K1:
    com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult INSTANCE -> b
    1:1:void <clinit>():479:479 -> <clinit>
    1:1:void <init>():477:477 -> <init>
    1:1:com.android.tools.r8.graph.FieldResolutionResult$UnknownFieldResolutionResult access$100():477:477 -> z
com.android.tools.r8.graph.FinalInitClassLens -> com.android.tools.r8.internal.xk:
    java.util.Map mapping -> a
    1:2:void <init>(java.util.Map):14:15 -> <init>
    1:1:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):37:37 -> a
    5:5:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5:5:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):37 -> a
    6:6:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    6:6:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):37 -> a
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    2:2:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):38 -> a
    3:3:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.InitClassLens$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):39:39 -> a
    7:7:com.android.tools.r8.graph.InitClassLens$Builder com.android.tools.r8.graph.InitClassLens.builder():13:13 -> a
    7:7:com.android.tools.r8.graph.InitClassLens rewrittenWithLens(com.android.tools.r8.graph.GraphLens):34 -> a
    8:14:com.android.tools.r8.graph.InitClassLens rewrittenWithLens(com.android.tools.r8.graph.GraphLens):35:41 -> a
    15:19:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):20:24 -> a
    20:20:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":46,"2":47,"3":48}}
    46:46:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    47:47:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    48:48:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    21:21:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":49,"2":50,"3":51,"4":52}}
    49:49:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    50:50:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    51:51:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    52:52:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
    45:45:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):24:24 -> a
com.android.tools.r8.graph.GenericSignature -> com.android.tools.r8.graph.L1:
    java.util.List EMPTY_TYPE_ARGUMENTS -> b
    java.util.List EMPTY_TYPE_PARAMS -> a
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature NO_FIELD_TYPE_SIGNATURE -> e
    java.util.List EMPTY_TYPE_SIGNATURES -> d
    java.util.List EMPTY_SUPER_INTERFACES -> c
    1:455:void <clinit>():102:556 -> <clinit>
    1:1:java.util.List access$000():100:100 -> a
    2:10:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):941:949 -> a
    11:13:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):948:950 -> a
    14:14:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):942:942 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature access$100():100:100 -> b
    2:10:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):960:968 -> b
    11:13:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):967:969 -> b
    14:14:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):961:961 -> b
    1:1:java.util.List access$200():100:100 -> c
    2:10:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):979:987 -> c
    11:14:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):986:989 -> c
    15:15:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.DiagnosticsHandler):980:980 -> c
    1:1:java.util.List access$500():100:100 -> d
    1:1:java.util.List access$600():100:100 -> e
    1:1:java.util.List getEmptySuperInterfaces():116:116 -> f
    1:1:java.util.List getEmptyTypeArguments():112:112 -> g
com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature -> com.android.tools.r8.graph.L1$a:
    com.android.tools.r8.graph.GenericSignature$TypeSignature elementSignature -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():660:660 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GenericSignature$TypeSignature):665:665 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignature$WildcardIndicator):669:671 -> <init>
    1:2:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asArgument(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):690:691 -> a
    3:10:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature visit(com.android.tools.r8.graph.GenericSignatureVisitor):700:707 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature():696:696 -> f
    2:2:void <init>(com.android.tools.r8.graph.GenericSignature$TypeSignature):665:665 -> f
    2:2:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature():696 -> f
    com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature asArrayTypeSignature() -> g
    boolean isArrayTypeSignature() -> l
com.android.tools.r8.graph.GenericSignature$BaseTypeSignature -> com.android.tools.r8.graph.M1:
    com.android.tools.r8.graph.DexType type -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():752:752 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexType):755:758 -> <init>
    com.android.tools.r8.graph.GenericSignature$BaseTypeSignature asBaseTypeSignature() -> c
    1:2:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature():773:774 -> f
com.android.tools.r8.graph.GenericSignature$ClassSignature -> com.android.tools.r8.graph.L1$b:
    java.util.List formalTypeParameters -> a
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature superClassSignature -> b
    java.util.List superInterfaceSignatures -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.GenericSignature$ClassSignature NO_CLASS_SIGNATURE -> d
    1:4:void <clinit>():207:210 -> <clinit>
    1:7:void <init>(java.util.List,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,java.util.List):219:225 -> <init>
    1:11:com.android.tools.r8.graph.GenericSignature$ClassSignature visit(com.android.tools.r8.graph.GenericSignatureVisitor):262:272 -> a
    12:12:com.android.tools.r8.graph.GenericSignature$ClassSignature toObjectBoundWithSameFormals(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):295:295 -> a
    13:19:java.util.List getGenericArgumentsToSuperType(com.android.tools.r8.graph.DexType):299:305 -> a
    1:1:boolean hasSignature():238:238 -> b
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature access$700():207:207 -> c
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder builder():312:312 -> d
    1:1:java.util.List getFormalTypeParameters():258:258 -> e
    boolean isValid() -> f
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature noSignature():291:291 -> g
    1:1:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature superClassSignature():229:229 -> h
    1:1:java.util.List superInterfaceSignatures():233:233 -> i
    1:1:java.lang.String toString():287:287 -> toString
    2:8:java.lang.String toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):276:282 -> toString
    2:8:java.lang.String toString():287 -> toString
com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder -> com.android.tools.r8.graph.N1:
    java.util.List formalTypeParameters -> a
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature superClassSignature -> b
    java.util.List superInterfaceSignatures -> c
    1:1:void <init>(com.android.tools.r8.graph.GenericSignature$1):315:315 -> <init>
    2:2:void <init>():321:321 -> <init>
    3:5:void <init>():317:319 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder addFormalTypeParameters(java.util.List):324:324 -> a
    2:2:com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder addInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):334:334 -> a
    3:3:com.android.tools.r8.graph.GenericSignature$ClassSignature build():339:339 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature$ClassSignatureBuilder setSuperClassSignature(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):329:329 -> b
com.android.tools.r8.graph.GenericSignature$ClassTypeSignature -> com.android.tools.r8.graph.L1$c:
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature enclosingTypeSignature -> d
    java.util.List typeArguments -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexType type -> b
    1:1:void <clinit>():559:559 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType):570:570 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexType,java.util.List):574:574 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):581:581 -> <init>
    4:12:void <init>(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$WildcardIndicator):589:597 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asArgument(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):559:559 -> a
    2:18:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visit(com.android.tools.r8.graph.GenericSignatureVisitor):631:647 -> a
    1:3:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature asArgument(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):620:622 -> b
    1:1:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature():627:627 -> f
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature asClassTypeSignature() -> h
    boolean isClassTypeSignature() -> m
    1:1:com.android.tools.r8.graph.DexType type():601:601 -> q
    1:1:java.util.List typeArguments():605:605 -> r
com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature -> com.android.tools.r8.graph.L1$d:
    1:1:boolean hasNoSignature():152:152 -> a
    boolean hasSignature() -> b
com.android.tools.r8.graph.GenericSignature$FieldTypeSignature -> com.android.tools.r8.graph.L1$e:
    com.android.tools.r8.graph.GenericSignature$WildcardIndicator wildcardIndicator -> a
    1:1:void <init>(com.android.tools.r8.graph.GenericSignature$WildcardIndicator,com.android.tools.r8.graph.GenericSignature$1):413:413 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):418:419 -> <init>
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asArgument(com.android.tools.r8.graph.GenericSignature$WildcardIndicator) -> a
    1:1:boolean hasSignature():466:466 -> b
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asFieldTypeSignature() -> d
    boolean isFieldTypeSignature() -> e
    com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature asArrayTypeSignature() -> g
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature asClassTypeSignature() -> h
    com.android.tools.r8.graph.GenericSignature$TypeVariableSignature asTypeVariableSignature() -> i
    1:1:com.android.tools.r8.graph.GenericSignature$WildcardIndicator getWildcardIndicator():427:427 -> j
    1:1:boolean isArgument():423:423 -> k
    boolean isArrayTypeSignature() -> l
    boolean isClassTypeSignature() -> m
    boolean isStar() -> n
    boolean isTypeVariableSignature() -> o
    1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature noSignature():491:491 -> p
    1:1:java.lang.String toString():487:487 -> toString
    2:8:java.lang.String toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):476:482 -> toString
    2:8:java.lang.String toString():487 -> toString
com.android.tools.r8.graph.GenericSignature$FormalTypeParameter -> com.android.tools.r8.graph.L1$f:
    java.util.List interfaceBounds -> c
    java.lang.String name -> a
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature classBound -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():166:166 -> <clinit>
    1:6:void <init>(java.lang.String,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,java.util.List):173:178 -> <init>
    1:1:java.lang.String getName():182:182 -> a
    2:10:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visit(com.android.tools.r8.graph.GenericSignatureVisitor):194:202 -> a
com.android.tools.r8.graph.GenericSignature$MethodTypeSignature -> com.android.tools.r8.graph.L1$g:
    java.util.List typeSignatures -> b
    com.android.tools.r8.graph.GenericSignature$MethodTypeSignature NO_METHOD_TYPE_SIGNATURE -> e
    java.util.List formalTypeParameters -> a
    com.android.tools.r8.graph.GenericSignature$ReturnType returnType -> c
    java.util.List throwsSignatures -> d
    boolean $assertionsDisabled -> f
    1:5:void <clinit>():797:801 -> <clinit>
    1:9:void <init>(java.util.List,java.util.List,com.android.tools.r8.graph.GenericSignature$ReturnType,java.util.List):816:824 -> <init>
    1:4:com.android.tools.r8.graph.GenericSignature$TypeSignature getParameterTypeSignature(int):828:831 -> a
    5:16:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature visit(com.android.tools.r8.graph.GenericSignatureVisitor):858:869 -> a
    1:1:boolean hasSignature():849:849 -> b
    1:1:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature access$900():797:797 -> c
    1:1:java.util.List getFormalTypeParameters():874:874 -> d
    1:1:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature noSignature():809:809 -> e
    1:1:com.android.tools.r8.graph.GenericSignature$ReturnType returnType():835:835 -> f
    1:1:java.lang.String toString():889:889 -> toString
    2:8:java.lang.String toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):878:884 -> toString
    2:8:java.lang.String toString():889 -> toString
com.android.tools.r8.graph.GenericSignature$Parser -> com.android.tools.r8.graph.O1:
    char[] buffer -> d
    com.android.tools.r8.graph.DexItemFactory factory -> f
    boolean $assertionsDisabled -> g
    char symbol -> a
    int pos -> e
    java.lang.String identifier -> b
    boolean eof -> c
    1:1:void <clinit>():993:993 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GenericSignature$1):993:993 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexItemFactory):1013:1014 -> <init>
    1:6:void setInput(java.lang.String):1060:1065 -> a
    1:6:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1019 -> a
    7:11:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1020:1024 -> a
    12:12:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1042,"2":1043,"3":1044}}
    1042:1042:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1024:1024 -> a
    1043:1043:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1024:1024 -> a
    1044:1044:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1024:1024 -> a
    1037:1039:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1025:1027 -> a
    1040:1040:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature(java.lang.String):1022:1022 -> a
    1045:1056:com.android.tools.r8.graph.GenericSignature$ClassSignature parseClassSignature():1100:1111 -> a
    1057:1063:void expect(char):1350:1356 -> a
    1064:1064:void expect(char):1351:1351 -> a
    1065:1068:void parseError(java.lang.String,int):1414:1417 -> a
    1:6:void setInput(java.lang.String):1060:1065 -> b
    1:6:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1047 -> b
    7:11:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1048:1052 -> b
    12:12:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1070,"2":1071,"3":1072}}
    1070:1070:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1052:1052 -> b
    1071:1071:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1052:1052 -> b
    1072:1072:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1052:1052 -> b
    1065:1067:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1053:1055 -> b
    1068:1068:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature(java.lang.String):1050:1050 -> b
    1073:1086:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1181:1194 -> b
    1087:1088:com.android.tools.r8.graph.DexType parsedTypeName(java.lang.String):1075:1076 -> b
    1087:1088:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1194 -> b
    1089:1092:java.util.List updateOptTypeArguments():1222:1225 -> b
    1089:1092:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1196 -> b
    1093:1103:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature updateTypeArgument():1239:1249 -> b
    1093:1103:java.util.List updateOptTypeArguments():1227 -> b
    1093:1103:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1196 -> b
    1104:1105:java.util.List updateOptTypeArguments():1227:1228 -> b
    1104:1105:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1196 -> b
    1106:1115:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature updateTypeArgument():1240:1249 -> b
    1106:1115:java.util.List updateOptTypeArguments():1229 -> b
    1106:1115:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1196 -> b
    1116:1121:java.util.List updateOptTypeArguments():1229:1234 -> b
    1116:1121:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1196 -> b
    1122:1131:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1198:1207 -> b
    1132:1136:com.android.tools.r8.graph.DexType parsedInnerTypeName(com.android.tools.r8.graph.DexType,java.lang.String):1084:1088 -> b
    1132:1136:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1207 -> b
    1137:1137:com.android.tools.r8.graph.DexType parsedInnerTypeName(com.android.tools.r8.graph.DexType,java.lang.String):1087:1087 -> b
    1137:1137:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1207 -> b
    1138:1138:com.android.tools.r8.graph.DexType parsedInnerTypeName(com.android.tools.r8.graph.DexType,java.lang.String):1086:1086 -> b
    1138:1138:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1207 -> b
    1139:1142:java.util.List updateOptTypeArguments():1222:1225 -> b
    1139:1142:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1208 -> b
    1143:1153:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature updateTypeArgument():1239:1249 -> b
    1143:1153:java.util.List updateOptTypeArguments():1227 -> b
    1143:1153:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1208 -> b
    1154:1155:java.util.List updateOptTypeArguments():1227:1228 -> b
    1154:1155:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1208 -> b
    1156:1165:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature updateTypeArgument():1240:1249 -> b
    1156:1165:java.util.List updateOptTypeArguments():1229 -> b
    1156:1165:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1208 -> b
    1166:1171:java.util.List updateOptTypeArguments():1229:1234 -> b
    1166:1171:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1208 -> b
    1172:1180:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature parseClassTypeSignature():1209:1217 -> b
    1:6:void setInput(java.lang.String):1060:1065 -> c
    1:6:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1033 -> c
    7:11:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1034:1038 -> c
    12:12:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1056,"2":1057,"3":1058}}
    1056:1056:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1038:1038 -> c
    1057:1057:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1038:1038 -> c
    1058:1058:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1038:1038 -> c
    1051:1053:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1039:1041 -> c
    1054:1054:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature(java.lang.String):1036:1036 -> c
    1059:1064:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature():1162:1167 -> c
    1065:1080:com.android.tools.r8.graph.GenericSignature$TypeSignature updateTypeSignature():1265:1280 -> c
    1065:1080:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature():1168 -> c
    1081:1083:com.android.tools.r8.graph.GenericSignature$TypeSignature updateTypeSignature():1274:1276 -> c
    1081:1083:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature():1168 -> c
    1084:1088:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature():1169:1173 -> c
    1089:1095:com.android.tools.r8.graph.GenericSignature$TypeVariableSignature updateTypeVariableSignature():1255:1261 -> c
    1089:1095:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature():1171 -> c
    1096:1096:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature parseFieldTypeSignature():1164:1164 -> c
    1:6:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1287:1292 -> d
    7:7:com.android.tools.r8.graph.GenericSignature$TypeSignature updateTypeSignature():1280:1280 -> d
    7:7:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1293 -> d
    8:10:com.android.tools.r8.graph.GenericSignature$TypeSignature updateTypeSignature():1274:1276 -> d
    8:10:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1293 -> d
    11:14:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1293:1296 -> d
    15:16:com.android.tools.r8.graph.GenericSignature$ReturnType updateReturnType():1322:1323 -> d
    15:16:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1298 -> d
    17:17:com.android.tools.r8.graph.GenericSignature$TypeSignature updateTypeSignature():1280:1280 -> d
    17:17:com.android.tools.r8.graph.GenericSignature$ReturnType updateReturnType():1323 -> d
    17:17:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1298 -> d
    18:20:com.android.tools.r8.graph.GenericSignature$TypeSignature updateTypeSignature():1274:1276 -> d
    18:20:com.android.tools.r8.graph.GenericSignature$ReturnType updateReturnType():1323 -> d
    18:20:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1298 -> d
    21:24:com.android.tools.r8.graph.GenericSignature$ReturnType updateReturnType():1323:1326 -> d
    21:24:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1298 -> d
    25:30:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1300:1305 -> d
    31:37:com.android.tools.r8.graph.GenericSignature$TypeVariableSignature updateTypeVariableSignature():1255:1261 -> d
    31:37:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1306 -> d
    38:49:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature parseMethodTypeSignature():1306:1317 -> d
    1:7:java.util.List parseOptFormalTypeParameters():1116:1122 -> e
    8:34:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter updateFormalTypeParameter():1131:1157 -> e
    8:34:java.util.List parseOptFormalTypeParameters():1123 -> e
    35:38:java.util.List parseOptFormalTypeParameters():1123:1126 -> e
    1:22:void scanIdentifier():1376:1397 -> f
    23:34:void scanIdentifier():1390:1401 -> f
    35:35:void parseError():1410:1410 -> f
    35:35:void scanIdentifier():1402 -> f
    36:36:void scanIdentifier():1405:1405 -> f
    1:11:void scanSymbol():1335:1345 -> g
com.android.tools.r8.graph.GenericSignature$ReturnType -> com.android.tools.r8.graph.L1$h:
    com.android.tools.r8.graph.GenericSignature$ReturnType VOID -> b
    com.android.tools.r8.graph.GenericSignature$TypeSignature typeSignature -> a
    1:1:void <clinit>():779:779 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.GenericSignature$TypeSignature):784:785 -> <init>
    1:1:boolean isVoidDescriptor():789:789 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$TypeSignature typeSignature():793:793 -> b
com.android.tools.r8.graph.GenericSignature$StarFieldTypeSignature -> com.android.tools.r8.graph.P1:
    com.android.tools.r8.graph.GenericSignature$StarFieldTypeSignature STAR_FIELD_TYPE_SIGNATURE -> b
    1:1:void <clinit>():534:534 -> <clinit>
    1:1:void <init>():538:538 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asArgument(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):543:543 -> a
    boolean isStar() -> n
    1:1:com.android.tools.r8.graph.GenericSignature$StarFieldTypeSignature access$1000():532:532 -> q
com.android.tools.r8.graph.GenericSignature$TypeSignature -> com.android.tools.r8.graph.L1$i:
    1:1:void <init>():383:383 -> <init>
    com.android.tools.r8.graph.GenericSignature$BaseTypeSignature asBaseTypeSignature() -> c
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asFieldTypeSignature() -> d
    boolean isFieldTypeSignature() -> e
    com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature() -> f
com.android.tools.r8.graph.GenericSignature$TypeVariableSignature -> com.android.tools.r8.graph.L1$j:
    java.lang.String typeVariable -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():711:711 -> <clinit>
    1:1:void <init>(java.lang.String,com.android.tools.r8.graph.GenericSignature$1):711:711 -> <init>
    2:2:void <init>(java.lang.String):716:716 -> <init>
    3:5:void <init>(java.lang.String,com.android.tools.r8.graph.GenericSignature$WildcardIndicator):720:722 -> <init>
    1:2:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature asArgument(com.android.tools.r8.graph.GenericSignature$WildcardIndicator):737:738 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature toArrayTypeSignature():743:743 -> f
    com.android.tools.r8.graph.GenericSignature$TypeVariableSignature asTypeVariableSignature() -> i
    boolean isTypeVariableSignature() -> o
com.android.tools.r8.graph.GenericSignature$WildcardIndicator -> com.android.tools.r8.graph.L1$k:
    com.android.tools.r8.graph.GenericSignature$WildcardIndicator NONE -> c
    com.android.tools.r8.graph.GenericSignature$WildcardIndicator NOT_AN_ARGUMENT -> b
    com.android.tools.r8.graph.GenericSignature$WildcardIndicator POSITIVE -> e
    com.android.tools.r8.graph.GenericSignature$WildcardIndicator NEGATIVE -> d
    1:4:void <clinit>():407:410 -> <clinit>
    1:1:void <init>(java.lang.String,int):406:406 -> <init>
com.android.tools.r8.graph.GenericSignatureContextBuilder -> com.android.tools.r8.graph.Q1:
    java.util.Map formalsInfo -> a
    java.util.Map enclosingInfo -> b
    int $r8$clinit -> d
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():23:23 -> <clinit>
    1:3:void <init>(java.util.Map,java.util.Map):129:131 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignatureContextBuilder create(com.android.tools.r8.graph.AppView):135:135 -> a
    2:42:com.android.tools.r8.graph.GenericSignatureContextBuilder create(com.android.tools.r8.graph.AppView,java.util.Collection):140:180 -> a
    43:43:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):149:149 -> a
    44:44:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():696:696 -> a
    44:44:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):151 -> a
    45:45:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):151:151 -> a
    46:46:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    46:46:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):152 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    47:47:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):152:152 -> a
    48:75:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):150:177 -> a
    76:76:void lambda$create$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):173:173 -> a
    77:80:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):156:159 -> a
    81:81:java.util.List com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.getFormalTypeParameters():874:874 -> a
    81:81:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):161 -> a
    82:82:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):160:160 -> a
    83:83:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):158:158 -> a
    84:85:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate):203:204 -> a
    86:90:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):213:217 -> a
    91:91:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    91:91:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):222 -> a
    92:100:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):223:231 -> a
    101:101:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    101:101:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):231 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    102:110:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):231:239 -> a
    111:118:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):234:241 -> a
    119:119:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext.access$100(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions,boolean):55:55 -> a
    119:119:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):241 -> a
    120:121:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext.combine(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions,boolean):74:75 -> a
    120:121:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext.access$100(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions,boolean):55 -> a
    120:121:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):241 -> a
    122:127:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):242:247 -> a
    128:128:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):604:604 -> a
    128:128:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):247 -> a
    129:130:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):250:251 -> a
    131:131:java.util.List com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.getFormalTypeParameters():874:874 -> a
    131:131:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):251 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    132:132:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):251:251 -> a
    133:133:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext.access$100(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions,boolean):55:55 -> a
    133:133:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):253 -> a
    134:135:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext.combine(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions,boolean):74:75 -> a
    134:135:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext.access$100(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions,boolean):55 -> a
    134:135:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext computeTypeParameterContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,java.util.function.Predicate,boolean):253 -> a
    136:159:boolean hasPrunedRelationship(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexType,java.util.function.Predicate):261:284 -> a
    1:8:boolean hasGenericTypeVariables(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.util.function.Predicate):290:297 -> b
    9:9:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> b
    9:9:boolean hasGenericTypeVariables(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.util.function.Predicate):297 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean hasGenericTypeVariables(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.util.function.Predicate):297:297 -> b
com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext -> com.android.tools.r8.graph.Q1$a:
    java.util.Map prunedParametersWithBounds -> a
    com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext EMPTY -> c
    java.util.Set liveParameters -> b
    boolean $assertionsDisabled -> d
    1:4:void <clinit>():55:58 -> <clinit>
    1:3:void <init>(java.util.Map,java.util.Set):64:66 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext empty():79:79 -> a
    2:2:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature getPrunedSubstitution(java.lang.String):87:87 -> a
    3:3:boolean isLiveParameter(java.lang.String):83:83 -> a
    3:3:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature getPrunedSubstitution(java.lang.String):87 -> a
    4:5:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature getPrunedSubstitution(java.lang.String):87:88 -> a
    6:19:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext addLiveParameters(java.util.Collection):92:105 -> a
    20:21:void lambda$addLiveParameters$0(java.util.Collection,java.util.HashMap,java.lang.String,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):101:102 -> a
    22:35:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext addPrunedSubstitutions(java.util.Map):110:123 -> a
    36:37:void lambda$addPrunedSubstitutions$1(java.util.Map,java.util.HashSet,java.lang.String):119:120 -> a
    1:1:boolean isLiveParameter(java.lang.String):83:83 -> b
com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions -> com.android.tools.r8.graph.R1:
    java.util.Map parametersWithBounds -> a
    1:2:void <init>(java.util.Map):32:33 -> <init>
    1:1:java.util.Map access$000(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions):28:28 -> a
    2:2:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions access$200(java.util.List):28:28 -> a
    3:3:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getClassBound():186:186 -> a
    3:3:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):40 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):41:41 -> a
    5:5:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getClassBound():186:186 -> a
    5:5:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):42 -> a
    6:6:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):42:42 -> a
    7:7:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> a
    7:7:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):43 -> a
    8:8:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getClassBound():186:186 -> a
    8:8:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):43 -> a
    9:9:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):43:43 -> a
    10:10:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    10:10:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):44 -> a
    11:11:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):44:44 -> a
    12:12:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    12:12:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):45 -> a
    13:13:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):45:45 -> a
    14:14:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> a
    14:14:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):46 -> a
    15:15:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    15:15:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):46 -> a
    16:16:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):46:46 -> a
    17:17:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> a
    17:17:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):48 -> a
    18:18:void lambda$create$0(java.util.Map,com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):48:48 -> a
    1:15:com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterSubstitutions create(java.util.List):37:51 -> b
com.android.tools.r8.graph.GenericSignatureCorrectnessHelper -> com.android.tools.r8.graph.U1:
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode mode -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.GenericSignatureContextBuilder contextBuilder -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():35:35 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode):93:97 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper createForInitialCheck(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder):102:102 -> a
    2:8:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult run(java.util.Collection):111:117 -> a
    9:9:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.combine(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):67:67 -> a
    9:9:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult run(java.util.Collection):117 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:27:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):123:140 -> a
    28:28:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    28:28:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):140 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    29:29:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    29:29:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):140 -> a
    30:39:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):140:149 -> a
    40:40:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    40:40:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):150 -> a
    41:41:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):147:147 -> a
    42:42:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):146:146 -> a
    43:43:void com.android.tools.r8.graph.DexClass.clearClassSignature():1059:1059 -> a
    43:43:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):153 -> a
    44:47:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):155:158 -> a
    48:48:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.combine(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):67:67 -> a
    48:48:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):157 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    49:52:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):184:187 -> a
    53:53:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.combine(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):67:67 -> a
    53:53:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):186 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    54:54:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult lambda$evaluateSignaturesForClass$0(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):161:161 -> a
    55:56:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):166:167 -> a
    57:57:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    57:57:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):167 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    58:58:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    58:58:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):167 -> a
    59:69:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):167:177 -> a
    70:70:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    70:70:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):178 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:71:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):175:175 -> a
    72:79:void lambda$evaluateSignaturesForClass$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):174:181 -> a
    80:80:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult lambda$evaluateSignaturesForClass$2(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):190:190 -> a
    81:84:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):193:196 -> a
    85:85:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    85:85:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):196 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    86:86:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):196 -> a
    87:96:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):196:205 -> a
    97:97:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    97:97:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):206 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    98:98:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):203:203 -> a
    99:106:void lambda$evaluateSignaturesForClass$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):202:209 -> a
    107:113:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):220:226 -> a
    114:114:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.isValid():59:59 -> a
    114:114:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):226 -> a
    115:115:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):226:226 -> a
    116:116:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():42:42 -> a
    116:116:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):226 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    117:119:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):226:228 -> a
    120:120:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluate(java.util.function.Supplier,java.util.function.Function,java.util.function.Consumer):223:223 -> a
    1:1:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper createForVerification(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder):107:107 -> b
com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$1 -> com.android.tools.r8.graph.S1:
    int[] $SwitchMap$com$android$tools$r8$graph$GenericSignatureCorrectnessHelper$SignatureEvaluationResult -> a
    1:1:void <clinit>():71:71 -> <clinit>
com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator -> com.android.tools.r8.graph.T1:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexProgramClass context -> b
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode mode -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():233:233 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$1):233:233 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode,com.android.tools.r8.graph.DexProgramClass):240:243 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$300(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233:233 -> a
    2:2:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):248:248 -> a
    2:2:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:7:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):248:252 -> a
    3:7:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    8:8:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):347:347 -> a
    8:8:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):253 -> a
    8:8:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    9:20:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):359:370 -> a
    9:20:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):349 -> a
    9:20:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):253 -> a
    9:20:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    21:25:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):350:354 -> a
    21:25:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):253 -> a
    21:25:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    26:29:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):254:257 -> a
    26:29:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    30:30:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature com.android.tools.r8.graph.GenericSignature$ClassSignature.superClassSignature():229:229 -> a
    30:30:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):258 -> a
    30:30:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    31:33:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):258:260 -> a
    31:33:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    34:34:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature com.android.tools.r8.graph.GenericSignature$ClassSignature.superClassSignature():229:229 -> a
    34:34:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):260 -> a
    34:34:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    35:35:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> a
    35:35:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):260 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    36:36:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):261:261 -> a
    36:36:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    37:37:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():42:42 -> a
    37:37:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):261 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    37:37:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    38:39:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):261:262 -> a
    38:39:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    40:40:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature com.android.tools.r8.graph.GenericSignature$ClassSignature.superClassSignature():229:229 -> a
    40:40:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):266 -> a
    40:40:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    41:41:java.util.List com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.typeArguments():605:605 -> a
    41:41:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):266 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    41:41:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    42:42:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):266:266 -> a
    42:42:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    43:47:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):265:269 -> a
    43:47:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    48:48:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.superInterfaceSignatures():233:233 -> a
    48:48:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):272 -> a
    48:48:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    49:50:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):273:274 -> a
    49:50:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    51:51:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():42:42 -> a
    51:51:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):274 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    51:51:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    52:59:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):274:281 -> a
    52:59:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    60:60:java.util.List com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.typeArguments():605:605 -> a
    60:60:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):281 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    60:60:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    61:61:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):281:281 -> a
    61:61:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    62:68:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):280:286 -> a
    62:68:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    69:69:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateClassSignatureForContext(com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):250:250 -> a
    69:69:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$100(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    70:74:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):292:296 -> a
    75:75:java.util.List com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.getFormalTypeParameters():874:874 -> a
    75:75:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):300 -> a
    76:76:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):300:300 -> a
    77:77:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):299:299 -> a
    78:78:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):298:298 -> a
    79:79:java.util.List com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.getFormalTypeParameters():874:874 -> a
    79:79:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):302 -> a
    80:80:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):347:347 -> a
    80:80:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):302 -> a
    81:92:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):359:370 -> a
    81:92:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):349 -> a
    81:92:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):302 -> a
    93:97:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateFormalTypeParameters(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):350:354 -> a
    93:97:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):302 -> a
    98:101:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):303:306 -> a
    102:109:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArguments(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):326:333 -> a
    102:109:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):306 -> a
    110:113:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):307:310 -> a
    114:121:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArguments(java.util.List,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):326:333 -> a
    114:121:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):310 -> a
    122:128:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):311:317 -> a
    129:129:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):339:339 -> a
    129:129:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$200(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    130:133:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):339:342 -> a
    130:133:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult access$200(com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$GenericSignatureContextEvaluator,com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):233 -> a
    134:134:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):375:375 -> a
    135:135:boolean com.android.tools.r8.graph.GenericSignature$TypeSignature.isBaseTypeSignature():0:0 -> a
    135:135:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):375 -> a
    136:144:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):376:384 -> a
    145:145:java.lang.String com.android.tools.r8.graph.GenericSignature$TypeVariableSignature.typeVariable():747:747 -> a
    145:145:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):384 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    146:149:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):385:388 -> a
    150:150:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():42:42 -> a
    150:150:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):388 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    151:156:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):388:393 -> a
    157:157:com.android.tools.r8.graph.GenericSignature$TypeSignature com.android.tools.r8.graph.GenericSignature$ArrayTypeSignature.elementSignature():675:675 -> a
    157:157:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):393 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    158:162:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):392:396 -> a
    163:163:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):401:401 -> a
    163:163:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):396 -> a
    164:164:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> a
    164:164:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):402 -> a
    164:164:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):396 -> a
    165:165:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArguments(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):401:401 -> a
    165:165:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):396 -> a
    166:166:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgument(com.android.tools.r8.graph.GenericSignature$TypeSignature,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):380:380 -> a
    167:171:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):409:413 -> a
    172:172:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():42:42 -> a
    172:172:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):413 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    173:187:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):413:427 -> a
    188:188:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    188:188:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):427 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    189:190:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):427:428 -> a
    191:191:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.doNotVerify():42:42 -> a
    191:191:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):428 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    192:195:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult evaluateTypeArgumentsAppliedToType(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext):428:431 -> a
com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Zl:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$Mode.clearIfInvalid() -> a
com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult -> com.android.tools.r8.graph.U1$a:
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult[] $VALUES -> g
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult INVALID_SUPER_TYPE -> b
    boolean $assertionsDisabled -> h
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult INVALID_INTERFACE_COUNT -> c
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult INVALID_APPLICATION_COUNT -> d
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult INVALID_TYPE_VARIABLE_UNDEFINED -> e
    com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult VALID -> f
    1:8:void <clinit>():50:50 -> <clinit>
    1:1:void <init>(java.lang.String,int):50:50 -> <init>
    1:1:boolean isInvalid():63:63 -> a
    1:1:com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult[] values():50:50 -> b
com.android.tools.r8.graph.GenericSignatureEnqueuerAnalysis -> com.android.tools.r8.graph.V1:
    com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier enqueuerDefinitionSupplier -> a
    java.util.Set processedSignatures -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier):19:19 -> <init>
    2:5:void <init>(com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier):17:20 -> <init>
    1:1:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):25:25 -> a
    2:2:void notifyMarkFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerWorklist):30:30 -> a
    3:3:void processNewlyLiveField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.EnqueuerWorklist):36:36 -> a
    4:4:void notifyMarkMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):41:41 -> a
    5:5:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):50:50 -> a
    6:13:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):54:61 -> a
    14:17:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignatureTypeVisitor.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):30:33 -> a
    14:17:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):60 -> a
    18:20:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):62:64 -> a
    21:24:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature com.android.tools.r8.graph.GenericSignatureTypeVisitor.visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):38:41 -> a
    21:24:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):63 -> a
    25:27:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):66:68 -> a
    28:28:void processSignature(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):67:67 -> a
com.android.tools.r8.graph.GenericSignatureFormatDiagnostic -> com.android.tools.r8.graph.W1:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    java.lang.String message -> d
    1:4:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String):18:21 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignatureFormatDiagnostic invalidClassSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.lang.reflect.GenericSignatureFormatError):41:41 -> a
    2:15:com.android.tools.r8.graph.GenericSignatureFormatDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.lang.reflect.GenericSignatureFormatError):60:73 -> a
    1:1:com.android.tools.r8.graph.GenericSignatureFormatDiagnostic invalidFieldSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.lang.reflect.GenericSignatureFormatError):51:51 -> b
    1:1:com.android.tools.r8.graph.GenericSignatureFormatDiagnostic invalidMethodSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,java.lang.reflect.GenericSignatureFormatError):46:46 -> c
    1:1:java.lang.String getDiagnosticMessage():36:36 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():26:26 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():31:31 -> getPosition
com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier -> com.android.tools.r8.graph.X1:
    java.util.function.BiPredicate enclosingPruned -> b
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature objectArgument -> e
    com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext typeParameterContext -> a
    com.android.tools.r8.graph.AppView appView -> d
    java.util.function.Predicate hasGenericTypeParameters -> c
    boolean makeAllTypeArgumentsObject -> f
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,java.util.function.BiPredicate,java.util.function.Predicate):36:36 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,java.util.function.BiPredicate,java.util.function.Predicate):30:43 -> <init>
    com.android.tools.r8.graph.DexType visitType(com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier build(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GenericSignatureContextBuilder$TypeParameterContext,java.util.function.BiPredicate,java.util.function.Predicate):51:51 -> a
    2:5:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):78:81 -> a
    6:6:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):95:95 -> a
    7:7:boolean com.android.tools.r8.graph.GenericSignature$TypeSignature.isBaseTypeSignature():0:0 -> a
    7:7:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):95 -> a
    8:8:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):98:98 -> a
    9:11:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):103:105 -> a
    12:12:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getClassBound():186:186 -> a
    12:12:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):105 -> a
    13:13:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):105:105 -> a
    14:14:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    14:14:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):106 -> a
    15:15:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):106:106 -> a
    16:16:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):105:105 -> a
    17:20:java.util.List visitInterfaceBounds(java.util.List):112:115 -> a
    21:21:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
    21:21:java.util.List visitInterfaceBounds(java.util.List):115 -> a
    22:26:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):130:134 -> a
    27:27:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    27:27:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):134 -> a
    28:31:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):134:137 -> a
    32:32:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
    32:32:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):137 -> a
    33:36:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitClassBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):147:150 -> a
    37:37:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):161:161 -> a
    38:38:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> a
    38:38:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):161 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    39:39:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":370,"2":371,"3":372}}
    370:370:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):161:161 -> a
    371:371:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    371:371:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):161 -> a
    372:372:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    372:372:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):161 -> a
    201:201:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):162:162 -> a
    202:202:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> a
    202:202:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):162 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    203:203:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":373,"2":374,"3":375}}
    373:373:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):162:162 -> a
    374:374:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    374:374:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):162 -> a
    375:375:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    375:375:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):162 -> a
    366:369:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):163:166 -> a
    376:384:com.android.tools.r8.graph.GenericSignature$ReturnType visitReturnType(com.android.tools.r8.graph.GenericSignature$ReturnType):180:188 -> a
    385:385:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperClass(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):210:210 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):142:142 -> b
    2:5:java.util.List visitThrowsSignatures(java.util.List):172:175 -> b
    6:6:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> b
    6:6:java.util.List visitThrowsSignatures(java.util.List):175 -> b
    7:23:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):215:231 -> b
    24:24:java.lang.String com.android.tools.r8.graph.GenericSignature$TypeVariableSignature.typeVariable():747:747 -> b
    24:24:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):231 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:38:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):232:245 -> b
    1:4:java.util.List visitFormalTypeParameters(java.util.List):194:197 -> c
    5:5:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> c
    5:5:java.util.List visitFormalTypeParameters(java.util.List):197 -> c
    1:4:java.util.List visitMethodTypeSignatures(java.util.List):202:205 -> d
    5:5:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> d
    5:5:java.util.List visitMethodTypeSignatures(java.util.List):205 -> d
    1:4:java.util.List visitSuperInterfaces(java.util.List):121:124 -> e
    5:5:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> e
    5:5:java.util.List visitSuperInterfaces(java.util.List):124 -> e
    1:7:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier buildForMethod(java.util.List):57:63 -> f
    8:8:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier buildForMethod(java.util.List):62:62 -> f
com.android.tools.r8.graph.GenericSignaturePrinter -> com.android.tools.r8.graph.Y1:
    com.android.tools.r8.naming.NamingLens namingLens -> a
    java.util.function.Predicate isTypeMissing -> b
    java.lang.StringBuilder sb -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():20:20 -> <clinit>
    1:6:void <init>(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):25:30 -> <init>
    7:8:void <init>(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):26:27 -> <init>
    com.android.tools.r8.graph.DexType visitType(com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ClassSignature visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):34:34 -> a
    2:2:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):45:45 -> a
    3:6:com.android.tools.r8.graph.GenericSignature$ReturnType visitReturnType(com.android.tools.r8.graph.GenericSignature$ReturnType):58:61 -> a
    7:11:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitClassBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):89:93 -> a
    12:12:java.util.List visitInterfaceBounds(java.util.List):99:99 -> a
    13:13:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperClass(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):112:112 -> a
    14:14:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):131:131 -> a
    15:15:boolean com.android.tools.r8.graph.GenericSignature$TypeSignature.isBaseTypeSignature():0:0 -> a
    15:15:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):131 -> a
    16:19:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):132:135 -> a
    20:20:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):143:143 -> a
    21:33:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):150:162 -> a
    34:35:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):168:169 -> a
    36:50:void printFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,boolean):175:189 -> a
    51:51:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):143:143 -> a
    51:51:void printFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,boolean):190 -> a
    52:72:void printFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature,boolean):192:212 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):39:39 -> b
    2:4:java.util.List visitThrowsSignatures(java.util.List):68:70 -> b
    5:5:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):125:125 -> b
    1:6:java.util.List visitFormalTypeParameters(java.util.List):78:83 -> c
    7:8:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitInterfaceBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):105:106 -> c
    1:3:java.util.List visitMethodTypeSignatures(java.util.List):50:52 -> d
    1:1:java.util.List visitSuperInterfaces(java.util.List):119:119 -> e
    1:1:java.lang.String toString():226:226 -> toString
com.android.tools.r8.graph.GenericSignatureTypeRewriter -> com.android.tools.r8.graph.a2:
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature objectTypeSignature -> e
    java.util.function.Predicate wasPruned -> b
    java.util.function.Function lookupType -> c
    com.android.tools.r8.graph.DexProgramClass context -> d
    java.util.function.Predicate hasGenericTypeVariables -> f
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate):37:41 -> <init>
    6:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate):36:36 -> <init>
    7:13:void <init>(com.android.tools.r8.graph.DexItemFactory,java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate):51:57 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory access$100(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> a
    2:5:com.android.tools.r8.graph.GenericSignature$ClassSignature rewrite(com.android.tools.r8.graph.GenericSignature$ClassSignature):61:64 -> a
    6:6:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):87:87 -> a
    6:6:com.android.tools.r8.graph.GenericSignature$ClassSignature rewrite(com.android.tools.r8.graph.GenericSignature$ClassSignature):64 -> a
    7:7:java.util.List com.android.tools.r8.graph.GenericSignature$ClassSignature.getFormalTypeParameters():258:258 -> a
    7:7:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):88 -> a
    7:7:com.android.tools.r8.graph.GenericSignature$ClassSignature rewrite(com.android.tools.r8.graph.GenericSignature$ClassSignature):64 -> a
    8:9:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):88:89 -> a
    8:9:com.android.tools.r8.graph.GenericSignature$ClassSignature rewrite(com.android.tools.r8.graph.GenericSignature$ClassSignature):64 -> a
    10:10:com.android.tools.r8.graph.DexItemFactory access$100(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> a
    10:10:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):90 -> a
    10:10:com.android.tools.r8.graph.GenericSignature$ClassSignature rewrite(com.android.tools.r8.graph.GenericSignature$ClassSignature):64 -> a
    11:12:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):90:91 -> a
    11:12:com.android.tools.r8.graph.GenericSignature$ClassSignature rewrite(com.android.tools.r8.graph.GenericSignature$ClassSignature):64 -> a
    13:18:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature rewrite(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):68:73 -> a
    19:22:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature rewrite(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):77:80 -> a
    23:23:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter.visitMethodSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):98:98 -> a
    23:23:com.android.tools.r8.graph.GenericSignature$MethodTypeSignature rewrite(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):80 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature access$200(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> b
    1:1:com.android.tools.r8.graph.DexProgramClass access$300(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> c
    1:1:java.util.function.Predicate access$400(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> d
    1:1:java.util.function.Predicate access$500(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> e
    1:1:java.util.function.Function access$600(com.android.tools.r8.graph.GenericSignatureTypeRewriter):24:24 -> f
com.android.tools.r8.graph.GenericSignatureTypeRewriter$GenericSignatureRewriter -> com.android.tools.r8.graph.Z1:
    com.android.tools.r8.graph.GenericSignatureTypeRewriter this$0 -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():83:83 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GenericSignatureTypeRewriter):83:83 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignatureTypeRewriter$1):83:83 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):115:115 -> a
    2:2:boolean com.android.tools.r8.graph.GenericSignature$TypeSignature.isBaseTypeSignature():0:0 -> a
    2:2:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):115 -> a
    3:3:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):118:118 -> a
    4:4:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):133:133 -> a
    5:5:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getClassBound():186:186 -> a
    5:5:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):136 -> a
    6:6:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):136:136 -> a
    7:7:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    7:7:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):137 -> a
    8:9:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):137:138 -> a
    10:10:java.lang.String com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getName():182:182 -> a
    10:10:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):139 -> a
    11:11:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):139:139 -> a
    12:12:java.util.List com.android.tools.r8.graph.GenericSignature$FormalTypeParameter.getInterfaceBounds():190:190 -> a
    12:12:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):139 -> a
    13:13:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):139:139 -> a
    14:20:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperClass(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):146:152 -> a
    21:21:void lambda$visitSuperInterfaces$1(java.util.List,java.util.List,com.android.tools.r8.graph.DexType):168:168 -> a
    22:23:java.lang.Object com.android.tools.r8.utils.ListUtils.firstMatching(java.util.List,java.util.function.Predicate):73:74 -> a
    22:23:void lambda$visitSuperInterfaces$1(java.util.List,java.util.List,com.android.tools.r8.graph.DexType):169 -> a
    24:26:void lambda$visitSuperInterfaces$1(java.util.List,java.util.List,com.android.tools.r8.graph.DexType):169:171 -> a
    27:27:void lambda$visitSuperInterfaces$1(java.util.List,java.util.List,com.android.tools.r8.graph.DexType):170:170 -> a
    28:28:boolean lambda$visitSuperInterfaces$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):169:169 -> a
    29:39:com.android.tools.r8.graph.GenericSignature$ReturnType visitReturnType(com.android.tools.r8.graph.GenericSignature$ReturnType):197:207 -> a
    40:43:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitClassBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):223:226 -> a
    44:47:java.util.List visitInterfaceBounds(java.util.List):231:234 -> a
    48:48:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
    48:48:java.util.List visitInterfaceBounds(java.util.List):234 -> a
    49:49:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):245:245 -> a
    50:60:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):251:261 -> a
    61:61:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
    61:61:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):261 -> a
    62:62:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):259:259 -> a
    63:64:com.android.tools.r8.graph.DexType visitType(com.android.tools.r8.graph.DexType):273:274 -> a
    1:1:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):115:115 -> b
    1:1:com.android.tools.r8.graph.GenericSignature$TypeSignature lambda$visitMethodTypeSignatures$2(com.android.tools.r8.graph.GenericSignature$TypeSignature):190 -> b
    2:2:boolean com.android.tools.r8.graph.GenericSignature$TypeSignature.isBaseTypeSignature():0:0 -> b
    2:2:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):115 -> b
    2:2:com.android.tools.r8.graph.GenericSignature$TypeSignature lambda$visitMethodTypeSignatures$2(com.android.tools.r8.graph.GenericSignature$TypeSignature):190 -> b
    3:3:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):118:118 -> b
    3:3:com.android.tools.r8.graph.GenericSignature$TypeSignature lambda$visitMethodTypeSignatures$2(com.android.tools.r8.graph.GenericSignature$TypeSignature):190 -> b
    4:4:com.android.tools.r8.graph.GenericSignature$TypeSignature lambda$visitMethodTypeSignatures$2(com.android.tools.r8.graph.GenericSignature$TypeSignature):191:191 -> b
    5:5:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):178:178 -> b
    6:6:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GenericSignature$ClassTypeSignature.type():601:601 -> b
    6:6:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):179 -> b
    7:7:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):179:179 -> b
    8:12:java.util.List visitThrowsSignatures(java.util.List):214:218 -> b
    13:13:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> b
    13:13:java.util.List visitThrowsSignatures(java.util.List):218 -> b
    14:16:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature lambda$visitTypeArguments$3(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):264:266 -> b
    1:7:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):103:109 -> c
    8:11:java.util.List visitFormalTypeParameters(java.util.List):125:128 -> c
    12:12:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> c
    12:12:java.util.List visitFormalTypeParameters(java.util.List):128 -> c
    1:4:java.util.List visitMethodTypeSignatures(java.util.List):184:187 -> d
    5:5:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> d
    5:5:java.util.List visitMethodTypeSignatures(java.util.List):187 -> d
    1:4:java.util.List visitSuperInterfaces(java.util.List):158:161 -> e
    5:5:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> e
    5:5:java.util.List visitSuperInterfaces(java.util.List):162 -> e
    6:7:java.util.List visitSuperInterfaces(java.util.List):165:166 -> e
com.android.tools.r8.graph.GenericSignatureTypeVisitor -> com.android.tools.r8.graph.b2:
    java.util.function.BiConsumer visitedTypeConsumer -> b
    com.android.tools.r8.graph.ProgramDefinition context -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.ProgramDefinition,java.util.function.BiConsumer):23:25 -> <init>
    1:4:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitClassBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):72:75 -> a
    5:5:java.util.List visitInterfaceBounds(java.util.List):80:80 -> a
    6:6:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperClass(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):91:91 -> a
    7:7:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):111:111 -> a
    8:8:boolean com.android.tools.r8.graph.GenericSignature$TypeSignature.isBaseTypeSignature():0:0 -> a
    8:8:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):111 -> a
    9:10:com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature):114:115 -> a
    11:11:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):121:121 -> a
    12:15:com.android.tools.r8.graph.GenericSignature$ReturnType visitReturnType(com.android.tools.r8.graph.GenericSignature$ReturnType):126:129 -> a
    16:16:java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List):148:148 -> a
    17:17:com.android.tools.r8.graph.GenericSignature$FormalTypeParameter visitFormalTypeParameter(com.android.tools.r8.graph.GenericSignature$FormalTypeParameter):154:154 -> a
    18:18:com.android.tools.r8.graph.DexType visitType(com.android.tools.r8.graph.DexType):159:159 -> a
    1:15:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitFieldTypeSignature(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):46:60 -> b
    16:16:com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperInterface(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):106:106 -> b
    17:17:java.util.List visitThrowsSignatures(java.util.List):141:141 -> b
    1:1:java.util.List visitFormalTypeParameters(java.util.List):66:66 -> c
    2:2:com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitInterfaceBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature):86:86 -> c
    1:1:java.util.List visitMethodTypeSignatures(java.util.List):135:135 -> d
    1:1:java.util.List visitSuperInterfaces(java.util.List):100:100 -> e
com.android.tools.r8.graph.GenericSignatureUtils -> com.android.tools.r8.graph.c2:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:11:boolean verifyNoDuplicateGenericDefinitions(com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature,com.android.tools.r8.graph.DexAnnotationSet):13:23 -> a
    12:12:boolean verifyNoDuplicateGenericDefinitions(com.android.tools.r8.graph.GenericSignature$DexDefinitionSignature,com.android.tools.r8.graph.DexAnnotationSet):19:19 -> a
com.android.tools.r8.graph.GenericSignatureValidationDiagnostic -> com.android.tools.r8.graph.d2:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    java.lang.String message -> d
    1:4:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String):18:21 -> <init>
    1:1:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidClassSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):41:41 -> a
    2:12:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):56:66 -> a
    13:23:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():71:81 -> a
    13:23:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    24:24:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():79:79 -> a
    24:24:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    25:25:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():77:77 -> a
    25:25:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    26:26:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():75:75 -> a
    26:26:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    27:27:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():73:73 -> a
    27:27:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    28:32:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66:70 -> a
    33:33:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.isValid():59:59 -> a
    33:33:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():81 -> a
    33:33:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    34:35:java.lang.String com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.getDescription():81:82 -> a
    34:35:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidSignature(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):66 -> a
    1:1:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidFieldSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):51:51 -> b
    1:1:com.android.tools.r8.graph.GenericSignatureValidationDiagnostic invalidMethodSignature(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult):46:46 -> c
    1:1:java.lang.String getDiagnosticMessage():36:36 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():26:26 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():31:31 -> getPosition
com.android.tools.r8.graph.GenericSignatureVisitor -> com.android.tools.r8.graph.e2:
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature visitClassBound(com.android.tools.r8.graph.GenericSignature$FieldTypeSignature) -> a
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitEnclosing(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature) -> a
    java.util.List visitInterfaceBounds(java.util.List) -> a
    com.android.tools.r8.graph.GenericSignature$ReturnType visitReturnType(com.android.tools.r8.graph.GenericSignature$ReturnType) -> a
    com.android.tools.r8.graph.GenericSignature$ClassTypeSignature visitSuperClass(com.android.tools.r8.graph.GenericSignature$ClassTypeSignature) -> a
    com.android.tools.r8.graph.DexType visitType(com.android.tools.r8.graph.DexType) -> a
    java.util.List visitTypeArguments(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.util.List) -> a
    com.android.tools.r8.graph.GenericSignature$TypeSignature visitTypeSignature(com.android.tools.r8.graph.GenericSignature$TypeSignature) -> a
    java.util.List visitThrowsSignatures(java.util.List) -> b
    java.util.List visitFormalTypeParameters(java.util.List) -> c
    java.util.List visitMethodTypeSignatures(java.util.List) -> d
    java.util.List visitSuperInterfaces(java.util.List) -> e
com.android.tools.r8.graph.GraphLens -> com.android.tools.r8.graph.q2:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():55:55 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens$1):55:55 -> <init>
    2:2:void <init>():300:300 -> <init>
    com.android.tools.r8.optimize.MemberRebindingIdentityLens asMemberRebindingIdentityLens() -> a
    com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField) -> a
    com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens) -> a
    com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation) -> a
    com.android.tools.r8.graph.GraphLens$MethodLookupResult internalLookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupMethodContinuation) -> a
    com.android.tools.r8.graph.GraphLens$FieldLookupResult lambda$lookupFieldResult$0(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> a
    com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens) -> a
    java.lang.String lookupPackageName(java.lang.String) -> a
    1:1:com.android.tools.r8.graph.DexMember getOriginalMemberSignature(com.android.tools.r8.graph.DexMember):313:313 -> a
    2:2:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    3:8:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):323:328 -> a
    9:9:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    9:9:void lambda$rewriteFieldKeys$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexField,java.lang.Object):701 -> a
    10:10:void lambda$rewriteFieldKeys$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexField,java.lang.Object):701:701 -> a
    11:19:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):359:367 -> a
    11:19:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):352 -> a
    20:20:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):604:604 -> a
    20:20:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):368 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):352 -> a
    21:21:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupMethod(com.android.tools.r8.graph.DexMethod):604:604 -> a
    21:21:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):368 -> a
    21:21:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):352 -> a
    22:22:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):369:369 -> a
    22:22:com.android.tools.r8.graph.DexEncodedMethod mapDexEncodedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexDefinitionSupplier):352 -> a
    23:23:boolean isSimpleRenaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):385:385 -> a
    24:24:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    24:24:void lambda$rewriteTypeKeys$9(java.util.Map,java.util.function.BiFunction,com.android.tools.r8.graph.DexType,java.lang.Object):717 -> a
    25:27:void lambda$rewriteTypeKeys$9(java.util.Map,java.util.function.BiFunction,com.android.tools.r8.graph.DexType,java.lang.Object):718:720 -> a
    28:28:void lambda$rewriteTypeKeys$9(java.util.Map,java.util.function.BiFunction,com.android.tools.r8.graph.DexType,java.lang.Object):719:719 -> a
    29:29:com.android.tools.r8.graph.DexReference lookupReference(com.android.tools.r8.graph.DexReference):499:499 -> a
    30:35:boolean assertDefinitionsNotModified(java.lang.Iterable):586:591 -> a
    36:39:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):598:601 -> a
    40:43:boolean assertReferencesNotModified(java.lang.Iterable):606:609 -> a
    40:43:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    44:44:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    44:44:boolean assertReferencesNotModified(java.lang.Iterable):609 -> a
    44:44:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    45:48:boolean assertReferencesNotModified(java.lang.Iterable):609:612 -> a
    45:48:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    49:49:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    49:49:boolean assertReferencesNotModified(java.lang.Iterable):612 -> a
    49:49:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    50:52:boolean assertReferencesNotModified(java.lang.Iterable):612:614 -> a
    50:52:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    53:53:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    53:53:boolean assertReferencesNotModified(java.lang.Iterable):614 -> a
    53:53:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    54:55:boolean assertReferencesNotModified(java.lang.Iterable):614:615 -> a
    54:55:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    56:56:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    56:56:boolean assertReferencesNotModified(java.lang.Iterable):616 -> a
    56:56:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    57:57:boolean assertReferencesNotModified(java.lang.Iterable):616:616 -> a
    57:57:boolean assertPinnedNotModified(com.android.tools.r8.shaking.KeepInfoCollection,com.android.tools.r8.utils.InternalOptions):602 -> a
    58:60:java.util.Map rewriteCallSites(java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier):624:626 -> a
    61:65:void lambda$rewriteCallSites$2(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Map,com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.utils.collections.ProgramMethodSet):628:632 -> a
    66:66:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$rewriteCallSites$1(com.android.tools.r8.graph.DexCallSite):631:631 -> a
    67:67:com.android.tools.r8.graph.DexReference rewriteReference(com.android.tools.r8.graph.DexReference):640:640 -> a
    67:67:void lambda$rewriteReferenceKeys$6(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexReference,java.lang.Object):666 -> a
    68:72:void lambda$rewriteReferenceKeys$6(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexReference,java.lang.Object):667:671 -> a
    73:75:java.util.ArrayList com.android.tools.r8.utils.ListUtils.newArrayList(java.lang.Object,java.lang.Object):194:196 -> a
    73:75:void lambda$rewriteReferenceKeys$6(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexReference,java.lang.Object):675 -> a
    76:77:void lambda$rewriteReferenceKeys$6(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexReference,java.lang.Object):675:676 -> a
    78:79:com.android.tools.r8.graph.DexReference rewriteReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.GraphLens):645:646 -> a
    80:80:com.android.tools.r8.graph.DexReference lambda$rewriteReference$3(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):647:647 -> a
    81:82:java.util.Set rewriteReferences(java.util.Set):653:654 -> a
    83:83:com.android.tools.r8.graph.DexReference rewriteReference(com.android.tools.r8.graph.DexReference):640:640 -> a
    83:83:java.util.Set rewriteReferences(java.util.Set):655 -> a
    84:84:java.util.Set rewriteReferences(java.util.Set):655:655 -> a
    85:103:java.util.Map rewriteReferenceKeys(java.util.Map,java.util.function.BiFunction):662:680 -> a
    104:106:void lambda$rewriteReferenceKeys$7(java.util.function.BiFunction,java.util.Map,com.android.tools.r8.graph.DexReference,java.util.List):682:684 -> a
    107:109:com.android.tools.r8.com.google.common.collect.ImmutableMap rewriteFieldKeys(java.util.Map):700:702 -> a
    110:111:com.android.tools.r8.com.google.common.collect.ImmutableSet rewriteTypes(java.util.Set):706:707 -> a
    112:112:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    112:112:com.android.tools.r8.com.google.common.collect.ImmutableSet rewriteTypes(java.util.Set):708 -> a
    113:115:com.android.tools.r8.com.google.common.collect.ImmutableSet rewriteTypes(java.util.Set):708:710 -> a
    116:132:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):727:743 -> a
    133:133:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    133:133:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):743 -> a
    134:134:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    134:134:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    134:134:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):743 -> a
    135:141:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):746:752 -> a
    142:142:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1675,"2":1676,"3":1677}}
    1675:1675:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):752:752 -> a
    1676:1676:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):752:752 -> a
    1677:1677:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):752:752 -> a
    896:904:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):754:762 -> a
    905:905:com.android.tools.r8.graph.DexMethod getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    905:905:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):762 -> a
    906:906:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):763:763 -> a
    907:907:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1688,"2":1689,"3":1690}}
    1688:1688:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):763:763 -> a
    1689:1689:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):763:763 -> a
    1690:1690:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):763:763 -> a
    1672:1674:boolean verifyMappingToOriginalProgram(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):765:767 -> a
    com.android.tools.r8.optimize.MemberRebindingLens asMemberRebindingLens() -> b
    java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType) -> b
    com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens) -> b
    com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens) -> b
    1:1:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> b
    3:3:com.android.tools.r8.graph.DexReference lambda$rewriteReference$4(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexField):648:648 -> b
    4:5:java.util.Map rewriteTypeKeys(java.util.Map,java.util.function.BiFunction):714:715 -> b
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens asNonIdentityLens() -> c
    com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens) -> c
    1:1:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType):398:398 -> c
    2:2:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod):405:405 -> c
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> c
    3:3:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod):406 -> c
    4:4:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod):406:406 -> c
    5:5:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField):468:468 -> c
    6:6:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):475:475 -> c
    7:7:com.android.tools.r8.graph.DexReference lambda$rewriteReference$5(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexMethod):649:649 -> c
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens) -> d
    1:1:com.android.tools.r8.graph.GraphLens$FieldLookupResult lookupFieldResult(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):487:487 -> d
    2:2:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):515:515 -> d
    3:3:com.android.tools.r8.graph.GraphLens getIdentityLens():519:519 -> d
    boolean hasCodeRewritings() -> e
    boolean hasCustomCodeRewritings() -> f
    boolean isContextFreeForMethods() -> g
    boolean isEnumUnboxerLens() -> h
    boolean isIdentityLens() -> i
    boolean isNonIdentityLens() -> j
com.android.tools.r8.graph.GraphLens$Builder -> com.android.tools.r8.internal.hm:
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap methodMap -> b
    java.util.Map typeMap -> c
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap fieldMap -> a
    1:1:void <init>():270:270 -> <init>
    2:5:void <init>():265:268 -> <init>
    1:1:void move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):283:283 -> a
com.android.tools.r8.graph.GraphLens$ClearCodeRewritingGraphLens -> com.android.tools.r8.graph.f2:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():1044:1044 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):1047:1047 -> <init>
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):1052:1052 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):1062:1062 -> a
    3:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):1068:1068 -> a
    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    4:4:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):1068 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation):1098:1098 -> a
    6:8:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalLookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupMethodContinuation):1113:1115 -> a
    9:9:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):1122:1122 -> a
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):1057:1057 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):1075:1075 -> b
    3:3:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):1103:1103 -> b
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):1087:1087 -> d
    com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> e
    1:1:boolean isContextFreeForMethods():1137:1137 -> g
com.android.tools.r8.graph.GraphLens$FieldLookupResult -> com.android.tools.r8.graph.h2:
    com.android.tools.r8.graph.DexType writeCastType -> d
    com.android.tools.r8.graph.DexType readCastType -> c
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens$1):120:120 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):130:132 -> <init>
    1:1:com.android.tools.r8.graph.DexType getRewrittenReadCastType(java.util.function.Function):148:148 -> b
    1:1:com.android.tools.r8.graph.DexType getRewrittenWriteCastType(java.util.function.Function):160:160 -> c
    1:1:com.android.tools.r8.graph.GraphLens$FieldLookupResult$Builder builder(com.android.tools.r8.graph.GraphLens):136:136 -> d
    1:1:com.android.tools.r8.graph.DexType getReadCastType():144:144 -> e
    1:1:com.android.tools.r8.graph.DexType getWriteCastType():156:156 -> f
    1:1:boolean hasReadCastType():140:140 -> g
    1:1:boolean hasWriteCastType():152:152 -> h
com.android.tools.r8.graph.GraphLens$FieldLookupResult$Builder -> com.android.tools.r8.graph.g2:
    com.android.tools.r8.graph.DexType writeCastType -> d
    com.android.tools.r8.graph.DexType readCastType -> c
    1:1:void <init>(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$1):163:163 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.GraphLens):169:169 -> <init>
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReboundReference(com.android.tools.r8.graph.DexMember):108:108 -> a
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder setReboundReference(com.android.tools.r8.graph.DexMember):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:com.android.tools.r8.graph.GraphLens$FieldLookupResult$Builder setReadCastType(com.android.tools.r8.graph.DexType):174:174 -> a
    3:3:com.android.tools.r8.graph.GraphLens$FieldLookupResult build():190:190 -> a
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> b
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder setReference(com.android.tools.r8.graph.DexMember):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:com.android.tools.r8.graph.GraphLens$FieldLookupResult$Builder setWriteCastType(com.android.tools.r8.graph.DexType):179:179 -> b
com.android.tools.r8.graph.GraphLens$IdentityGraphLens -> com.android.tools.r8.graph.i2:
    com.android.tools.r8.graph.GraphLens$IdentityGraphLens INSTANCE -> b
    boolean $assertionsDisabled -> c
    1:3:void <clinit>():936:938 -> <clinit>
    1:1:void <init>():940:940 -> <init>
    com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField) -> a
    com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens) -> a
    java.lang.String lookupPackageName(java.lang.String) -> a
    1:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):1000:1001 -> a
    3:3:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> a
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):1001 -> a
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):1001:1001 -> a
    5:5:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation):1016:1016 -> a
    6:6:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> a
    6:6:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation):1016 -> a
    7:7:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation):1016:1016 -> a
    8:8:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation):1015:1015 -> a
    9:9:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalLookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupMethodContinuation):1028:1028 -> a
    com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens) -> b
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):963:963 -> b
    2:2:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):993:993 -> b
    com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens) -> c
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):1007:1007 -> d
    boolean hasCodeRewritings() -> e
    boolean isContextFreeForMethods() -> g
    boolean isIdentityLens() -> i
    boolean isNonIdentityLens() -> j
    1:1:com.android.tools.r8.graph.GraphLens$IdentityGraphLens access$400():936:936 -> k
com.android.tools.r8.graph.GraphLens$LookupFieldContinuation -> com.android.tools.r8.graph.j2:
    com.android.tools.r8.graph.GraphLens$FieldLookupResult lookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> a
com.android.tools.r8.graph.GraphLens$LookupMethodContinuation -> com.android.tools.r8.graph.k2:
    com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult) -> a
com.android.tools.r8.graph.GraphLens$MemberLookupResult -> com.android.tools.r8.graph.m2:
    com.android.tools.r8.graph.DexMember reference -> a
    com.android.tools.r8.graph.DexMember reboundReference -> b
    1:1:void <init>(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.GraphLens$1):57:57 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember):62:64 -> <init>
    1:1:com.android.tools.r8.graph.DexMember getReboundReference():84:84 -> a
    2:2:com.android.tools.r8.graph.DexMember getRewrittenReboundReference(com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap):89:89 -> a
    3:4:com.android.tools.r8.graph.DexMember getRewrittenReboundReference(java.util.function.Function):93:94 -> a
    1:1:com.android.tools.r8.graph.DexMember getReference():68:68 -> b
    2:2:com.android.tools.r8.graph.DexMember getRewrittenReference(com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap):72:72 -> b
    1:1:boolean hasReboundReference():80:80 -> c
com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder -> com.android.tools.r8.graph.l2:
    com.android.tools.r8.graph.DexMember reference -> a
    com.android.tools.r8.graph.DexMember reboundReference -> b
    1:1:void <init>():97:97 -> <init>
com.android.tools.r8.graph.GraphLens$MethodLookupResult -> com.android.tools.r8.graph.o2:
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription prototypeChanges -> d
    com.android.tools.r8.ir.code.Invoke$Type type -> c
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):212:214 -> <init>
    1:1:com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder builder(com.android.tools.r8.graph.GraphLens):218:218 -> d
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription getPrototypeChanges():226:226 -> e
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():222:222 -> f
com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder -> com.android.tools.r8.graph.n2:
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription prototypeChanges -> c
    com.android.tools.r8.ir.code.Invoke$Type type -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():229:229 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$1):229:229 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.GraphLens):235:235 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.GraphLens):232:232 -> <init>
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReboundReference(com.android.tools.r8.graph.DexMember):108:108 -> a
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder setReboundReference(com.android.tools.r8.graph.DexMember):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder setPrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):240:240 -> a
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult$Builder setType(com.android.tools.r8.ir.code.Invoke$Type):245:245 -> a
    4:6:com.android.tools.r8.graph.GraphLens$MethodLookupResult build():250:252 -> a
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> b
    1:1:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder setReference(com.android.tools.r8.graph.DexMember):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens -> com.android.tools.r8.graph.p2:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    java.util.Map arrayTypeCache -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.GraphLens previousLens -> c
    1:1:void <clinit>():774:774 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):782:782 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):785:785 -> <init>
    3:11:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):779:787 -> <init>
    com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod) -> a
    com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$lookupMethod$1(com.android.tools.r8.graph.GraphLens$MethodLookupResult) -> a
    1:1:com.android.tools.r8.graph.GraphLens getPrevious():795:795 -> a
    1:1:java.lang.String lookupPackageName(java.lang.String):844 -> a
    2:2:java.lang.String lookupPackageName(java.lang.String):844:844 -> a
    3:3:com.android.tools.r8.graph.GraphLens getPrevious():795:795 -> a
    3:3:void withAlternativeParentLens(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.utils.Action):820 -> a
    4:6:void withAlternativeParentLens(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.utils.Action):821:823 -> a
    7:9:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens find(java.util.function.Predicate):802:804 -> a
    10:10:com.android.tools.r8.graph.GraphLens getPrevious():795:795 -> a
    10:10:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens find(java.util.function.Predicate):807 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:12:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):829:830 -> a
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    13:13:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):830 -> a
    14:16:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):830:832 -> a
    17:20:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):831:834 -> a
    21:21:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    21:21:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):834 -> a
    22:22:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):834:834 -> a
    23:23:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> a
    23:23:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):834 -> a
    24:28:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):835:839 -> a
    29:31:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalLookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupFieldContinuation):881:883 -> a
    32:32:com.android.tools.r8.graph.GraphLens$FieldLookupResult lambda$internalLookupField$2(com.android.tools.r8.graph.GraphLens$LookupFieldContinuation,com.android.tools.r8.graph.GraphLens$FieldLookupResult):886:886 -> a
    33:39:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalLookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupMethodContinuation):897:903 -> a
    40:40:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalLookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$LookupMethodContinuation):901:901 -> a
    41:41:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$internalLookupMethod$3(com.android.tools.r8.graph.GraphLens$LookupMethodContinuation,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):906:906 -> a
    com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> b
    1:1:com.android.tools.r8.graph.GraphLens getPrevious():795:795 -> b
    1:1:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens findPrevious(java.util.function.Predicate):815 -> b
    2:2:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens findPrevious(java.util.function.Predicate):816:816 -> b
    3:3:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> b
    4:4:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":880,"2":881,"3":882}}
    880:880:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> b
    881:881:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> b
    882:882:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> b
    5:5:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":883,"2":884,"3":885,"4":886}}
    883:883:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> b
    884:884:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> b
    885:885:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> b
    886:886:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> b
    875:875:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):870:870 -> b
    876:876:com.android.tools.r8.graph.GraphLens getPrevious():795:795 -> b
    876:876:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):874 -> b
    877:877:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):874:874 -> b
    878:878:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):392:392 -> b
    878:878:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):874 -> b
    879:879:com.android.tools.r8.graph.DexType lookupClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):874:874 -> b
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens asNonIdentityLens() -> c
    1:7:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):852:858 -> c
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> c
    8:8:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):859 -> c
    9:10:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):860:861 -> c
    11:11:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):392:392 -> c
    11:11:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GraphLens):865 -> c
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> e
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> e
    1:1:boolean lambda$lookupMethod$0(com.android.tools.r8.graph.DexType):832 -> e
    boolean isIdentityLens() -> i
    boolean isNonIdentityLens() -> j
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():791:791 -> k
    1:1:com.android.tools.r8.graph.GraphLens getPrevious():795:795 -> l
com.android.tools.r8.graph.ImmediateProgramSubtypingInfo -> com.android.tools.r8.internal.Vn:
    java.util.Map immediateSubtypes -> b
    com.android.tools.r8.graph.AppView appView -> a
    1:3:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):28:30 -> <init>
    boolean lambda$forEachImmediateSuperClass$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass) -> a
    1:11:com.android.tools.r8.graph.ImmediateProgramSubtypingInfo create(com.android.tools.r8.graph.AppView):35:45 -> a
    12:14:void lambda$create$0(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):39:41 -> a
    15:15:void forEachImmediateSuperClass(com.android.tools.r8.graph.DexClass,java.util.function.Consumer):49:49 -> a
    16:16:void lambda$forEachImmediateSuperClass$2(java.util.function.Consumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):52:52 -> a
    17:17:void forEachImmediateSuperClassMatching(com.android.tools.r8.graph.DexClass,java.util.function.BiPredicate,java.util.function.BiConsumer):64:64 -> a
    18:20:void lambda$forEachImmediateSuperClassMatching$4(java.util.function.BiPredicate,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType):66:68 -> a
    21:21:void forEachImmediateSuperClassMatching(com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.function.Consumer):75:75 -> a
    22:22:void forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> a
    23:23:void forEachImmediateProgramSuperClassMatching(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Consumer):93:93 -> a
    24:26:void lambda$forEachImmediateProgramSuperClassMatching$6(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexType):95:97 -> a
    27:27:java.util.List getSubclasses(com.android.tools.r8.graph.DexProgramClass):116:116 -> a
    1:3:void lambda$forEachImmediateSuperClassMatching$5(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexType):77:79 -> b
    4:5:void forEachImmediateSubClassMatching(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Consumer):106:107 -> b
    1:2:void lambda$forEachImmediateSubClassMatching$7(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):109:110 -> c
com.android.tools.r8.graph.IndexedDexItem -> com.android.tools.r8.graph.r2:
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():9:9 -> <init>
    int getOffset(com.android.tools.r8.graph.ObjectToOffsetMapping) -> a
    1:1:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):14:14 -> a
com.android.tools.r8.graph.InitClassLens -> com.android.tools.r8.internal.rp:
    1:1:void <init>():10:10 -> <init>
    com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.InitClassLens rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.graph.InitClassLens$Builder builder():13:13 -> a
    1:1:com.android.tools.r8.graph.ThrowingInitClassLens getThrowingInstance():17:17 -> b
com.android.tools.r8.graph.InitClassLens$Builder -> com.android.tools.r8.internal.qp:
    java.util.Map mapping -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():28:28 -> <clinit>
    1:3:void <init>():28:30 -> <init>
    1:2:void map(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):33:34 -> a
    3:3:com.android.tools.r8.graph.FinalInitClassLens build():38:38 -> a
com.android.tools.r8.graph.InnerClassAttribute -> com.android.tools.r8.internal.Mp:
    com.android.tools.r8.graph.DexString innerName -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexType outer -> c
    com.android.tools.r8.graph.DexType inner -> b
    int access -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:6:void <init>(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):36:41 -> <init>
    1:1:com.android.tools.r8.graph.InnerClassAttribute createUnknownNamedInnerClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):33:33 -> a
    2:6:void forEachType(java.util.function.Consumer):49:53 -> a
    7:7:int getAccess():66:66 -> a
    8:12:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):82:86 -> a
    13:13:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.InternalOptions):83:83 -> a
    14:14:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):91:91 -> a
    15:15:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    15:15:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):91 -> a
    16:16:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":209,"2":210,"3":211}}
    209:209:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    209:209:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):91 -> a
    210:210:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    210:210:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):91 -> a
    211:211:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    211:211:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    211:211:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):91 -> a
    108:109:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):92:93 -> a
    110:110:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):241:241 -> a
    110:110:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):93 -> a
    111:111:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":212,"2":213,"3":214}}
    212:212:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    212:212:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):93 -> a
    213:213:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242:242 -> a
    213:213:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):93 -> a
    214:214:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    214:214:void com.android.tools.r8.graph.DexType.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):242 -> a
    214:214:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):93 -> a
    206:207:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):95:96 -> a
    208:208:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    208:208:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):96 -> a
    1:1:com.android.tools.r8.graph.DexType getInner():70:70 -> b
    1:1:com.android.tools.r8.graph.DexString getInnerName():78:78 -> c
    1:1:com.android.tools.r8.graph.DexType getOuter():74:74 -> d
    1:1:boolean isAnonymous():62:62 -> e
    1:1:boolean isNamed():58:58 -> f
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":253,"2":254,"3":255}}
    253:253:java.lang.String toString():124:124 -> toString
    254:254:java.lang.String toString():124:124 -> toString
    255:255:java.lang.String toString():124:124 -> toString
    125:128:java.lang.String toString():124:127 -> toString
    129:129:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":258,"2":259,"3":260}}
    258:258:java.lang.String toString():127:127 -> toString
    259:259:java.lang.String toString():127:127 -> toString
    260:260:java.lang.String toString():127:127 -> toString
com.android.tools.r8.graph.InstantiatedSubTypeInfo -> com.android.tools.r8.internal.lq:
    void forEachInstantiatedSubType(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer) -> a
com.android.tools.r8.graph.InvalidCode -> com.android.tools.r8.graph.s2:
    com.android.tools.r8.graph.InvalidCode INSTANCE -> d
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():23:23 -> <init>
    1:1:com.android.tools.r8.graph.Code getInstance():16:16 -> B0
    1:1:boolean isInvalidCode(com.android.tools.r8.graph.Code):20:20 -> a
    2:2:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):27:27 -> a
    3:3:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):32:32 -> a
    4:4:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):37:37 -> a
    5:9:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):47:51 -> a
    boolean computeEquals(java.lang.Object) -> h
    1:1:int computeHashCode():66:66 -> n0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():56:56 -> r0
    1:1:java.lang.String toString():42:42 -> toString
com.android.tools.r8.graph.JarApplicationReader -> com.android.tools.r8.internal.sv:
    com.android.tools.r8.graph.ApplicationReaderMap applicationReaderMap -> e
    java.util.concurrent.ConcurrentHashMap stringCache -> d
    com.android.tools.r8.utils.InternalOptions options -> a
    java.util.concurrent.ConcurrentHashMap asmTypeCache -> c
    java.util.concurrent.ConcurrentHashMap asmObjectTypeCache -> b
    boolean hasReadRecordReferenceFromProgramClass -> f
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions):31:31 -> <init>
    2:11:void <init>(com.android.tools.r8.utils.InternalOptions):24:33 -> <init>
    1:1:com.android.tools.r8.org.objectweb.asm.Type getAsmObjectType(java.lang.String):37:37 -> a
    2:2:com.android.tools.r8.graph.DexItemFactory getFactory():45:45 -> a
    3:3:com.android.tools.r8.graph.DexMethod getMethod(com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String):102:102 -> a
    4:4:void checkFieldForRecord(com.android.tools.r8.graph.DexField):164:164 -> a
    5:5:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    5:5:void checkFieldForRecord(com.android.tools.r8.graph.DexField):164 -> a
    6:6:void checkFieldForRecord(com.android.tools.r8.graph.DexField):164:164 -> a
    7:7:void com.android.tools.r8.graph.JarApplicationReader.setHasReadRecordReferenceFromProgramClass():156:156 -> a
    7:7:void checkFieldForRecord(com.android.tools.r8.graph.DexField):165 -> a
    8:8:void checkMethodForRecord(com.android.tools.r8.graph.DexMethod):170:170 -> a
    9:9:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    9:9:void checkMethodForRecord(com.android.tools.r8.graph.DexMethod):171 -> a
    10:10:void checkMethodForRecord(com.android.tools.r8.graph.DexMethod):171:171 -> a
    11:11:void com.android.tools.r8.graph.JarApplicationReader.setHasReadRecordReferenceFromProgramClass():156:156 -> a
    11:11:void checkMethodForRecord(com.android.tools.r8.graph.DexMethod):172 -> a
    1:1:com.android.tools.r8.org.objectweb.asm.Type getAsmType(java.lang.String):41:41 -> b
    2:2:boolean hasReadRecordReferenceFromProgramClass():160:160 -> b
    1:1:com.android.tools.r8.graph.DexProto getProto(java.lang.String):119:119 -> c
    2:2:boolean com.android.tools.r8.graph.JarApplicationReader.isValidDescriptor(java.lang.String):144:144 -> c
    2:2:com.android.tools.r8.graph.DexProto getProto(java.lang.String):119 -> c
    3:6:com.android.tools.r8.graph.DexProto getProto(java.lang.String):119:122 -> c
    7:11:java.lang.String com.android.tools.r8.graph.JarApplicationReader.getShortyDescriptor(java.lang.String):136:140 -> c
    7:11:com.android.tools.r8.graph.DexProto getProto(java.lang.String):123 -> c
    12:14:com.android.tools.r8.graph.DexProto getProto(java.lang.String):123:125 -> c
    15:19:java.lang.String com.android.tools.r8.graph.JarApplicationReader.getShortyDescriptor(java.lang.String):136:140 -> c
    15:19:com.android.tools.r8.graph.DexProto getProto(java.lang.String):125 -> c
    20:24:com.android.tools.r8.graph.DexProto getProto(java.lang.String):125:129 -> c
    25:32:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.JarApplicationReader.getTypeListFromDescriptors(java.lang.String[]):79:86 -> c
    25:32:com.android.tools.r8.graph.DexProto getProto(java.lang.String):130 -> c
    33:33:com.android.tools.r8.graph.DexProto getProto(java.lang.String):131:131 -> c
    34:34:com.android.tools.r8.graph.DexProto getProto(java.lang.String):128:128 -> c
    35:35:void setHasReadRecordReferenceFromProgramClass():156:156 -> c
    1:1:com.android.tools.r8.graph.DexString getString(java.lang.String):49:49 -> d
    1:1:com.android.tools.r8.graph.DexType getTypeFromDescriptor(java.lang.String):62:62 -> e
    2:2:boolean com.android.tools.r8.graph.JarApplicationReader.isValidDescriptor(java.lang.String):144:144 -> e
    2:2:com.android.tools.r8.graph.DexType getTypeFromDescriptor(java.lang.String):62 -> e
    3:5:com.android.tools.r8.graph.DexType getTypeFromDescriptor(java.lang.String):62:64 -> e
    1:1:com.android.tools.r8.graph.DexType getTypeFromName(java.lang.String):57:57 -> f
    2:2:boolean com.android.tools.r8.graph.JarApplicationReader.isValidInternalName(java.lang.String):148:148 -> f
    2:2:com.android.tools.r8.graph.DexType getTypeFromName(java.lang.String):57 -> f
    3:4:com.android.tools.r8.graph.DexType getTypeFromName(java.lang.String):57:58 -> f
    5:5:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.JarApplicationReader.getType(com.android.tools.r8.org.objectweb.asm.Type):53:53 -> f
    5:5:com.android.tools.r8.graph.DexType getTypeFromName(java.lang.String):58 -> f
com.android.tools.r8.graph.JarClassFileReader -> com.android.tools.r8.graph.x2:
    java.util.function.Consumer classConsumer -> b
    com.android.tools.r8.graph.JarApplicationReader application -> a
    boolean $assertionsDisabled -> e
    byte[] CLASSFILE_HEADER -> d
    com.android.tools.r8.graph.ClassKind classKind -> c
    1:3:void <clinit>():73:75 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.JarApplicationReader,java.util.function.Consumer,com.android.tools.r8.graph.ClassKind):85:88 -> <init>
    int access$000(int) -> a
    1:1:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor access$100(java.lang.String,boolean,java.util.List,com.android.tools.r8.graph.JarApplicationReader):73:73 -> a
    2:2:com.android.tools.r8.graph.DexEncodedAnnotation access$1700(java.lang.String,java.util.List,java.util.List,com.android.tools.r8.graph.JarApplicationReader):73:73 -> a
    3:8:void internalRead(com.android.tools.r8.origin.Origin,byte[]):100:105 -> a
    3:8:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    9:9:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    9:9:void internalRead(com.android.tools.r8.origin.Origin,byte[]):105 -> a
    9:9:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    10:10:void internalRead(com.android.tools.r8.origin.Origin,byte[]):105 -> a
    10:10:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    11:15:void internalRead(com.android.tools.r8.origin.Origin,byte[]):105:109 -> a
    11:15:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    16:16:void com.android.tools.r8.org.objectweb.asm.ClassReader.<init>(byte[]):166:166 -> a
    16:16:void internalRead(com.android.tools.r8.origin.Origin,byte[]):109 -> a
    16:16:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    17:26:void internalRead(com.android.tools.r8.origin.Origin,byte[]):115:124 -> a
    17:26:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    27:39:void internalRead(com.android.tools.r8.origin.Origin,byte[]):122:134 -> a
    27:39:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    40:44:void internalRead(com.android.tools.r8.origin.Origin,byte[]):132:136 -> a
    40:44:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    45:45:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory() -> a
    45:45:void internalRead(com.android.tools.r8.origin.Origin,byte[]):136 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    45:45:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    46:46:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    46:46:void internalRead(com.android.tools.r8.origin.Origin,byte[]):136 -> a
    46:46:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    47:47:void internalRead(com.android.tools.r8.origin.Origin,byte[]):136:136 -> a
    47:47:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    48:48:void internalRead(com.android.tools.r8.origin.Origin,byte[]):101:101 -> a
    48:48:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    49:49:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    49:49:void internalRead(com.android.tools.r8.origin.Origin,byte[]):101 -> a
    49:49:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    50:50:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    50:50:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    50:50:void internalRead(com.android.tools.r8.origin.Origin,byte[]):101 -> a
    50:50:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    51:51:void internalRead(com.android.tools.r8.origin.Origin,byte[]):101:101 -> a
    51:51:void lambda$read$0(com.android.tools.r8.origin.Origin,byte[]):96 -> a
    52:54:com.android.tools.r8.graph.MethodAccessFlags createMethodAccessFlags(java.lang.String,int):155:157 -> a
    55:58:void lambda$createAnnotationVisitor$1(java.util.List,int,java.lang.String,com.android.tools.r8.graph.JarApplicationReader,java.util.List,java.util.List):169:169 -> a
    59:63:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):608:612 -> a
    59:63:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    64:67:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexAnnotationSet.findDuplicateEntryType(java.util.List):78:81 -> a
    64:67:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):612 -> a
    64:67:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    68:68:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):614:614 -> a
    68:68:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    69:69:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":82,"2":83,"3":84}}
    82:82:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):614:614 -> a
    82:82:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    83:83:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):614:614 -> a
    83:83:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    84:84:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):614:614 -> a
    84:84:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    70:70:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":85,"2":86,"3":87,"4":88}}
    85:85:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615:615 -> a
    85:85:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    86:86:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615:615 -> a
    86:86:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    87:87:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615:615 -> a
    87:87:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    88:88:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615:615 -> a
    88:88:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    71:71:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    71:71:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615 -> a
    71:71:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    72:72:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    72:72:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    72:72:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615 -> a
    72:72:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    73:76:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):615:618 -> a
    73:76:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    77:77:com.android.tools.r8.graph.DexAnnotationSet createAnnotationSet(java.util.List,com.android.tools.r8.utils.InternalOptions):609:609 -> a
    77:77:com.android.tools.r8.graph.DexAnnotationSet access$200(java.util.List,com.android.tools.r8.utils.InternalOptions):73 -> a
    1:1:void read(com.android.tools.r8.origin.Origin,byte[]):96:96 -> b
    2:2:void com.android.tools.r8.utils.ExceptionUtils.withOriginAttachmentHandler(com.android.tools.r8.origin.Origin,java.lang.Runnable):225:225 -> b
    2:2:void read(com.android.tools.r8.origin.Origin,byte[]):96 -> b
    3:3:com.android.tools.r8.graph.FieldAccessFlags createFieldAccessFlags(int):150:150 -> b
    4:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor createAnnotationVisitor(java.lang.String,boolean,java.util.List,com.android.tools.r8.graph.JarApplicationReader):163:163 -> b
    5:5:boolean retainCompileTimeAnnotation(java.lang.String,com.android.tools.r8.graph.JarApplicationReader):179:179 -> b
    5:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor createAnnotationVisitor(java.lang.String,boolean,java.util.List,com.android.tools.r8.graph.JarApplicationReader):164 -> b
    6:6:boolean retainCompileTimeAnnotation(java.lang.String,com.android.tools.r8.graph.JarApplicationReader):178:178 -> b
    6:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor createAnnotationVisitor(java.lang.String,boolean,java.util.List,com.android.tools.r8.graph.JarApplicationReader):164 -> b
    7:7:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor createAnnotationVisitor(java.lang.String,boolean,java.util.List,com.android.tools.r8.graph.JarApplicationReader):166:166 -> b
    8:10:com.android.tools.r8.graph.DexEncodedAnnotation createEncodedAnnotation(java.lang.String,java.util.List,java.util.List,com.android.tools.r8.graph.JarApplicationReader):184:184 -> b
    12:16:com.android.tools.r8.graph.DexEncodedAnnotation createEncodedAnnotation(java.lang.String,java.util.List,java.util.List,com.android.tools.r8.graph.JarApplicationReader):186:190 -> b
com.android.tools.r8.graph.JarClassFileReader$CreateAnnotationVisitor -> com.android.tools.r8.graph.t2:
    java.util.List values -> e
    java.util.List names -> d
    com.android.tools.r8.graph.JarApplicationReader application -> b
    boolean $assertionsDisabled -> f
    java.util.function.BiConsumer onVisitEnd -> c
    1:1:void <clinit>():971:971 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.JarApplicationReader,java.util.function.BiConsumer):980:980 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.JarApplicationReader,java.util.function.BiConsumer):975:982 -> <init>
    1:2:void visitEnum(java.lang.String,java.lang.String,java.lang.String):992:993 -> a
    3:3:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String):94:94 -> a
    3:3:void visitEnum(java.lang.String,java.lang.String,java.lang.String):993 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String):94:94 -> a
    4:4:void visitEnum(java.lang.String,java.lang.String,java.lang.String):993 -> a
    5:5:void visitEnum(java.lang.String,java.lang.String,java.lang.String):993:993 -> a
    6:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):998:998 -> a
    7:9:void lambda$visitAnnotation$0(java.lang.String,java.lang.String,java.util.List,java.util.List):999:999 -> a
    10:10:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):1005:1005 -> a
    11:12:void lambda$visitArray$1(java.lang.String,java.util.List,java.util.List):1006:1007 -> a
    13:13:void visitEnd():1013:1013 -> a
    14:19:void addElement(java.lang.String,com.android.tools.r8.graph.DexValue):1018:1023 -> a
    20:41:com.android.tools.r8.graph.DexValue getDexValue(java.lang.Object):1089:1110 -> a
    20:41:void visit(java.lang.String,java.lang.Object):987 -> a
    42:97:com.android.tools.r8.graph.DexValue$DexValueArray getDexValueArray(java.lang.Object):1027:1082 -> a
    42:97:com.android.tools.r8.graph.DexValue getDexValue(java.lang.Object):1112 -> a
    42:97:void visit(java.lang.String,java.lang.Object):987 -> a
    98:98:void visit(java.lang.String,java.lang.Object):987:987 -> a
    99:99:com.android.tools.r8.graph.DexValue$DexValueArray getDexValueArray(java.lang.Object):1084:1084 -> a
    99:99:com.android.tools.r8.graph.DexValue getDexValue(java.lang.Object):1112 -> a
    99:99:void visit(java.lang.String,java.lang.Object):987 -> a
com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor -> com.android.tools.r8.graph.u2:
    com.android.tools.r8.graph.ClassKind classKind -> d
    com.android.tools.r8.graph.DexType superType -> l
    com.android.tools.r8.graph.DexType type -> j
    java.util.List nestMembers -> p
    java.util.Set fieldSignatures -> y
    boolean deprecated -> i
    com.android.tools.r8.graph.EnclosingMethodAttribute enclosingMember -> r
    java.util.List defaultAnnotations -> v
    java.util.List directMethods -> z
    java.util.List instanceFields -> x
    com.android.tools.r8.cf.CfVersion version -> h
    com.android.tools.r8.graph.GenericSignature$ClassSignature classSignature -> t
    java.util.List virtualMethods -> A
    com.android.tools.r8.origin.Origin origin -> c
    com.android.tools.r8.graph.NestHostClassAttribute nestHost -> o
    boolean $assertionsDisabled -> E
    java.util.function.Consumer classConsumer -> f
    java.util.Set recordComponents -> q
    com.android.tools.r8.graph.DexTypeList interfaces -> m
    com.android.tools.r8.synthesis.SyntheticMarker syntheticMarker -> D
    com.android.tools.r8.graph.JarClassFileReader$ReparseContext context -> g
    com.android.tools.r8.graph.DexString sourceFile -> n
    boolean hasReachabilitySensitiveMethod -> C
    java.util.List annotations -> u
    com.android.tools.r8.graph.ClassAccessFlags accessFlags -> k
    java.util.List innerClasses -> s
    java.util.List staticFields -> w
    java.util.Set methodSignatures -> B
    com.android.tools.r8.graph.JarApplicationReader application -> e
    1:1:void <clinit>():193:193 -> <clinit>
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassKind,byte[],com.android.tools.r8.graph.JarApplicationReader,java.util.function.Consumer):232:232 -> <init>
    2:40:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.ClassKind,byte[],com.android.tools.r8.graph.JarApplicationReader,java.util.function.Consumer):199:237 -> <init>
    long lambda$getChecksumSupplier$0(long,com.android.tools.r8.graph.DexProgramClass) -> a
    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean) -> a
    1:1:com.android.tools.r8.graph.JarClassFileReader$ReparseContext access$1000(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> a
    2:2:boolean access$1376(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,int):193:193 -> a
    3:6:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):242:245 -> a
    7:9:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):252:254 -> a
    10:10:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":794,"2":795,"3":796,"4":797,"5":798}}
    794:794:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    795:795:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    796:796:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    797:797:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    798:798:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    264:264:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    265:265:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":799,"2":800,"3":801,"4":802,"5":803}}
    799:799:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    800:800:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    801:801:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    802:802:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    803:803:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    519:519:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    520:520:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":804,"2":805,"3":806,"4":807,"5":808}}
    804:804:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    805:805:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    806:806:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    807:807:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    808:808:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    774:777:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):254:254 -> a
    787:793:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):264:264 -> a
    809:814:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):275:280 -> a
    815:816:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):279:280 -> a
    817:819:void visitNestHost(java.lang.String):285:287 -> a
    820:820:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310:310 -> a
    821:821:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":826,"2":827,"3":828}}
    826:826:java.lang.String illegalClassFilePrefix(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String):298:298 -> a
    826:826:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310 -> a
    827:827:java.lang.String illegalClassFilePrefix(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String):298:298 -> a
    827:827:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310 -> a
    828:828:java.lang.String illegalClassFilePrefix(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String):298:298 -> a
    828:828:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310 -> a
    822:822:java.lang.String illegalClassFilePrefix(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String):299:299 -> a
    822:822:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310 -> a
    823:823:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):310:310 -> a
    824:824:java.lang.String illegalClassFilePostfix(com.android.tools.r8.cf.CfVersion):305:305 -> a
    824:824:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):312 -> a
    825:825:java.lang.String illegalClassFileMessage(com.android.tools.r8.graph.ClassAccessFlags,java.lang.String,com.android.tools.r8.cf.CfVersion,java.lang.String):312:312 -> a
    829:852:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):348:371 -> a
    853:853:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    853:853:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    853:853:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):371 -> a
    854:858:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):371:375 -> a
    859:859:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2012,"2":2013,"3":2014,"4":2015,"5":2016}}
    2012:2012:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    2013:2013:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    2014:2014:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    2015:2015:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    2016:2016:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):375:375 -> a
    1235:1235:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):376:376 -> a
    1236:1236:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1236:1236:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1236:1236:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):376 -> a
    1237:1247:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):376:386 -> a
    1248:1255:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.JarApplicationReader.getTypeListFromNames(java.lang.String[]):68:75 -> a
    1248:1255:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):386 -> a
    1256:1258:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):386:388 -> a
    1259:1259:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    1259:1259:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):390 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1260:1260:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    1260:1260:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):390 -> a
    1261:1261:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):390:390 -> a
    1262:1262:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):389:389 -> a
    1263:1263:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:361 -> a
    1264:1264:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2017,"2":2018,"3":2019}}
    2017:2017:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:361 -> a
    2018:2018:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:361 -> a
    2019:2019:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:361 -> a
    1625:1630:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):361:366 -> a
    1631:1631:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):362:362 -> a
    1632:1632:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1632:1632:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1632:1632:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):362 -> a
    1633:1633:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):362:362 -> a
    1634:1634:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    1635:1635:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2020,"2":2021,"3":2022}}
    2020:2020:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    2021:2021:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    2022:2022:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    1985:1985:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    1986:1986:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1986:1986:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1986:1986:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350 -> a
    1987:1987:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):350:350 -> a
    2023:2023:void visitSource(java.lang.String,java.lang.String):397:397 -> a
    2024:2027:java.util.List getAnnotations():595:598 -> a
    2024:2027:void visitSource(java.lang.String,java.lang.String):400 -> a
    2028:2030:void visitSource(java.lang.String,java.lang.String):400:402 -> a
    2031:2031:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2031:2031:void visitSource(java.lang.String,java.lang.String):402 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2032:2032:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2032:2032:void visitSource(java.lang.String,java.lang.String):402 -> a
    2033:2036:com.android.tools.r8.graph.DexAnnotation com.android.tools.r8.graph.DexAnnotation.createSourceDebugExtensionAnnotation(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexItemFactory):240:243 -> a
    2033:2036:void visitSource(java.lang.String,java.lang.String):401 -> a
    2037:2037:void visitSource(java.lang.String,java.lang.String):400:400 -> a
    2038:2046:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):409:417 -> a
    2047:2054:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):423:430 -> a
    2055:2056:void visitEnd():447:448 -> a
    2057:2057:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2057:2057:void visitEnd():449 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2058:2058:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2058:2058:void visitEnd():449 -> a
    2059:2059:void visitEnd():448:448 -> a
    2060:2063:java.util.List getAnnotations():595:598 -> a
    2060:2063:void addAnnotation(com.android.tools.r8.graph.DexAnnotation):591 -> a
    2060:2063:void visitEnd():448 -> a
    2064:2064:void addAnnotation(com.android.tools.r8.graph.DexAnnotation):591:591 -> a
    2064:2064:void visitEnd():448 -> a
    2065:2065:void checkReachabilitySensitivity():561:561 -> a
    2065:2065:void visitEnd():451 -> a
    2066:2066:boolean hasReachabilitySensitiveField():572:572 -> a
    2066:2066:void checkReachabilitySensitivity():561 -> a
    2066:2066:void visitEnd():451 -> a
    2067:2067:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2067:2067:boolean hasReachabilitySensitiveField():572 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2067:2067:void checkReachabilitySensitivity():561 -> a
    2067:2067:void visitEnd():451 -> a
    2068:2068:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2068:2068:boolean hasReachabilitySensitiveField():572 -> a
    2068:2068:void checkReachabilitySensitivity():561 -> a
    2068:2068:void visitEnd():451 -> a
    2069:2070:boolean hasReachabilitySensitiveField():572:573 -> a
    2069:2070:void checkReachabilitySensitivity():561 -> a
    2069:2070:void visitEnd():451 -> a
    2071:2071:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    2071:2071:boolean hasReachabilitySensitiveField():573 -> a
    2071:2071:void checkReachabilitySensitivity():561 -> a
    2071:2071:void visitEnd():451 -> a
    2072:2074:boolean hasReachabilitySensitiveField():573:575 -> a
    2072:2074:void checkReachabilitySensitivity():561 -> a
    2072:2074:void visitEnd():451 -> a
    2075:2075:void checkReachabilitySensitivity():562:562 -> a
    2075:2075:void visitEnd():451 -> a
    2076:2076:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    2076:2076:void checkReachabilitySensitivity():562 -> a
    2076:2076:void visitEnd():451 -> a
    2077:2080:void checkReachabilitySensitivity():562:565 -> a
    2077:2080:void visitEnd():451 -> a
    2081:2097:void checkRecord():518:534 -> a
    2081:2097:void visitEnd():452 -> a
    2098:2098:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    2098:2098:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    2098:2098:void checkRecord():534 -> a
    2098:2098:void visitEnd():452 -> a
    2099:2099:void checkRecord():534:534 -> a
    2099:2099:void visitEnd():452 -> a
    2100:2118:void visitEnd():453:471 -> a
    2119:2119:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2119:2119:void visitEnd():472 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2120:2120:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    2120:2120:void visitEnd():472 -> a
    2121:2122:void visitEnd():472:473 -> a
    2123:2154:void visitEnd():454:485 -> a
    2155:2163:void com.android.tools.r8.graph.DexClass.replaceInnerClassAttributeForThisClass(com.android.tools.r8.graph.InnerClassAttribute):1076:1084 -> a
    2155:2163:void visitEnd():486 -> a
    2164:2172:void visitEnd():487:495 -> a
    2173:2173:void visitEnd():491:491 -> a
    2174:2174:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    2174:2174:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    2174:2174:void visitEnd():491 -> a
    2175:2186:void visitEnd():491:502 -> a
    2187:2187:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    2187:2187:void visitEnd():504 -> a
    2188:2197:void visitEnd():505:514 -> a
    2198:2198:void checkRecord():529:529 -> a
    2198:2198:void visitEnd():452 -> a
    2199:2199:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    2199:2199:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    2199:2199:void checkRecord():529 -> a
    2199:2199:void visitEnd():452 -> a
    2200:2200:void checkRecord():529:529 -> a
    2200:2200:void visitEnd():452 -> a
    2201:2207:com.android.tools.r8.graph.DexProgramClass$ChecksumSupplier getChecksumSupplier(com.android.tools.r8.graph.ClassKind):540:546 -> a
    2208:2208:void addDefaultAnnotation(java.lang.String,com.android.tools.r8.graph.DexValue):584:584 -> a
    2208:2208:void access$1600(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):193 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2209:2211:void addDefaultAnnotation(java.lang.String,com.android.tools.r8.graph.DexValue):585:587 -> a
    2209:2211:void access$1600(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):193 -> a
    2212:2215:java.util.List getAnnotations():595:598 -> a
    2212:2215:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):435 -> a
    2216:2216:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):435:435 -> a
    1:1:com.android.tools.r8.cf.CfVersion access$1100(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> b
    2:4:void visitNestMember(java.lang.String):292:294 -> b
    5:9:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):318:322 -> b
    10:10:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> b
    10:10:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):324 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> b
    11:11:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):324 -> b
    12:14:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):324:326 -> b
    15:18:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):325:328 -> b
    19:19:boolean isInANest():602:602 -> b
    1:1:java.util.Set access$1200(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> c
    2:3:void visitPermittedSubclass(java.lang.String):333:334 -> c
    4:4:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> c
    4:4:void visitPermittedSubclass(java.lang.String):334 -> c
    5:5:void visitPermittedSubclass(java.lang.String):334:334 -> c
    1:1:java.util.List access$1400(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> d
    2:2:void checkName(java.lang.String):550:550 -> d
    3:3:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> d
    3:3:void checkName(java.lang.String):550 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> d
    4:4:void checkName(java.lang.String):550 -> d
    5:6:void checkName(java.lang.String):550:551 -> d
    7:14:boolean com.android.tools.r8.graph.DexString.isValidSimpleName(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String):404:411 -> d
    7:14:void checkName(java.lang.String):551 -> d
    15:15:void checkName(java.lang.String):552:552 -> d
    16:16:void checkName(java.lang.String):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":20,"2":21,"3":22,"4":23,"5":24,"6":25}}
    20:20:void checkName(java.lang.String):552:552 -> d
    21:21:void checkName(java.lang.String):552:552 -> d
    22:22:void checkName(java.lang.String):552:552 -> d
    23:23:void checkName(java.lang.String):552:552 -> d
    24:24:void checkName(java.lang.String):552:552 -> d
    25:25:void checkName(java.lang.String):552:552 -> d
    17:17:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> d
    17:17:void checkName(java.lang.String):552 -> d
    18:18:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> d
    18:18:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> d
    18:18:void checkName(java.lang.String):552 -> d
    19:19:void checkName(java.lang.String):552:552 -> d
    1:1:java.util.List access$1500(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> e
    1:1:com.android.tools.r8.graph.JarApplicationReader access$300(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> f
    1:1:com.android.tools.r8.origin.Origin access$400(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> g
    1:1:com.android.tools.r8.graph.DexType access$500(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> h
    1:1:java.util.Set access$600(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> i
    1:1:java.util.List access$700(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> j
    1:1:java.util.List access$800(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> k
    1:1:com.android.tools.r8.graph.ClassKind access$900(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):193:193 -> l
com.android.tools.r8.graph.JarClassFileReader$CreateFieldVisitor -> com.android.tools.r8.graph.v2:
    java.lang.String desc -> f
    java.lang.Object value -> g
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.GenericSignature$FieldTypeSignature fieldSignature -> h
    java.util.List annotations -> i
    int access -> d
    com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor parent -> c
    java.lang.String name -> e
    1:1:void <clinit>():621:621 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):638:638 -> <init>
    2:24:void <init>(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):629:651 -> <init>
    25:31:void <init>(com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):646:652 -> <init>
    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean) -> a
    1:2:void visitEnd():669:670 -> a
    3:3:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String):94:94 -> a
    3:3:void visitEnd():670 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.JarApplicationReader.getField(com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String):94:94 -> a
    4:4:void visitEnd():670 -> a
    5:10:void visitEnd():671:676 -> a
    11:11:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):703:703 -> a
    11:11:void visitEnd():676 -> a
    12:12:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    12:12:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):703 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:void visitEnd():676 -> a
    13:13:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    13:13:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):703 -> a
    13:13:void visitEnd():676 -> a
    14:43:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):704:733 -> a
    14:43:void visitEnd():676 -> a
    44:44:void visitEnd():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":65,"2":66,"3":67,"4":68,"5":69}}
    65:65:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    65:65:void visitEnd():676 -> a
    66:66:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    66:66:void visitEnd():676 -> a
    67:67:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    67:67:void visitEnd():676 -> a
    68:68:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    68:68:void visitEnd():676 -> a
    69:69:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    69:69:void visitEnd():676 -> a
    45:45:com.android.tools.r8.graph.DexValue getStaticValue(java.lang.Object,com.android.tools.r8.graph.DexType):733:733 -> a
    45:45:void visitEnd():676 -> a
    46:52:void visitEnd():678:684 -> a
    53:53:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    53:53:void visitEnd():685 -> a
    54:63:void visitEnd():686:695 -> a
    64:64:void visitEnd():693:693 -> a
    70:73:java.util.List getAnnotations():737:740 -> a
    70:73:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):657 -> a
    74:74:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):657:657 -> a
com.android.tools.r8.graph.JarClassFileReader$CreateMethodVisitor -> com.android.tools.r8.graph.w2:
    java.util.List parameterFlags -> r
    int annotableParameterCount -> o
    java.util.List parameterNames -> q
    int parameterCount -> l
    java.util.List parameterAnnotationsLists -> p
    com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor parent -> k
    java.lang.String name -> j
    com.android.tools.r8.graph.DexValue defaultAnnotation -> n
    boolean deprecated -> v
    com.android.tools.r8.graph.MethodAccessFlags flags -> u
    boolean $assertionsDisabled -> x
    com.android.tools.r8.graph.GenericSignature$MethodTypeSignature genericSignature -> s
    com.android.tools.r8.graph.DexMethod method -> t
    java.util.List annotations -> m
    com.android.tools.r8.graph.Code code -> w
    1:1:void <clinit>():744:744 -> <clinit>
    1:1:void <init>(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):768:768 -> <init>
    2:34:void <init>(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):749:781 -> <init>
    35:45:void <init>(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):780:790 -> <init>
    46:52:void <init>(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],com.android.tools.r8.graph.JarClassFileReader$CreateDexClassVisitor):785:791 -> <init>
    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean) -> a
    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean) -> a
    1:1:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():801:801 -> a
    2:3:void lambda$visitAnnotationDefault$0(java.util.List,java.util.List):802:803 -> a
    4:10:void visitAnnotableParameterCount(int,boolean):816:822 -> a
    11:22:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):827:838 -> a
    23:23:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):837:837 -> a
    24:27:java.util.List getAnnotations():960:963 -> a
    24:27:void addAnnotation(com.android.tools.r8.graph.DexAnnotation):967 -> a
    28:28:void addAnnotation(com.android.tools.r8.graph.DexAnnotation):967:967 -> a
    29:32:java.util.List getAnnotations():960:963 -> a
    29:32:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):796 -> a
    33:33:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):796:796 -> a
    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean) -> b
    1:6:void visitParameter(java.lang.String,int):864:869 -> b
    7:7:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> b
    7:7:void visitParameter(java.lang.String,int):869 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> b
    8:8:void visitParameter(java.lang.String,int):869 -> b
    9:11:void visitParameter(java.lang.String,int):869:871 -> b
    12:12:void visitCode():876:876 -> b
    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean) -> c
    1:3:void visitEnd():888:890 -> c
    4:5:boolean classRequiresCode():880:881 -> c
    4:5:void visitEnd():890 -> c
    6:6:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1921:1921 -> c
    6:6:boolean classRequiresCode():881 -> c
    6:6:void visitEnd():890 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    7:9:boolean classRequiresCode():881:883 -> c
    7:9:void visitEnd():890 -> c
    10:18:void visitEnd():891:899 -> c
    19:19:com.android.tools.r8.graph.ParameterAnnotationsList com.android.tools.r8.graph.ParameterAnnotationsList.create(com.android.tools.r8.graph.DexAnnotationSet[]):72:72 -> c
    19:19:void visitEnd():901 -> c
    20:24:void visitEnd():903:907 -> c
    25:25:void visitEnd():906:906 -> c
    26:29:java.util.List getAnnotations():960:963 -> c
    26:29:void visitEnd():909 -> c
    30:33:void visitEnd():909:912 -> c
    34:34:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> c
    34:34:void visitEnd():912 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> c
    35:35:void visitEnd():912 -> c
    36:56:void visitEnd():909:929 -> c
    57:57:boolean isReachabilitySensitive():950:950 -> c
    57:57:void visitEnd():929 -> c
    58:58:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> c
    58:58:boolean isReachabilitySensitive():950 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    58:58:void visitEnd():929 -> c
    59:59:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> c
    59:59:boolean isReachabilitySensitive():950 -> c
    59:59:void visitEnd():929 -> c
    60:60:boolean isReachabilitySensitive():950:950 -> c
    60:60:void visitEnd():929 -> c
    61:64:java.util.List getAnnotations():960:963 -> c
    61:64:boolean isReachabilitySensitive():951 -> c
    61:64:void visitEnd():929 -> c
    65:66:boolean isReachabilitySensitive():951:952 -> c
    65:66:void visitEnd():929 -> c
    67:71:void visitEnd():929:933 -> c
    72:82:void visitEnd():931:941 -> c
    83:83:void visitEnd():938:938 -> c
    84:92:void visitEnd():936:944 -> c
com.android.tools.r8.graph.JarClassFileReader$ReparseContext -> com.android.tools.r8.internal.tv:
    com.android.tools.r8.graph.DexClass owner -> b
    byte[] classCache -> a
    java.util.List codeList -> c
    1:8:void <init>():1116:1123 -> <init>
com.android.tools.r8.graph.LazyCfCode -> com.android.tools.r8.graph.C2:
    com.android.tools.r8.graph.CfCode code -> f
    com.android.tools.r8.graph.JarApplicationReader application -> e
    boolean $assertionsDisabled -> i
    com.android.tools.r8.origin.Origin origin -> d
    boolean reachabilitySensitive -> h
    com.android.tools.r8.graph.JarClassFileReader$ReparseContext context -> g
    1:1:void <clinit>():94:94 -> <clinit>
    1:12:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.JarClassFileReader$ReparseContext,com.android.tools.r8.graph.JarApplicationReader):103:114 -> <init>
    13:16:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.JarClassFileReader$ReparseContext,com.android.tools.r8.graph.JarApplicationReader):104:107 -> <init>
    1:1:boolean verifyNoInputReaders():1085:1085 -> A0
    1:20:void internalParseCode():151:170 -> B0
    21:27:boolean verifyNoReparseContext(com.android.tools.r8.graph.DexClass):1090:1096 -> B0
    21:27:void internalParseCode():170 -> B0
    28:28:void internalParseCode():167:167 -> B0
    1:2:void markReachabilitySensitive():117:118 -> C0
    1:2:com.android.tools.r8.graph.CfCode asCfCode():138:139 -> X
    3:3:void com.android.tools.r8.utils.ExceptionUtils.withOriginAttachmentHandler(com.android.tools.r8.origin.Origin,java.lang.Runnable):225:225 -> X
    3:3:com.android.tools.r8.graph.CfCode asCfCode():139 -> X
    4:5:com.android.tools.r8.graph.CfCode asCfCode():141:142 -> X
    1:1:com.android.tools.r8.graph.Code getCodeAsInlining(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):175:175 -> a
    2:2:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):191:191 -> a
    3:25:com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions getParsingOptions(com.android.tools.r8.graph.JarApplicationReader,boolean):1058:1080 -> a
    3:25:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):191 -> a
    26:26:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):193:193 -> a
    27:27:java.util.function.BiFunction createCodeLocator(com.android.tools.r8.graph.JarClassFileReader$ReparseContext):295:295 -> a
    27:27:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):196 -> a
    28:33:void parseCode(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,boolean):196:201 -> a
    34:34:void setCode(com.android.tools.r8.graph.CfCode):205:205 -> a
    34:34:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
    35:35:void setCode(com.android.tools.r8.graph.CfCode):205:205 -> a
    35:35:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:void setCode(com.android.tools.r8.graph.CfCode):205:205 -> a
    36:36:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
    37:37:void setCode(com.android.tools.r8.graph.CfCode):206:206 -> a
    37:37:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:38:void setCode(com.android.tools.r8.graph.CfCode):206:206 -> a
    38:38:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
    39:39:void setCode(com.android.tools.r8.graph.CfCode):207:207 -> a
    39:39:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:41:void setCode(com.android.tools.r8.graph.CfCode):208:209 -> a
    40:41:void access$100(com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.graph.CfCode):94 -> a
    42:42:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):244:244 -> a
    43:44:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):257:258 -> a
    45:45:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):271:271 -> a
    46:46:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):276:276 -> a
    47:47:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):291:291 -> a
    48:48:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap collectParameterInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView):1104:1104 -> a
    1:1:boolean computeEquals(java.lang.Object):219:219 -> h
    2:2:boolean estimatedSizeForInliningAtMost(int):234:234 -> h
    1:1:int computeHashCode():214:214 -> n0
    1:1:com.android.tools.r8.graph.CfWritableCode asCfWritableCode():147:147 -> o0
    com.android.tools.r8.graph.LazyCfCode asLazyCfCode() -> q0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():239:239 -> r0
    1:1:int estimatedSizeForInlining():229:229 -> s0
    boolean isCfCode() -> t0
    1:1:java.lang.String toString():286:286 -> toString
    boolean isCfWritableCode() -> u0
com.android.tools.r8.graph.LazyCfCode$ClassCodeVisitor -> com.android.tools.r8.graph.y2:
    java.util.function.BiFunction codeLocator -> d
    com.android.tools.r8.graph.JarApplicationReader application -> e
    com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions debugParsingOptions -> h
    com.android.tools.r8.origin.Origin origin -> g
    boolean usrJsrInliner -> f
    com.android.tools.r8.graph.DexClass clazz -> c
    1:7:void <init>(com.android.tools.r8.graph.DexClass,java.util.function.BiFunction,com.android.tools.r8.graph.JarApplicationReader,boolean,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions):330:336 -> <init>
    1:11:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):342:352 -> a
com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions -> com.android.tools.r8.internal.WA:
    boolean lineInfo -> a
    boolean localInfo -> b
    int asmReaderOptions -> c
    1:4:void <init>(boolean,boolean,int):183:186 -> <init>
com.android.tools.r8.graph.LazyCfCode$DefaultCodeLocator -> com.android.tools.r8.graph.z2:
    com.android.tools.r8.graph.JarClassFileReader$ReparseContext context -> a
    int methodIndex -> b
    1:1:void <init>(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.LazyCfCode$1):298:298 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,com.android.tools.r8.graph.JarApplicationReader):303:303 -> <init>
    3:6:void <init>(com.android.tools.r8.graph.JarClassFileReader$ReparseContext,com.android.tools.r8.graph.JarApplicationReader):301:304 -> <init>
    1:1:java.lang.Object apply(java.lang.Object,java.lang.Object):298:298 -> apply
    2:2:com.android.tools.r8.graph.LazyCfCode apply(java.lang.String,java.lang.String):310:310 -> apply
    2:2:java.lang.Object apply(java.lang.Object,java.lang.Object):298 -> apply
com.android.tools.r8.graph.LazyCfCode$JsrEncountered -> com.android.tools.r8.graph.A2:
    1:1:void <init>(java.lang.String):98:98 -> <init>
com.android.tools.r8.graph.LazyCfCode$MethodCodeVisitor -> com.android.tools.r8.graph.B2:
    int maxLocals -> n
    java.util.List localVariables -> r
    java.util.List tryCatchRanges -> q
    boolean desugaredVisitMultiANewArrayInstruction -> o
    java.util.List instructions -> p
    java.util.Map canonicalDebugLocalInfo -> s
    int maxStack -> m
    java.util.Map labelMap -> t
    com.android.tools.r8.graph.LazyCfCode code -> u
    com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions debugParsingOptions -> l
    boolean $assertionsDisabled -> z
    int minLine -> x
    int maxLine -> y
    com.android.tools.r8.origin.Origin origin -> w
    com.android.tools.r8.graph.DexItemFactory factory -> k
    com.android.tools.r8.graph.DexMethod method -> v
    com.android.tools.r8.graph.JarApplicationReader application -> j
    1:1:void <clinit>():359:359 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions):383:383 -> <init>
    2:23:void <init>(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.LazyCfCode,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.LazyCfCode$DebugParsingOptions):369:390 -> <init>
    com.android.tools.r8.graph.DebugLocalInfo lambda$canonicalize$1(com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.graph.DebugLocalInfo) -> a
    1:1:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):442:442 -> a
    2:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap parseLocals(int,java.lang.Object[]):449:455 -> a
    2:8:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):443 -> a
    9:11:java.util.Deque parseStack(int,java.lang.Object[]):463:465 -> a
    9:11:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):444 -> a
    12:12:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):445:445 -> a
    13:13:void visitInsn(int):673:673 -> a
    14:17:void visitInsn(int):541:541 -> a
    18:21:void visitInsn(int):535:535 -> a
    22:22:void visitInsn(int):530:530 -> a
    23:23:void visitInsn(int):526:526 -> a
    24:24:void visitInsn(int):517:517 -> a
    25:64:void visitInsn(int):514:553 -> a
    65:65:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    65:65:void visitInsn(int):553 -> a
    66:66:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":374,"2":375,"3":376,"4":377,"5":378}}
    374:374:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    374:374:void visitInsn(int):553 -> a
    375:375:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    375:375:void visitInsn(int):553 -> a
    376:376:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    376:376:void visitInsn(int):553 -> a
    377:377:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    377:377:void visitInsn(int):553 -> a
    378:378:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    378:378:void visitInsn(int):553 -> a
    67:67:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    67:67:void visitInsn(int):553 -> a
    68:68:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):702:702 -> a
    68:68:void visitInsn(int):553 -> a
    69:69:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):699:699 -> a
    69:69:void visitInsn(int):553 -> a
    70:70:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):696:696 -> a
    70:70:void visitInsn(int):553 -> a
    71:71:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):693:693 -> a
    71:71:void visitInsn(int):553 -> a
    72:72:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):690:690 -> a
    72:72:void visitInsn(int):553 -> a
    73:76:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):684:687 -> a
    73:76:void visitInsn(int):553 -> a
    77:77:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):681:681 -> a
    77:77:void visitInsn(int):553 -> a
    78:141:void visitInsn(int):553:616 -> a
    142:142:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    142:142:void visitInsn(int):616 -> a
    143:143:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":379,"2":380,"3":381,"4":382,"5":383}}
    379:379:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    379:379:void visitInsn(int):616 -> a
    380:380:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    380:380:void visitInsn(int):616 -> a
    381:381:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    381:381:void visitInsn(int):616 -> a
    382:382:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    382:382:void visitInsn(int):616 -> a
    383:383:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    383:383:void visitInsn(int):616 -> a
    144:144:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):98:98 -> a
    144:144:void visitInsn(int):616 -> a
    145:145:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):96:96 -> a
    145:145:void visitInsn(int):616 -> a
    146:146:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):94:94 -> a
    146:146:void visitInsn(int):616 -> a
    147:147:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):92:92 -> a
    147:147:void visitInsn(int):616 -> a
    148:148:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):90:90 -> a
    148:148:void visitInsn(int):616 -> a
    149:149:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):88:88 -> a
    149:149:void visitInsn(int):616 -> a
    150:150:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):86:86 -> a
    150:150:void visitInsn(int):616 -> a
    151:151:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):84:84 -> a
    151:151:void visitInsn(int):616 -> a
    152:152:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):82:82 -> a
    152:152:void visitInsn(int):616 -> a
    153:153:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):80:80 -> a
    153:153:void visitInsn(int):616 -> a
    154:154:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):78:78 -> a
    154:154:void visitInsn(int):616 -> a
    155:155:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):76:76 -> a
    155:155:void visitInsn(int):616 -> a
    156:156:com.android.tools.r8.cf.code.CfLogicalBinop com.android.tools.r8.cf.code.CfLogicalBinop.fromAsm(int):74:74 -> a
    156:156:void visitInsn(int):616 -> a
    157:157:void visitInsn(int):616:616 -> a
    158:158:void visitInsn(int):602:602 -> a
    159:159:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    159:159:void visitInsn(int):602 -> a
    160:160:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":384,"2":385,"3":386,"4":387,"5":388}}
    384:384:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    384:384:void visitInsn(int):602 -> a
    385:385:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    385:385:void visitInsn(int):602 -> a
    386:386:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    386:386:void visitInsn(int):602 -> a
    387:387:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    387:387:void visitInsn(int):602 -> a
    388:388:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    388:388:void visitInsn(int):602 -> a
    161:161:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):100:100 -> a
    161:161:void visitInsn(int):602 -> a
    162:162:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):98:98 -> a
    162:162:void visitInsn(int):602 -> a
    163:163:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):96:96 -> a
    163:163:void visitInsn(int):602 -> a
    164:164:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):94:94 -> a
    164:164:void visitInsn(int):602 -> a
    165:165:com.android.tools.r8.cf.code.CfNeg com.android.tools.r8.cf.code.CfNeg.fromAsm(int):92:92 -> a
    165:165:void visitInsn(int):602 -> a
    166:166:void visitInsn(int):602:602 -> a
    167:167:void visitInsn(int):596:596 -> a
    168:168:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):110:110 -> a
    168:168:void visitInsn(int):596 -> a
    169:169:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):108:108 -> a
    169:169:void visitInsn(int):596 -> a
    170:170:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):106:106 -> a
    170:170:void visitInsn(int):596 -> a
    171:171:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):104:104 -> a
    171:171:void visitInsn(int):596 -> a
    172:172:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):102:102 -> a
    172:172:void visitInsn(int):596 -> a
    173:173:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):100:100 -> a
    173:173:void visitInsn(int):596 -> a
    174:174:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):98:98 -> a
    174:174:void visitInsn(int):596 -> a
    175:175:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):96:96 -> a
    175:175:void visitInsn(int):596 -> a
    176:176:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):94:94 -> a
    176:176:void visitInsn(int):596 -> a
    177:177:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):92:92 -> a
    177:177:void visitInsn(int):596 -> a
    178:178:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):90:90 -> a
    178:178:void visitInsn(int):596 -> a
    179:179:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):88:88 -> a
    179:179:void visitInsn(int):596 -> a
    180:180:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):86:86 -> a
    180:180:void visitInsn(int):596 -> a
    181:181:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):84:84 -> a
    181:181:void visitInsn(int):596 -> a
    182:182:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):82:82 -> a
    182:182:void visitInsn(int):596 -> a
    183:183:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):80:80 -> a
    183:183:void visitInsn(int):596 -> a
    184:184:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):78:78 -> a
    184:184:void visitInsn(int):596 -> a
    185:185:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):76:76 -> a
    185:185:void visitInsn(int):596 -> a
    186:186:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):74:74 -> a
    186:186:void visitInsn(int):596 -> a
    187:187:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):72:72 -> a
    187:187:void visitInsn(int):596 -> a
    188:188:void visitInsn(int):596:596 -> a
    189:189:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    189:189:void visitInsn(int):596 -> a
    190:190:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":389,"2":390,"3":391,"4":392,"5":393}}
    389:389:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    389:389:void visitInsn(int):596 -> a
    390:390:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    390:390:void visitInsn(int):596 -> a
    391:391:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    391:391:void visitInsn(int):596 -> a
    392:392:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    392:392:void visitInsn(int):596 -> a
    393:393:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    393:393:void visitInsn(int):596 -> a
    191:191:com.android.tools.r8.cf.code.CfArithmeticBinop com.android.tools.r8.cf.code.CfArithmeticBinop.fromAsm(int):112:112 -> a
    191:191:void visitInsn(int):596 -> a
    192:192:void visitInsn(int):574:574 -> a
    193:193:void visitInsn(int):563:563 -> a
    194:194:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    194:194:void visitInsn(int):563 -> a
    195:195:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":394,"2":395,"3":396,"4":397,"5":398}}
    394:394:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    394:394:void visitInsn(int):563 -> a
    395:395:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    395:395:void visitInsn(int):563 -> a
    396:396:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    396:396:void visitInsn(int):563 -> a
    397:397:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    397:397:void visitInsn(int):563 -> a
    398:398:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    398:398:void visitInsn(int):563 -> a
    196:196:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):704:704 -> a
    196:196:void visitInsn(int):563 -> a
    197:197:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):702:702 -> a
    197:197:void visitInsn(int):563 -> a
    198:198:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):699:699 -> a
    198:198:void visitInsn(int):563 -> a
    199:199:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):696:696 -> a
    199:199:void visitInsn(int):563 -> a
    200:200:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):693:693 -> a
    200:200:void visitInsn(int):563 -> a
    201:201:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):690:690 -> a
    201:201:void visitInsn(int):563 -> a
    202:205:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):684:687 -> a
    202:205:void visitInsn(int):563 -> a
    206:206:com.android.tools.r8.ir.code.MemberType getMemberTypeForOpcode(int):681:681 -> a
    206:206:void visitInsn(int):563 -> a
    207:284:void visitInsn(int):563:640 -> a
    285:285:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    285:285:void visitInsn(int):640 -> a
    286:286:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":399,"2":400,"3":401,"4":402,"5":403}}
    399:399:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    399:399:void visitInsn(int):640 -> a
    400:400:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    400:400:void visitInsn(int):640 -> a
    401:401:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    401:401:void visitInsn(int):640 -> a
    402:402:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    402:402:void visitInsn(int):640 -> a
    403:403:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    403:403:void visitInsn(int):640 -> a
    287:287:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):79:79 -> a
    287:287:void visitInsn(int):640 -> a
    288:288:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):77:77 -> a
    288:288:void visitInsn(int):640 -> a
    289:289:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):75:75 -> a
    289:289:void visitInsn(int):640 -> a
    290:290:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):73:73 -> a
    290:290:void visitInsn(int):640 -> a
    291:291:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):71:71 -> a
    291:291:void visitInsn(int):640 -> a
    292:292:com.android.tools.r8.cf.code.CfCmp com.android.tools.r8.cf.code.CfCmp.fromAsm(int):69:69 -> a
    292:292:void visitInsn(int):640 -> a
    293:293:void visitInsn(int):640:640 -> a
    294:294:void visitInsn(int):633:633 -> a
    295:295:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    295:295:void visitInsn(int):633 -> a
    296:296:void visitInsn(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":404,"2":405,"3":406,"4":407,"5":408}}
    404:404:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    404:404:void visitInsn(int):633 -> a
    405:405:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    405:405:void visitInsn(int):633 -> a
    406:406:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    406:406:void visitInsn(int):633 -> a
    407:407:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    407:407:void visitInsn(int):633 -> a
    408:408:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    408:408:void visitInsn(int):633 -> a
    297:297:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):171:171 -> a
    297:297:void visitInsn(int):633 -> a
    298:298:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):169:169 -> a
    298:298:void visitInsn(int):633 -> a
    299:299:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):167:167 -> a
    299:299:void visitInsn(int):633 -> a
    300:300:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):165:165 -> a
    300:300:void visitInsn(int):633 -> a
    301:301:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):163:163 -> a
    301:301:void visitInsn(int):633 -> a
    302:302:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):161:161 -> a
    302:302:void visitInsn(int):633 -> a
    303:303:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):159:159 -> a
    303:303:void visitInsn(int):633 -> a
    304:304:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):157:157 -> a
    304:304:void visitInsn(int):633 -> a
    305:305:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):155:155 -> a
    305:305:void visitInsn(int):633 -> a
    306:306:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):153:153 -> a
    306:306:void visitInsn(int):633 -> a
    307:307:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):151:151 -> a
    307:307:void visitInsn(int):633 -> a
    308:308:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):149:149 -> a
    308:308:void visitInsn(int):633 -> a
    309:309:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):147:147 -> a
    309:309:void visitInsn(int):633 -> a
    310:310:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):145:145 -> a
    310:310:void visitInsn(int):633 -> a
    311:311:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):143:143 -> a
    311:311:void visitInsn(int):633 -> a
    312:312:com.android.tools.r8.cf.code.CfNumberConversion com.android.tools.r8.cf.code.CfNumberConversion.fromAsm(int):141:141 -> a
    312:312:void visitInsn(int):633 -> a
    313:338:void visitInsn(int):633:658 -> a
    339:339:void visitInsn(int):655:655 -> a
    340:340:void visitInsn(int):652:652 -> a
    341:341:void visitInsn(int):649:649 -> a
    342:342:void visitInsn(int):646:646 -> a
    343:370:void visitInsn(int):643:670 -> a
    371:371:void visitInsn(int):667:667 -> a
    372:372:void visitInsn(int):664:664 -> a
    373:373:void visitInsn(int):661:661 -> a
    409:409:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):809:809 -> a
    410:411:com.android.tools.r8.graph.DexType createTypeFromInternalType(java.lang.String):506:507 -> a
    410:411:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):810 -> a
    412:415:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):810:813 -> a
    416:416:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    416:416:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    417:417:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":424,"2":425,"3":426,"4":427,"5":428}}
    424:424:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    424:424:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    425:425:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    425:425:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    426:426:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    426:426:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    427:427:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    427:427:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    428:428:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    428:428:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    418:418:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    418:418:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    419:419:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):63:63 -> a
    419:419:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    420:420:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):61:61 -> a
    420:420:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    421:421:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):59:59 -> a
    421:421:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    422:422:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):57:57 -> a
    422:422:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813 -> a
    423:423:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):813:813 -> a
    429:429:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):818:818 -> a
    430:430:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.JarApplicationReader.getMethod(java.lang.String,java.lang.String,java.lang.String):98:98 -> a
    430:430:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):818 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    431:431:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.JarApplicationReader.getMethod(java.lang.String,java.lang.String,java.lang.String):98:98 -> a
    431:431:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):818 -> a
    432:432:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819:819 -> a
    433:433:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    433:433:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    434:434:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    434:434:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819 -> a
    435:435:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819:819 -> a
    436:436:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2860:2860 -> a
    436:436:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):819 -> a
    437:437:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):822:822 -> a
    438:438:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):820:820 -> a
    439:439:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    439:439:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):820 -> a
    440:440:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    440:440:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    440:440:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):820 -> a
    441:441:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):820:820 -> a
    442:443:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):827:828 -> a
    444:447:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):87:90 -> a
    444:447:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    448:448:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":504,"2":505,"3":506}}
    504:504:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90:90 -> a
    504:504:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    505:505:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90:90 -> a
    505:505:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    506:506:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90:90 -> a
    506:506:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    449:449:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90:90 -> a
    449:449:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    450:450:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    450:450:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90 -> a
    450:450:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    451:451:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    451:451:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    451:451:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90 -> a
    451:451:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    452:459:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):90:97 -> a
    452:459:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    460:481:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):317:338 -> a
    460:481:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    460:481:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    482:482:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":507,"2":508,"3":509}}
    507:507:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):338:338 -> a
    507:507:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    507:507:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    508:508:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):338:338 -> a
    508:508:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    508:508:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    509:509:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):338:338 -> a
    509:509:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    509:509:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    483:483:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):338:338 -> a
    483:483:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    483:483:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    484:494:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):332:342 -> a
    484:494:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    484:494:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    495:495:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98:98 -> a
    495:495:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    496:496:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):344:344 -> a
    496:496:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    496:496:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    497:497:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":515,"2":516,"3":517}}
    515:515:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):344:344 -> a
    515:515:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    515:515:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    516:516:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):344:344 -> a
    516:516:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    516:516:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    517:517:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):344:344 -> a
    517:517:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    517:517:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    498:498:com.android.tools.r8.graph.DexValue com.android.tools.r8.graph.DexValue.fromAsmBootstrapArgument(java.lang.Object,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):345:345 -> a
    498:498:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):98 -> a
    498:498:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    499:501:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.JarApplicationReader.getCallSite(java.lang.String,java.lang.String,com.android.tools.r8.graph.DexMethodHandle,java.util.List):107:107 -> a
    499:501:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):102 -> a
    499:501:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    502:502:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexItemFactory.createCallSite(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,java.util.List):2767:2767 -> a
    502:502:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.JarApplicationReader.getCallSite(java.lang.String,java.lang.String,com.android.tools.r8.graph.DexMethodHandle,java.util.List):107 -> a
    502:502:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.graph.DexCallSite.fromAsmInvokeDynamic(com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):102 -> a
    502:502:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):828 -> a
    503:503:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):829:829 -> a
    518:522:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):834:838 -> a
    523:523:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    523:523:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    524:524:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1440,"2":1441,"3":1442,"4":1443,"5":1444}}
    1440:1440:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1440:1440:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    1441:1441:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1441:1441:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    1442:1442:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1442:1442:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    1443:1443:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1443:1443:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    1444:1444:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1444:1444:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    525:525:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    525:525:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    526:526:com.android.tools.r8.ir.code.If$Type ifType(int):890:890 -> a
    526:526:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    527:527:com.android.tools.r8.ir.code.If$Type ifType(int):887:887 -> a
    527:527:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    528:528:com.android.tools.r8.ir.code.If$Type ifType(int):884:884 -> a
    528:528:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    529:529:com.android.tools.r8.ir.code.If$Type ifType(int):881:881 -> a
    529:529:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    530:530:com.android.tools.r8.ir.code.If$Type ifType(int):878:878 -> a
    530:530:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    531:531:com.android.tools.r8.ir.code.If$Type ifType(int):874:874 -> a
    531:531:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838 -> a
    532:542:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):838:848 -> a
    543:543:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    543:543:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    544:544:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1445,"2":1446,"3":1447,"4":1448,"5":1449}}
    1445:1445:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1445:1445:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    1446:1446:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1446:1446:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    1447:1447:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1447:1447:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    1448:1448:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1448:1448:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    1449:1449:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    1449:1449:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    545:545:com.android.tools.r8.ir.code.If$Type ifType(int):892:892 -> a
    545:545:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    546:546:com.android.tools.r8.ir.code.If$Type ifType(int):890:890 -> a
    546:546:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    547:547:com.android.tools.r8.ir.code.If$Type ifType(int):887:887 -> a
    547:547:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    548:548:com.android.tools.r8.ir.code.If$Type ifType(int):884:884 -> a
    548:548:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    549:549:com.android.tools.r8.ir.code.If$Type ifType(int):881:881 -> a
    549:549:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    550:550:com.android.tools.r8.ir.code.If$Type ifType(int):878:878 -> a
    550:550:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    551:551:com.android.tools.r8.ir.code.If$Type ifType(int):874:874 -> a
    551:551:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848 -> a
    552:568:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):848:864 -> a
    569:569:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1450,"2":1451,"3":1452,"4":1453,"5":1454}}
    1450:1450:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):864:864 -> a
    1451:1451:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):864:864 -> a
    1452:1452:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):864:864 -> a
    1453:1453:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):864:864 -> a
    1454:1454:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):864:864 -> a
    1433:1433:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):864:864 -> a
    1434:1438:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):858:862 -> a
    1439:1439:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):854:854 -> a
    1455:1455:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):898:898 -> a
    1456:1462:void visitLdcInsn(java.lang.Object):903:909 -> a
    1463:1463:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    1463:1463:void visitLdcInsn(java.lang.Object):909 -> a
    1464:1481:void visitLdcInsn(java.lang.Object):909:926 -> a
    1482:1486:void visitLdcInsn(java.lang.Object):924:928 -> a
    1487:1514:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):86:113 -> a
    1487:1514:void visitLdcInsn(java.lang.Object):929 -> a
    1515:1515:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1515:1515:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):113 -> a
    1515:1515:void visitLdcInsn(java.lang.Object):929 -> a
    1516:1516:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1516:1516:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1516:1516:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):113 -> a
    1516:1516:void visitLdcInsn(java.lang.Object):929 -> a
    1517:1519:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):113:115 -> a
    1517:1519:void visitLdcInsn(java.lang.Object):929 -> a
    1520:1520:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    1520:1520:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):115 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1520:1520:void visitLdcInsn(java.lang.Object):929 -> a
    1521:1524:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):115:118 -> a
    1521:1524:void visitLdcInsn(java.lang.Object):929 -> a
    1525:1525:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    1525:1525:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):118 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1525:1525:void visitLdcInsn(java.lang.Object):929 -> a
    1526:1526:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):118:118 -> a
    1526:1526:void visitLdcInsn(java.lang.Object):929 -> a
    1527:1527:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    1527:1527:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):118 -> a
    1527:1527:void visitLdcInsn(java.lang.Object):929 -> a
    1528:1532:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):118:122 -> a
    1528:1532:void visitLdcInsn(java.lang.Object):929 -> a
    1533:1533:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    1533:1533:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):122 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1533:1533:void visitLdcInsn(java.lang.Object):929 -> a
    1534:1534:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):122:122 -> a
    1534:1534:void visitLdcInsn(java.lang.Object):929 -> a
    1535:1535:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    1535:1535:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):122 -> a
    1535:1535:void visitLdcInsn(java.lang.Object):929 -> a
    1536:1540:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):122:126 -> a
    1536:1540:void visitLdcInsn(java.lang.Object):929 -> a
    1541:1541:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    1541:1541:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1541:1541:void visitLdcInsn(java.lang.Object):929 -> a
    1542:1542:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):126:126 -> a
    1542:1542:void visitLdcInsn(java.lang.Object):929 -> a
    1543:1543:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.JarApplicationReader.getFactory():45:45 -> a
    1543:1543:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):126 -> a
    1543:1543:void visitLdcInsn(java.lang.Object):929 -> a
    1544:1550:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):126:132 -> a
    1544:1550:void visitLdcInsn(java.lang.Object):929 -> a
    1551:1551:void visitLdcInsn(java.lang.Object):928:928 -> a
    1552:1552:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):127:127 -> a
    1552:1552:void visitLdcInsn(java.lang.Object):929 -> a
    1553:1553:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1553:1553:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):127 -> a
    1553:1553:void visitLdcInsn(java.lang.Object):929 -> a
    1554:1554:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1554:1554:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1554:1554:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):127 -> a
    1554:1554:void visitLdcInsn(java.lang.Object):929 -> a
    1555:1555:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):127:127 -> a
    1555:1555:void visitLdcInsn(java.lang.Object):929 -> a
    1556:1556:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):123:123 -> a
    1556:1556:void visitLdcInsn(java.lang.Object):929 -> a
    1557:1557:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1557:1557:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):123 -> a
    1557:1557:void visitLdcInsn(java.lang.Object):929 -> a
    1558:1558:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1558:1558:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1558:1558:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):123 -> a
    1558:1558:void visitLdcInsn(java.lang.Object):929 -> a
    1559:1559:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):123:123 -> a
    1559:1559:void visitLdcInsn(java.lang.Object):929 -> a
    1560:1560:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):119:119 -> a
    1560:1560:void visitLdcInsn(java.lang.Object):929 -> a
    1561:1561:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1561:1561:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):119 -> a
    1561:1561:void visitLdcInsn(java.lang.Object):929 -> a
    1562:1562:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1562:1562:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1562:1562:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):119 -> a
    1562:1562:void visitLdcInsn(java.lang.Object):929 -> a
    1563:1563:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):119:119 -> a
    1563:1563:void visitLdcInsn(java.lang.Object):929 -> a
    1564:1564:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):116:116 -> a
    1564:1564:void visitLdcInsn(java.lang.Object):929 -> a
    1565:1565:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1565:1565:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):116 -> a
    1565:1565:void visitLdcInsn(java.lang.Object):929 -> a
    1566:1566:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1566:1566:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1566:1566:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):116 -> a
    1566:1566:void visitLdcInsn(java.lang.Object):929 -> a
    1567:1567:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):116:116 -> a
    1567:1567:void visitLdcInsn(java.lang.Object):929 -> a
    1568:1568:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):107:107 -> a
    1568:1568:void visitLdcInsn(java.lang.Object):929 -> a
    1569:1569:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1569:1569:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):107 -> a
    1569:1569:void visitLdcInsn(java.lang.Object):929 -> a
    1570:1570:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1570:1570:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1570:1570:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):107 -> a
    1570:1570:void visitLdcInsn(java.lang.Object):929 -> a
    1571:1571:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):107:107 -> a
    1571:1571:void visitLdcInsn(java.lang.Object):929 -> a
    1572:1572:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):101:101 -> a
    1572:1572:void visitLdcInsn(java.lang.Object):929 -> a
    1573:1573:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1573:1573:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):101 -> a
    1573:1573:void visitLdcInsn(java.lang.Object):929 -> a
    1574:1574:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1574:1574:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1574:1574:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):101 -> a
    1574:1574:void visitLdcInsn(java.lang.Object):929 -> a
    1575:1575:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):101:101 -> a
    1575:1575:void visitLdcInsn(java.lang.Object):929 -> a
    1576:1576:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):97:97 -> a
    1576:1576:void visitLdcInsn(java.lang.Object):929 -> a
    1577:1577:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1577:1577:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):97 -> a
    1577:1577:void visitLdcInsn(java.lang.Object):929 -> a
    1578:1578:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1578:1578:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1578:1578:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):97 -> a
    1578:1578:void visitLdcInsn(java.lang.Object):929 -> a
    1579:1579:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):97:97 -> a
    1579:1579:void visitLdcInsn(java.lang.Object):929 -> a
    1580:1580:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):94:94 -> a
    1580:1580:void visitLdcInsn(java.lang.Object):929 -> a
    1581:1581:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1581:1581:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):94 -> a
    1581:1581:void visitLdcInsn(java.lang.Object):929 -> a
    1582:1582:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1582:1582:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1582:1582:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):94 -> a
    1582:1582:void visitLdcInsn(java.lang.Object):929 -> a
    1583:1583:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):94:94 -> a
    1583:1583:void visitLdcInsn(java.lang.Object):929 -> a
    1584:1584:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):90:90 -> a
    1584:1584:void visitLdcInsn(java.lang.Object):929 -> a
    1585:1585:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1585:1585:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):90 -> a
    1585:1585:void visitLdcInsn(java.lang.Object):929 -> a
    1586:1586:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1586:1586:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1586:1586:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):90 -> a
    1586:1586:void visitLdcInsn(java.lang.Object):929 -> a
    1587:1587:com.android.tools.r8.cf.code.CfConstDynamic com.android.tools.r8.cf.code.CfConstDynamic.fromAsmConstantDynamic(com.android.tools.r8.org.objectweb.asm.ConstantDynamic,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.graph.DexType):90:90 -> a
    1587:1587:void visitLdcInsn(java.lang.Object):929 -> a
    1588:1588:void visitLdcInsn(java.lang.Object):932:932 -> a
    1589:1589:void visitLdcInsn(java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2525,"2":2526,"3":2527}}
    2525:2525:void visitLdcInsn(java.lang.Object):932:932 -> a
    2526:2526:void visitLdcInsn(java.lang.Object):932:932 -> a
    2527:2527:void visitLdcInsn(java.lang.Object):932:932 -> a
    2521:2521:void visitLdcInsn(java.lang.Object):932:932 -> a
    2522:2522:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    2522:2522:void visitLdcInsn(java.lang.Object):932 -> a
    2523:2523:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    2523:2523:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    2523:2523:void visitLdcInsn(java.lang.Object):932 -> a
    2524:2524:void visitLdcInsn(java.lang.Object):932:932 -> a
    2528:2528:void visitIincInsn(int,int):938:938 -> a
    2529:2534:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):943:948 -> a
    2535:2539:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):953:957 -> a
    2540:2581:void visitMultiANewArrayInsn(java.lang.String,int):962:1003 -> a
    2582:2582:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):1010:1010 -> a
    2583:2584:com.android.tools.r8.graph.DexType createTypeFromInternalType(java.lang.String):506:507 -> a
    2583:2584:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):1010 -> a
    2585:2588:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):1009:1012 -> a
    2589:2595:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):1018:1024 -> a
    2596:2602:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):1020:1026 -> a
    2603:2604:void com.android.tools.r8.graph.CfCode$LocalVariableInfo.<init>(int,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel):99:100 -> a
    2603:2604:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):1026 -> a
    2605:2605:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):1025:1025 -> a
    2606:2606:com.android.tools.r8.graph.DebugLocalInfo canonicalize(com.android.tools.r8.graph.DebugLocalInfo):1031:1031 -> a
    1:6:void visitCode():395:400 -> b
    7:11:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):471:475 -> b
    12:24:com.android.tools.r8.graph.DexType parseAsmType(java.lang.Object):487:499 -> b
    12:24:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):478 -> b
    25:26:com.android.tools.r8.graph.DexType createTypeFromInternalType(java.lang.String):506:507 -> b
    25:26:com.android.tools.r8.graph.DexType parseAsmType(java.lang.Object):499 -> b
    25:26:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):478 -> b
    27:27:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):478:478 -> b
    28:28:com.android.tools.r8.graph.DexType parseAsmType(java.lang.Object):501:501 -> b
    28:28:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):478 -> b
    29:29:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(java.lang.Object):476:476 -> b
    30:30:com.android.tools.r8.cf.code.CfLabel getLabel(com.android.tools.r8.org.objectweb.asm.Label):483:483 -> b
    31:31:void visitIntInsn(int,int):716:716 -> b
    32:32:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    32:32:void visitIntInsn(int,int):717 -> b
    33:33:void visitIntInsn(int,int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":771,"2":772,"3":773,"4":774,"5":775}}
    771:771:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    771:771:void visitIntInsn(int,int):717 -> b
    772:772:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    772:772:void visitIntInsn(int,int):717 -> b
    773:773:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    773:773:void visitIntInsn(int,int):717 -> b
    774:774:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    774:774:void visitIntInsn(int,int):717 -> b
    775:775:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    775:775:void visitIntInsn(int,int):717 -> b
    34:34:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):743:743 -> b
    34:34:void visitIntInsn(int,int):717 -> b
    35:35:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):741:741 -> b
    35:35:void visitIntInsn(int,int):717 -> b
    36:36:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):739:739 -> b
    36:36:void visitIntInsn(int,int):717 -> b
    37:37:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):737:737 -> b
    37:37:void visitIntInsn(int,int):717 -> b
    38:38:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):735:735 -> b
    38:38:void visitIntInsn(int,int):717 -> b
    39:39:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):733:733 -> b
    39:39:void visitIntInsn(int,int):717 -> b
    40:40:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):731:731 -> b
    40:40:void visitIntInsn(int,int):717 -> b
    41:41:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):729:729 -> b
    41:41:void visitIntInsn(int,int):717 -> b
    42:42:com.android.tools.r8.graph.DexType arrayTypeDesc(int,com.android.tools.r8.graph.DexItemFactory):727:727 -> b
    42:42:void visitIntInsn(int,int):717 -> b
    43:43:void visitIntInsn(int,int):717:717 -> b
    44:48:void visitIntInsn(int,int):716:720 -> b
    49:49:void visitIntInsn(int,int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":776,"2":777,"3":778,"4":779,"5":780}}
    776:776:void visitIntInsn(int,int):720:720 -> b
    777:777:void visitIntInsn(int,int):720:720 -> b
    778:778:void visitIntInsn(int,int):720:720 -> b
    779:779:void visitIntInsn(int,int):720:720 -> b
    780:780:void visitIntInsn(int,int):720:720 -> b
    769:769:void visitIntInsn(int,int):720:720 -> b
    770:770:void visitIntInsn(int,int):713:713 -> b
    781:786:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1036:1041 -> b
    787:787:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1039:1039 -> b
    1:10:void visitEnd():405:414 -> c
    11:16:com.android.tools.r8.position.Position getDiagnosticPosition():428:433 -> c
    11:16:void visitEnd():414 -> c
    17:17:com.android.tools.r8.position.Position getDiagnosticPosition():429:429 -> c
    17:17:void visitEnd():414 -> c
    18:18:void visitEnd():414:414 -> c
    19:19:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):34:34 -> c
    19:19:void visitEnd():414 -> c
    20:25:void visitEnd():414:419 -> c
    26:31:com.android.tools.r8.position.Position getDiagnosticPosition():428:433 -> c
    26:31:void visitEnd():424 -> c
    32:32:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> c
    32:32:void visitEnd():424 -> c
    33:33:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> c
    33:33:void visitEnd():424 -> c
    34:34:void visitEnd():416:416 -> c
    35:35:com.android.tools.r8.cf.code.CfLabel lambda$getLabel$0(com.android.tools.r8.org.objectweb.asm.Label):483:483 -> c
    36:51:void visitTypeInsn(int,java.lang.String):788:803 -> c
    52:52:void visitTypeInsn(int,java.lang.String):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":872,"2":873,"3":874,"4":875,"5":876}}
    872:872:void visitTypeInsn(int,java.lang.String):803:803 -> c
    873:873:void visitTypeInsn(int,java.lang.String):803:803 -> c
    874:874:void visitTypeInsn(int,java.lang.String):803:803 -> c
    875:875:void visitTypeInsn(int,java.lang.String):803:803 -> c
    876:876:void visitTypeInsn(int,java.lang.String):803:803 -> c
    855:855:void visitTypeInsn(int,java.lang.String):803:803 -> c
    856:856:void visitTypeInsn(int,java.lang.String):797:797 -> c
    857:857:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> c
    857:857:void visitTypeInsn(int,java.lang.String):797 -> c
    858:858:void visitTypeInsn(int,java.lang.String):797:797 -> c
    859:859:void visitTypeInsn(int,java.lang.String):794:794 -> c
    860:860:void visitTypeInsn(int,java.lang.String):791:791 -> c
    877:880:void visitMaxs(int,int):1047:1050 -> c
    1:1:void visitVarInsn(int,int):777:777 -> d
    2:2:void visitVarInsn(int,int):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":821,"2":822,"3":823,"4":824,"5":825}}
    821:821:void visitVarInsn(int,int):777:777 -> d
    822:822:void visitVarInsn(int,int):777:777 -> d
    823:823:void visitVarInsn(int,int):777:777 -> d
    824:824:void visitVarInsn(int,int):777:777 -> d
    825:825:void visitVarInsn(int,int):777:777 -> d
    779:779:void visitVarInsn(int,int):777:777 -> d
    780:780:void visitVarInsn(int,int):769:769 -> d
    781:781:void visitVarInsn(int,int):765:765 -> d
    782:786:void visitVarInsn(int,int):757:761 -> d
    787:816:void visitVarInsn(int,int):753:782 -> d
    817:817:void visitVarInsn(int,int):773:773 -> d
com.android.tools.r8.graph.LazyLoadedDexApplication -> com.android.tools.r8.graph.E2:
    com.android.tools.r8.utils.LibraryClassCollection libraryClasses -> k
    boolean $assertionsDisabled -> l
    com.android.tools.r8.utils.ClasspathClassCollection classpathClasses -> j
    com.android.tools.r8.utils.ProgramClassCollection programClasses -> i
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,com.android.tools.r8.utils.ProgramClassCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.ClasspathClassCollection,com.android.tools.r8.utils.LibraryClassCollection,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.LazyLoadedDexApplication$1):27:27 -> <init>
    2:5:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.graph.DexApplicationReadFlags,com.android.tools.r8.utils.ProgramClassCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.utils.ClasspathClassCollection,com.android.tools.r8.utils.LibraryClassCollection,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.Timing):44:47 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap access$000(java.util.Map,java.util.function.Function,com.android.tools.r8.utils.InternalOptions):27:27 -> a
    2:2:com.android.tools.r8.utils.ClasspathClassCollection access$100(com.android.tools.r8.graph.LazyLoadedDexApplication):27:27 -> a
    3:3:void forEachLibraryType(java.util.function.Consumer):63:63 -> a
    4:8:void lambda$fillPrioritizedClasses$1(java.util.function.Function,com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):225:229 -> a
    9:10:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    9:10:void lambda$fillPrioritizedClasses$1(java.util.function.Function,com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):229 -> a
    11:11:void lambda$fillPrioritizedClasses$1(java.util.function.Function,com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):230:230 -> a
    12:25:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):244:257 -> a
    26:26:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":286,"2":287,"3":288}}
    286:286:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):257:257 -> a
    287:287:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):257:257 -> a
    288:288:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):257:257 -> a
    285:285:void warnJavaLibraryOverride(com.android.tools.r8.utils.InternalOptions,java.util.Set):259:259 -> a
    1:1:com.android.tools.r8.utils.LibraryClassCollection access$200(com.android.tools.r8.graph.LazyLoadedDexApplication):27:27 -> b
    2:2:void forEachProgramType(java.util.function.Consumer):58:58 -> b
    3:20:com.android.tools.r8.com.google.common.collect.ImmutableMap fillPrioritizedClasses(java.util.Map,java.util.function.Function,com.android.tools.r8.utils.InternalOptions):221:238 -> b
    1:1:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):120:120 -> c
    2:2:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":124,"2":125,"3":126,"4":127,"5":128}}
    124:124:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):120:120 -> c
    125:125:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):120:120 -> c
    126:126:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):120:120 -> c
    127:127:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):120:120 -> c
    128:128:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):120:120 -> c
    122:123:com.android.tools.r8.graph.DexProgramClass programDefinitionFor(com.android.tools.r8.graph.DexType):120:121 -> c
    129:129:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder builder():328:328 -> c
    129:129:com.android.tools.r8.graph.DexApplication$Builder builder():27 -> c
    1:1:com.android.tools.r8.graph.ClassResolutionResult$Builder com.android.tools.r8.graph.ClassResolutionResult.builder():20:20 -> d
    1:1:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):68 -> d
    2:3:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):69:70 -> d
    4:4:boolean addClassToBuilderIfNotNull(com.android.tools.r8.graph.DexClass,java.util.function.Consumer):85:85 -> d
    4:4:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):70 -> d
    5:6:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):72:73 -> d
    7:7:boolean addClassToBuilderIfNotNull(com.android.tools.r8.graph.DexClass,java.util.function.Consumer):85:85 -> d
    7:7:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):73 -> d
    8:9:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):76:77 -> d
    10:10:boolean addClassToBuilderIfNotNull(com.android.tools.r8.graph.DexClass,java.util.function.Consumer):85:85 -> d
    10:10:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):77 -> d
    11:11:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):80:80 -> d
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):94:94 -> e
    2:2:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":115,"2":116,"3":117,"4":118,"5":119}}
    115:115:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):94:94 -> e
    116:116:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):94:94 -> e
    117:117:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):94:94 -> e
    118:118:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):94:94 -> e
    119:119:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):94:94 -> e
    96:114:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):94:112 -> e
    boolean lambda$programClasses$0(com.android.tools.r8.graph.DexType) -> f
    1:1:java.util.Collection programClasses():27:27 -> h
    1:1:com.android.tools.r8.graph.DirectMappedDexApplication toDirect():333:333 -> i
    1:1:com.android.tools.r8.graph.LazyLoadedDexApplication$AllClasses loadAllClasses():266:266 -> j
    1:2:java.util.List programClasses():52:53 -> k
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":345,"2":346,"3":347}}
    345:345:java.lang.String toString():343:343 -> toString
    346:346:java.lang.String toString():343:343 -> toString
    347:347:java.lang.String toString():343:343 -> toString
    344:344:java.lang.String toString():343:343 -> toString
com.android.tools.r8.graph.LazyLoadedDexApplication$AllClasses -> com.android.tools.r8.graph.D2:
    com.android.tools.r8.com.google.common.collect.ImmutableMap libraryClasses -> c
    com.android.tools.r8.com.google.common.collect.ImmutableMap classpathClasses -> b
    com.android.tools.r8.com.google.common.collect.ImmutableMap programClasses -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():129:129 -> <clinit>
    1:52:void <init>(com.android.tools.r8.utils.LibraryClassCollection,com.android.tools.r8.utils.ClasspathClassCollection,com.android.tools.r8.utils.ProgramClassCollection,com.android.tools.r8.utils.InternalOptions):141:192 -> <init>
    boolean lambda$new$0(com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap getClasspathClasses():208:208 -> a
    boolean lambda$new$1(com.android.tools.r8.graph.DexType) -> b
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap getLibraryClasses():212:212 -> b
    boolean lambda$new$2(com.android.tools.r8.graph.DexType) -> c
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap getProgramClasses():204:204 -> c
    com.android.tools.r8.graph.DexClass lambda$new$3(com.android.tools.r8.graph.DexType) -> d
    1:2:com.android.tools.r8.graph.DexClass lambda$new$4(com.android.tools.r8.graph.DexType):183:184 -> e
    com.android.tools.r8.graph.DexClass lambda$new$5(com.android.tools.r8.graph.DexType) -> f
    1:2:com.android.tools.r8.graph.DexClass lambda$new$6(com.android.tools.r8.graph.DexType):195:196 -> g
com.android.tools.r8.graph.LazyLoadedDexApplication$Builder -> com.android.tools.r8.graph.E2$a:
    com.android.tools.r8.utils.LibraryClassCollection libraryClasses -> j
    com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver resolver -> k
    com.android.tools.r8.utils.ClasspathClassCollection classpathClasses -> i
    1:1:void <init>(com.android.tools.r8.graph.LazyLoadedDexApplication,com.android.tools.r8.graph.LazyLoadedDexApplication$1):269:269 -> <init>
    2:5:void <init>(com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):276:279 -> <init>
    6:9:void <init>(com.android.tools.r8.graph.LazyLoadedDexApplication):283:286 -> <init>
    1:1:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder setClasspathClassCollection(com.android.tools.r8.utils.ClasspathClassCollection):295:295 -> a
    2:2:com.android.tools.r8.graph.LazyLoadedDexApplication$Builder setLibraryClassCollection(com.android.tools.r8.utils.LibraryClassCollection):300:300 -> a
    1:1:com.android.tools.r8.graph.DexApplication build():269:269 -> b
    2:4:void addProgramClassPotentiallyOverridingNonProgramClass(com.android.tools.r8.graph.DexProgramClass):306:308 -> b
    com.android.tools.r8.graph.DexApplication$Builder self() -> d
    1:5:com.android.tools.r8.graph.LazyLoadedDexApplication build():313:317 -> e
com.android.tools.r8.graph.LibraryClass -> com.android.tools.r8.internal.nB:
    1:1:com.android.tools.r8.graph.DexClass asDexClass():11:11 -> e
com.android.tools.r8.graph.LibraryDefinition -> com.android.tools.r8.internal.pB:
    1:1:com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext):21:21 -> a
com.android.tools.r8.graph.LibraryField -> com.android.tools.r8.graph.F2:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexEncodedField):11:11 -> <init>
    com.android.tools.r8.graph.LibraryField asLibraryField() -> k
    1:1:com.android.tools.r8.graph.DexClass getHolder():7:7 -> q
    1:2:com.android.tools.r8.graph.DexLibraryClass getHolder():16:17 -> y
    3:3:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> y
    3:3:com.android.tools.r8.graph.DexLibraryClass getHolder():17 -> y
    4:5:com.android.tools.r8.graph.DexLibraryClass getHolder():17:18 -> y
com.android.tools.r8.graph.LibraryMethod -> com.android.tools.r8.graph.G2:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexEncodedMethod):11:11 -> <init>
    1:2:com.android.tools.r8.graph.DexLibraryClass getHolder():16:17 -> L
    3:3:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> L
    3:3:com.android.tools.r8.graph.DexLibraryClass getHolder():17 -> L
    4:5:com.android.tools.r8.graph.DexLibraryClass getHolder():17:18 -> L
    com.android.tools.r8.graph.LibraryMethod asLibraryMethod() -> b0
    1:1:com.android.tools.r8.graph.DexClass getHolder():7:7 -> q
com.android.tools.r8.graph.LookupCompletenessHelper -> com.android.tools.r8.graph.H2:
    java.util.Set pinnedMethods -> c
    com.android.tools.r8.graph.PinnedPredicate pinnedPredicate -> a
    java.util.Set pinnedInstantiations -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():12:12 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.PinnedPredicate):19:20 -> <init>
    1:5:void checkClass(com.android.tools.r8.graph.DexClass):24:28 -> a
    6:7:void checkDexClassAndMethod(com.android.tools.r8.graph.DexClassAndMethod):42:43 -> a
    8:12:void checkMethod(com.android.tools.r8.graph.DexEncodedMethod):33:37 -> a
    8:12:void checkDexClassAndMethod(com.android.tools.r8.graph.DexClassAndMethod):43 -> a
    13:21:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState computeCollectionState(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):48:56 -> a
    22:23:boolean isMethodKeptInSuperTypeOrIsLibrary(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):66:67 -> a
    22:23:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState computeCollectionState(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):57 -> a
    24:24:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):576:576 -> a
    24:24:boolean isMethodKeptInSuperTypeOrIsLibrary(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):71 -> a
    24:24:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState computeCollectionState(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):57 -> a
    25:31:boolean isMethodKeptInSuperTypeOrIsLibrary(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):73:79 -> a
    25:31:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState computeCollectionState(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):57 -> a
    32:33:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    32:33:boolean isMethodKeptInSuperTypeOrIsLibrary(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):79 -> a
    32:33:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState computeCollectionState(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy):57 -> a
com.android.tools.r8.graph.LookupLambdaTarget -> com.android.tools.r8.internal.dD:
    com.android.tools.r8.graph.DexClassAndMethod method -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():9:9 -> <clinit>
    1:5:void <init>(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexClassAndMethod):14:18 -> <init>
    1:1:void accept(java.util.function.Consumer,java.util.function.Consumer):34:34 -> a
    2:2:com.android.tools.r8.graph.DexClassAndMethod getImplementationMethod():38:38 -> a
    boolean isLambdaTarget() -> n
    com.android.tools.r8.graph.LookupLambdaTarget asLambdaTarget() -> o
com.android.tools.r8.graph.LookupResult -> com.android.tools.r8.graph.K2:
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.graph.LookupResult$LookupResultSuccess asLookupResultSuccess() -> a
    void forEach(java.util.function.Consumer,java.util.function.Consumer) -> a
    void forEachFailureDependency(java.util.function.Consumer) -> a
    boolean isLookupResultFailure() -> b
    boolean isLookupResultSuccess() -> c
com.android.tools.r8.graph.LookupResult$LookupResultFailure -> com.android.tools.r8.graph.I2:
    com.android.tools.r8.graph.LookupResult$LookupResultFailure INSTANCE -> a
    1:1:void <clinit>():195:195 -> <clinit>
    1:1:void <init>():197:197 -> <init>
    void forEach(java.util.function.Consumer,java.util.function.Consumer) -> a
    void forEachFailureDependency(java.util.function.Consumer) -> a
    boolean isLookupResultFailure() -> b
    1:1:com.android.tools.r8.graph.LookupResult$LookupResultFailure access$100():193:193 -> d
com.android.tools.r8.graph.LookupResult$LookupResultSuccess -> com.android.tools.r8.graph.K2$a:
    java.util.List lambdaTargets -> b
    com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState state -> d
    java.util.List methodsCausingFailure -> c
    int $r8$clinit -> f
    com.android.tools.r8.graph.LookupResult$LookupResultSuccess EMPTY_INSTANCE -> e
    com.android.tools.r8.utils.collections.DexClassAndMethodSet methodTargets -> a
    1:5:void <clinit>():61:65 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.collections.DexClassAndMethodSet,java.util.List,java.util.List,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState,com.android.tools.r8.graph.LookupResult$1):59:59 -> <init>
    2:6:void <init>(com.android.tools.r8.utils.collections.DexClassAndMethodSet,java.util.List,java.util.List,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState):77:81 -> <init>
    com.android.tools.r8.graph.LookupResult$LookupResultSuccess asLookupResultSuccess() -> a
    1:2:void forEach(java.util.function.Consumer,java.util.function.Consumer):104:105 -> a
    3:3:void forEachFailureDependency(java.util.function.Consumer):111:111 -> a
    4:4:boolean contains(com.android.tools.r8.graph.DexEncodedMethod):116:116 -> a
    boolean isLookupResultSuccess() -> c
    1:1:com.android.tools.r8.graph.LookupResult$LookupResultSuccess access$200():59:59 -> d
    1:8:com.android.tools.r8.graph.LookupTarget getSingleLookupTarget():143:150 -> e
    1:1:boolean hasLambdaTargets():97:97 -> f
    1:1:boolean isComplete():134:134 -> g
    1:1:boolean isIncomplete():130:130 -> h
    1:1:void setIncomplete():139:139 -> i
com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder -> com.android.tools.r8.graph.J2:
    java.util.List lambdaTargets -> b
    com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState state -> d
    java.util.List methodsCausingFailure -> c
    com.android.tools.r8.utils.collections.DexClassAndMethodSet methodTargets -> a
    1:5:void <init>():160:164 -> <init>
    1:1:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder addMethodTarget(com.android.tools.r8.graph.DexClassAndMethod):168:168 -> a
    2:2:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder addLambdaTarget(com.android.tools.r8.graph.LookupLambdaTarget):173:173 -> a
    3:3:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder addMethodCausingFailure(com.android.tools.r8.graph.DexEncodedMethod):178:178 -> a
    4:4:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder setState(com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState):183:183 -> a
    5:5:com.android.tools.r8.graph.LookupResult$LookupResultSuccess build():188:188 -> a
com.android.tools.r8.graph.LookupTarget -> com.android.tools.r8.internal.fD:
    void accept(java.util.function.Consumer,java.util.function.Consumer) -> a
    com.android.tools.r8.graph.DexClassAndMethod asMethodTarget() -> j
    boolean isMethodTarget() -> m
    boolean isLambdaTarget() -> n
    com.android.tools.r8.graph.LookupLambdaTarget asLambdaTarget() -> o
com.android.tools.r8.graph.MemberResolutionResult -> com.android.tools.r8.internal.bE:
    1:1:void <init>():9:9 -> <init>
    com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
    1:1:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):25:25 -> a
    com.android.tools.r8.graph.FieldResolutionResult asFieldResolutionResult() -> e
    com.android.tools.r8.graph.MethodResolutionResult asMethodResolutionResult() -> f
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    boolean isFailedResolution() -> h
    boolean isFieldResolutionResult() -> i
    boolean isSuccessfulMemberResolutionResult() -> j
com.android.tools.r8.graph.MethodAccessFlags -> com.android.tools.r8.graph.M2:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>(int,int):61:61 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.MethodAccessFlags$Builder builder():65:65 -> O
    1:1:com.android.tools.r8.graph.MethodAccessFlags copy():70:70 -> P
    1:1:com.android.tools.r8.graph.MethodAccessFlags createPublicStaticSynthetic():83:83 -> Q
    1:1:void demoteFromBridge():156:156 -> R
    1:1:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> S
    1:1:int getAsCfAccessFlags():109 -> S
    1:2:int getAsDexAccessFlags():114:115 -> T
    3:3:void unsetSynchronized():140:140 -> T
    3:3:int getAsDexAccessFlags():116 -> T
    4:4:void setDeclaredSynchronized():244:244 -> T
    4:4:int getAsDexAccessFlags():117 -> T
    5:5:int com.android.tools.r8.graph.AccessFlags.materialize():74:74 -> T
    5:5:int getAsDexAccessFlags():119 -> T
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> U
    1:1:boolean isAbstract():184 -> U
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> V
    1:1:boolean isBridge():144 -> V
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> X
    1:1:boolean isConstructor():220 -> X
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> Y
    1:1:boolean isNative():172 -> Y
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> Z
    1:1:boolean isStrict():204 -> Z
    1:1:com.android.tools.r8.graph.MethodAccessFlags fromCfAccessFlags(int,boolean):94:94 -> a
    2:2:void <init>(int):57:57 -> a
    2:2:com.android.tools.r8.graph.MethodAccessFlags fromCfAccessFlags(int,boolean):95 -> a
    3:3:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):228:228 -> a
    4:4:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2856:2856 -> a
    4:4:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):228 -> a
    5:5:boolean com.android.tools.r8.graph.DexItemFactory.isClassConstructor(com.android.tools.r8.graph.DexMethod):2860:2860 -> a
    5:5:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):228 -> a
    6:6:void setConstructor():224:224 -> a
    6:6:void setConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):229 -> a
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> a0
    1:1:boolean isSynchronized():128 -> a0
    1:3:com.android.tools.r8.graph.MethodAccessFlags fromSharedAccessFlags(int,boolean):88:90 -> b
    1:1:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> b0
    1:1:boolean isVarargs():160 -> b0
    1:9:java.util.List getNames():32:40 -> c
    1:1:void setAbstract():188:188 -> c0
    1:1:void setBridge():148:148 -> d0
    1:9:java.util.List getPredicates():45:53 -> e
    1:1:void setNative():176:176 -> e0
    1:1:void unsetAbstract():200:200 -> f0
    1:1:void unsetBridge():152:152 -> g0
    1:1:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):99:99 -> h
    2:2:void <init>(int):57:57 -> h
    2:2:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):99 -> h
    3:3:boolean com.android.tools.r8.graph.AccessFlags.isSet(int):268:268 -> h
    3:3:boolean isDeclaredSynchronized():240 -> h
    3:3:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):100 -> h
    4:4:void setSynchronized():132:132 -> h
    4:4:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):101 -> h
    5:5:void unsetDeclaredSynchronized():248:248 -> h
    5:5:com.android.tools.r8.graph.MethodAccessFlags fromDexAccessFlags(int):102 -> h
    1:1:void unsetConstructor():234:234 -> h0
    1:1:void unsetDeclaredSynchronized():248:248 -> i0
    1:1:void unsetVarargs():168:168 -> j0
    com.android.tools.r8.graph.AccessFlags self() -> z
com.android.tools.r8.graph.MethodAccessFlags$Builder -> com.android.tools.r8.graph.L2:
    1:1:void <init>():254:254 -> <init>
    1:1:com.android.tools.r8.graph.MethodAccessFlags$Builder set(int):258:258 -> a
    2:4:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPrivate(boolean):338:340 -> a
    2:4:com.android.tools.r8.graph.AccessFlags$BuilderBase setPrivate(boolean):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5:5:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.AccessFlags$BuilderBase.build():378:378 -> a
    5:5:com.android.tools.r8.graph.AccessFlags build():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    com.android.tools.r8.graph.AccessFlags$BuilderBase self() -> b
    1:3:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setProtected(boolean):347:349 -> b
    1:3:com.android.tools.r8.graph.AccessFlags$BuilderBase setProtected(boolean):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.graph.MethodAccessFlags$Builder setBridge():263:263 -> c
    2:6:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPublic(boolean):360:364 -> c
    2:6:com.android.tools.r8.graph.AccessFlags$BuilderBase setPublic(boolean):0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.graph.MethodAccessFlags$Builder setConstructor():268:268 -> d
    2:2:void com.android.tools.r8.graph.MethodAccessFlags.setConstructor():224:224 -> d
    2:2:com.android.tools.r8.graph.MethodAccessFlags$Builder setConstructor():268 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.graph.MethodAccessFlags$Builder setStrict(boolean):274:274 -> d
    4:4:void com.android.tools.r8.graph.MethodAccessFlags.setStrict():208:208 -> d
    4:4:com.android.tools.r8.graph.MethodAccessFlags$Builder setStrict(boolean):274 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.graph.MethodAccessFlags$Builder setStrict(boolean):276:276 -> d
    6:6:void com.android.tools.r8.graph.MethodAccessFlags.unsetStrict():216:216 -> d
    6:6:com.android.tools.r8.graph.MethodAccessFlags$Builder setStrict(boolean):276 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:com.android.tools.r8.graph.MethodAccessFlags$Builder setSynchronized(boolean):283:283 -> e
    2:2:void com.android.tools.r8.graph.MethodAccessFlags.setSynchronized():132:132 -> e
    2:2:com.android.tools.r8.graph.MethodAccessFlags$Builder setSynchronized(boolean):283 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.graph.MethodAccessFlags$Builder setSynchronized(boolean):285:285 -> e
    4:4:void com.android.tools.r8.graph.MethodAccessFlags.unsetSynchronized():140:140 -> e
    4:4:com.android.tools.r8.graph.MethodAccessFlags$Builder setSynchronized(boolean):285 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:6:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPackagePrivate():332:333 -> e
    5:6:com.android.tools.r8.graph.AccessFlags$BuilderBase setPackagePrivate():0 -> e
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setStatic():368:369 -> f
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase setStatic():0 -> f
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setSynthetic():373:374 -> g
    1:2:com.android.tools.r8.graph.AccessFlags$BuilderBase setSynthetic():0 -> g
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.graph.MethodAccessInfoCollection -> com.android.tools.r8.internal.tE:
    java.util.Map directInvokes -> a
    java.util.Map interfaceInvokes -> b
    java.util.Map staticInvokes -> c
    java.util.Map superInvokes -> d
    java.util.Map virtualInvokes -> e
    1:1:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.graph.MethodAccessInfoCollection$1):20:20 -> <init>
    2:7:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map):33:38 -> <init>
    1:1:com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder concurrentBuilder():42:42 -> a
    2:7:void forEachMethodReference(java.util.function.Consumer):55:60 -> a
    8:8:void forEachDirectInvoke(java.util.function.BiConsumer):64:64 -> a
    9:9:void forEachSuperInvokeContext(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):80:80 -> a
    10:16:com.android.tools.r8.graph.MethodAccessInfoCollection rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):93:99 -> a
    17:17:void rewriteInvokesWithLens(com.android.tools.r8.graph.MethodAccessInfoCollection$Builder,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.Invoke$Type):108:108 -> a
    18:21:void lambda$rewriteInvokesWithLens$0(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.MethodAccessInfoCollection$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):110:113 -> a
    22:22:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    22:22:void lambda$rewriteInvokesWithLens$0(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.MethodAccessInfoCollection$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):113 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    23:25:void lambda$rewriteInvokesWithLens$0(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.MethodAccessInfoCollection$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):114:116 -> a
    1:1:com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder identityBuilder():46:46 -> b
    2:2:void forEachInterfaceInvoke(java.util.function.BiConsumer):68:68 -> b
    3:3:void forEachVirtualInvokeContext(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):88:88 -> b
    1:1:com.android.tools.r8.graph.MethodAccessInfoCollection$Modifier modifier():50:50 -> c
    2:2:void forEachStaticInvoke(java.util.function.BiConsumer):72:72 -> c
    1:1:void forEachSuperInvoke(java.util.function.BiConsumer):76:76 -> d
    1:1:void forEachVirtualInvoke(java.util.function.BiConsumer):84:84 -> e
com.android.tools.r8.graph.MethodAccessInfoCollection$Builder -> com.android.tools.r8.internal.pE:
    java.util.Map directInvokes -> a
    java.util.Map interfaceInvokes -> b
    java.util.Map staticInvokes -> c
    java.util.Map superInvokes -> d
    boolean $assertionsDisabled -> f
    java.util.Map virtualInvokes -> e
    1:1:void <clinit>():121:121 -> <clinit>
    1:1:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.graph.MethodAccessInfoCollection$1):121:121 -> <init>
    2:2:void <init>(java.util.function.Supplier,com.android.tools.r8.graph.MethodAccessInfoCollection$1):121:121 -> <init>
    3:3:void <init>(java.util.function.Supplier):130:130 -> <init>
    4:9:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map):134:139 -> <init>
    1:13:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):164:176 -> a
    14:14:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeVirtualInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):216:216 -> a
    14:14:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):174 -> a
    15:15:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeSuperInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):208:208 -> a
    15:15:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):172 -> a
    16:16:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeStaticInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):200:200 -> a
    16:16:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):170 -> a
    17:17:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeInterfaceInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):191:191 -> a
    17:17:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):168 -> a
    18:18:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeDirectInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):182:182 -> a
    18:18:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):166 -> a
    19:19:boolean registerInvokeInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke$Type):176:176 -> a
    20:20:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeDirectInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):182:182 -> a
    20:20:void lambda$registerInvokeDirectInContexts$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):186 -> a
    21:21:void registerInvokeDirectInContexts(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):186:186 -> a
    22:24:boolean registerInvokeMethodInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,java.util.Map):226:228 -> a
    25:25:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$registerInvokeMethodInContext$5(com.android.tools.r8.graph.DexMethod):227:227 -> a
    26:26:com.android.tools.r8.graph.MethodAccessInfoCollection build():232:232 -> a
    1:1:java.util.Map getDirectInvokes():143:143 -> b
    2:2:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeInterfaceInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):191:191 -> b
    2:2:void lambda$registerInvokeInterfaceInContexts$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):196 -> b
    3:3:void registerInvokeInterfaceInContexts(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):196:196 -> b
    1:1:java.util.Map getInterfaceInvokes():147:147 -> c
    2:2:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeStaticInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):200:200 -> c
    2:2:void lambda$registerInvokeStaticInContexts$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):204 -> c
    3:3:void registerInvokeStaticInContexts(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):204:204 -> c
    1:1:java.util.Map getStaticInvokes():151:151 -> d
    2:2:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeSuperInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):208:208 -> d
    2:2:void lambda$registerInvokeSuperInContexts$3(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):212 -> d
    3:3:void registerInvokeSuperInContexts(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):212:212 -> d
    1:1:java.util.Map getSuperInvokes():155:155 -> e
    2:2:boolean com.android.tools.r8.graph.MethodAccessInfoCollection$Builder.registerInvokeVirtualInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):216:216 -> e
    2:2:void lambda$registerInvokeVirtualInContexts$4(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):221 -> e
    3:3:void registerInvokeVirtualInContexts(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):221:221 -> e
    1:1:java.util.Map getVirtualInvokes():159:159 -> f
    2:2:boolean registerInvokeDirectInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):182:182 -> f
    1:1:boolean registerInvokeInterfaceInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):191:191 -> g
    1:1:boolean registerInvokeStaticInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):200:200 -> h
    1:1:boolean registerInvokeSuperInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):208:208 -> i
    1:1:boolean registerInvokeVirtualInContext(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):216:216 -> j
com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder -> com.android.tools.r8.internal.qE:
    1:1:void <init>(com.android.tools.r8.graph.MethodAccessInfoCollection$1):237:237 -> <init>
    2:2:void <init>():241:241 -> <init>
com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder -> com.android.tools.r8.internal.rE:
    1:1:void <init>(com.android.tools.r8.graph.MethodAccessInfoCollection$1):245:245 -> <init>
    2:2:void <init>():249:249 -> <init>
com.android.tools.r8.graph.MethodAccessInfoCollection$Modifier -> com.android.tools.r8.internal.sE:
    1:1:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.graph.MethodAccessInfoCollection$1):253:253 -> <init>
    2:2:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map):261:261 -> <init>
    1:5:void addAll(com.android.tools.r8.graph.MethodAccessInfoCollection):265:269 -> a
com.android.tools.r8.graph.MethodArrayBacking -> com.android.tools.r8.graph.N2:
    com.android.tools.r8.graph.DexEncodedMethod[] virtualMethods -> b
    com.android.tools.r8.graph.DexEncodedMethod[] directMethods -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():22:22 -> <clinit>
    1:4:void <init>():22:25 -> <init>
    1:2:void lambda$verifyNoDuplicateMethods$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):31:32 -> a
    3:3:void lambda$verifyNoDuplicateMethods$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":36,"2":37,"3":38}}
    36:36:void lambda$verifyNoDuplicateMethods$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):32:32 -> a
    37:37:void lambda$verifyNoDuplicateMethods$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):32:32 -> a
    38:38:void lambda$verifyNoDuplicateMethods$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):32:32 -> a
    35:35:void lambda$verifyNoDuplicateMethods$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):32:32 -> a
    39:47:void addDirectMethods(java.util.Collection):88:96 -> a
    48:48:void clearDirectMethods():101:101 -> a
    49:49:void removeMethods(java.util.Set):134:134 -> a
    50:56:com.android.tools.r8.graph.DexEncodedMethod[] removeMethodsHelper(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod[]):140:146 -> a
    50:56:void removeMethods(java.util.Set):134 -> a
    57:58:void removeMethods(java.util.Set):134:135 -> a
    59:65:com.android.tools.r8.graph.DexEncodedMethod[] removeMethodsHelper(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod[]):140:146 -> a
    59:65:void removeMethods(java.util.Set):135 -> a
    66:66:void removeMethods(java.util.Set):135:135 -> a
    67:68:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):161:162 -> a
    69:69:java.lang.Object com.android.tools.r8.com.google.common.base.MoreObjects.firstNonNull(java.lang.Object,java.lang.Object):64:64 -> a
    69:69:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):161 -> a
    70:92:void virtualizeMethods(java.util.Set):197:219 -> a
    93:94:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):224:225 -> a
    95:95:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(java.util.function.Predicate):234:234 -> a
    96:96:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):254:254 -> a
    97:98:com.android.tools.r8.graph.DexEncodedMethod internalGetMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod[]):262:263 -> a
    97:98:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):254 -> a
    99:99:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> a
    99:99:com.android.tools.r8.graph.DexEncodedMethod internalGetMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod[]):263 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    99:99:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):254 -> a
    100:100:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> a
    100:100:com.android.tools.r8.graph.DexEncodedMethod internalGetMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod[]):263 -> a
    100:100:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):254 -> a
    101:101:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):256:256 -> a
    102:103:com.android.tools.r8.graph.DexEncodedMethod internalGetMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod[]):262:263 -> a
    102:103:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):256 -> a
    104:104:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> a
    104:104:com.android.tools.r8.graph.DexEncodedMethod internalGetMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod[]):263 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    104:104:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):256 -> a
    105:105:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> a
    105:105:com.android.tools.r8.graph.DexEncodedMethod internalGetMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod[]):263 -> a
    105:105:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):256 -> a
    106:106:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):287:287 -> a
    107:107:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> a
    107:107:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):287 -> a
    108:109:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):287:288 -> a
    110:110:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):294:294 -> a
    111:115:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod[]):311:315 -> a
    111:115:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):294 -> a
    116:116:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):295:295 -> a
    117:117:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> a
    117:117:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):295 -> a
    118:118:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):295:295 -> a
    119:119:void replaceAllDirectMethods(java.util.function.Function):414:414 -> a
    120:120:void clearDirectMethods():101:101 -> a
    120:120:void replaceAllDirectMethods(java.util.function.Function):415 -> a
    121:125:void replaceAllDirectMethods(java.util.function.Function):416:420 -> a
    1:1:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> b
    1:1:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):272 -> b
    2:4:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):273:275 -> b
    5:13:void addVirtualMethods(java.util.Collection):173:181 -> b
    14:14:void clearVirtualMethods():186:186 -> b
    15:16:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):191:192 -> b
    17:17:java.lang.Object com.android.tools.r8.com.google.common.base.MoreObjects.firstNonNull(java.lang.Object,java.lang.Object):64:64 -> b
    17:17:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):191 -> b
    18:19:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod):239:240 -> b
    20:20:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(java.util.function.Predicate):249:249 -> b
    21:25:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):325:329 -> b
    26:26:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod) -> b
    26:26:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):329 -> b
    27:28:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):329:330 -> b
    29:33:com.android.tools.r8.graph.DexEncodedMethod removeMethodWithIndex(int,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):151:155 -> b
    29:33:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):330 -> b
    34:34:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):332:332 -> b
    35:35:void replaceAllVirtualMethods(java.util.function.Function):425:425 -> b
    36:36:void clearVirtualMethods():186:186 -> b
    36:36:void replaceAllVirtualMethods(java.util.function.Function):426 -> b
    37:41:void replaceAllVirtualMethods(java.util.function.Function):427:431 -> b
    1:2:java.util.List directMethods():82:83 -> c
    1:2:java.lang.Iterable directMethods():22 -> c
    3:3:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):106:106 -> c
    4:5:com.android.tools.r8.graph.DexEncodedMethod removeMethodHelper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):124:125 -> c
    4:5:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):107 -> c
    6:10:com.android.tools.r8.graph.DexEncodedMethod removeMethodWithIndex(int,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):151:155 -> c
    6:10:com.android.tools.r8.graph.DexEncodedMethod removeMethodHelper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):126 -> c
    6:10:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):107 -> c
    11:11:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):110:110 -> c
    12:12:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> c
    12:12:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):110 -> c
    13:16:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):110:113 -> c
    17:18:com.android.tools.r8.graph.DexEncodedMethod removeMethodHelper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):124:125 -> c
    17:18:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):114 -> c
    19:23:com.android.tools.r8.graph.DexEncodedMethod removeMethodWithIndex(int,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):151:155 -> c
    19:23:com.android.tools.r8.graph.DexEncodedMethod removeMethodHelper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod[],java.util.function.Consumer):126 -> c
    19:23:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):114 -> c
    24:24:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):116:116 -> c
    25:25:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> c
    25:25:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):116 -> c
    26:26:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):116:116 -> c
    27:27:void lambda$removeMethod$1(com.android.tools.r8.graph.DexEncodedMethod[]):108:108 -> c
    28:28:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> c
    29:29:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> c
    29:29:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):281 -> c
    30:31:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):281:282 -> c
    32:33:void replaceDirectMethods(java.util.function.Function):349:350 -> c
    1:1:java.lang.Iterable methods():77:77 -> d
    2:2:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> d
    2:2:java.lang.Iterable methods():77 -> d
    3:3:void lambda$removeMethod$2(com.android.tools.r8.graph.DexEncodedMethod[]):115:115 -> d
    4:7:void replaceMethods(java.util.function.Function):341:344 -> d
    1:1:int numberOfDirectMethods():45:45 -> e
    2:2:void lambda$replaceDirectMethodWithVirtualMethod$3(com.android.tools.r8.graph.DexEncodedMethod[]):331:331 -> e
    3:4:void replaceVirtualMethods(java.util.function.Function):382:383 -> e
    1:1:int numberOfVirtualMethods():50:50 -> f
    2:14:com.android.tools.r8.utils.TraversalContinuation traverse(java.util.function.Function):60:72 -> f
    1:1:int size():55:55 -> g
    2:6:java.util.List internalReplaceDirectMethods(java.util.function.Function):355:359 -> g
    7:7:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> g
    7:7:java.util.List internalReplaceDirectMethods(java.util.function.Function):361 -> g
    8:21:java.util.List internalReplaceDirectMethods(java.util.function.Function):362:375 -> g
    22:22:java.util.List internalReplaceDirectMethods(java.util.function.Function):371:371 -> g
    1:1:boolean verify():39:39 -> h
    2:5:java.util.List internalReplaceVirtualMethods(java.util.function.Function):388:391 -> h
    6:6:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> h
    6:6:java.util.List internalReplaceVirtualMethods(java.util.function.Function):393 -> h
    7:20:java.util.List internalReplaceVirtualMethods(java.util.function.Function):394:407 -> h
    21:21:java.util.List internalReplaceVirtualMethods(java.util.function.Function):403:403 -> h
    1:2:java.util.List virtualMethods():167:168 -> i
    1:2:java.lang.Iterable virtualMethods():22 -> i
    1:2:boolean verifyNoDuplicateMethods():28:29 -> j
    3:3:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):42:42 -> j
    3:3:boolean verifyNoDuplicateMethods():29 -> j
com.android.tools.r8.graph.MethodCollection -> com.android.tools.r8.graph.O2:
    com.android.tools.r8.graph.DexClass holder -> a
    com.android.tools.r8.graph.MethodCollectionBacking backing -> b
    com.android.tools.r8.graph.DexEncodedMethod cachedClassInitializer -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[]):29:29 -> <init>
    2:13:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[]):26:37 -> <init>
    1:1:com.android.tools.r8.graph.MethodCollection create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod[],com.android.tools.r8.graph.DexEncodedMethod[]):45:45 -> a
    2:2:void forEachMethod(java.util.function.Consumer):98:98 -> a
    3:3:void forEachDirectMethodMatching(java.util.function.Predicate,java.util.function.Consumer):117:117 -> a
    4:5:void lambda$forEachDirectMethodMatching$1(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):119:120 -> a
    6:6:java.util.List allMethodsSorted():148:148 -> a
    7:7:int size():90:90 -> a
    7:7:java.util.List allMethodsSorted():148 -> a
    8:9:java.util.List allMethodsSorted():148:149 -> a
    10:10:void forEachMethod(java.util.function.Consumer):98:98 -> a
    10:10:java.util.List allMethodsSorted():149 -> a
    11:11:java.util.List allMethodsSorted():150:150 -> a
    12:12:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):167:167 -> a
    13:13:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethodSignature):171:171 -> a
    14:14:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):167:167 -> a
    14:14:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethodSignature):171 -> a
    15:15:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):180:180 -> a
    16:16:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(java.util.function.Predicate):184:184 -> a
    17:17:void resetClassInitializerCache():196:196 -> a
    17:17:void resetDirectMethodCaches():54 -> a
    17:17:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):223 -> a
    18:18:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):224:224 -> a
    19:19:void resetClassInitializerCache():196:196 -> a
    19:19:void resetDirectMethodCaches():54 -> a
    19:19:void replaceAllDirectMethods(java.util.function.Function):255 -> a
    20:20:void replaceAllDirectMethods(java.util.function.Function):256:256 -> a
    21:21:void resetClassInitializerCache():196:196 -> a
    21:21:void resetDirectMethodCaches():54 -> a
    21:21:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):229 -> a
    22:22:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):230:230 -> a
    23:23:void addDirectMethods(java.util.Collection):278:278 -> a
    24:25:boolean verifyCorrectnessOfMethodHolders(java.lang.Iterable):380:381 -> a
    24:25:void addDirectMethods(java.util.Collection):278 -> a
    26:26:void resetClassInitializerCache():196:196 -> a
    26:26:void resetDirectMethodCaches():54 -> a
    26:26:void addDirectMethods(java.util.Collection):279 -> a
    27:27:void addDirectMethods(java.util.Collection):280:280 -> a
    28:28:void removeMethods(java.util.Set):302:302 -> a
    29:29:void resetClassInitializerCache():196:196 -> a
    29:29:void resetDirectMethodCaches():54 -> a
    29:29:void removeMethods(java.util.Set):303 -> a
    30:30:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):308:308 -> a
    31:31:boolean verifyCorrectnessOfMethodHolders(com.android.tools.r8.graph.DexEncodedMethod[]):376:376 -> a
    31:31:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):308 -> a
    32:33:boolean verifyCorrectnessOfMethodHolders(java.lang.Iterable):380:381 -> a
    32:33:boolean verifyCorrectnessOfMethodHolders(com.android.tools.r8.graph.DexEncodedMethod[]):376 -> a
    32:33:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):308 -> a
    34:34:void resetClassInitializerCache():196:196 -> a
    34:34:void resetDirectMethodCaches():54 -> a
    34:34:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):309 -> a
    35:35:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):310:310 -> a
    36:36:void virtualizeMethods(java.util.Set):336:336 -> a
    1:1:void forEachMethodMatching(java.util.function.Predicate,java.util.function.Consumer):103:103 -> b
    2:2:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):42:42 -> b
    2:2:void forEachMethodMatching(java.util.function.Predicate,java.util.function.Consumer):103 -> b
    3:3:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):42:42 -> b
    3:3:void forEachMethodMatching(java.util.function.Predicate,java.util.function.Consumer):103 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:void lambda$forEachMethodMatching$0(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):105:106 -> b
    6:6:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethod):163:163 -> b
    7:7:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(java.util.function.Predicate):192:192 -> b
    8:8:void resetClassInitializerCache():196:196 -> b
    8:8:void resetDirectMethodCaches():54 -> b
    8:8:void resetCaches():49 -> b
    8:8:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):213 -> b
    9:9:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):214:214 -> b
    10:10:void resetClassInitializerCache():196:196 -> b
    10:10:void resetDirectMethodCaches():54 -> b
    10:10:void clearDirectMethods():284 -> b
    11:11:void clearDirectMethods():285:285 -> b
    12:12:void resetClassInitializerCache():196:196 -> b
    12:12:void resetDirectMethodCaches():54 -> b
    12:12:void resetCaches():49 -> b
    12:12:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):273 -> b
    13:13:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):274:274 -> b
    14:14:void replaceAllVirtualMethods(java.util.function.Function):261:261 -> b
    15:15:void addVirtualMethods(java.util.Collection):318:318 -> b
    16:17:boolean verifyCorrectnessOfMethodHolders(java.lang.Iterable):380:381 -> b
    16:17:void addVirtualMethods(java.util.Collection):318 -> b
    18:18:void addVirtualMethods(java.util.Collection):320:320 -> b
    19:19:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):329:329 -> b
    20:20:boolean verifyCorrectnessOfMethodHolders(com.android.tools.r8.graph.DexEncodedMethod[]):376:376 -> b
    20:20:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):329 -> b
    21:22:boolean verifyCorrectnessOfMethodHolders(java.lang.Iterable):380:381 -> b
    21:22:boolean verifyCorrectnessOfMethodHolders(com.android.tools.r8.graph.DexEncodedMethod[]):376 -> b
    21:22:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):329 -> b
    23:23:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):331:331 -> b
    1:1:boolean hasDirectMethods(java.util.function.Predicate):70:70 -> c
    2:2:void forEachVirtualMethodMatching(java.util.function.Predicate,java.util.function.Consumer):131:131 -> c
    3:4:void lambda$forEachVirtualMethodMatching$2(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):133:134 -> c
    5:5:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod):188:188 -> c
    6:6:void resetClassInitializerCache():196:196 -> c
    6:6:void resetDirectMethodCaches():54 -> c
    6:6:void replaceDirectMethods(java.util.function.Function):245 -> c
    7:7:void replaceDirectMethods(java.util.function.Function):246:246 -> c
    8:8:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):219:219 -> c
    9:9:void clearVirtualMethods():325:325 -> c
    1:1:java.lang.Iterable directMethods():155:155 -> d
    2:3:com.android.tools.r8.graph.DexEncodedMethod getMethod(java.util.function.Predicate):175:176 -> d
    2:3:boolean hasMethods(java.util.function.Predicate):62 -> d
    4:4:void resetClassInitializerCache():196:196 -> d
    4:4:void resetDirectMethodCaches():54 -> d
    4:4:void resetCaches():49 -> d
    4:4:void replaceMethods(java.util.function.Function):240 -> d
    5:5:void replaceMethods(java.util.function.Function):241:241 -> d
    6:8:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):289:291 -> d
    9:9:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> d
    9:9:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):291 -> d
    10:10:void resetClassInitializerCache():196:196 -> d
    10:10:void resetDirectMethodCaches():54 -> d
    10:10:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):292 -> d
    11:11:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):294:294 -> d
    12:12:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> d
    12:12:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):294 -> d
    13:13:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):294:294 -> d
    14:16:com.android.tools.r8.utils.TraversalContinuation lambda$hasAnnotations$3(com.android.tools.r8.graph.DexEncodedMethod):342:344 -> d
    1:1:boolean hasVirtualMethods(java.util.function.Predicate):78:78 -> e
    2:3:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():200:201 -> e
    4:4:java.lang.Iterable directMethods():155:155 -> e
    4:4:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():202 -> e
    5:12:com.android.tools.r8.graph.DexEncodedMethod getClassInitializer():202:209 -> e
    13:13:void replaceVirtualMethods(java.util.function.Function):251:251 -> e
    14:14:void lambda$verify$4(com.android.tools.r8.graph.DexEncodedMethod):356:356 -> e
    1:1:com.android.tools.r8.utils.TraversalContinuation traverse(java.util.function.Function):94:94 -> f
    2:2:java.lang.Iterable methods():140:140 -> f
    2:2:java.lang.Iterable methods(java.util.function.Predicate):144 -> f
    3:3:java.lang.Iterable methods(java.util.function.Predicate):144:144 -> f
    4:4:boolean hasAnnotations():340:340 -> f
    5:5:com.android.tools.r8.utils.TraversalContinuation traverse(java.util.function.Function):94:94 -> f
    5:5:boolean hasAnnotations():340 -> f
    6:6:boolean hasAnnotations():345:345 -> f
    7:7:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):363:363 -> f
    8:8:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":742,"2":743,"3":744}}
    742:742:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):363:363 -> f
    743:743:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):363:363 -> f
    744:744:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):363:363 -> f
    373:373:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):365:365 -> f
    374:374:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":748,"2":749,"3":750,"4":751}}
    748:748:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):367:367 -> f
    749:749:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):367:367 -> f
    750:750:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):367:367 -> f
    751:751:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):367:367 -> f
    741:741:boolean verifyCorrectnessOfMethodHolder(com.android.tools.r8.graph.DexEncodedMethod):367:367 -> f
    1:1:boolean hasVirtualMethods():74:74 -> g
    1:1:java.lang.Iterable methods():140:140 -> h
    1:1:int numberOfDirectMethods():82:82 -> i
    1:1:int numberOfVirtualMethods():86:86 -> j
    1:1:int size():90:90 -> k
    1:1:void useSortedBacking():349:349 -> l
    2:2:int size():90:90 -> l
    2:2:void useSortedBacking():349 -> l
    3:4:void useSortedBacking():349:350 -> l
    1:1:boolean verify():354:354 -> m
    2:2:void forEachMethod(java.util.function.Consumer):98:98 -> m
    2:2:boolean verify():354 -> m
    3:3:boolean verify():358:358 -> m
    1:1:java.lang.Iterable virtualMethods():159:159 -> n
com.android.tools.r8.graph.MethodCollectionBacking -> com.android.tools.r8.graph.P2:
    1:1:void <init>():15:15 -> <init>
    void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod) -> a
    void addDirectMethods(java.util.Collection) -> a
    void clearDirectMethods() -> a
    com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod) -> a
    com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(java.util.function.Predicate) -> a
    com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString) -> a
    void removeMethods(java.util.Set) -> a
    void replaceAllDirectMethods(java.util.function.Function) -> a
    com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function) -> a
    void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]) -> a
    void virtualizeMethods(java.util.Set) -> a
    1:1:void forEachMethod(java.util.function.Consumer,java.util.function.Predicate):46:46 -> a
    2:5:com.android.tools.r8.utils.TraversalContinuation lambda$forEachMethod$0(java.util.function.Predicate,java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):48:51 -> a
    6:6:void forEachDirectMethod(java.util.function.Consumer):56:56 -> a
    void addMethod(com.android.tools.r8.graph.DexEncodedMethod) -> b
    void addVirtualMethods(java.util.Collection) -> b
    void clearVirtualMethods() -> b
    com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod) -> b
    com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(java.util.function.Predicate) -> b
    void replaceAllVirtualMethods(java.util.function.Function) -> b
    com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function) -> b
    void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]) -> b
    1:1:void forEachVirtualMethod(java.util.function.Consumer):60:60 -> b
    void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod) -> c
    java.lang.Iterable directMethods() -> c
    com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod) -> c
    void replaceDirectMethods(java.util.function.Function) -> c
    java.lang.Iterable methods() -> d
    void replaceMethods(java.util.function.Function) -> d
    1:1:boolean belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> d
    int numberOfDirectMethods() -> e
    void replaceVirtualMethods(java.util.function.Function) -> e
    1:1:boolean belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> e
    int numberOfVirtualMethods() -> f
    com.android.tools.r8.utils.TraversalContinuation traverse(java.util.function.Function) -> f
    int size() -> g
    boolean verify() -> h
    java.lang.Iterable virtualMethods() -> i
com.android.tools.r8.graph.MethodMapBacking -> com.android.tools.r8.graph.Q2:
    boolean $assertionsDisabled -> b
    java.util.SortedMap methodMap -> a
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>():26:26 -> <init>
    2:3:void <init>(java.util.SortedMap):29:30 -> <init>
    1:1:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> a
    1:1:com.android.tools.r8.graph.DexEncodedMethod lambda$replaceDirectMethods$7(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):285 -> a
    2:2:com.android.tools.r8.graph.DexEncodedMethod lambda$replaceDirectMethods$7(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):285:285 -> a
    3:3:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> a
    3:3:void lambda$setDirectMethods$5(java.util.SortedMap,com.android.tools.r8.graph.DexEncodedMethod):231 -> a
    4:4:void lambda$setDirectMethods$5(java.util.SortedMap,com.android.tools.r8.graph.DexEncodedMethod):232:232 -> a
    5:5:void lambda$verify$0(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):60:60 -> a
    6:6:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexMethodSignature):238:238 -> a
    6:6:void lambda$verify$0(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):60 -> a
    7:7:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> a
    7:7:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexMethodSignature):238 -> a
    7:7:void lambda$verify$0(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):60 -> a
    8:8:void lambda$verify$0(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):60:60 -> a
    9:9:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):118:118 -> a
    10:10:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):21:21 -> a
    10:10:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):118 -> a
    11:11:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethodSignature):122:122 -> a
    11:11:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):118 -> a
    12:16:com.android.tools.r8.utils.TraversalContinuation lambda$getMethod$3(java.util.function.Predicate,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexEncodedMethod):129:133 -> a
    17:17:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):140:140 -> a
    18:18:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> a
    18:18:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(com.android.tools.r8.graph.DexMethod):141 -> a
    19:20:com.android.tools.r8.graph.DexEncodedMethod getDirectMethod(java.util.function.Predicate):146:147 -> a
    21:21:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):171:171 -> a
    22:22:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod) -> a
    22:22:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):171 -> a
    23:24:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):171:172 -> a
    25:26:void addDirectMethods(java.util.Collection):183:184 -> a
    27:27:void clearDirectMethods():197:197 -> a
    28:28:void removeMethods(java.util.Set):216:216 -> a
    29:33:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):221:225 -> a
    34:34:int size():87:87 -> a
    34:34:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):228 -> a
    35:35:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):228:228 -> a
    36:36:java.util.SortedMap createdLinkedMap(int):44:44 -> a
    36:36:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):228 -> a
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.<init>(int):165:165 -> a
    37:37:java.util.SortedMap createdLinkedMap(int):44 -> a
    37:37:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):228 -> a
    38:38:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):229:229 -> a
    39:39:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):42:42 -> a
    39:39:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):229 -> a
    40:41:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):235:236 -> a
    42:42:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> a
    42:42:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):236 -> a
    43:46:void setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):236:239 -> a
    47:53:void replaceAllDirectMethods(java.util.function.Function):295:301 -> a
    54:54:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318:318 -> a
    55:55:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):331:331 -> a
    55:55:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    56:56:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> a
    56:56:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethod.getSignature():173 -> a
    56:56:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):331 -> a
    56:56:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    57:62:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):332:337 -> a
    57:62:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    63:63:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):48:48 -> a
    63:63:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):338 -> a
    63:63:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    64:64:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexMethodSignature):238:238 -> a
    64:64:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):48 -> a
    64:64:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):338 -> a
    64:64:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    65:65:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> a
    65:65:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexMethodSignature):238 -> a
    65:65:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):48 -> a
    65:65:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):338 -> a
    65:65:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    66:69:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):49:52 -> a
    66:69:com.android.tools.r8.graph.DexEncodedMethod replaceMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function,java.util.function.Predicate):338 -> a
    66:69:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):318 -> a
    70:70:void virtualizeMethods(java.util.Set):359:359 -> a
    71:72:boolean verifyVirtualizedMethods(java.util.Set):363:364 -> a
    71:72:void virtualizeMethods(java.util.Set):359 -> a
    73:73:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> a
    73:73:boolean verifyVirtualizedMethods(java.util.Set):364 -> a
    73:73:void virtualizeMethods(java.util.Set):359 -> a
    74:75:boolean verifyVirtualizedMethods(java.util.Set):364:365 -> a
    74:75:void virtualizeMethods(java.util.Set):359 -> a
    1:1:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToDirectPool(com.android.tools.r8.graph.DexEncodedMethod):22:22 -> b
    1:1:void lambda$setVirtualMethods$6(java.util.SortedMap,com.android.tools.r8.graph.DexEncodedMethod):254 -> b
    2:2:void lambda$setVirtualMethods$6(java.util.SortedMap,com.android.tools.r8.graph.DexEncodedMethod):255:255 -> b
    3:3:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> b
    3:3:com.android.tools.r8.graph.DexEncodedMethod lambda$replaceVirtualMethods$8(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):290 -> b
    4:4:com.android.tools.r8.graph.DexEncodedMethod lambda$replaceVirtualMethods$8(java.util.function.Function,com.android.tools.r8.graph.DexEncodedMethod):290:290 -> b
    5:5:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod):152:152 -> b
    6:6:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> b
    6:6:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(com.android.tools.r8.graph.DexMethod):153 -> b
    7:8:com.android.tools.r8.graph.DexEncodedMethod getVirtualMethod(java.util.function.Predicate):158:159 -> b
    9:11:void addMethod(com.android.tools.r8.graph.DexEncodedMethod):164:166 -> b
    12:13:void addVirtualMethods(java.util.Collection):190:191 -> b
    14:14:void clearVirtualMethods():202:202 -> b
    15:19:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):244:248 -> b
    20:20:int size():87:87 -> b
    20:20:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):251 -> b
    21:21:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):251:251 -> b
    22:22:java.util.SortedMap createdLinkedMap(int):44:44 -> b
    22:22:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):251 -> b
    23:23:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.<init>(int):165:165 -> b
    23:23:java.util.SortedMap createdLinkedMap(int):44 -> b
    23:23:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):251 -> b
    24:24:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):252:252 -> b
    25:25:void com.android.tools.r8.graph.MethodCollectionBacking.forEachMethod(java.util.function.Consumer):42:42 -> b
    25:25:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):252 -> b
    26:27:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):258:259 -> b
    28:28:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> b
    28:28:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):259 -> b
    29:32:void setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):259:262 -> b
    33:39:void replaceAllVirtualMethods(java.util.function.Function):306:312 -> b
    40:40:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):345:345 -> b
    41:41:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod):17:17 -> b
    41:41:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethod.getSignature():173 -> b
    41:41:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):345 -> b
    42:42:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):346:346 -> b
    43:43:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> b
    43:43:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):347 -> b
    44:45:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):350:351 -> b
    46:46:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> b
    46:46:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):351 -> b
    47:47:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):351:351 -> b
    48:48:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod) -> b
    48:48:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):352 -> b
    49:49:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexMethodSignature):238:238 -> b
    49:49:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):48 -> b
    49:49:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):352 -> b
    50:50:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):242:242 -> b
    50:50:boolean com.android.tools.r8.graph.DexMethod.match(com.android.tools.r8.graph.DexMethodSignature):238 -> b
    50:50:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):48 -> b
    50:50:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):352 -> b
    51:54:void replace(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexEncodedMethod):49:52 -> b
    51:54:com.android.tools.r8.graph.DexEncodedMethod replaceDirectMethodWithVirtualMethod(com.android.tools.r8.graph.DexMethod,java.util.function.Function):352 -> b
    1:1:java.lang.Iterable directMethods():108:108 -> c
    2:11:com.android.tools.r8.graph.DexEncodedMethod getMethod(java.util.function.Predicate):126:135 -> c
    12:12:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):177:177 -> c
    13:13:boolean com.android.tools.r8.graph.MethodCollectionBacking.belongsToVirtualPool(com.android.tools.r8.graph.DexEncodedMethod):26:26 -> c
    13:13:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):177 -> c
    14:15:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):177:178 -> c
    16:16:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):207:207 -> c
    17:17:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexMethod) -> c
    17:17:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethod.getSignature():173 -> c
    17:17:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):207 -> c
    18:18:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethodSignature):211:211 -> c
    18:18:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethod):207 -> c
    19:19:void replaceDirectMethods(java.util.function.Function):285:285 -> c
    1:1:java.lang.Iterable methods():103:103 -> d
    2:6:void replaceMethods(java.util.function.Function):270:274 -> d
    7:7:com.android.tools.r8.graph.DexEncodedMethod getMethod(com.android.tools.r8.graph.DexMethodSignature):122:122 -> d
    7:7:void replaceMethods(java.util.function.Function):275 -> d
    8:8:com.android.tools.r8.graph.DexEncodedMethod removeMethod(com.android.tools.r8.graph.DexMethodSignature):211:211 -> d
    8:8:void replaceMethods(java.util.function.Function):276 -> d
    9:9:void replaceMethods(java.util.function.Function):278:278 -> d
    1:1:int numberOfDirectMethods():67:67 -> e
    2:3:int numberOfMethodsMatching(java.util.function.Predicate):77:78 -> e
    2:3:int numberOfDirectMethods():67 -> e
    4:4:void replaceVirtualMethods(java.util.function.Function):290:290 -> e
    1:1:int numberOfVirtualMethods():72:72 -> f
    2:3:int numberOfMethodsMatching(java.util.function.Predicate):77:78 -> f
    2:3:int numberOfVirtualMethods():72 -> f
    4:10:com.android.tools.r8.utils.TraversalContinuation traverse(java.util.function.Function):92:98 -> f
    11:11:void lambda$removeMethods$4(com.android.tools.r8.graph.DexEncodedMethod):216:216 -> f
    1:1:int size():87:87 -> g
    1:1:boolean verify():58:58 -> h
    1:1:java.lang.Iterable virtualMethods():113:113 -> i
    1:1:com.android.tools.r8.graph.MethodMapBacking createSorted():34:34 -> j
    1:1:java.util.SortedMap createdLinkedMap():39:39 -> k
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.<init>():174:174 -> k
    2:2:java.util.SortedMap createdLinkedMap():39 -> k
    1:1:java.util.Iterator lambda$directMethods$1():108:108 -> l
    1:1:java.util.Iterator lambda$virtualMethods$2():113:113 -> m
com.android.tools.r8.graph.MethodResolutionResult -> com.android.tools.r8.graph.U2:
    1:1:void <init>():22:22 -> <init>
    com.android.tools.r8.graph.DexClass getInitialResolutionHolder() -> a
    boolean isIllegalAccessErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
    com.android.tools.r8.graph.DexEncodedMethod lookupInvokeDirectTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
    com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
    com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate) -> a
    com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass) -> a
    1:1:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness):142:142 -> a
    com.android.tools.r8.utils.OptionalBool isAccessibleForVirtualDispatchFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> b
    boolean isNoSuchMethodErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> b
    com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSpecialTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> b
    com.android.tools.r8.graph.DexEncodedMethod lookupInvokeStaticTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> c
    com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> c
    1:1:com.android.tools.r8.graph.DexClassAndMember com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult.getResolutionPair():164:164 -> c
    com.android.tools.r8.graph.DexClass getResolvedHolder() -> d
    com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSuperTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> d
    com.android.tools.r8.graph.MethodResolutionResult asMethodResolutionResult() -> f
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    boolean isSuccessfulMemberResolutionResult() -> j
    com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionResult asFailedResolution() -> k
    com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult asSingleResolution() -> l
    com.android.tools.r8.graph.DexClassAndMethod getResolutionPair() -> m
    com.android.tools.r8.graph.DexEncodedMethod getResolvedMethod() -> n
    com.android.tools.r8.graph.ProgramMethod getResolvedProgramMethod() -> o
    1:1:com.android.tools.r8.graph.DexEncodedMethod getSingleTarget():97:97 -> p
    boolean isSingleResolution() -> q
    boolean isVirtualTarget() -> r
com.android.tools.r8.graph.MethodResolutionResult$ArrayCloneMethodResult -> com.android.tools.r8.graph.R2:
    com.android.tools.r8.graph.MethodResolutionResult$ArrayCloneMethodResult INSTANCE -> a
    1:1:void <clinit>():844:844 -> <clinit>
    1:1:void <init>():846:846 -> <init>
    com.android.tools.r8.graph.DexEncodedMethod lookupInvokeDirectTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
    1:1:com.android.tools.r8.graph.LookupResult$LookupResultSuccess com.android.tools.r8.graph.LookupResult.getIncompleteEmptyResult():56:56 -> a
    1:1:com.android.tools.r8.graph.LookupResult com.android.tools.r8.graph.MethodResolutionResult$EmptyResult.lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):808 -> a
    1:1:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):842 -> a
    2:2:com.android.tools.r8.graph.LookupResult$LookupResultSuccess com.android.tools.r8.graph.LookupResult.getIncompleteEmptyResult():56:56 -> a
    2:2:com.android.tools.r8.graph.LookupResult com.android.tools.r8.graph.MethodResolutionResult$EmptyResult.lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):817 -> a
    2:2:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):842 -> a
    3:3:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):853:853 -> a
    1:1:com.android.tools.r8.utils.OptionalBool isAccessibleForVirtualDispatchFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):859:859 -> b
    com.android.tools.r8.graph.DexEncodedMethod lookupInvokeStaticTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> c
    com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> c
    com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSuperTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> d
    boolean isVirtualTarget() -> r
    com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> s
com.android.tools.r8.graph.MethodResolutionResult$ClassNotFoundResult -> com.android.tools.r8.graph.S2:
    com.android.tools.r8.graph.MethodResolutionResult$ClassNotFoundResult INSTANCE -> a
    1:1:void <clinit>():914:914 -> <clinit>
    1:1:void <init>():916:916 -> <init>
com.android.tools.r8.graph.MethodResolutionResult$EmptyResult -> com.android.tools.r8.graph.T2:
    1:1:void <init>():776:776 -> <init>
    1:1:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy):776:776 -> a
    com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSpecialTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> b
    com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> s
com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionResult -> com.android.tools.r8.graph.U2$a:
    1:1:void <init>():874:874 -> <init>
    void forEachFailureDependency(java.util.function.Consumer) -> a
    com.android.tools.r8.graph.DexEncodedMethod lookupInvokeDirectTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> a
    1:1:com.android.tools.r8.graph.LookupResult$LookupResultSuccess com.android.tools.r8.graph.LookupResult.getIncompleteEmptyResult():56:56 -> a
    1:1:com.android.tools.r8.graph.LookupResult com.android.tools.r8.graph.MethodResolutionResult$EmptyResult.lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):808 -> a
    1:1:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):874 -> a
    2:2:com.android.tools.r8.graph.LookupResult$LookupResultSuccess com.android.tools.r8.graph.LookupResult.getIncompleteEmptyResult():56:56 -> a
    2:2:com.android.tools.r8.graph.LookupResult com.android.tools.r8.graph.MethodResolutionResult$EmptyResult.lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):817 -> a
    2:2:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):874 -> a
    3:3:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):894:894 -> a
    1:1:com.android.tools.r8.utils.OptionalBool isAccessibleForVirtualDispatchFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):900:900 -> b
    com.android.tools.r8.graph.DexEncodedMethod lookupInvokeStaticTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> c
    com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> c
    com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSuperTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> d
    boolean isFailedResolution() -> h
    com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionResult asFailedResolution() -> k
    boolean isVirtualTarget() -> r
    com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> s
    boolean hasMethodsCausingError() -> t
com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionWithCausingMethods -> com.android.tools.r8.graph.V2:
    java.util.Collection methodsCausingError -> a
    1:1:void <init>(java.util.Collection,com.android.tools.r8.graph.MethodResolutionResult$1):926:926 -> <init>
    2:3:void <init>(java.util.Collection):930:931 -> <init>
    1:1:void forEachFailureDependency(java.util.function.Consumer):937:937 -> a
    1:1:boolean hasMethodsCausingError():942:942 -> t
com.android.tools.r8.graph.MethodResolutionResult$IllegalAccessOrNoSuchMethodResult -> com.android.tools.r8.graph.W2:
    com.android.tools.r8.graph.DexClass initialResolutionHolder -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():976:976 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexClass,java.util.Collection):982:983 -> <init>
    1:14:boolean isIllegalAccessErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):994:1007 -> a
    15:19:void lambda$isIllegalAccessErrorResult$0(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):1001:1005 -> a
    20:20:void lambda$isIllegalAccessErrorResult$0(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):1002:1002 -> a
    21:21:void lambda$verifyInvalidSymbolicReference$1(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexEncodedMethod):1030:1030 -> a
    22:22:void lambda$verifyInvalidSymbolicReference$1(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexEncodedMethod):1029:1029 -> a
    1:10:boolean isNoSuchMethodErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):1012:1021 -> b
    1:7:boolean verifyInvalidSymbolicReference():1026:1032 -> u
com.android.tools.r8.graph.MethodResolutionResult$IncompatibleClassResult -> com.android.tools.r8.graph.X2:
    com.android.tools.r8.graph.MethodResolutionResult$IncompatibleClassResult INSTANCE -> b
    1:2:void <clinit>():947:948 -> <clinit>
    1:1:void <init>(java.util.Collection):951:951 -> <init>
    1:3:com.android.tools.r8.graph.MethodResolutionResult$IncompatibleClassResult create(java.util.Collection):955:957 -> a
com.android.tools.r8.graph.MethodResolutionResult$NoSuchMethodResult -> com.android.tools.r8.graph.U2$b:
    com.android.tools.r8.graph.MethodResolutionResult$NoSuchMethodResult INSTANCE -> a
    1:1:void <clinit>():968:968 -> <clinit>
    1:1:void <init>():966:966 -> <init>
    boolean isNoSuchMethodErrorResult(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy) -> b
com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult -> com.android.tools.r8.graph.U2$c:
    com.android.tools.r8.graph.DexClass initialResolutionHolder -> a
    com.android.tools.r8.graph.DexClass resolvedHolder -> b
    com.android.tools.r8.graph.DexEncodedMethod resolvedMethod -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():164:164 -> <clinit>
    1:10:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):173:182 -> <init>
    11:11:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):181:181 -> <init>
    boolean lambda$lookupInvokeSuperTarget$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass) -> a
    1:3:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isMemberAccessible(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):49:51 -> a
    1:3:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):247 -> a
    4:4:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isMemberAccessible(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):48:48 -> a
    4:4:com.android.tools.r8.utils.OptionalBool isAccessibleFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):247 -> a
    5:6:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult withInitialResolutionHolder(com.android.tools.r8.graph.DexClass):186:187 -> a
    7:7:com.android.tools.r8.graph.DexClass getInitialResolutionHolder():193:193 -> a
    8:12:com.android.tools.r8.graph.DexEncodedMethod lookupInvokeDirectTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):345:349 -> a
    13:78:com.android.tools.r8.graph.DexClassAndMethod internalInvokeSpecialOrSuper(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.BiPredicate):360:425 -> a
    79:79:boolean isSuperclass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):433:433 -> a
    79:79:boolean lambda$lookupInvokeSpecialTarget$0(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):276 -> a
    80:82:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):443:445 -> a
    83:83:com.android.tools.r8.graph.LookupResult$LookupResultFailure com.android.tools.r8.graph.LookupResult.createFailedResult():52:52 -> a
    83:83:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):446 -> a
    84:91:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):448:455 -> a
    92:93:com.android.tools.r8.utils.collections.DexClassAndMethodSet com.android.tools.r8.utils.collections.DexClassAndMethodSet.create(com.android.tools.r8.graph.DexClassAndMethod):40:41 -> a
    92:93:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):455 -> a
    94:95:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):456:457 -> a
    96:96:com.android.tools.r8.graph.LookupResult$LookupResultSuccess com.android.tools.r8.graph.LookupResult.createResult(com.android.tools.r8.utils.collections.DexClassAndMethodSet,java.util.List,java.util.List,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$LookupResultCollectionState):48:48 -> a
    96:96:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):454 -> a
    97:98:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):462:463 -> a
    99:99:com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder com.android.tools.r8.graph.LookupResult$LookupResultSuccess.builder():85:85 -> a
    99:99:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):463 -> a
    100:131:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.InstantiatedSubTypeInfo,com.android.tools.r8.graph.PinnedPredicate):464:495 -> a
    132:139:void lambda$lookupVirtualDispatchTargets$2(com.android.tools.r8.graph.LookupCompletenessHelper,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder,com.android.tools.r8.graph.DexProgramClass):468:475 -> a
    140:176:void addVirtualDispatchTarget(com.android.tools.r8.graph.DexClassAndMethod,boolean,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder):558:594 -> a
    140:176:void lambda$lookupVirtualDispatchTargets$2(com.android.tools.r8.graph.LookupCompletenessHelper,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder,com.android.tools.r8.graph.DexProgramClass):474 -> a
    177:179:void lambda$lookupVirtualDispatchTargets$3(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder,com.android.tools.r8.ir.desugar.LambdaDescriptor):479:479 -> a
    181:189:void lambda$lookupVirtualDispatchTargets$3(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder,com.android.tools.r8.ir.desugar.LambdaDescriptor):481:489 -> a
    190:226:void addVirtualDispatchTarget(com.android.tools.r8.graph.DexClassAndMethod,boolean,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder):558:594 -> a
    190:226:void lambda$lookupVirtualDispatchTargets$3(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.LookupResult$LookupResultSuccess$Builder,com.android.tools.r8.ir.desugar.LambdaDescriptor):488 -> a
    227:230:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):504:507 -> a
    231:248:com.android.tools.r8.graph.LookupResult lookupVirtualDispatchTargets(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):506:523 -> a
    249:249:com.android.tools.r8.graph.InstantiatedSubTypeInfo instantiatedSubTypeInfoForInstantiatedType(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.Box):533:533 -> a
    250:261:void lambda$instantiatedSubTypeInfoForInstantiatedType$5(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):534:545 -> a
    262:264:void lambda$instantiatedSubTypeInfoForInstantiatedType$4(java.util.function.Consumer,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexProgramClass):536:538 -> a
    265:267:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.AppInfoWithClassHierarchy):606:608 -> a
    268:270:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):623:625 -> a
    271:271:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    271:271:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):625 -> a
    272:277:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):626:631 -> a
    278:289:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):704:715 -> a
    278:289:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):633 -> a
    290:290:boolean com.android.tools.r8.graph.MethodResolutionResult.isArrayCloneMethodResult():0:0 -> a
    290:290:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):715 -> a
    290:290:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):633 -> a
    291:291:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):715:715 -> a
    291:291:com.android.tools.r8.graph.LookupTarget lookupVirtualDispatchTarget(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):633 -> a
    292:304:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):642:654 -> a
    305:305:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):727:727 -> a
    305:305:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):656 -> a
    306:306:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):576:576 -> a
    306:306:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):727 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    306:306:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):656 -> a
    307:307:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):576:576 -> a
    307:307:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):727 -> a
    307:307:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):656 -> a
    308:310:com.android.tools.r8.graph.DexEncodedMethod lookupOverrideCandidate(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):728:730 -> a
    308:310:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):656 -> a
    311:312:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):657:658 -> a
    313:319:com.android.tools.r8.graph.DexEncodedMethod findWideningOverride(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):738:744 -> a
    313:319:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):658 -> a
    320:320:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.lookupVirtualMethod(com.android.tools.r8.graph.DexMethod):576:576 -> a
    320:320:com.android.tools.r8.graph.DexEncodedMethod findWideningOverride(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):744 -> a
    320:320:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):658 -> a
    321:323:com.android.tools.r8.graph.DexEncodedMethod findWideningOverride(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):746:748 -> a
    321:323:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):658 -> a
    324:324:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):670:670 -> a
    325:335:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):664:674 -> a
    336:347:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):685:696 -> a
    336:347:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):677 -> a
    348:348:boolean com.android.tools.r8.graph.MethodResolutionResult.isArrayCloneMethodResult():0:0 -> a
    348:348:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):696 -> a
    348:348:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):677 -> a
    349:349:com.android.tools.r8.graph.DexClassAndMethod lookupMaximallySpecificDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.Consumer):696:696 -> a
    349:349:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,java.util.function.Consumer):677 -> a
    350:357:boolean isOverriding(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):765:772 -> a
    1:1:com.android.tools.r8.graph.DexEncodedMethod getResolvedMember():203:203 -> b
    1:1:com.android.tools.r8.graph.DexEncodedMember getResolvedMember():164 -> b
    2:5:com.android.tools.r8.utils.OptionalBool isAccessibleForVirtualDispatchFrom(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppInfoWithClassHierarchy):253:256 -> b
    6:7:com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSpecialTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):274:275 -> b
    1:5:com.android.tools.r8.graph.DexEncodedMethod lookupInvokeStaticTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):324:328 -> c
    6:8:com.android.tools.r8.graph.DexClassAndMethod lookupVirtualDispatchTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):614:614 -> c
    1:1:com.android.tools.r8.graph.DexClass getResolvedHolder():198:198 -> d
    2:2:com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSuperTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):299:299 -> d
    3:3:boolean isSuperclass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):433:433 -> d
    3:3:com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSuperTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):301 -> d
    4:5:com.android.tools.r8.graph.DexClassAndMethod lookupInvokeSuperTarget(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfoWithClassHierarchy):305:306 -> d
    com.android.tools.r8.graph.SuccessfulMemberResolutionResult asSuccessfulMemberResolutionResult() -> g
    com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult asSingleResolution() -> l
    1:1:com.android.tools.r8.graph.DexClassAndMethod getResolutionPair():220:220 -> m
    1:1:com.android.tools.r8.graph.DexEncodedMethod getResolvedMethod():208:208 -> n
    1:2:com.android.tools.r8.graph.ProgramMethod getResolvedProgramMethod():213:214 -> o
    boolean isSingleResolution() -> q
    1:1:boolean isVirtualTarget():261:261 -> r
com.android.tools.r8.graph.NamingLensComparable -> com.android.tools.r8.internal.qG:
    1:1:int compareToWithNamingLens(com.android.tools.r8.graph.NamingLensComparable,com.android.tools.r8.naming.NamingLens):13:13 -> a
    2:3:int com.android.tools.r8.utils.structural.CompareToVisitorWithNamingLens.run(java.lang.Object,java.lang.Object,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):23:24 -> a
    2:3:int compareToWithNamingLens(com.android.tools.r8.graph.NamingLensComparable,com.android.tools.r8.naming.NamingLens):13 -> a
com.android.tools.r8.graph.NestHostClassAttribute -> com.android.tools.r8.internal.AG:
    com.android.tools.r8.graph.DexType nestHost -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType):21:22 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexType lambda$specify$0(com.android.tools.r8.graph.NestHostClassAttribute):18:18 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):18:18 -> a
    3:3:com.android.tools.r8.graph.DexType getNestHost():26:26 -> a
    4:5:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens):34:35 -> a
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():45:45 -> n
com.android.tools.r8.graph.NestMemberClassAttribute -> com.android.tools.r8.internal.BG:
    com.android.tools.r8.graph.DexType nestMember -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():15:15 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType):23:24 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexType lambda$specify$0(com.android.tools.r8.graph.NestMemberClassAttribute):20:20 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):20:20 -> a
    3:3:com.android.tools.r8.graph.DexType getNestMember():32:32 -> a
    4:5:void write(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.naming.NamingLens):36:37 -> a
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():47:47 -> n
com.android.tools.r8.graph.NestedGraphLens -> com.android.tools.r8.graph.Y2:
    boolean $assertionsDisabled -> m
    java.util.function.Function methodMap -> g
    com.android.tools.r8.utils.collections.EmptyBidirectionalOneToOneMap EMPTY_METHOD_MAP -> k
    com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap fieldMap -> f
    com.android.tools.r8.utils.collections.EmptyBidirectionalOneToOneMap EMPTY_FIELD_MAP -> j
    java.util.Map EMPTY_TYPE_MAP -> l
    com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap newMethodSignatures -> i
    java.util.Map typeMap -> h
    1:7:void <clinit>():29:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):68:68 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map):80:80 -> <init>
    3:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap):89:93 -> <init>
    8:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap):90:90 -> <init>
    9:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.function.Function,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap):102:106 -> <init>
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod) -> a
    com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type) -> a
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):119:119 -> a
    2:3:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):129:130 -> a
    4:4:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):138:138 -> a
    5:5:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    5:5:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):138 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):139:139 -> a
    7:17:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):190:200 -> a
    18:21:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):198:201 -> a
    22:22:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> a
    22:22:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):202 -> a
    23:23:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReboundReference(com.android.tools.r8.graph.DexMember):108:108 -> a
    23:23:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):203 -> a
    24:24:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):206:206 -> a
    25:25:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):205:205 -> a
    26:31:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):204:209 -> a
    32:32:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):208:208 -> a
    33:52:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):207:226 -> a
    53:53:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> a
    53:53:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):227 -> a
    54:56:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):228:230 -> a
    57:70:com.android.tools.r8.ir.code.Invoke$Type mapVirtualInterfaceInvocationTypes(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):282:295 -> a
    71:74:void lambda$toString$0(java.lang.StringBuilder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):317:320 -> a
    75:76:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):324:325 -> a
    77:77:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":410,"2":411,"3":412}}
    410:410:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):325:325 -> a
    411:411:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):325:325 -> a
    412:412:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):325:325 -> a
    403:403:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):326:326 -> a
    404:409:void lambda$toString$1(java.lang.StringBuilder,java.util.Set,com.android.tools.r8.graph.DexField):323:328 -> a
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):124:124 -> b
    2:3:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):147:148 -> b
    4:12:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):158:166 -> b
    13:16:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):164:167 -> b
    17:17:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReboundReference(com.android.tools.r8.graph.DexMember):108:108 -> b
    17:17:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):168 -> b
    18:18:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> b
    18:18:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):169 -> b
    19:22:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):169:172 -> b
    23:30:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):171:178 -> b
    31:31:com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder com.android.tools.r8.graph.GraphLens$MemberLookupResult$Builder.setReference(com.android.tools.r8.graph.DexMember):103:103 -> b
    31:31:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):179 -> b
    32:35:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):179:182 -> b
    36:38:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):181:183 -> b
    1:1:com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType):153:153 -> d
    2:7:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):238:243 -> d
    8:8:com.android.tools.r8.graph.DexField internalGetNextFieldSignature(com.android.tools.r8.graph.DexField):252:252 -> d
    9:9:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):307:307 -> d
    1:1:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):257:257 -> e
    1:1:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):114:114 -> f
    2:2:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):262:262 -> f
    1:1:boolean isContextFreeForMethods():302:302 -> g
    boolean isLegitimateToHaveEmptyMappings() -> m
    1:19:java.lang.String toString():313:331 -> toString
com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl -> com.android.tools.r8.graph.b3:
    java.util.Map classesWithAllocationSiteTracking -> a
    java.util.Set annotationsWithUnknownSubtypeHierarchy -> c
    java.util.Set interfacesWithUnknownSubtypeHierarchy -> d
    boolean $assertionsDisabled -> g
    java.util.Set classesWithoutAllocationSiteTracking -> b
    java.util.Map instantiatedLambdas -> e
    java.util.Map instantiatedHierarchy -> f
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$1):35:35 -> <init>
    2:2:void <init>():66:66 -> <init>
    3:29:void <init>():38:64 -> <init>
    void mutate(java.util.function.Consumer,com.android.tools.r8.graph.AppInfo) -> a
    1:1:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder builder(boolean,com.android.tools.r8.shaking.GraphReporter):71:71 -> a
    2:10:boolean hasInstantiatedStrictSubtype(com.android.tools.r8.graph.DexProgramClass):105:113 -> a
    11:11:java.util.Set getImmediateSubtypesInInstantiatedHierarchy(com.android.tools.r8.graph.DexType):129:129 -> a
    12:12:void forEachClassWithKnownAllocationSites(java.util.function.BiConsumer):135:135 -> a
    13:13:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):146:146 -> a
    14:14:boolean lambda$withoutPrunedItems$0(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.graph.DexEncodedMethod):158:158 -> a
    15:15:void forEachInstantiatedSubType(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.graph.AppInfo):173:173 -> a
    16:17:com.android.tools.r8.utils.TraversalContinuation lambda$forEachInstantiatedSubType$1(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):176:177 -> a
    18:19:com.android.tools.r8.utils.TraversalContinuation lambda$forEachInstantiatedSubType$2(java.util.function.Consumer,com.android.tools.r8.ir.desugar.LambdaDescriptor):180:181 -> a
    20:67:com.android.tools.r8.utils.TraversalContinuation traverseInstantiatedSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Function,java.util.function.Function,com.android.tools.r8.graph.AppInfo):191:238 -> a
    68:72:void lambda$traverseInstantiatedSubtypes$3(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexType,java.util.Set):196:200 -> a
    73:73:java.util.Set getInstantiatedLambdaInterfaces():242:242 -> a
    74:89:void removeAllocationsForPrunedItems(com.android.tools.r8.graph.PrunedItems):251:266 -> a
    90:90:boolean lambda$removeAllocationsForPrunedItems$4(java.util.Set,java.util.Map$Entry):257:257 -> a
    91:91:boolean lambda$removeAllocationsForPrunedItems$5(java.util.Set,com.android.tools.r8.graph.DexProgramClass):259:259 -> a
    92:107:boolean verifyAllocatedTypesAreLive(java.util.Set,com.android.tools.r8.shaking.MissingClasses,com.android.tools.r8.graph.DexDefinitionSupplier):271:286 -> a
    108:108:boolean verifyAllocatedTypesAreLive(java.util.Set,com.android.tools.r8.shaking.MissingClasses,com.android.tools.r8.graph.DexDefinitionSupplier):284:284 -> a
    1:1:boolean isImmediateInterfaceOfInstantiatedLambda(com.android.tools.r8.graph.DexProgramClass):125:125 -> b
    2:13:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):150:161 -> b
    14:14:boolean lambda$removeAllocationsForPrunedItems$6(java.util.Set,com.android.tools.r8.graph.DexProgramClass):261:261 -> b
    1:8:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):85:92 -> c
    9:9:boolean lambda$removeAllocationsForPrunedItems$7(java.util.Set,com.android.tools.r8.graph.DexProgramClass):264:264 -> c
    1:1:boolean isInterfaceWithUnknownSubtypeHierarchy(com.android.tools.r8.graph.DexProgramClass):119:119 -> d
com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder -> com.android.tools.r8.graph.a3:
    com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data data -> h
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():291:291 -> <clinit>
    1:1:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$1):291:291 -> <init>
    2:3:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter):307:308 -> <init>
    1:1:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":520,"2":521,"3":522}}
    520:520:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):512:512 -> a
    521:521:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    521:521:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):512 -> a
    522:522:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    522:522:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):512 -> a
    514:519:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType,java.util.List):513:518 -> a
    523:528:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl build(com.android.tools.r8.graph.DexDefinitionSupplier):312:317 -> a
    529:530:void mutate(java.util.function.Consumer,com.android.tools.r8.graph.AppInfo):324:325 -> a
    531:535:boolean recordDirectAllocationSite(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.AppInfo):355:359 -> a
    536:543:boolean shouldTrackAllocationSitesForClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.InstantiationReason):330:337 -> a
    536:543:boolean recordDirectAllocationSite(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.AppInfo):360 -> a
    544:553:boolean recordDirectAllocationSite(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.AppInfo):361:370 -> a
    554:554:boolean recordInstantiatedAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):377:377 -> a
    555:555:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    555:555:boolean recordInstantiatedAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):378 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    556:556:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    556:556:boolean recordInstantiatedAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):378 -> a
    557:559:boolean recordInstantiatedAnnotation(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):378:380 -> a
    560:560:void recordInstantiatedLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfo):398:398 -> a
    561:563:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):417:419 -> a
    561:563:void recordInstantiatedLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.AppInfo):399 -> a
    564:564:void lambda$repopulateInstantiatedHierarchy$2(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):406:406 -> a
    565:567:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):417:419 -> a
    565:567:void lambda$repopulateInstantiatedHierarchy$5(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):413 -> a
    568:569:void injectInterfaces(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):425:426 -> a
    570:574:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClass):431:435 -> a
    575:586:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):441:452 -> a
    587:589:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):417:419 -> a
    587:589:void populateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):453 -> a
    590:624:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder rewrittenWithLens(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):466:500 -> a
    625:625:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder rewrittenWithLens(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1136,"2":1137,"3":1138}}
    1136:1136:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder rewrittenWithLens(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):500:500 -> a
    1137:1137:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1137:1137:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder rewrittenWithLens(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):500 -> a
    1138:1138:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1138:1138:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder rewrittenWithLens(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):500 -> a
    1126:1135:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder rewrittenWithLens(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):501:510 -> a
    1139:1139:void lambda$rewrittenWithLens$6(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):469:469 -> a
    1140:1140:void lambda$rewrittenWithLens$6(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1617,"2":1618,"3":1619}}
    1617:1617:void lambda$rewrittenWithLens$6(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):469:469 -> a
    1618:1618:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1618:1618:void lambda$rewrittenWithLens$6(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):469 -> a
    1619:1619:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1619:1619:void lambda$rewrittenWithLens$6(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):469 -> a
    1610:1616:void lambda$rewrittenWithLens$6(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):470:476 -> a
    1620:1620:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):480:480 -> a
    1621:1621:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2119,"2":2120,"3":2121}}
    2119:2119:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):480:480 -> a
    2120:2120:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    2120:2120:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):480 -> a
    2121:2121:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    2121:2121:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):480 -> a
    2102:2114:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):481:493 -> a
    2115:2117:java.util.Set com.android.tools.r8.utils.LensUtils.rewrittenWithRenamedSignature(java.util.Set,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):19:21 -> a
    2115:2117:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):495 -> a
    2118:2118:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):494:494 -> a
    2122:2124:void lambda$validate$10(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass,java.util.Set):527:529 -> a
    2125:2130:void lambda$validate$12(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,java.util.List):539:544 -> a
    2131:2131:void lambda$validate$12(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,java.util.List):543:543 -> a
    2132:2134:void lambda$validate$13(com.android.tools.r8.graph.DexType,java.util.Set):552:554 -> a
    2135:2135:boolean isImmediateSuperType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):575:575 -> a
    2135:2135:void lambda$validate$13(com.android.tools.r8.graph.DexType,java.util.Set):554 -> a
    2136:2136:void lambda$validate$13(com.android.tools.r8.graph.DexType,java.util.Set):554:554 -> a
    2137:2138:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):562:563 -> a
    2139:2140:boolean typeIsInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):570:571 -> a
    2139:2140:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563 -> a
    2141:2141:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    2142:2142:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2706,"2":2707,"3":2708,"4":2709,"5":2710}}
    2706:2706:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    2707:2707:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    2708:2708:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    2709:2709:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    2710:2710:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    2705:2705:boolean verifyAllSuperTypesAreInHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Iterable):563:563 -> a
    1:1:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):387:387 -> b
    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    2:2:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):388 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    3:3:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):388 -> b
    4:6:boolean recordInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppInfo):388:390 -> b
    7:7:java.util.List lambda$recordInstantiatedLambdaInterface$1(com.android.tools.r8.graph.DexType):398:398 -> b
    8:18:void repopulateInstantiatedHierarchy(com.android.tools.r8.graph.DexDefinitionSupplier):403:413 -> b
    19:19:void lambda$repopulateInstantiatedHierarchy$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):408:408 -> b
    1:1:void lambda$repopulateInstantiatedHierarchy$4(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):410:410 -> c
    2:27:boolean validate(com.android.tools.r8.graph.DexDefinitionSupplier):525:550 -> c
    1:3:void lambda$validate$11(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexProgramClass):533:535 -> d
    1:1:java.util.Set lambda$recordDirectAllocationSite$0(com.android.tools.r8.graph.DexProgramClass):364:364 -> e
    1:1:java.util.Set lambda$rewrittenWithLens$7(com.android.tools.r8.graph.DexProgramClass):493:493 -> f
    1:3:void markNoLongerInstantiated(com.android.tools.r8.graph.DexProgramClass):457:459 -> g
com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data -> com.android.tools.r8.graph.Z2:
    com.android.tools.r8.shaking.GraphReporter reporter -> b
    boolean trackAllocationSites -> a
    1:1:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$1):293:293 -> <init>
    2:4:void <init>(boolean,com.android.tools.r8.shaking.GraphReporter):298:300 -> <init>
    1:1:boolean access$300(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data):293:293 -> a
    1:1:com.android.tools.r8.shaking.GraphReporter access$400(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder$Data):293:293 -> b
com.android.tools.r8.graph.ObjectToOffsetMapping -> com.android.tools.r8.internal.oK:
    com.android.tools.r8.ir.conversion.LensCodeRewriterUtils lensCodeRewriter -> e
    boolean $assertionsDisabled -> p
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.utils.structural.CompareToVisitor compareToVisitor -> o
    int lazyDexStringsCount -> a
    com.android.tools.r8.graph.InitClassLens initClassLens -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap callSites -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap methodHandles -> m
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap fields -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap strings -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap types -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap methods -> i
    com.android.tools.r8.graph.DexProgramClass[] classes -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap protos -> g
    com.android.tools.r8.graph.DexString firstJumboString -> n
    com.android.tools.r8.graph.GraphLens graphLens -> c
    1:1:void <clinit>():28:28 -> <clinit>
    1:51:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.InitClassLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,java.util.Collection,int,com.android.tools.r8.utils.Timing):70:120 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap access$000(com.android.tools.r8.graph.ObjectToOffsetMapping):28:28 -> a
    2:15:void computeAndReindexForLazyDexStrings(java.util.List):137:150 -> a
    16:16:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap com.android.tools.r8.graph.ObjectToOffsetMapping.createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer):176:176 -> a
    16:16:void computeAndReindexForLazyDexStrings(java.util.List):150 -> a
    17:21:void computeAndReindexForLazyDexStrings(java.util.List):150:154 -> a
    22:22:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.ObjectToOffsetMapping.getFirstJumboString():322:322 -> a
    22:22:void computeAndReindexForLazyDexStrings(java.util.List):154 -> a
    23:23:void computeAndReindexForLazyDexStrings(java.util.List):154:154 -> a
    24:24:java.util.Comparator compare(com.android.tools.r8.utils.structural.CompareToVisitor):162:162 -> a
    25:25:int lambda$compare$0(com.android.tools.r8.utils.structural.CompareToVisitor,com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.StructuralItem):162:162 -> a
    26:26:void failOnOverflow(com.android.tools.r8.graph.DexItem):171:171 -> a
    27:27:void failOnOverflow(com.android.tools.r8.graph.DexItem):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":201,"2":202,"3":203}}
    201:201:void failOnOverflow(com.android.tools.r8.graph.DexItem):171:171 -> a
    202:202:void failOnOverflow(com.android.tools.r8.graph.DexItem):171:171 -> a
    203:203:void failOnOverflow(com.android.tools.r8.graph.DexItem):171:171 -> a
    198:198:void failOnOverflow(com.android.tools.r8.graph.DexItem):171:171 -> a
    199:199:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    199:199:void failOnOverflow(com.android.tools.r8.graph.DexItem):171 -> a
    200:200:void failOnOverflow(com.android.tools.r8.graph.DexItem):171:171 -> a
    204:204:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer):176:176 -> a
    205:206:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer,int):184:185 -> a
    207:207:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.<init>():176:176 -> a
    207:207:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer,int):185 -> a
    208:210:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer,int):188:190 -> a
    211:211:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.<init>(int):167:167 -> a
    211:211:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer,int):190 -> a
    212:218:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap createSortedMap(java.util.Collection,java.util.Comparator,java.util.function.Consumer,int):191:197 -> a
    219:229:com.android.tools.r8.graph.DexProgramClass[] sortClasses(com.android.tools.r8.graph.AppInfo,java.util.Collection,com.android.tools.r8.naming.NamingLens):251:261 -> a
    230:232:int lambda$sortClasses$1(com.android.tools.r8.graph.ObjectToOffsetMapping$ProgramClassDepthsMemoized,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):256:258 -> a
    233:233:java.util.Collection keysOrEmpty(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):266:266 -> a
    234:234:com.android.tools.r8.graph.DexItemFactory dexItemFactory():270:270 -> a
    235:237:int getOffsetFor(com.android.tools.r8.graph.IndexedDexItem,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):335:337 -> a
    238:238:int getOffsetFor(com.android.tools.r8.graph.DexProto):342:342 -> a
    239:239:int getOffsetFor(com.android.tools.r8.graph.DexField):346:346 -> a
    240:240:int getOffsetFor(com.android.tools.r8.graph.DexMethod):350:350 -> a
    241:241:int getOffsetFor(com.android.tools.r8.graph.DexString):354:354 -> a
    242:242:int getOffsetFor(com.android.tools.r8.graph.DexCallSite):362:362 -> a
    243:243:int getOffsetFor(com.android.tools.r8.graph.DexMethodHandle):366:366 -> a
    244:244:com.android.tools.r8.graph.DexField getClinitField(com.android.tools.r8.graph.DexType):370:370 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap access$100(com.android.tools.r8.graph.ObjectToOffsetMapping):28:28 -> b
    2:3:void setFirstJumboString(com.android.tools.r8.graph.DexString):166:167 -> b
    4:4:java.util.Collection getCallSites():310:310 -> b
    5:5:int getOffsetFor(com.android.tools.r8.graph.DexType):358:358 -> b
    1:1:com.android.tools.r8.graph.DexProgramClass[] getClasses():290:290 -> c
    1:1:com.android.tools.r8.utils.structural.CompareToVisitor getCompareToVisitor():158:158 -> d
    1:1:java.util.Collection getFields():302:302 -> e
    1:1:com.android.tools.r8.graph.DexString getFirstJumboString():322:322 -> f
    1:3:com.android.tools.r8.graph.DexString getFirstString():326:328 -> g
    1:1:com.android.tools.r8.graph.GraphLens getGraphLens():274:274 -> h
    1:1:com.android.tools.r8.ir.conversion.LensCodeRewriterUtils getLensCodeRewriter():282:282 -> i
    1:1:java.util.Collection getMethodHandles():314:314 -> j
    1:1:java.util.Collection getMethods():286:286 -> k
    1:1:java.util.Collection getProtos():298:298 -> l
    1:1:java.util.Collection getStrings():306:306 -> m
    1:1:java.util.Collection getTypes():294:294 -> n
    1:1:boolean hasJumboStrings():318:318 -> o
com.android.tools.r8.graph.ObjectToOffsetMapping$1 -> com.android.tools.r8.internal.mK:
    com.android.tools.r8.graph.ObjectToOffsetMapping val$mapping -> e
    1:1:void <init>(com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.naming.NamingLens,java.util.function.ToIntFunction,java.util.function.ToIntFunction,com.android.tools.r8.graph.ObjectToOffsetMapping):121:121 -> <init>
    1:1:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):125:125 -> a
    2:4:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):130:130 -> a
com.android.tools.r8.graph.ObjectToOffsetMapping$ProgramClassDepthsMemoized -> com.android.tools.r8.internal.nK:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap depthOfClasses -> b
    com.android.tools.r8.graph.AppInfo appInfo -> a
    1:1:void <init>(com.android.tools.r8.graph.AppInfo):214:214 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppInfo):212:216 -> <init>
    1:12:int getDepth(com.android.tools.r8.graph.DexProgramClass):220:231 -> a
    13:13:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    13:13:int getDepth(com.android.tools.r8.graph.DexProgramClass):231 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    14:14:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    14:14:int getDepth(com.android.tools.r8.graph.DexProgramClass):231 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    15:15:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    15:15:int getDepth(com.android.tools.r8.graph.DexProgramClass):231 -> a
    16:20:int getDepth(com.android.tools.r8.graph.DexProgramClass):233:237 -> a
    21:21:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    21:21:int getDepth(com.android.tools.r8.graph.DexProgramClass):237 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    22:22:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    22:22:int getDepth(com.android.tools.r8.graph.DexProgramClass):237 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    23:23:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    23:23:int getDepth(com.android.tools.r8.graph.DexProgramClass):237 -> a
    24:27:int getDepth(com.android.tools.r8.graph.DexProgramClass):238:241 -> a
com.android.tools.r8.graph.OffsetToObjectMapping -> com.android.tools.r8.internal.xK:
    com.android.tools.r8.graph.DexProto[] protos -> c
    com.android.tools.r8.graph.DexMethodHandle[] methodHandles -> h
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.DexMethod[] methods -> b
    com.android.tools.r8.graph.DexField[] fields -> d
    com.android.tools.r8.graph.DexString[] strings -> f
    com.android.tools.r8.graph.DexCallSite[] callSites -> g
    com.android.tools.r8.graph.DexProgramClass[] classes -> a
    com.android.tools.r8.graph.DexType[] types -> e
    1:1:void <clinit>():6:6 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:2:com.android.tools.r8.graph.DexCallSite[] getCallSiteMap():88:89 -> a
    3:4:com.android.tools.r8.graph.DexField getField(int):113:114 -> a
    5:6:void setProto(int,com.android.tools.r8.graph.DexProto):143:144 -> a
    7:8:void setMethod(int,com.android.tools.r8.graph.DexMethod):148:149 -> a
    9:10:void setField(int,com.android.tools.r8.graph.DexField):153:154 -> a
    11:12:void setType(int,com.android.tools.r8.graph.DexType):158:159 -> a
    13:14:void setString(int,com.android.tools.r8.graph.DexString):163:164 -> a
    15:16:void setCallSites(int,com.android.tools.r8.graph.DexCallSite):168:169 -> a
    17:18:void setMethodHandle(int,com.android.tools.r8.graph.DexMethodHandle):173:174 -> a
    1:2:com.android.tools.r8.graph.DexField[] getFieldMap():73:74 -> b
    3:4:com.android.tools.r8.graph.DexMethod getMethod(int):103:104 -> b
    1:2:com.android.tools.r8.graph.DexMethodHandle[] getMethodHandleMap():93:94 -> c
    3:4:com.android.tools.r8.graph.DexMethodHandle getMethodHandle(int):133:134 -> c
    1:2:com.android.tools.r8.graph.DexMethod[] getMethodMap():63:64 -> d
    3:4:com.android.tools.r8.graph.DexProto getProto(int):108:109 -> d
    1:2:com.android.tools.r8.graph.DexProto[] getProtosMap():68:69 -> e
    3:4:com.android.tools.r8.graph.DexString getString(int):123:124 -> e
    1:2:com.android.tools.r8.graph.DexString[] getStringMap():83:84 -> f
    3:4:com.android.tools.r8.graph.DexType getType(int):118:119 -> f
    1:2:void initializeCallSites(int):48:49 -> g
    3:4:com.android.tools.r8.graph.DexType[] getTypeMap():78:79 -> g
    1:2:void initializeClasses(int):18:19 -> h
    1:2:void initializeFields(int):33:34 -> i
    1:2:void initializeMethodHandles(int):53:54 -> j
    1:2:void initializeMethods(int):23:24 -> k
    1:2:void initializeProtos(int):28:29 -> l
    1:2:void initializeStrings(int):43:44 -> m
    1:2:void initializeTypes(int):38:39 -> n
com.android.tools.r8.graph.ParameterAnnotationsList -> com.android.tools.r8.graph.c3:
    com.android.tools.r8.graph.ParameterAnnotationsList EMPTY_PARAMETER_ANNOTATIONS_LIST -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexAnnotationSet[] values -> b
    int missingParameterAnnotations -> c
    1:4:void <clinit>():41:44 -> <clinit>
    1:3:void <init>():58:60 -> <init>
    4:9:void <init>(com.android.tools.r8.graph.DexAnnotationSet[],int):63:68 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:com.android.tools.r8.graph.DexAnnotationSet[] lambda$specify$0(com.android.tools.r8.graph.ParameterAnnotationsList):51:51 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):51:51 -> a
    3:3:com.android.tools.r8.graph.ParameterAnnotationsList create(com.android.tools.r8.graph.DexAnnotationSet[],int):77:77 -> a
    4:4:boolean com.android.tools.r8.utils.ArrayUtils.isEmpty(java.lang.Object[]):51:51 -> a
    4:4:com.android.tools.r8.graph.ParameterAnnotationsList create(com.android.tools.r8.graph.DexAnnotationSet[],int):77 -> a
    5:7:com.android.tools.r8.graph.ParameterAnnotationsList create(com.android.tools.r8.graph.DexAnnotationSet[],int):77:79 -> a
    8:8:com.android.tools.r8.graph.ParameterAnnotationsList empty():55:55 -> a
    8:8:com.android.tools.r8.graph.ParameterAnnotationsList create(com.android.tools.r8.graph.DexAnnotationSet[],int):78 -> a
    9:10:boolean isAllEmpty(com.android.tools.r8.graph.DexAnnotationSet[]):83:84 -> a
    11:11:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):123:123 -> a
    12:12:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    12:12:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):124 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    13:13:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):124 -> a
    14:14:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    14:14:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):124 -> a
    15:15:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    15:15:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
    15:15:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):124 -> a
    16:17:void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection):131:132 -> a
    18:19:com.android.tools.r8.graph.ParameterAnnotationsList keepIf(java.util.function.Predicate):226:227 -> a
    20:20:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.keepIf(java.util.function.Predicate):200:200 -> a
    20:20:com.android.tools.r8.graph.ParameterAnnotationsList keepIf(java.util.function.Predicate):227 -> a
    21:27:com.android.tools.r8.graph.ParameterAnnotationsList keepIf(java.util.function.Predicate):228:234 -> a
    28:28:com.android.tools.r8.graph.ParameterAnnotationsList empty():55:55 -> a
    28:28:com.android.tools.r8.graph.ParameterAnnotationsList keepIf(java.util.function.Predicate):242 -> a
    29:29:com.android.tools.r8.graph.ParameterAnnotationsList keepIf(java.util.function.Predicate):244:244 -> a
    30:37:com.android.tools.r8.graph.ParameterAnnotationsList rewrite(java.util.function.Function):248:255 -> a
    38:38:com.android.tools.r8.graph.DexAnnotationSet lambda$rewrite$2(java.util.function.Function,com.android.tools.r8.graph.DexAnnotationSet):253:253 -> a
    1:1:int lambda$specify$1(com.android.tools.r8.graph.ParameterAnnotationsList):51:51 -> b
    1:3:void forEachAnnotation(java.util.function.Consumer):141:143 -> d
    1:3:boolean equals(java.lang.Object):115:117 -> equals
    1:5:com.android.tools.r8.graph.DexAnnotationSet get(int):184:188 -> h
    1:1:int hashCode():107:107 -> hashCode
    1:2:boolean isMissing(int):171:172 -> i
    1:1:boolean isEmpty():136:136 -> isEmpty
    1:13:com.android.tools.r8.graph.ParameterAnnotationsList withParameterCount(int):193:205 -> j
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():98:98 -> n
    1:1:int countNonMissing():161:161 -> n0
    1:1:com.android.tools.r8.graph.ParameterAnnotationsList empty():55:55 -> o0
    1:7:com.android.tools.r8.graph.ParameterAnnotationsList withFakeThisParameter():210:216 -> p0
    1:1:int size():153:153 -> size
com.android.tools.r8.graph.PinnedPredicate -> com.android.tools.r8.internal.SL:
    boolean isPinned(com.android.tools.r8.graph.DexDefinition) -> a
com.android.tools.r8.graph.ProgramClassVisitor -> com.android.tools.r8.internal.TM:
    com.android.tools.r8.graph.DexApplication application -> a
    java.util.Set visited -> b
    1:1:void <init>(com.android.tools.r8.graph.DexApplication):32:32 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexApplication):30:33 -> <init>
    1:4:void accept(com.android.tools.r8.graph.DexClass):56:59 -> a
    5:14:void com.android.tools.r8.graph.ProgramClassVisitor.accept(com.android.tools.r8.graph.DexType):37:46 -> a
    5:14:void accept(com.android.tools.r8.graph.DexClass):59 -> a
    15:15:void accept(com.android.tools.r8.graph.DexClass):60:60 -> a
    16:16:void com.android.tools.r8.graph.ProgramClassVisitor.accept(com.android.tools.r8.graph.DexTypeList):50:50 -> a
    16:16:void accept(com.android.tools.r8.graph.DexClass):60 -> a
    17:26:void com.android.tools.r8.graph.ProgramClassVisitor.accept(com.android.tools.r8.graph.DexType):37:46 -> a
    17:26:void com.android.tools.r8.graph.ProgramClassVisitor.accept(com.android.tools.r8.graph.DexTypeList):51 -> a
    17:26:void accept(com.android.tools.r8.graph.DexClass):60 -> a
    27:28:void accept(com.android.tools.r8.graph.DexClass):61:62 -> a
    29:30:void run(com.android.tools.r8.graph.DexProgramClass[]):66:67 -> a
    void visit(com.android.tools.r8.graph.DexClass) -> b
com.android.tools.r8.graph.ProgramDefinition -> com.android.tools.r8.internal.VM:
    com.android.tools.r8.graph.ProgramDerivedContext asProgramDerivedContext(com.android.tools.r8.graph.ProgramDerivedContext) -> a
    com.android.tools.r8.graph.DexProgramClass getContextClass() -> a
    1:1:com.android.tools.r8.graph.DexClass getContextClass():11:11 -> a
    2:2:void rewriteAllAnnotations(java.util.function.BiFunction):43:43 -> a
    com.android.tools.r8.graph.ProgramMethod asMethod() -> c
    1:1:com.android.tools.r8.graph.DexClassAndMethod asMethod():11:11 -> c
    com.android.tools.r8.graph.ProgramField asField() -> d
    1:1:com.android.tools.r8.graph.DexClassAndField asField():11:11 -> d
    com.android.tools.r8.graph.ProgramDefinition asProgramDefinition() -> f
    boolean isProgramDefinition() -> g
    1:1:void clearAllAnnotations():38:38 -> z
com.android.tools.r8.graph.ProgramDerivedContext -> com.android.tools.r8.internal.WM:
    1:1:boolean isProgramContext():12:12 -> B
com.android.tools.r8.graph.ProgramDexCode -> com.android.tools.r8.internal.XM:
    com.android.tools.r8.graph.DexWritableCode code -> a
    com.android.tools.r8.graph.ProgramMethod method -> b
    1:3:void <init>(com.android.tools.r8.graph.DexWritableCode,com.android.tools.r8.graph.ProgramMethod):12:14 -> <init>
    1:1:com.android.tools.r8.graph.DexWritableCode getCode():18:18 -> a
    1:1:com.android.tools.r8.graph.ProgramMethod getMethod():22:22 -> b
com.android.tools.r8.graph.ProgramField -> com.android.tools.r8.graph.d3:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():10:10 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):14:14 -> <init>
    com.android.tools.r8.graph.ProgramMember asProgramMember() -> Q
    com.android.tools.r8.graph.ProgramField asProgramField() -> Y
    1:1:com.android.tools.r8.graph.DexProgramClass getContextClass():37:37 -> a
    1:1:com.android.tools.r8.graph.DexClass getContextClass():10 -> a
    2:2:com.android.tools.r8.graph.DexProgramClass getContextClass():37:37 -> a
    1:3:com.android.tools.r8.graph.DexProgramClass getHolder():67:69 -> b
    com.android.tools.r8.graph.DexClassAndField asField() -> d
    com.android.tools.r8.graph.ProgramField asField() -> d
    1:1:com.android.tools.r8.kotlin.KotlinFieldLevelInfo getKotlinInfo():74:74 -> e0
    1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():10 -> e0
    1:1:com.android.tools.r8.graph.DexClass getHolder():10:10 -> q
com.android.tools.r8.graph.ProgramMember -> com.android.tools.r8.internal.aN:
    1:1:void clearKotlinInfo():31:31 -> T
    com.android.tools.r8.graph.DexProgramClass getHolder() -> b
    com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo() -> e0
    com.android.tools.r8.graph.DexEncodedMember getDefinition() -> i
    1:1:void clearGenericSignature():27:27 -> v
com.android.tools.r8.graph.ProgramMethod -> com.android.tools.r8.graph.e3:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):26:26 -> <init>
    com.android.tools.r8.graph.ProgramMethod asProgramMethod() -> I
    com.android.tools.r8.graph.ProgramMember asProgramMember() -> Q
    1:2:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.AppView):30:31 -> a
    3:6:void registerCodeReferences(com.android.tools.r8.graph.UseRegistry):114:117 -> a
    7:7:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    7:7:void registerCodeReferences(com.android.tools.r8.graph.UseRegistry):117 -> a
    8:8:void registerCodeReferences(com.android.tools.r8.graph.UseRegistry):119:119 -> a
    9:9:com.android.tools.r8.graph.DexProgramClass getContextClass():135:135 -> a
    9:9:com.android.tools.r8.graph.DexClass getContextClass():22 -> a
    10:10:com.android.tools.r8.graph.DexProgramClass getContextClass():135:135 -> a
    1:8:boolean canBeConvertedToAbstractMethod(com.android.tools.r8.graph.AppView):73:80 -> b
    9:11:com.android.tools.r8.graph.DexProgramClass getHolder():165:167 -> b
    com.android.tools.r8.graph.DexClassAndMethod asMethod() -> c
    com.android.tools.r8.graph.ProgramMethod asMethod() -> c
    1:4:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):90:93 -> c
    5:5:void com.android.tools.r8.graph.MethodAccessFlags.demoteFromStrict():212:212 -> c
    5:5:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):94 -> c
    6:6:void com.android.tools.r8.graph.MethodAccessFlags.demoteFromSynchronized():136:136 -> c
    6:6:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):95 -> c
    7:7:void com.android.tools.r8.graph.AccessFlags.promote(int):290:290 -> c
    7:7:void com.android.tools.r8.graph.MethodAccessFlags.promoteToAbstract():196 -> c
    7:7:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):96 -> c
    8:10:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):97:99 -> c
    11:30:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForAbstractMethod(com.android.tools.r8.graph.ProgramMethod):123:142 -> c
    11:30:boolean convertToAbstractMethodIfPossible(com.android.tools.r8.graph.AppView):99 -> c
    boolean isProgramMember() -> c0
    1:2:void convertToAbstractOrThrowNullMethod(com.android.tools.r8.graph.AppView):84:85 -> d
    1:1:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):105:105 -> e
    2:2:void com.android.tools.r8.graph.MethodAccessFlags.demoteFromAbstract():192:192 -> e
    2:2:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):106 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:5:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):107:109 -> e
    6:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):137:137 -> e
    6:6:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):109 -> e
    7:7:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):110:110 -> e
    8:8:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):147:147 -> e
    8:8:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):110 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:28:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForAbstractMethod(com.android.tools.r8.graph.ProgramMethod):123:142 -> e
    9:28:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):147 -> e
    9:28:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):110 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    29:31:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):148:150 -> e
    29:31:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):110 -> e
    32:34:java.util.BitSet com.android.tools.r8.utils.BitSetUtils.createFilled(boolean,int):12:14 -> e
    32:34:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):150 -> e
    32:34:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):110 -> e
    35:35:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.unsetOptimizationInfoForThrowNullMethod(com.android.tools.r8.graph.ProgramMethod):149:149 -> e
    35:35:void convertToThrowNullMethod(com.android.tools.r8.graph.AppView):110 -> e
    1:1:com.android.tools.r8.kotlin.KotlinMethodLevelInfo getKotlinInfo():172:172 -> e0
    1:1:com.android.tools.r8.kotlin.KotlinMemberLevelInfo getKotlinInfo():22 -> e0
    1:1:com.android.tools.r8.graph.DexClass getHolder():22:22 -> q
com.android.tools.r8.graph.ProgramOrClasspathClass -> com.android.tools.r8.internal.gN:
    com.android.tools.r8.graph.DexClass asDexClass() -> e
com.android.tools.r8.graph.ProgramPackage -> com.android.tools.r8.internal.hN:
    java.util.Set classes -> c
    java.lang.String packageDescriptor -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():15:15 -> <clinit>
    1:3:void <init>(java.lang.String,java.util.function.Supplier):25:27 -> <init>
    1:2:boolean add(com.android.tools.r8.graph.DexProgramClass):31:32 -> a
    3:3:void forEachField(java.util.function.Consumer):60:60 -> a
    4:4:java.util.Set classesInPackage():68:68 -> a
    5:5:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    5:5:void lambda$forEachField$0(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):60 -> a
    6:6:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    6:6:void lambda$forEachField$0(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):60 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean contains(com.android.tools.r8.graph.DexProgramClass):36:36 -> b
    2:2:java.lang.String getPackageDescriptor():48:48 -> b
    3:3:void forEachMethod(java.util.function.Consumer):64:64 -> b
    4:4:void lambda$forEachMethod$1(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):64:64 -> b
    1:1:java.lang.String getPackageName():52:52 -> c
    1:1:java.util.Iterator iterator():73:73 -> iterator
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():78:78 -> toString
    5:5:java.lang.String toString():78:78 -> toString
    6:6:java.lang.String toString():78:78 -> toString
    2:2:java.lang.String com.android.tools.r8.graph.ProgramPackage.getPackageName():52:52 -> toString
    2:2:java.lang.String toString():78 -> toString
    3:3:java.lang.String toString():78:78 -> toString
com.android.tools.r8.graph.ProgramPackageCollection -> com.android.tools.r8.internal.iN:
    java.util.Map packages -> b
    1:2:void <init>(java.util.Map):15:16 -> <init>
    1:1:java.util.Iterator iterator():49:49 -> iterator
com.android.tools.r8.graph.PrunedItems -> com.android.tools.r8.internal.KP:
    com.android.tools.r8.graph.DexApplication prunedApp -> a
    java.util.Set noLongerSyntheticItems -> c
    java.util.Set removedClasses -> d
    java.util.Set removedFields -> e
    java.util.Set removedMethods -> f
    java.util.Set additionalPinnedItems -> b
    1:1:void <init>(com.android.tools.r8.graph.DexApplication,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.graph.PrunedItems$1):11:11 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.DexApplication,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set):26:32 -> <init>
    1:1:com.android.tools.r8.graph.PrunedItems$Builder builder():36:36 -> a
    2:2:com.android.tools.r8.graph.PrunedItems empty(com.android.tools.r8.graph.DexApplication):44:44 -> a
    3:3:boolean isRemoved(com.android.tools.r8.graph.DexField):55:55 -> a
    4:4:boolean isRemoved(com.android.tools.r8.graph.DexMethod):59:59 -> a
    5:5:boolean isRemoved(com.android.tools.r8.graph.DexReference):63:63 -> a
    6:6:boolean isRemoved(com.android.tools.r8.graph.DexType):67:67 -> a
    1:1:java.util.Set getAdditionalPinnedItems():75:75 -> b
    1:1:java.util.Set getNoLongerSyntheticItems():79:79 -> c
    1:1:com.android.tools.r8.graph.DexApplication getPrunedApp():71:71 -> d
    1:1:java.util.Set getRemovedClasses():99:99 -> e
    1:1:java.util.Set getRemovedFields():103:103 -> f
    1:1:java.util.Set getRemovedMethods():107:107 -> g
    1:1:boolean hasRemovedClasses():83:83 -> h
    1:1:boolean hasRemovedFields():87:87 -> i
    1:1:boolean hasRemovedMembers():91:91 -> j
    1:1:boolean hasRemovedMethods():95:95 -> k
    1:4:boolean isEmpty():48:51 -> l
    1:1:com.android.tools.r8.graph.PrunedItems$Builder toBuilder():40:40 -> m
com.android.tools.r8.graph.PrunedItems$Builder -> com.android.tools.r8.internal.JP:
    com.android.tools.r8.graph.DexApplication prunedApp -> a
    java.util.Set noLongerSyntheticItems -> c
    java.util.Set removedClasses -> d
    java.util.Set removedFields -> e
    java.util.Set removedMethods -> f
    java.util.Set additionalPinnedItems -> b
    1:1:void <init>():120:120 -> <init>
    2:6:void <init>():114:118 -> <init>
    7:7:void <init>(com.android.tools.r8.graph.PrunedItems):122:122 -> <init>
    8:22:void <init>(com.android.tools.r8.graph.PrunedItems):114:128 -> <init>
    1:1:com.android.tools.r8.graph.PrunedItems$Builder setPrunedApp(com.android.tools.r8.graph.DexApplication):132:132 -> a
    2:2:com.android.tools.r8.graph.PrunedItems$Builder addAdditionalPinnedItems(java.util.Collection):138:138 -> a
    3:4:com.android.tools.r8.graph.PrunedItems$Builder addRemovedClass(com.android.tools.r8.graph.DexType):148:149 -> a
    5:6:com.android.tools.r8.graph.PrunedItems$Builder addRemovedClasses(java.util.Set):154:155 -> a
    7:7:com.android.tools.r8.graph.PrunedItems$Builder addRemovedField(com.android.tools.r8.graph.DexField):160:160 -> a
    8:8:com.android.tools.r8.graph.PrunedItems$Builder addRemovedMethod(com.android.tools.r8.graph.DexMethod):165:165 -> a
    9:9:com.android.tools.r8.graph.PrunedItems build():180:180 -> a
    1:1:com.android.tools.r8.graph.PrunedItems$Builder setRemovedClasses(java.util.Set):170:170 -> b
    1:1:com.android.tools.r8.graph.PrunedItems$Builder setRemovedMethods(java.util.Set):175:175 -> c
com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer -> com.android.tools.r8.internal.PT:
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription prototypeChanges -> a
    1:1:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer.<init>():18:18 -> <init>
    1:1:void <init>(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):29 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):30:30 -> <init>
    1:1:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    1:1:java.util.BitSet fixupArgumentInfo(java.util.BitSet):162 -> a
    2:8:java.util.BitSet fixupArgumentInfo(java.util.BitSet):162:168 -> a
    9:9:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    9:9:java.util.BitSet fixupArgumentInfo(java.util.BitSet):171 -> a
    10:11:java.util.BitSet fixupArgumentInfo(java.util.BitSet):171:172 -> a
    12:12:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    12:12:java.util.BitSet fixupArgumentInfo(java.util.BitSet):172 -> a
    13:13:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    13:13:java.util.BitSet fixupArgumentInfo(java.util.BitSet):175 -> a
    14:16:java.util.BitSet fixupArgumentInfo(java.util.BitSet):175:177 -> a
    17:17:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    17:17:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo fixupBridgeInfo(com.android.tools.r8.ir.optimize.info.bridge.VirtualBridgeInfo):43 -> a
    18:18:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo fixupBridgeInfo(com.android.tools.r8.ir.optimize.info.bridge.VirtualBridgeInfo):43:43 -> a
    19:19:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    19:19:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupClassInlinerMethodConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):70 -> a
    20:20:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupClassInlinerMethodConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):70:70 -> a
    21:21:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    21:21:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupClassInlinerMethodConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):74 -> a
    22:22:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupClassInlinerMethodConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):73:73 -> a
    23:23:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    23:23:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):84 -> a
    24:24:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):84:84 -> a
    25:25:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    25:25:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):87 -> a
    26:26:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):87:87 -> a
    27:27:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    27:27:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):98 -> a
    28:28:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):98:98 -> a
    29:29:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    29:29:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):102 -> a
    30:30:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):101:101 -> a
    31:31:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    31:31:int fixupReturnedArgumentIndex(int):129 -> a
    32:32:int fixupReturnedArgumentIndex(int):129:129 -> a
    33:33:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    33:33:int fixupReturnedArgumentIndex(int):132 -> a
    34:34:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):98:98 -> a
    34:34:int fixupReturnedArgumentIndex(int):132 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):98:98 -> a
    35:35:int fixupReturnedArgumentIndex(int):132 -> a
    36:36:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    36:36:int fixupReturnedArgumentIndex(int):134 -> a
    37:37:int fixupReturnedArgumentIndex(int):134:134 -> a
    38:38:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    38:38:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupSimpleInliningConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):146 -> a
    39:39:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupSimpleInliningConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):146:146 -> a
    40:40:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.graph.RewrittenPrototypeDescriptionMethodOptimizationInfoFixer.getArgumentInfoCollection():34:34 -> a
    40:40:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupSimpleInliningConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):149 -> a
    41:41:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupSimpleInliningConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):149:149 -> a
    42:45:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupCallSiteOptimizationInfo(com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):56:59 -> a
    1:1:java.util.BitSet fixupNonNullParamOnNormalExits(java.util.BitSet):111:111 -> b
    1:1:java.util.BitSet fixupNonNullParamOrThrow(java.util.BitSet):120:120 -> c
    1:1:java.util.BitSet fixupUnusedArguments(java.util.BitSet):158:158 -> d
com.android.tools.r8.graph.SmaliWriter -> com.android.tools.r8.internal.mV:
    1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.InternalOptions):21:21 -> <init>
    1:10:java.lang.String smali(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):26:35 -> a
    11:17:java.lang.String smali(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):27:33 -> a
    18:18:java.lang.String getFileEnding():40:40 -> a
    void writeField(com.android.tools.r8.graph.DexEncodedField,java.io.PrintStream) -> b
    1:3:void writeClassFooter(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):64:66 -> b
    4:6:void writeMethod(com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):71:73 -> b
    1:13:void writeClassHeader(com.android.tools.r8.graph.DexProgramClass,java.io.PrintStream):45:57 -> c
com.android.tools.r8.graph.SortedProgramPackage -> com.android.tools.r8.internal.vV:
    1:1:void <init>(java.lang.String):12:12 -> <init>
    1:1:int lambda$new$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):12:12 -> a
    1:1:java.util.Set lambda$new$1():12:12 -> d
com.android.tools.r8.graph.SortedProgramPackageCollection -> com.android.tools.r8.internal.wV:
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    1:4:com.android.tools.r8.graph.SortedProgramPackageCollection createWithAllProgramClasses(com.android.tools.r8.graph.AppView):16:19 -> a
    5:7:boolean addProgramClass(com.android.tools.r8.graph.DexProgramClass):26:28 -> a
com.android.tools.r8.graph.SubtypingInfo -> com.android.tools.r8.graph.g3:
    java.util.Map subtypeMap -> a
    java.util.Map typeInfo -> b
    com.android.tools.r8.graph.DexItemFactory factory -> c
    java.util.Set NO_DIRECT_SUBTYPE -> d
    boolean $assertionsDisabled -> e
    1:8:void <clinit>():22:29 -> <clinit>
    1:4:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory):40:43 -> <init>
    1:1:java.util.Set access$000():22:22 -> a
    2:2:com.android.tools.r8.graph.SubtypingInfo create(com.android.tools.r8.graph.AppView):47:47 -> a
    3:6:com.android.tools.r8.graph.SubtypingInfo create(com.android.tools.r8.graph.AppInfoWithClassHierarchy):51:54 -> a
    7:7:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):434:434 -> a
    7:7:com.android.tools.r8.graph.SubtypingInfo create(com.android.tools.r8.graph.AppInfoWithClassHierarchy):53 -> a
    8:8:com.android.tools.r8.graph.SubtypingInfo create(com.android.tools.r8.graph.AppInfoWithClassHierarchy):52:52 -> a
    9:12:com.android.tools.r8.graph.SubtypingInfo create(java.lang.Iterable,com.android.tools.r8.graph.DexDefinitionSupplier):60:63 -> a
    13:13:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> a
    13:13:java.lang.Iterable allImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType):206 -> a
    14:21:java.lang.Iterable allImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType):207:214 -> a
    22:23:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType,java.util.Map):86:87 -> a
    24:45:void populateAllSuperTypes(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):96:117 -> a
    46:51:void lambda$populateAllSuperTypes$1(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.SubtypingInfo$TypeInfo,com.android.tools.r8.graph.DexType,java.lang.Boolean):102:107 -> a
    52:57:void populateSubtypeMap(java.lang.Iterable,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier):127:132 -> a
    58:92:boolean validateLevelsAreCorrect(java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier):137:171 -> a
    58:92:void populateSubtypeMap(java.lang.Iterable,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier):132 -> a
    93:93:java.util.Set lambda$populateSubtypeMap$2(com.android.tools.r8.graph.DexType,java.util.Set):131:131 -> a
    94:94:void forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):202:202 -> a
    95:95:void forAllInterfaceRoots(java.util.function.Consumer):238:238 -> a
    96:96:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> a
    96:96:void forAllInterfaceRoots(java.util.function.Consumer):239 -> a
    97:97:void forAllInterfaceRoots(java.util.function.Consumer):239:239 -> a
    98:101:void forAllInterfaceRoots(java.util.function.Consumer):238:241 -> a
    1:4:void populateSuperType(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):73:76 -> b
    5:5:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> b
    5:5:java.lang.Iterable allImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType):230 -> b
    6:9:java.lang.Iterable allImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType):231:234 -> b
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> c
    1:1:java.util.Set allImmediateSubtypes(com.android.tools.r8.graph.DexType):334 -> c
    2:2:java.util.Set allImmediateSubtypes(com.android.tools.r8.graph.DexType):334:334 -> c
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> d
    1:1:com.android.tools.r8.graph.DexType getSingleDirectSubtype(com.android.tools.r8.graph.DexType):185 -> d
    2:4:com.android.tools.r8.graph.DexType getSingleDirectSubtype(com.android.tools.r8.graph.DexType):186:188 -> d
    5:5:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.getFirst(java.lang.Iterable,java.lang.Object):779:779 -> d
    5:5:com.android.tools.r8.graph.DexType getSingleDirectSubtype(com.android.tools.r8.graph.DexType):188 -> d
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.getNext(java.util.Iterator,java.lang.Object):845:845 -> d
    6:6:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.getFirst(java.lang.Iterable,java.lang.Object):779 -> d
    6:6:com.android.tools.r8.graph.DexType getSingleDirectSubtype(com.android.tools.r8.graph.DexType):188 -> d
    7:7:com.android.tools.r8.graph.DexType getSingleDirectSubtype(com.android.tools.r8.graph.DexType):188:188 -> d
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> e
    1:1:boolean lambda$allImmediateExtendsSubtypes$3(com.android.tools.r8.graph.DexType):209 -> e
    2:2:boolean lambda$allImmediateExtendsSubtypes$3(com.android.tools.r8.graph.DexType):209:209 -> e
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> f
    1:1:boolean lambda$allImmediateExtendsSubtypes$4(com.android.tools.r8.graph.DexType):212 -> f
    2:2:boolean lambda$allImmediateExtendsSubtypes$4(com.android.tools.r8.graph.DexType):212:212 -> f
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> g
    1:1:boolean lambda$allImmediateImplementsSubtypes$5(com.android.tools.r8.graph.DexType):232 -> g
    2:2:boolean lambda$allImmediateImplementsSubtypes$5(com.android.tools.r8.graph.DexType):232:232 -> g
    1:1:com.android.tools.r8.graph.SubtypingInfo$TypeInfo getTypeInfo(com.android.tools.r8.graph.DexType):82:82 -> h
    1:1:boolean lambda$forAllInterfaceRoots$6(com.android.tools.r8.graph.DexType):240 -> h
    2:2:boolean lambda$forAllInterfaceRoots$6(com.android.tools.r8.graph.DexType):240:240 -> h
    1:1:java.util.Set lambda$populateSuperType$0(com.android.tools.r8.graph.DexType):73:73 -> i
    1:3:java.util.Set subtypes(com.android.tools.r8.graph.DexType):179:181 -> j
com.android.tools.r8.graph.SubtypingInfo$TypeInfo -> com.android.tools.r8.graph.f3:
    java.util.Set directSubtypes -> c
    com.android.tools.r8.graph.DexType type -> a
    int hierarchyLevel -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():244:244 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType):255:255 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.DexType):248:256 -> <init>
    1:2:void ensureDirectSubTypeSet():279:280 -> a
    3:13:void setLevel(int):285:295 -> a
    14:17:void addDirectSubtype(com.android.tools.r8.graph.SubtypingInfo$TypeInfo):300:303 -> a
    18:20:void addInterfaceSubtype(com.android.tools.r8.graph.DexType):327:329 -> a
    1:3:boolean isInterface():315:317 -> b
    1:1:void tagAsInterface():311:311 -> c
    1:1:void tagAsSubtypeRoot():307:307 -> d
    1:5:boolean equals(java.lang.Object):266:270 -> equals
    1:1:int hashCode():261:261 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":552,"2":553,"3":554}}
    552:552:java.lang.String toString():275:275 -> toString
    553:553:java.lang.String toString():275:275 -> toString
    554:554:java.lang.String toString():275:275 -> toString
    276:276:java.lang.String toString():275:275 -> toString
    277:277:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":555,"2":556,"3":557}}
    555:555:java.lang.String toString():275:275 -> toString
    556:556:java.lang.String toString():275:275 -> toString
    557:557:java.lang.String toString():275:275 -> toString
com.android.tools.r8.graph.SuccessfulMemberResolutionResult -> com.android.tools.r8.internal.zX:
    com.android.tools.r8.graph.DexClass getInitialResolutionHolder() -> a
    com.android.tools.r8.graph.DexEncodedMember getResolvedMember() -> b
    com.android.tools.r8.graph.DexClassAndMember getResolutionPair() -> c
    com.android.tools.r8.graph.DexClass getResolvedHolder() -> d
com.android.tools.r8.graph.ThrowExceptionCode -> com.android.tools.r8.graph.h3:
    com.android.tools.r8.graph.DexType exceptionType -> d
    1:2:void <init>(com.android.tools.r8.graph.DexType):31:32 -> <init>
    com.android.tools.r8.graph.Code asCode() -> R
    com.android.tools.r8.graph.ThrowExceptionCode asThrowExceptionCode() -> S
    int getOutgoingRegisterSize() -> V
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    int getRegisterSize(com.android.tools.r8.graph.ProgramMethod) -> a
    com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean) -> a
    void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep) -> a
    1:1:com.android.tools.r8.graph.ThrowExceptionCode create(com.android.tools.r8.graph.DexType):36:36 -> a
    2:3:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):46:47 -> a
    4:4:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):52:52 -> a
    5:5:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):65:65 -> a
    6:7:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):80:81 -> a
    8:8:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):178:178 -> a
    8:8:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193:193 -> a
    9:9:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    9:9:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82 -> a
    10:10:void com.android.tools.r8.graph.DexString.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):273:273 -> a
    10:10:void com.android.tools.r8.graph.DexMethod.collectIndexedItemsName(com.android.tools.r8.dex.IndexedItemCollection):193 -> a
    10:10:void com.android.tools.r8.graph.DexMethod.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):179 -> a
    10:10:void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils):82 -> a
    11:11:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):184:184 -> a
    12:12:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):189:189 -> a
    13:20:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):214:221 -> a
    21:21:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):236:236 -> a
    int codeSizeInBytes() -> a0
    int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod) -> b
    void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
    1:5:boolean computeEquals(java.lang.Object):100:104 -> h
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():114:114 -> m
    1:1:int computeHashCode():92:92 -> n0
    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():149:149 -> o
    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> p0
    int estimatedDexCodeSizeUpperBoundInBytes() -> r0
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():124:124 -> s
    1:1:java.lang.String toString():231:231 -> toString
    com.android.tools.r8.graph.DexString getHighestSortingString() -> u
    com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> w
    boolean isDexWritableCode() -> w0
    boolean isSharedCodeObject() -> z0
com.android.tools.r8.graph.ThrowNullCode -> com.android.tools.r8.graph.j3:
    com.android.tools.r8.graph.ThrowNullCode INSTANCE -> d
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:void <init>():38:38 -> <init>
    1:1:com.android.tools.r8.graph.ThrowNullCode get():41:41 -> B0
    com.android.tools.r8.graph.CfWritableCode$CfWritableCodeKind getCfWritableCodeKind() -> O
    com.android.tools.r8.graph.Code asCode() -> R
    int getOutgoingRegisterSize() -> V
    void collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils) -> a
    void collectMixedSectionItems(com.android.tools.r8.dex.MixedSectionCollection) -> a
    void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry) -> a
    void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry) -> a
    com.android.tools.r8.graph.DexWritableCode rewriteCodeWithJumboStrings(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ObjectToOffsetMapping,com.android.tools.r8.graph.DexItemFactory,boolean) -> a
    void writeKeepRulesForDesugaredLibrary(com.android.tools.r8.dex.CodeToKeep) -> a
    1:1:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):51:51 -> a
    2:2:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):56:56 -> a
    3:3:void com.android.tools.r8.graph.ThrowNullCode$ThrowNullSourceCode.<init>(com.android.tools.r8.graph.ProgramMethod):270:270 -> a
    3:3:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):56 -> a
    4:4:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):57:57 -> a
    5:8:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):70:73 -> a
    9:11:int getMaxLocals(com.android.tools.r8.graph.ProgramMethod):141:143 -> a
    9:11:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):137 -> a
    9:11:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):155 -> a
    12:12:int getRegisterSize(com.android.tools.r8.graph.ProgramMethod):155:155 -> a
    13:14:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):234:235 -> a
    15:17:int getMaxLocals(com.android.tools.r8.graph.ProgramMethod):141:143 -> a
    15:17:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):237 -> a
    18:18:void writeCf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):237:237 -> a
    19:20:void writeDex(java.nio.ShortBuffer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.graph.ObjectToOffsetMapping):248:249 -> a
    21:21:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):264:264 -> a
    int codeSizeInBytes() -> a0
    1:3:int getMaxLocals(com.android.tools.r8.graph.ProgramMethod):141:143 -> b
    1:3:int getIncomingRegisterSize(com.android.tools.r8.graph.ProgramMethod):137 -> b
    void setCallSiteContexts(com.android.tools.r8.graph.ProgramMethod) -> c
    boolean computeEquals(java.lang.Object) -> h
    1:1:com.android.tools.r8.graph.DexWritableCode$DexWritableCodeKind getDexWritableCodeKind():117:117 -> m
    1:1:int computeHashCode():97:97 -> n0
    1:1:com.android.tools.r8.graph.DexCode$Try[] getTries():160:160 -> o
    com.android.tools.r8.graph.CfWritableCode asCfWritableCode() -> o0
    com.android.tools.r8.graph.DexWritableCode asDexWritableCode() -> p0
    int estimatedDexCodeSizeUpperBoundInBytes() -> r0
    1:1:com.android.tools.r8.graph.DexCode$TryHandler[] getHandlers():127:127 -> s
    1:1:java.lang.String toString():259:259 -> toString
    com.android.tools.r8.graph.DexString getHighestSortingString() -> u
    boolean isCfWritableCode() -> u0
    com.android.tools.r8.graph.DexDebugInfoForWriting getDebugInfoForWriting() -> w
    boolean isDexWritableCode() -> w0
    boolean isSharedCodeObject() -> z0
com.android.tools.r8.graph.ThrowNullCode$ThrowNullSourceCode -> com.android.tools.r8.graph.i3:
    1:6:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):275:280 -> <init>
    7:7:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):274:274 -> <init>
    1:1:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):284:284 -> d
    2:2:void com.android.tools.r8.ir.conversion.IRBuilder.addNullConst(int):1211:1211 -> d
    2:2:void lambda$getInstructionBuilders$0(com.android.tools.r8.ir.conversion.IRBuilder):284 -> d
    1:1:void lambda$getInstructionBuilders$1(com.android.tools.r8.ir.conversion.IRBuilder):284:284 -> e
    1:1:java.util.List getInstructionBuilders():284:284 -> f
com.android.tools.r8.graph.ThrowingInitClassLens -> com.android.tools.r8.internal.qY:
    com.android.tools.r8.graph.ThrowingInitClassLens INSTANCE -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.graph.InitClassLens rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    2:2:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":25,"2":26,"3":27}}
    25:25:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    26:26:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    27:27:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    3:3:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":28,"2":29,"3":30,"4":31}}
    28:28:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    29:29:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    30:30:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    31:31:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    24:24:com.android.tools.r8.graph.DexField getInitClassField(com.android.tools.r8.graph.DexType):21:21 -> a
    1:1:com.android.tools.r8.graph.ThrowingInitClassLens getInstance():16:16 -> c
com.android.tools.r8.graph.TopDownClassHierarchyTraversal -> com.android.tools.r8.internal.KY:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ClassHierarchyTraversal$Scope):14:14 -> <init>
    1:1:com.android.tools.r8.graph.TopDownClassHierarchyTraversal forAllClasses(com.android.tools.r8.graph.AppView):23:23 -> a
    2:3:com.android.tools.r8.graph.ClassHierarchyTraversal com.android.tools.r8.graph.ClassHierarchyTraversal.excludeInterfaces():60:61 -> a
    2:3:com.android.tools.r8.graph.ClassHierarchyTraversal excludeInterfaces():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:12:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):61:69 -> a
    13:13:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):25:25 -> a
    13:13:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):39:39 -> a
    27:27:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    28:28:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):36:36 -> a
    28:28:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    29:29:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):33:33 -> a
    29:29:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    30:30:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    30:30:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):33 -> a
    30:30:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    31:31:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    31:31:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):33 -> a
    31:31:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    32:32:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):30:30 -> a
    32:32:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    33:33:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    33:33:boolean com.android.tools.r8.graph.ClassHierarchyTraversal$Scope.shouldBePassedToVisitor(com.android.tools.r8.graph.DexClass):30 -> a
    33:33:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):69 -> a
    34:39:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):72:77 -> a
    40:49:boolean com.android.tools.r8.graph.TopDownClassHierarchyTraversal.shouldTraverseUpwardsFrom(com.android.tools.r8.graph.DexClass):95:104 -> a
    40:49:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):78 -> a
    50:50:boolean com.android.tools.r8.graph.TopDownClassHierarchyTraversal.shouldTraverseUpwardsFrom(com.android.tools.r8.graph.DexClass):101:101 -> a
    50:50:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):78 -> a
    51:58:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):79:86 -> a
    59:68:boolean com.android.tools.r8.graph.TopDownClassHierarchyTraversal.shouldTraverseUpwardsFrom(com.android.tools.r8.graph.DexClass):95:104 -> a
    59:68:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):87 -> a
    69:69:boolean com.android.tools.r8.graph.TopDownClassHierarchyTraversal.shouldTraverseUpwardsFrom(com.android.tools.r8.graph.DexClass):101:101 -> a
    69:69:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):87 -> a
    70:70:void addDependentsToWorklist(com.android.tools.r8.graph.DexClass):88:88 -> a
    com.android.tools.r8.graph.ClassHierarchyTraversal self() -> b
    1:1:com.android.tools.r8.graph.TopDownClassHierarchyTraversal forProgramClasses(com.android.tools.r8.graph.AppView):50:50 -> b
com.android.tools.r8.graph.TreeFixerBase -> com.android.tools.r8.graph.k3:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    java.util.Map programClassCache -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map protoFixupCache -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):26:26 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView):22:28 -> <init>
    void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField) -> a
    void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod) -> a
    1:16:void recordFailedResolutionChanges():57:72 -> a
    17:17:com.android.tools.r8.graph.DexEncodedMethod recordMethodChange(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):83:83 -> a
    18:21:java.util.List fixupClasses(java.util.Collection):89:92 -> a
    22:22:java.util.List fixupClasses(java.util.Collection):91:91 -> a
    23:26:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):99:102 -> a
    23:26:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    27:27:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    27:27:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):103 -> a
    27:27:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    28:29:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):104:105 -> a
    28:29:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    30:30:com.android.tools.r8.graph.DexTypeList fixupTypeList(com.android.tools.r8.graph.DexTypeList):362:362 -> a
    30:30:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):106 -> a
    30:30:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    31:35:com.android.tools.r8.graph.DexType[] fixupTypes(com.android.tools.r8.graph.DexType[]):351:355 -> a
    31:35:com.android.tools.r8.graph.DexTypeList fixupTypeList(com.android.tools.r8.graph.DexTypeList):362 -> a
    31:35:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):106 -> a
    31:35:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    36:36:com.android.tools.r8.graph.DexTypeList fixupTypeList(com.android.tools.r8.graph.DexTypeList):363:363 -> a
    36:36:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):106 -> a
    36:36:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    37:38:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):107:108 -> a
    37:38:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    39:39:com.android.tools.r8.graph.NestHostClassAttribute fixupNestHost(com.android.tools.r8.graph.NestHostClassAttribute):273:273 -> a
    39:39:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):108 -> a
    39:39:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    40:40:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):109:109 -> a
    40:40:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    41:50:java.util.List fixupNestMemberAttributes(java.util.List):279:288 -> a
    41:50:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):109 -> a
    41:50:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    51:61:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):110:120 -> a
    51:61:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    62:62:com.android.tools.r8.graph.DexEncodedField[] fixupFields(java.util.List):170:170 -> a
    62:62:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):120 -> a
    62:62:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    63:64:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):120:121 -> a
    63:64:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    65:65:com.android.tools.r8.graph.DexEncodedField[] fixupFields(java.util.List):170:170 -> a
    65:65:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):121 -> a
    65:65:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    66:70:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):121:125 -> a
    66:70:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    71:73:com.android.tools.r8.graph.DexEncodedMethod[] fixupMethods(java.lang.Iterable,int):249:251 -> a
    71:73:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):123 -> a
    71:73:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    74:74:void com.android.tools.r8.graph.DexClass.setDirectMethods(com.android.tools.r8.graph.DexEncodedMethod[]):269:269 -> a
    74:74:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):122 -> a
    74:74:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    75:76:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):128:129 -> a
    75:76:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    77:82:com.android.tools.r8.graph.DexEncodedMethod[] fixupMethods(java.lang.Iterable,int):246:251 -> a
    77:82:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):127 -> a
    77:82:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    83:83:void com.android.tools.r8.graph.DexClass.setVirtualMethods(com.android.tools.r8.graph.DexEncodedMethod[]):289:289 -> a
    83:83:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):126 -> a
    83:83:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    84:94:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):131:141 -> a
    84:94:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    95:95:com.android.tools.r8.graph.DexProgramClass recordClassChange(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):44:44 -> a
    95:95:com.android.tools.r8.graph.DexProgramClass fixupClass(com.android.tools.r8.graph.DexProgramClass):142 -> a
    95:95:com.android.tools.r8.graph.DexProgramClass lambda$fixupClasses$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):92 -> a
    96:108:com.android.tools.r8.graph.EnclosingMethodAttribute fixupEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):152:164 -> a
    109:113:com.android.tools.r8.graph.DexEncodedField[] fixupFields(java.util.List,java.util.function.Consumer):176:180 -> a
    114:118:com.android.tools.r8.graph.DexEncodedField fixupField(com.android.tools.r8.graph.DexEncodedField,java.util.function.Consumer):187:191 -> a
    114:118:com.android.tools.r8.graph.DexEncodedField[] fixupFields(java.util.List,java.util.function.Consumer):180 -> a
    119:119:com.android.tools.r8.graph.DexEncodedField recordFieldChange(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):49:49 -> a
    119:119:com.android.tools.r8.graph.DexEncodedField fixupField(com.android.tools.r8.graph.DexEncodedField,java.util.function.Consumer):190 -> a
    119:119:com.android.tools.r8.graph.DexEncodedField[] fixupFields(java.util.List,java.util.function.Consumer):180 -> a
    120:120:com.android.tools.r8.graph.DexEncodedField[] fixupFields(java.util.List,java.util.function.Consumer):180:180 -> a
    121:123:com.android.tools.r8.graph.DexField fixupFieldReference(com.android.tools.r8.graph.DexField):198:200 -> a
    124:130:java.util.List fixupInnerClassAttributes(java.util.List):205:211 -> a
    131:131:com.android.tools.r8.graph.DexType fixupTypeOrNull(com.android.tools.r8.graph.DexType):330:330 -> a
    131:131:java.util.List fixupInnerClassAttributes(java.util.List):212 -> a
    132:132:java.util.List fixupInnerClassAttributes(java.util.List):213:213 -> a
    133:133:com.android.tools.r8.graph.DexType fixupTypeOrNull(com.android.tools.r8.graph.DexType):330:330 -> a
    133:133:java.util.List fixupInnerClassAttributes(java.util.List):214 -> a
    134:145:java.util.List fixupInnerClassAttributes(java.util.List):215:226 -> a
    146:153:java.util.List fixupInnerClassAttributes(java.util.List):225:232 -> a
    154:154:boolean com.android.tools.r8.utils.InternalOptions.isTreeShakingEnabled():614:614 -> a
    154:154:java.util.List fixupInnerClassAttributes(java.util.List):232 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    155:161:java.util.List fixupInnerClassAttributes(java.util.List):232:238 -> a
    162:162:java.util.List fixupInnerClassAttributes(java.util.List):236:236 -> a
    163:166:com.android.tools.r8.graph.DexEncodedMethod fixupMethod(com.android.tools.r8.graph.DexEncodedMethod):257:260 -> a
    167:168:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):267:268 -> a
    169:172:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):296:299 -> a
    169:172:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):268 -> a
    173:177:com.android.tools.r8.graph.DexType[] fixupTypes(com.android.tools.r8.graph.DexType[]):351:355 -> a
    173:177:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):299 -> a
    173:177:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):268 -> a
    178:179:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):300:301 -> a
    178:179:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):268 -> a
    180:180:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):268:268 -> a
    181:181:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):267:267 -> a
    182:191:com.android.tools.r8.graph.DexType fixupType(com.android.tools.r8.graph.DexType):335:344 -> a
    192:192:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368:368 -> a
    193:196:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):296:299 -> a
    193:196:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    197:201:com.android.tools.r8.graph.DexType[] fixupTypes(com.android.tools.r8.graph.DexType[]):351:355 -> a
    197:201:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):299 -> a
    197:201:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    202:203:com.android.tools.r8.graph.DexProto fixupProto(com.android.tools.r8.graph.DexProto):300:301 -> a
    202:203:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    204:204:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.withProto(com.android.tools.r8.graph.DexProto):62:62 -> a
    204:204:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    205:205:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.create(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto):21:21 -> a
    205:205:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.graph.DexMethodSignature.withProto(com.android.tools.r8.graph.DexProto):62 -> a
    205:205:com.android.tools.r8.graph.DexMethodSignature fixupMethodSignature(com.android.tools.r8.graph.DexMethodSignature):368 -> a
    com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType) -> b
    1:3:void lambda$recordFailedResolutionChanges$0(com.android.tools.r8.graph.DexField):65:67 -> b
    4:6:void lambda$recordFailedResolutionChanges$1(com.android.tools.r8.graph.DexMethod):74:76 -> b
com.android.tools.r8.graph.UseRegistry -> com.android.tools.r8.graph.l3:
    com.android.tools.r8.graph.Definition context -> b
    com.android.tools.r8.utils.TraversalContinuation continuation -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.Definition):25:25 -> <init>
    2:11:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.Definition):18:27 -> <init>
    void registerInstanceFieldRead(com.android.tools.r8.graph.DexField) -> a
    void registerInvokeDirect(com.android.tools.r8.graph.DexMethod) -> a
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():35:35 -> a
    2:2:void registerRecordFieldValues(com.android.tools.r8.graph.DexField[]):62:62 -> a
    3:3:void registerInstanceFieldReadInstruction(com.android.tools.r8.code.CfOrDexInstanceFieldRead):95:95 -> a
    4:4:void registerStaticFieldReadInstruction(com.android.tools.r8.code.CfOrDexStaticFieldRead):123:123 -> a
    5:5:void registerConstClass(com.android.tools.r8.graph.DexType,java.util.ListIterator,boolean):146:146 -> a
    6:6:void registerCheckCast(com.android.tools.r8.graph.DexType,boolean):150:150 -> a
    7:7:void registerExceptionGuard(com.android.tools.r8.graph.DexType):158:158 -> a
    8:42:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):162:196 -> a
    43:43:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):190:190 -> a
    44:50:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):187:193 -> a
    51:53:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):182:184 -> a
    54:57:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):176:179 -> a
    58:67:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):164:173 -> a
    68:69:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):215:216 -> a
    70:70:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):910:910 -> a
    70:70:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):216 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:71:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):910:910 -> a
    71:71:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):216 -> a
    72:96:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):219:243 -> a
    97:97:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):239:239 -> a
    98:98:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):236:236 -> a
    99:107:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):225:233 -> a
    108:110:void registerProto(com.android.tools.r8.graph.DexProto):254:256 -> a
    108:110:void registerCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite,int,int):233 -> a
    111:112:void registerCallSite(com.android.tools.r8.graph.DexCallSite):249:250 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    void registerInvokeInterface(com.android.tools.r8.graph.DexMethod) -> b
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():35:35 -> b
    1:1:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):202 -> b
    2:2:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):202:202 -> b
    3:3:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):910:910 -> b
    3:3:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):202 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):910:910 -> b
    4:4:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):202 -> b
    5:11:void registerCallSiteExceptBootstrapArgs(com.android.tools.r8.graph.DexCallSite):205:211 -> b
    12:13:void doBreak():39:40 -> b
    14:14:void registerInstanceFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField):99:99 -> b
    void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField) -> c
    1:1:com.android.tools.r8.graph.GraphLens getCodeLens():44:44 -> c
    2:3:com.android.tools.r8.graph.DexClassAndMethod getMethodContext():53:54 -> c
    2:3:com.android.tools.r8.graph.GraphLens getCodeLens():45 -> c
    4:4:com.android.tools.r8.graph.GraphLens getCodeLens():45:45 -> c
    5:6:com.android.tools.r8.graph.DexClassAndMethod getMethodContext():53:54 -> c
    5:6:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):76 -> c
    7:7:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):77:77 -> c
    8:8:boolean com.android.tools.r8.ir.code.Invoke$Type.isDirect():181:181 -> c
    8:8:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):78 -> c
    9:9:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):79:79 -> c
    10:10:boolean com.android.tools.r8.ir.code.Invoke$Type.isSuper():193:193 -> c
    10:10:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):81 -> c
    11:12:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):81:82 -> c
    13:13:void registerInstanceOf(com.android.tools.r8.graph.DexType):139:139 -> c
    void registerInvokeStatic(com.android.tools.r8.graph.DexMethod) -> d
    1:1:com.android.tools.r8.graph.Definition getContext():49:49 -> d
    2:2:void registerInstanceFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField):105:105 -> d
    3:3:void registerNewInstance(com.android.tools.r8.graph.DexType):113:113 -> d
    void registerStaticFieldRead(com.android.tools.r8.graph.DexField) -> e
    1:1:com.android.tools.r8.utils.TraversalContinuation getTraversalContinuation():58:58 -> e
    2:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod,boolean):109:109 -> e
    3:3:void registerSafeCheckCast(com.android.tools.r8.graph.DexType):154:154 -> e
    void registerInvokeSuper(com.android.tools.r8.graph.DexMethod) -> f
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:1:void registerStaticFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField):127:127 -> f
    void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
    void registerStaticFieldWrite(com.android.tools.r8.graph.DexField) -> g
    1:1:void registerStaticFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField):133:133 -> h
com.android.tools.r8.graph.UseRegistry$MethodHandleUse -> com.android.tools.r8.internal.g10:
    com.android.tools.r8.graph.UseRegistry$MethodHandleUse ARGUMENT_TO_LAMBDA_METAFACTORY -> b
    com.android.tools.r8.graph.UseRegistry$MethodHandleUse NOT_ARGUMENT_TO_LAMBDA_METAFACTORY -> c
    1:2:void <clinit>():21:22 -> <clinit>
    1:1:void <init>(java.lang.String,int):20:20 -> <init>
com.android.tools.r8.graph.UseRegistryWithResult -> com.android.tools.r8.internal.h10:
    java.lang.Object result -> e
    1:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.Definition,java.lang.Object):0:17 -> <init>
    1:1:java.lang.Object getResult():21:21 -> f
    1:27:void setResult(java.lang.Object):0:26 -> g
com.android.tools.r8.graph.analysis.ApiModelAnalysis -> com.android.tools.r8.internal.j2:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.androidapi.ComputedApiLevel minApiLevel -> c
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiCompute -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():20:20 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):26:29 -> <init>
    void lambda$notifyMarkVirtualDispatchTargetAsLive$0(com.android.tools.r8.graph.LookupLambdaTarget) -> a
    1:1:void processNewlyLiveField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.EnqueuerWorklist):35:35 -> a
    2:2:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):44:44 -> a
    3:12:void processTracedCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry,com.android.tools.r8.shaking.EnqueuerWorklist):50:59 -> a
    13:13:void notifyMarkMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):64:64 -> a
    14:14:void notifyMarkFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerWorklist):69:69 -> a
    15:15:void notifyMarkVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupTarget,com.android.tools.r8.shaking.EnqueuerWorklist):75:75 -> a
    16:16:void notifyFailedMethodResolutionTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.EnqueuerWorklist):86:86 -> a
    17:22:void computeAndSetApiLevelForDefinition(com.android.tools.r8.graph.DexClassAndMember):91:96 -> a
    23:23:void computeAndSetApiLevelForDefinition(com.android.tools.r8.graph.DexClassAndMember):93:93 -> a
    24:24:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.androidapi.AndroidApiLevelCompute.computeApiLevelForDefinition(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.androidapi.ComputedApiLevel):44:44 -> a
    24:24:void computeAndSetApiLevelForDefinition(com.android.tools.r8.graph.DexClassAndMember):93 -> a
    25:25:void computeAndSetApiLevelForDefinition(com.android.tools.r8.graph.DexClassAndMember):92:92 -> a
com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis -> com.android.tools.r8.internal.W9:
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> b
    com.android.tools.r8.graph.DexString kotlinAssertionsEnabled -> c
    java.util.List r8InstructionSequence -> f
    java.util.List javacInstructionSequence -> e
    java.util.List assertionHandlers -> d
    java.util.List jacocoInstructionSequence -> g
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:10:void <clinit>():150:159 -> <clinit>
    1:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):45:53 -> <init>
    1:2:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isUsingJavaAssertionsDisabledField(com.android.tools.r8.graph.DexField):59:60 -> a
    1:2:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):73 -> a
    3:3:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isUsingKotlinAssertionsEnabledField(com.android.tools.r8.graph.DexField):64:64 -> a
    3:3:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):73 -> a
    4:4:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):74:74 -> a
    5:5:void lambda$traceStaticFieldRead$0(com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):75:75 -> a
    6:11:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):85:90 -> a
    12:20:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):162:170 -> a
    12:20:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    21:28:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):232:239 -> a
    21:28:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    21:28:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    29:29:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    29:29:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):239 -> a
    29:29:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    29:29:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    30:30:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):239:239 -> a
    30:30:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    30:30:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    31:31:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    31:31:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):239 -> a
    31:31:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    31:31:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    32:34:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):243:245 -> a
    32:34:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    32:34:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    35:41:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.skipSequence(java.util.List,com.android.tools.r8.graph.CfCode,int):222:228 -> a
    35:41:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):246 -> a
    35:41:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    35:41:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    42:48:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):247:253 -> a
    42:48:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    42:48:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    49:49:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    49:49:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):253 -> a
    49:49:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    49:49:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    50:50:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):253:253 -> a
    50:50:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    50:50:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    51:51:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    51:51:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):253 -> a
    51:51:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    51:51:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    52:59:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isJavacInstructionSequence(com.android.tools.r8.graph.CfCode,int):257:264 -> a
    52:59:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):171 -> a
    52:59:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    60:67:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isR8InstructionSequence(com.android.tools.r8.graph.CfCode,int):269:276 -> a
    60:67:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):173 -> a
    60:67:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    68:68:boolean com.android.tools.r8.cf.code.CfInstruction.isStore():0:0 -> a
    68:68:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isR8InstructionSequence(com.android.tools.r8.graph.CfCode,int):276 -> a
    68:68:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):173 -> a
    68:68:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    69:69:boolean com.android.tools.r8.cf.code.CfInstruction.isLoad():0:0 -> a
    69:69:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isR8InstructionSequence(com.android.tools.r8.graph.CfCode,int):276 -> a
    69:69:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):173 -> a
    69:69:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    70:76:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.isR8InstructionSequence(com.android.tools.r8.graph.CfCode,int):280:286 -> a
    70:76:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):173 -> a
    70:76:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    77:83:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasJavacClinitAssertionCode(com.android.tools.r8.graph.CfCode):176:182 -> a
    77:83:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    84:106:boolean com.android.tools.r8.graph.analysis.ClassInitializerAssertionEnablingAnalysis.hasKotlincClinitAssertionCode(com.android.tools.r8.graph.ProgramMethod):190:212 -> a
    84:106:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):91 -> a
    107:107:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):92:92 -> a
com.android.tools.r8.graph.analysis.EnqueuerAnalysis -> com.android.tools.r8.internal.li:
    1:1:void <init>():18:18 -> <init>
    void done(com.android.tools.r8.shaking.Enqueuer) -> a
    void notifyFailedMethodResolutionTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing) -> a
    void notifyMarkFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void notifyMarkMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void notifyMarkVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupTarget,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void processNewlyLiveField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void processTracedCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis -> com.android.tools.r8.internal.si:
    void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> b
com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround -> com.android.tools.r8.internal.cm:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> b
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> c
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):43:46 -> <init>
    void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> a
    1:3:boolean com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround.isNoop(com.android.tools.r8.graph.AppView):58:60 -> a
    1:3:void register(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):51 -> a
    4:4:void register(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):52:52 -> a
    5:19:boolean com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround.isUnsafeToUseFieldOnDalvik(com.android.tools.r8.graph.DexField):86:100 -> a
    5:19:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):69 -> a
    20:20:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):70:70 -> a
    21:35:boolean com.android.tools.r8.graph.analysis.GetArrayOfMissingTypeVerifyErrorWorkaround.isUnsafeToUseFieldOnDalvik(com.android.tools.r8.graph.DexField):86:100 -> a
    21:35:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):80 -> a
    36:36:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):81:81 -> a
    void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist) -> b
com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis -> com.android.tools.r8.internal.tp:
    java.util.Map mapping -> b
    com.android.tools.r8.graph.AppView appView -> a
    1:1:void <init>(com.android.tools.r8.graph.AppView):62:62 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView):59:63 -> <init>
    1:17:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):69:85 -> a
    18:18:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerWorklist):83:83 -> a
    19:19:void done(com.android.tools.r8.shaking.Enqueuer):91:91 -> a
com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods -> com.android.tools.r8.internal.sp:
    java.util.Map mapping -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$1):21:21 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):27:29 -> <init>
    1:18:boolean isClassDefinitelyLoadedInInstanceMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):34:51 -> a
com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround -> com.android.tools.r8.internal.Uu:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> b
    com.android.tools.r8.utils.InternalOptions options -> c
    com.android.tools.r8.graph.DexType androidHardwareCamera2CameraDeviceType -> a
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):36:40 -> <init>
    1:1:boolean com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround.isNoop(com.android.tools.r8.graph.AppView):52:52 -> a
    1:1:void register(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):45 -> a
    2:2:void register(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer):46:46 -> a
    3:3:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):57:57 -> a
    4:4:boolean com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround.isInterfaceInSomeApiLevel(com.android.tools.r8.graph.DexType):65:65 -> a
    4:4:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):57 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    5:5:boolean com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround.isInterfaceInSomeApiLevel(com.android.tools.r8.graph.DexType):66 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):57 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    6:6:boolean com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround.isInterfaceInSomeApiLevel(com.android.tools.r8.graph.DexType):66 -> a
    6:6:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):57 -> a
    7:7:boolean com.android.tools.r8.graph.analysis.InvokeVirtualToInterfaceVerifyErrorWorkaround.isInterfaceInSomeApiLevel(com.android.tools.r8.graph.DexType):67:67 -> a
    7:7:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):57 -> a
    8:8:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):58:58 -> a
com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata -> com.android.tools.r8.internal.j6:
    java.util.Set isReadForInvokeReceiver -> a
    boolean isReadForWrite -> b
    1:1:void <init>(java.util.Set,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$1):16:16 -> <init>
    2:4:void <init>(java.util.Set,boolean):38:40 -> <init>
    1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder builder():44:44 -> a
    1:1:java.util.Set getReadForInvokeReceiver():56:56 -> b
    1:1:boolean isReadForInvokeReceiver():52:52 -> c
    1:1:boolean isReadForWrite():60:60 -> d
com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder -> com.android.tools.r8.internal.i6:
    java.util.Set isReadForInvokeReceiver -> a
    boolean isReadForWrite -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():63:63 -> <clinit>
    1:3:void <init>():63:65 -> <init>
    1:3:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder setIsReadForInvokeReceiver(java.util.Set):73:75 -> a
    4:4:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata build():85:85 -> a
    5:5:boolean com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder.isEmpty():69:69 -> a
    5:5:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata build():85 -> a
    6:7:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata build():85:86 -> a
    1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder setIsReadForWrite():80:80 -> b
com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata -> com.android.tools.r8.internal.l6:
    java.util.Map backing -> a
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata EMPTY -> b
    boolean $assertionsDisabled -> c
    1:3:void <clinit>():17:19 -> <clinit>
    1:3:void <init>(java.util.Map):23:25 -> <init>
    1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder builder(com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):29:29 -> a
    2:2:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata empty():34:34 -> a
    3:3:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(java.lang.Object):38:38 -> a
com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder -> com.android.tools.r8.internal.k6:
    java.util.Map backing -> b
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider bytecodeMetadataProvider -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():41:41 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):47:47 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):45:48 -> <init>
    1:4:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder setMetadata(com.android.tools.r8.ir.code.Instruction,java.lang.Object):52:55 -> a
    5:5:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata build():61:61 -> a
    6:6:boolean verifyNoMetadata(com.android.tools.r8.ir.code.Instruction):65:65 -> a
com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider -> com.android.tools.r8.internal.m6:
    java.util.Map backing -> a
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider EMPTY -> b
    1:2:void <clinit>():21:22 -> <clinit>
    1:2:void <init>(java.util.Map):26:27 -> <init>
    1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder builder():31:31 -> a
    2:2:com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata getMetadata(com.android.tools.r8.ir.code.Instruction):43:43 -> a
    1:1:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider empty():35:35 -> b
com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder -> com.android.tools.r8.internal.m6$a:
    java.util.Map builders -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():46:46 -> <clinit>
    1:3:void <init>():46:48 -> <init>
    1:4:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder addMetadata(com.android.tools.r8.ir.code.Instruction,java.util.function.Consumer):57:60 -> a
    5:11:com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider build():65:71 -> a
    12:12:void lambda$build$0(java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder):70:70 -> a
com.android.tools.r8.graph.classmerging.MergedClasses -> com.android.tools.r8.internal.gE:
    boolean hasBeenMergedIntoDifferentType(com.android.tools.r8.graph.DexType) -> a
    boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView) -> a
com.android.tools.r8.graph.classmerging.MergedClassesCollection -> com.android.tools.r8.internal.hE:
    java.util.List collection -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():15:15 -> <clinit>
    1:3:void <init>():15:17 -> <init>
    1:1:void add(com.android.tools.r8.graph.classmerging.MergedClasses):20:20 -> a
    2:3:boolean hasBeenMergedIntoDifferentType(com.android.tools.r8.graph.DexType):32:33 -> a
    4:5:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):52:53 -> a
com.android.tools.r8.graph.classmerging.VerticallyMergedClasses -> com.android.tools.r8.internal.V10:
    com.android.tools.r8.utils.collections.BidirectionalManyToOneMap mergedClasses -> a
    com.android.tools.r8.utils.collections.BidirectionalManyToOneMap mergedInterfaces -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(com.android.tools.r8.utils.collections.BidirectionalManyToOneMap,com.android.tools.r8.utils.collections.BidirectionalManyToOneMap):24:26 -> <init>
    1:3:com.android.tools.r8.graph.classmerging.VerticallyMergedClasses empty():30:32 -> a
    4:4:com.android.tools.r8.graph.DexType getTargetForOrDefault(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):54:54 -> a
    5:5:boolean hasBeenMergedIntoDifferentType(com.android.tools.r8.graph.DexType):76:76 -> a
    6:7:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):81:82 -> a
    8:8:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":93,"2":94,"3":95}}
    93:93:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):82:82 -> a
    94:94:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):82:82 -> a
    95:95:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):82:82 -> a
    9:9:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":96,"2":97,"3":98,"4":99}}
    96:96:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):83:83 -> a
    97:97:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):83:83 -> a
    98:98:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):83:83 -> a
    99:99:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):83:83 -> a
    92:92:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):83:83 -> a
    1:1:java.util.Map getForwardMap():41:41 -> b
    2:2:java.util.Collection getSourcesFor(com.android.tools.r8.graph.DexType):45:45 -> b
    1:2:com.android.tools.r8.graph.DexType getTargetFor(com.android.tools.r8.graph.DexType):49:50 -> c
    3:3:boolean isEmpty():66:66 -> c
    1:1:boolean hasBeenMergedIntoSubtype(com.android.tools.r8.graph.DexType):58:58 -> d
    1:1:boolean hasInterfaceBeenMergedIntoSubtype(com.android.tools.r8.graph.DexType):62:62 -> e
    1:1:java.util.Collection com.android.tools.r8.graph.classmerging.VerticallyMergedClasses.getSourcesFor(com.android.tools.r8.graph.DexType):45:45 -> f
    1:1:boolean isMergeTarget(com.android.tools.r8.graph.DexType):71 -> f
    2:2:boolean isMergeTarget(com.android.tools.r8.graph.DexType):71:71 -> f
com.android.tools.r8.graph.proto.ArgumentInfo -> com.android.tools.r8.graph.proto.b:
    com.android.tools.r8.graph.proto.ArgumentInfo NO_INFO -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():11:11 -> <init>
    com.android.tools.r8.graph.proto.RemovedArgumentInfo asRemovedArgumentInfo() -> a
    com.android.tools.r8.graph.proto.ArgumentInfo combine(com.android.tools.r8.graph.proto.ArgumentInfo) -> a
    com.android.tools.r8.graph.proto.ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    com.android.tools.r8.graph.proto.RewrittenTypeInfo asRewrittenTypeInfo() -> b
    boolean isRemovedArgumentInfo() -> c
com.android.tools.r8.graph.proto.ArgumentInfo$1 -> com.android.tools.r8.graph.proto.a:
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.graph.proto.ArgumentInfo combine(com.android.tools.r8.graph.proto.ArgumentInfo) -> a
    com.android.tools.r8.graph.proto.ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:int hashCode():39:39 -> hashCode
com.android.tools.r8.graph.proto.ArgumentInfoCollection -> com.android.tools.r8.graph.proto.c:
    com.android.tools.r8.graph.proto.ArgumentPermutation argumentPermutation -> c
    boolean $assertionsDisabled -> g
    int argumentInfosSize -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap EMPTY_MAP -> e
    com.android.tools.r8.graph.proto.ArgumentInfoCollection EMPTY -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap argumentInfos -> a
    boolean isConvertedToStaticMethod -> d
    1:4:void <clinit>():29:32 -> <clinit>
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap,int,com.android.tools.r8.graph.proto.ArgumentPermutation,boolean,com.android.tools.r8.graph.proto.ArgumentInfoCollection$1):29:29 -> <init>
    2:6:void <init>():40:44 -> <init>
    7:17:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap,int,com.android.tools.r8.graph.proto.ArgumentPermutation,boolean):51:61 -> <init>
    1:1:int access$000(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap):29:29 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap access$100():29:29 -> a
    3:4:void forEach(com.android.tools.r8.utils.IntObjConsumer):69:70 -> a
    5:12:int getNumberOfRemovedArgumentsBefore(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap):129:136 -> a
    13:13:com.android.tools.r8.graph.proto.ArgumentInfo getArgumentInfo(int):157:157 -> a
    14:14:int getNewArgumentIndex(int,int):166:166 -> a
    15:35:com.android.tools.r8.graph.proto.ArgumentInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):180:200 -> a
    36:36:boolean isConvertedToStaticMethod():170:170 -> a
    36:36:com.android.tools.r8.graph.proto.ArgumentInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):201 -> a
    37:38:com.android.tools.r8.graph.proto.ArgumentInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):201:202 -> a
    39:41:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder,int,com.android.tools.r8.graph.proto.ArgumentInfo):187:189 -> a
    42:43:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder,int,com.android.tools.r8.graph.proto.ArgumentInfo):195:196 -> a
    44:56:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):294:306 -> a
    57:59:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry peekNext(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator):357:359 -> a
    57:59:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):307 -> a
    60:63:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):309:312 -> a
    64:66:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry peekNext(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator):357:359 -> a
    64:66:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):315 -> a
    67:78:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):318:329 -> a
    79:79:boolean isArgumentRemoved(int):98:98 -> a
    79:79:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):330 -> a
    80:80:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):333:333 -> a
    81:81:boolean isArgumentRemoved(int):98:98 -> a
    81:81:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):334 -> a
    82:89:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):337:344 -> a
    90:90:boolean isConvertedToStaticMethod():170:170 -> a
    90:90:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):344 -> a
    91:91:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):344:344 -> a
    92:92:boolean isConvertedToStaticMethod():170:170 -> a
    92:92:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):345 -> a
    93:93:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):345:345 -> a
    94:99:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):344:349 -> a
    100:100:boolean isConvertedToStaticMethod():170:170 -> a
    100:100:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):351 -> a
    101:103:com.android.tools.r8.graph.proto.ArgumentInfoCollection combine(com.android.tools.r8.graph.proto.ArgumentInfoCollection):350:352 -> a
    104:104:java.util.function.Consumer createParameterAnnotationsRemover(com.android.tools.r8.graph.DexEncodedMethod):377:377 -> a
    105:105:void lambda$createParameterAnnotationsRemover$2(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):377:377 -> a
    1:1:int getNumberOfRemovedArgumentsBefore(int):123:123 -> b
    1:1:int getNewArgumentIndex(int):161 -> b
    2:2:int getNewArgumentIndex(int):161:161 -> b
    3:3:com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder builder():229:229 -> b
    1:1:com.android.tools.r8.graph.proto.ArgumentInfoCollection empty():65:65 -> c
    2:2:boolean hasArgumentInfo(int):149:149 -> c
    1:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():79:83 -> d
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet getKeys():75:75 -> d
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():84 -> d
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():86:86 -> d
    8:8:java.util.Iterator iterator():106:106 -> d
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():87 -> d
    9:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection getRemovedParameterIndices():88:91 -> d
    1:1:boolean hasArgumentPermutation():153:153 -> e
    2:2:boolean com.android.tools.r8.graph.proto.ArgumentPermutation.isDefault():0:0 -> e
    2:2:boolean hasArgumentPermutation():153 -> e
    1:6:boolean equals(java.lang.Object):212:217 -> equals
    1:2:boolean hasRemovedArguments():110:111 -> f
    1:1:boolean isConvertedToStaticMethod():170:170 -> g
    1:1:boolean isEmpty():102:102 -> h
    1:3:int hashCode():224:224 -> hashCode
    1:1:int numberOfRemovedArguments():119:119 -> i
    1:2:int size():174:175 -> j
com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder -> com.android.tools.r8.graph.proto.c$a:
    com.android.tools.r8.graph.proto.ArgumentPermutation argumentPermutation -> c
    int argumentInfosSize -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap argumentInfos -> a
    boolean isConvertedToStaticMethod -> d
    1:5:void <init>():232:236 -> <init>
    1:1:com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder addArgumentInfo(int,com.android.tools.r8.graph.proto.ArgumentInfo):240:240 -> a
    2:2:com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder addArgumentInfos(com.android.tools.r8.graph.proto.ArgumentInfoCollection):245:245 -> a
    3:3:int getNumberOfRemovedArgumentsBefore(int):250:250 -> a
    4:4:com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder setArgumentPermutation(com.android.tools.r8.graph.proto.ArgumentPermutation):269:269 -> a
    5:5:com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder setIsConvertedToStaticMethod(boolean):278:278 -> a
    6:11:com.android.tools.r8.graph.proto.ArgumentInfoCollection build():283:288 -> a
    1:1:boolean hasArgumentInfo(int):254:254 -> b
    2:3:boolean isEmpty():258:259 -> b
    4:4:boolean com.android.tools.r8.graph.proto.ArgumentPermutation.isDefault():0:0 -> b
    4:4:boolean isEmpty():259 -> b
    5:5:boolean isEmpty():259:259 -> b
    1:1:com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder setArgumentInfosSize(int):264:264 -> c
    2:2:com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder setIsConvertedToStaticMethod(boolean):278:278 -> c
    2:2:com.android.tools.r8.graph.proto.ArgumentInfoCollection$Builder setIsConvertedToStaticMethod():274 -> c
com.android.tools.r8.graph.proto.ArgumentPermutation -> com.android.tools.r8.internal.K2:
    1:1:void <init>():11:11 -> <init>
    1:1:com.android.tools.r8.graph.proto.ArgumentPermutation$Builder builder(int):14:14 -> a
    2:2:com.android.tools.r8.graph.proto.DefaultArgumentPermutation getDefault():18:18 -> a
    int getNewArgumentIndex(int) -> b
    boolean isDefault() -> b
com.android.tools.r8.graph.proto.ArgumentPermutation$Builder -> com.android.tools.r8.internal.J2:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap newArgumentIndices -> a
    1:1:void <init>(int,com.android.tools.r8.graph.proto.ArgumentPermutation$1):27:27 -> <init>
    2:5:void <init>(int):31:34 -> <init>
    1:1:boolean com.android.tools.r8.graph.proto.ArgumentPermutation$Builder.isDefault():38:38 -> a
    1:1:com.android.tools.r8.graph.proto.ArgumentPermutation build():51 -> a
    2:2:com.android.tools.r8.graph.proto.DefaultArgumentPermutation com.android.tools.r8.graph.proto.ArgumentPermutation.getDefault():18:18 -> a
    2:2:com.android.tools.r8.graph.proto.ArgumentPermutation build():52 -> a
    3:3:com.android.tools.r8.graph.proto.ArgumentPermutation build():54:54 -> a
    4:6:com.android.tools.r8.graph.proto.ArgumentPermutation$Builder setNewArgumentIndex(int,int):43:45 -> a
com.android.tools.r8.graph.proto.ArgumentPermutationMap -> com.android.tools.r8.internal.L2:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap newArgumentIndices -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():9:9 -> <clinit>
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):13:15 -> <init>
    1:1:int getNewArgumentIndex(int):20:20 -> b
com.android.tools.r8.graph.proto.DefaultArgumentPermutation -> com.android.tools.r8.internal.Oe:
    com.android.tools.r8.graph.proto.DefaultArgumentPermutation INSTANCE -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():11:11 -> <init>
    int getNewArgumentIndex(int) -> b
    1:1:com.android.tools.r8.graph.proto.DefaultArgumentPermutation get():14:14 -> c
com.android.tools.r8.graph.proto.RemovedArgumentInfo -> com.android.tools.r8.graph.proto.d:
    com.android.tools.r8.graph.DexType type -> c
    com.android.tools.r8.ir.analysis.value.SingleValue singleValue -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():14:14 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.analysis.value.SingleValue,com.android.tools.r8.graph.DexType):49:52 -> <init>
    com.android.tools.r8.graph.proto.RemovedArgumentInfo asRemovedArgumentInfo() -> a
    1:1:com.android.tools.r8.graph.proto.ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):14:14 -> a
    2:2:com.android.tools.r8.graph.proto.ArgumentInfo combine(com.android.tools.r8.graph.proto.ArgumentInfo):83:83 -> a
    1:4:com.android.tools.r8.graph.proto.RemovedArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):91:94 -> b
    boolean isRemovedArgumentInfo() -> c
    1:1:com.android.tools.r8.graph.proto.RemovedArgumentInfo$Builder builder():56:56 -> d
    1:1:com.android.tools.r8.ir.analysis.value.SingleValue getSingleValue():64:64 -> e
    1:5:boolean equals(java.lang.Object):101:105 -> equals
    1:1:com.android.tools.r8.graph.DexType getType():68:68 -> f
    1:1:boolean hasSingleValue():60:60 -> g
    1:1:int hashCode():110:110 -> hashCode
com.android.tools.r8.graph.proto.RemovedArgumentInfo$Builder -> com.android.tools.r8.graph.proto.d$a:
    1:1:void <init>():34:34 -> <init>
    com.android.tools.r8.graph.proto.RemovedArgumentInfo$BuilderBase self() -> a
    1:1:com.android.tools.r8.graph.proto.RemovedArgumentInfo build():37:37 -> b
com.android.tools.r8.graph.proto.RemovedArgumentInfo$BuilderBase -> com.android.tools.r8.graph.proto.d$b:
    com.android.tools.r8.ir.analysis.value.SingleValue singleValue -> a
    com.android.tools.r8.graph.DexType type -> b
    1:1:void <init>():16:16 -> <init>
    com.android.tools.r8.graph.proto.RemovedArgumentInfo$BuilderBase self() -> a
    1:2:com.android.tools.r8.graph.proto.RemovedArgumentInfo$BuilderBase setSingleValue(com.android.tools.r8.ir.analysis.value.SingleValue):22:23 -> a
    3:4:com.android.tools.r8.graph.proto.RemovedArgumentInfo$BuilderBase setType(com.android.tools.r8.graph.DexType):27:28 -> a
com.android.tools.r8.graph.proto.RemovedReceiverInfo -> com.android.tools.r8.graph.proto.f:
    1:1:void <init>(com.android.tools.r8.ir.analysis.value.SingleValue,com.android.tools.r8.graph.DexType):17:17 -> <init>
    1:4:com.android.tools.r8.graph.proto.RemovedReceiverInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):29:32 -> a
    1:4:com.android.tools.r8.graph.proto.ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):14 -> a
    1:4:com.android.tools.r8.graph.proto.RemovedReceiverInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):29:32 -> b
    1:4:com.android.tools.r8.graph.proto.RemovedArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):14 -> b
    1:5:boolean equals(java.lang.Object):39:43 -> equals
    1:1:int hashCode():48:48 -> hashCode
com.android.tools.r8.graph.proto.RemovedReceiverInfo$Builder -> com.android.tools.r8.graph.proto.e:
    1:1:void <init>():51:51 -> <init>
    com.android.tools.r8.graph.proto.RemovedArgumentInfo$BuilderBase self() -> a
    1:1:com.android.tools.r8.graph.proto.RemovedReceiverInfo build():58:58 -> b
com.android.tools.r8.graph.proto.RewrittenPrototypeDescription -> com.android.tools.r8.graph.proto.g:
    java.util.List extraParameters -> a
    com.android.tools.r8.graph.proto.RewrittenTypeInfo rewrittenReturnInfo -> c
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription NONE -> d
    boolean $assertionsDisabled -> e
    int $r8$clinit -> f
    com.android.tools.r8.graph.proto.ArgumentInfoCollection argumentInfoCollection -> b
    1:3:void <clinit>():33:35 -> <clinit>
    1:4:void <init>():41:44 -> <init>
    5:10:void <init>(java.util.List,com.android.tools.r8.graph.proto.RewrittenTypeInfo,com.android.tools.r8.graph.proto.ArgumentInfoCollection):50:55 -> <init>
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription create(java.util.List,com.android.tools.r8.graph.proto.RewrittenTypeInfo,com.android.tools.r8.graph.proto.ArgumentInfoCollection):62:62 -> a
    2:2:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription none():73:73 -> a
    2:2:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription create(java.util.List,com.android.tools.r8.graph.proto.RewrittenTypeInfo,com.android.tools.r8.graph.proto.ArgumentInfoCollection):63 -> a
    3:3:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription create(java.util.List,com.android.tools.r8.graph.proto.RewrittenTypeInfo,com.android.tools.r8.graph.proto.ArgumentInfoCollection):64:64 -> a
    4:14:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):86:96 -> a
    15:15:java.util.List getExtraParameters():121:121 -> a
    15:15:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):97 -> a
    16:16:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):97:97 -> a
    17:17:java.util.List getExtraParameters():121:121 -> a
    17:17:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):98 -> a
    18:21:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):98:101 -> a
    22:22:com.android.tools.r8.graph.proto.RewrittenTypeInfo getRewrittenReturnInfo():148:148 -> a
    22:22:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):102 -> a
    23:23:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):102:102 -> a
    24:24:com.android.tools.r8.graph.proto.RewrittenTypeInfo com.android.tools.r8.graph.proto.RewrittenTypeInfo.combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):35:35 -> a
    24:24:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):102 -> a
    25:25:com.android.tools.r8.graph.proto.RewrittenTypeInfo getRewrittenReturnInfo():148:148 -> a
    25:25:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):103 -> a
    26:27:com.android.tools.r8.graph.proto.ArgumentInfoCollection getArgumentInfoCollection():133:133 -> a
    26:27:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):105 -> a
    28:29:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription combine(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):105:106 -> a
    30:30:com.android.tools.r8.graph.proto.ArgumentInfoCollection getArgumentInfoCollection():133:133 -> a
    30:30:java.util.function.Consumer createParameterAnnotationsRemover(com.android.tools.r8.graph.DexEncodedMethod):78 -> a
    31:31:java.util.function.Consumer createParameterAnnotationsRemover(com.android.tools.r8.graph.DexEncodedMethod):78:78 -> a
    32:32:com.android.tools.r8.graph.proto.ArgumentInfoCollection getArgumentInfoCollection():133:133 -> a
    33:36:com.android.tools.r8.ir.code.Instruction getConstantReturn(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):165:168 -> a
    37:37:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    37:37:com.android.tools.r8.ir.code.Instruction getConstantReturn(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):168 -> a
    38:38:com.android.tools.r8.ir.code.Instruction getConstantReturn(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):169:169 -> a
    39:43:boolean verifyConstantReturnAccessibleInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):175:179 -> a
    44:45:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):184:185 -> a
    46:50:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):192:196 -> a
    46:50:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):187 -> a
    51:55:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):202:206 -> a
    51:55:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):197 -> a
    51:55:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):187 -> a
    56:56:int com.android.tools.r8.graph.proto.ArgumentInfoCollection.numberOfRemovedNonReceiverArguments(com.android.tools.r8.graph.ProgramMethod):144:144 -> a
    56:56:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):209 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    56:56:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):197 -> a
    56:56:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):187 -> a
    57:57:int com.android.tools.r8.graph.proto.ArgumentInfoCollection.numberOfRemovedNonReceiverArguments(com.android.tools.r8.graph.ProgramMethod):145:145 -> a
    57:57:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):209 -> a
    57:57:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):197 -> a
    57:57:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):187 -> a
    58:58:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):98:98 -> a
    58:58:int com.android.tools.r8.graph.proto.ArgumentInfoCollection.numberOfRemovedNonReceiverArguments(com.android.tools.r8.graph.ProgramMethod):145 -> a
    58:58:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):209 -> a
    58:58:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):197 -> a
    58:58:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):187 -> a
    59:59:int com.android.tools.r8.graph.proto.ArgumentInfoCollection.numberOfRemovedNonReceiverArguments(com.android.tools.r8.graph.ProgramMethod):145:145 -> a
    59:59:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):209 -> a
    59:59:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):197 -> a
    59:59:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):187 -> a
    60:66:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):209:215 -> a
    60:66:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):197 -> a
    60:66:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):187 -> a
    67:67:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isNone():0:0 -> a
    67:67:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):215 -> a
    67:67:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):197 -> a
    67:67:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):187 -> a
    68:68:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):216:216 -> a
    68:68:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):197 -> a
    68:68:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):187 -> a
    69:69:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    69:69:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):217 -> a
    69:69:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):197 -> a
    69:69:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):187 -> a
    70:76:com.android.tools.r8.graph.DexType[] rewriteParameters(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):218:224 -> a
    70:76:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):197 -> a
    70:76:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):187 -> a
    77:77:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):198:198 -> a
    77:77:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):187 -> a
    78:78:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188:188 -> a
    79:79:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):339:339 -> a
    79:79:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    80:80:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):339:339 -> a
    80:80:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):188 -> a
    81:89:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):231:239 -> a
    90:93:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription withRewrittenReturnInfo(com.android.tools.r8.graph.proto.RewrittenTypeInfo):247:250 -> a
    94:101:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription withExtraParameters(java.util.List):260:267 -> a
    1:1:java.util.List getExtraParameters():121:121 -> b
    1:1:com.android.tools.r8.graph.proto.RewrittenTypeInfo getRewrittenReturnInfo():148:148 -> c
    1:1:boolean hasBeenChangedToReturnVoid():129:129 -> d
    1:1:boolean hasExtraParameters():117:117 -> e
    1:7:boolean equals(java.lang.Object):273:279 -> equals
    1:1:boolean hasRewrittenReturnInfo():137:137 -> f
    1:3:boolean isEmpty():111:113 -> g
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription none():73:73 -> h
    1:1:int hashCode():284:284 -> hashCode
    1:1:int numberOfExtraParameters():125:125 -> i
    1:1:boolean requiresRewritingAtCallSite():141:141 -> j
    2:2:int numberOfExtraParameters():125:125 -> j
    2:2:boolean requiresRewritingAtCallSite():142 -> j
    3:5:boolean requiresRewritingAtCallSite():142:144 -> j
com.android.tools.r8.graph.proto.RewrittenTypeInfo -> com.android.tools.r8.graph.proto.h:
    com.android.tools.r8.graph.DexType newType -> d
    com.android.tools.r8.graph.DexType oldType -> c
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexType castType -> b
    com.android.tools.r8.ir.analysis.value.SingleValue singleValue -> e
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.value.SingleValue,com.android.tools.r8.graph.proto.RewrittenTypeInfo$1):15:15 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.value.SingleValue):27:31 -> <init>
    1:1:com.android.tools.r8.graph.proto.ArgumentInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):15:15 -> a
    2:5:com.android.tools.r8.graph.proto.ArgumentInfo combine(com.android.tools.r8.graph.proto.ArgumentInfo):78:81 -> a
    6:6:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    6:6:com.android.tools.r8.graph.proto.ArgumentInfo combine(com.android.tools.r8.graph.proto.ArgumentInfo):81 -> a
    7:8:com.android.tools.r8.graph.proto.ArgumentInfo combine(com.android.tools.r8.graph.proto.ArgumentInfo):81:82 -> a
    9:12:com.android.tools.r8.graph.proto.RewrittenTypeInfo combine(com.android.tools.r8.graph.proto.RewrittenTypeInfo):86:89 -> a
    13:13:com.android.tools.r8.graph.DexType getCastType():39:39 -> a
    13:13:com.android.tools.r8.graph.proto.RewrittenTypeInfo combine(com.android.tools.r8.graph.proto.RewrittenTypeInfo):89 -> a
    14:14:com.android.tools.r8.ir.analysis.value.SingleValue getSingleValue():51:51 -> a
    14:14:com.android.tools.r8.graph.proto.RewrittenTypeInfo combine(com.android.tools.r8.graph.proto.RewrittenTypeInfo):89 -> a
    15:15:com.android.tools.r8.graph.proto.RewrittenTypeInfo combine(com.android.tools.r8.graph.proto.RewrittenTypeInfo):89:89 -> a
    com.android.tools.r8.graph.proto.RewrittenTypeInfo asRewrittenTypeInfo() -> b
    1:4:com.android.tools.r8.graph.proto.RewrittenTypeInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):95:98 -> b
    5:5:com.android.tools.r8.ir.analysis.value.SingleValue getSingleValue():51:51 -> b
    5:5:com.android.tools.r8.graph.proto.RewrittenTypeInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):98 -> b
    6:11:com.android.tools.r8.graph.proto.RewrittenTypeInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):98:103 -> b
    1:1:com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder builder():23:23 -> d
    1:1:com.android.tools.r8.graph.DexType getCastType():39:39 -> e
    1:7:boolean equals(java.lang.Object):111:117 -> equals
    1:1:com.android.tools.r8.graph.DexType getNewType():43:43 -> f
    1:1:com.android.tools.r8.graph.DexType getOldType():47:47 -> g
    1:1:com.android.tools.r8.ir.analysis.value.SingleValue getSingleValue():51:51 -> h
    1:1:int hashCode():122:122 -> hashCode
    1:1:boolean hasBeenChangedToReturnVoid():55:55 -> i
    1:1:boolean hasCastType():59:59 -> j
    1:1:boolean hasSingleValue():63:63 -> k
com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder -> com.android.tools.r8.graph.proto.h$a:
    com.android.tools.r8.graph.DexType newType -> c
    com.android.tools.r8.graph.DexType oldType -> b
    com.android.tools.r8.graph.DexType castType -> a
    com.android.tools.r8.ir.analysis.value.SingleValue singleValue -> d
    1:1:void <init>():125:125 -> <init>
    1:1:com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder applyIf(boolean,java.util.function.Consumer):134:134 -> a
    2:2:com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder setCastType(com.android.tools.r8.graph.DexType):140:140 -> a
    3:3:com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder setSingleValue(com.android.tools.r8.ir.analysis.value.SingleValue):155:155 -> a
    4:4:com.android.tools.r8.graph.proto.RewrittenTypeInfo build():160:160 -> a
    1:1:com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder setNewType(com.android.tools.r8.graph.DexType):150:150 -> b
    1:1:com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder setOldType(com.android.tools.r8.graph.DexType):145:145 -> c
com.android.tools.r8.horizontalclassmerging.ClassInstanceFieldsMerger -> com.android.tools.r8.internal.na:
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexEncodedField classIdField -> d
    1:1:void <clinit>():26:26 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup):37:40 -> <init>
    1:15:void mapFields(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.BiConsumer):59:73 -> a
    16:37:void mapFields(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.BiConsumer):68:89 -> a
    38:43:java.util.Map getAvailableFieldsByExactInfo(com.android.tools.r8.graph.DexProgramClass):95:100 -> a
    44:44:java.util.LinkedList lambda$getAvailableFieldsByExactInfo$0(com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo):99:99 -> a
    45:47:java.util.Map getAvailableFieldsByRelaxedInfo(com.android.tools.r8.graph.AppView,java.util.Map):109:111 -> a
    48:48:void lambda$getAvailableFieldsByRelaxedInfo$2(java.util.Map,com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo,java.util.LinkedList):115:115 -> a
    49:52:void lambda$getAvailableFieldsByRelaxedInfo$2(java.util.Map,com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo,java.util.LinkedList):114:117 -> a
    53:63:com.android.tools.r8.graph.DexEncodedField[] merge():135:145 -> a
    64:64:void lambda$merge$5(java.util.List,java.util.Set,com.android.tools.r8.graph.DexEncodedField):144:144 -> a
    65:73:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):150:158 -> a
    74:74:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    74:74:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):158 -> a
    75:75:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):158:158 -> a
    76:76:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):157:157 -> a
    77:84:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):155:162 -> a
    85:85:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):213:213 -> a
    85:85:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):162 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):213:213 -> a
    86:86:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):162 -> a
    87:87:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.DexEncodedField.toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):308:308 -> a
    87:87:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):161 -> a
    88:88:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):167:167 -> a
    89:89:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.append(java.lang.Iterable,java.lang.Object):52:52 -> a
    89:89:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):169 -> a
    90:90:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    90:90:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.append(java.lang.Iterable,java.lang.Object):52 -> a
    90:90:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):169 -> a
    91:91:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):169:169 -> a
    92:95:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):168:171 -> a
    96:96:com.android.tools.r8.graph.DexEncodedField mergeSourceFieldsToTargetField(com.android.tools.r8.graph.DexEncodedField,java.util.Set):167:167 -> a
    97:97:boolean needsRelaxedType(com.android.tools.r8.graph.DexEncodedField,java.lang.Iterable):178:178 -> a
    98:98:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    98:98:boolean needsRelaxedType(com.android.tools.r8.graph.DexEncodedField,java.lang.Iterable):178 -> a
    99:99:boolean lambda$needsRelaxedType$6(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):179:179 -> a
    100:100:boolean com.android.tools.r8.graph.DexEncodedField.isSynthetic():234:234 -> a
    100:100:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):122 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    101:101:boolean com.android.tools.r8.graph.DexEncodedField.isSynthetic():234:234 -> a
    101:101:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):122 -> a
    102:102:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):122:122 -> a
    103:103:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    103:103:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):122 -> a
    104:104:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):123:123 -> a
    105:105:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    105:105:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):125 -> a
    106:106:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):125:125 -> a
    107:107:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    107:107:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):125 -> a
    108:108:void fixAccessFlags(com.android.tools.r8.graph.DexEncodedField,java.util.Collection):126:126 -> a
    109:109:boolean com.android.tools.r8.graph.DexEncodedField.isSynthetic():234:234 -> a
    109:109:boolean lambda$fixAccessFlags$3(com.android.tools.r8.graph.DexEncodedField):122 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    110:110:boolean com.android.tools.r8.graph.DexEncodedField.isSynthetic():234:234 -> a
    110:110:boolean lambda$fixAccessFlags$3(com.android.tools.r8.graph.DexEncodedField):122 -> a
    1:1:java.util.LinkedList lambda$getAvailableFieldsByRelaxedInfo$1(com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo):116:116 -> b
    2:2:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> b
    2:2:boolean lambda$fixAccessFlags$4(com.android.tools.r8.graph.DexEncodedField):125 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> b
    3:3:boolean lambda$fixAccessFlags$4(com.android.tools.r8.graph.DexEncodedField):125 -> b
    1:1:void setClassIdField(com.android.tools.r8.graph.DexEncodedField):131:131 -> c
com.android.tools.r8.horizontalclassmerging.ClassMerger -> com.android.tools.r8.internal.sa:
    com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder classMethodsBuilder -> f
    boolean $assertionsDisabled -> n
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> d
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> b
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> m
    java.util.Collection virtualMethodMergers -> l
    com.android.tools.r8.horizontalclassmerging.InstanceInitializerMergerCollection instanceInitializerMergers -> k
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> c
    com.android.tools.r8.horizontalclassmerging.ClassInstanceFieldsMerger classInstanceFieldsMerger -> h
    com.android.tools.r8.horizontalclassmerging.ClassStaticFieldsMerger classStaticFieldsMerger -> i
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> e
    com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger classInitializerMerger -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap classIdentifiers -> g
    1:5:void <clinit>():52:56 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Collection,com.android.tools.r8.horizontalclassmerging.ClassMerger$1):52:52 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Collection):82:82 -> <init>
    3:39:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Collection):64:100 -> <init>
    1:2:void buildClassIdentifierMap():104:105 -> a
    3:3:void lambda$buildClassIdentifierMap$0(com.android.tools.r8.graph.DexProgramClass):105:105 -> a
    4:4:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):111:111 -> a
    5:11:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):118:124 -> a
    5:11:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    12:12:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2435:2435 -> a
    12:12:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):124 -> a
    12:12:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    13:13:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2435:2435 -> a
    13:13:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):124 -> a
    13:13:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    14:15:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):125:126 -> a
    14:15:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    16:16:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):331:331 -> a
    16:16:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):126 -> a
    16:16:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    17:17:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):335:335 -> a
    17:17:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):331 -> a
    17:17:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):126 -> a
    17:17:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    18:23:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):127:132 -> a
    18:23:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    24:24:com.android.tools.r8.graph.MethodAccessFlags com.android.tools.r8.graph.MethodAccessFlags.createForClassInitializer():79:79 -> a
    24:24:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):133 -> a
    24:24:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    25:39:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):133:147 -> a
    25:39:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    40:40:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeStaticClassInitializers(com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):146:146 -> a
    40:40:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):112 -> a
    41:41:void mergeDirectMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):113:113 -> a
    42:46:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):154:158 -> a
    47:47:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2435:2435 -> a
    47:47:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):158 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    48:48:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2435:2435 -> a
    48:48:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):158 -> a
    49:60:void lambda$mergeDirectMethods$1(com.android.tools.r8.graph.ProgramMethod):156:167 -> a
    61:61:void lambda$mergeInstanceInitializers$2(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger):194:194 -> a
    62:62:void lambda$mergeVirtualMethods$3(java.util.function.Consumer,com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger):211:211 -> a
    63:63:boolean lambda$fixNestMemberAttributes$5(com.android.tools.r8.graph.NestMemberClassAttribute):263:263 -> a
    64:64:void lambda$mergeInterfaces$6(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):287:287 -> a
    65:65:void lambda$mergeInterfaces$7(java.util.function.Consumer):287:287 -> a
    66:68:void lambda$mergeInterfaces$8(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):290:292 -> a
    69:69:void lambda$mergeInterfaces$9(java.util.Set,com.android.tools.r8.graph.DexProgramClass):298:298 -> a
    70:76:void mergeInstanceFields(com.android.tools.r8.graph.PrunedItems$Builder):312:318 -> a
    77:77:void lambda$mergeInstanceFields$10(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.graph.DexEncodedField):315:315 -> a
    78:81:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):332:335 -> a
    82:82:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):304:304 -> a
    82:82:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):336 -> a
    83:83:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():220:220 -> a
    83:83:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):305 -> a
    83:83:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):336 -> a
    84:84:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    84:84:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():220 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    84:84:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):305 -> a
    84:84:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):336 -> a
    85:85:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    85:85:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():220 -> a
    85:85:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):305 -> a
    85:85:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):336 -> a
    86:91:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():220:225 -> a
    86:91:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):305 -> a
    86:91:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):336 -> a
    92:92:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPublicFinalSynthetic():80:80 -> a
    92:92:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():226 -> a
    92:92:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):305 -> a
    92:92:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):336 -> a
    93:107:void com.android.tools.r8.horizontalclassmerging.ClassMerger.appendClassIdField():226:240 -> a
    93:107:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):305 -> a
    93:107:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):336 -> a
    108:109:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeFields(com.android.tools.r8.graph.PrunedItems$Builder):307:308 -> a
    108:109:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):336 -> a
    110:112:void com.android.tools.r8.horizontalclassmerging.ClassMerger.mergeMethods(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):202:204 -> a
    110:112:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):337 -> a
    113:115:void mergeGroup(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):341:343 -> a
    116:116:void lambda$mergeGroup$12(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.graph.DexProgramClass):343:343 -> a
    1:2:com.android.tools.r8.graph.DexMethod renameDirectMethod(com.android.tools.r8.graph.ProgramMethod):181:182 -> b
    3:3:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> b
    3:3:com.android.tools.r8.graph.DexMethod renameDirectMethod(com.android.tools.r8.graph.ProgramMethod):183 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> b
    4:4:com.android.tools.r8.graph.DexMethod renameDirectMethod(com.android.tools.r8.graph.ProgramMethod):183 -> b
    5:7:com.android.tools.r8.graph.DexMethod renameDirectMethod(com.android.tools.r8.graph.ProgramMethod):183:185 -> b
    8:8:com.android.tools.r8.graph.DexMethod renameDirectMethod(com.android.tools.r8.graph.ProgramMethod):182:182 -> b
    9:9:void mergeInstanceInitializers(com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):192:192 -> b
    10:17:void mergeVirtualMethods(java.util.function.Consumer):209:216 -> b
    18:18:void lambda$mergeVirtualMethods$4(com.android.tools.r8.graph.DexProgramClass):216:216 -> b
    19:19:void fixAccessFlags():244:244 -> b
    20:20:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> b
    20:20:void fixAccessFlags():244 -> b
    21:23:void fixAccessFlags():245:247 -> b
    24:24:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> b
    24:24:void fixAccessFlags():247 -> b
    25:25:void fixAccessFlags():248:248 -> b
    26:28:void lambda$mergeInstanceFields$11(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.graph.DexProgramClass):314:316 -> b
    1:1:void mergeDirectMethods(com.android.tools.r8.graph.DexProgramClass):152:152 -> c
    2:2:void com.android.tools.r8.graph.DexProgramClass.forEachProgramDirectMethod(java.util.function.Consumer):256:256 -> c
    2:2:void mergeDirectMethods(com.android.tools.r8.graph.DexProgramClass):152 -> c
    3:3:void com.android.tools.r8.graph.DexProgramClass.forEachProgramDirectMethod(java.util.function.Consumer):256:256 -> c
    3:3:void mergeDirectMethods(com.android.tools.r8.graph.DexProgramClass):152 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void mergeDirectMethods(com.android.tools.r8.graph.DexProgramClass):172:172 -> c
    5:13:void fixNestMemberAttributes():253:261 -> c
    1:4:void mergeAnnotations():271:274 -> d
    1:1:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> e
    1:1:void mergeInterfaces():281 -> e
    2:20:void mergeInterfaces():282:300 -> e
    21:21:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.create(java.util.Collection):55:55 -> e
    21:21:void mergeInterfaces():300 -> e
    22:22:void com.android.tools.r8.graph.DexTypeList.<init>(java.util.Collection):47:47 -> e
    22:22:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.create(java.util.Collection):55 -> e
    22:22:void mergeInterfaces():300 -> e
    23:23:void com.android.tools.r8.graph.DexClass.setInterfaces(com.android.tools.r8.graph.DexTypeList):189:189 -> e
    23:23:void mergeInterfaces():300 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:3:void mergeStaticFields():322:324 -> f
com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder -> com.android.tools.r8.internal.ra:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.IRCodeProvider codeProvider -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> c
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> d
    1:1:void <clinit>():346:346 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):356:360 -> <init>
    1:15:java.util.List createVirtualMethodMergers():364:378 -> a
    16:16:void lambda$createVirtualMethodMergers$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass):368:368 -> a
    17:17:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    17:17:void lambda$createVirtualMethodMergers$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass):368 -> a
    18:18:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    18:18:void lambda$createVirtualMethodMergers$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass):368 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:void lambda$createVirtualMethodMergers$1(java.util.Map,com.android.tools.r8.graph.ProgramMethod):372:372 -> a
    20:23:void lambda$createVirtualMethodMergers$1(java.util.Map,com.android.tools.r8.graph.ProgramMethod):371:374 -> a
    24:24:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder lambda$createVirtualMethodMergers$0(com.android.tools.r8.graph.DexMethodSignature):373:373 -> a
    25:31:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):393:399 -> a
    32:35:void com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder.createClassIdField():385:388 -> a
    32:35:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):400 -> a
    36:36:void com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder.createClassIdField():387:387 -> a
    36:36:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):400 -> a
    37:37:void com.android.tools.r8.horizontalclassmerging.ClassMerger$Builder.createClassIdField():386:386 -> a
    37:37:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):400 -> a
    38:38:com.android.tools.r8.horizontalclassmerging.ClassMerger build(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):403:403 -> a
    39:39:boolean lambda$build$3(com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger):397:397 -> a
com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder -> com.android.tools.r8.internal.ta:
    java.util.List virtualMethods -> b
    java.util.List directMethods -> c
    java.util.Set reservedMethods -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():15:15 -> <clinit>
    1:4:void <init>():15:18 -> <init>
    1:3:void addDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):27:29 -> a
    4:4:boolean isFresh(com.android.tools.r8.graph.DexMethod):33:33 -> a
    5:5:boolean lambda$setClassMethods$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):37:37 -> a
    6:11:void setClassMethods(com.android.tools.r8.graph.DexProgramClass):37:42 -> a
    1:3:void addVirtualMethod(com.android.tools.r8.graph.DexEncodedMethod):21:23 -> b
    4:4:boolean lambda$setClassMethods$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):39:39 -> b
com.android.tools.r8.horizontalclassmerging.ClassStaticFieldsMerger -> com.android.tools.r8.internal.Sa:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> c
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> d
    java.util.Map targetFields -> e
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup):26:26 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup):23:30 -> <init>
    1:5:boolean isFresh(com.android.tools.r8.graph.DexField):34:38 -> a
    6:11:void addField(com.android.tools.r8.graph.DexEncodedField):47:52 -> a
    12:18:void addField(com.android.tools.r8.graph.DexEncodedField):49:55 -> a
    19:19:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.DexEncodedField.toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):308:308 -> a
    19:19:void addField(com.android.tools.r8.graph.DexEncodedField):55 -> a
    20:22:void addField(com.android.tools.r8.graph.DexEncodedField):56:58 -> a
    23:23:void addFields(com.android.tools.r8.graph.DexProgramClass):62:62 -> a
    24:24:void merge():66:66 -> a
com.android.tools.r8.horizontalclassmerging.ConstructorEntryPoint -> com.android.tools.r8.internal.Rd:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.graph.DexField classIdField -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap typeConstructors -> m
    1:1:void <clinit>():36:36 -> <clinit>
    1:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexMethod):46:49 -> <init>
    1:1:void addConstructorInvoke(com.android.tools.r8.graph.DexMethod):57:57 -> a
    2:10:void lambda$addConstructorInvoke$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.IRBuilder):59:67 -> a
    11:11:void lambda$prepareMultiConstructorInstructions$3(int,int[],com.android.tools.r8.utils.IntBox,int[],com.android.tools.r8.ir.conversion.IRBuilder):100:100 -> a
    12:12:boolean lambda$prepareMultiConstructorInstructions$4(int,com.android.tools.r8.utils.IntBox,int[],com.android.tools.r8.ir.conversion.IRBuilder):101:101 -> a
    13:16:boolean com.android.tools.r8.ir.synthetic.SyntheticSourceCode.endsSwitch(com.android.tools.r8.ir.conversion.IRBuilder,int,int,int[]):237:240 -> a
    13:16:boolean lambda$prepareMultiConstructorInstructions$4(int,com.android.tools.r8.utils.IntBox,int[],com.android.tools.r8.ir.conversion.IRBuilder):101 -> a
    1:1:void lambda$addRegisterClassIdAssignment$1(int,com.android.tools.r8.ir.conversion.IRBuilder):74:74 -> b
    2:2:void lambda$addConstantRegisterClassIdAssignment$2(int,int,com.android.tools.r8.ir.conversion.IRBuilder):81:81 -> b
    3:3:void com.android.tools.r8.ir.conversion.IRBuilder.addIntConst(int,long):1203:1203 -> b
    3:3:void lambda$addConstantRegisterClassIdAssignment$2(int,int,com.android.tools.r8.ir.conversion.IRBuilder):81 -> b
    1:1:void addConstantRegisterClassIdAssignment(int):79:79 -> i
    2:2:boolean com.android.tools.r8.horizontalclassmerging.ConstructorEntryPoint.hasClassIdField():53:53 -> i
    2:2:void addConstantRegisterClassIdAssignment(int):79 -> i
    3:6:void addConstantRegisterClassIdAssignment(int):79:82 -> i
    7:10:void prepareInstructions():135:138 -> i
    1:1:void addRegisterClassIdAssignment(int):73:73 -> j
    2:2:boolean com.android.tools.r8.horizontalclassmerging.ConstructorEntryPoint.hasClassIdField():53:53 -> j
    2:2:void addRegisterClassIdAssignment(int):73 -> j
    3:4:void addRegisterClassIdAssignment(int):73:74 -> j
    5:8:void prepareMultiConstructorInstructions():86:89 -> j
    9:9:boolean com.android.tools.r8.horizontalclassmerging.ConstructorEntryPoint.hasClassIdField():53:53 -> j
    9:9:void prepareMultiConstructorInstructions():91 -> j
    10:36:void prepareMultiConstructorInstructions():92:118 -> j
    1:1:void prepareSingleConstructorInstructions():125:125 -> k
    2:2:boolean com.android.tools.r8.horizontalclassmerging.ConstructorEntryPoint.hasClassIdField():53:53 -> k
    2:2:void prepareSingleConstructorInstructions():126 -> k
    3:6:void prepareSingleConstructorInstructions():127:130 -> k
com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger -> com.android.tools.r8.internal.Vm:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> b
    com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions options -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():35:35 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):54:57 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger createForFinalClassMerging(com.android.tools.r8.graph.AppView):67:67 -> a
    2:16:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):89:103 -> a
    17:19:java.util.List com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger.initializeClassMergers(com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,java.util.Collection):274:276 -> a
    17:19:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):107 -> a
    20:20:boolean com.android.tools.r8.horizontalclassmerging.MergeGroup.isNonTrivial():202:202 -> a
    20:20:java.util.List com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger.initializeClassMergers(com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,java.util.Collection):276 -> a
    20:20:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):107 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    21:25:java.util.List com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger.initializeClassMergers(com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,java.util.Collection):276:280 -> a
    21:25:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):107 -> a
    26:29:java.util.List com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger.initializeClassMergers(com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,java.util.Collection):279:282 -> a
    26:29:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):107 -> a
    30:36:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):109:115 -> a
    37:45:com.android.tools.r8.graph.PrunedItems com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger.applyClassMergers(java.util.Collection,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder,java.util.function.Consumer):292:300 -> a
    37:45:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):116 -> a
    46:51:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):123:128 -> a
    52:52:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses.builder():28:28 -> a
    52:52:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):128 -> a
    53:56:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):128:131 -> a
    57:58:com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger.createLens(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass):312:313 -> a
    57:58:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):132 -> a
    59:63:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):134:138 -> a
    64:64:com.android.tools.r8.shaking.KeepInfoCollection com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection.mutate(java.util.function.Consumer):507:507 -> a
    64:64:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):138 -> a
    65:67:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142:142 -> a
    68:68:void com.android.tools.r8.graph.AppView.rewriteWithLensAndApplication(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication):748:748 -> a
    68:68:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    69:82:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):144:157 -> a
    83:86:void run(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):156:159 -> a
    87:87:void lambda$run$0(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):138:138 -> a
    88:90:void amendKeepInfo(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,java.util.List):165:167 -> a
    91:98:void lambda$amendKeepInfo$2(java.util.List,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):170:177 -> a
    99:112:void lambda$amendKeepInfo$2(java.util.List,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):173:186 -> a
    113:113:void lambda$amendKeepInfo$1(com.android.tools.r8.horizontalclassmerging.VirtuallyMergedMethodsKeepInfo,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):183:183 -> a
    114:129:com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier createFieldAccessInfoCollectionModifier(java.util.Collection):193:208 -> a
    130:130:boolean lambda$createFieldAccessInfoCollectionModifier$3(com.android.tools.r8.graph.DexEncodedMethod):200:200 -> a
    131:131:void lambda$createFieldAccessInfoCollectionModifier$4(com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):201:201 -> a
    132:132:void transformIncompleteCode(java.util.Collection,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,java.util.concurrent.ExecutorService):216:216 -> a
    133:134:void lambda$transformIncompleteCode$9(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.horizontalclassmerging.MergeGroup):219:220 -> a
    135:139:void lambda$transformIncompleteCode$8(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.graph.ProgramMethod):226:230 -> a
    140:140:void lambda$transformIncompleteCode$8(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.graph.ProgramMethod):229:229 -> a
    141:148:com.android.tools.r8.graph.DirectMappedDexApplication getNewApplication(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):239:246 -> a
    149:149:boolean lambda$getNewApplication$10(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.graph.DexProgramClass):245:245 -> a
    150:162:java.util.List getInitialGroups():250:262 -> a
    163:163:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):327:327 -> a
    164:164:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":494,"2":495,"3":496}}
    494:494:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):327:327 -> a
    495:495:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):327:327 -> a
    496:496:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):327:327 -> a
    492:493:com.android.tools.r8.utils.TraversalContinuation lambda$verifyNoCyclesInInterfaceHierarchies$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):328:329 -> a
    1:1:com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger createForInitialClassMerging(com.android.tools.r8.graph.AppView):62:62 -> b
    2:2:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):73:73 -> b
    3:3:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":86,"2":87,"3":88}}
    86:86:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74:74 -> b
    87:87:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74:74 -> b
    88:88:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74:74 -> b
    77:85:void runIfNecessary(com.android.tools.r8.shaking.RuntimeTypeCheckInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74:82 -> b
    89:89:boolean lambda$createFieldAccessInfoCollectionModifier$5(com.android.tools.r8.graph.DexEncodedMethod):204:204 -> b
    90:90:void lambda$createFieldAccessInfoCollectionModifier$6(com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):205:205 -> b
    91:98:boolean verifyNoCyclesInInterfaceHierarchies(java.util.Collection):317:324 -> b
    1:2:boolean lambda$transformIncompleteCode$7(com.android.tools.r8.graph.DexEncodedMethod):222:223 -> c
com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode -> com.android.tools.r8.internal.Um:
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode INITIAL -> b
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode FINAL -> c
    1:2:void <clinit>():38:39 -> <clinit>
    1:1:void <init>(java.lang.String,int):37:37 -> <init>
    1:1:boolean isFinal():46:46 -> a
    1:1:boolean isInitial():42:42 -> b
com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens -> com.android.tools.r8.internal.Xm:
    java.util.Map methodExtraParameters -> n
    com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses mergedClasses -> o
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$1):30:30 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap):42:44 -> <init>
    1:10:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):64:73 -> a
    1:10:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):78:87 -> b
    11:11:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    11:11:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):87 -> b
    12:17:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):85:90 -> b
    1:1:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):54:54 -> f
    2:2:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.prependSingleton(java.lang.Object,java.lang.Iterable):136:136 -> f
    2:2:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):54 -> f
    3:3:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> f
    3:3:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.prependSingleton(java.lang.Object,java.lang.Iterable):136 -> f
    3:3:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):54 -> f
com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder -> com.android.tools.r8.internal.Wm:
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap newMethodSignatures -> c
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap newFieldSignatures -> a
    java.util.Map methodExtraParameters -> d
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap pendingNewFieldSignatureUpdates -> f
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap pendingNewMethodSignatureUpdates -> g
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap pendingMethodMapUpdates -> e
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap methodMap -> b
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():93:93 -> <clinit>
    1:1:void <init>():113:113 -> <init>
    2:17:void <init>():96:111 -> <init>
    1:5:com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):117:121 -> a
    6:18:com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):120:132 -> a
    19:20:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):137:138 -> a
    21:23:void recordNewFieldSignature(java.lang.Iterable,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):149:149 -> a
    25:27:void recordNewFieldSignature(java.lang.Iterable,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):151:153 -> a
    28:28:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.recordNewFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):142:142 -> a
    28:28:void recordNewFieldSignature(java.lang.Iterable,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):154 -> a
    29:29:void recordNewFieldSignature(java.lang.Iterable,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):156:156 -> a
    30:30:void fixupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):160:160 -> a
    31:40:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.fixupOriginalMemberSignatures(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap):229:238 -> a
    31:40:void fixupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):160 -> a
    41:41:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.mapMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):168:168 -> a
    41:41:void mapMergedConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.List):269 -> a
    42:43:void mapMergedConstructor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.List):270:271 -> a
    44:46:void recordNewMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):197:199 -> a
    47:52:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.fixupMethodMap(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):213:218 -> a
    47:52:void fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):204 -> a
    53:53:void fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):205:205 -> a
    54:63:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.fixupOriginalMemberSignatures(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap):229:238 -> a
    54:63:void fixupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):205 -> a
    64:69:void commitPendingUpdates():245:250 -> a
    70:72:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.commitPendingNewMemberSignatureUpdates(com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap):258:260 -> a
    70:72:void commitPendingUpdates():250 -> a
    73:73:void commitPendingUpdates():251:251 -> a
    74:76:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.commitPendingNewMemberSignatureUpdates(com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap):258:260 -> a
    74:76:void commitPendingUpdates():251 -> a
    77:87:void addExtraParameters(com.android.tools.r8.graph.DexMethod,java.util.List):277:287 -> a
    88:88:java.util.List lambda$addExtraParameters$2(java.util.List,com.android.tools.r8.graph.DexMethod):280:280 -> a
    boolean lambda$recordNewFieldSignature$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField) -> b
    1:3:boolean lambda$build$0(com.android.tools.r8.graph.DexMethod):123:123 -> b
    4:4:void mapMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):168:168 -> b
    5:5:java.util.List lambda$addExtraParameters$3(java.util.List,com.android.tools.r8.graph.DexMethod):286:286 -> b
    1:1:void recordNewFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):142:142 -> c
    2:2:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.mapMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):168:168 -> c
    2:2:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):176 -> c
    2:2:void moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):172 -> c
    3:3:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):177:177 -> c
    3:3:void moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):172 -> c
com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerUtils -> com.android.tools.r8.internal.Ym:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:4:boolean isClassIdField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):14:17 -> a
    5:5:boolean com.android.tools.r8.graph.DexField.match(com.android.tools.r8.graph.DexField):181:181 -> a
    5:5:boolean isClassIdField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):17 -> a
    6:6:boolean isClassIdField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):19:19 -> a
    7:7:boolean com.android.tools.r8.graph.DexField.match(com.android.tools.r8.graph.DexField):181:181 -> a
    7:7:boolean isClassIdField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):19 -> a
    8:8:boolean isClassIdField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):19:19 -> a
com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses -> com.android.tools.r8.internal.an:
    com.android.tools.r8.utils.collections.BidirectionalManyToOneMap mergedClasses -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():19:19 -> <clinit>
    1:2:void <init>(com.android.tools.r8.utils.collections.BidirectionalManyToOneMap):23:24 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses empty():32:32 -> a
    2:3:void lambda$extend$1(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder,java.util.Set,com.android.tools.r8.graph.DexType):45:46 -> a
    4:4:void lambda$extend$0(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):46:46 -> a
    5:5:void lambda$extend$3(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder,java.util.Set,com.android.tools.r8.graph.DexType):49:49 -> a
    6:6:void forEachMergeGroup(java.util.function.BiConsumer):55:55 -> a
    7:7:boolean hasBeenMergedIntoDifferentType(com.android.tools.r8.graph.DexType):76:76 -> a
    8:8:boolean com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses.isEmpty():80:80 -> a
    8:8:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses extend(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):36 -> a
    9:9:boolean com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses.isEmpty():80:80 -> a
    9:9:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses extend(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):39 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses.isEmpty():80:80 -> a
    10:10:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses extend(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):39 -> a
    11:11:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses.builder():28:28 -> a
    11:11:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses extend(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):42 -> a
    12:19:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses extend(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses):43:50 -> a
    20:21:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):98:99 -> a
    22:22:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":125,"2":126,"3":127}}
    125:125:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):99:99 -> a
    126:126:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):99:99 -> a
    127:127:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):99:99 -> a
    23:23:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":129,"2":130,"3":131,"4":132}}
    129:129:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):101:101 -> a
    130:130:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):101:101 -> a
    131:131:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):101:101 -> a
    132:132:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):101:101 -> a
    124:124:boolean verifyAllSourcesPruned(com.android.tools.r8.graph.AppView):101:101 -> a
    1:1:void lambda$extend$2(com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):49:49 -> b
    2:2:com.android.tools.r8.graph.DexType getMergeTargetOrDefault(com.android.tools.r8.graph.DexType):59:59 -> b
    3:3:java.util.Map getForwardMap():93:93 -> b
    1:1:java.util.Set getSources():63:63 -> c
    2:2:java.util.Set getSourcesFor(com.android.tools.r8.graph.DexType):67:67 -> c
    1:1:java.util.Set getTargets():71:71 -> d
    2:2:boolean hasBeenMergedOrIsMergeTarget(com.android.tools.r8.graph.DexType):89:89 -> d
    1:1:boolean isEmpty():80:80 -> e
    2:2:boolean isMergeTarget(com.android.tools.r8.graph.DexType):85:85 -> e
com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder -> com.android.tools.r8.internal.Zm:
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap mergedClasses -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():107:107 -> <clinit>
    1:4:void <init>():107:110 -> <init>
    1:2:void add(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):113:114 -> a
    3:3:void addMergeGroup(com.android.tools.r8.horizontalclassmerging.MergeGroup):118:118 -> a
    4:4:void lambda$addMergeGroup$0(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.DexProgramClass):118:118 -> a
    5:5:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses$Builder addMergeGroups(java.lang.Iterable):122:122 -> a
    6:6:com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses build():127:127 -> a
com.android.tools.r8.horizontalclassmerging.IRCodeProvider -> com.android.tools.r8.internal.zn:
    com.android.tools.r8.graph.AppView appViewForConversion -> a
    1:11:void <init>(com.android.tools.r8.graph.AppView):18:28 -> <init>
    1:3:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod):33:35 -> a
    4:4:void setGraphLens(com.android.tools.r8.graph.GraphLens):39:39 -> a
com.android.tools.r8.horizontalclassmerging.IncompleteHorizontalClassMergerCode -> com.android.tools.r8.internal.Yo:
    1:1:void <init>():20:20 -> <init>
    com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens) -> a
    1:1:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):41:41 -> a
    2:2:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):66:66 -> a
    3:3:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):71:71 -> a
    4:4:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):79:79 -> a
    1:1:boolean computeEquals(java.lang.Object):46:46 -> h
    1:1:int computeHashCode():51:51 -> n0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():56:56 -> r0
    boolean isHorizontalClassMergerCode() -> x0
    boolean isIncompleteHorizontalClassMergerCode() -> y0
com.android.tools.r8.horizontalclassmerging.IncompleteMergedInstanceInitializerCode -> com.android.tools.r8.internal.ap:
    com.android.tools.r8.graph.DexMethod parentConstructor -> j
    boolean $assertionsDisabled -> l
    com.android.tools.r8.graph.DexMethod syntheticMethodReference -> g
    java.util.Map instanceFieldAssignmentsPost -> i
    com.android.tools.r8.graph.DexMethod originalMethodReference -> f
    com.android.tools.r8.graph.DexField classIdField -> d
    int extraNulls -> e
    java.util.Map instanceFieldAssignmentsPre -> h
    java.util.List parentConstructorArguments -> k
    1:1:void <clinit>():46:46 -> <clinit>
    1:9:void <init>(com.android.tools.r8.graph.DexField,int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexMethod,java.util.List):67:75 -> <init>
    1:31:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):83:113 -> a
    32:32:void com.android.tools.r8.cf.code.CfInstanceFieldWrite.<init>(com.android.tools.r8.graph.DexField):16:16 -> a
    32:32:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):113 -> a
    33:54:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):111:132 -> a
    55:55:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410:410 -> a
    55:55:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):132 -> a
    56:56:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    56:56:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410 -> a
    56:56:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):132 -> a
    57:63:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):135:141 -> a
    64:79:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):137:152 -> a
    80:92:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):148:160 -> a
    93:93:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):159:159 -> a
    94:95:void com.android.tools.r8.utils.IntBox.setMax(int):61:62 -> a
    94:95:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):161 -> a
    96:112:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):164:180 -> a
    113:113:void addCfInstructionsForInstanceFieldAssignments(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,java.util.Map,int[],com.android.tools.r8.utils.IntBox,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):197:197 -> a
    114:117:void lambda$addCfInstructionsForInstanceFieldAssignments$0(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,int[],com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):200:203 -> a
    118:141:void lambda$addCfInstructionsForInstanceFieldAssignments$0(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,int[],com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):202:225 -> a
    142:142:void com.android.tools.r8.cf.code.CfInstanceFieldWrite.<init>(com.android.tools.r8.graph.DexField):16:16 -> a
    142:142:void lambda$addCfInstructionsForInstanceFieldAssignments$0(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,int[],com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):225 -> a
    143:143:void lambda$addCfInstructionsForInstanceFieldAssignments$0(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,int[],com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):225:225 -> a
    144:144:void com.android.tools.r8.utils.IntBox.setMax(int):61:61 -> a
    144:144:void lambda$addCfInstructionsForInstanceFieldAssignments$0(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,int[],com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):226 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    145:145:void com.android.tools.r8.utils.IntBox.setMax(int):62:62 -> a
    145:145:void lambda$addCfInstructionsForInstanceFieldAssignments$0(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,int[],com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):226 -> a
    146:149:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):235:238 -> a
    150:159:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):237:246 -> a
    160:160:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleConstClassValue():0:0 -> a
    160:160:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):246 -> a
    161:162:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):247:248 -> a
    163:163:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    163:163:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):248 -> a
    164:164:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):247:247 -> a
    165:165:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleDexItemBasedStringValue():0:0 -> a
    165:165:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):250 -> a
    166:169:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):252:255 -> a
    170:170:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):253:253 -> a
    171:171:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    171:171:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):257 -> a
    172:172:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):258:258 -> a
    173:173:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    173:173:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):259 -> a
    174:180:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):259:265 -> a
    181:189:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):263:271 -> a
    190:190:int addCfInstructionsForInitializationInfo(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo,int[],com.android.tools.r8.graph.DexType):270:270 -> a
    1:1:java.lang.String toString():278:278 -> toString
com.android.tools.r8.horizontalclassmerging.IncompleteMergedInstanceInitializerCode$1 -> com.android.tools.r8.internal.Zo:
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens val$lens -> n
    1:1:void <init>(com.android.tools.r8.horizontalclassmerging.IncompleteMergedInstanceInitializerCode,com.android.tools.r8.graph.DexType,int,int,java.util.List,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):180:180 -> <init>
    1:1:com.android.tools.r8.graph.GraphLens getCodeLens(com.android.tools.r8.graph.AppView):184:184 -> a
com.android.tools.r8.horizontalclassmerging.IncompleteVirtuallyMergedMethodCode -> com.android.tools.r8.internal.cp:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap mappedMethods -> e
    com.android.tools.r8.graph.DexMethod superMethod -> g
    com.android.tools.r8.graph.DexMethod originalMethod -> f
    com.android.tools.r8.graph.DexField classIdField -> d
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():43:43 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):54:58 -> <init>
    1:27:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):89:115 -> a
    28:28:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> a
    28:28:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):115 -> a
    29:39:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):115:125 -> a
    40:55:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):124:139 -> a
    56:59:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):138:141 -> a
    60:69:com.android.tools.r8.graph.CfCode toCfCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):140:149 -> a
    70:77:com.android.tools.r8.cf.code.CfFrame createCfFrameForSwitchCase(com.android.tools.r8.graph.ProgramMethod,int):159:166 -> a
    78:88:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.horizontalclassmerging.IncompleteVirtuallyMergedMethodCode.createLocalFrames(com.android.tools.r8.graph.ProgramMethod,int):171:181 -> a
    78:88:com.android.tools.r8.cf.code.CfFrame createCfFrameForSwitchCase(com.android.tools.r8.graph.ProgramMethod,int):166 -> a
    89:89:com.android.tools.r8.cf.code.CfFrame createCfFrameForSwitchCase(com.android.tools.r8.graph.ProgramMethod,int):166:166 -> a
    1:1:java.lang.String toString():187:187 -> toString
com.android.tools.r8.horizontalclassmerging.IncompleteVirtuallyMergedMethodCode$1 -> com.android.tools.r8.internal.bp:
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens val$lens -> n
    1:1:void <init>(com.android.tools.r8.horizontalclassmerging.IncompleteVirtuallyMergedMethodCode,com.android.tools.r8.graph.DexType,int,int,java.util.List,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens):149:149 -> <init>
    1:1:com.android.tools.r8.graph.GraphLens getCodeLens(com.android.tools.r8.graph.AppView):153:153 -> a
com.android.tools.r8.horizontalclassmerging.InstanceInitializerAnalysis -> com.android.tools.r8.internal.bq:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription$Builder com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):61:61 -> a
    1:1:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):44 -> a
    2:73:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):45:116 -> a
    74:74:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410:410 -> a
    74:74:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):116 -> a
    75:75:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    75:75:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410 -> a
    75:75:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):116 -> a
    76:96:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):117:137 -> a
    97:107:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):68:78 -> a
    108:108:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    108:108:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):78 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    109:129:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):79:99 -> a
    130:219:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):61:150 -> a
    220:234:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInitializationInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):155:169 -> a
    235:235:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    235:235:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInitializationInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):171 -> a
    236:237:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInitializationInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):173:174 -> a
com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription -> com.android.tools.r8.internal.dq:
    java.util.Map instanceFieldAssignmentsPre -> a
    java.util.Map instanceFieldAssignmentsPost -> b
    com.android.tools.r8.graph.DexTypeList relaxedParameters -> e
    java.util.List parentConstructorArguments -> d
    com.android.tools.r8.graph.DexMethod parentConstructor -> c
    1:6:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexMethod,java.util.List,com.android.tools.r8.graph.DexTypeList):51:56 -> <init>
    1:2:com.android.tools.r8.horizontalclassmerging.IncompleteMergedInstanceInitializerCode createCfCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.horizontalclassmerging.MergeGroup,boolean,int):78:79 -> a
    1:8:boolean equals(java.lang.Object):91:98 -> equals
    1:1:int hashCode():103:103 -> hashCode
com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription$Builder -> com.android.tools.r8.internal.cq:
    java.util.Map instanceFieldAssignmentsPre -> c
    java.util.Map instanceFieldAssignmentsPost -> d
    java.util.List parentConstructorArguments -> f
    com.android.tools.r8.graph.DexTypeList relaxedParameters -> b
    com.android.tools.r8.graph.DexMethod parentConstructor -> e
    boolean $assertionsDisabled -> g
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:1:void <clinit>():111:111 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.ProgramMethod):123:123 -> <init>
    2:14:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.ProgramMethod):116:128 -> <init>
    1:1:com.android.tools.r8.graph.DexType lambda$new$0(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):129:129 -> a
    2:20:void addInstancePut(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):133:151 -> a
    21:23:boolean addInvokeConstructor(com.android.tools.r8.graph.DexMethod,java.util.List):156:158 -> a
    24:25:com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription build():165:166 -> a
    1:1:boolean isValid():175:175 -> b
com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger -> com.android.tools.r8.internal.hq:
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> g
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription instanceInitializerDescription -> f
    boolean $assertionsDisabled -> i
    java.util.List instanceInitializers -> e
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap classIdentifiers -> b
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> d
    1:1:void <clinit>():40:40 -> <clinit>
    1:14:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription):68:81 -> <init>
    1:1:int getArity():86:86 -> a
    2:22:com.android.tools.r8.graph.DexMethod getNewMethodReference(com.android.tools.r8.graph.ProgramMethod,boolean):106:126 -> a
    23:23:void lambda$getNewMethodReference$1(int,java.util.function.Consumer):115:115 -> a
    24:24:void lambda$getNewMethodReference$0(java.util.function.Consumer,int,com.android.tools.r8.graph.ProgramMethod):117:117 -> a
    25:29:com.android.tools.r8.graph.DexMethod getSyntheticMethodReference(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.DexMethod):146:146 -> a
    30:35:com.android.tools.r8.graph.DexMethod moveInstanceInitializer(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.ProgramMethod):245:250 -> a
    36:50:com.android.tools.r8.graph.DexMethod moveInstanceInitializer(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.ProgramMethod):246:260 -> a
    51:55:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):303:307 -> a
    56:56:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.hasInstanceInitializerDescription():240:240 -> a
    56:56:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):308 -> a
    57:66:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):308:317 -> a
    67:78:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):315:326 -> a
    79:79:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.hasInstanceInitializerDescription():240:240 -> a
    79:79:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):329 -> a
    80:80:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):330:330 -> a
    81:83:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethods(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):185:187 -> a
    81:83:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethods(java.lang.Iterable,com.android.tools.r8.graph.DexMethod):181 -> a
    81:83:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):330 -> a
    84:85:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):176:177 -> a
    84:85:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethods(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):187 -> a
    84:85:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethods(java.lang.Iterable,com.android.tools.r8.graph.DexMethod):181 -> a
    84:85:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):330 -> a
    86:86:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.isSingleton():295:295 -> a
    86:86:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):331 -> a
    87:88:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):331:332 -> a
    89:89:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):176:176 -> a
    89:89:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):332 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    90:90:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):177:177 -> a
    90:90:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):332 -> a
    91:96:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):334:339 -> a
    97:97:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.recordNewMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):192:192 -> a
    97:97:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):338 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    98:98:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):345:345 -> a
    99:99:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.isSingleton():295:295 -> a
    99:99:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):346 -> a
    100:113:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):346:359 -> a
    114:121:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):358:365 -> a
    122:122:com.android.tools.r8.graph.MethodAccessFlags com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewAccessFlags():267:267 -> a
    122:122:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366 -> a
    123:129:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):366:372 -> a
    130:130:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.hasInstanceInitializerDescription():240:240 -> a
    130:130:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):276 -> a
    130:130:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    131:131:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getOriginalMethodReference():130:130 -> a
    131:131:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):278 -> a
    131:131:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    132:132:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getRepresentative():134:134 -> a
    132:132:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getOriginalMethodReference():130 -> a
    132:132:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):278 -> a
    132:132:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    133:133:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getOriginalMethodReference():130:130 -> a
    133:133:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):278 -> a
    133:133:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    134:134:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    134:134:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getOriginalMethodReference():130 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    134:134:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):278 -> a
    134:134:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    135:135:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):278:278 -> a
    135:135:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    136:136:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):277:277 -> a
    136:136:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    137:137:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.isSingleton():295:295 -> a
    137:137:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):284 -> a
    137:137:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    138:138:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):284:284 -> a
    138:138:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    139:139:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getRepresentative():134:134 -> a
    139:139:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):285 -> a
    139:139:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    140:142:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):285:287 -> a
    140:142:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    143:143:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.createClassIdToInstanceInitializerMap():154:154 -> a
    143:143:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):288 -> a
    143:143:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    144:144:boolean com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.hasInstanceInitializerDescription():240:240 -> a
    144:144:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.createClassIdToInstanceInitializerMap():154 -> a
    144:144:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):288 -> a
    144:144:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    145:150:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.createClassIdToInstanceInitializerMap():154:159 -> a
    145:150:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):288 -> a
    145:150:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    151:151:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.createClassIdToInstanceInitializerMap():157:157 -> a
    151:151:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):288 -> a
    151:151:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    152:152:com.android.tools.r8.graph.Code com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,int):290:290 -> a
    152:152:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):368 -> a
    153:153:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):367:367 -> a
    154:158:com.android.tools.r8.cf.CfVersion com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewClassFileVersion():95:99 -> a
    154:158:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):373 -> a
    159:159:com.android.tools.r8.cf.CfVersion com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.getNewClassFileVersion():98:98 -> a
    159:159:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):373 -> a
    160:169:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):373:382 -> a
    170:175:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):381:386 -> a
    176:176:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder):384:384 -> a
    1:1:java.util.List getInstanceInitializers():90:90 -> b
    1:1:int size():165:165 -> c
com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder -> com.android.tools.r8.internal.gq:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> f
    java.util.List instanceInitializerGroups -> d
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap classIdentifiers -> b
    boolean $assertionsDisabled -> g
    int estimatedDexCodeSize -> c
    1:1:void <clinit>():168:168 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):181:181 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):173:186 -> <init>
    1:2:void createNewGroup():190:191 -> a
    3:6:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):196:199 -> a
    7:7:int com.android.tools.r8.utils.InternalOptions.minimumVerificationSizeLimitInBytes():317:317 -> a
    7:7:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):199 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:int com.android.tools.r8.utils.InternalOptions.minimumVerificationSizeLimitInBytes():317:317 -> a
    8:8:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):199 -> a
    9:15:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):199:205 -> a
    16:17:java.util.List build(com.android.tools.r8.horizontalclassmerging.MergeGroup):215:216 -> a
    18:18:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger lambda$build$0(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List):219:219 -> a
    19:19:void com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):58:58 -> a
    19:19:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger lambda$build$0(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List):219 -> a
    20:23:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger buildSingle(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription):225:228 -> a
    1:1:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder addEquivalent(com.android.tools.r8.graph.ProgramMethod):210:210 -> b
com.android.tools.r8.horizontalclassmerging.InstanceInitializerMergerCollection -> com.android.tools.r8.internal.iq:
    java.util.List instanceInitializerMergers -> a
    java.util.Map equivalentInstanceInitializerMergers -> b
    1:3:void <init>(java.util.List,java.util.Map):34:36 -> <init>
    1:69:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMergerCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):48:116 -> a
    70:72:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMergerCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):115:117 -> a
    73:73:void lambda$create$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexProgramClass):52:52 -> a
    74:80:void lambda$create$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):56:62 -> a
    81:89:void lambda$create$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):60:68 -> a
    90:90:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder lambda$create$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):64:64 -> a
    91:97:void lambda$create$3(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.Map,com.android.tools.r8.horizontalclassmerging.InstanceInitializerDescription,com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder):77:83 -> a
    98:98:void lambda$create$5(java.util.Map,com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.graph.ProgramMethod):95:95 -> a
    99:104:void lambda$create$5(java.util.Map,com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.graph.ProgramMethod):94:99 -> a
    105:105:com.android.tools.r8.horizontalclassmerging.InstanceInitializerMerger$Builder lambda$create$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.graph.DexProto):97:97 -> a
    106:107:void forEach(java.util.function.Consumer):122:123 -> a
com.android.tools.r8.horizontalclassmerging.MergeGroup -> com.android.tools.r8.internal.fE:
    com.android.tools.r8.utils.collections.BidirectionalManyToOneMap instanceFieldMap -> e
    com.android.tools.r8.graph.DexProgramClass target -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexField classIdField -> c
    java.util.LinkedList classes -> b
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>():42:42 -> <init>
    2:8:void <init>():37:43 -> <init>
    9:10:void <init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> <init>
    11:12:void <init>(java.lang.Iterable):52:53 -> <init>
    1:1:boolean add(com.android.tools.r8.graph.DexProgramClass):64:64 -> a
    2:2:boolean add(com.android.tools.r8.horizontalclassmerging.MergeGroup):68:68 -> a
    3:3:java.util.LinkedList com.android.tools.r8.horizontalclassmerging.MergeGroup.getClasses():101:101 -> a
    3:3:boolean add(com.android.tools.r8.horizontalclassmerging.MergeGroup):68 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean add(com.android.tools.r8.horizontalclassmerging.MergeGroup):68:68 -> a
    5:8:void forEachSource(java.util.function.Consumer):92:95 -> a
    9:10:com.android.tools.r8.graph.DexField getClassIdField():109:110 -> a
    11:11:void setClassIdField(com.android.tools.r8.graph.DexField):114:114 -> a
    12:18:void selectInstanceFieldMap(com.android.tools.r8.graph.AppView):127:133 -> a
    19:19:void lambda$selectInstanceFieldMap$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap,com.android.tools.r8.graph.DexProgramClass):132:132 -> a
    20:21:void setInstanceFieldMap(com.android.tools.r8.utils.collections.BidirectionalManyToOneMap):138:139 -> a
    22:24:com.android.tools.r8.graph.ProgramField getTargetInstanceField(com.android.tools.r8.graph.ProgramField):161:163 -> a
    25:25:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.MergeGroup.getTarget():157:157 -> a
    25:25:com.android.tools.r8.graph.ProgramField getTargetInstanceField(com.android.tools.r8.graph.ProgramField):163 -> a
    26:27:com.android.tools.r8.graph.ProgramField getTargetInstanceField(com.android.tools.r8.graph.ProgramField):166:167 -> a
    28:28:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.MergeGroup.getTarget():157:157 -> a
    28:28:com.android.tools.r8.graph.ProgramField getTargetInstanceField(com.android.tools.r8.graph.ProgramField):167 -> a
    29:29:com.android.tools.r8.graph.ProgramField getTargetInstanceField(com.android.tools.r8.graph.ProgramField):167:167 -> a
    1:1:boolean add(java.lang.Object):30:30 -> add
    2:2:boolean com.android.tools.r8.horizontalclassmerging.MergeGroup.add(com.android.tools.r8.graph.DexProgramClass):64:64 -> add
    2:2:boolean add(java.lang.Object):30 -> add
    1:1:boolean addAll(java.util.Collection):73:73 -> addAll
    1:1:java.util.LinkedList getClasses():101:101 -> b
    2:2:java.util.LinkedList com.android.tools.r8.horizontalclassmerging.MergeGroup.getClasses():101:101 -> b
    2:2:void selectTarget(com.android.tools.r8.graph.AppView):171 -> b
    3:3:void selectTarget(com.android.tools.r8.graph.AppView):171:171 -> b
    4:4:boolean com.android.tools.r8.utils.IterableUtils.isEmpty(java.lang.Iterable):128:128 -> b
    4:4:void selectTarget(com.android.tools.r8.graph.AppView):172 -> b
    5:5:java.util.LinkedList com.android.tools.r8.horizontalclassmerging.MergeGroup.getClasses():101:101 -> b
    5:5:void selectTarget(com.android.tools.r8.graph.AppView):173 -> b
    6:6:void selectTarget(com.android.tools.r8.graph.AppView):175:175 -> b
    7:7:java.lang.Object com.android.tools.r8.utils.IterableUtils.first(java.lang.Iterable):77:77 -> b
    7:7:void selectTarget(com.android.tools.r8.graph.AppView):176 -> b
    8:17:void selectTarget(com.android.tools.r8.graph.AppView):176:185 -> b
    18:18:int com.android.tools.r8.graph.DexString.size():44:44 -> b
    18:18:void selectTarget(com.android.tools.r8.graph.AppView):185 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:void selectTarget(com.android.tools.r8.graph.AppView):185:185 -> b
    20:20:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> b
    20:20:void selectTarget(com.android.tools.r8.graph.AppView):189 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    21:21:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> b
    21:21:void selectTarget(com.android.tools.r8.graph.AppView):189 -> b
    22:22:void selectTarget(com.android.tools.r8.graph.AppView):189:189 -> b
    23:24:void com.android.tools.r8.horizontalclassmerging.MergeGroup.setTarget(com.android.tools.r8.graph.DexProgramClass):193:194 -> b
    23:24:void selectTarget(com.android.tools.r8.graph.AppView):189 -> b
    25:25:boolean lambda$getSources$1(com.android.tools.r8.graph.DexProgramClass):144:144 -> b
    1:2:com.android.tools.r8.utils.collections.BidirectionalManyToOneMap getInstanceFieldMap():122:123 -> c
    1:1:void clear():78:78 -> clear
    1:1:boolean contains(java.lang.Object):83:83 -> contains
    1:1:boolean containsAll(java.util.Collection):88:88 -> containsAll
    1:2:java.lang.Iterable getSources():143:144 -> d
    1:1:com.android.tools.r8.graph.DexType getSuperType():148:148 -> e
    2:2:java.util.LinkedList com.android.tools.r8.horizontalclassmerging.MergeGroup.getClasses():101:101 -> e
    2:2:com.android.tools.r8.graph.DexType getSuperType():149 -> e
    3:3:com.android.tools.r8.graph.DexType getSuperType():149:149 -> e
    1:1:com.android.tools.r8.graph.DexProgramClass getTarget():157:157 -> f
    1:1:boolean hasClassIdField():105:105 -> g
    1:1:boolean hasInstanceFieldMap():118:118 -> h
    1:1:boolean hasTarget():153:153 -> i
    1:1:boolean isEmpty():207:207 -> isEmpty
    1:1:java.util.Iterator iterator():222:222 -> iterator
    1:1:boolean isClassGroup():211:211 -> j
    1:1:boolean isInterfaceGroup():215:215 -> k
    2:2:boolean com.android.tools.r8.horizontalclassmerging.MergeGroup.isEmpty():207:207 -> k
    2:2:boolean isInterfaceGroup():215 -> k
    3:3:boolean isInterfaceGroup():215:215 -> k
    4:4:java.util.LinkedList com.android.tools.r8.horizontalclassmerging.MergeGroup.getClasses():101:101 -> k
    4:4:boolean isInterfaceGroup():216 -> k
    5:5:boolean isInterfaceGroup():216:216 -> k
    6:6:java.util.LinkedList com.android.tools.r8.horizontalclassmerging.MergeGroup.getClasses():101:101 -> k
    6:6:boolean isInterfaceGroup():217 -> k
    7:7:boolean isInterfaceGroup():217:217 -> k
    1:1:int com.android.tools.r8.horizontalclassmerging.MergeGroup.size():227:227 -> l
    1:1:boolean isTrivial():198 -> l
    1:1:com.android.tools.r8.graph.DexProgramClass removeLast():250:250 -> m
    1:1:boolean remove(java.lang.Object):232:232 -> remove
    1:1:boolean removeAll(java.util.Collection):237:237 -> removeAll
    1:1:boolean removeIf(java.util.function.Predicate):246:246 -> removeIf
    1:1:boolean retainAll(java.util.Collection):255:255 -> retainAll
    1:1:int size():227:227 -> size
    1:1:java.lang.Object[] toArray():260:260 -> toArray
    2:2:java.lang.Object[] toArray(java.lang.Object[]):265:265 -> toArray
com.android.tools.r8.horizontalclassmerging.MultiClassPolicy -> com.android.tools.r8.internal.SF:
    1:1:void <init>():9:9 -> <init>
    java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup) -> a
    com.android.tools.r8.horizontalclassmerging.MultiClassPolicy asMultiClassPolicy() -> a
    boolean isMultiClassPolicy() -> g
com.android.tools.r8.horizontalclassmerging.MultiClassPolicyWithPreprocessing -> com.android.tools.r8.internal.TF:
    1:1:void <init>():11:11 -> <init>
    java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object) -> a
    java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService) -> a
    com.android.tools.r8.horizontalclassmerging.MultiClassPolicyWithPreprocessing asMultiClassPolicyWithPreprocessing() -> b
    boolean isMultiClassPolicyWithPreprocessing() -> h
com.android.tools.r8.horizontalclassmerging.MultiClassSameReferencePolicy -> com.android.tools.r8.internal.UF:
    1:1:void <init>():12:12 -> <init>
    java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass) -> a
    1:9:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):16:24 -> a
    10:10:com.android.tools.r8.horizontalclassmerging.MergeGroup lambda$apply$0(java.lang.Object):20:20 -> a
com.android.tools.r8.horizontalclassmerging.Policy -> com.android.tools.r8.internal.XL:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.horizontalclassmerging.MultiClassPolicy asMultiClassPolicy() -> a
    1:2:java.util.Collection removeTrivialGroups(java.util.Collection):61:62 -> a
    3:6:boolean recordRemovedClassesForDebugging(boolean,int,java.util.Collection):68:71 -> a
    7:7:boolean com.android.tools.r8.horizontalclassmerging.MergeGroup.isNonTrivial():202:202 -> a
    7:7:boolean recordRemovedClassesForDebugging(boolean,int,java.util.Collection):72 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:11:boolean recordRemovedClassesForDebugging(boolean,int,java.util.Collection):73:76 -> a
    com.android.tools.r8.horizontalclassmerging.MultiClassPolicyWithPreprocessing asMultiClassPolicyWithPreprocessing() -> b
    com.android.tools.r8.horizontalclassmerging.SingleClassPolicy asSingleClassPolicy() -> c
    void clear() -> d
    java.lang.String getName() -> e
    boolean isIdentityForInterfaceGroups() -> f
    boolean isMultiClassPolicy() -> g
    boolean isMultiClassPolicyWithPreprocessing() -> h
    boolean isSingleClassPolicy() -> i
    boolean shouldSkipPolicy() -> j
com.android.tools.r8.horizontalclassmerging.PolicyExecutor -> com.android.tools.r8.internal.YL:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():20:20 -> <clinit>
    1:8:void applySingleClassPolicy(com.android.tools.r8.horizontalclassmerging.SingleClassPolicy,java.util.LinkedList):23:30 -> a
    9:12:void applySingleClassPolicy(com.android.tools.r8.horizontalclassmerging.SingleClassPolicy,java.util.LinkedList):29:32 -> a
    13:13:boolean lambda$applySingleClassPolicy$0(com.android.tools.r8.horizontalclassmerging.SingleClassPolicy,com.android.tools.r8.graph.DexProgramClass):28:28 -> a
    14:15:java.util.LinkedList applyMultiClassPolicy(com.android.tools.r8.horizontalclassmerging.MultiClassPolicy,java.util.LinkedList):40:41 -> a
    16:22:void lambda$applyMultiClassPolicy$2(com.android.tools.r8.horizontalclassmerging.MultiClassPolicy,java.util.LinkedList,com.android.tools.r8.horizontalclassmerging.MergeGroup):43:49 -> a
    23:23:void lambda$applyMultiClassPolicy$1(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.MergeGroup):46:46 -> a
    24:24:void com.android.tools.r8.horizontalclassmerging.MergeGroup.applyMetadataFrom(com.android.tools.r8.horizontalclassmerging.MergeGroup):58:58 -> a
    24:24:void lambda$applyMultiClassPolicy$1(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.MergeGroup):46 -> a
    25:27:java.util.LinkedList applyMultiClassPolicyWithPreprocessing(com.android.tools.r8.horizontalclassmerging.MultiClassPolicyWithPreprocessing,java.util.LinkedList,java.util.concurrent.ExecutorService):60:62 -> a
    28:34:void lambda$applyMultiClassPolicyWithPreprocessing$4(com.android.tools.r8.horizontalclassmerging.MultiClassPolicyWithPreprocessing,java.lang.Object,java.util.LinkedList,com.android.tools.r8.horizontalclassmerging.MergeGroup):64:70 -> a
    35:49:java.util.Collection run(java.util.Collection,java.util.Collection,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):94:108 -> a
    50:62:java.util.Collection run(java.util.Collection,java.util.Collection,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):107:119 -> a
    63:63:boolean lambda$run$5(com.android.tools.r8.horizontalclassmerging.MergeGroup):119:119 -> a
    1:1:void lambda$applyMultiClassPolicyWithPreprocessing$3(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.MergeGroup):67:67 -> b
    2:2:void com.android.tools.r8.horizontalclassmerging.MergeGroup.applyMetadataFrom(com.android.tools.r8.horizontalclassmerging.MergeGroup):58:58 -> b
    2:2:void lambda$applyMultiClassPolicyWithPreprocessing$3(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.MergeGroup):67 -> b
com.android.tools.r8.horizontalclassmerging.PolicyScheduler -> com.android.tools.r8.internal.ZL:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():63:63 -> <clinit>
    1:1:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):71:71 -> a
    2:2:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getSingleClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):84:84 -> a
    2:2:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):72 -> a
    3:3:void com.android.tools.r8.horizontalclassmerging.PolicyScheduler.addRequiredSingleClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):110:110 -> a
    3:3:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getSingleClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):86 -> a
    3:3:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):72 -> a
    4:15:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getSingleClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):88:99 -> a
    4:15:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):72 -> a
    16:16:void com.android.tools.r8.horizontalclassmerging.PolicyScheduler.addSingleClassPoliciesForMergingNonSyntheticClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):122:122 -> a
    16:16:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getSingleClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):100 -> a
    16:16:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):72 -> a
    17:17:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getSingleClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):104:104 -> a
    17:17:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):72 -> a
    18:18:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):72:72 -> a
    19:19:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):160:160 -> a
    19:19:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    20:21:void com.android.tools.r8.horizontalclassmerging.PolicyScheduler.addRequiredMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):203:204 -> a
    20:21:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):162 -> a
    20:21:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    22:23:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):164:165 -> a
    22:23:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    24:24:void com.android.tools.r8.horizontalclassmerging.PolicyScheduler.addMultiClassPoliciesForMergingNonSyntheticClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):223:223 -> a
    24:24:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):166 -> a
    24:24:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    25:33:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):169:177 -> a
    25:33:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    34:34:void com.android.tools.r8.horizontalclassmerging.PolicyScheduler.addMultiClassPoliciesForInterfaceMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):230:230 -> a
    34:34:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):182 -> a
    34:34:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    35:45:java.util.List com.android.tools.r8.horizontalclassmerging.PolicyScheduler.getMultiClassPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):184:194 -> a
    35:45:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73 -> a
    46:49:java.util.List getPolicies(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):73:76 -> a
    50:50:boolean verifySingleClassPoliciesIrrelevantForMergingSynthetics(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):140:140 -> a
    51:51:void com.android.tools.r8.horizontalclassmerging.policies.NoDirectRuntimeTypeChecks.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):22:22 -> a
    51:51:boolean verifySingleClassPoliciesIrrelevantForMergingSynthetics(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):140 -> a
    52:63:boolean verifySingleClassPoliciesIrrelevantForMergingSynthetics(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):140:151 -> a
    64:70:boolean verifyPolicyOrderingConstraints(java.util.List):242:248 -> a
    71:71:boolean lambda$verifyPolicyOrderingConstraints$0(com.android.tools.r8.horizontalclassmerging.Policy):244:244 -> a
com.android.tools.r8.horizontalclassmerging.SingleClassPolicy -> com.android.tools.r8.internal.WU:
    1:1:void <init>():9:9 -> <init>
    boolean canMerge(com.android.tools.r8.graph.DexProgramClass) -> a
    com.android.tools.r8.horizontalclassmerging.SingleClassPolicy asSingleClassPolicy() -> c
    boolean isSingleClassPolicy() -> i
com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses -> com.android.tools.r8.internal.yX:
    java.util.Map subtypeMap -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Collection roots -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView):38:38 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView):35:40 -> <init>
    1:1:void calculateSubtyping(java.lang.Iterable):48:48 -> a
    2:2:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):52:52 -> a
    3:3:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses.superClass(com.android.tools.r8.graph.DexProgramClass):44:44 -> a
    3:3:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):55 -> a
    4:4:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    4:4:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses.superClass(com.android.tools.r8.graph.DexProgramClass):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):55 -> a
    5:5:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    5:5:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59 -> a
    5:5:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses.superClass(com.android.tools.r8.graph.DexProgramClass):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    5:5:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):55 -> a
    6:6:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    6:6:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses.superClass(com.android.tools.r8.graph.DexProgramClass):44 -> a
    6:6:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):55 -> a
    7:9:void calculateSubtyping(com.android.tools.r8.graph.DexProgramClass):57:59 -> a
    10:10:java.util.Collection getProgramRoots():64:64 -> a
    11:11:void lambda$traverseNodeDepthFirst$1(java.lang.Object,java.util.function.BiFunction,com.android.tools.r8.graph.DexProgramClass):74:74 -> a
    1:1:java.util.List lambda$calculateSubtyping$0(com.android.tools.r8.graph.DexProgramClass):59:59 -> b
    2:2:java.lang.Object traverseNodeDepthFirst(com.android.tools.r8.graph.DexProgramClass,java.lang.Object,java.util.function.BiFunction):73:73 -> b
    3:3:java.util.Collection com.android.tools.r8.horizontalclassmerging.SubtypingForrestForClasses.getSubtypesFor(com.android.tools.r8.graph.DexProgramClass):68:68 -> b
    3:3:java.lang.Object traverseNodeDepthFirst(com.android.tools.r8.graph.DexProgramClass,java.lang.Object,java.util.function.BiFunction):74 -> b
    4:4:java.lang.Object traverseNodeDepthFirst(com.android.tools.r8.graph.DexProgramClass,java.lang.Object,java.util.function.BiFunction):74:74 -> b
com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass -> com.android.tools.r8.internal.RX:
    java.util.List syntheticClassTypes -> a
    1:1:void <init>(java.util.List,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass$1):33:33 -> <init>
    2:3:void <init>(java.util.List):37:38 -> <init>
    1:1:java.util.List getArgumentClasses():42:42 -> a
com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass$Builder -> com.android.tools.r8.internal.QX:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():45:45 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):49:50 -> <init>
    void lambda$synthesizeClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder) -> a
    1:3:com.android.tools.r8.graph.DexProgramClass synthesizeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):54:56 -> a
    4:6:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass$Builder.getDeterministicContext(java.util.Collection):73:75 -> a
    4:6:com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass build(java.util.Collection):60 -> a
    7:9:com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass build(java.util.Collection):61:63 -> a
    10:13:com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass build(java.util.Collection):62:65 -> a
    14:17:com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass build(java.util.Collection):64:67 -> a
    18:20:com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass build(java.util.Collection):66:68 -> a
com.android.tools.r8.horizontalclassmerging.TreeFixer -> com.android.tools.r8.internal.aZ:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses mergedClasses -> g
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder lensBuilder -> i
    com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass syntheticArgumentClass -> k
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> h
    com.android.tools.r8.graph.AppView appView -> f
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> j
    java.util.Map originalSuperTypes -> l
    com.android.tools.r8.com.google.common.collect.BiMap reservedInterfaceSignatures -> m
    1:1:void <clinit>():44:44 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass):63:63 -> <init>
    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontallyMergedClasses,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.horizontalclassmerging.SyntheticArgumentClass):53:69 -> <init>
    1:4:void fixupAttributes(com.android.tools.r8.graph.DexProgramClass):141:144 -> a
    5:13:void fixupAttributes(com.android.tools.r8.graph.DexProgramClass):143:151 -> a
    14:14:com.android.tools.r8.graph.NestHostClassAttribute com.android.tools.r8.graph.TreeFixerBase.fixupNestHost(com.android.tools.r8.graph.NestHostClassAttribute):273:273 -> a
    14:14:void fixupAttributes(com.android.tools.r8.graph.DexProgramClass):151 -> a
    15:16:void fixupAttributes(com.android.tools.r8.graph.DexProgramClass):151:152 -> a
    17:26:java.util.List com.android.tools.r8.graph.TreeFixerBase.fixupNestMemberAttributes(java.util.List):279:288 -> a
    17:26:void fixupAttributes(com.android.tools.r8.graph.DexProgramClass):152 -> a
    27:27:void fixupAttributes(com.android.tools.r8.graph.DexProgramClass):152:152 -> a
    28:34:com.android.tools.r8.com.google.common.collect.BiMap fixupProgramClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap):166:172 -> a
    35:35:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> a
    35:35:com.android.tools.r8.com.google.common.collect.BiMap fixupProgramClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap):174 -> a
    36:49:com.android.tools.r8.com.google.common.collect.BiMap fixupProgramClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.com.google.common.collect.BiMap):176:189 -> a
    50:51:com.android.tools.r8.graph.DexTypeList fixupInterfaces(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexTypeList):248:249 -> a
    52:66:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):279:293 -> a
    67:73:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):291:297 -> a
    74:81:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):295:302 -> a
    82:99:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):301:318 -> a
    100:100:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    100:100:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):318 -> a
    101:105:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):318:322 -> a
    106:106:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):321:321 -> a
    107:119:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.horizontalclassmerging.TreeFixer.fixupProgramMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):259:271 -> a
    107:119:com.android.tools.r8.graph.DexEncodedMethod fixupDirectMethod(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):325 -> a
    120:120:boolean lambda$fixupDirectMethod$4(java.util.Set,com.android.tools.r8.graph.DexMethod):294:294 -> a
    121:122:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):354:355 -> a
    123:136:com.android.tools.r8.graph.DexMethodSignature com.android.tools.r8.horizontalclassmerging.TreeFixer.lookupReservedVirtualName(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.com.google.common.collect.BiMap):331:344 -> a
    123:136:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):358 -> a
    137:166:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):361:390 -> a
    167:167:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    167:167:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):389 -> a
    168:168:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):393:393 -> a
    169:173:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):374:378 -> a
    174:200:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):375:401 -> a
    201:201:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70:70 -> a
    201:201:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):401 -> a
    202:214:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.horizontalclassmerging.TreeFixer.fixupProgramMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):259:271 -> a
    202:214:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualMethod(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):402 -> a
    215:217:boolean lambda$fixupVirtualMethod$6(java.util.Set,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.graph.DexMethodSignature):380:382 -> a
    218:218:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):407:407 -> a
    219:219:boolean com.android.tools.r8.utils.ArrayUtils.isEmpty(java.lang.Object[]):51:51 -> a
    219:219:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):407 -> a
    220:234:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):411:425 -> a
    235:235:java.lang.Object com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String,com.android.tools.r8.graph.DexType):2248:2248 -> a
    235:235:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String):2279 -> a
    235:235:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):421 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    236:236:com.android.tools.r8.graph.DexMember com.android.tools.r8.graph.DexItemFactory.createFreshMember(java.util.function.Function,java.lang.String):2279:2279 -> a
    236:236:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):421 -> a
    237:248:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):421:432 -> a
    249:249:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.DexEncodedField.toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):308:308 -> a
    249:249:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):432 -> a
    250:252:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):432:434 -> a
    253:253:com.android.tools.r8.graph.DexEncodedField[] fixupFields(com.android.tools.r8.graph.DexEncodedField[],java.util.Set):408:408 -> a
    254:254:java.util.Optional lambda$fixupFields$8(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexString):423:423 -> a
    255:255:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):209:209 -> a
    255:255:java.util.Optional lambda$fixupFields$8(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexString):423 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    256:256:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):209:209 -> a
    256:256:java.util.Optional lambda$fixupFields$8(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexString):423 -> a
    257:258:java.util.Optional lambda$fixupFields$8(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexString):423:424 -> a
    259:259:boolean lambda$fixupFields$7(java.util.Set,com.android.tools.r8.graph.DexField):424:424 -> a
    260:260:com.android.tools.r8.graph.DexType com.android.tools.r8.horizontalclassmerging.TreeFixer.mapClassType(com.android.tools.r8.graph.DexType):443:443 -> a
    260:260:com.android.tools.r8.graph.DexType lambda$fixupInterfaces$3(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexType):251 -> a
    261:262:com.android.tools.r8.graph.DexType lambda$fixupInterfaces$3(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexType):252:253 -> a
    263:263:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):449:449 -> a
    264:264:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):455:455 -> a
    265:265:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):461:461 -> a
    1:11:com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens fixupTypeReferences():126:136 -> b
    12:12:com.android.tools.r8.graph.DexEncodedMethod lambda$fixupProgramClass$0(com.android.tools.r8.com.google.common.collect.BiMap,java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):178:178 -> b
    13:18:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):195:200 -> b
    19:19:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> b
    19:19:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):199 -> b
    20:31:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):206:217 -> b
    32:32:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):216:216 -> b
    33:42:java.lang.String com.android.tools.r8.graph.DexItemFactory.createMemberString(java.lang.String,com.android.tools.r8.graph.DexType,int):2234:2243 -> b
    33:42:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2290 -> b
    33:42:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2303 -> b
    33:42:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):216 -> b
    43:45:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String,com.android.tools.r8.graph.DexType):2291:2293 -> b
    43:45:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexItemFactory.createGloballyFreshMemberString(java.lang.String):2303 -> b
    43:45:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):216 -> b
    46:53:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):218:225 -> b
    54:54:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexMember.getContextType():37:37 -> b
    54:54:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70 -> b
    54:54:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):226 -> b
    55:55:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70:70 -> b
    55:55:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):226 -> b
    56:57:com.android.tools.r8.graph.DexEncodedMethod fixupVirtualInterfaceMethod(com.android.tools.r8.graph.DexEncodedMethod):227:228 -> b
    58:70:void fixupInterfaceClass(com.android.tools.r8.graph.DexProgramClass):232:244 -> b
    71:71:com.android.tools.r8.graph.DexEncodedMethod lambda$fixupInterfaceClass$2(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):235:235 -> b
    72:73:boolean lambda$fixupDirectMethod$5(java.util.Set,com.android.tools.r8.graph.DexMethod):306:307 -> b
    74:74:com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType):443:443 -> b
    1:6:void fixupProgramClassSuperTypes(com.android.tools.r8.graph.DexProgramClass):156:161 -> c
    7:7:void com.android.tools.r8.graph.DexClass.setInterfaces(com.android.tools.r8.graph.DexTypeList):189:189 -> c
    7:7:void fixupProgramClassSuperTypes(com.android.tools.r8.graph.DexProgramClass):161 -> c
    8:8:com.android.tools.r8.graph.DexEncodedMethod lambda$fixupProgramClass$1(java.util.Set,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):181:181 -> c
com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger -> com.android.tools.r8.internal.k20:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> c
    java.util.List methods -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexMethod superMethod -> e
    1:1:void <clinit>():28:28 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List,com.android.tools.r8.graph.DexMethod):40:45 -> <init>
    1:7:com.android.tools.r8.graph.DexMethod moveMethod(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.ProgramMethod):96:102 -> a
    8:22:com.android.tools.r8.graph.DexMethod moveMethod(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.graph.ProgramMethod):98:112 -> a
    23:29:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():116:122 -> a
    30:30:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    30:30:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():122 -> a
    31:33:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():123:125 -> a
    34:34:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    34:34:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():125 -> a
    35:38:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():126:129 -> a
    39:39:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    39:39:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():129 -> a
    40:43:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():130:133 -> a
    44:44:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    44:44:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():133 -> a
    45:47:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():134:136 -> a
    48:48:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    48:48:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():136 -> a
    49:51:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():137:139 -> a
    52:52:boolean lambda$getAccessFlags$0(com.android.tools.r8.graph.MethodAccessFlags):119:119 -> a
    53:53:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger.getNewMethodReference():144:144 -> a
    53:53:void mergeTrivial(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):183 -> a
    54:54:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):322:322 -> a
    54:54:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger.getNewMethodReference():144 -> a
    54:54:void mergeTrivial(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):183 -> a
    55:91:void mergeTrivial(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder):186:222 -> a
    92:92:boolean lambda$isNop$6(com.android.tools.r8.graph.ProgramMethod):153:153 -> a
    93:93:void lambda$mergeTrivial$9(com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):193:193 -> a
    94:94:void lambda$mergeTrivial$10(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.graph.DexEncodedMethod$Builder):217:217 -> a
    95:95:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIfKnown(com.android.tools.r8.utils.OptionalBool):1443:1443 -> a
    95:95:void lambda$mergeTrivial$10(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.graph.DexEncodedMethod$Builder):217 -> a
    96:96:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIf(boolean,com.android.tools.r8.utils.OptionalBool):1436:1436 -> a
    96:96:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIfKnown(com.android.tools.r8.utils.OptionalBool):1442 -> a
    96:96:void lambda$mergeTrivial$10(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.graph.DexEncodedMethod$Builder):217 -> a
    97:118:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):230:251 -> a
    119:119:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.recordNewMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):192:192 -> a
    119:119:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):251 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    120:120:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):253:253 -> a
    121:132:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):252:263 -> a
    133:133:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    133:133:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):263 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    134:138:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):264:268 -> a
    139:144:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):265:270 -> a
    145:145:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger.getNewMethodReference():144:144 -> a
    145:145:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):271 -> a
    146:146:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):322:322 -> a
    146:146:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger.getNewMethodReference():144 -> a
    146:146:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):271 -> a
    147:175:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):272:300 -> a
    176:176:void com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder.recordNewMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):192:192 -> a
    176:176:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):304 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    177:180:void merge(com.android.tools.r8.horizontalclassmerging.ClassMethodsBuilder,com.android.tools.r8.horizontalclassmerging.HorizontalClassMergerGraphLens$Builder,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.function.Consumer):306:309 -> a
    1:1:boolean lambda$getAccessFlags$1(com.android.tools.r8.graph.MethodAccessFlags):122:122 -> b
    2:3:boolean isNop():152:153 -> b
    4:4:boolean lambda$isTrivial$7(com.android.tools.r8.graph.ProgramMethod):169:169 -> b
    1:1:boolean lambda$getAccessFlags$2(com.android.tools.r8.graph.MethodAccessFlags):125:125 -> c
    2:2:boolean isNopOrTrivial():174:174 -> c
    3:3:boolean lambda$mergeTrivial$8(com.android.tools.r8.graph.ProgramMethod):187:187 -> c
    1:1:boolean lambda$getAccessFlags$3(com.android.tools.r8.graph.MethodAccessFlags):129:129 -> d
    2:9:boolean isTrivial():162:169 -> d
    10:12:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):124:126 -> d
    10:12:boolean isTrivial():169 -> d
    13:17:int com.android.tools.r8.com.google.common.collect.Iterators.size(java.util.Iterator):163:167 -> d
    13:17:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):126 -> d
    13:17:boolean isTrivial():169 -> d
    1:1:boolean lambda$getAccessFlags$4(com.android.tools.r8.graph.MethodAccessFlags):133:133 -> e
    1:1:boolean lambda$getAccessFlags$5(com.android.tools.r8.graph.MethodAccessFlags):136:136 -> f
com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder -> com.android.tools.r8.internal.j20:
    java.util.List methods -> a
    1:2:void <init>():48:49 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder add(com.android.tools.r8.graph.ProgramMethod):52:52 -> a
    2:2:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup):82:82 -> a
    3:20:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger$Builder.superMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup):59:76 -> a
    3:20:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup):82 -> a
    21:21:com.android.tools.r8.horizontalclassmerging.VirtualMethodMerger build(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.MergeGroup):83:83 -> a
com.android.tools.r8.horizontalclassmerging.VirtuallyMergedMethodsKeepInfo -> com.android.tools.r8.internal.n20:
    com.android.tools.r8.shaking.KeepMethodInfo$Joiner keepInfo -> b
    com.android.tools.r8.graph.DexMethod representative -> a
    1:1:void <init>(com.android.tools.r8.graph.DexMethod):16:16 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexMethod):14:17 -> <init>
    1:1:void amendKeepInfo(com.android.tools.r8.shaking.KeepMethodInfo):21:21 -> a
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Joiner getKeepInfo():29:29 -> a
    1:1:com.android.tools.r8.graph.DexMethod getRepresentative():25:25 -> b
com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger -> com.android.tools.r8.internal.da:
    com.android.tools.r8.com.google.common.collect.ImmutableList classInitializers -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():53:53 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$1):53:53 -> <init>
    2:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList):57:58 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$300(com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger):53:53 -> a
    2:9:com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger create(com.android.tools.r8.horizontalclassmerging.MergeGroup):62:69 -> a
    10:11:void lambda$create$0(com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$Builder,com.android.tools.r8.graph.DexProgramClass):65:66 -> a
    12:20:com.android.tools.r8.graph.Code getCode(com.android.tools.r8.graph.DexMethod):77:85 -> a
    21:29:com.android.tools.r8.cf.CfVersion getCfVersion():89:97 -> a
    30:32:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.CfVersionUtils.max(java.util.List):16:18 -> a
    30:32:com.android.tools.r8.cf.CfVersion getCfVersion():97 -> a
    33:33:java.lang.Boolean lambda$getCfVersion$2(com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    34:37:com.android.tools.r8.androidapi.ComputedApiLevel getApiReferenceLevel(com.android.tools.r8.graph.AppView):103:106 -> a
    38:38:com.android.tools.r8.androidapi.ComputedApiLevel getApiReferenceLevel(com.android.tools.r8.graph.AppView):104:104 -> a
    39:39:com.android.tools.r8.androidapi.ComputedApiLevel lambda$getApiReferenceLevel$3(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.ProgramMethod):107:107 -> a
    1:1:boolean isEmpty():73:73 -> b
    2:2:java.lang.Boolean lambda$getCode$1(com.android.tools.r8.graph.ProgramMethod):82:82 -> b
com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$Builder -> com.android.tools.r8.internal.aa:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder classInitializers -> a
    1:1:void <clinit>():110:110 -> <clinit>
    1:3:void <init>():110:112 -> <init>
    1:3:void add(com.android.tools.r8.graph.ProgramMethod):115:117 -> a
    4:4:com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger build():121:121 -> a
com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$CfCodeBuilder -> com.android.tools.r8.internal.ba:
    com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger this$0 -> c
    int maxLocals -> b
    int maxStack -> a
    1:4:void <init>(com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger):126:129 -> <init>
    5:5:void <init>(com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger,com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$1):126:126 -> <init>
    1:4:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.graph.DexMethod):135:138 -> a
    5:8:java.util.List buildInstructions(com.android.tools.r8.ir.code.Position):142:145 -> a
    9:16:void com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$CfCodeBuilder.addCfCode(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):151:158 -> a
    9:16:void lambda$buildInstructions$0(java.util.List,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.ProgramMethod):144 -> a
    17:17:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    17:17:void com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$CfCodeBuilder.addCfCode(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):158 -> a
    17:17:void lambda$buildInstructions$0(java.util.List,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.ProgramMethod):144 -> a
    18:22:void com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$CfCodeBuilder.addCfCode(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):159:163 -> a
    18:22:void lambda$buildInstructions$0(java.util.List,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.ProgramMethod):144 -> a
    23:38:void com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$CfCodeBuilder.addCfCode(java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):160:175 -> a
    23:38:void lambda$buildInstructions$0(java.util.List,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.ProgramMethod):144 -> a
com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$IRProvider -> com.android.tools.r8.internal.ca:
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexMethod syntheticMethodReference -> e
    com.android.tools.r8.com.google.common.collect.ImmutableList classInitializers -> d
    1:1:void <clinit>():184:184 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.horizontalclassmerging.code.ClassInitializerMerger$1):184:184 -> <init>
    2:4:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.graph.DexMethod):190:192 -> <init>
    1:15:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):197:211 -> a
    16:16:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    16:16:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):211 -> a
    17:19:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):212:214 -> a
    20:29:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):210:219 -> a
    30:30:com.android.tools.r8.ir.code.Return$Builder com.android.tools.r8.ir.code.Return.builder():32:32 -> a
    30:30:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):219 -> a
    31:68:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):219:256 -> a
    69:87:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):248:266 -> a
    88:88:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):293:293 -> a
    89:89:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):298:298 -> a
    90:90:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):308:308 -> a
    1:1:boolean computeEquals(java.lang.Object):278:278 -> h
    1:1:int computeHashCode():273:273 -> n0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():283:283 -> r0
    1:1:java.lang.String toString():303:303 -> toString
com.android.tools.r8.horizontalclassmerging.code.ConstructorEntryPointSynthesizedCode -> com.android.tools.r8.internal.Sd:
    com.android.tools.r8.graph.DexField classIdField -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap typeConstructors -> g
    com.android.tools.r8.graph.DexMethod originalMethod -> e
    com.android.tools.r8.graph.DexMethod newConstructor -> d
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():16:16 -> <clinit>
    1:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):26:30 -> <init>
    1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():35:35 -> B0
    1:1:com.android.tools.r8.ir.conversion.SourceCode lambda$getSourceCodeProvider$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):36:36 -> a
    2:2:java.util.function.Consumer getRegistryCallback(com.android.tools.r8.graph.DexClassAndMethod):42:42 -> a
    3:6:void registerReachableDefinitions(com.android.tools.r8.graph.UseRegistry):46:49 -> a
com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter -> com.android.tools.r8.internal.XX:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.List instanceInitializers -> d
    java.util.List classInitializers -> c
    com.android.tools.r8.horizontalclassmerging.IRCodeProvider codeProvider -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,java.util.List,java.util.List,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$1):26:26 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,java.util.List,java.util.List):37:41 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider):46:46 -> a
    2:3:void convertClassInitializers(java.util.concurrent.ExecutorService):50:51 -> a
    4:7:com.android.tools.r8.graph.AppView com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter.createAppViewForConversion():72:75 -> a
    4:7:void convertClassInitializers(java.util.concurrent.ExecutorService):51 -> a
    8:8:void convertClassInitializers(java.util.concurrent.ExecutorService):51:51 -> a
    9:9:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing):323:323 -> a
    9:9:void convertClassInitializers(java.util.concurrent.ExecutorService):51 -> a
    10:10:void convertClassInitializers(java.util.concurrent.ExecutorService):52:52 -> a
    11:13:void com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter.processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):80:82 -> a
    11:13:void lambda$convertClassInitializers$0(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ProgramMethod):53 -> a
    14:14:void com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter.processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):81:81 -> a
    14:14:void lambda$convertClassInitializers$0(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ProgramMethod):53 -> a
    1:2:void convertInstanceInitializers(java.util.concurrent.ExecutorService):59:60 -> b
    3:6:com.android.tools.r8.graph.AppView com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter.createAppViewForConversion():72:75 -> b
    3:6:void convertInstanceInitializers(java.util.concurrent.ExecutorService):60 -> b
    7:7:void convertInstanceInitializers(java.util.concurrent.ExecutorService):60:60 -> b
    8:8:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing):323:323 -> b
    8:8:void convertInstanceInitializers(java.util.concurrent.ExecutorService):60 -> b
    9:9:void convertInstanceInitializers(java.util.concurrent.ExecutorService):61:61 -> b
    10:12:void com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter.processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):80:82 -> b
    10:12:void lambda$convertInstanceInitializers$1(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ProgramMethod):62 -> b
    13:13:void com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter.processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):81:81 -> b
    13:13:void lambda$convertInstanceInitializers$1(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ProgramMethod):62 -> b
com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder -> com.android.tools.r8.internal.WX:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.List instanceInitializers -> d
    java.util.List classInitializers -> c
    com.android.tools.r8.horizontalclassmerging.IRCodeProvider codeProvider -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$1):89:89 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider):97:97 -> <init>
    3:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider):93:99 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder addClassInitializer(com.android.tools.r8.graph.ProgramMethod):103:103 -> a
    2:2:com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter build():113:113 -> a
    1:1:com.android.tools.r8.horizontalclassmerging.code.SyntheticInitializerConverter$Builder addInstanceInitializer(com.android.tools.r8.graph.ProgramMethod):108:108 -> b
com.android.tools.r8.horizontalclassmerging.policies.AllInstantiatedOrUninstantiated -> com.android.tools.r8.internal.B1:
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):17:22 -> <init>
    1:1:java.lang.Boolean com.android.tools.r8.horizontalclassmerging.policies.AllInstantiatedOrUninstantiated.getMergeKey(com.android.tools.r8.graph.DexProgramClass):27:27 -> a
    1:1:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):13 -> a
    1:1:java.lang.String getName():32:32 -> e
com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses -> com.android.tools.r8.internal.n9:
    com.android.tools.r8.utils.InternalOptions options -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):23:24 -> <init>
    1:3:com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses$AbstractClassification com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses.getMergeKey(com.android.tools.r8.graph.DexProgramClass):41:43 -> a
    1:3:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):14 -> a
    1:1:java.lang.String getName():29:29 -> e
    1:1:boolean shouldSkipPolicy():36:36 -> j
com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses$AbstractClassification -> com.android.tools.r8.internal.m9:
    com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses$AbstractClassification NOT_ABSTRACT -> c
    com.android.tools.r8.horizontalclassmerging.policies.CheckAbstractClasses$AbstractClassification ABSTRACT -> b
    1:2:void <clinit>():17:18 -> <clinit>
    1:1:void <init>(java.lang.String,int):16:16 -> <init>
com.android.tools.r8.horizontalclassmerging.policies.CheckSyntheticClasses -> com.android.tools.r8.internal.D9:
    com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> c
    com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions options -> b
    1:3:void <init>(com.android.tools.r8.graph.AppView):19:21 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):26:26 -> a
    2:2:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    2:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):26 -> a
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    3:3:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):26 -> a
    4:4:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):29:29 -> a
    5:5:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    5:5:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):29 -> a
    6:6:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    6:6:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    6:6:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):29 -> a
    1:1:java.lang.String getName():37:37 -> e
com.android.tools.r8.horizontalclassmerging.policies.FinalizeMergeGroup -> com.android.tools.r8.internal.yk:
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():26:26 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):31:33 -> <init>
    1:7:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):38:44 -> a
    8:15:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):39:46 -> a
    16:16:void lambda$verifyAlreadyFinalized$0(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):65:65 -> a
    17:17:void lambda$verifyAlreadyFinalized$1(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.function.Consumer):65:65 -> a
    18:19:void lambda$verifyAlreadyFinalized$2(java.util.Set,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):70:71 -> a
    1:9:boolean verifyAlreadyFinalized(com.android.tools.r8.horizontalclassmerging.MergeGroup):60:68 -> b
    1:1:java.lang.String getName():51:51 -> e
com.android.tools.r8.horizontalclassmerging.policies.LimitClassGroups -> com.android.tools.r8.internal.FB:
    int maxGroupSize -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():16:16 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):20:22 -> <init>
    1:5:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):27:31 -> a
    6:7:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.LimitClassGroups.createNewGroup(java.util.LinkedList):51:52 -> a
    6:7:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):32 -> a
    8:9:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):33:34 -> a
    10:11:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.LimitClassGroups.createNewGroup(java.util.LinkedList):51:52 -> a
    10:11:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):35 -> a
    12:19:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):37:44 -> a
    20:20:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):28:28 -> a
    1:1:java.lang.String getName():58:58 -> e
    boolean isIdentityForInterfaceGroups() -> f
com.android.tools.r8.horizontalclassmerging.policies.LimitInterfaceGroups -> com.android.tools.r8.internal.GB:
    int maxGroupSize -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):22:23 -> <init>
    1:6:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):29:34 -> a
    7:22:void com.android.tools.r8.horizontalclassmerging.policies.LimitInterfaceGroups.processClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):41:56 -> a
    7:22:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):35 -> a
    23:24:void com.android.tools.r8.horizontalclassmerging.MergeGroup.<init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> a
    23:24:void com.android.tools.r8.horizontalclassmerging.policies.LimitInterfaceGroups.processClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):56 -> a
    23:24:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):35 -> a
    25:25:void com.android.tools.r8.horizontalclassmerging.policies.LimitInterfaceGroups.processClass(com.android.tools.r8.graph.DexProgramClass,java.util.Map):56:56 -> a
    25:25:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):35 -> a
    26:26:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):37:37 -> a
    1:1:java.lang.String getName():61:61 -> e
com.android.tools.r8.horizontalclassmerging.policies.MinimizeInstanceFieldCasts -> com.android.tools.r8.internal.aF:
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():20:20 -> <clinit>
    1:1:void <init>():20:20 -> <init>
    1:35:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):25:59 -> a
    36:37:boolean lambda$apply$1(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.MergeGroup):34:35 -> a
    38:38:com.android.tools.r8.horizontalclassmerging.MergeGroup lambda$addExact$2(com.android.tools.r8.com.google.common.collect.Multiset):63:63 -> a
    39:41:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.horizontalclassmerging.policies.MinimizeInstanceFieldCasts.getExactMergeKey(com.android.tools.r8.graph.DexProgramClass):67:69 -> a
    39:41:void addExact(com.android.tools.r8.graph.DexProgramClass,java.util.Map):63 -> a
    42:42:void addExact(com.android.tools.r8.graph.DexProgramClass,java.util.Map):63:63 -> a
    1:1:void lambda$apply$0(java.util.Map,com.android.tools.r8.graph.DexProgramClass):26:26 -> b
    1:1:java.lang.String getName():76:76 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoAnnotationClasses -> com.android.tools.r8.internal.LG:
    1:1:void <init>():10:10 -> <init>
    1:1:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):13 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    2:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):13 -> a
    1:1:java.lang.String getName():18:18 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoCheckDiscard -> com.android.tools.r8.internal.MG:
    com.android.tools.r8.shaking.KeepInfoCollection keepInfo -> b
    com.android.tools.r8.utils.InternalOptions options -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView):19:21 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):26:26 -> a
    1:1:java.lang.String getName():31:31 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoClassAnnotationCollisions -> com.android.tools.r8.internal.NG:
    1:1:void com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.<init>():18:18 -> <init>
    1:1:void <init>():9 -> <init>
    1:2:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):23:24 -> a
    1:2:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassAnnotationCollisions.atMostOneOf(com.android.tools.r8.graph.DexProgramClass):13:13 -> a
    3:3:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):25 -> a
    3:3:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):26:26 -> a
    4:4:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5:6:void com.android.tools.r8.horizontalclassmerging.MergeGroup.<init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> a
    5:6:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):26 -> a
    5:6:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    7:19:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):26:38 -> a
    7:19:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    20:20:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassAnnotationCollisions.atMostOneOf(com.android.tools.r8.graph.DexProgramClass):13:13 -> a
    20:20:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):39 -> a
    20:20:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    21:24:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):40:43 -> a
    21:24:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.AtMostOneClassThatMatchesPolicy.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String getName():18:18 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles -> com.android.tools.r8.internal.QG:
    java.util.Map allGroups -> c
    com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation singleCallerInformation -> d
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():94:94 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):103:103 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView):99:104 -> <init>
    1:1:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94:94 -> a
    2:11:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):115:124 -> a
    2:11:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    12:14:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.getOrCreateGroupFor(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer):155:157 -> a
    12:14:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):125 -> a
    12:14:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    15:15:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer.setTracingRoot(com.android.tools.r8.graph.DexProgramClass):382:382 -> a
    15:15:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.getOrCreateGroupFor(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer):161 -> a
    15:15:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):125 -> a
    15:15:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    16:24:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.getOrCreateGroupFor(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer):162:170 -> a
    16:24:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):125 -> a
    16:24:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    25:33:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.canMerge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer):182:190 -> a
    25:33:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.getOrCreateGroupFor(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer):171 -> a
    25:33:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):125 -> a
    25:33:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    34:35:com.android.tools.r8.horizontalclassmerging.MergeGroup com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.getOrCreateGroupFor(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer):176:177 -> a
    34:35:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):125 -> a
    34:35:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    36:43:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):127:134 -> a
    36:43:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    44:52:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.commit(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.List):140:148 -> a
    44:52:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Void):135 -> a
    44:52:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):94 -> a
    53:57:java.util.List partitionClassesWithPossibleClassInitializerDeadlock(com.android.tools.r8.horizontalclassmerging.MergeGroup):203:207 -> a
    58:58:java.util.List partitionClassesWithPossibleClassInitializerDeadlock(com.android.tools.r8.horizontalclassmerging.MergeGroup):206:206 -> a
    59:63:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.graph.AppInfoWithClassHierarchy.traverseSuperClasses(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriFunction):165:169 -> a
    59:63:java.util.List partitionClassesWithPossibleClassInitializerDeadlock(com.android.tools.r8.horizontalclassmerging.MergeGroup):206 -> a
    64:76:java.util.List partitionClassesWithPossibleClassInitializerDeadlock(com.android.tools.r8.horizontalclassmerging.MergeGroup):217:229 -> a
    77:84:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.getNearestLock(com.android.tools.r8.graph.DexProgramClass,java.util.Set):249:256 -> a
    77:84:java.util.List partitionClassesWithPossibleClassInitializerDeadlock(com.android.tools.r8.horizontalclassmerging.MergeGroup):230 -> a
    85:97:java.util.List partitionClassesWithPossibleClassInitializerDeadlock(com.android.tools.r8.horizontalclassmerging.MergeGroup):232:244 -> a
    98:102:com.android.tools.r8.utils.TraversalContinuation lambda$partitionClassesWithPossibleClassInitializerDeadlock$0(java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):209:213 -> a
    103:109:java.lang.Void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):274:280 -> a
    103:109:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):94 -> a
    1:1:void clear():263:263 -> d
    1:1:java.lang.String getName():268:268 -> e
    1:2:boolean shouldSkipPolicy():286:287 -> j
com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer -> com.android.tools.r8.internal.PG:
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> a
    com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles this$0 -> h
    java.util.Set seenClassInitializers -> c
    com.android.tools.r8.utils.collections.ProgramMethodSet seenMethods -> d
    boolean $assertionsDisabled -> i
    java.util.Deque worklist -> e
    java.util.Set groupMembers -> b
    java.util.Map classInitializerReachableFromClasses -> f
    java.util.Collection tracingRoots -> g
    1:1:void <clinit>():290:290 -> <clinit>
    1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles,com.android.tools.r8.horizontalclassmerging.MergeGroup):310:310 -> <init>
    2:17:void <init>(com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles,com.android.tools.r8.horizontalclassmerging.MergeGroup):297:312 -> <init>
    1:1:void clearWorklist():321:321 -> a
    2:3:boolean enqueueMethod(com.android.tools.r8.graph.ProgramMethod):329:330 -> a
    4:6:boolean hasPossibleClassInitializerDeadlock(com.android.tools.r8.graph.DexProgramClass):362:364 -> a
    7:9:boolean isClassInitializedByClassInitializationOf(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):369:371 -> a
    10:10:void setTracingRoots(java.util.Collection):386:386 -> a
    11:12:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer.verifySeenSetIsEmpty():397:398 -> a
    11:12:void setTracingRoots(java.util.Collection):386 -> a
    13:13:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer.verifyWorklistIsEmpty():403:403 -> a
    13:13:void setTracingRoots(java.util.Collection):387 -> a
    14:14:void setTracingRoots(java.util.Collection):388:388 -> a
    1:3:void enqueueTracingRoot(com.android.tools.r8.graph.ProgramMethod):337:339 -> b
    4:7:void recordTracingRootsIneligibleForClassMerging():350:353 -> b
    8:8:boolean hasSingleTracingRoot(com.android.tools.r8.graph.DexProgramClass):358:358 -> b
    1:1:boolean markClassInitializerAsSeen(com.android.tools.r8.graph.DexProgramClass):325:325 -> c
    2:4:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer.processWorklist():375:377 -> c
    2:4:void trace():392 -> c
    5:6:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer.clearSeen():316:317 -> c
    5:6:void trace():393 -> c
    1:4:void recordClassInitializerReachableFromTracingRoots(com.android.tools.r8.graph.DexProgramClass):343:346 -> d
com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry -> com.android.tools.r8.internal.OG:
    com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer this$1 -> e
    1:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer,com.android.tools.r8.graph.ProgramMethod):409:410 -> <init>
    void registerCheckCast(com.android.tools.r8.graph.DexType,boolean) -> a
    void registerConstClass(com.android.tools.r8.graph.DexType,java.util.ListIterator,boolean) -> a
    void registerExceptionGuard(com.android.tools.r8.graph.DexType) -> a
    void registerInstanceFieldRead(com.android.tools.r8.graph.DexField) -> a
    1:6:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):445:450 -> a
    7:9:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.fail():415:417 -> a
    7:9:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):453 -> a
    10:23:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):456:469 -> a
    24:24:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializer(com.android.tools.r8.graph.DexType):438:438 -> a
    24:24:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):469 -> a
    25:25:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> a
    25:25:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializer(com.android.tools.r8.graph.DexType):438 -> a
    25:25:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):469 -> a
    26:26:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializer(com.android.tools.r8.graph.DexType):440:440 -> a
    26:26:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):469 -> a
    27:30:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):471:474 -> a
    31:32:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):487:488 -> a
    33:33:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410:410 -> a
    33:33:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):488 -> a
    34:34:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    34:34:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410 -> a
    34:34:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):488 -> a
    35:40:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):488:493 -> a
    41:41:void registerCallSite(com.android.tools.r8.graph.DexCallSite):575:575 -> a
    42:45:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):272:275 -> a
    42:45:void registerCallSite(com.android.tools.r8.graph.DexCallSite):575 -> a
    46:46:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):910:910 -> a
    46:46:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):275 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    46:46:void registerCallSite(com.android.tools.r8.graph.DexCallSite):575 -> a
    47:47:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):910:910 -> a
    47:47:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):275 -> a
    47:47:void registerCallSite(com.android.tools.r8.graph.DexCallSite):575 -> a
    48:50:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.fail():415:417 -> a
    48:50:void registerCallSite(com.android.tools.r8.graph.DexCallSite):578 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):481:481 -> b
    2:2:void registerInitClass(com.android.tools.r8.graph.DexType):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void registerInitClass(com.android.tools.r8.graph.DexType):481:481 -> b
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    8:8:void registerInitClass(com.android.tools.r8.graph.DexType):481 -> b
    9:9:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    9:9:void registerInitClass(com.android.tools.r8.graph.DexType):481 -> b
    3:3:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421:421 -> b
    3:3:void registerInitClass(com.android.tools.r8.graph.DexType):482 -> b
    4:4:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> b
    4:4:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421 -> b
    4:4:void registerInitClass(com.android.tools.r8.graph.DexType):482 -> b
    5:5:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):434:434 -> b
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):428 -> b
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> b
    5:5:void registerInitClass(com.android.tools.r8.graph.DexType):482 -> b
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):429:429 -> b
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> b
    6:6:void registerInitClass(com.android.tools.r8.graph.DexType):482 -> b
    10:11:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):499:500 -> b
    12:12:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):414:414 -> b
    12:12:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):500 -> b
    13:13:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> b
    13:13:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):414 -> b
    13:13:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):500 -> b
    14:16:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):500:502 -> b
    17:19:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.fail():415:417 -> b
    17:19:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):504 -> b
    void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField) -> c
    void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
    1:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):510:511 -> d
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):418:418 -> d
    3:3:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):511 -> d
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> d
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):418 -> d
    4:4:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):511 -> d
    5:12:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):511:518 -> d
    13:13:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):434:434 -> d
    13:13:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):428 -> d
    13:13:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):518 -> d
    14:14:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):429:429 -> d
    14:14:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):518 -> d
    15:15:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):519:519 -> d
    16:16:void registerNewInstance(com.android.tools.r8.graph.DexType):552:552 -> d
    17:17:void registerNewInstance(com.android.tools.r8.graph.DexType):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":22,"2":23,"3":24}}
    22:22:void registerNewInstance(com.android.tools.r8.graph.DexType):552:552 -> d
    23:23:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> d
    23:23:void registerNewInstance(com.android.tools.r8.graph.DexType):552 -> d
    24:24:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> d
    24:24:void registerNewInstance(com.android.tools.r8.graph.DexType):552 -> d
    18:18:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421:421 -> d
    18:18:void registerNewInstance(com.android.tools.r8.graph.DexType):553 -> d
    19:19:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> d
    19:19:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421 -> d
    19:19:void registerNewInstance(com.android.tools.r8.graph.DexType):553 -> d
    20:20:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):434:434 -> d
    20:20:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):428 -> d
    20:20:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> d
    20:20:void registerNewInstance(com.android.tools.r8.graph.DexType):553 -> d
    21:21:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):429:429 -> d
    21:21:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> d
    21:21:void registerNewInstance(com.android.tools.r8.graph.DexType):553 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):558:558 -> e
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> e
    2:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):558 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):559:559 -> e
    4:4:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421:421 -> e
    4:4:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):559 -> e
    5:5:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> e
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421 -> e
    5:5:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):559 -> e
    6:6:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):434:434 -> e
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):428 -> e
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> e
    6:6:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):559 -> e
    7:7:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):429:429 -> e
    7:7:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> e
    7:7:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):559 -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:2:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):525:526 -> f
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):422:422 -> f
    3:3:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):526 -> f
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> f
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):422 -> f
    4:4:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):526 -> f
    5:8:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):526:529 -> f
    9:9:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> f
    9:9:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):529 -> f
    10:13:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):528:531 -> f
    1:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):537:538 -> g
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):426:426 -> g
    3:3:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):538 -> g
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> g
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):426 -> g
    4:4:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):538 -> g
    5:9:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):538:542 -> g
    10:12:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.fail():415:417 -> g
    10:12:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):543 -> g
    13:13:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> g
    13:13:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):544 -> g
    14:14:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):545:545 -> g
    15:15:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):564:564 -> g
    16:16:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> g
    16:16:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):564 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):565:565 -> g
    18:18:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421:421 -> g
    18:18:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):565 -> g
    19:19:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> g
    19:19:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):421 -> g
    19:19:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):565 -> g
    20:20:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):434:434 -> g
    20:20:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):428 -> g
    20:20:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> g
    20:20:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):565 -> g
    21:21:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):429:429 -> g
    21:21:void com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerCycles$Tracer$TracerUseRegistry.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):423 -> g
    21:21:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):565 -> g
com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerWithObservableSideEffects -> com.android.tools.r8.internal.RG:
    1:1:void <init>():16:16 -> <init>
    1:5:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):20:24 -> a
    6:7:boolean com.android.tools.r8.horizontalclassmerging.policies.NoClassInitializerWithObservableSideEffects.isKotlinLambda(com.android.tools.r8.graph.DexProgramClass):28:29 -> a
    6:7:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):24 -> a
    1:1:java.lang.String getName():34:34 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoConstructorCollisions -> com.android.tools.r8.internal.SG:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():42:42 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):47:50 -> <init>
    1:1:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):42:42 -> a
    2:2:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):42:42 -> a
    3:6:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Set):59:62 -> a
    7:7:boolean lambda$apply$0(java.util.Set,com.android.tools.r8.graph.DexProgramClass):61:61 -> a
    8:8:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    8:8:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):115 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):115:115 -> a
    10:14:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):114:118 -> a
    15:15:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProto.getReturnType():62:62 -> a
    15:15:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):118 -> a
    16:16:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto,java.util.Map):118:118 -> a
    17:17:com.android.tools.r8.graph.DexType lambda$rewriteProto$1(java.util.Map,com.android.tools.r8.graph.DexType):116:116 -> a
    1:25:java.util.Set preprocess(java.util.Collection,java.util.concurrent.ExecutorService):72:96 -> b
    26:30:com.android.tools.r8.graph.DexMethod com.android.tools.r8.horizontalclassmerging.policies.NoConstructorCollisions.rewriteReference(com.android.tools.r8.graph.DexMethod,java.util.Map):122:122 -> b
    26:30:java.util.Set preprocess(java.util.Collection,java.util.concurrent.ExecutorService):96 -> b
    31:41:java.util.Set preprocess(java.util.Collection,java.util.concurrent.ExecutorService):97:107 -> b
    42:56:com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.DexType,java.util.Map):129:143 -> b
    1:1:java.lang.String getName():149:149 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoDeadEnumLiteMaps -> com.android.tools.r8.internal.TG:
    java.util.Set deadEnumLiteMaps -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():17:17 -> <clinit>
    1:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):21:27 -> <init>
    8:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):26:26 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):32:32 -> a
    1:1:java.lang.String getName():37:37 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoDeadLocks -> com.android.tools.r8.internal.UG:
    com.android.tools.r8.graph.AppView appView -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):20:21 -> <init>
    1:1:boolean com.android.tools.r8.horizontalclassmerging.policies.NoDeadLocks.isSynchronizationClass(com.android.tools.r8.graph.DexProgramClass):25:25 -> a
    1:1:boolean lambda$apply$0(java.util.Collection,com.android.tools.r8.graph.DexProgramClass):34 -> a
    2:3:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1229:1230 -> a
    2:3:boolean com.android.tools.r8.horizontalclassmerging.policies.NoDeadLocks.isSynchronizationClass(com.android.tools.r8.graph.DexProgramClass):25 -> a
    2:3:boolean lambda$apply$0(java.util.Collection,com.android.tools.r8.graph.DexProgramClass):34 -> a
    4:4:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    4:4:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1230 -> a
    4:4:boolean com.android.tools.r8.horizontalclassmerging.policies.NoDeadLocks.isSynchronizationClass(com.android.tools.r8.graph.DexProgramClass):25 -> a
    4:4:boolean lambda$apply$0(java.util.Collection,com.android.tools.r8.graph.DexProgramClass):34 -> a
    5:7:boolean lambda$apply$0(java.util.Collection,com.android.tools.r8.graph.DexProgramClass):36:38 -> a
    8:32:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):31:55 -> a
    1:1:java.lang.String getName():62:62 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions -> com.android.tools.r8.internal.WG:
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):79:81 -> <init>
    1:1:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):72:72 -> a
    2:17:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):86:101 -> a
    2:17:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):72 -> a
    18:22:boolean com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.isSafeToAddDefaultMethodsToClass(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Map):131:135 -> a
    18:22:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):102 -> a
    18:22:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):72 -> a
    23:26:boolean com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.isSafeToAddDefaultMethodsToClass(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Map):134:137 -> a
    23:26:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):102 -> a
    23:26:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):72 -> a
    27:30:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):103:106 -> a
    27:30:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):72 -> a
    31:36:java.util.Set computeNewDefaultMethodsAddedToClassByMerge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):113:118 -> a
    37:37:java.util.Map com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):149:149 -> a
    37:37:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):72 -> a
    38:38:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.computeClassesOfInterest(com.android.tools.r8.graph.SubtypingInfo):184:184 -> a
    38:38:java.util.Map com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):150 -> a
    38:38:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):72 -> a
    39:60:java.util.Map com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):152:173 -> a
    39:60:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):72 -> a
    61:61:java.util.Map com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):172:172 -> a
    61:61:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):72 -> a
    62:62:java.util.Map com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):168:168 -> a
    62:62:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):72 -> a
    63:63:void lambda$computeInheritedClassMethodsPerProgramClass$0(java.util.Map,com.android.tools.r8.graph.DexClass):202:202 -> a
    64:64:void lambda$computeInheritedClassMethodsPerProgramClass$0(java.util.Map,com.android.tools.r8.graph.DexClass):201:201 -> a
    65:71:void lambda$computeInheritedClassMethodsPerProgramClass$0(java.util.Map,com.android.tools.r8.graph.DexClass):200:206 -> a
    72:115:java.util.Map computeInheritedDefaultMethodsPerProgramType(java.util.Collection,java.util.Map):222:265 -> a
    116:143:void lambda$computeInheritedDefaultMethodsPerProgramType$5(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexClass):230:257 -> a
    144:144:void lambda$computeInheritedDefaultMethodsPerProgramType$5(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexClass):256:256 -> a
    145:150:void lambda$computeInheritedDefaultMethodsPerProgramType$5(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexClass):255:260 -> a
    151:213:java.util.Map computeDefaultMethodsInheritedBySubclassesPerProgramClass(java.util.Collection,java.util.Map,java.util.Collection,com.android.tools.r8.graph.SubtypingInfo):281:343 -> a
    214:215:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$9(java.util.Collection,java.util.function.BiConsumer):284:285 -> a
    216:216:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$7(java.util.function.BiConsumer,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.DexProgramClass):286:286 -> a
    217:217:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$8(java.util.function.BiConsumer,com.android.tools.r8.horizontalclassmerging.MergeGroup):286:286 -> a
    218:218:java.util.Map lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$10(java.util.Map):295:295 -> a
    219:225:java.lang.Iterable lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$12(com.android.tools.r8.graph.SubtypingInfo,java.util.Map,com.android.tools.r8.graph.DexType):305:311 -> a
    226:226:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$11(java.util.Set,com.android.tools.r8.graph.DexProgramClass):309:309 -> a
    227:227:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$16(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):324:324 -> a
    228:238:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$16(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexProgramClass):323:333 -> a
    239:239:java.util.Map lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$13(com.android.tools.r8.graph.DexType):332:332 -> a
    240:240:java.util.Set lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$14(com.android.tools.r8.graph.DexMethodSignature):336:336 -> a
    241:242:void lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$15(java.util.Map,com.android.tools.r8.graph.DexMethodSignature,java.util.Set):336:337 -> a
    1:18:java.util.Map computeInheritedClassMethodsPerProgramClass(java.util.Collection):193:210 -> b
    19:19:java.util.Set lambda$computeInheritedDefaultMethodsPerProgramType$2(com.android.tools.r8.graph.DexMethodSignature):237:237 -> b
    20:21:void lambda$computeInheritedDefaultMethodsPerProgramType$3(java.util.Map,com.android.tools.r8.graph.DexMethodSignature,java.util.Set):237:238 -> b
    22:22:boolean lambda$computeDefaultMethodsInheritedBySubclassesPerProgramClass$17(com.android.tools.r8.graph.DexType):343:343 -> b
    1:1:boolean lambda$computeInheritedClassMethodsPerProgramClass$1(com.android.tools.r8.graph.DexType):210:210 -> c
    2:2:java.util.Set lambda$computeInheritedDefaultMethodsPerProgramType$4(com.android.tools.r8.graph.DexMethodSignature):246:246 -> c
    1:1:boolean lambda$computeInheritedDefaultMethodsPerProgramType$6(com.android.tools.r8.graph.DexType):265:265 -> d
    1:1:java.lang.String getName():349:349 -> e
    1:1:boolean shouldSkipPolicy():354:354 -> j
com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodCollisions$InterfaceInfo -> com.android.tools.r8.internal.VG:
    java.util.Map inheritedDefaultMethods -> a
    java.util.Map defaultMethodsInheritedBySubclasses -> b
    1:3:void <init>(java.util.Map,java.util.Map):369:371 -> <init>
    1:1:java.util.Map getDefaultMethodsInheritedBySubclasses():379:379 -> a
    1:1:java.util.Map getInheritedDefaultMethods():375:375 -> b
com.android.tools.r8.horizontalclassmerging.policies.NoDefaultInterfaceMethodMerging -> com.android.tools.r8.internal.XG:
    com.android.tools.r8.utils.InternalOptions options -> c
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> b
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):35:37 -> <init>
    1:11:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):42:52 -> a
    12:12:java.util.LinkedList com.android.tools.r8.com.google.common.collect.Lists.newLinkedList():214:214 -> a
    12:12:java.util.LinkedList com.android.tools.r8.com.google.common.collect.Lists.newLinkedList(java.lang.Iterable):236 -> a
    12:12:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):52 -> a
    13:13:java.util.LinkedList com.android.tools.r8.com.google.common.collect.Lists.newLinkedList(java.lang.Iterable):237:237 -> a
    13:13:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):52 -> a
    14:14:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):52:52 -> a
    15:30:void addClassToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Map):57:72 -> a
    31:32:void com.android.tools.r8.horizontalclassmerging.MergeGroup.<init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> a
    31:32:void addClassToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Map):72 -> a
    33:33:void addClassToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Map):72:72 -> a
    1:1:java.lang.String getName():77:77 -> e
    1:1:boolean shouldSkipPolicy():82:82 -> j
com.android.tools.r8.horizontalclassmerging.policies.NoDifferentApiReferenceLevel -> com.android.tools.r8.internal.YG:
    com.android.tools.r8.graph.AppView appView -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> b
    boolean enableApiCallerIdentification -> d
    1:1:void <clinit>():15:15 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView):22:26 -> <init>
    1:2:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.horizontalclassmerging.policies.NoDifferentApiReferenceLevel.getMergeKey(com.android.tools.r8.graph.DexProgramClass):41:42 -> a
    1:2:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    3:3:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):60:60 -> a
    3:3:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.horizontalclassmerging.policies.NoDifferentApiReferenceLevel.getMergeKey(com.android.tools.r8.graph.DexProgramClass):42 -> a
    3:3:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    4:4:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    4:4:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.horizontalclassmerging.policies.NoDifferentApiReferenceLevel.getMergeKey(com.android.tools.r8.graph.DexProgramClass):42 -> a
    4:4:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    5:9:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getMembersApiReferenceLevelForMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.androidapi.ComputedApiLevel):68:72 -> a
    5:9:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):57 -> a
    5:9:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.horizontalclassmerging.policies.NoDifferentApiReferenceLevel.getMergeKey(com.android.tools.r8.graph.DexProgramClass):42 -> a
    5:9:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    1:1:java.lang.String getName():36:36 -> e
    1:1:boolean shouldSkipPolicy():31:31 -> j
com.android.tools.r8.horizontalclassmerging.policies.NoDirectRuntimeTypeChecks -> com.android.tools.r8.internal.ZG:
    com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> d
    com.android.tools.r8.utils.InternalOptions options -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.shaking.RuntimeTypeCheckInfo runtimeTypeCheckInfo -> c
    1:1:void <clinit>():15:15 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):26:30 -> <init>
    1:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):35:36 -> a
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    3:3:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36 -> a
    4:4:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    4:4:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    4:4:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36 -> a
    5:5:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36:36 -> a
    6:6:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":47,"2":48,"3":49}}
    47:47:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36:36 -> a
    48:48:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36:36 -> a
    49:49:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36:36 -> a
    43:46:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):37:40 -> a
    1:1:java.lang.String getName():45:45 -> e
    1:1:boolean shouldSkipPolicy():50:50 -> j
com.android.tools.r8.horizontalclassmerging.policies.NoEnums -> com.android.tools.r8.internal.aH:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap cache -> c
    com.android.tools.r8.graph.AppView appView -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView):20:20 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView):18:21 -> <init>
    1:4:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):36:39 -> a
    5:17:boolean isEnumSubtype(com.android.tools.r8.graph.DexClass):46:58 -> a
    1:1:void clear():26:26 -> d
    1:1:java.lang.String getName():31:31 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoFailedResolutionTargets -> com.android.tools.r8.internal.bH:
    java.util.Set failedResolutionHolders -> b
    1:4:void <init>(com.android.tools.r8.graph.AppView):21:24 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):35:35 -> a
    1:1:java.lang.String getName():30:30 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoIllegalInlining -> com.android.tools.r8.internal.cH:
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():18:18 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):22:26 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):56:56 -> a
    2:2:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    2:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):55 -> a
    3:3:boolean lambda$canMerge$0(com.android.tools.r8.graph.ProgramMethod):57:57 -> a
    4:19:boolean com.android.tools.r8.horizontalclassmerging.policies.NoIllegalInlining.disallowInlining(com.android.tools.r8.graph.ProgramMethod):30:45 -> a
    4:19:boolean lambda$canMerge$0(com.android.tools.r8.graph.ProgramMethod):57 -> a
    20:20:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    20:20:boolean com.android.tools.r8.horizontalclassmerging.policies.NoIllegalInlining.disallowInlining(com.android.tools.r8.graph.ProgramMethod):46 -> a
    20:20:boolean lambda$canMerge$0(com.android.tools.r8.graph.ProgramMethod):57 -> a
    1:1:java.lang.String getName():62:62 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoIndirectRuntimeTypeChecks -> com.android.tools.r8.internal.dH:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap cache -> d
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.shaking.RuntimeTypeCheckInfo runtimeTypeCheckInfo -> c
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):27:27 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.RuntimeTypeCheckInfo):23:29 -> <init>
    1:1:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):18:18 -> a
    2:30:boolean computeInterfaceHasDirectOrIndirectRuntimeTypeCheck(com.android.tools.r8.graph.DexType):44:72 -> a
    31:31:boolean computeInterfaceHasDirectOrIndirectRuntimeTypeCheck(com.android.tools.r8.graph.DexType):59:59 -> a
    32:32:boolean computeInterfaceHasDirectOrIndirectRuntimeTypeCheck(com.android.tools.r8.graph.DexType):49:49 -> a
    33:33:boolean lambda$computeInterfaceHasDirectOrIndirectRuntimeTypeCheck$0(com.android.tools.r8.graph.DexEncodedMethod):64:64 -> a
    1:1:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):38:38 -> b
    2:2:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.keepIf(java.util.function.Predicate):67:67 -> b
    2:2:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):39 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.keepIf(java.util.function.Predicate):67:68 -> b
    3:4:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):39 -> b
    5:5:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.create(com.android.tools.r8.graph.DexType[]):51:51 -> b
    5:5:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.keepIf(java.util.function.Predicate):69 -> b
    5:5:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):39 -> b
    6:6:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:162 -> b
    6:6:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):40 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:13:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:168 -> b
    7:13:com.android.tools.r8.graph.DexTypeList getMergeKey(com.android.tools.r8.graph.DexProgramClass):40 -> b
    1:1:java.lang.String getName():81:81 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoInnerClasses -> com.android.tools.r8.internal.eH:
    1:1:void <init>():10:10 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):15:15 -> a
    1:1:java.lang.String getName():20:20 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoInstanceFieldAnnotations -> com.android.tools.r8.internal.fH:
    1:1:void <init>():11:11 -> <init>
    1:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):15:16 -> a
    1:1:java.lang.String getName():25:25 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoInstanceInitializerMerging -> com.android.tools.r8.internal.gH:
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.horizontalclassmerging.IRCodeProvider codeProvider -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():49:49 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.IRCodeProvider,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):57:60 -> <init>
    1:41:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):65:105 -> a
    42:46:java.util.Map com.android.tools.r8.horizontalclassmerging.policies.NoInstanceInitializerMerging.getInstanceInitializersByRelaxedSignature(com.android.tools.r8.graph.DexProgramClass):184:188 -> a
    42:46:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):108 -> a
    47:49:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):109:111 -> a
    50:67:boolean com.android.tools.r8.horizontalclassmerging.policies.NoInstanceInitializerMerging.canAddClassToGroup(java.util.Map,java.util.Map,java.util.function.Function):139:156 -> a
    50:67:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):112 -> a
    68:75:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):117:124 -> a
    76:77:void com.android.tools.r8.horizontalclassmerging.MergeGroup.<init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> a
    76:77:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):124 -> a
    78:84:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):124:130 -> a
    85:97:boolean hasMultipleInstanceInitializersWithSameRelaxedSignature(com.android.tools.r8.graph.DexProgramClass):164:176 -> a
    98:99:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):45:46 -> a
    98:99:boolean hasMultipleInstanceInitializersWithSameRelaxedSignature(com.android.tools.r8.graph.DexProgramClass):176 -> a
    100:100:boolean hasMultipleInstanceInitializersWithSameRelaxedSignature(com.android.tools.r8.graph.DexProgramClass):177:177 -> a
    101:101:boolean lambda$hasMultipleInstanceInitializersWithSameRelaxedSignature$1(java.util.Set,com.android.tools.r8.graph.ProgramMethod):179:179 -> a
    102:102:java.util.Optional getOrComputeInstanceInitializerDescription(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.ProgramMethodMap):197:197 -> a
    103:106:java.util.Optional lambda$getOrComputeInstanceInitializerDescription$2(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):200:203 -> a
    107:114:com.android.tools.r8.graph.DexMethod getRelaxedSignature(com.android.tools.r8.graph.ProgramMethod):208:215 -> a
    115:116:com.android.tools.r8.graph.DexMethod getRelaxedSignature(com.android.tools.r8.graph.ProgramMethod):214:215 -> a
    117:117:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createInstanceInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):2443:2443 -> a
    117:117:com.android.tools.r8.graph.DexMethod getRelaxedSignature(com.android.tools.r8.graph.ProgramMethod):215 -> a
    118:118:com.android.tools.r8.graph.DexMethod getRelaxedSignature(com.android.tools.r8.graph.ProgramMethod):216:216 -> a
    119:119:com.android.tools.r8.graph.DexType lambda$getRelaxedSignature$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):211:211 -> a
    120:133:void setInstanceFieldMaps(java.lang.Iterable,com.android.tools.r8.horizontalclassmerging.MergeGroup):220:233 -> a
    134:155:void setInstanceFieldMaps(java.lang.Iterable,com.android.tools.r8.horizontalclassmerging.MergeGroup):230:251 -> a
    156:156:void lambda$setInstanceFieldMaps$5(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap,com.android.tools.r8.graph.DexProgramClass):242:242 -> a
    157:161:void lambda$setInstanceFieldMaps$4(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map,com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap,com.android.tools.r8.graph.ProgramField):245:249 -> a
    1:1:java.util.Optional lambda$apply$0(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):100:100 -> b
    1:1:java.lang.String getName():257:257 -> e
    boolean isIdentityForInterfaceGroups() -> f
com.android.tools.r8.horizontalclassmerging.policies.NoInterfaces -> com.android.tools.r8.internal.hH:
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> b
    com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions options -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):19:21 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):26:26 -> a
    1:1:java.lang.String getName():36:36 -> e
    1:1:boolean shouldSkipPolicy():31:31 -> j
com.android.tools.r8.horizontalclassmerging.policies.NoKeepRules -> com.android.tools.r8.internal.iH:
    com.android.tools.r8.shaking.KeepInfoCollection keepInfo -> c
    com.android.tools.r8.graph.AppView appView -> b
    java.util.Set dontMergeTypes -> e
    com.android.tools.r8.utils.InternalOptions options -> d
    1:1:void <init>(com.android.tools.r8.graph.AppView):27:27 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView):25:31 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):54:54 -> a
    1:9:void processClass(com.android.tools.r8.graph.DexProgramClass):35:43 -> b
    10:10:void processClass(com.android.tools.r8.graph.DexProgramClass):42:42 -> b
    11:19:void processClass(com.android.tools.r8.graph.DexProgramClass):40:48 -> b
    1:1:java.lang.String getName():59:59 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoKotlinMetadata -> com.android.tools.r8.internal.jH:
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():13:13 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):17:17 -> a
    2:3:boolean com.android.tools.r8.horizontalclassmerging.policies.NoKotlinMetadata.verifyNoUnexpectedKotlinInfo(com.android.tools.r8.graph.DexProgramClass):22:23 -> a
    2:3:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):17 -> a
    4:4:boolean lambda$verifyNoUnexpectedKotlinMemberInfo$0(com.android.tools.r8.graph.DexEncodedMember):29:29 -> a
    1:3:boolean verifyNoUnexpectedKotlinMemberInfo(com.android.tools.r8.graph.DexProgramClass):28:28 -> b
    1:1:java.lang.String getName():35:35 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoNativeMethods -> com.android.tools.r8.internal.kH:
    1:1:void <init>():12:12 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):15:15 -> a
    2:2:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    2:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):15 -> a
    1:1:java.lang.String getName():20:20 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoServiceLoaders -> com.android.tools.r8.internal.lH:
    com.android.tools.r8.graph.AppView appView -> b
    java.util.Set allServiceImplementations -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView):18:20 -> <init>
    1:2:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):25:26 -> a
    1:1:java.lang.String getName():31:31 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoVerticallyMergedClasses -> com.android.tools.r8.internal.mH:
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):16:20 -> <init>
    1:4:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):25:28 -> a
    1:1:java.lang.String getName():33:33 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging -> com.android.tools.r8.internal.nH:
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():33:33 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):37:39 -> <init>
    1:13:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):44:56 -> a
    14:22:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.canAddNonAbstractVirtualMethodsToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):79:87 -> a
    14:22:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):55 -> a
    23:23:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):103:103 -> a
    23:23:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.canAddNonAbstractVirtualMethodsToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):88 -> a
    23:23:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):55 -> a
    24:29:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.hasNonAbstractDefinitionInSuperClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):108:113 -> a
    24:29:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):103 -> a
    24:29:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.canAddNonAbstractVirtualMethodsToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):88 -> a
    24:29:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):55 -> a
    30:30:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):104:104 -> a
    30:30:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.canAddNonAbstractVirtualMethodsToGroup(com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):88 -> a
    30:30:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):55 -> a
    31:39:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):58:66 -> a
    40:41:void com.android.tools.r8.horizontalclassmerging.MergeGroup.<init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> a
    40:41:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):66 -> a
    42:45:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):66:69 -> a
    46:46:void lambda$apply$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):49:49 -> a
    47:47:boolean hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    48:53:boolean com.android.tools.r8.horizontalclassmerging.policies.NoVirtualMethodMerging.hasNonAbstractDefinitionInSuperClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):108:113 -> a
    48:53:boolean hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):96 -> a
    54:56:boolean hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):96:98 -> a
    57:57:boolean hasNonAbstractDefinitionInHierarchy(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.ProgramMethod):97:97 -> a
    58:58:boolean hasNonAbstractDefinitionInSuperInterface(java.lang.Iterable,com.android.tools.r8.graph.ProgramMethod):118:118 -> a
    59:59:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    59:59:boolean hasNonAbstractDefinitionInSuperInterface(java.lang.Iterable,com.android.tools.r8.graph.ProgramMethod):118 -> a
    60:65:boolean lambda$hasNonAbstractDefinitionInSuperInterface$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):121:126 -> a
    1:1:java.lang.String getName():132:132 -> e
com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges -> com.android.tools.r8.internal.oH:
    java.util.Map inheritedInterfaceMethodsCache -> d
    com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph graph -> b
    java.util.Map nonPublicVirtualMethodSignaturesCache -> e
    java.util.Map nonPublicVirtualLibraryMethodSignaturesCache -> f
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> c
    java.util.Map stronglyConnectedComponentsCache -> g
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):41:41 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):30:43 -> <init>
    1:9:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):48:56 -> a
    10:16:java.util.Set com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.getOrComputeStronglyConnectedComponent(com.android.tools.r8.graph.DexProgramClass):130:136 -> a
    10:16:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.getOrComputeNonPublicVirtualMethodSignaturesInComponentOf(com.android.tools.r8.graph.DexProgramClass):144 -> a
    10:16:boolean com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.canAddToGroup(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.DexMethodSignatureSet):91 -> a
    10:16:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):57 -> a
    17:17:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.getOrComputeNonPublicVirtualMethodSignaturesInComponentOf(com.android.tools.r8.graph.DexProgramClass):143:143 -> a
    17:17:boolean com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.canAddToGroup(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.DexMethodSignatureSet):91 -> a
    17:17:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):57 -> a
    18:25:boolean com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.canAddToGroup(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.DexMethodSignatureSet):92:99 -> a
    18:25:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):57 -> a
    26:32:java.util.Set com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.getOrComputeStronglyConnectedComponent(com.android.tools.r8.graph.DexProgramClass):130:136 -> a
    26:32:boolean com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.canAddToGroup(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.DexMethodSignatureSet):100 -> a
    26:32:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):57 -> a
    33:37:boolean com.android.tools.r8.horizontalclassmerging.policies.NoWeakerAccessPrivileges.canAddToGroup(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.utils.collections.DexMethodSignatureSet):100:104 -> a
    33:37:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):57 -> a
    38:38:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):66:66 -> a
    39:40:void com.android.tools.r8.horizontalclassmerging.MergeGroup.<init>(com.android.tools.r8.graph.DexProgramClass):47:48 -> a
    39:40:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):66 -> a
    41:56:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):67:82 -> a
    57:70:com.android.tools.r8.utils.collections.DexMethodSignatureSet getOrComputeInheritedInterfaceMethods(com.android.tools.r8.graph.DexClass):112:125 -> a
    71:71:void lambda$getOrComputeInheritedInterfaceMethods$0(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClass):120:120 -> a
    72:87:com.android.tools.r8.utils.collections.DexMethodSignatureSet getOrComputeNonPublicVirtualMethodSignaturesInComponent(java.util.Set):149:164 -> a
    88:88:boolean lambda$getOrComputeNonPublicVirtualLibraryMethodSignatures$4(com.android.tools.r8.graph.DexEncodedMethod):176:176 -> a
    1:1:boolean lambda$getOrComputeNonPublicVirtualMethodSignaturesInComponent$1(com.android.tools.r8.graph.DexEncodedMethod):155:155 -> b
    2:14:com.android.tools.r8.utils.collections.DexMethodSignatureSet getOrComputeNonPublicVirtualLibraryMethodSignatures(com.android.tools.r8.graph.DexClass):171:183 -> b
    15:15:void lambda$getOrComputeNonPublicVirtualLibraryMethodSignatures$5(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClass):182:182 -> b
    16:16:void lambda$getOrComputeNonPublicVirtualLibraryMethodSignatures$5(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClass):181:181 -> b
    1:1:boolean lambda$getOrComputeNonPublicVirtualMethodSignaturesInComponent$2(com.android.tools.r8.graph.DexClass):159:159 -> c
    2:2:void lambda$getOrComputeNonPublicVirtualMethodSignaturesInComponent$3(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClass):162:162 -> c
    3:3:void lambda$getOrComputeNonPublicVirtualMethodSignaturesInComponent$3(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClass):161:161 -> c
    1:3:void clear():190:192 -> d
    1:1:java.lang.String getName():197:197 -> e
com.android.tools.r8.horizontalclassmerging.policies.NotMatchedByNoHorizontalClassMerging -> com.android.tools.r8.internal.KH:
    com.android.tools.r8.graph.AppView appView -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):16:17 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):22:22 -> a
    1:1:java.lang.String getName():27:27 -> e
com.android.tools.r8.horizontalclassmerging.policies.OnlyDirectlyConnectedOrUnrelatedInterfaces -> com.android.tools.r8.internal.CK:
    java.util.Map committed -> d
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> c
    1:1:void <clinit>():58:58 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):68:68 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):65:70 -> <init>
    1:1:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):58:58 -> a
    2:39:java.util.Collection com.android.tools.r8.horizontalclassmerging.policies.OnlyDirectlyConnectedOrUnrelatedInterfaces.apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,com.android.tools.r8.graph.SubtypingInfo):75:112 -> a
    2:39:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.lang.Object):58 -> a
    40:40:java.util.Set computeSuperInterfaces(com.android.tools.r8.graph.DexProgramClass):119:119 -> a
    41:41:java.util.Set computeSubInterfaces(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.SubtypingInfo):124:124 -> a
    42:61:java.util.Set computeTransitiveSubOrSuperInterfaces(com.android.tools.r8.graph.DexProgramClass,java.util.function.Function):131:150 -> a
    62:62:com.android.tools.r8.graph.SubtypingInfo com.android.tools.r8.horizontalclassmerging.policies.OnlyDirectlyConnectedOrUnrelatedInterfaces.preprocess(java.util.Collection,java.util.concurrent.ExecutorService):165:165 -> a
    62:62:java.lang.Object preprocess(java.util.Collection,java.util.concurrent.ExecutorService):58 -> a
    1:1:java.lang.Iterable lambda$computeSubInterfaces$0(com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexProgramClass):125:125 -> b
    1:1:void clear():155:155 -> d
    1:1:java.lang.String getName():160:160 -> e
    1:1:boolean shouldSkipPolicy():170:170 -> j
com.android.tools.r8.horizontalclassmerging.policies.OnlyDirectlyConnectedOrUnrelatedInterfaces$MergeGroupWithInfo -> com.android.tools.r8.internal.BK:
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> a
    java.util.Set superInterfaces -> c
    java.util.Set subInterfaces -> d
    java.util.Set members -> b
    1:5:void <init>(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Set):183:187 -> <init>
    1:5:void add(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Set):194:198 -> a
    6:13:void add(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Set):196:203 -> a
    14:17:void add(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Set):201:204 -> a
    18:18:boolean lambda$add$0(com.android.tools.r8.graph.DexProgramClass):199:199 -> a
    19:19:com.android.tools.r8.horizontalclassmerging.MergeGroup getGroup():208:208 -> a
    1:1:boolean lambda$add$1(com.android.tools.r8.graph.DexProgramClass):203:203 -> b
    2:19:boolean isSafeToAddSubAndSuperInterfaces(com.android.tools.r8.graph.DexProgramClass,java.util.Set,java.util.Set):216:233 -> b
com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics -> com.android.tools.r8.internal.yM:
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():30:30 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):94:98 -> <init>
    1:4:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):140:143 -> a
    5:5:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    5:5:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):143 -> a
    6:16:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):145:155 -> a
    17:17:boolean lambda$apply$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$TargetGroup):143:143 -> a
    1:1:java.lang.String getName():34:34 -> e
com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$MethodCharacteristics -> com.android.tools.r8.internal.wM:
    com.android.tools.r8.utils.OptionalBool isLibraryMethodOverride -> c
    com.android.tools.r8.graph.MethodAccessFlags accessFlags -> a
    boolean isAssumeNoSideEffectsMethod -> b
    boolean isMainDexRoot -> d
    1:12:void <init>(com.android.tools.r8.graph.DexEncodedMethod,boolean,boolean):45:56 -> <init>
    1:3:com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$MethodCharacteristics create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):61:63 -> a
    4:4:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):763:763 -> a
    4:4:com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$MethodCharacteristics create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):63 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):763:763 -> a
    5:5:com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$MethodCharacteristics create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):63 -> a
    6:6:com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$MethodCharacteristics create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedMethod):64:64 -> a
    1:5:boolean equals(java.lang.Object):81:85 -> equals
    1:6:int hashCode():69:69 -> hashCode
com.android.tools.r8.horizontalclassmerging.policies.PreserveMethodCharacteristics$TargetGroup -> com.android.tools.r8.internal.xM:
    com.android.tools.r8.horizontalclassmerging.MergeGroup group -> a
    java.util.Map methodMap -> b
    1:4:void <init>():101:104 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.MergeGroup getGroup():107:107 -> a
    2:16:boolean tryAdd(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):111:125 -> a
    17:17:boolean isSubjectToMethodMerging(com.android.tools.r8.graph.DexEncodedMethod):130:130 -> a
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions -> com.android.tools.r8.internal.GM:
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ParentClassSignaturesCache parentClassMethodsCache -> e
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ReservedInterfaceSignaturesFor reservedInterfaceSignaturesFor -> f
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> c
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$InterfaceDefaultSignaturesCache interfaceDefaultMethodsCache -> d
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):129:129 -> <init>
    2:76:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):57:131 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$400(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):52:52 -> a
    2:12:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):156:166 -> a
    13:15:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions.computeReservedSignaturesForClass(com.android.tools.r8.graph.DexProgramClass):147:149 -> a
    13:15:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):167 -> a
    16:20:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):168:172 -> a
    21:21:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    21:21:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexItemFactory):66 -> a
    21:21:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):172 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    22:22:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70:70 -> a
    22:22:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexItemFactory):66 -> a
    22:22:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):172 -> a
    23:26:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):173:176 -> a
    27:28:void com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$DispatchSignature.addSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$MethodCategory):141:142 -> a
    27:28:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):179 -> a
    29:31:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):181:183 -> a
    32:32:com.android.tools.r8.horizontalclassmerging.MergeGroup lambda$apply$0(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$DispatchSignature):181:181 -> a
    1:1:com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$InterfaceDefaultSignaturesCache access$600(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):52:52 -> b
    1:1:com.android.tools.r8.graph.ImmediateProgramSubtypingInfo access$700(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):52:52 -> c
    1:1:java.lang.String getName():66:66 -> e
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$DexClassSignaturesCache -> com.android.tools.r8.internal.zM:
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions this$0 -> b
    1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):85:85 -> <init>
    2:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):85:85 -> <init>
    1:2:com.android.tools.r8.utils.collections.DexMethodSignatureSet getOrComputeSignatures(com.android.tools.r8.graph.DexType):88:89 -> a
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$DispatchSignature -> com.android.tools.r8.internal.AM:
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():139:139 -> <clinit>
    1:1:void <init>():139:139 -> <init>
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$InterfaceDefaultSignaturesCache -> com.android.tools.r8.internal.BM:
    1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):93:93 -> <init>
    2:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):93:93 -> <init>
    1:2:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):97:98 -> a
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$MethodCategory -> com.android.tools.r8.internal.CM:
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$MethodCategory KEEP_ABSENT -> c
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$MethodCategory CLASS_HIERARCHY_SAFE -> b
    1:2:void <clinit>():135:136 -> <clinit>
    1:1:void <init>(java.lang.String,int):134:134 -> <init>
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ParentClassSignaturesCache -> com.android.tools.r8.internal.DM:
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions this$0 -> c
    1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):102:102 -> <init>
    2:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):102:102 -> <init>
    1:5:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):106:110 -> a
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$ReservedInterfaceSignaturesFor -> com.android.tools.r8.internal.EM:
    com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions this$0 -> b
    1:1:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions):116:116 -> <init>
    2:2:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions,com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):116:116 -> <init>
    1:1:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):116:116 -> a
    2:2:void process(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):121:121 -> a
    3:6:void process(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet):120:123 -> a
com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$SignaturesCache -> com.android.tools.r8.internal.FM:
    java.util.Map memoizedSignatures -> a
    1:2:void <init>():69:70 -> <init>
    3:3:void <init>(com.android.tools.r8.horizontalclassmerging.policies.PreventClassMethodAndDefaultMethodCollisions$1):69:69 -> <init>
    void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet) -> a
    1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet getOrComputeSignatures(com.android.tools.r8.graph.DexClass):73:73 -> a
    2:3:com.android.tools.r8.utils.collections.DexMethodSignatureSet lambda$getOrComputeSignatures$0(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):76:77 -> a
com.android.tools.r8.horizontalclassmerging.policies.RespectPackageBoundaries -> com.android.tools.r8.internal.WS:
    com.android.tools.r8.graph.AppView appView -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):28:29 -> <init>
    1:1:com.android.tools.r8.utils.TraversalContinuation lambda$shouldRestrictMergingAcrossPackageBoundary$0(com.android.tools.r8.graph.ProgramMethod):71:71 -> a
    2:2:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):124:124 -> a
    2:2:com.android.tools.r8.utils.TraversalContinuation lambda$shouldRestrictMergingAcrossPackageBoundary$0(com.android.tools.r8.graph.ProgramMethod):72 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):125:125 -> a
    3:3:com.android.tools.r8.utils.TraversalContinuation lambda$shouldRestrictMergingAcrossPackageBoundary$0(com.android.tools.r8.graph.ProgramMethod):72 -> a
    4:9:com.android.tools.r8.utils.TraversalContinuation lambda$shouldRestrictMergingAcrossPackageBoundary$0(com.android.tools.r8.graph.ProgramMethod):72:77 -> a
    10:10:void tryFindRestrictedPackage(com.android.tools.r8.horizontalclassmerging.MergeGroup,java.util.Map):85:85 -> a
    11:13:boolean lambda$tryFindRestrictedPackage$1(java.util.Map,com.android.tools.r8.graph.DexProgramClass):87:89 -> a
    14:37:java.util.Collection apply(com.android.tools.r8.horizontalclassmerging.MergeGroup):98:121 -> a
    38:38:com.android.tools.r8.horizontalclassmerging.MergeGroup lambda$apply$2(java.lang.String):105:105 -> a
    39:39:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    39:39:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):34 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:40:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    40:40:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):34 -> a
    41:42:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):43:44 -> a
    43:43:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    43:43:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):44 -> a
    44:46:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):49:51 -> a
    47:47:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    47:47:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):52 -> a
    48:68:boolean shouldRestrictMergingAcrossPackageBoundary(com.android.tools.r8.graph.DexProgramClass):59:79 -> a
    1:1:java.lang.String getName():127:127 -> e
com.android.tools.r8.horizontalclassmerging.policies.SameFeatureSplit -> com.android.tools.r8.internal.aU:
    com.android.tools.r8.graph.AppView appView -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):16:17 -> <init>
    1:4:com.android.tools.r8.FeatureSplit com.android.tools.r8.horizontalclassmerging.policies.SameFeatureSplit.getMergeKey(com.android.tools.r8.graph.DexProgramClass):22:25 -> a
    1:4:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):13 -> a
    5:5:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    5:5:com.android.tools.r8.FeatureSplit com.android.tools.r8.horizontalclassmerging.policies.SameFeatureSplit.getMergeKey(com.android.tools.r8.graph.DexProgramClass):25 -> a
    5:5:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):13 -> a
    1:1:java.lang.String getName():30:30 -> e
com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields -> com.android.tools.r8.internal.cU:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):26:28 -> <init>
    1:9:com.android.tools.r8.com.google.common.collect.Multiset com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields.getMergeKey(com.android.tools.r8.graph.DexProgramClass):33:41 -> a
    1:9:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):21 -> a
    1:1:java.lang.String getName():48:48 -> e
com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo -> com.android.tools.r8.internal.bU:
    com.android.tools.r8.graph.DexType type -> b
    com.android.tools.r8.graph.FieldAccessFlags accessFlags -> a
    1:6:void <init>(com.android.tools.r8.graph.FieldAccessFlags,com.android.tools.r8.graph.DexType):56:61 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo createExact(com.android.tools.r8.graph.DexEncodedField):65:65 -> a
    2:4:com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo createRelaxed(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexItemFactory):70:72 -> a
    5:6:com.android.tools.r8.horizontalclassmerging.policies.SameInstanceFields$InstanceFieldInfo toInfoWithRelaxedType(com.android.tools.r8.graph.DexItemFactory):80:81 -> a
    1:5:boolean equals(java.lang.Object):86:90 -> equals
    1:1:int hashCode():95:95 -> hashCode
com.android.tools.r8.horizontalclassmerging.policies.SameMainDexGroup -> com.android.tools.r8.internal.dU:
    com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> b
    com.android.tools.r8.synthesis.SyntheticItems synthetics -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView):20:22 -> <init>
    1:2:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup com.android.tools.r8.horizontalclassmerging.policies.SameMainDexGroup.getMergeKey(com.android.tools.r8.graph.DexProgramClass):27:28 -> a
    1:2:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    1:1:java.lang.String getName():34:34 -> e
com.android.tools.r8.horizontalclassmerging.policies.SameNestHost -> com.android.tools.r8.internal.eU:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    1:2:void <init>(com.android.tools.r8.graph.AppView):18:19 -> <init>
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.horizontalclassmerging.policies.SameNestHost.getMergeKey(com.android.tools.r8.graph.DexProgramClass):24:24 -> a
    1:1:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):14 -> a
    1:1:java.lang.String getName():29:29 -> e
com.android.tools.r8.horizontalclassmerging.policies.SameParentClass -> com.android.tools.r8.internal.fU:
    1:1:void <init>():11:11 -> <init>
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.horizontalclassmerging.policies.SameParentClass.getMergeKey(com.android.tools.r8.graph.DexProgramClass):15:15 -> a
    1:1:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):11 -> a
    1:1:java.lang.String getName():20:20 -> e
com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy -> com.android.tools.r8.internal.aY:
    com.android.tools.r8.synthesis.SyntheticItems syntheticItems -> c
    com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode mode -> b
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):25:27 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy.getMergeKey(com.android.tools.r8.graph.DexProgramClass):33:33 -> a
    1:1:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    2:2:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    2:2:com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy.getMergeKey(com.android.tools.r8.graph.DexProgramClass):33 -> a
    2:2:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    3:3:com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy.getMergeKey(com.android.tools.r8.graph.DexProgramClass):33 -> a
    3:3:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    4:8:com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy.getMergeKey(com.android.tools.r8.graph.DexProgramClass):34:38 -> a
    4:8:java.lang.Object getMergeKey(com.android.tools.r8.graph.DexProgramClass):15 -> a
    1:1:java.lang.String getName():43:43 -> e
com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind -> com.android.tools.r8.internal.ZX:
    com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind SYNTHETIC -> b
    com.android.tools.r8.horizontalclassmerging.policies.SyntheticItemsPolicy$ClassKind NOT_SYNTHETIC -> c
    1:2:void <clinit>():18:19 -> <clinit>
    1:1:void <init>(java.lang.String,int):17:17 -> <init>
com.android.tools.r8.horizontalclassmerging.policies.VerifyPolicyAlwaysSatisfied -> com.android.tools.r8.internal.C10:
    com.android.tools.r8.horizontalclassmerging.SingleClassPolicy policy -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():10:10 -> <clinit>
    1:2:void <init>(com.android.tools.r8.horizontalclassmerging.SingleClassPolicy):14:15 -> <init>
    1:1:boolean canMerge(com.android.tools.r8.graph.DexProgramClass):20:20 -> a
    1:1:java.lang.String getName():0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":28,"2":29,"3":30}}
    28:28:java.lang.String getName():26:26 -> e
    29:29:java.lang.String getName():26:26 -> e
    30:30:java.lang.String getName():26:26 -> e
    27:27:java.lang.String getName():26:26 -> e
    1:1:boolean shouldSkipPolicy():31:31 -> j
com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation -> com.android.tools.r8.internal.VU:
    java.util.Map singleClinitCallers -> b
    com.android.tools.r8.utils.collections.ProgramMethodMap singleCallers -> a
    1:3:void <init>(com.android.tools.r8.utils.collections.ProgramMethodMap,java.util.Map):42:44 -> <init>
    1:1:com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder builder(com.android.tools.r8.graph.AppView):48:48 -> a
    2:2:com.android.tools.r8.graph.ProgramMethod getSingleCaller(com.android.tools.r8.graph.ProgramMethod):52:52 -> a
    3:3:com.android.tools.r8.graph.ProgramMethod getSingleClassInitializerCaller(com.android.tools.r8.graph.DexProgramClass):56:56 -> a
com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder -> com.android.tools.r8.internal.UU:
    java.util.Map clinitCallers -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.collections.ProgramMethodMap callers -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView):70:70 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView):67:71 -> <init>
    1:3:com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder analyze(java.util.concurrent.ExecutorService):75:75 -> a
    4:10:com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation build():81:87 -> a
    11:11:void lambda$build$0(com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    12:12:void lambda$build$1(com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod,java.util.Optional):83:83 -> a
    13:13:void lambda$build$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):86:86 -> a
    14:14:void lambda$build$3(java.util.Map,com.android.tools.r8.graph.DexProgramClass,java.util.Optional):86:86 -> a
    15:15:void processMethod(com.android.tools.r8.graph.ProgramMethod):91:91 -> a
com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor -> com.android.tools.r8.internal.TU:
    com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder this$0 -> f
    com.android.tools.r8.graph.AppView appView -> e
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():94:94 -> <clinit>
    1:3:void <init>(com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):98:100 -> <init>
    void registerInstanceFieldRead(com.android.tools.r8.graph.DexField) -> a
    1:1:void recordDispatchTarget(com.android.tools.r8.graph.ProgramMethod):104:104 -> a
    2:10:java.util.Optional lambda$recordDispatchTarget$0(com.android.tools.r8.graph.ProgramMethod,java.util.Optional):109:117 -> a
    11:41:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):146:176 -> a
    42:42:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializer(com.android.tools.r8.graph.DexType):139:139 -> a
    42:42:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):176 -> a
    43:43:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> a
    43:43:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializer(com.android.tools.r8.graph.DexType):139 -> a
    43:43:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):176 -> a
    44:44:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializer(com.android.tools.r8.graph.DexType):141:141 -> a
    44:44:void triggerClassInitializer(com.android.tools.r8.graph.DexProgramClass):176 -> a
    45:49:java.util.Optional lambda$triggerClassInitializer$1(com.android.tools.r8.graph.DexProgramClass,java.util.Optional):168:172 -> a
    50:51:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):197:198 -> a
    52:52:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410:410 -> a
    52:52:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):198 -> a
    53:53:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    53:53:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410 -> a
    53:53:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):198 -> a
    54:55:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):198:199 -> a
    56:56:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> a
    56:56:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):199 -> a
    57:59:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):200:202 -> a
    void registerInvokeInterface(com.android.tools.r8.graph.DexMethod) -> b
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):181:181 -> b
    2:2:void registerInitClass(com.android.tools.r8.graph.DexType):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7,"2":8,"3":9}}
    7:7:void registerInitClass(com.android.tools.r8.graph.DexType):181:181 -> b
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    8:8:void registerInitClass(com.android.tools.r8.graph.DexType):181 -> b
    9:9:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    9:9:void registerInitClass(com.android.tools.r8.graph.DexType):181 -> b
    3:3:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122:122 -> b
    3:3:void registerInitClass(com.android.tools.r8.graph.DexType):182 -> b
    4:4:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> b
    4:4:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122 -> b
    4:4:void registerInitClass(com.android.tools.r8.graph.DexType):182 -> b
    5:5:boolean com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):135:135 -> b
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):129 -> b
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> b
    5:5:void registerInitClass(com.android.tools.r8.graph.DexType):182 -> b
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):130:130 -> b
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> b
    6:6:void registerInitClass(com.android.tools.r8.graph.DexType):182 -> b
    void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField) -> c
    1:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):214:215 -> d
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410:410 -> d
    3:3:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):215 -> d
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> d
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410 -> d
    4:4:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):215 -> d
    5:13:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):215:223 -> d
    14:14:boolean com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):135:135 -> d
    14:14:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):129 -> d
    14:14:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):223 -> d
    15:15:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):130:130 -> d
    15:15:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):223 -> d
    16:16:void registerNewInstance(com.android.tools.r8.graph.DexType):241:241 -> d
    17:17:void registerNewInstance(com.android.tools.r8.graph.DexType):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":22,"2":23,"3":24}}
    22:22:void registerNewInstance(com.android.tools.r8.graph.DexType):241:241 -> d
    23:23:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> d
    23:23:void registerNewInstance(com.android.tools.r8.graph.DexType):241 -> d
    24:24:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> d
    24:24:void registerNewInstance(com.android.tools.r8.graph.DexType):241 -> d
    18:18:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122:122 -> d
    18:18:void registerNewInstance(com.android.tools.r8.graph.DexType):242 -> d
    19:19:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> d
    19:19:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122 -> d
    19:19:void registerNewInstance(com.android.tools.r8.graph.DexType):242 -> d
    20:20:boolean com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):135:135 -> d
    20:20:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):129 -> d
    20:20:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> d
    20:20:void registerNewInstance(com.android.tools.r8.graph.DexType):242 -> d
    21:21:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):130:130 -> d
    21:21:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> d
    21:21:void registerNewInstance(com.android.tools.r8.graph.DexType):242 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):247:247 -> e
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> e
    2:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):247 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):248:248 -> e
    4:4:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122:122 -> e
    4:4:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):248 -> e
    5:5:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> e
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122 -> e
    5:5:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):248 -> e
    6:6:boolean com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):135:135 -> e
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):129 -> e
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> e
    6:6:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):248 -> e
    7:7:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):130:130 -> e
    7:7:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> e
    7:7:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):248 -> e
    void registerInvokeSuper(com.android.tools.r8.graph.DexMethod) -> f
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):253:253 -> g
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> g
    2:2:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):253 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):254:254 -> g
    4:4:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122:122 -> g
    4:4:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):254 -> g
    5:5:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexType.asProgramClass(com.android.tools.r8.graph.DexDefinitionSupplier):366:366 -> g
    5:5:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):122 -> g
    5:5:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):254 -> g
    6:6:boolean com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.isClassAlreadyInitializedInCurrentContext(com.android.tools.r8.graph.DexProgramClass):135:135 -> g
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):129 -> g
    6:6:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> g
    6:6:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):254 -> g
    7:7:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexProgramClass):130:130 -> g
    7:7:void com.android.tools.r8.horizontalclassmerging.policies.deadlock.SingleCallerInformation$Builder$InvokeExtractor.triggerClassInitializerIfNotAlreadyTriggeredInContext(com.android.tools.r8.graph.DexType):124 -> g
    7:7:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):254 -> g
com.android.tools.r8.inspector.internal.ClassInspectorImpl -> com.android.tools.r8.internal.ma:
    com.android.tools.r8.graph.DexClass clazz -> a
    com.android.tools.r8.references.ClassReference reference -> b
    1:1:void <init>(com.android.tools.r8.graph.DexClass):20:20 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexClass):18:21 -> <init>
    1:1:void lambda$forEachField$0(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField):40:40 -> a
    2:2:void lambda$forEachMethod$1(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod):45:45 -> a
    1:1:void forEachField(java.util.function.Consumer):40:40 -> forEachField
    1:1:void forEachMethod(java.util.function.Consumer):45:45 -> forEachMethod
    1:4:com.android.tools.r8.references.ClassReference getClassReference():26:29 -> getClassReference
    1:2:java.lang.String getSourceFile():34:35 -> getSourceFile
com.android.tools.r8.inspector.internal.FieldInspectorImpl -> com.android.tools.r8.internal.Rj:
    com.android.tools.r8.graph.DexEncodedField field -> b
    com.android.tools.r8.inspector.internal.ClassInspectorImpl parent -> a
    com.android.tools.r8.references.FieldReference reference -> c
    1:1:void <init>(com.android.tools.r8.inspector.internal.ClassInspectorImpl,com.android.tools.r8.graph.DexEncodedField):18:18 -> <init>
    2:6:void <init>(com.android.tools.r8.inspector.internal.ClassInspectorImpl,com.android.tools.r8.graph.DexEncodedField):16:20 -> <init>
    1:6:com.android.tools.r8.references.FieldReference getFieldReference():25:30 -> getFieldReference
    7:12:com.android.tools.r8.references.FieldReference getFieldReference():27:32 -> getFieldReference
    1:4:java.util.Optional getInitialValue():47:50 -> getInitialValue
    1:1:boolean isFinal():42:42 -> isFinal
    1:1:boolean isStatic():37:37 -> isStatic
com.android.tools.r8.inspector.internal.InspectorImpl -> com.android.tools.r8.internal.Rp:
    java.util.Collection classes -> a
    1:2:void <init>(java.util.Collection):43:44 -> <init>
    1:6:java.util.List wrapInspections(java.util.Collection):20:25 -> a
    7:7:java.util.List wrapInspections(java.util.Collection):21:21 -> a
    8:13:void runInspections(java.util.List,java.util.Collection):32:37 -> a
    1:2:void forEachClass(java.util.function.Consumer):49:50 -> forEachClass
com.android.tools.r8.inspector.internal.MethodInspectorImpl -> com.android.tools.r8.internal.CE:
    com.android.tools.r8.inspector.internal.ClassInspectorImpl parent -> a
    com.android.tools.r8.references.MethodReference reference -> c
    com.android.tools.r8.graph.DexEncodedMethod method -> b
    1:3:void <init>(com.android.tools.r8.inspector.internal.ClassInspectorImpl,com.android.tools.r8.graph.DexEncodedMethod):19:21 -> <init>
    1:1:com.android.tools.r8.references.TypeReference lambda$getMethodReference$0(com.android.tools.r8.graph.DexType):33:33 -> a
    1:7:com.android.tools.r8.references.MethodReference getMethodReference():26:32 -> getMethodReference
    8:14:com.android.tools.r8.references.MethodReference getMethodReference():31:37 -> getMethodReference
    15:15:com.android.tools.r8.references.MethodReference getMethodReference():36:36 -> getMethodReference
    16:27:com.android.tools.r8.references.MethodReference getMethodReference():28:39 -> getMethodReference
com.android.tools.r8.inspector.internal.ValueInspectorImpl -> com.android.tools.r8.internal.u10:
    com.android.tools.r8.graph.DexValue value -> a
    com.android.tools.r8.graph.DexType type -> b
    1:3:void <init>(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType):34:36 -> <init>
    1:1:void guard(boolean):195:195 -> a
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isBooleanValue():51:51 -> asBooleanValue
    1:1:com.android.tools.r8.inspector.BooleanValueInspector asBooleanValue():56 -> asBooleanValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isByteValue():67:67 -> asByteValue
    1:1:com.android.tools.r8.inspector.ByteValueInspector asByteValue():72 -> asByteValue
    2:2:boolean com.android.tools.r8.graph.DexType.isByteType():280:280 -> asByteValue
    2:2:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isByteValue():67 -> asByteValue
    2:2:com.android.tools.r8.inspector.ByteValueInspector asByteValue():72 -> asByteValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isByteType():280:280 -> asByteValue
    3:3:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isByteValue():67 -> asByteValue
    3:3:com.android.tools.r8.inspector.ByteValueInspector asByteValue():72 -> asByteValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isCharValue():83:83 -> asCharValue
    1:1:com.android.tools.r8.inspector.CharValueInspector asCharValue():88 -> asCharValue
    2:2:boolean com.android.tools.r8.graph.DexType.isCharType():284:284 -> asCharValue
    2:2:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isCharValue():83 -> asCharValue
    2:2:com.android.tools.r8.inspector.CharValueInspector asCharValue():88 -> asCharValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isCharType():284:284 -> asCharValue
    3:3:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isCharValue():83 -> asCharValue
    3:3:com.android.tools.r8.inspector.CharValueInspector asCharValue():88 -> asCharValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isDoubleValue():163:163 -> asDoubleValue
    1:1:com.android.tools.r8.inspector.DoubleValueInspector asDoubleValue():168 -> asDoubleValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isFloatValue():147:147 -> asFloatValue
    1:1:com.android.tools.r8.inspector.FloatValueInspector asFloatValue():152 -> asFloatValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isIntValue():115:115 -> asIntValue
    1:1:com.android.tools.r8.inspector.IntValueInspector asIntValue():120 -> asIntValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isLongValue():131:131 -> asLongValue
    1:1:com.android.tools.r8.inspector.LongValueInspector asLongValue():136 -> asLongValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isShortValue():99:99 -> asShortValue
    1:1:com.android.tools.r8.inspector.ShortValueInspector asShortValue():104 -> asShortValue
    2:2:boolean com.android.tools.r8.graph.DexType.isShortType():288:288 -> asShortValue
    2:2:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isShortValue():99 -> asShortValue
    2:2:com.android.tools.r8.inspector.ShortValueInspector asShortValue():104 -> asShortValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isShortType():288:288 -> asShortValue
    3:3:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isShortValue():99 -> asShortValue
    3:3:com.android.tools.r8.inspector.ShortValueInspector asShortValue():104 -> asShortValue
    1:1:com.android.tools.r8.inspector.StringValueInspector asStringValue():184:184 -> asStringValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isBooleanValue():51:51 -> getBooleanValue
    1:1:boolean getBooleanValue():61 -> getBooleanValue
    2:3:boolean getBooleanValue():61:62 -> getBooleanValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isByteValue():67:67 -> getByteValue
    1:1:byte getByteValue():77 -> getByteValue
    2:2:boolean com.android.tools.r8.graph.DexType.isByteType():280:280 -> getByteValue
    2:2:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isByteValue():67 -> getByteValue
    2:2:byte getByteValue():77 -> getByteValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isByteType():280:280 -> getByteValue
    3:3:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isByteValue():67 -> getByteValue
    3:3:byte getByteValue():77 -> getByteValue
    4:5:byte getByteValue():77:78 -> getByteValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isCharValue():83:83 -> getCharValue
    1:1:char getCharValue():93 -> getCharValue
    2:2:boolean com.android.tools.r8.graph.DexType.isCharType():284:284 -> getCharValue
    2:2:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isCharValue():83 -> getCharValue
    2:2:char getCharValue():93 -> getCharValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isCharType():284:284 -> getCharValue
    3:3:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isCharValue():83 -> getCharValue
    3:3:char getCharValue():93 -> getCharValue
    4:5:char getCharValue():93:94 -> getCharValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isDoubleValue():163:163 -> getDoubleValue
    1:1:double getDoubleValue():173 -> getDoubleValue
    2:3:double getDoubleValue():173:174 -> getDoubleValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isFloatValue():147:147 -> getFloatValue
    1:1:float getFloatValue():157 -> getFloatValue
    2:3:float getFloatValue():157:158 -> getFloatValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isIntValue():115:115 -> getIntValue
    1:1:int getIntValue():125 -> getIntValue
    2:3:int getIntValue():125:126 -> getIntValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isLongValue():131:131 -> getLongValue
    1:1:long getLongValue():141 -> getLongValue
    2:3:long getLongValue():141:142 -> getLongValue
    1:1:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isShortValue():99:99 -> getShortValue
    1:1:short getShortValue():109 -> getShortValue
    2:2:boolean com.android.tools.r8.graph.DexType.isShortType():288:288 -> getShortValue
    2:2:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isShortValue():99 -> getShortValue
    2:2:short getShortValue():109 -> getShortValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isShortType():288:288 -> getShortValue
    3:3:boolean com.android.tools.r8.inspector.internal.ValueInspectorImpl.isShortValue():99 -> getShortValue
    3:3:short getShortValue():109 -> getShortValue
    4:5:short getShortValue():109:110 -> getShortValue
    1:2:java.lang.String getStringValue():189:190 -> getStringValue
    1:1:com.android.tools.r8.references.TypeReference getTypeReference():41:41 -> getTypeReference
    1:1:boolean isBooleanValue():51:51 -> isBooleanValue
    1:1:boolean isByteValue():67:67 -> isByteValue
    2:2:boolean com.android.tools.r8.graph.DexType.isByteType():280:280 -> isByteValue
    2:2:boolean isByteValue():67 -> isByteValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isByteType():280:280 -> isByteValue
    3:3:boolean isByteValue():67 -> isByteValue
    1:1:boolean isCharValue():83:83 -> isCharValue
    2:2:boolean com.android.tools.r8.graph.DexType.isCharType():284:284 -> isCharValue
    2:2:boolean isCharValue():83 -> isCharValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isCharType():284:284 -> isCharValue
    3:3:boolean isCharValue():83 -> isCharValue
    1:1:boolean isDoubleValue():163:163 -> isDoubleValue
    1:1:boolean isFloatValue():147:147 -> isFloatValue
    1:1:boolean isIntValue():115:115 -> isIntValue
    1:1:boolean isLongValue():131:131 -> isLongValue
    1:1:boolean isPrimitive():46:46 -> isPrimitive
    1:1:boolean isShortValue():99:99 -> isShortValue
    2:2:boolean com.android.tools.r8.graph.DexType.isShortType():288:288 -> isShortValue
    2:2:boolean isShortValue():99 -> isShortValue
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexType.isShortType():288:288 -> isShortValue
    3:3:boolean isShortValue():99 -> isShortValue
    1:1:boolean isStringValue():179:179 -> isStringValue
com.android.tools.r8.internal.ApiLevelException$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.g2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:6:java.lang.String com.android.tools.r8.ApiLevelException$$InternalSyntheticOutline$128$8070fe10555e1c79bfb7f4e2706650b727cc4dbc5f8918e1eca3a7095790ada6$0.m(java.lang.String,java.lang.String,java.lang.String):0:5 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.ApiLevelException$$ExternalSyntheticOutline1 -> com.android.tools.r8.internal.h2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.StringBuilder com.android.tools.r8.ApiLevelException$$InternalSyntheticOutline$128$8070fe10555e1c79bfb7f4e2706650b727cc4dbc5f8918e1eca3a7095790ada6$1.m(java.lang.String):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.ApiReferenceStubber$ReferencesToApiLevelUseRegistry$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.k2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:com.android.tools.r8.graph.DexType com.android.tools.r8.androidapi.ApiReferenceStubber$ReferencesToApiLevelUseRegistry$$InternalSyntheticOutline$128$fa4d2f1aaebefe56a72bd0d8d45ffdaa11db5a921b4ae78a58021043b9c16d22$0.m(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.AppServices$Builder$DataResourceProviderVisitor$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.o2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.StringBuilder com.android.tools.r8.graph.AppServices$Builder$DataResourceProviderVisitor$$InternalSyntheticOutline$128$1b9a9c3997290883e73a01d40bf4d3e6803f9ca951c5774170dba710a59428cb$0.m(com.android.tools.r8.graph.DexType,java.lang.StringBuilder,java.lang.String):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.ApplicationReader$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.r2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:4:java.lang.String com.android.tools.r8.dex.ApplicationReader$$InternalSyntheticOutline$128$9f54f232c90535949cbd79764f24cb98be32503bebdfcbf91538e9404314da22$0.m(com.android.tools.r8.graph.DexType,java.lang.StringBuilder,java.lang.String):0:3 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.ArchiveClassFileProvider$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.G2:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:5:java.lang.String com.android.tools.r8.ArchiveClassFileProvider$$InternalSyntheticOutline$128$fcf1b6b975830033929cccf6ad2b54a77cab1d87d8c3fcbcd1f412b054bd8dde$0.m(java.lang.String,java.lang.String):0:4 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.AvailableApiExceptions$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.Y3:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:6:void com.android.tools.r8.androidapi.AvailableApiExceptions$$InternalSyntheticOutline$128$20e6908fb16c2dd8ad959b1c1a6646d5062d52ffebb6111c792ca6515e114c85$0.m(com.android.tools.r8.graph.DexItemFactory,java.lang.String,java.util.Set,java.lang.String,java.lang.String):0:5 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.BackportedMethodListCommand$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.a4:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.String com.android.tools.r8.BackportedMethodListCommand$$InternalSyntheticOutline$128$7b25eb1be35d851e67f562f9da6a58cac1f92adedb289ac8c30b03bb2cd9fef7$0.m(java.lang.StringBuilder,java.lang.String,java.lang.String):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.BackportedMethodListCommand$Builder$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.b4:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:5:java.lang.String com.android.tools.r8.BackportedMethodListCommand$Builder$$InternalSyntheticOutline$128$74531d99dd9e8c41302dc64bf7c1ad28bdce38f5e1cbae1669b2746d1cca7f73$0.m(java.lang.String,int):0:4 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.BaseCompilerCommandParser$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.n4:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:7:java.lang.String com.android.tools.r8.BaseCompilerCommandParser$$InternalSyntheticOutline$128$146f7b3d6ff8af7ce0bd70dfaecb3106d94f9b5e09cb4e5860f363a40e03fcc0$0.m(java.lang.String,java.lang.String,java.lang.String,java.lang.String):0:6 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.BasicBlock$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.u4:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock$$InternalSyntheticOutline$128$b6dd67f260863294e1347834de9654f6bdbe9ba876ac452b76d49eee6a2321aa$0.m(com.android.tools.r8.ir.code.BasicBlock):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.BisectState$Range$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.d5:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.String com.android.tools.r8.bisect.BisectState$Range$$InternalSyntheticOutline$128$ce08529379ee2f531b289ce75fde83cc622d5b95d2bff129f3fff11db0ec6f8a$0.m(java.lang.StringBuilder,int,java.lang.String):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.CfConstClass$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.V6:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:5:java.lang.String com.android.tools.r8.cf.code.CfConstClass$$InternalSyntheticOutline$128$37c66abd9d2a2dc03f27fba98790669ca793ab689546056e468f3d38bbb416c6$0.m(java.lang.String,com.android.tools.r8.graph.DexType):0:4 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.CfSourceCode$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.u8:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:6:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode$$InternalSyntheticOutline$128$438dbc8eceffdeb61d226aaaed697fac8e37ed1b14c877d9379a82f963ca1ee0$0.m(java.lang.String,int,java.lang.String):0:5 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.CheckCast$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.p9:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:void com.android.tools.r8.code.CheckCast$$InternalSyntheticOutline$128$8425e8646f19f78a5cc679701fe1b8f81b89b53aa664c2c48409b2d425a4b181$0.m(com.android.tools.r8.dex.IndexedItemCollection,com.android.tools.r8.graph.DexType):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.ConstructorConstructor$$ExternalSyntheticThrowCCEIfNotNull0 -> com.android.tools.r8.internal.Dd:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    void com.android.tools.r8.com.google.gson.internal.ConstructorConstructor$$InternalSyntheticThrowCCEIfNotNull$127$4ee754c26fbc3f996201df800e46dee27e7d8abedcd7bc440ac96ce5f6dddcb4$0.m(java.lang.Object) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.internal.DexFileMergerHelper$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.Cg:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.StringBuilder com.android.tools.r8.DexFileMergerHelper$$InternalSyntheticOutline$128$9c9cadf1489a20b6e2f21254b49c29d5709cced0f7609f978195acf1f013b7c9$0.m(java.lang.String):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.DexOutputBuffer$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.fh:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:5:java.lang.StringBuilder com.android.tools.r8.dex.DexOutputBuffer$$InternalSyntheticOutline$128$2fa3327658a3747aa1eac19934d5e19eadcfd88a0fe905e3e2553d0deedbdab7$0.m(java.lang.String,int,java.lang.String):0:4 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.GenerateLintFiles$HTMLBuilder$$ExternalSyntheticOutline0 -> com.android.tools.r8.internal.Jl:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:3:java.lang.String com.android.tools.r8.GenerateLintFiles$HTMLBuilder$$InternalSyntheticOutline$128$ed6e21f6b1f6064d1f7d01ae8ade57a5452d19bf2d8e818564c5d5284e989760$0.m(java.lang.String,int,int):0:2 -> a
      # {"id":"com.android.tools.r8.synthesized"}
      # {"id":"com.android.tools.r8.outline"}
com.android.tools.r8.internal.Intrinsics$$ExternalSyntheticCheckNotZero0 -> com.android.tools.r8.internal.qu:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:1:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140:140 -> a
    1:1:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.checkNotNullParameter(java.lang.Object,java.lang.String):131 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:13:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.createParameterIsNullExceptionMessage(java.lang.String):144:155 -> a
    2:13:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140 -> a
    2:13:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.checkNotNullParameter(java.lang.Object,java.lang.String):131 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    14:14:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140:140 -> a
    14:14:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.checkNotNullParameter(java.lang.Object,java.lang.String):131 -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.ir.analysis.ClassInitializationAnalysis -> com.android.tools.r8.internal.V9:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.analysis.ClassInitializationAnalysis TRIVIAL -> e
    com.android.tools.r8.ir.code.DominatorTree dominatorTree -> c
    boolean $assertionsDisabled -> f
    int markingColor -> d
    com.android.tools.r8.ir.code.IRCode code -> b
    1:13:void <clinit>():54:66 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$1):54:54 -> <init>
    2:2:void <init>():82:82 -> <init>
    3:8:void <init>():79:84 -> <init>
    9:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):87:87 -> <init>
    10:20:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):79:89 -> <init>
    1:26:boolean isClassDefinitelyLoadedBeforeInstruction(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction):98:123 -> a
    27:53:com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption com.android.tools.r8.ir.analysis.ClassInitializationAnalysis.getAssumptionForDominator(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):182:208 -> a
    27:53:boolean isClassDefinitelyLoadedBeforeInstruction(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction):124 -> a
    54:64:boolean isClassDefinitelyLoadedBeforeInstruction(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction):125:135 -> a
    65:65:java.util.stream.Stream com.android.tools.r8.com.google.common.collect.Streams.stream(java.util.Iterator):84:84 -> a
    65:65:boolean isClassDefinitelyLoadedBeforeInstruction(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction):135 -> a
    66:68:boolean isClassDefinitelyLoadedBeforeInstruction(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction):135:135 -> a
    69:71:void com.android.tools.r8.ir.analysis.ClassInitializationAnalysis.returnMarkingColor():227:229 -> a
    69:71:void finish():223 -> a
    1:1:void notifyCodeHasChanged():217:217 -> b
    2:4:void com.android.tools.r8.ir.analysis.ClassInitializationAnalysis.returnMarkingColor():227:229 -> b
    2:4:void notifyCodeHasChanged():218 -> b
    1:1:com.android.tools.r8.ir.analysis.ClassInitializationAnalysis trivial():94:94 -> c
com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$1 -> com.android.tools.r8.internal.R9:
    1:1:void <init>():67:67 -> <init>
    boolean isClassDefinitelyLoadedBeforeInstruction(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction) -> a
com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption -> com.android.tools.r8.internal.S9:
    com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption INSTRUCTION_DOES_NOT_THROW -> b
    com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption NONE -> c
    1:2:void <clinit>():57:58 -> <clinit>
    1:1:void <init>(java.lang.String,int):56:56 -> <init>
com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$InstructionUtils -> com.android.tools.r8.internal.T9:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():233:233 -> <clinit>
    1:6:boolean forInitClass(com.android.tools.r8.ir.code.InitClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):241:246 -> a
    7:7:boolean forInstanceGet(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):255:255 -> a
    8:8:boolean forInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):264:264 -> a
    9:9:boolean forInstanceGetOrPut(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):273:273 -> a
    10:10:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    10:10:boolean forInstanceGetOrPut(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):273 -> a
    11:14:boolean forInstanceGetOrPut(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):273:276 -> a
    15:15:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    15:15:boolean forInstanceGetOrPut(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):276 -> a
    16:25:boolean forInstanceGetOrPut(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):277:286 -> a
    26:33:boolean forInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):295:302 -> a
    34:34:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    34:34:boolean forInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):302 -> a
    35:36:boolean forInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):303:304 -> a
    37:54:boolean forInvokeInterface(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):314:331 -> a
    55:66:boolean forInvokeInterface(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):330:341 -> a
    67:73:boolean forInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):351:357 -> a
    74:91:boolean forInvokeSuper(com.android.tools.r8.ir.code.InvokeSuper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):367:384 -> a
    92:111:boolean forInvokeSuper(com.android.tools.r8.ir.code.InvokeSuper,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):383:402 -> a
    112:129:boolean forInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):412:429 -> a
    130:141:boolean forInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):428:439 -> a
    142:147:boolean forNewInstance(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):448:453 -> a
    148:155:boolean com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$InstructionUtils.forStaticGetOrPut(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):480:487 -> a
    148:155:boolean forStaticGet(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):462 -> a
    156:156:boolean com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$InstructionUtils.forStaticGetOrPut(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):480:480 -> a
    156:156:boolean forStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):471 -> a
    157:157:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    157:157:boolean com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$InstructionUtils.forStaticGetOrPut(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):480 -> a
    157:157:boolean forStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):471 -> a
    158:164:boolean com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$InstructionUtils.forStaticGetOrPut(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):481:487 -> a
    158:164:boolean forStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):471 -> a
    165:180:boolean isTypeInitializedBy(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query):496:511 -> a
    181:181:boolean com.android.tools.r8.graph.DexDefinition.isDexEncodedField():0:0 -> a
    181:181:boolean isTypeInitializedBy(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query):512 -> a
    182:206:boolean isTypeInitializedBy(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query):513:537 -> a
    207:207:boolean isTypeInitializedBy(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query):536:536 -> a
    208:208:boolean isTypeInitializedBy(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query):521:521 -> a
    209:210:void enqueue(com.android.tools.r8.graph.DexType,java.util.Set,java.util.Deque):546:547 -> a
    211:232:void enqueueInitializedClassesOnNormalExit(com.android.tools.r8.graph.DexEncodedMethod,java.util.List,java.util.Set,java.util.Deque):556:577 -> a
com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query -> com.android.tools.r8.internal.U9:
    com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query DIRECTLY -> b
    com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query DIRECTLY_OR_INDIRECTLY -> c
    1:2:void <clinit>():62:63 -> <clinit>
    1:1:void <init>(java.lang.String,int):61:61 -> <init>
com.android.tools.r8.ir.analysis.DeterminismAnalysis -> com.android.tools.r8.internal.dg:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):22:23 -> a
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    3:3:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):26 -> a
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    4:4:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):30 -> a
    5:5:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):34:34 -> a
    6:6:boolean com.android.tools.r8.ir.code.Instruction.isArrayLength():0:0 -> a
    6:6:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):34 -> a
    7:11:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):38:42 -> a
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> a
    12:12:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):47 -> a
    13:13:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> a
    13:13:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):47 -> a
    14:14:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):51:51 -> a
    15:15:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    15:15:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):55 -> a
    16:16:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):59:59 -> a
    17:17:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    17:17:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):60 -> a
    18:18:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):61:61 -> a
    19:19:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    19:19:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):62 -> a
    20:20:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):63:63 -> a
    21:21:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> a
    21:21:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):64 -> a
    22:23:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):65:66 -> a
    24:24:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> a
    24:24:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):67 -> a
    25:27:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):68:70 -> a
    28:28:boolean returnValueOnlyDependsOnArguments(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):59:59 -> a
com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis -> com.android.tools.r8.internal.vp:
    1:15:java.util.Set computeInitializedClassesOnNormalExit(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):40:54 -> a
com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor -> com.android.tools.r8.internal.up:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set initializedClassesOnNormalExit -> c
    com.android.tools.r8.graph.ProgramMethod context -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():57:57 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63:63 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):61:65 -> <init>
    1:1:void markInitializedOnNormalExit(java.lang.Iterable):73:73 -> a
    2:37:void markInitializedOnNormalExit(com.android.tools.r8.graph.DexType):77:112 -> a
    38:44:java.lang.Void com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor.handleFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction):118:124 -> a
    38:44:java.lang.Object handleFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction):57 -> a
    45:56:java.lang.Void com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor.handleInvoke(com.android.tools.r8.ir.code.Invoke):132:143 -> a
    45:56:java.lang.Object handleInvoke(com.android.tools.r8.ir.code.Invoke):57 -> a
    57:63:java.lang.Void com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor.handleInvoke(com.android.tools.r8.ir.code.Invoke):139:145 -> a
    57:63:java.lang.Object handleInvoke(com.android.tools.r8.ir.code.Invoke):57 -> a
    64:64:java.lang.Void com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor.visit(com.android.tools.r8.ir.code.NewInstance):154:154 -> a
    64:64:java.lang.Object visit(com.android.tools.r8.ir.code.NewInstance):57 -> a
    65:65:java.lang.Void com.android.tools.r8.ir.analysis.InitializedClassesOnNormalExitAnalysis$Visitor.visit(com.android.tools.r8.ir.code.NewUnboxedEnumInstance):160:160 -> a
    65:65:java.lang.Object visit(com.android.tools.r8.ir.code.NewUnboxedEnumInstance):57 -> a
    1:1:java.util.Set build():69:69 -> b
com.android.tools.r8.ir.analysis.TypeChecker -> com.android.tools.r8.internal.g00:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.analysis.VerifyTypesHelper verifyTypesHelper -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():31:31 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):37:39 -> <init>
    1:3:boolean check(com.android.tools.r8.ir.code.IRCode):43:45 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.TypeChecker.check(com.android.tools.r8.ir.code.InstancePut):66:66 -> a
    4:4:boolean check(com.android.tools.r8.ir.code.IRCode):45 -> a
    5:6:boolean check(com.android.tools.r8.ir.code.IRCode):48:49 -> a
    7:13:boolean com.android.tools.r8.ir.analysis.TypeChecker.check(com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.DexEncodedMethod):70:76 -> a
    7:13:boolean check(com.android.tools.r8.ir.code.IRCode):49 -> a
    14:24:boolean com.android.tools.r8.ir.analysis.TypeChecker.check(com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.DexEncodedMethod):75:85 -> a
    14:24:boolean check(com.android.tools.r8.ir.code.IRCode):49 -> a
    25:26:boolean check(com.android.tools.r8.ir.code.IRCode):52:53 -> a
    27:27:boolean com.android.tools.r8.ir.analysis.TypeChecker.check(com.android.tools.r8.ir.code.StaticPut):92:92 -> a
    27:27:boolean check(com.android.tools.r8.ir.code.IRCode):53 -> a
    28:29:boolean check(com.android.tools.r8.ir.code.IRCode):56:57 -> a
    30:33:boolean com.android.tools.r8.ir.analysis.TypeChecker.check(com.android.tools.r8.ir.code.Throw):115:118 -> a
    30:33:boolean check(com.android.tools.r8.ir.code.IRCode):57 -> a
    34:36:boolean com.android.tools.r8.ir.analysis.TypeChecker.check(com.android.tools.r8.ir.code.Throw):117:119 -> a
    34:36:boolean check(com.android.tools.r8.ir.code.IRCode):57 -> a
    37:49:boolean checkFieldPut(com.android.tools.r8.ir.code.FieldInstruction):96:108 -> a
com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis -> com.android.tools.r8.internal.w10:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.ProgramMethod context -> b
    1:1:void <clinit>():80:80 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):87:91 -> <init>
    1:12:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):95:106 -> a
    13:23:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addConstantValueToValueGraph(com.android.tools.r8.ir.code.Value):167:177 -> a
    13:23:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):154 -> a
    13:23:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    24:24:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    24:24:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addConstantValueToValueGraph(com.android.tools.r8.ir.code.Value):177 -> a
    24:24:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):154 -> a
    24:24:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    25:25:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addConstantValueToValueGraph(com.android.tools.r8.ir.code.Value):178:178 -> a
    25:25:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):154 -> a
    25:25:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    26:26:boolean com.android.tools.r8.graph.DexEncodedField.isEnum():204:204 -> a
    26:26:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addConstantValueToValueGraph(com.android.tools.r8.ir.code.Value):179 -> a
    26:26:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):154 -> a
    26:26:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    27:35:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addArrayValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):193:201 -> a
    27:35:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):155 -> a
    27:35:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    36:36:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> a
    36:36:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addArrayValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):201 -> a
    36:36:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):155 -> a
    36:36:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    37:40:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addArrayValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):202:205 -> a
    37:40:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):155 -> a
    37:40:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    41:41:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    41:41:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addArrayValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):207 -> a
    41:41:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):155 -> a
    41:41:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    42:82:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addArrayValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):208:248 -> a
    42:82:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):155 -> a
    42:82:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    83:87:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.addValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):157:161 -> a
    83:87:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):108 -> a
    88:112:boolean anyValueMayDependOnEnvironment(java.lang.Iterable):120:144 -> a
    113:114:boolean lambda$anyValueMayDependOnEnvironment$0(java.util.Set,java.util.Set,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):129:130 -> a
    115:123:boolean addInvokeVirtualValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):259:267 -> a
    124:132:boolean addLogicalBinopValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):288:296 -> a
    133:144:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):309:320 -> a
    145:145:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    145:145:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):320 -> a
    146:160:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):321:335 -> a
    161:165:java.util.List com.android.tools.r8.graph.DexClass.getDirectAndIndirectInstanceFields(com.android.tools.r8.graph.AppView):1210:1214 -> a
    161:165:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):335 -> a
    166:180:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):336:350 -> a
    181:181:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    181:181:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):351 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    182:182:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    182:182:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):351 -> a
    183:188:boolean addNewInstanceValueToValueGraph(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph,java.util.Set,java.util.Set,com.android.tools.r8.utils.WorkList):357:362 -> a
    189:197:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):370:378 -> a
    198:200:com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock,java.util.Map):421:423 -> a
    198:200:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):379 -> a
    201:202:void com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.add(com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState):440:441 -> a
    201:202:com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis.computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock,java.util.Map):423 -> a
    201:202:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):379 -> a
    203:209:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):381:387 -> a
    210:210:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.isTrackingValue(com.android.tools.r8.ir.code.Value):449:449 -> a
    210:210:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):387 -> a
    211:214:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.recordTrackedValueHasEscaped():453:456 -> a
    211:214:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):388 -> a
    215:215:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.hasTrackedValueEscaped():445:445 -> a
    215:215:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):390 -> a
    216:224:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):391:399 -> a
    225:228:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.recordTrackedValueHasEscaped():453:456 -> a
    225:228:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):400 -> a
    229:229:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.hasTrackedValueEscaped():445:445 -> a
    229:229:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):402 -> a
    230:236:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):402:408 -> a
    237:237:boolean com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState.startTrackingValue(com.android.tools.r8.ir.code.Value):461:461 -> a
    237:237:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):408 -> a
    238:240:boolean anyValueMayBeMutatedBeforeMethodExit(java.util.Set,java.util.Set):411:413 -> a
    1:5:boolean isNonPinnedClassConstant(com.android.tools.r8.ir.code.Value):274:278 -> b
    6:6:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> b
    6:6:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):165 -> b
    6:6:boolean isNonPinnedClassConstant(com.android.tools.r8.ir.code.Value):278 -> b
    7:7:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> b
    7:7:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> b
    7:7:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):165 -> b
    7:7:boolean isNonPinnedClassConstant(com.android.tools.r8.ir.code.Value):278 -> b
    8:8:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> b
    8:8:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):165 -> b
    8:8:boolean isNonPinnedClassConstant(com.android.tools.r8.ir.code.Value):278 -> b
    9:9:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):165:165 -> b
    9:9:boolean isNonPinnedClassConstant(com.android.tools.r8.ir.code.Value):278 -> b
com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState -> com.android.tools.r8.internal.v10:
    java.util.Set trackedValues -> b
    com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState EMPTY -> c
    boolean hasTrackedValueEscaped -> a
    1:1:void <clinit>():430:430 -> <clinit>
    1:6:void <init>():428:433 -> <init>
    1:1:com.android.tools.r8.ir.analysis.ValueMayDependOnEnvironmentAnalysis$TrackedValuesState empty():436:436 -> a
    2:2:boolean isTrackingValue(com.android.tools.r8.ir.code.Value):449:449 -> a
com.android.tools.r8.ir.analysis.VerifyTypesHelper -> com.android.tools.r8.internal.D10:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():10:10 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):14:15 -> <init>
    1:1:com.android.tools.r8.ir.analysis.VerifyTypesHelper create(com.android.tools.r8.graph.AppView):19:19 -> a
    2:28:boolean isAssignable(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement):23:49 -> a
com.android.tools.r8.ir.analysis.constant.Bottom -> com.android.tools.r8.internal.F5:
    com.android.tools.r8.ir.analysis.constant.Bottom INSTANCE -> a
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():9:9 -> <init>
    com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement) -> a
    1:1:com.android.tools.r8.ir.analysis.constant.Bottom getInstance():13:13 -> c
    1:1:java.lang.String toString():28:28 -> toString
com.android.tools.r8.ir.analysis.constant.ConstLatticeElement -> com.android.tools.r8.internal.md:
    com.android.tools.r8.ir.code.ConstNumber value -> a
    1:2:void <init>(com.android.tools.r8.ir.code.ConstNumber):11:12 -> <init>
    com.android.tools.r8.ir.analysis.constant.ConstLatticeElement asConst() -> a
    1:1:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):17:17 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isTop():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):17 -> a
    3:3:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isBottom():0:0 -> a
    3:3:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):20 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    4:4:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):23 -> a
    5:9:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):24:28 -> a
    1:1:com.android.tools.r8.ir.code.ConstNumber getConstNumber():47:47 -> c
    1:1:int getIntValue():51:51 -> d
    1:1:java.lang.String toString():43:43 -> toString
com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement -> com.android.tools.r8.internal.rd:
    com.android.tools.r8.ir.code.Value value -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():8:8 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.Value):11:13 -> <init>
    1:1:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):18:18 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isTop():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):18 -> a
    3:3:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isBottom():0:0 -> a
    3:3:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):21 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isValueRange():0:0 -> a
    4:4:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):24 -> a
    5:5:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):25:25 -> a
    6:6:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement.getConstRange():44:44 -> a
    6:6:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):26 -> a
    7:7:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):26:26 -> a
    8:8:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement.getConstRange():44:44 -> a
    8:8:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):26 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:13:com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement):26:30 -> a
    com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement asConstRange() -> b
    1:1:com.android.tools.r8.ir.code.Value getConstRange():44:44 -> c
    1:1:java.lang.String toString():40:40 -> toString
com.android.tools.r8.ir.analysis.constant.LatticeElement -> com.android.tools.r8.internal.SA:
    1:1:void <init>():6:6 -> <init>
    com.android.tools.r8.ir.analysis.constant.ConstLatticeElement asConst() -> a
    com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement) -> a
    com.android.tools.r8.ir.analysis.constant.ConstRangeLatticeElement asConstRange() -> b
com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation -> com.android.tools.r8.internal.DV:
    java.util.Deque ssaEdges -> d
    java.util.Map mapping -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.BitSet[] executableFlowEdges -> g
    java.util.BitSet visitedBlocks -> h
    boolean $assertionsDisabled -> i
    java.util.Deque flowEdges -> e
    int maxBlockNumber -> f
    com.android.tools.r8.ir.code.IRCode code -> b
    1:1:void <clinit>():34:34 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):45:45 -> <init>
    2:14:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):38:50 -> <init>
    1:41:void rewriteCode():85:125 -> a
    42:42:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView) -> a
    42:42:void rewriteCode():125 -> a
    43:45:void rewriteCode():125:127 -> a
    46:46:boolean lambda$rewriteCode$0(java.util.Map$Entry):88:88 -> a
    47:47:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    47:47:boolean lambda$rewriteCode$0(java.util.Map$Entry):88 -> a
    48:63:void lambda$rewriteCode$3(java.util.Set,java.util.List,java.util.Map$Entry):91:106 -> a
    64:64:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    64:64:void lambda$rewriteCode$3(java.util.Set,java.util.List,java.util.Map$Entry):107 -> a
    65:74:void lambda$rewriteCode$3(java.util.Set,java.util.List,java.util.Map$Entry):108:117 -> a
    75:75:boolean lambda$rewriteCode$1(com.android.tools.r8.ir.code.Instruction):105:105 -> a
    76:76:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    76:76:boolean lambda$rewriteCode$1(com.android.tools.r8.ir.code.Instruction):105 -> a
    77:77:boolean lambda$rewriteCode$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):116:116 -> a
    78:78:com.android.tools.r8.ir.analysis.constant.LatticeElement getLatticeElement(com.android.tools.r8.ir.code.Value):131:131 -> a
    79:86:void visitPhi(com.android.tools.r8.ir.code.Phi):139:146 -> a
    87:91:boolean com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.isExecutableEdge(int,int):262:266 -> a
    87:91:void visitPhi(com.android.tools.r8.ir.code.Phi):146 -> a
    92:94:void visitPhi(com.android.tools.r8.ir.code.Phi):147:149 -> a
    95:95:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isBottom():0:0 -> a
    95:95:void visitPhi(com.android.tools.r8.ir.code.Phi):149 -> a
    96:96:void visitPhi(com.android.tools.r8.ir.code.Phi):154:154 -> a
    97:97:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isTop():0:0 -> a
    97:97:void visitPhi(com.android.tools.r8.ir.code.Phi):154 -> a
    98:100:void visitPhi(com.android.tools.r8.ir.code.Phi):155:157 -> a
    101:101:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setLatticeElement(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.constant.LatticeElement):135:135 -> a
    101:101:void visitPhi(com.android.tools.r8.ir.code.Phi):158 -> a
    1:1:void run():54:54 -> b
    2:5:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.visitInstructions(com.android.tools.r8.ir.code.BasicBlock):164:167 -> b
    2:5:void run():55 -> b
    6:30:void run():57:81 -> b
    31:36:void run():58:63 -> b
    37:40:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.visitInstructions(com.android.tools.r8.ir.code.BasicBlock):164:167 -> b
    37:40:void run():64 -> b
    41:49:void run():67:75 -> b
    50:50:void visitInstruction(com.android.tools.r8.ir.code.Instruction):171:171 -> b
    51:51:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalUninitialized():0:0 -> b
    51:51:void visitInstruction(com.android.tools.r8.ir.code.Instruction):171 -> b
    52:55:void visitInstruction(com.android.tools.r8.ir.code.Instruction):172:175 -> b
    56:56:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setLatticeElement(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.constant.LatticeElement):135:135 -> b
    56:56:void visitInstruction(com.android.tools.r8.ir.code.Instruction):175 -> b
    57:61:void visitInstruction(com.android.tools.r8.ir.code.Instruction):176:180 -> b
    62:68:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):185:191 -> b
    62:68:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    69:69:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> b
    69:69:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):191 -> b
    69:69:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    70:71:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):192:193 -> b
    70:71:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    72:76:boolean com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.isExecutableEdge(int,int):262:266 -> b
    72:76:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):193 -> b
    72:76:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    77:77:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):194:194 -> b
    77:77:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    78:83:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setExecutableEdge(int,int):253:258 -> b
    78:83:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):194 -> b
    78:83:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    84:91:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):195:202 -> b
    84:91:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    92:92:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> b
    92:92:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):202 -> b
    92:92:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    93:93:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):202:202 -> b
    93:93:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    94:94:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> b
    94:94:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):202 -> b
    94:94:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    95:98:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):203:206 -> b
    95:98:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    99:103:boolean com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.isExecutableEdge(int,int):262:266 -> b
    99:103:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):206 -> b
    99:103:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    104:104:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):207:207 -> b
    104:104:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    105:110:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setExecutableEdge(int,int):253:258 -> b
    105:110:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):207 -> b
    105:110:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    111:115:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):208:212 -> b
    111:115:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    116:116:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isTop():0:0 -> b
    116:116:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):212 -> b
    116:116:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    117:118:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):212:213 -> b
    117:118:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    119:119:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isTop():0:0 -> b
    119:119:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):213 -> b
    119:119:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    120:125:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):213:218 -> b
    120:125:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    126:126:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> b
    126:126:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):218 -> b
    126:126:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    127:133:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):219:225 -> b
    127:133:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    134:139:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setExecutableEdge(int,int):253:258 -> b
    134:139:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):225 -> b
    134:139:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    140:146:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):226:232 -> b
    140:146:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    147:147:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> b
    147:147:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):232 -> b
    147:147:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    148:150:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):234:236 -> b
    148:150:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    151:156:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setExecutableEdge(int,int):253:258 -> b
    151:156:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):236 -> b
    151:156:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    157:165:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):237:245 -> b
    157:165:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    166:170:boolean com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.isExecutableEdge(int,int):262:266 -> b
    166:170:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):245 -> b
    166:170:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    171:171:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):246:246 -> b
    171:171:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    172:177:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.setExecutableEdge(int,int):253:258 -> b
    172:177:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):246 -> b
    172:177:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
    178:178:void com.android.tools.r8.ir.analysis.constant.SparseConditionalConstantPropagation.addFlowEdgesForJumpInstruction(com.android.tools.r8.ir.code.JumpInstruction):247:247 -> b
    178:178:void visitInstruction(com.android.tools.r8.ir.code.Instruction):180 -> b
com.android.tools.r8.ir.analysis.constant.Top -> com.android.tools.r8.internal.IY:
    com.android.tools.r8.ir.analysis.constant.Top INSTANCE -> a
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():9:9 -> <init>
    com.android.tools.r8.ir.analysis.constant.LatticeElement meet(com.android.tools.r8.ir.analysis.constant.LatticeElement) -> a
    1:1:com.android.tools.r8.ir.analysis.constant.Top getInstance():13:13 -> c
    1:1:java.lang.String toString():28:28 -> toString
com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph -> com.android.tools.r8.internal.t10:
    java.util.Map nodes -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():27:27 -> <clinit>
    1:3:void <init>():27:29 -> <init>
    1:1:com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node createNodeIfAbsent(com.android.tools.r8.ir.code.Value):32:32 -> a
    2:3:void addDirectedEdge(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node,com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):36:37 -> a
    4:4:java.util.Collection getNodes():41:41 -> a
    1:5:void mergeStronglyConnectedComponents():57:61 -> b
    6:13:void com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph.mergeNodes(java.lang.Iterable):45:52 -> b
    6:13:void mergeStronglyConnectedComponents():62 -> b
    14:14:void mergeStronglyConnectedComponents():63:63 -> b
com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node -> com.android.tools.r8.internal.s10:
    java.util.Set predecessors -> c
    java.util.Set successors -> d
    com.android.tools.r8.ir.code.Value value -> a
    java.util.Set label -> b
    1:1:void <init>(com.android.tools.r8.ir.code.Value):76:76 -> <init>
    2:8:void <init>(com.android.tools.r8.ir.code.Value):72:78 -> <init>
    1:1:java.util.Set access$000(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):68:68 -> a
    2:2:void addLabel(java.util.Set):82:82 -> a
    3:3:java.util.Set getSuccessors():86:86 -> a
    4:5:boolean hasSuccessorThatMatches(java.util.function.Predicate):90:91 -> a
    1:1:java.util.Set access$100(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):68:68 -> b
    1:1:java.util.Set access$200(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):68:68 -> c
    1:1:com.android.tools.r8.ir.code.Value access$300(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):68:68 -> d
    1:12:void moveEdgesTo(com.android.tools.r8.ir.analysis.environmentdependence.ValueGraph$Node):99:110 -> e
com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption -> com.android.tools.r8.internal.B4:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.ProgramMethod context -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():36:36 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):42:45 -> <init>
    1:1:boolean isSubsumedBy(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):49:49 -> a
    2:5:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):56:59 -> a
    6:6:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):58:58 -> a
    7:7:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):57:57 -> a
    8:14:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.definesValueWithNonLocalUsages(com.android.tools.r8.ir.code.Instruction):184:190 -> a
    8:14:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):65 -> a
    15:17:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):70:72 -> a
    18:30:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):71:83 -> a
    31:52:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.passesIdenticalValuesForPhis(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):271:292 -> a
    31:52:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):82 -> a
    53:53:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.passesIdenticalValuesForPhis(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):291:291 -> a
    53:53:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):82 -> a
    54:70:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):85:101 -> a
    71:72:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):45:46 -> a
    71:72:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):101 -> a
    73:99:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):103:129 -> a
    100:105:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):128:133 -> a
    106:107:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):45:46 -> a
    106:107:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):134 -> a
    108:137:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):138:167 -> a
    138:138:boolean isSubsumedBy(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.InstructionIterator,java.util.Set):166:166 -> a
    139:140:boolean instructionMayHaveSideEffects(com.android.tools.r8.ir.code.Instruction):199:200 -> a
    141:149:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):204:212 -> a
    150:155:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):216:221 -> a
    150:155:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    156:156:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    156:156:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):225 -> a
    156:156:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    157:157:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    157:157:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):226 -> a
    157:157:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    158:169:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):229:240 -> a
    158:169:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    170:170:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    170:170:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):243 -> a
    170:170:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    171:171:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    171:171:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):244 -> a
    171:171:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    172:174:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):247:249 -> a
    172:174:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    175:175:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    175:175:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):252 -> a
    175:175:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    176:176:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    176:176:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):253 -> a
    176:176:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    177:179:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.instructionsDefineIdenticalValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):256:258 -> a
    177:179:boolean valuesAreIdentical(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):212 -> a
    1:7:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.definesValueWithNonLocalUsages(com.android.tools.r8.ir.code.Instruction):184:190 -> b
    1:7:boolean com.android.tools.r8.ir.analysis.equivalence.BasicBlockBehavioralSubsumption.definesBlockLocalValue(com.android.tools.r8.ir.code.Instruction):180 -> b
    1:7:boolean isBlockLocalInstructionWithoutSideEffects(com.android.tools.r8.ir.code.Instruction):176 -> b
    8:8:boolean isBlockLocalInstructionWithoutSideEffects(com.android.tools.r8.ir.code.Instruction):176:176 -> b
com.android.tools.r8.ir.analysis.escape.EscapeAnalysis -> com.android.tools.r8.internal.ij:
    java.util.Deque valuesToTrack -> d
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set trackedValues -> c
    com.android.tools.r8.ir.analysis.escape.EscapeAnalysisConfiguration configuration -> b
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysisConfiguration):44:44 -> <init>
    2:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysisConfiguration):35:46 -> <init>
    1:1:boolean lambda$isEscaping$0(com.android.tools.r8.utils.Box,com.android.tools.r8.ir.code.Instruction):61:61 -> a
    2:10:java.util.Set computeEscapeRoutes(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):74:82 -> a
    11:11:boolean lambda$computeEscapeRoutes$1(com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder,com.android.tools.r8.ir.code.Instruction):79:79 -> a
    12:31:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):87:106 -> a
    32:48:boolean com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.processValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.function.Predicate):126:142 -> a
    32:48:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):109 -> a
    49:77:boolean com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.isDirectlyEscaping(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,java.util.List):180:208 -> a
    49:77:boolean com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.processValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.function.Predicate):142 -> a
    49:77:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):109 -> a
    78:93:boolean com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.processValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.function.Predicate):143:158 -> a
    78:93:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):109 -> a
    94:98:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.getPropagatedSubject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):218:222 -> a
    94:98:boolean com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.processValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.function.Predicate):161 -> a
    94:98:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):109 -> a
    99:100:boolean com.android.tools.r8.ir.analysis.escape.EscapeAnalysis.processValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.function.Predicate):163:164 -> a
    99:100:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):109 -> a
    101:102:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.function.Predicate):115:116 -> a
    103:105:void addToWorklist(com.android.tools.r8.ir.code.Value):171:173 -> a
    1:9:boolean isEscaping(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):56:64 -> b
    10:10:boolean isValueOfInterestOrAlias(com.android.tools.r8.ir.code.Value):214:214 -> b
com.android.tools.r8.ir.analysis.escape.EscapeAnalysisConfiguration -> com.android.tools.r8.internal.jj:
    boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod) -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldAccessAnalysis -> com.android.tools.r8.internal.Bj:
    com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis fieldReadForInvokeReceiverAnalysis -> d
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker fieldAssignmentTracker -> b
    com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis fieldBitAccessAnalysis -> c
    com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis fieldReadForWriteAnalysis -> e
    1:8:void <init>(com.android.tools.r8.graph.AppView):33:40 -> <init>
    9:14:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker,com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis,com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis,com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis):49:54 -> <init>
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker fieldAssignmentTracker():58:58 -> a
    2:3:void acceptClassInitializerDefaultsResult(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):63:64 -> a
    4:23:void recordFieldAccesses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):73:92 -> a
    24:29:void recordFieldAccesses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):91:96 -> a
    30:43:void recordFieldAccesses(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):95:108 -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker -> com.android.tools.r8.internal.Kj:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$FieldAccessGraph fieldAccessGraph -> d
    com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory -> a
    boolean $assertionsDisabled -> h
    java.util.Map fieldStates -> f
    com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$ObjectAllocationGraph objectAllocationGraph -> e
    java.util.Map abstractInstanceFieldValues -> g
    1:1:void <clinit>():59:59 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):82:82 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView):77:87 -> <init>
    1:1:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.isBottom():0:0 -> a
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):196 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.isUnknown():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):215 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):219:219 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.isArray():0:0 -> a
    4:4:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):221 -> a
    5:6:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):222:223 -> a
    7:7:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.isPrimitive():0:0 -> a
    7:7:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):226 -> a
    8:9:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):227:228 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.isClass():0:0 -> a
    10:10:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):231 -> a
    11:15:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):231:235 -> a
    16:16:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    16:16:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):235 -> a
    17:17:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):234:234 -> a
    18:31:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):197:210 -> a
    32:32:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    32:32:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):210 -> a
    33:34:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):210:211 -> a
    35:39:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$recordFieldPut$4(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):208:212 -> a
    40:42:void initialize():91:93 -> a
    43:55:void lambda$initializeAbstractInstanceFieldValues$0(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexProgramClass,java.util.Set):110:122 -> a
    56:56:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    56:56:void lambda$initializeAbstractInstanceFieldValues$0(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexProgramClass,java.util.Set):122 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    57:61:void lambda$initializeAbstractInstanceFieldValues$0(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexProgramClass,java.util.Set):123:127 -> a
    62:62:void lambda$initializeAbstractInstanceFieldValues$1(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.ProgramField):132:132 -> a
    63:63:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    63:63:void lambda$initializeAbstractInstanceFieldValues$1(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.ProgramField):132 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    64:66:void lambda$initializeAbstractInstanceFieldValues$1(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.ProgramField):133:135 -> a
    67:67:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    67:67:void lambda$initializeAbstractInstanceFieldValues$1(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.ProgramField):135 -> a
    68:68:void lambda$initializeAbstractInstanceFieldValues$1(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.ProgramField):135:135 -> a
    69:69:void acceptClassInitializerDefaultsResult(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):143:143 -> a
    70:71:void lambda$acceptClassInitializerDefaultsResult$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):145:146 -> a
    72:72:boolean com.android.tools.r8.graph.DexValue.isDefault(com.android.tools.r8.graph.DexType):412:412 -> a
    72:72:void lambda$acceptClassInitializerDefaultsResult$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):146 -> a
    73:74:void lambda$acceptClassInitializerDefaultsResult$3(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):149:150 -> a
    75:77:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):154:156 -> a
    78:78:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleDexItemBasedStringValue():0:0 -> a
    78:78:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):157 -> a
    79:83:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):156:160 -> a
    84:84:com.android.tools.r8.ir.analysis.type.NotNullDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNotNull():87:87 -> a
    84:84:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):160 -> a
    85:91:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):159:165 -> a
    92:92:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    92:92:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):165 -> a
    93:95:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):166:168 -> a
    96:101:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):167:172 -> a
    102:102:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    102:102:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState lambda$acceptClassInitializerDefaultsResult$2(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState):176 -> a
    103:104:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):182:183 -> a
    105:105:void recordFieldPut(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):192:192 -> a
    106:106:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.analysis.value.AbstractValueFactory.createZeroValue():49:49 -> a
    106:106:void recordFieldPut(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):192 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    107:107:void recordFieldPut(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):192:192 -> a
    108:108:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    108:108:void recordFieldPut(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):192 -> a
    109:111:void recordFieldPut(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):193:193 -> a
    112:119:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):240:247 -> a
    120:120:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    120:120:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):247 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    121:121:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    121:121:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):247 -> a
    122:164:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):250:292 -> a
    165:170:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):289:294 -> a
    171:171:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    171:171:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):294 -> a
    172:179:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):294:301 -> a
    180:193:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):298:311 -> a
    194:194:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    194:194:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):311 -> a
    195:219:void recordAllocationSite(com.android.tools.r8.ir.code.NewInstance,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):311:335 -> a
    220:220:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):340:340 -> a
    220:220:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    221:221:com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.bottom():14:14 -> a
    221:221:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):340 -> a
    221:221:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    222:225:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):340:343 -> a
    222:225:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    226:226:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.isClass():0:0 -> a
    226:226:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):346 -> a
    226:226:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    227:227:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    227:227:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):346 -> a
    227:227:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    228:237:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):346:355 -> a
    228:237:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    238:238:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60:60 -> a
    238:238:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):355 -> a
    238:238:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    239:239:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    239:239:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    239:239:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    239:239:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):355 -> a
    239:239:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    240:240:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65:65 -> a
    240:240:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    240:240:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):355 -> a
    240:240:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    241:249:void com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker.recordAllFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):356:364 -> a
    241:249:void lambda$waveDone$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.ProgramField):437 -> a
    250:250:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):370:370 -> a
    251:251:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexClassAndField):1003:1003 -> a
    251:251:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):370 -> a
    252:260:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):371:379 -> a
    261:261:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection.get(com.android.tools.r8.graph.DexClassAndField):42:42 -> a
    261:261:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):379 -> a
    262:267:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):380:385 -> a
    268:268:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.analysis.value.AbstractValue.join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,com.android.tools.r8.graph.DexType):180:180 -> a
    268:268:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):382 -> a
    269:278:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):386:395 -> a
    279:286:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):394:401 -> a
    287:287:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    287:287:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):401 -> a
    288:291:void recordAllInstanceFieldPutsProcessed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):401:404 -> a
    292:292:void lambda$recordAllAllocationsSitesProcessed$5(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.AppInfoWithLivenessModifier):421:421 -> a
    293:301:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):434:442 -> a
    302:302:void lambda$waveDone$7(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.graph.DexProgramClass):439:439 -> a
    1:27:void initializeAbstractInstanceFieldValues():104:130 -> b
    28:28:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> b
    28:28:void initializeAbstractInstanceFieldValues():130 -> b
    29:29:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> b
    29:29:void initializeAbstractInstanceFieldValues():130 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:39:void recordAllAllocationsSitesProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):411:420 -> b
    40:40:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> b
    40:40:void recordAllAllocationsSitesProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):420 -> b
    41:47:void recordAllAllocationsSitesProcessed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):421:427 -> b
com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$FieldAccessGraph -> com.android.tools.r8.internal.Ij:
    java.util.Map fieldWrites -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap pendingFieldWrites -> b
    1:1:void <init>():454:454 -> <init>
    2:5:void <init>():448:451 -> <init>
    1:2:void initialize(com.android.tools.r8.graph.AppView):458:459 -> a
    3:13:void lambda$initialize$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfo):462:472 -> a
    14:14:java.util.List lambda$initialize$0(com.android.tools.r8.graph.DexEncodedMethod):470:470 -> a
    15:16:void lambda$initialize$1(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):470:471 -> a
    17:24:void markProcessed(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):478:485 -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldAssignmentTracker$ObjectAllocationGraph -> com.android.tools.r8.internal.Jj:
    java.util.Map objectAllocations -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap pendingObjectAllocations -> b
    1:1:void <init>():502:502 -> <init>
    2:6:void <init>():495:499 -> <init>
    1:2:void initialize(com.android.tools.r8.graph.AppView):506:507 -> a
    3:6:void lambda$initialize$1(com.android.tools.r8.graph.DexProgramClass,java.util.Set):509:512 -> a
    7:7:java.util.List lambda$initialize$0(com.android.tools.r8.graph.DexEncodedMethod):510:510 -> a
    8:15:void markProcessed(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):518:525 -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis -> com.android.tools.r8.internal.Lj:
    1:1:void <init>():16:16 -> <init>
    1:9:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):20:28 -> a
    10:18:int com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis.computeBitsRead(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField):34:42 -> a
    10:18:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):29 -> a
    19:19:boolean com.android.tools.r8.ir.code.Instruction.isAnd():0:0 -> a
    19:19:int com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis.computeBitsRead(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField):45 -> a
    19:19:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):29 -> a
    20:30:int com.android.tools.r8.ir.analysis.fieldaccess.FieldBitAccessAnalysis.computeBitsRead(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField):46:56 -> a
    20:30:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):29 -> a
    31:31:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):29:29 -> a
    32:48:boolean isOnlyUsedToUpdateFieldValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexEncodedField):66:82 -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis -> com.android.tools.r8.internal.ck:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():22:22 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):26:27 -> <init>
    1:1:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    1:1:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):35 -> a
    2:3:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):39:40 -> a
    4:4:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):50:50 -> a
    4:4:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    5:8:boolean com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.enqueueUsersForAnalysis(com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):85:88 -> a
    5:8:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):51 -> a
    5:8:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    9:12:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):54:57 -> a
    9:12:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    13:13:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    13:13:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):57 -> a
    13:13:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    14:14:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    14:14:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    15:18:boolean com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.enqueueUsersForAnalysis(com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):85:88 -> a
    15:18:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):58 -> a
    15:18:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    19:28:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):62:71 -> a
    19:28:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    29:29:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    29:29:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):71 -> a
    29:29:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    30:30:java.util.Set com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForInvokeReceiverAnalysis.getMethods(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):76:76 -> a
    30:30:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):40 -> a
    31:35:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.graph.ProgramMethod):41:45 -> a
    36:36:void lambda$recordFieldAccess$0(java.util.Set,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata$Builder):46:46 -> a
com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis -> com.android.tools.r8.internal.dk:
    com.android.tools.r8.graph.AppView appView -> a
    1:2:void <init>(com.android.tools.r8.graph.AppView):24:25 -> <init>
    1:7:void recordFieldAccess(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder):32:38 -> a
    8:8:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):43:43 -> a
    9:12:boolean com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis.enqueueUsersForAnalysis(com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):75:78 -> a
    9:12:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):44 -> a
    13:23:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):48:58 -> a
    24:24:boolean com.android.tools.r8.graph.DexField.match(com.android.tools.r8.graph.DexField):181:181 -> a
    24:24:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):58 -> a
    25:27:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):59:61 -> a
    28:28:boolean com.android.tools.r8.graph.ProgramField.isStructurallyEqualTo(com.android.tools.r8.graph.ProgramField):27:27 -> a
    28:28:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):62 -> a
    29:29:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):51:51 -> a
    30:33:boolean com.android.tools.r8.ir.analysis.fieldaccess.FieldReadForWriteAnalysis.enqueueUsersForAnalysis(com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):75:78 -> a
    30:33:boolean isValueOnlyUsedToWriteField(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramField):51 -> a
com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor -> com.android.tools.r8.internal.iZ:
    java.util.Set nonConstantFields -> g
    java.util.Map dependencies -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map readFields -> d
    boolean $assertionsDisabled -> i
    java.util.Set constantFields -> f
    com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder postMethodProcessorBuilder -> b
    com.android.tools.r8.utils.collections.ProgramMethodSet methodsToReprocess -> h
    java.util.Map writtenFields -> e
    1:1:void <clinit>():48:48 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder):79:79 -> <init>
    2:24:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder):59:81 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> a
    2:7:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):87:92 -> a
    8:21:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.computeFieldsWithNonTrivialValue():128:141 -> a
    8:21:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):93 -> a
    22:22:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.computeFieldsWithNonTrivialValue():138:138 -> a
    22:22:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):93 -> a
    23:46:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.computeFieldsWithNonTrivialValue():134:157 -> a
    23:46:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):93 -> a
    47:49:boolean com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.verifyNoConstantFieldsOnSynthesizedClasses(com.android.tools.r8.graph.AppView):301:303 -> a
    47:49:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.computeFieldsWithNonTrivialValue():157 -> a
    47:49:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):93 -> a
    50:56:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):94:100 -> a
    57:59:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):161:163 -> a
    57:59:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    60:60:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    60:60:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):163 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    60:60:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    61:64:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):163:166 -> a
    61:64:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    65:65:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    65:65:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):166 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    65:65:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    66:69:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):166:169 -> a
    66:69:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    70:70:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    70:70:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):169 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    70:70:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    71:71:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor.clearReadsAndWritesFromFieldsOfInterest(com.android.tools.r8.shaking.AppInfoWithLiveness):169:169 -> a
    71:71:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):101 -> a
    72:77:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.utils.Timing):102:107 -> a
    78:81:void markFieldAsDead(com.android.tools.r8.graph.DexEncodedField):120:123 -> a
    82:84:void enqueueMethodsForReprocessing(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.concurrent.ExecutorService):175:177 -> a
    85:91:void enqueueMethodsForReprocessing(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.concurrent.ExecutorService):176:182 -> a
    92:92:void processClass(com.android.tools.r8.graph.DexProgramClass):186:186 -> a
    93:93:void lambda$processClass$0(com.android.tools.r8.graph.ProgramMethod):188:188 -> a
    94:94:com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$FieldClassification classifyField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView):194:194 -> a
    95:95:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    95:95:com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$FieldClassification classifyField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView):194 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    96:120:com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$FieldClassification classifyField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView):196:220 -> a
    121:129:void processFieldsNeverRead(com.android.tools.r8.shaking.AppInfoWithLiveness):227:235 -> a
    130:130:boolean lambda$processFieldsNeverRead$1(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):232:232 -> a
    131:131:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> a
    131:131:boolean lambda$processFieldsNeverRead$1(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):232 -> a
    132:132:boolean lambda$processFieldsNeverRead$1(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):234:234 -> a
    133:133:boolean lambda$processFieldsNeverRead$1(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):233:233 -> a
    134:135:void lambda$processFieldsNeverRead$2(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):237:238 -> a
    136:136:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    136:136:void lambda$processFieldsNeverRead$2(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):238 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    137:139:void lambda$processFieldsNeverRead$2(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):238:240 -> a
    140:142:void lambda$processFieldsNeverRead$2(com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):239:241 -> a
    143:145:void lambda$processFieldsNeverWritten$4(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):256:258 -> a
    146:148:void lambda$processFieldsNeverWritten$4(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AbstractAccessContexts):257:259 -> a
    149:151:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):267:269 -> a
    152:152:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    152:152:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):269 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    153:167:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):271:285 -> a
    168:168:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexEncodedField.getTypeElement(com.android.tools.r8.graph.AppView):170:170 -> a
    168:168:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):285 -> a
    169:169:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexField.getTypeElement(com.android.tools.r8.graph.AppView):74:74 -> a
    169:169:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexEncodedField.getTypeElement(com.android.tools.r8.graph.AppView):170 -> a
    169:169:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):285 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    170:170:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexField.getTypeElement(com.android.tools.r8.graph.AppView):74:74 -> a
    170:170:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexEncodedField.getTypeElement(com.android.tools.r8.graph.AppView):170 -> a
    170:170:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):285 -> a
    171:176:boolean canOptimizeOnlyReadOrWrittenField(com.android.tools.r8.graph.DexEncodedField,boolean,com.android.tools.r8.graph.FieldAccessInfoCollection):285:290 -> a
    1:1:java.util.Map access$100(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> b
    2:5:void markWriteOnlyFieldAsDead(com.android.tools.r8.graph.DexEncodedField):111:114 -> b
    6:6:void markWriteOnlyFieldAsDead(com.android.tools.r8.graph.DexEncodedField):113:113 -> b
    7:15:void processFieldsNeverWritten(com.android.tools.r8.shaking.AppInfoWithLiveness):246:254 -> b
    16:16:boolean lambda$processFieldsNeverWritten$3(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):251:251 -> b
    17:17:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> b
    17:17:boolean lambda$processFieldsNeverWritten$3(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):251 -> b
    18:18:boolean lambda$processFieldsNeverWritten$3(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):253:253 -> b
    19:19:boolean lambda$processFieldsNeverWritten$3(com.android.tools.r8.graph.FieldAccessInfoCollection,java.util.Map$Entry):252:252 -> b
    1:1:java.util.Map access$200(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> c
    1:1:java.util.Map access$300(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> d
    1:1:java.util.Set access$400(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> e
    1:1:java.util.Set access$500(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> f
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet access$600(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor):48:48 -> g
com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry -> com.android.tools.r8.internal.hZ:
    com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor this$0 -> e
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():309:309 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor,com.android.tools.r8.graph.ProgramMethod):311:312 -> <init>
    void registerInvokeDirect(com.android.tools.r8.graph.DexMethod) -> a
    1:12:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):320:331 -> a
    13:13:boolean com.android.tools.r8.graph.FieldResolutionResult.isSingleProgramFieldResolutionResult():0:0 -> a
    13:13:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):332 -> a
    14:14:boolean com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.isUnusedReadAfterMethodStaticizing(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):374:374 -> a
    14:14:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):338 -> a
    15:15:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.isUnusedReadAfterMethodStaticizing(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):375 -> a
    15:15:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):338 -> a
    16:30:boolean com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.isUnusedReadAfterMethodStaticizing(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):375:389 -> a
    16:30:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):338 -> a
    31:50:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):340:359 -> a
    51:54:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.destroyFieldAccessContexts(com.android.tools.r8.graph.DexEncodedField):430:433 -> a
    51:54:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):362 -> a
    55:57:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):366:368 -> a
    58:59:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.recordAccessThatCannotBeOptimized(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexEncodedField):398:399 -> a
    58:59:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):333 -> a
    60:63:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.destroyFieldAccessContexts(com.android.tools.r8.graph.DexEncodedField):430:433 -> a
    60:63:void com.android.tools.r8.ir.analysis.fieldaccess.TrivialFieldAccessReprocessor$TrivialFieldAccessUseRegistry.recordAccessThatCannotBeOptimized(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexEncodedField):400 -> a
    60:63:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean,boolean,com.android.tools.r8.graph.bytecodemetadata.BytecodeInstructionMetadata):333 -> a
    64:67:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):408:411 -> a
    68:68:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> a
    68:68:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):411 -> a
    69:71:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):413:415 -> a
    72:72:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> a
    72:72:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):415 -> a
    73:74:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):415:416 -> a
    75:75:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    75:75:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):417 -> a
    76:80:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):419:423 -> a
    81:81:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    81:81:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):423 -> a
    82:83:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):423:424 -> a
    84:84:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    84:84:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):424 -> a
    85:87:void recordFieldAccessContext(com.android.tools.r8.graph.DexEncodedField,java.util.Map,java.util.Map):424:426 -> a
    88:88:com.android.tools.r8.graph.AbstractAccessContexts lambda$recordFieldAccessContext$0(com.android.tools.r8.graph.DexEncodedField):414:414 -> a
    89:89:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):438:438 -> a
    90:91:void registerInstanceFieldReadInstruction(com.android.tools.r8.code.CfOrDexInstanceFieldRead):444:445 -> a
    92:93:void registerStaticFieldReadInstruction(com.android.tools.r8.code.CfOrDexStaticFieldRead):461:462 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    void registerInvokeInterface(com.android.tools.r8.graph.DexMethod) -> b
    void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):450:450 -> c
    void registerInvokeStatic(com.android.tools.r8.graph.DexMethod) -> d
    void registerNewInstance(com.android.tools.r8.graph.DexType) -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):455:455 -> e
    void registerInvokeSuper(com.android.tools.r8.graph.DexMethod) -> f
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):467:467 -> g
com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState -> com.android.tools.r8.internal.I5:
    com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState INSTANCE -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):23:23 -> a
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.BottomFieldState getInstance():18:18 -> e
com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteArrayTypeFieldState -> com.android.tools.r8.internal.Jc:
    1:1:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue):20:20 -> <init>
    com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteArrayTypeFieldState asArray() -> a
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):24:24 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):25 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):26:26 -> a
    4:5:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):40:41 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.analysis.value.AbstractValue.joinReference(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):188:188 -> a
    6:6:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):41:41 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteArrayTypeFieldState.isEffectivelyUnknown():46:46 -> a
    8:8:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):42 -> a
    9:9:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    9:9:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):42 -> a
com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteClassTypeFieldState -> com.android.tools.r8.internal.Mc:
    com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> b
    1:2:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):20:21 -> <init>
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):25:25 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):26 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):27:27 -> a
    4:5:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.ProgramField):49:50 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.analysis.value.AbstractValue.joinReference(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):188:188 -> a
    6:6:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.ProgramField):50 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:12:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.ProgramField):50:55 -> a
    13:13:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.ProgramField):54:54 -> a
    14:14:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteClassTypeFieldState.isEffectivelyUnknown():60:60 -> a
    14:14:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.ProgramField):56 -> a
    15:15:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    15:15:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.ProgramField):56 -> a
    com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteClassTypeFieldState asClass() -> b
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():31:31 -> e
com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteFieldState -> com.android.tools.r8.internal.Oc:
    1:1:void <init>():8:8 -> <init>
    boolean isConcrete() -> d
com.android.tools.r8.ir.analysis.fieldaccess.state.ConcretePrimitiveTypeFieldState -> com.android.tools.r8.internal.Yc:
    com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> a
    1:2:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue):15:16 -> <init>
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):20:20 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):21 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState create(com.android.tools.r8.ir.analysis.value.AbstractValue):22:22 -> a
    4:4:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):27:27 -> a
    5:5:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):42:42 -> a
    6:6:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    6:6:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):43 -> a
    7:7:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):45:45 -> a
    8:8:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.analysis.value.AbstractValue.joinPrimitive(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):184:184 -> a
    8:8:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):45 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):45:45 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.fieldaccess.state.ConcretePrimitiveTypeFieldState.isEffectivelyUnknown():50:50 -> a
    10:10:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):46 -> a
    11:11:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState.unknown():18:18 -> a
    11:11:com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState mutableJoin(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory):46 -> a
    com.android.tools.r8.ir.analysis.fieldaccess.state.ConcretePrimitiveTypeFieldState asPrimitive() -> c
com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteReferenceTypeFieldState -> com.android.tools.r8.internal.bd:
    com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> a
    1:2:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue):15:16 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):21:21 -> a
com.android.tools.r8.ir.analysis.fieldaccess.state.FieldState -> com.android.tools.r8.internal.kk:
    1:1:void <init>():11:11 -> <init>
    com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteArrayTypeFieldState asArray() -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory) -> a
    com.android.tools.r8.ir.analysis.fieldaccess.state.ConcreteClassTypeFieldState asClass() -> b
    com.android.tools.r8.ir.analysis.fieldaccess.state.ConcretePrimitiveTypeFieldState asPrimitive() -> c
    boolean isConcrete() -> d
com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState -> com.android.tools.r8.internal.J00:
    com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState INSTANCE -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):23:23 -> a
    2:2:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):23 -> a
    1:1:com.android.tools.r8.ir.analysis.fieldaccess.state.UnknownFieldState getInstance():18:18 -> e
com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet -> com.android.tools.r8.internal.s:
    1:1:void <init>():30:30 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet asConcreteFieldSet() -> a
    boolean contains(com.android.tools.r8.graph.DexEncodedField) -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems) -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet asKnownFieldSet() -> b
    boolean isEmpty() -> c
    boolean isKnownFieldSet() -> d
com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet -> com.android.tools.r8.internal.Tc:
    java.util.Set fields -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():21:21 -> <clinit>
    1:2:void <init>():25:26 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexEncodedField):29:30 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet asConcreteFieldSet() -> a
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet addAll(com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet):38:38 -> a
    2:2:boolean contains(com.android.tools.r8.graph.DexEncodedField):71:71 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):77:77 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet.isEmpty():113:113 -> a
    4:4:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):77 -> a
    5:15:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):77:87 -> a
    16:16:com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet.addAll(com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet):38:38 -> a
    16:16:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet.addAll(com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet):38:38 -> a
    17:17:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):87 -> a
    18:18:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):93:93 -> a
    19:19:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet.isEmpty():113:113 -> a
    19:19:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):93 -> a
    20:26:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):93:99 -> a
    27:27:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    27:27:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):99 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    28:28:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):100:100 -> a
    29:29:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    29:29:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):100 -> a
    30:32:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):101:103 -> a
    33:33:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet.add(com.android.tools.r8.graph.DexEncodedField):34:34 -> a
    33:33:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):106 -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet asKnownFieldSet() -> b
    1:1:void add(com.android.tools.r8.graph.DexEncodedField):34:34 -> b
    1:1:boolean isEmpty():113:113 -> c
    1:4:java.util.Set getFields():43:46 -> e
    1:5:boolean equals(java.lang.Object):131:135 -> equals
    1:1:int hashCode():123:123 -> hashCode
    1:1:int size():118:118 -> size
com.android.tools.r8.ir.analysis.fieldvalueanalysis.EmptyFieldSet -> com.android.tools.r8.internal.Vh:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.EmptyFieldSet INSTANCE -> a
    1:3:void <clinit>():15:17 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    boolean contains(com.android.tools.r8.graph.DexEncodedField) -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems) -> a
    1:24:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):48:71 -> a
    25:34:void lambda$fixupReadSetAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet,int,com.android.tools.r8.graph.proto.ArgumentInfo):56:65 -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet asKnownFieldSet() -> b
    boolean isEmpty() -> c
    boolean isKnownFieldSet() -> d
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.EmptyFieldSet getInstance():22:22 -> e
com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis -> com.android.tools.r8.internal.mk:
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> d
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.code.DominatorTree dominatorTree -> e
    com.android.tools.r8.ir.code.IRCode code -> b
    boolean $assertionsDisabled -> h
    java.util.Map fieldsMaybeReadBeforeBlockInclusiveCache -> f
    java.util.Map putsPerField -> g
    com.android.tools.r8.graph.ProgramMethod context -> c
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):61:61 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):58:65 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis asInstanceFieldValueAnalysis() -> a
    boolean isSubjectToOptimization(com.android.tools.r8.graph.DexEncodedField) -> a
    void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value) -> a
    1:3:void recordFieldPut(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):108:110 -> a
    4:20:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):115:131 -> a
    21:21:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.recordFieldPut(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):103:103 -> a
    21:21:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):132 -> a
    22:22:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.isStaticFieldValueAnalysis():0:0 -> a
    22:22:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):133 -> a
    23:24:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):134:135 -> a
    25:25:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.recordFieldPut(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):103:103 -> a
    25:25:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):136 -> a
    26:26:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.isInstanceFieldValueAnalysis():0:0 -> a
    26:26:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):139 -> a
    27:51:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):139:163 -> a
    52:53:boolean com.android.tools.r8.ir.code.DominatorTree.dominatesAllOf(com.android.tools.r8.ir.code.BasicBlock,java.lang.Iterable):118:119 -> a
    52:53:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):163 -> a
    54:54:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):168:168 -> a
    55:55:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):188:188 -> a
    55:55:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):169 -> a
    56:56:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlock(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):213:213 -> a
    56:56:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):191 -> a
    56:56:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):169 -> a
    57:60:java.util.Map com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.getOrCreateFieldsMaybeReadBeforeBlockInclusive():76:79 -> a
    57:60:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlockInclusive(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):223 -> a
    57:60:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlock(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):214 -> a
    57:60:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):191 -> a
    57:60:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):169 -> a
    61:61:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlockInclusive(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):223:223 -> a
    61:61:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeBlock(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.BasicBlock):214 -> a
    61:61:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):191 -> a
    61:61:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):169 -> a
    62:68:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.fieldMaybeReadBeforeInstruction(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Instruction):197:203 -> a
    62:68:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):169 -> a
    69:69:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.isStaticFieldValueAnalysis():0:0 -> a
    69:69:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):171 -> a
    70:76:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):176:182 -> a
    77:77:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet lambda$createFieldsMaybeReadBeforeBlockInclusive$1(com.android.tools.r8.ir.code.BasicBlock):237:237 -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis asStaticFieldValueAnalysis() -> b
    boolean isSubjectToOptimizationIgnoringPinning(com.android.tools.r8.graph.DexEncodedField) -> b
    1:1:java.util.List lambda$recordFieldPut$0(com.android.tools.r8.graph.DexEncodedField):109:109 -> c
    2:9:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():231:238 -> c
    10:10:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> c
    10:10:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():238 -> c
    11:22:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():243:254 -> c
    23:23:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> c
    23:23:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():254 -> c
    24:24:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> c
    24:24:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():257 -> c
    25:25:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():261:261 -> c
    26:26:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isConcreteFieldSet():0:0 -> c
    26:26:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():261 -> c
    27:28:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():261:262 -> c
    29:29:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isConcreteFieldSet():0:0 -> c
    29:29:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():262 -> c
    30:39:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():263:272 -> c
    40:42:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.verifyFieldSetContainsAllFieldReadsInBlock(com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.ProgramMethod):316:318 -> c
    40:42:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():272 -> c
    43:43:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> c
    43:43:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.verifyFieldSetContainsAllFieldReadsInBlock(com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.ProgramMethod):318 -> c
    43:43:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():272 -> c
    44:45:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.verifyFieldSetContainsAllFieldReadsInBlock(com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.ProgramMethod):318:319 -> c
    44:45:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():272 -> c
    46:46:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> c
    46:46:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.verifyFieldSetContainsAllFieldReadsInBlock(com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.ProgramMethod):319 -> c
    46:46:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():272 -> c
    47:48:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis.verifyFieldSetContainsAllFieldReadsInBlock(com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.ProgramMethod):322:323 -> c
    47:48:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():272 -> c
    49:51:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():274:276 -> c
    52:52:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> c
    52:52:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():276 -> c
    53:53:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> c
    53:53:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():279 -> c
    54:54:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():283:283 -> c
    55:55:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isConcreteFieldSet():0:0 -> c
    55:55:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():283 -> c
    56:80:java.util.Map createFieldsMaybeReadBeforeBlockInclusive():284:308 -> c
    1:4:com.android.tools.r8.ir.code.DominatorTree getOrCreateDominatorTree():69:72 -> d
com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis$FieldInitializationInfo -> com.android.tools.r8.internal.lk:
    com.android.tools.r8.ir.code.Instruction instruction -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo instanceFieldInitializationInfo -> b
    1:3:void <init>(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):44:46 -> <init>
    1:1:com.android.tools.r8.ir.code.Instruction access$000(com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis$FieldInitializationInfo):38:38 -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo access$100(com.android.tools.r8.ir.analysis.fieldvalueanalysis.FieldValueAnalysis$FieldInitializationInfo):38:38 -> b
com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis -> com.android.tools.r8.internal.Zp:
    boolean $assertionsDisabled -> m
    com.android.tools.r8.graph.DexClassAndMethod parentConstructor -> k
    com.android.tools.r8.ir.code.InvokeDirect parentConstructorCall -> l
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory factory -> j
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder builder -> i
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.InvokeDirect):55:55 -> <init>
    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.InvokeDirect):42:58 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis asInstanceFieldValueAnalysis() -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection run(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):71:71 -> a
    2:27:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.run(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):83:108 -> a
    2:27:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection run(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):73 -> a
    28:28:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection run(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):74:74 -> a
    29:29:boolean isSubjectToOptimization(com.android.tools.r8.graph.DexEncodedField):123:123 -> a
    30:30:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):133:133 -> a
    31:31:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    31:31:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenInstancePutAndMethodExit(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.InstancePut):232 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    31:31:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):133 -> a
    32:32:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    32:32:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenInstancePutAndMethodExit(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.InstancePut):232 -> a
    32:32:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):133 -> a
    33:65:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenInstancePutAndMethodExit(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.InstancePut):236:268 -> a
    33:65:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):133 -> a
    66:66:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.recordInstanceFieldIsInitializedWithValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):227:227 -> a
    66:66:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):134 -> a
    67:67:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.recordInstanceFieldIsInitializedWithValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):226:226 -> a
    67:67:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):134 -> a
    68:74:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):139:145 -> a
    75:75:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    75:75:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):145 -> a
    76:81:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):153:158 -> a
    82:86:java.util.List com.android.tools.r8.graph.DexClass.getDirectAndIndirectInstanceFields(com.android.tools.r8.graph.AppView):1210:1214 -> a
    82:86:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):158 -> a
    87:93:void analyzeForwardingConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.code.Value):158:164 -> a
    94:105:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInstanceFieldInitializationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):197:208 -> a
    106:106:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.code.Value.getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1154:1154 -> a
    106:106:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInstanceFieldInitializationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):208 -> a
    107:113:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo getInstanceFieldInitializationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):209:215 -> a
    114:114:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    114:114:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenParentConstructorCallAndMethodExit(com.android.tools.r8.graph.DexEncodedField):277 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    114:114:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):182 -> a
    115:115:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    115:115:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenParentConstructorCallAndMethodExit(com.android.tools.r8.graph.DexEncodedField):277 -> a
    115:115:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):182 -> a
    116:116:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.fieldNeverWrittenBetweenParentConstructorCallAndMethodExit(com.android.tools.r8.graph.DexEncodedField):280:280 -> a
    116:116:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):182 -> a
    117:120:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):183:186 -> a
    121:121:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.recordInstanceFieldIsInitializedWithValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):227:227 -> a
    121:121:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):185 -> a
    122:122:void com.android.tools.r8.ir.analysis.fieldvalueanalysis.InstanceFieldValueAnalysis.recordInstanceFieldIsInitializedWithValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):226:226 -> a
    122:122:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):185 -> a
    123:124:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):188:189 -> a
    125:125:void com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder.recordInitializationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):59:59 -> a
    125:125:void lambda$analyzeParentConstructorCall$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):189 -> a
    1:1:boolean isSubjectToOptimizationIgnoringPinning(com.android.tools.r8.graph.DexEncodedField):128:128 -> b
    2:3:void recordInstanceFieldIsInitializedWithInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):220:221 -> b
    4:4:void com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder.recordInitializationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):59:59 -> b
    4:4:void recordInstanceFieldIsInitializedWithInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):221 -> b
    1:11:void analyzeParentConstructorCall():169:179 -> e
com.android.tools.r8.ir.analysis.fieldvalueanalysis.KnownFieldSet -> com.android.tools.r8.internal.Wy:
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.ConcreteMutableFieldSet asConcreteFieldSet() -> a
    boolean contains(com.android.tools.r8.graph.DexEncodedField) -> a
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis -> com.android.tools.r8.internal.lW:
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder builder -> i
    boolean $assertionsDisabled -> k
    java.util.Map computedValues -> j
    1:1:void <clinit>():42:42 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):49:49 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):45:50 -> <init>
    1:6:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues run(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):59:64 -> a
    7:8:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.analyze(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):81:82 -> a
    7:8:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues run(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):65 -> a
    9:9:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues run(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):66:66 -> a
    10:12:void computeFieldOptimizationInfo(com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult):87:89 -> a
    13:23:void lambda$computeFieldOptimizationInfo$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):91:101 -> a
    24:32:void lambda$computeFieldOptimizationInfo$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):98:106 -> a
    33:33:void lambda$computeFieldOptimizationInfo$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):103:103 -> a
    34:34:boolean com.android.tools.r8.graph.DexValue.isDexItemBasedValueString():0:0 -> a
    34:34:void lambda$computeFieldOptimizationInfo$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):107 -> a
    35:35:void lambda$computeFieldOptimizationInfo$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexValue):110:110 -> a
    36:38:boolean isSubjectToOptimization(com.android.tools.r8.graph.DexEncodedField):117:119 -> a
    39:40:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.Value):133:134 -> a
    41:53:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):139:151 -> a
    54:54:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60:60 -> a
    54:54:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):151 -> a
    55:55:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    55:55:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    55:55:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    55:55:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):151 -> a
    56:56:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65:65 -> a
    56:56:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    56:56:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):151 -> a
    57:57:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):152:152 -> a
    58:58:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    58:58:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):152 -> a
    59:64:void updateFieldOptimizationInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):153:158 -> a
    65:71:void updateFieldOptimizationInfoWith2Values(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexValue):167:173 -> a
    72:74:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):177:179 -> a
    75:75:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):186:186 -> a
    75:75:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    76:76:boolean com.android.tools.r8.ir.code.Value.hasAliasedValue():204:204 -> a
    76:76:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):186 -> a
    76:76:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    77:77:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):186:186 -> a
    77:77:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    78:78:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleEnumFieldValue(com.android.tools.r8.ir.code.Value):206:206 -> a
    78:78:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):187 -> a
    78:78:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    79:79:boolean com.android.tools.r8.ir.code.Value.hasAliasedValue():204:204 -> a
    79:79:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleEnumFieldValue(com.android.tools.r8.ir.code.Value):209 -> a
    79:79:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):187 -> a
    79:79:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    80:84:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleEnumFieldValue(com.android.tools.r8.ir.code.Value):209:213 -> a
    80:84:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):187 -> a
    80:84:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    85:85:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    85:85:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleEnumFieldValue(com.android.tools.r8.ir.code.Value):213 -> a
    85:85:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):187 -> a
    85:85:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    86:89:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleEnumFieldValue(com.android.tools.r8.ir.code.Value):214:217 -> a
    86:89:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):187 -> a
    86:89:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    90:92:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):191:193 -> a
    90:92:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    93:93:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeObjectState(com.android.tools.r8.ir.code.Value):431:431 -> a
    93:93:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):193 -> a
    93:93:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    94:94:com.android.tools.r8.ir.analysis.value.SingleFieldValue com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeSingleFieldValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.Value):193:193 -> a
    94:94:com.android.tools.r8.ir.analysis.value.AbstractValue getOrComputeAbstractValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexEncodedField):180 -> a
    95:133:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):369:407 -> a
    134:136:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):397:399 -> a
    137:138:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):389:390 -> a
    139:140:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.isEnumValuesArray(com.android.tools.r8.ir.code.Value):435:436 -> a
    139:140:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):390 -> a
    141:141:boolean com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.isEnumValuesObjectState():0:0 -> a
    141:141:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.isEnumValuesArray(com.android.tools.r8.ir.code.Value):436 -> a
    141:141:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):390 -> a
    142:144:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):424:426 -> a
    145:145:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeObjectState(com.android.tools.r8.ir.code.Value):431:431 -> a
    145:145:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):426 -> a
    146:146:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForInstance(com.android.tools.r8.ir.code.Value):426:426 -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis asStaticFieldValueAnalysis() -> b
    1:5:boolean isSubjectToOptimizationIgnoringPinning(com.android.tools.r8.graph.DexEncodedField):124:128 -> b
    6:6:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):223:223 -> b
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> b
    7:7:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):223 -> b
    8:13:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):226:231 -> b
    14:14:boolean com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.isEnumValuesObjectState():0:0 -> b
    14:14:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):231 -> b
    15:17:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):237:239 -> b
    18:18:com.android.tools.r8.ir.analysis.value.SingleFieldValue computeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):238:238 -> b
    1:20:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):244:263 -> c
    21:21:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> c
    21:21:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):265 -> c
    22:58:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):265:301 -> c
    59:59:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):294:294 -> c
    60:71:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):268:279 -> c
    72:73:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):332:333 -> c
    72:73:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    74:74:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> c
    74:74:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):334 -> c
    74:74:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    75:77:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):336:338 -> c
    75:77:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    78:78:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeObjectState(com.android.tools.r8.ir.code.Value):431:431 -> c
    78:78:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):338 -> c
    78:78:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    79:79:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> c
    79:79:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):340 -> c
    79:79:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    80:80:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> c
    80:80:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):346 -> c
    80:80:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    81:81:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> c
    81:81:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.computeEnumInstanceObjectState(com.android.tools.r8.ir.code.Value):348 -> c
    81:81:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):279 -> c
    82:82:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):280:280 -> c
    83:86:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.valuesArrayIndexMatchesOrdinal(int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):352:355 -> c
    83:86:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):284 -> c
    87:87:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> c
    87:87:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.valuesArrayIndexMatchesOrdinal(int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):355 -> c
    87:87:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):284 -> c
    88:92:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.valuesArrayIndexMatchesOrdinal(int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):356:360 -> c
    88:92:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):284 -> c
    93:93:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> c
    93:93:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.valuesArrayIndexMatchesOrdinal(int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):361 -> c
    93:93:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):284 -> c
    94:94:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValueAnalysis.valuesArrayIndexMatchesOrdinal(int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):364:364 -> c
    94:94:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):284 -> c
    95:136:com.android.tools.r8.ir.analysis.value.SingleFieldValue internalComputeSingleEnumFieldValueForValuesArray(com.android.tools.r8.ir.code.Value):287:328 -> c
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues -> com.android.tools.r8.internal.rW:
    1:1:void <init>():15:15 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues asEnumStaticFieldValues() -> a
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder builder(com.android.tools.r8.graph.DexProgramClass):26:26 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues.builder():47:47 -> a
    2:2:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder builder(com.android.tools.r8.graph.DexProgramClass):26 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues.builder():114:114 -> a
    3:3:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder builder(com.android.tools.r8.graph.DexProgramClass):26 -> a
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$Builder -> com.android.tools.r8.internal.mW:
    1:1:void <init>():29:29 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues build() -> a
    void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory) -> a
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues -> com.android.tools.r8.internal.oW:
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues INSTANCE -> a
    1:1:void <clinit>():105:105 -> <clinit>
    1:1:void <init>():107:107 -> <init>
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues getInstance():110:110 -> b
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EmptyStaticValues$Builder -> com.android.tools.r8.internal.nW:
    1:1:void <init>():117:117 -> <init>
    void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory) -> a
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues build():127:127 -> a
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues -> com.android.tools.r8.internal.qW:
    com.android.tools.r8.com.google.common.collect.ImmutableMap enumAbstractValues -> a
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap):42:43 -> <init>
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues asEnumStaticFieldValues() -> a
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectStateForPossiblyPinnedField(com.android.tools.r8.graph.DexField):100:100 -> a
com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues$EnumStaticFieldValues$Builder -> com.android.tools.r8.internal.pW:
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder enumObjectStateBuilder -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue valuesCandidateAbstractValue -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():50:50 -> <clinit>
    1:1:void <init>():55:55 -> <init>
    2:2:void <init>():52:52 -> <init>
    1:3:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):60:62 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.isEnumValuesObjectState():0:0 -> a
    4:4:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):62 -> a
    5:7:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):63:63 -> a
    9:11:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):65:67 -> a
    12:19:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):66:73 -> a
    20:20:void recordStaticField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexItemFactory):72:72 -> a
    21:26:com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues build():80:85 -> a
com.android.tools.r8.ir.analysis.fieldvalueanalysis.UnknownFieldSet -> com.android.tools.r8.internal.I00:
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.UnknownFieldSet INSTANCE -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():18:18 -> <init>
    boolean contains(com.android.tools.r8.graph.DexEncodedField) -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet fixupReadSetAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems) -> a
    boolean isEmpty() -> c
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.UnknownFieldSet getInstance():21:21 -> e
com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState -> com.android.tools.r8.internal.p1:
    1:1:void <init>():10:10 -> <init>
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState) -> a
    boolean isAbstractState() -> b
com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractTransferFunction -> com.android.tools.r8.internal.s1:
    com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState) -> a
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState) -> a
com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult -> com.android.tools.r8.internal.se:
    1:1:void <init>():21:21 -> <init>
    com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult asSuccessfulAnalysisResult() -> a
com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$FailedDataflowAnalysisResult -> com.android.tools.r8.internal.qe:
    1:1:void <init>():65:65 -> <init>
com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult -> com.android.tools.r8.internal.re:
    java.util.Map blockExitStates -> a
    1:2:void <init>(java.util.Map):41:42 -> <init>
    com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult asSuccessfulAnalysisResult() -> a
    1:2:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join():47:48 -> b
com.android.tools.r8.ir.analysis.framework.intraprocedural.FailedTransferFunctionResult -> com.android.tools.r8.internal.yj:
    1:1:void <init>():16:16 -> <init>
    boolean isFailedTransferResult() -> a
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState():20:20 -> c
com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis -> com.android.tools.r8.internal.pu:
    java.util.Map blockExitStates -> c
    java.util.Map blockEntryStatesCache -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState bottom -> a
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractTransferFunction transfer -> b
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractTransferFunction):43:43 -> <init>
    2:12:void <init>(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractTransferFunction):35:45 -> <init>
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.Timing):53:53 -> a
    2:20:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):57:75 -> a
    21:21:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueSuccessorWithUniquePredecessor():213:213 -> a
    21:21:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):77 -> a
    22:28:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):78:84 -> a
    29:29:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):114:114 -> a
    29:29:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
    30:30:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueSuccessorWithUniquePredecessor():213:213 -> a
    30:30:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):114 -> a
    30:30:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    31:31:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueSuccessorWithUniquePredecessor():213:213 -> a
    31:31:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):114 -> a
    31:31:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
    32:33:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):114:115 -> a
    32:33:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
    34:34:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState.isGreaterThanOrEquals(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):16:16 -> a
    34:34:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):116 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
    35:35:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState.isGreaterThanOrEquals(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):17:17 -> a
    35:35:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):116 -> a
    35:35:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
    36:37:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.setBlockExitState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):116:117 -> a
    36:37:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):88 -> a
    38:38:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):89:89 -> a
    39:39:void com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.updateBlockEntryStateCacheForSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):121:121 -> a
    39:39:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):94 -> a
    40:40:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.shouldCacheBlockEntryStateFor(com.android.tools.r8.ir.code.BasicBlock):131:131 -> a
    40:40:void com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.updateBlockEntryStateCacheForSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):122 -> a
    40:40:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):94 -> a
    41:43:void com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.updateBlockEntryStateCacheForSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):123:125 -> a
    41:43:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):94 -> a
    44:44:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.utils.WorkList,com.android.tools.r8.utils.Timing):96:96 -> a
    45:45:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.shouldCacheBlockEntryStateFor(com.android.tools.r8.ir.code.BasicBlock):131:131 -> a
    45:45:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock):100 -> a
    45:45:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState lambda$run$0(com.android.tools.r8.ir.code.BasicBlock):64 -> a
    46:52:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock):101:107 -> a
    46:52:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState lambda$run$0(com.android.tools.r8.ir.code.BasicBlock):64 -> a
    53:55:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock):106:108 -> a
    53:55:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState lambda$run$0(com.android.tools.r8.ir.code.BasicBlock):64 -> a
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.ir.code.BasicBlock):49:49 -> b
    2:2:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis.run(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.Timing):53:53 -> b
    2:2:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult run(com.android.tools.r8.ir.code.BasicBlock):49 -> b
com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult -> com.android.tools.r8.internal.XY:
    boolean isFailedTransferResult() -> a
    boolean isAbstractState() -> b
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState() -> c
com.android.tools.r8.ir.analysis.inlining.AlwaysSimpleInliningConstraint -> com.android.tools.r8.internal.H1:
    com.android.tools.r8.ir.analysis.inlining.AlwaysSimpleInliningConstraint INSTANCE -> b
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():18:18 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
    boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod) -> a
com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint -> com.android.tools.r8.internal.cj:
    boolean value -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():17:17 -> <clinit>
    1:2:void <init>(int,boolean):22:23 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
    1:2:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint create(int,boolean,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):28:29 -> a
    3:3:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):37:37 -> a
    4:4:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):98:98 -> a
    4:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):98:98 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):37 -> a
    6:10:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):39:43 -> a
    11:15:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):42:46 -> a
    16:16:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    16:16:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):46 -> a
    17:23:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):47:53 -> a
    24:24:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint.withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):66:66 -> a
    24:24:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):53 -> a
    25:27:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):58:60 -> a
    28:28:boolean com.android.tools.r8.ir.code.ConstNumber.getBooleanValue():82:82 -> a
    28:28:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):60 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    29:29:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):60:60 -> a
com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint -> com.android.tools.r8.internal.dj:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(int,long):10:10 -> <init>
    1:2:com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint create(int,long,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):15:16 -> a
    3:3:boolean test(long):21:21 -> a
    4:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):27:27 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToNumberConstraint(int,long):94:94 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):27 -> a
com.android.tools.r8.ir.analysis.inlining.NeverSimpleInliningConstraint -> com.android.tools.r8.internal.EG:
    com.android.tools.r8.ir.analysis.inlining.NeverSimpleInliningConstraint INSTANCE -> b
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
    boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod) -> a
com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint -> com.android.tools.r8.internal.JH:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>(int,long):10:10 -> <init>
    1:2:com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint create(int,long,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):15:16 -> a
    3:3:boolean test(long):21:21 -> a
    4:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):27:27 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createNotEqualToNumberConstraint(int,long):89:89 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):27 -> a
com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint -> com.android.tools.r8.internal.QH:
    com.android.tools.r8.ir.analysis.type.Nullability nullability -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():20:20 -> <clinit>
    1:3:void <init>(int,com.android.tools.r8.ir.analysis.type.Nullability):25:27 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
    1:2:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint create(int,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):32:33 -> a
    3:10:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):41:48 -> a
    11:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):47:50 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    15:15:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):50 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:18:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):50:52 -> a
    19:19:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    19:19:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):53 -> a
    20:24:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):54:58 -> a
    25:25:com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToNumberConstraint(int,long):94:94 -> a
    25:25:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):58 -> a
    26:26:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):59:59 -> a
    27:27:com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createNotEqualToNumberConstraint(int,long):89:89 -> a
    27:27:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):59 -> a
    28:28:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):63:63 -> a
    29:29:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint.withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):87:87 -> a
    29:29:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):63 -> a
    30:43:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):68:81 -> a
com.android.tools.r8.ir.analysis.inlining.NumberSimpleInliningConstraint -> com.android.tools.r8.internal.ZH:
    long rawValue -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:2:void <init>(int,long):21:22 -> <init>
    boolean test(long) -> a
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):34:34 -> a
    2:2:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):98:98 -> a
    2:2:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):34 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):98:98 -> a
    3:3:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):34 -> a
    4:8:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):36:40 -> a
    9:13:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):39:43 -> a
    14:14:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    14:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):43 -> a
    15:21:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):43:49 -> a
    22:24:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):54:56 -> a
    1:1:long getRawValue():26:26 -> i
com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint -> com.android.tools.r8.internal.MU:
    int argumentIndex -> b
    1:2:void <init>(int):14:15 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint withArgumentIndex(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
    1:1:com.android.tools.r8.ir.code.Value getArgument(com.android.tools.r8.ir.code.InvokeMethod):19:19 -> b
    boolean isArgumentConstraint() -> d
    1:1:int getArgumentIndex():23:23 -> h
com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint -> com.android.tools.r8.internal.NU:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction asConjunction() -> a
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory) -> a
    boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod) -> a
    1:1:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):68 -> a
    2:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):69:71 -> a
    5:5:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):47 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    6:6:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):50:50 -> a
    6:6:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    7:7:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    7:7:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):50 -> a
    7:7:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    8:8:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):53 -> a
    8:8:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    9:9:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> a
    9:9:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):56 -> a
    9:9:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    10:10:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):57:57 -> a
    10:10:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    11:11:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> a
    11:11:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):59 -> a
    11:11:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    12:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):60:62 -> a
    12:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isDisjunction():0:0 -> a
    15:15:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):62 -> a
    15:15:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    16:17:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):62:63 -> a
    16:17:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    18:18:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isDisjunction():0:0 -> a
    18:18:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):63 -> a
    18:18:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    19:20:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):63:64 -> a
    19:20:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    21:21:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.meet(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):54:54 -> a
    21:21:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lazyMeet(java.util.function.Supplier):71 -> a
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction asDisjunction() -> b
    boolean isAlways() -> c
    boolean isArgumentConstraint() -> d
    boolean isConjunction() -> e
    boolean isDisjunction() -> f
    boolean isNever() -> g
com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis -> com.android.tools.r8.internal.PU:
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory factory -> a
    java.util.Set seen -> d
    com.android.tools.r8.utils.InternalOptions options -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.ProgramMethod method -> b
    1:1:void <clinit>():40:40 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):50:50 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):47:54 -> <init>
    1:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeCode(com.android.tools.r8.ir.code.IRCode):58:71 -> a
    15:16:int com.android.tools.r8.ir.code.IRCode.getNumberOfArguments():1086:1087 -> a
    15:16:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeCode(com.android.tools.r8.ir.code.IRCode):71 -> a
    17:18:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeCode(com.android.tools.r8.ir.code.IRCode):71:72 -> a
    19:28:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):82:91 -> a
    29:29:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    29:29:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):92 -> a
    30:94:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):95:159 -> a
    95:95:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):154:154 -> a
    96:96:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):108:108 -> a
    97:104:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis.getSingleArgumentOperand(com.android.tools.r8.ir.code.If):221:228 -> a
    97:104:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):109 -> a
    105:113:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):110:118 -> a
    114:126:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):117:129 -> a
    127:138:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):128:139 -> a
    139:149:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):138:148 -> a
    150:150:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    150:150:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):75 -> a
    150:150:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    151:151:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):75:75 -> a
    151:151:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    152:152:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    152:152:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):75 -> a
    152:152:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    153:153:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    153:153:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):78 -> a
    153:153:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    154:154:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    154:154:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):81 -> a
    154:154:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    155:155:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isDisjunction():0:0 -> a
    155:155:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):84 -> a
    155:155:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    156:156:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):85:85 -> a
    156:156:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    157:157:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isDisjunction():0:0 -> a
    157:157:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):87 -> a
    157:157:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    158:160:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):88:90 -> a
    158:160:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    161:161:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> a
    161:161:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):90 -> a
    161:161:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    162:163:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):90:91 -> a
    162:163:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    164:164:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> a
    164:164:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):91 -> a
    164:164:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    165:166:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):91:92 -> a
    165:166:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    167:167:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.join(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):76:76 -> a
    167:167:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):148 -> a
    168:168:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):166:166 -> a
    169:169:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):151:151 -> a
    170:170:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis.analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int):76:76 -> a
    170:170:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.code.InstructionIterator):151 -> a
    171:171:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$analyzeInstructionsInBlock$0(com.android.tools.r8.ir.code.If,int):133:133 -> a
    172:172:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis.analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int):76:76 -> a
    172:172:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$analyzeInstructionsInBlock$0(com.android.tools.r8.ir.code.If,int):133 -> a
    173:207:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):172:206 -> a
    208:209:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):191:192 -> a
    210:210:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createNotEqualToNullConstraint(int):75:75 -> a
    210:210:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):192 -> a
    211:212:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):194:195 -> a
    213:213:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToTrueConstraint(int):58:58 -> a
    213:213:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):195 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    214:217:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):197:200 -> a
    218:218:com.android.tools.r8.ir.analysis.inlining.NotEqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createNotEqualToNumberConstraint(int,long):89:89 -> a
    218:218:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):200 -> a
    219:219:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):203:203 -> a
    220:221:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):175:176 -> a
    222:222:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToNullConstraint(int):71:71 -> a
    222:222:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):176 -> a
    223:224:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):178:179 -> a
    225:225:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToFalseConstraint(int):54:54 -> a
    225:225:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):179 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    226:229:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):181:184 -> a
    230:230:com.android.tools.r8.ir.analysis.inlining.EqualToNumberSimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory.createEqualToNumberConstraint(int,long):94:94 -> a
    230:230:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):184 -> a
    231:231:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint computeConstraintFromIfTest(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.If$Type):187:187 -> a
    232:236:java.util.OptionalLong getRawNumberValue(com.android.tools.r8.ir.code.Value):211:215 -> a
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$analyzeInstructionsInBlock$1(com.android.tools.r8.ir.code.If,int):144:144 -> b
    2:2:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis.analyzeInstructionsInBlock(com.android.tools.r8.ir.code.BasicBlock,int):76:76 -> b
    2:2:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$analyzeInstructionsInBlock$1(com.android.tools.r8.ir.code.If,int):144 -> b
com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintAnalysis$1 -> com.android.tools.r8.internal.OU:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():172:172 -> <clinit>
com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction -> com.android.tools.r8.internal.QU:
    java.util.List constraints -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():16:16 -> <clinit>
    1:6:void <init>(java.util.List):20:25 -> <init>
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction asConjunction() -> a
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):29:29 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):29 -> a
    3:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):29:30 -> a
    5:5:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):30 -> a
    6:7:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):30:31 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> a
    8:8:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):31 -> a
    9:9:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):32:32 -> a
    10:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction.addAll(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintConjunction):44:48 -> a
    10:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):32 -> a
    15:15:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):34:34 -> a
    16:16:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isDisjunction():0:0 -> a
    16:16:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):34 -> a
    17:22:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):34:39 -> a
    23:24:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):63:64 -> a
    25:51:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):76:102 -> a
    52:52:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    52:52:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):102 -> a
    53:56:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):103:106 -> a
    57:58:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):81:82 -> a
    59:59:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    59:59:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):82 -> a
com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction -> com.android.tools.r8.internal.RU:
    java.util.List constraints -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():16:16 -> <clinit>
    1:6:void <init>(java.util.List):20:25 -> <init>
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):29:29 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isAlways():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):29 -> a
    3:3:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):29:29 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    4:4:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):30 -> a
    5:5:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):30:30 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isDisjunction():0:0 -> a
    6:6:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):31 -> a
    7:7:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):32:32 -> a
    8:12:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction.addAll(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction):44:48 -> a
    8:12:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):32 -> a
    13:13:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):34:34 -> a
    14:14:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isConjunction():0:0 -> a
    14:14:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):34 -> a
    15:20:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint add(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):34:39 -> a
    21:22:boolean isSatisfied(com.android.tools.r8.ir.code.InvokeMethod):63:64 -> a
    23:49:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):76:102 -> a
    50:50:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    50:50:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):102 -> a
    51:54:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory):103:106 -> a
    55:56:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):81:82 -> a
    57:57:boolean com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint.isNever():0:0 -> a
    57:57:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):82 -> a
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintDisjunction asDisjunction() -> b
com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraintFactory -> com.android.tools.r8.internal.SU:
    com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint[] lowEqualToTrueConstraints -> b
    com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint[] lowEqualToFalseConstraints -> a
    com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint[] lowEqualToNullConstraints -> d
    com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint[] lowNotEqualToNullConstraints -> c
    java.util.Map highEqualToFalseConstraints -> e
    java.util.Map highEqualToTrueConstraints -> f
    java.util.Map highNotEqualToNullConstraints -> g
    java.util.Map highEqualToNullConstraints -> h
    1:1:void <init>():37:37 -> <init>
    2:33:void <init>():18:49 -> <init>
    1:2:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint createEqualToBooleanConstraint(int,boolean):65:66 -> a
    3:3:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint createEqualToBooleanConstraint(int,boolean):63:63 -> a
    4:5:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint createNullConstraint(int,com.android.tools.r8.ir.analysis.type.Nullability):82:83 -> a
    6:6:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint createNullConstraint(int,com.android.tools.r8.ir.analysis.type.Nullability):80:80 -> a
    7:9:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint createArgumentConstraint(int,com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint[],java.util.Map,java.util.function.Supplier):99:101 -> a
    10:10:com.android.tools.r8.ir.analysis.inlining.SimpleInliningArgumentConstraint lambda$createArgumentConstraint$2(java.util.function.Supplier,java.lang.Integer):101:101 -> a
    1:1:com.android.tools.r8.ir.analysis.inlining.EqualToBooleanSimpleInliningConstraint lambda$createEqualToBooleanConstraint$0(int,boolean):67:67 -> b
    2:2:com.android.tools.r8.ir.analysis.inlining.NullSimpleInliningConstraint lambda$createNullConstraint$1(int,com.android.tools.r8.ir.analysis.type.Nullability):84:84 -> b
com.android.tools.r8.ir.analysis.modeling.LibraryMethodReadSetModeling -> com.android.tools.r8.internal.zB:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:9:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):19:27 -> a
    10:10:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119:119 -> a
    10:10:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):27 -> a
    11:15:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):28:32 -> a
    16:16:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1636:1636 -> a
    16:16:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):32 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1636:1636 -> a
    17:17:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):32 -> a
    18:20:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet getModeledReadSetOrUnknown(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod):32:34 -> a
com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker -> com.android.tools.r8.internal.Di:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set deadEnumLiteMaps -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):43:43 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):41:45 -> <init>
    1:1:void clearDeadEnumLiteMaps():59:59 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.isEnumLiteProtoShrinkingEnabled():1660:1660 -> a
    2:2:void clearDeadEnumLiteMaps():59 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:11:void clearDeadEnumLiteMaps():59:67 -> a
    12:12:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():74:74 -> a
    12:12:void clearDeadEnumLiteMaps():70 -> a
    13:13:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):84:84 -> a
    13:13:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    13:13:void clearDeadEnumLiteMaps():70 -> a
    14:19:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.computeCorrespondingEnumLite(com.android.tools.r8.graph.DexProgramClass):111:116 -> a
    14:19:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):85 -> a
    14:19:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    14:19:void clearDeadEnumLiteMaps():70 -> a
    20:22:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.matchesFindValueByNumberMethod(com.android.tools.r8.graph.DexMethod):140:142 -> a
    20:22:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.computeCorrespondingEnumLite(com.android.tools.r8.graph.DexProgramClass):116 -> a
    20:22:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):85 -> a
    20:22:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    20:22:void clearDeadEnumLiteMaps():70 -> a
    23:34:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.computeCorrespondingEnumLite(com.android.tools.r8.graph.DexProgramClass):119:130 -> a
    23:34:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):85 -> a
    23:34:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    23:34:void clearDeadEnumLiteMaps():70 -> a
    35:35:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    35:35:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.computeCorrespondingEnumLite(com.android.tools.r8.graph.DexProgramClass):130 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):85 -> a
    35:35:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    35:35:void clearDeadEnumLiteMaps():70 -> a
    36:36:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    36:36:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.computeCorrespondingEnumLite(com.android.tools.r8.graph.DexProgramClass):130 -> a
    36:36:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):85 -> a
    36:36:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    36:36:void clearDeadEnumLiteMaps():70 -> a
    37:38:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.computeCorrespondingEnumLite(com.android.tools.r8.graph.DexProgramClass):132:133 -> a
    37:38:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):85 -> a
    37:38:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    37:38:void clearDeadEnumLiteMaps():70 -> a
    39:39:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):88:88 -> a
    39:39:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    39:39:void clearDeadEnumLiteMaps():70 -> a
    40:42:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.createInternalValueMapField(com.android.tools.r8.graph.DexType):53:55 -> a
    40:42:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):88 -> a
    40:42:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    40:42:void clearDeadEnumLiteMaps():70 -> a
    43:46:boolean com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.isDeadEnumLiteMap(com.android.tools.r8.graph.DexProgramClass):88:91 -> a
    43:46:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():75 -> a
    43:46:void clearDeadEnumLiteMaps():70 -> a
    47:49:void com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker.internalClearDeadEnumLiteMaps():76:78 -> a
    47:49:void clearDeadEnumLiteMaps():70 -> a
    1:1:java.util.Set getDeadEnumLiteMaps():49:49 -> b
    1:3:void verifyDeadEnumLiteMapsAreDead():146:148 -> c
    4:4:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> c
    4:4:void verifyDeadEnumLiteMapsAreDead():148 -> c
    5:5:void verifyDeadEnumLiteMapsAreDead():148:148 -> c
com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker -> com.android.tools.r8.internal.Ml:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map removedExtensionFields -> d
    com.android.tools.r8.utils.InternalOptions options -> b
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():75:75 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):84:84 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):81:88 -> <init>
    1:202:void forEachClassInitializerWithRemovedExtensionFields(java.util.function.Consumer,com.android.tools.r8.shaking.Enqueuer$Mode):0:201 -> a
    203:203:void lambda$run$0(com.android.tools.r8.shaking.Enqueuer$Mode,com.android.tools.r8.graph.DexField):102:102 -> a
    204:205:com.android.tools.r8.shaking.TreePrunerConfiguration run(com.android.tools.r8.shaking.Enqueuer$Mode):102:103 -> a
    206:217:com.android.tools.r8.shaking.TreePrunerConfiguration com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker.createTreePrunerConfiguration(com.android.tools.r8.shaking.Enqueuer$Mode):115:126 -> a
    206:217:com.android.tools.r8.shaking.TreePrunerConfiguration run(com.android.tools.r8.shaking.Enqueuer$Mode):104 -> a
    218:218:java.util.Map lambda$recordDeadProtoExtensionField$2(com.android.tools.r8.graph.DexType):110:110 -> a
    219:222:void rewriteCode(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):135:138 -> a
    223:234:void rewriteClassInitializer(com.android.tools.r8.ir.code.IRCode):143:154 -> a
    235:237:boolean com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker.wasRemoved(com.android.tools.r8.graph.DexField):159:161 -> a
    235:237:boolean lambda$run$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):103 -> a
    238:250:void postOptimizeGeneratedExtensionRegistry(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):167:179 -> a
    251:251:void lambda$postOptimizeGeneratedExtensionRegistry$3(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):175:175 -> a
    252:252:void lambda$postOptimizeGeneratedExtensionRegistry$3(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):173:173 -> a
    253:253:void lambda$forEachClassInitializerWithRemovedExtensionFields$5(com.android.tools.r8.shaking.Enqueuer$Mode,java.util.Set,java.util.Map):194:194 -> a
    254:254:void lambda$forEachClassInitializerWithRemovedExtensionFields$4(com.android.tools.r8.shaking.Enqueuer$Mode,java.util.Set,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.Enqueuer$Mode):198:198 -> a
    255:255:void lambda$forEachClassInitializerWithRemovedExtensionFields$4(com.android.tools.r8.shaking.Enqueuer$Mode,java.util.Set,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.Enqueuer$Mode):197:197 -> a
    256:258:void lambda$forEachClassInitializerWithRemovedExtensionFields$6(java.util.function.Consumer,com.android.tools.r8.graph.DexType):203:205 -> a
    259:259:void lambda$forEachFindLiteExtensionByNumberMethod$8(java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):216:216 -> a
    260:260:boolean lambda$forEachFindLiteExtensionByNumberMethod$7(com.android.tools.r8.graph.DexEncodedMethod):218:218 -> a
    261:261:void lambda$forEachFindLiteExtensionByNumberMethod$9(com.android.tools.r8.ir.desugar.LambdaDescriptor):221:221 -> a
    262:262:void handleFailedOrUnknownFieldResolution(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$Mode):227:227 -> a
    263:263:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.ProgramMethod):189:189 -> a
    263:263:void handleFailedOrUnknownFieldResolution(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$Mode):227 -> a
    264:264:void handleFailedOrUnknownFieldResolution(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$Mode):228:228 -> a
    265:269:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.DexField):233:237 -> a
    270:270:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.DexField):236:236 -> a
    271:271:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):244:244 -> a
    272:272:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.ProgramField):118:118 -> a
    272:272:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):244 -> a
    273:281:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):244:252 -> a
    282:282:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    282:282:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):252 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    283:283:boolean isDeadProtoExtensionField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.shaking.KeepInfoCollection):258:258 -> a
    284:286:void lambda$forEachDeadProtoExtensionField$10(java.util.function.Consumer,com.android.tools.r8.graph.FieldAccessInfo):267:269 -> a
    1:4:void recordDeadProtoExtensionField(com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.Enqueuer$Mode):108:111 -> b
    5:7:boolean wasRemoved(com.android.tools.r8.graph.DexField):159:161 -> b
    8:10:void forEachDeadProtoExtensionField(java.util.function.Consumer):263:265 -> b
    1:3:void forEachFindLiteExtensionByNumberMethod(java.util.function.Consumer):211:213 -> c
    1:2:void forEachMethodThatRequiresPostOptimization(java.util.function.Consumer):183:184 -> d
com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker$1 -> com.android.tools.r8.internal.Ll:
    com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker this$0 -> b
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):116:116 -> <init>
    1:1:boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):121:121 -> a
    2:2:boolean com.android.tools.r8.shaking.DefaultTreePrunerConfiguration.isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):22:22 -> a
    2:2:boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):122 -> a
com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker -> com.android.tools.r8.internal.Wl:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map builders -> d
    boolean $assertionsDisabled -> e
    boolean enableAggressiveBuilderOptimization -> c
    1:1:void <clinit>():61:61 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):70:70 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):67:75 -> <init>
    1:1:java.util.Map access$000(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):61:61 -> a
    2:24:boolean computeEnableAggressiveBuilderOptimization():79:101 -> a
    25:25:boolean computeEnableAggressiveBuilderOptimization():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":267,"2":268,"3":269}}
    267:267:boolean computeEnableAggressiveBuilderOptimization():101:101 -> a
    268:268:boolean computeEnableAggressiveBuilderOptimization():101:101 -> a
    269:269:boolean computeEnableAggressiveBuilderOptimization():101:101 -> a
    126:130:boolean computeEnableAggressiveBuilderOptimization():101:105 -> a
    131:144:boolean computeEnableAggressiveBuilderOptimization():103:116 -> a
    145:145:boolean computeEnableAggressiveBuilderOptimization():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":284,"2":285,"3":286}}
    284:284:boolean computeEnableAggressiveBuilderOptimization():116:116 -> a
    285:285:boolean computeEnableAggressiveBuilderOptimization():116:116 -> a
    286:286:boolean computeEnableAggressiveBuilderOptimization():116:116 -> a
    261:265:boolean computeEnableAggressiveBuilderOptimization():116:120 -> a
    266:266:boolean computeEnableAggressiveBuilderOptimization():118:118 -> a
    287:287:boolean lambda$computeEnableAggressiveBuilderOptimization$0(com.android.tools.r8.graph.DexClass):97:97 -> a
    288:292:boolean deferDeadProtoBuilders(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,java.util.function.BooleanSupplier):172:176 -> a
    293:293:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):193:193 -> a
    293:293:boolean deferDeadProtoBuilders(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,java.util.function.BooleanSupplier):176 -> a
    294:294:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isAbstractGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):153:153 -> a
    294:294:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):195 -> a
    294:294:boolean deferDeadProtoBuilders(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,java.util.function.BooleanSupplier):176 -> a
    295:297:boolean deferDeadProtoBuilders(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,java.util.function.BooleanSupplier):177:179 -> a
    298:303:void rewriteDeadBuilderReferencesFromDynamicMethods(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):193:198 -> a
    304:304:void com.android.tools.r8.ir.conversion.IRConverter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing):323:323 -> a
    304:304:void rewriteDeadBuilderReferencesFromDynamicMethods(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):198 -> a
    305:315:void rewriteDeadBuilderReferencesFromDynamicMethods(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):199:209 -> a
    316:317:void lambda$rewriteDeadBuilderReferencesFromDynamicMethods$2(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):202:203 -> a
    318:319:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):217:218 -> a
    320:320:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    320:320:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):218 -> a
    321:326:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):220:225 -> a
    327:327:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    327:327:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):225 -> a
    328:329:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):226:227 -> a
    330:330:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    330:330:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):227 -> a
    331:336:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):231:236 -> a
    337:337:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    337:337:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):236 -> a
    338:345:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):242:249 -> a
    346:346:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    346:346:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):249 -> a
    347:354:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):251:258 -> a
    355:355:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):37:37 -> a
    355:355:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):258 -> a
    356:365:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):252:261 -> a
    366:366:void rewriteDeadBuilderReferencesFromDynamicMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.IRConverter):260:260 -> a
    367:367:boolean lambda$rewriteDeadBuilderReferencesFromDynamicMethod$3(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Instruction):234:234 -> a
    368:369:boolean lambda$rewriteDeadBuilderReferencesFromDynamicMethod$4(com.android.tools.r8.ir.code.Instruction):245:246 -> a
    370:377:void addInliningHeuristicsForBuilderInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Set):272:279 -> a
    378:382:void preprocessCallGraphBeforeCycleElimination(java.util.Map):283:287 -> a
    383:383:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexEncodedMethod):175:175 -> a
    383:383:void preprocessCallGraphBeforeCycleElimination(java.util.Map):287 -> a
    384:384:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):170:170 -> a
    384:384:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexEncodedMethod):175 -> a
    384:384:void preprocessCallGraphBeforeCycleElimination(java.util.Map):287 -> a
    385:389:void preprocessCallGraphBeforeCycleElimination(java.util.Map):288:292 -> a
    390:395:void inlineCallsToDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner):304:309 -> a
    396:402:void inlineCallsToDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner):308:314 -> a
    403:404:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):348:349 -> a
    405:405:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    405:405:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):349 -> a
    406:416:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):351:361 -> a
    417:417:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):170:170 -> a
    417:417:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):362 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    418:418:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):170:170 -> a
    418:418:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):362 -> a
    419:421:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):365:367 -> a
    422:424:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):389:391 -> a
    422:424:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):367 -> a
    425:425:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    425:425:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):391 -> a
    425:425:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):367 -> a
    426:427:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):391:392 -> a
    426:427:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):367 -> a
    428:428:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.graph.DexField):385:385 -> a
    428:428:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):392 -> a
    428:428:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):367 -> a
    429:433:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):371:375 -> a
    434:434:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.ReferenceTypeElement.asMaybeNull():90:90 -> a
    434:434:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):376 -> a
    435:442:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):376:383 -> a
    443:443:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    443:443:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):383 -> a
    444:444:void strengthenCheckCastInstructions(com.android.tools.r8.ir.code.IRCode):383:383 -> a
    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):61:61 -> b
    2:2:boolean lambda$computeEnableAggressiveBuilderOptimization$1(com.android.tools.r8.graph.DexClass):112:112 -> b
    3:4:com.android.tools.r8.graph.analysis.EnqueuerAnalysis createEnqueuerAnalysis():128:129 -> b
    1:1:com.android.tools.r8.ir.analysis.proto.ProtoReferences access$200(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):61:61 -> c
com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$1 -> com.android.tools.r8.internal.Ul:
    com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker this$0 -> b
    java.util.Set val$seen -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():129:129 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker,java.util.Set):129:129 -> <init>
    1:1:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):132:132 -> a
    2:15:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):134:147 -> a
    16:19:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):146:149 -> a
    20:28:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):148:156 -> a
    29:32:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):155:158 -> a
    33:38:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):157:162 -> a
    39:39:void lambda$notifyFixpoint$0(java.util.Set,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):161:161 -> a
com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension -> com.android.tools.r8.internal.Vl:
    java.util.Set bypassClinitforInlining -> g
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set neverMergeClassVertically -> d
    java.util.Set neverMergeClassHorizontally -> e
    java.util.Set alwaysInline -> f
    com.android.tools.r8.utils.PredicateSet alwaysClassInline -> c
    1:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Set):405:412 -> <init>
    1:1:void alwaysClassInlineGeneratedMessageLiteBuilders():431:431 -> a
    2:3:boolean lambda$alwaysClassInlineGeneratedMessageLiteBuilders$0(com.android.tools.r8.graph.DexType):434:435 -> a
    4:11:void bypassClinitforInliningNewBuilderMethods(com.android.tools.r8.graph.SubtypingInfo):439:446 -> a
    12:12:boolean lambda$bypassClinitforInliningNewBuilderMethods$1(com.android.tools.r8.graph.DexEncodedMethod):444:444 -> a
    1:1:void extend(com.android.tools.r8.graph.SubtypingInfo):416:416 -> b
    2:2:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.alwaysInlineCreateBuilderFromGeneratedMessageLite():457:457 -> b
    2:2:void extend(com.android.tools.r8.graph.SubtypingInfo):419 -> b
    3:3:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeMessageLite():471:471 -> b
    3:3:void extend(com.android.tools.r8.graph.SubtypingInfo):420 -> b
    4:5:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeClass(com.android.tools.r8.graph.DexType):475:476 -> b
    4:5:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeMessageLite():471 -> b
    4:5:void extend(com.android.tools.r8.graph.SubtypingInfo):420 -> b
    6:6:void extend(com.android.tools.r8.graph.SubtypingInfo):423:423 -> b
    7:7:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.alwaysInlineBuildPartialFromGeneratedMessageLiteExtendableBuilder():453:453 -> b
    7:7:void extend(com.android.tools.r8.graph.SubtypingInfo):426 -> b
    8:8:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeGeneratedMessageLiteBuilder():464:464 -> b
    8:8:void extend(com.android.tools.r8.graph.SubtypingInfo):427 -> b
    9:10:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeClass(com.android.tools.r8.graph.DexType):475:476 -> b
    9:10:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeGeneratedMessageLiteBuilder():464 -> b
    9:10:void extend(com.android.tools.r8.graph.SubtypingInfo):427 -> b
    11:11:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeGeneratedMessageLiteBuilder():465:465 -> b
    11:11:void extend(com.android.tools.r8.graph.SubtypingInfo):427 -> b
    12:13:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeClass(com.android.tools.r8.graph.DexType):475:476 -> b
    12:13:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker$RootSetExtension.neverMergeGeneratedMessageLiteBuilder():465 -> b
    12:13:void extend(com.android.tools.r8.graph.SubtypingInfo):427 -> b
com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker -> com.android.tools.r8.internal.Xl:
    com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder encoder -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> d
    com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder decoder -> b
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.analysis.type.TypeElement objectArrayType -> e
    com.android.tools.r8.ir.analysis.type.TypeElement stringType -> f
    1:1:void <clinit>():54:54 -> <clinit>
    1:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder,com.android.tools.r8.ir.analysis.proto.ProtoReferences):65:74 -> <init>
    11:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder,com.android.tools.r8.ir.analysis.proto.ProtoReferences):73:75 -> <init>
    boolean lambda$optimizeNewMutableInstance$1(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
    1:5:void extendRootSet(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection):81:85 -> a
    6:19:void extendRootSet(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection):82:95 -> a
    20:26:void lambda$extendRootSet$0(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.graph.DexMethod):97:103 -> a
    27:28:void run(com.android.tools.r8.ir.code.IRCode):110:111 -> a
    29:33:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):251:255 -> a
    29:33:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    34:34:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24:24 -> a
    34:34:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):256 -> a
    34:34:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    35:35:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    35:35:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):256 -> a
    35:35:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    36:36:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    36:36:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24 -> a
    36:36:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):256 -> a
    36:36:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    37:39:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24:26 -> a
    37:39:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):256 -> a
    37:39:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    40:40:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):259:259 -> a
    40:40:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    41:41:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteInfoArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):284:284 -> a
    41:41:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):278 -> a
    41:41:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    41:41:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    42:42:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    42:42:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteInfoArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):285 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):278 -> a
    42:42:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    42:42:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    43:43:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteInfoArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):285:285 -> a
    43:43:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):278 -> a
    43:43:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    43:43:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    44:44:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    44:44:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    44:44:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteInfoArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):284 -> a
    44:44:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):278 -> a
    44:44:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    44:44:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(5)"]}
    45:45:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    45:45:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    45:45:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteInfoArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):284 -> a
    45:45:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):278 -> a
    45:45:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    45:45:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    46:47:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):293:294 -> a
    46:47:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    46:47:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    46:47:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    48:48:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    48:48:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):295 -> a
    48:48:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    48:48:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    48:48:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    49:56:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):296:303 -> a
    49:56:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    49:56:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    49:56:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    57:57:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    57:57:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):303 -> a
    57:57:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    57:57:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    57:57:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    58:59:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):304:305 -> a
    58:59:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    58:59:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    58:59:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    60:60:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    60:60:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):304 -> a
    60:60:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    60:60:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    60:60:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    61:63:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):308:310 -> a
    61:63:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    61:63:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    61:63:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    64:64:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    64:64:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):311 -> a
    64:64:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    64:64:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    64:64:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    65:67:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):312:314 -> a
    65:67:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    65:67:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    65:67:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    68:68:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    68:68:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):312 -> a
    68:68:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    68:68:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    68:68:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    69:69:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):319:319 -> a
    69:69:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    69:69:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    69:69:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    70:70:void com.android.tools.r8.ir.analysis.proto.ProtoUtils.setObjectsValueForMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.ProtoReferences):31:31 -> a
    70:70:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):319 -> a
    70:70:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    70:70:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    70:70:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    71:71:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    71:71:void com.android.tools.r8.ir.analysis.proto.ProtoUtils.setObjectsValueForMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.ProtoReferences):31 -> a
    71:71:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):319 -> a
    71:71:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    71:71:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    71:71:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(5)"]}
    72:72:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    72:72:void com.android.tools.r8.ir.analysis.proto.ProtoUtils.setObjectsValueForMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.ProtoReferences):31 -> a
    72:72:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):319 -> a
    72:72:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    72:72:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    72:72:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    73:75:void com.android.tools.r8.ir.analysis.proto.ProtoUtils.setObjectsValueForMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.ProtoReferences):31:33 -> a
    73:75:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteObjectsArgumentToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):319 -> a
    73:75:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteArgumentsToNewMessageInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):279 -> a
    73:75:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):262 -> a
    73:75:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    76:79:void com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.rewriteDynamicMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):265:268 -> a
    76:79:void run(com.android.tools.r8.ir.code.IRCode):112 -> a
    80:80:void run(com.android.tools.r8.ir.code.IRCode):113:113 -> a
    81:81:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    81:81:void run(com.android.tools.r8.ir.code.IRCode):113 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    82:82:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    82:82:void run(com.android.tools.r8.ir.code.IRCode):113 -> a
    83:83:void run(com.android.tools.r8.ir.code.IRCode):114:114 -> a
    84:90:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):119:125 -> a
    91:96:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):181:186 -> a
    91:96:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    97:97:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):170:170 -> a
    97:97:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):187 -> a
    97:97:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    98:98:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):170:170 -> a
    98:98:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):187 -> a
    98:98:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    99:100:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):190:191 -> a
    99:100:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    101:101:int com.android.tools.r8.ir.code.InvokeMethod.getFirstNonReceiverArgumentIndex():79:79 -> a
    101:101:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.InvokeMethod.getFirstNonReceiverArgument():75 -> a
    101:101:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):192 -> a
    101:101:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    102:102:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.InvokeMethod.getFirstNonReceiverArgument():75:75 -> a
    102:102:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):192 -> a
    102:102:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    103:103:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):191:191 -> a
    103:103:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    104:106:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):389:391 -> a
    104:106:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):191 -> a
    104:106:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    107:107:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    107:107:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):391 -> a
    107:107:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):191 -> a
    107:107:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    108:109:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):391:392 -> a
    108:109:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):191 -> a
    108:109:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    110:110:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.graph.DexField):385:385 -> a
    110:110:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isNewMutableInstanceEnum(com.android.tools.r8.ir.code.Value):392 -> a
    110:110:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):191 -> a
    110:110:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    111:116:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker.getNewMutableInstanceType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):195:200 -> a
    111:116:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):126 -> a
    117:122:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):132:137 -> a
    123:130:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):136:143 -> a
    131:131:com.android.tools.r8.ir.code.NewInstance$Builder com.android.tools.r8.ir.code.NewInstance.builder():42:42 -> a
    131:131:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):143 -> a
    132:134:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):144:146 -> a
    135:135:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    135:135:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):146 -> a
    136:143:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):145:152 -> a
    144:144:com.android.tools.r8.ir.code.InvokeDirect$Builder com.android.tools.r8.ir.code.InvokeDirect.builder():49:49 -> a
    144:144:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):152 -> a
    145:146:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):153:154 -> a
    147:147:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    147:147:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):154 -> a
    148:159:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):154:165 -> a
    160:160:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    160:160:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):166 -> a
    161:169:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):167:175 -> a
    170:170:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    170:170:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):175 -> a
    171:171:void optimizeNewMutableInstance(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):175:175 -> a
    172:183:void postOptimizeDynamicMethods(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):208:219 -> a
    184:184:void lambda$postOptimizeDynamicMethods$2(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):215:215 -> a
    185:185:void lambda$postOptimizeDynamicMethods$2(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):213:213 -> a
    186:189:void forEachDynamicMethod(java.util.function.Consumer):223:226 -> a
    190:195:void lambda$forEachDynamicMethod$3(com.android.tools.r8.graph.DexItemFactory,java.util.function.Consumer,com.android.tools.r8.graph.DexProgramClass):229:234 -> a
    196:196:void lambda$forEachDynamicMethod$4(com.android.tools.r8.ir.desugar.LambdaDescriptor):238:238 -> a
    197:200:com.android.tools.r8.ir.code.InvokeMethod getNewMessageInfoInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.ProtoReferences):324:327 -> a
    201:201:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    201:201:com.android.tools.r8.ir.code.InvokeMethod getNewMessageInfoInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.ProtoReferences):327 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    202:202:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    202:202:com.android.tools.r8.ir.code.InvokeMethod getNewMessageInfoInvoke(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.ProtoReferences):327 -> a
com.android.tools.r8.ir.analysis.proto.ProtoEnqueuerUseRegistry -> com.android.tools.r8.internal.fP:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> i
    com.android.tools.r8.shaking.EnqueuerUseRegistryFactory FACTORY -> j
    1:1:void <clinit>():25:25 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.androidapi.AndroidApiLevelCompute):34:35 -> <init>
    1:1:void registerConstClass(com.android.tools.r8.graph.DexType,java.util.ListIterator,boolean):55:55 -> a
    2:2:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry.getContextMethod():51:51 -> a
    2:2:void registerConstClass(com.android.tools.r8.graph.DexType,java.util.ListIterator,boolean):55 -> a
    3:7:void registerConstClass(com.android.tools.r8.graph.DexType,java.util.ListIterator,boolean):55:59 -> a
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):79:79 -> e
    2:2:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry.getContextMethod():51:51 -> e
    2:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):79 -> e
    3:4:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):79:80 -> e
    5:5:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry.getContextHolder():47:47 -> e
    5:5:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):80 -> e
    6:6:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):80:80 -> e
    7:7:boolean com.android.tools.r8.ir.analysis.proto.ProtoEnqueuerUseRegistry.isStaticFieldReadForProtoSchemaDefinition(com.android.tools.r8.graph.DexField):89:89 -> e
    7:7:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):81 -> e
    8:8:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry.getContextHolder():47:47 -> e
    8:8:boolean com.android.tools.r8.ir.analysis.proto.ProtoEnqueuerUseRegistry.isStaticFieldReadForProtoSchemaDefinition(com.android.tools.r8.graph.DexField):89 -> e
    8:8:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):81 -> e
    9:15:boolean com.android.tools.r8.ir.analysis.proto.ProtoEnqueuerUseRegistry.isStaticFieldReadForProtoSchemaDefinition(com.android.tools.r8.graph.DexField):89:95 -> e
    9:15:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):81 -> e
    16:19:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):82:85 -> e
    1:1:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory getFactory():39:39 -> g
com.android.tools.r8.ir.analysis.proto.ProtoEnumSwitchMapRemover -> com.android.tools.r8.internal.gP:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> a
    java.util.Map staticFieldValuesMap -> b
    java.util.Map staticFieldValuesMapDelayed -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences):27:27 -> <init>
    2:7:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences):23:28 -> <init>
    1:1:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues.isEnumStaticFieldValues():0:0 -> a
    1:1:void recordStaticValues(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):32 -> a
    2:3:void recordStaticValues(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):35:36 -> a
    4:8:boolean com.android.tools.r8.ir.analysis.proto.ProtoEnumSwitchMapRemover.isProtoEnum(com.android.tools.r8.graph.DexProgramClass):48:52 -> a
    4:8:void recordStaticValues(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):37 -> a
    9:9:void recordStaticValues(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):38:38 -> a
    10:11:void updateVisibleStaticFieldValues():43:44 -> a
    12:16:boolean com.android.tools.r8.ir.analysis.proto.ProtoEnumSwitchMapRemover.isProtoEnum(com.android.tools.r8.graph.DexProgramClass):48:52 -> a
    12:16:com.android.tools.r8.ir.analysis.value.SingleNumberValue getOrdinal(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):57 -> a
    17:25:com.android.tools.r8.ir.analysis.value.SingleNumberValue getOrdinal(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):60:68 -> a
    26:31:com.android.tools.r8.ir.analysis.value.SingleNumberValue getOrdinal(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):67:72 -> a
com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy -> com.android.tools.r8.internal.lP:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
    com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy parent -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():23:23 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):31:34 -> <init>
    1:1:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):44:44 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isAbstractGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):153:153 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):44 -> a
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> a
    3:3:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):45 -> a
    4:6:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):49:51 -> a
    7:7:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethod(com.android.tools.r8.graph.ProgramMethod):166:166 -> a
    7:7:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):51 -> a
    8:8:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):51:51 -> a
    9:9:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.ProgramMethod):179:179 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):51 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.DexMethod):170:170 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethodBridge(com.android.tools.r8.graph.ProgramMethod):179 -> a
    10:10:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):51 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):53:53 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):61:61 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    13:13:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethod(com.android.tools.r8.graph.ProgramMethod):166:166 -> a
    13:13:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):61 -> a
    13:13:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    14:14:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):61:61 -> a
    14:14:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isProtoLibraryClass(com.android.tools.r8.graph.DexProgramClass):203:203 -> a
    15:15:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):61 -> a
    15:15:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    16:16:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    16:16:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isProtoLibraryClass(com.android.tools.r8.graph.DexProgramClass):203 -> a
    16:16:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):61 -> a
    16:16:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    17:30:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):62:75 -> a
    17:30:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    31:31:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    31:31:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):75 -> a
    31:31:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    32:36:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):76:80 -> a
    32:36:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    37:37:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isMethodToInvokeWithSimpleBody(com.android.tools.r8.graph.DexField):396:396 -> a
    37:37:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):81 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    37:37:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    38:38:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isMethodToInvokeWithSimpleBody(com.android.tools.r8.graph.DexField):396:396 -> a
    38:38:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):81 -> a
    38:38:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    39:42:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):82:85 -> a
    39:42:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    43:43:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers.isMethodToInvokeWithNonSimpleBody(com.android.tools.r8.graph.DexField):404:404 -> a
    43:43:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):86 -> a
    43:43:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
    44:47:com.android.tools.r8.ir.optimize.Inliner$Reason com.android.tools.r8.ir.analysis.proto.ProtoInliningReasonStrategy.computeInliningReasonForDynamicMethod(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):85:88 -> a
    44:47:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):52 -> a
com.android.tools.r8.ir.analysis.proto.ProtoReferences -> com.android.tools.r8.internal.EP:
    com.android.tools.r8.graph.DexType generatedMessageLiteExtendableMessageType -> l
    com.android.tools.r8.graph.DexType generatedMessageLiteBuilderType -> j
    com.android.tools.r8.graph.DexType methodToInvokeType -> n
    com.android.tools.r8.graph.DexString instanceFieldName -> v
    com.android.tools.r8.graph.DexString dynamicMethodName -> x
    com.android.tools.r8.graph.DexMethod newMessageInfoMethod -> F
    com.android.tools.r8.graph.DexString newBuilderMethodName -> z
    com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers methodToInvokeMembers -> t
    com.android.tools.r8.graph.DexString findValueByNumberName -> A
    com.android.tools.r8.graph.DexProto findLiteExtensionByNumberProto -> D
    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods generatedMessageLiteBuilderMethods -> r
    com.android.tools.r8.graph.DexType enumLiteMapType -> c
    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods generatedMessageLiteMethods -> q
    com.android.tools.r8.graph.DexType extensionRegistryLiteType -> g
    com.android.tools.r8.graph.DexType extendableMessageType -> e
    com.android.tools.r8.graph.DexType generatedMessageLiteExtendableBuilderType -> k
    com.android.tools.r8.graph.DexType generatedMessageLiteType -> i
    com.android.tools.r8.graph.DexType wireFormatFieldType -> o
    com.android.tools.r8.graph.DexString defaultInstanceFieldName -> u
    com.android.tools.r8.graph.DexType messageLiteType -> m
    com.android.tools.r8.graph.DexString internalValueMapFieldName -> w
    com.android.tools.r8.graph.DexMethod rawMessageInfoConstructor -> G
    com.android.tools.r8.graph.DexString findLiteExtensionByNumberName -> y
    com.android.tools.r8.graph.DexMethod dynamicMethod -> E
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods generatedExtensionMethods -> p
    com.android.tools.r8.graph.DexString protobufPackageDescriptorPrefix -> B
    com.android.tools.r8.graph.DexProto dynamicMethodProto -> C
    com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods generatedMessageLiteExtendableBuilderMethods -> s
    com.android.tools.r8.graph.DexType enumVerifierType -> d
    com.android.tools.r8.graph.DexType enumLiteType -> b
    com.android.tools.r8.graph.DexType generatedExtensionType -> h
    com.android.tools.r8.graph.DexType extensionDescriptorType -> f
    1:55:void <init>(com.android.tools.r8.graph.DexItemFactory):63:117 -> <init>
    56:64:void <init>(com.android.tools.r8.graph.DexItemFactory):113:121 -> <init>
    65:76:void <init>(com.android.tools.r8.graph.DexItemFactory):119:130 -> <init>
    1:1:void forEachMethodReference(java.util.function.Consumer):134:134 -> a
    2:2:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods.forEachMethodReference(java.util.function.Consumer):236:236 -> a
    2:2:void forEachMethodReference(java.util.function.Consumer):134 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods.forEachMethodReference(java.util.function.Consumer):236:237 -> a
    3:4:void forEachMethodReference(java.util.function.Consumer):134 -> a
    5:5:void forEachMethodReference(java.util.function.Consumer):135:135 -> a
    6:6:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods.forEachMethodReference(java.util.function.Consumer):299:299 -> a
    6:6:void forEachMethodReference(java.util.function.Consumer):135 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:11:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods.forEachMethodReference(java.util.function.Consumer):299:303 -> a
    7:11:void forEachMethodReference(java.util.function.Consumer):135 -> a
    12:12:void forEachMethodReference(java.util.function.Consumer):136:136 -> a
    13:13:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods.forEachMethodReference(java.util.function.Consumer):320:320 -> a
    13:13:void forEachMethodReference(java.util.function.Consumer):136 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods.forEachMethodReference(java.util.function.Consumer):320:320 -> a
    14:14:void forEachMethodReference(java.util.function.Consumer):136 -> a
    15:15:void forEachMethodReference(java.util.function.Consumer):137:137 -> a
    16:16:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods.forEachMethodReference(java.util.function.Consumer):344:344 -> a
    16:16:void forEachMethodReference(java.util.function.Consumer):137 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:18:void com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods.forEachMethodReference(java.util.function.Consumer):344:345 -> a
    17:18:void forEachMethodReference(java.util.function.Consumer):137 -> a
    19:22:void forEachMethodReference(java.util.function.Consumer):138:141 -> a
    23:23:com.android.tools.r8.graph.DexField getDefaultInstanceField(com.android.tools.r8.graph.DexProgramClass):145:145 -> a
    24:24:boolean isDynamicMethod(com.android.tools.r8.graph.DexMethod):158:158 -> a
    25:25:boolean isDynamicMethod(com.android.tools.r8.graph.DexEncodedMethod):162:162 -> a
    26:26:boolean isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.ProgramMethod):189:189 -> a
    1:1:com.android.tools.r8.graph.DexField getEnumVerifierInstanceField(com.android.tools.r8.graph.DexProgramClass):149:149 -> b
    2:3:boolean isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.DexMethod):183:184 -> b
    4:4:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> b
    4:4:boolean isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.DexMethod):184 -> b
    5:5:boolean isFindLiteExtensionByNumberMethod(com.android.tools.r8.graph.DexMethod):184:184 -> b
com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods -> com.android.tools.r8.internal.zP:
    com.android.tools.r8.graph.DexMethod constructorWithClass -> b
    com.android.tools.r8.graph.DexMethod constructor -> a
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):206:206 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):211:215 -> <init>
    7:19:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):213:225 -> <init>
    20:20:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):223:223 -> <init>
com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteBuilderMethods -> com.android.tools.r8.internal.AP:
    com.android.tools.r8.graph.DexMethod constructorMethod -> a
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):307:307 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):311:315 -> <init>
    7:7:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):313:313 -> <init>
com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteExtendableBuilderMethods -> com.android.tools.r8.internal.BP:
    com.android.tools.r8.graph.DexMethod constructorMethod -> b
    com.android.tools.r8.graph.DexMethod buildPartialMethod -> a
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):324:324 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):329:333 -> <init>
    7:14:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):331:338 -> <init>
    15:15:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):336:336 -> <init>
com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedMessageLiteMethods -> com.android.tools.r8.internal.CP:
    com.android.tools.r8.graph.DexMethod newSingularGeneratedExtension -> e
    com.android.tools.r8.graph.DexMethod newRepeatedGeneratedExtension -> d
    com.android.tools.r8.graph.DexMethod dynamicMethodBridgeMethodWithObject -> c
    com.android.tools.r8.graph.DexMethod dynamicMethodBridgeMethod -> b
    com.android.tools.r8.graph.DexMethod createBuilderMethod -> a
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):245:245 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):253:257 -> <init>
    7:14:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):255:262 -> <init>
    15:22:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):260:267 -> <init>
    23:31:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):265:273 -> <init>
    32:47:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):271:286 -> <init>
    48:48:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):284:284 -> <init>
com.android.tools.r8.ir.analysis.proto.ProtoReferences$MethodToInvokeMembers -> com.android.tools.r8.internal.DP:
    com.android.tools.r8.graph.DexField newMutableInstanceField -> f
    com.android.tools.r8.graph.DexField newBuilderField -> e
    com.android.tools.r8.graph.DexField setMemoizedIsInitializedField -> g
    com.android.tools.r8.graph.DexField getDefaultInstanceField -> b
    com.android.tools.r8.graph.DexField buildMessageInfoField -> a
    com.android.tools.r8.graph.DexField getParserField -> d
    com.android.tools.r8.graph.DexField getMemoizedIsInitializedField -> c
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences$1):349:349 -> <init>
    2:19:void <init>(com.android.tools.r8.ir.analysis.proto.ProtoReferences,com.android.tools.r8.graph.DexItemFactory):359:376 -> <init>
com.android.tools.r8.ir.analysis.proto.ProtoShrinker -> com.android.tools.r8.internal.FP:
    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> b
    com.android.tools.r8.ir.analysis.proto.ProtoEnumSwitchMapRemover protoEnumSwitchMapRemover -> g
    com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker generatedMessageLiteBuilderShrinker -> e
    java.util.Set deadProtoTypes -> i
    com.android.tools.r8.ir.analysis.proto.EnumLiteProtoShrinker enumLiteProtoShrinker -> f
    com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder decoder -> a
    boolean $assertionsDisabled -> j
    com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker generatedExtensionRegistryShrinker -> c
    com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker generatedMessageLiteShrinker -> d
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> h
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):30:30 -> <init>
    2:28:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.ProtoReferences):28:54 -> <init>
    1:7:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):58:64 -> a
    8:8:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    8:8:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):66 -> a
    9:13:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):66:70 -> a
    14:14:void com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.disable():1641:1641 -> a
    14:14:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):70 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:18:void com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.disable():1642:1645 -> a
    15:18:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):70 -> a
    19:19:com.android.tools.r8.ir.analysis.proto.ProtoShrinker create(com.android.tools.r8.graph.AppView):74:74 -> a
    20:20:java.util.Set getDeadProtoTypes():78:78 -> a
    21:23:boolean verifyDeadProtoTypesNotReferenced(com.android.tools.r8.dex.VirtualFile):88:90 -> a
    24:24:void com.android.tools.r8.utils.InternalOptions.checkAssertionsEnabled():964:964 -> a
    24:24:void setDeadProtoTypes(java.util.Set):83 -> a
    25:25:void setDeadProtoTypes(java.util.Set):84:84 -> a
    26:26:void com.android.tools.r8.utils.InternalOptions.checkAssertionsEnabled():965:965 -> a
    26:26:void setDeadProtoTypes(java.util.Set):83 -> a
com.android.tools.r8.ir.analysis.proto.ProtoUtils -> com.android.tools.r8.internal.IP:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:com.android.tools.r8.ir.code.Value getInfoValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):17:17 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    2:2:com.android.tools.r8.ir.code.Value getInfoValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):17 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    3:3:com.android.tools.r8.ir.code.Value getInfoValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):17 -> a
    4:6:com.android.tools.r8.ir.code.Value getInfoValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):17:19 -> a
com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder -> com.android.tools.r8.internal.RP:
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> b
    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():70:70 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory,com.android.tools.r8.ir.analysis.proto.ProtoReferences):75:77 -> <init>
    boolean lambda$createObjectIterator$0(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.Instruction) -> a
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):81:81 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    2:2:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):81 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    3:3:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):81 -> a
    4:6:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):81:83 -> a
    7:7:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24:24 -> a
    7:7:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):83 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    8:8:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):83 -> a
    9:9:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isMessageInfoConstructionMethod(com.android.tools.r8.graph.DexMethod):199:199 -> a
    9:9:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24 -> a
    9:9:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):83 -> a
    10:12:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.ProtoUtils.getObjectsValueFromMessageInfoConstructionInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.proto.ProtoReferences):24:26 -> a
    10:12:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):83 -> a
    13:13:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):84:84 -> a
    14:50:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):89:125 -> a
    51:54:java.lang.Object com.android.tools.r8.utils.ThrowingIterator.computeNextIfAbsent(com.android.tools.r8.utils.ThrowingSupplier):18:21 -> a
    51:54:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):127 -> a
    55:55:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):127:127 -> a
    56:61:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):126:131 -> a
    62:65:java.lang.Object com.android.tools.r8.utils.ThrowingIterator.computeNextIfAbsent(com.android.tools.r8.utils.ThrowingSupplier):18:21 -> a
    62:65:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):133 -> a
    66:66:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):133:133 -> a
    67:73:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):132:138 -> a
    74:74:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):137:137 -> a
    75:75:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):135:135 -> a
    76:89:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):129:142 -> a
    90:93:java.lang.Object com.android.tools.r8.utils.ThrowingIterator.computeNextIfAbsent(com.android.tools.r8.utils.ThrowingSupplier):18:21 -> a
    90:93:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):144 -> a
    94:94:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):144:144 -> a
    95:100:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):143:148 -> a
    101:133:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):146:178 -> a
    134:134:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):158:158 -> a
    135:135:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    135:135:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):158 -> a
    136:136:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    136:136:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    136:136:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):158 -> a
    137:166:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):158:187 -> a
    167:173:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo run(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):184:190 -> a
    174:177:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):197:200 -> a
    178:178:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    178:178:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):200 -> a
    179:180:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):201:202 -> a
    181:181:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    181:181:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):203 -> a
    182:184:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):204:206 -> a
    185:185:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexClass.lookupUniqueInstanceFieldWithName(com.android.tools.r8.graph.DexString):538:538 -> a
    185:185:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):206 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    186:191:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexClass.lookupUniqueInstanceFieldWithName(com.android.tools.r8.graph.DexString):538:543 -> a
    186:191:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):206 -> a
    192:196:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):208:212 -> a
    197:197:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    197:197:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):213 -> a
    198:201:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):214:217 -> a
    202:202:boolean com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo.isFieldNameComputationInfo():0:0 -> a
    202:202:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):217 -> a
    203:210:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):218:225 -> a
    211:211:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    211:211:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):227 -> a
    212:214:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):228:230 -> a
    215:215:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    215:215:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):232 -> a
    216:220:com.android.tools.r8.ir.analysis.proto.schema.ProtoObject createProtoObject(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):233:237 -> a
    221:221:int invalidInfoFailure():241:241 -> a
    222:222:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):250:250 -> a
    223:223:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    223:223:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):250 -> a
    224:224:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):251:251 -> a
    225:225:com.android.tools.r8.utils.ThrowingIntIterator com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder.createInfoIterator(com.android.tools.r8.graph.DexString):259:259 -> a
    225:225:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):251 -> a
    226:226:com.android.tools.r8.utils.ThrowingIntIterator createInfoIterator(com.android.tools.r8.ir.code.Value):253:253 -> a
    1:1:com.android.tools.r8.ir.code.Value invalidObjectsFailure():245:245 -> b
    2:2:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):305:305 -> b
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> b
    3:3:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):305 -> b
    4:19:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):309:324 -> b
    20:20:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):317:317 -> b
    21:21:com.android.tools.r8.utils.ThrowingIterator createObjectIterator(com.android.tools.r8.ir.code.Value):306:306 -> b
com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1 -> com.android.tools.r8.internal.OP:
    com.android.tools.r8.utils.ThrowingCharIterator charIterator -> a
    1:3:void <init>(com.android.tools.r8.graph.DexString):259:261 -> <init>
    1:1:boolean hasNext():265:265 -> a
    1:1:boolean com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1.hasNext():265:265 -> b
    1:1:int nextInt():270 -> b
    2:7:int nextInt():278:283 -> b
    8:8:boolean com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1.hasNext():265:265 -> b
    8:8:int nextInt():290 -> b
    9:9:int nextInt():291:291 -> b
    10:10:int nextInt():280:280 -> b
    11:11:int nextInt():271:271 -> b
com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2 -> com.android.tools.r8.internal.PP:
    com.android.tools.r8.ir.code.Value val$objectsValue -> c
    com.android.tools.r8.ir.code.InstructionIterator val$instructionIterator -> b
    int expectedNextIndex -> a
    1:3:void <init>(com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.ir.code.Value):324:326 -> <init>
    1:2:boolean hasNext():330:331 -> a
    3:4:boolean com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2.isArrayPutOfInterest(com.android.tools.r8.ir.code.Instruction):363:364 -> a
    3:4:boolean hasNext():332 -> a
    5:8:boolean hasNext():335:338 -> a
    1:15:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2.next():345:359 -> b
    1:15:java.lang.Object next():324 -> b
    16:16:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2.next():355:355 -> b
    16:16:java.lang.Object next():324 -> b
    17:17:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$2.next():346:346 -> b
    17:17:java.lang.Object next():324 -> b
com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$InvalidRawMessageInfoException -> com.android.tools.r8.internal.QP:
    1:1:void <init>():369:369 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder$1):369:369 -> <init>
com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder -> com.android.tools.r8.internal.SP:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:2:void <init>(com.android.tools.r8.graph.DexItemFactory):24:25 -> <init>
    1:1:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):29:29 -> a
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    2:2:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):29 -> a
    3:45:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):30:72 -> a
    46:46:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    46:46:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    46:46:int com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.countBytes(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):120 -> a
    46:46:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.encodeInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):81 -> a
    46:46:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):77 -> a
    47:54:int com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.countBytes(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):121:128 -> a
    47:54:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.encodeInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):81 -> a
    47:54:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):77 -> a
    55:55:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.encodeInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):81:81 -> a
    55:55:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):77 -> a
    56:56:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    56:56:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    56:56:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.encodeInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):84 -> a
    56:56:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):77 -> a
    57:68:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.analysis.proto.RawMessageInfoEncoder.encodeInfo(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):85:96 -> a
    57:68:com.android.tools.r8.graph.DexString encodeInfo(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):77 -> a
    1:12:java.util.List encodeObjects(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):100:111 -> b
com.android.tools.r8.ir.analysis.proto.schema.DeadProtoFieldObject -> com.android.tools.r8.internal.Ae:
    com.android.tools.r8.graph.DexString name -> b
    com.android.tools.r8.graph.DexType holder -> a
    1:3:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):20:22 -> <init>
    1:1:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):27:27 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
    77:77:java.lang.String toString():37:37 -> toString
    78:78:java.lang.String toString():37:37 -> toString
    79:79:java.lang.String toString():37:37 -> toString
    38:38:java.lang.String toString():37:37 -> toString
    39:39:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82}}
    80:80:java.lang.String toString():37:37 -> toString
    81:81:java.lang.String toString():37:37 -> toString
    82:82:java.lang.String toString():37:37 -> toString
    76:76:java.lang.String toString():37:37 -> toString
com.android.tools.r8.ir.analysis.proto.schema.LiveProtoFieldObject -> com.android.tools.r8.internal.oC:
    com.android.tools.r8.graph.DexField field -> a
    1:2:void <init>(com.android.tools.r8.graph.DexField):23:24 -> <init>
    com.android.tools.r8.ir.analysis.proto.schema.LiveProtoFieldObject asLiveProtoFieldObject() -> a
    1:1:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):34:34 -> a
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    2:2:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):34 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):35:35 -> a
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    4:4:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo.defaultForConstString(com.android.tools.r8.utils.InternalOptions):125 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):35 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    5:5:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo.defaultForConstString(com.android.tools.r8.utils.InternalOptions):125 -> a
    5:5:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):35 -> a
    6:9:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):36:39 -> a
    1:1:com.android.tools.r8.graph.DexField getField():28:28 -> g
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":56,"2":57,"3":58}}
    56:56:java.lang.String toString():54:54 -> toString
    57:57:java.lang.String toString():54:54 -> toString
    58:58:java.lang.String toString():54:54 -> toString
    55:55:java.lang.String toString():54:54 -> toString
com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension -> com.android.tools.r8.internal.eP:
    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory factory -> c
    java.util.Set dynamicMethodsWithTracedProtoObjects -> h
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.analysis.proto.ProtoReferences references -> d
    com.android.tools.r8.ir.analysis.proto.RawMessageInfoDecoder decoder -> b
    boolean $assertionsDisabled -> k
    java.util.Map extensionGraph -> j
    java.util.Map liveProtos -> e
    java.util.Map seenButNotLiveProtos -> f
    java.util.Map reachesMapOrRequiredFieldFromMessageCache -> g
    com.android.tools.r8.utils.collections.ProgramMethodSet findLiteExtensionByNumberMethods -> i
    1:1:void <clinit>():64:64 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):95:95 -> <init>
    2:30:void <init>(com.android.tools.r8.graph.AppView):72:100 -> <init>
    1:1:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    1:1:boolean lambda$markMapOrRequiredFieldsAsReachable$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):457 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    2:2:boolean lambda$markMapOrRequiredFieldsAsReachable$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):457 -> a
    3:3:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    3:3:boolean lambda$markMapOrRequiredFieldsAsReachable$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):458 -> a
    4:6:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):105:107 -> a
    7:17:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):114:124 -> a
    7:17:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    18:24:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):120:126 -> a
    18:24:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    25:25:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":29,"2":30,"3":31}}
    29:29:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):126:126 -> a
    29:29:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    30:30:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):126:126 -> a
    30:30:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    31:31:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):126:126 -> a
    31:31:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    26:26:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):126:126 -> a
    26:26:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    27:27:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":32,"2":33,"3":34,"4":35}}
    32:32:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):127:127 -> a
    32:32:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    33:33:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):127:127 -> a
    33:33:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    34:34:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):127:127 -> a
    34:34:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    35:35:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):127:127 -> a
    35:35:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    28:28:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.markGeneratedMessageLiteSubtypeAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):127:127 -> a
    28:28:void processNewlyLiveClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerWorklist):108 -> a
    36:38:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):141:143 -> a
    39:45:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):142:148 -> a
    46:46:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isDynamicMethod(com.android.tools.r8.graph.ProgramMethod):166:166 -> a
    46:46:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):148 -> a
    47:57:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):152:162 -> a
    58:66:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.createProtoMessageInfoFromDynamicMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map):167:175 -> a
    58:66:void processNewlyLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):162 -> a
    67:79:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):180:192 -> a
    80:103:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):479:502 -> a
    80:103:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    104:104:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isProtoObjectFromStaticGet():0:0 -> a
    104:104:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):502 -> a
    104:104:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    105:105:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):504:504 -> a
    105:105:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    106:106:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):503:503 -> a
    106:106:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    107:107:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isProtoTypeObject():0:0 -> a
    107:107:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):505 -> a
    107:107:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    108:108:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):507:507 -> a
    108:108:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    109:109:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.tracePendingInstructionsInDynamicMethods(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):506:506 -> a
    109:109:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):193 -> a
    110:110:void notifyFixpoint(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist,com.android.tools.r8.utils.Timing):196:196 -> a
    111:127:void lambda$populateExtensionGraph$0(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass,java.util.Set):228:244 -> a
    128:128:java.util.Set lambda$collectExtensionFields$1(com.android.tools.r8.graph.DexProgramClass):268:268 -> a
    129:130:void lambda$collectExtensionFields$2(java.util.Map,com.android.tools.r8.graph.ProgramField):268:269 -> a
    131:147:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):277:293 -> a
    148:148:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    148:148:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):293 -> a
    149:151:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):294:296 -> a
    152:152:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    152:152:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):297 -> a
    153:153:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):301:301 -> a
    154:163:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):298:307 -> a
    164:164:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):306:306 -> a
    165:165:void collectExtensionFieldsFromValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.function.Consumer):305:305 -> a
    166:174:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):316:324 -> a
    175:175:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    175:175:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):324 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    176:176:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    176:176:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):324 -> a
    177:182:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):326:331 -> a
    183:183:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    183:183:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):331 -> a
    184:195:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):332:343 -> a
    196:196:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods.isConstructor(com.android.tools.r8.graph.DexMethod):241:241 -> a
    196:196:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):343 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    197:197:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences$GeneratedExtensionMethods.isConstructor(com.android.tools.r8.graph.DexMethod):241:241 -> a
    197:197:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):343 -> a
    198:215:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):344:361 -> a
    216:218:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):360:362 -> a
    219:219:void populateExtensionGraphWithExtensionFieldDefinition(com.android.tools.r8.ir.code.StaticPut):355:355 -> a
    220:249:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):374:403 -> a
    250:261:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):402:413 -> a
    262:262:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> a
    262:262:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):413 -> a
    263:272:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):414:423 -> a
    273:273:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> a
    273:273:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):423 -> a
    274:318:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):424:468 -> a
    319:319:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):467:467 -> a
    320:324:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):518:522 -> a
    320:324:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    325:326:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):530:531 -> a
    325:326:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    325:326:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    327:327:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> a
    327:327:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):531 -> a
    327:327:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    327:327:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    328:335:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):532:539 -> a
    328:335:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    328:335:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    336:336:boolean com.android.tools.r8.graph.FieldResolutionResult.isSingleProgramFieldResolutionResult():0:0 -> a
    336:336:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):539 -> a
    336:336:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    336:336:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    337:359:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):540:562 -> a
    337:359:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    337:359:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    360:360:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> a
    360:360:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):562 -> a
    360:360:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    360:360:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    361:368:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):563:570 -> a
    361:368:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    361:368:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    369:369:boolean com.android.tools.r8.graph.FieldResolutionResult.isSingleProgramFieldResolutionResult():0:0 -> a
    369:369:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):570 -> a
    369:369:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    369:369:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    370:382:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):571:583 -> a
    370:382:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    370:382:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    383:383:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):582:582 -> a
    383:383:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    383:383:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    384:384:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectIfOneOfCaseObjectIsLive(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):577:577 -> a
    384:384:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.registerWriteToOneOfObjectsWithLiveOneOfCaseObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):523 -> a
    384:384:void markMapOrRequiredFieldsAsReachable(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerWorklist):473 -> a
    385:392:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):593:600 -> a
    393:393:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> a
    393:393:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):601 -> a
    394:406:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):601:613 -> a
    407:413:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):624:630 -> a
    414:440:boolean reachesMapOrRequiredField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):629:655 -> a
    441:461:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):664:684 -> a
    462:470:void com.android.tools.r8.ir.analysis.proto.schema.ProtoEnqueuerExtension.createProtoMessageInfoFromDynamicMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map):167:175 -> a
    462:470:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):684 -> a
    471:471:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo getOrCreateProtoMessageInfo(com.android.tools.r8.graph.DexType):686:686 -> a
    1:25:void populateExtensionGraph(com.android.tools.r8.shaking.Enqueuer):225:249 -> b
    26:26:java.util.Set lambda$populateExtensionGraphWithExtensionFieldDefinition$3(com.android.tools.r8.graph.DexType):361:361 -> b
    1:7:java.util.Map collectExtensionFields():257:263 -> c
com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo -> com.android.tools.r8.internal.hP:
    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType type -> b
    java.util.List objects -> d
    boolean $assertionsDisabled -> e
    java.util.OptionalInt auxData -> c
    int number -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:5:void <init>(int,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType,java.util.OptionalInt,java.util.List):35:39 -> <init>
    1:1:int getAuxData():47:47 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.hasAuxData():43:43 -> a
    2:2:int getAuxData():47 -> a
    3:4:int getAuxData():47:48 -> a
    5:5:void setAuxData(int):52:52 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.hasAuxData():43:43 -> a
    6:6:void setAuxData(int):52 -> a
    7:8:void setAuxData(int):52:53 -> a
    9:9:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):77:77 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> a
    10:10:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):77 -> a
    11:11:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):78:78 -> a
    12:12:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType.getActualFieldType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):30:30 -> a
    12:12:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):78 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType.getActualFieldType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):30:30 -> a
    13:13:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):78 -> a
    14:16:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):79:81 -> a
    17:17:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isProtoTypeObject():0:0 -> a
    17:17:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):81 -> a
    18:30:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):81:93 -> a
    31:31:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isProtoTypeObject():0:0 -> a
    31:31:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):93 -> a
    32:33:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):93:94 -> a
    34:35:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):87:88 -> a
    36:36:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> a
    36:36:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):88 -> a
    37:38:com.android.tools.r8.graph.DexType getBaseMessageType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):88:89 -> a
    39:39:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):126:126 -> a
    40:40:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.hasHazzerBitField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):121:121 -> a
    40:40:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):126 -> a
    41:47:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):126:132 -> a
    48:48:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> a
    48:48:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):132 -> a
    49:53:com.android.tools.r8.graph.ProgramField getHazzerBitField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):132:136 -> a
    54:54:int getHazzerBitFieldIndex(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):140:140 -> a
    55:55:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo.hasHazzerBitField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):121:121 -> a
    55:55:int getHazzerBitFieldIndex(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):140 -> a
    56:57:int getHazzerBitFieldIndex(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):140:141 -> a
    1:1:int getNumber():57:57 -> b
    2:2:boolean hasHazzerBitField(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):121:121 -> b
    3:3:com.android.tools.r8.graph.ProgramField getOneOfCaseField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):172:172 -> b
    4:4:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> b
    4:4:com.android.tools.r8.graph.ProgramField getOneOfCaseField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):172 -> b
    5:7:com.android.tools.r8.graph.ProgramField getOneOfCaseField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):172:174 -> b
    8:8:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> b
    8:8:com.android.tools.r8.graph.ProgramField getOneOfCaseField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):174 -> b
    9:13:com.android.tools.r8.graph.ProgramField getOneOfCaseField(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):174:178 -> b
    1:1:java.util.List getObjects():61:61 -> c
    2:2:com.android.tools.r8.graph.ProgramField getValueStorage(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):190:190 -> c
    3:3:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> c
    3:3:com.android.tools.r8.graph.ProgramField getValueStorage(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):190 -> c
    4:6:com.android.tools.r8.graph.ProgramField getValueStorage(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):191:193 -> c
    7:7:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> c
    7:7:com.android.tools.r8.graph.ProgramField getValueStorage(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):193 -> c
    8:12:com.android.tools.r8.graph.ProgramField getValueStorage(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo):193:197 -> c
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType getType():65:65 -> d
    1:1:boolean hasAuxData():43:43 -> e
    1:15:java.lang.String toString():202:216 -> toString
com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject -> com.android.tools.r8.internal.iP:
    1:1:void <init>():7:7 -> <init>
    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject asProtoFieldObject() -> b
    boolean isProtoFieldObject() -> f
com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType -> com.android.tools.r8.internal.jP:
    boolean isMapFieldWithProto2EnumValue -> e
    boolean hasHasBit -> f
    boolean $assertionsDisabled -> g
    boolean isRequired -> b
    boolean enforceUtf8Mask -> c
    int id -> a
    boolean needsIsInitializedCheck -> d
    1:1:void <clinit>():12:12 -> <clinit>
    1:8:void <init>(int,boolean,boolean,boolean,boolean,boolean):43:50 -> <init>
    com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType asOneOf() -> a
    1:1:boolean hasAuxData(boolean):75:75 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.hasHasBit():82:82 -> a
    2:2:boolean hasAuxData(boolean):76 -> a
    3:12:int numberOfObjects(boolean,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):143:152 -> a
    13:13:int numberOfObjects(boolean,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):150:150 -> a
    1:1:int id():86:86 -> b
    1:1:boolean isGroup():90:90 -> c
    1:1:boolean isGroupList():94:94 -> d
    1:1:boolean isMap():98:98 -> e
    1:1:boolean isMessage():106:106 -> f
    1:1:boolean isMessageList():110:110 -> g
    1:1:boolean isRepeated():122:122 -> h
    1:1:boolean isRequired():126:126 -> i
    1:1:boolean isSingular():130:130 -> j
    1:1:boolean isValid():134:134 -> k
    1:1:boolean needsIsInitializedCheck():139:139 -> l
    1:14:int serialize():159:172 -> m
com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory -> com.android.tools.r8.internal.kP:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap fieldTypes -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():10:10 -> <clinit>
    1:3:void <init>():10:12 -> <init>
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType createField(int):15:15 -> a
    2:16:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.fromFieldIdWithExtraBits(int):56:70 -> a
    2:16:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType createField(int):17 -> a
    17:18:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType createField(int):18:19 -> a
com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo -> com.android.tools.r8.internal.oP:
    java.util.LinkedList hasBitsObjects -> d
    java.util.LinkedList oneOfObjects -> e
    int flags -> b
    com.android.tools.r8.graph.ProgramMethod dynamicMethod -> a
    java.util.LinkedList fields -> c
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,int,java.util.LinkedList,java.util.LinkedList,java.util.LinkedList,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$1):19:19 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.ProgramMethod,int,java.util.LinkedList,java.util.LinkedList,java.util.LinkedList):196:201 -> <init>
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$Builder builder(com.android.tools.r8.graph.ProgramMethod):205:205 -> a
    2:2:com.android.tools.r8.graph.ProgramMethod getDynamicMethod():213:213 -> a
    1:1:java.util.List getFields():217:217 -> b
    1:1:int getFlags():221:221 -> c
    1:1:java.util.List getHasBitsObjects():225:225 -> d
    1:1:java.util.List getOneOfObjects():229:229 -> e
    1:1:com.android.tools.r8.graph.DexType getType():233:233 -> f
    1:1:boolean hasFields():237:237 -> g
    1:1:boolean isProto2():209:209 -> h
    1:1:int numberOfFields():241:241 -> i
    1:1:int numberOfHasBitsObjects():245:245 -> j
    1:1:int numberOfOneOfObjects():249:249 -> k
    1:9:java.lang.String toString():254:262 -> toString
com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$Builder -> com.android.tools.r8.internal.mP:
    java.util.LinkedList hasBitsObjects -> d
    java.util.LinkedList oneOfObjects -> e
    boolean $assertionsDisabled -> f
    int flags -> b
    com.android.tools.r8.graph.ProgramMethod dynamicMethod -> a
    java.util.LinkedList fields -> c
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$1):23:23 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.ProgramMethod):33:34 -> <init>
    1:1:void setFlags(int):38:38 -> a
    2:5:void addField(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):42:45 -> a
    6:9:void addHasBitsObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject):49:52 -> a
    10:13:void addOneOfObject(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject):56:59 -> a
    14:16:com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo build():63:65 -> a
    17:17:boolean lambda$removeUnusedSharedData$1(com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair):131:131 -> a
    1:10:void removeDeadFields():69:78 -> b
    11:11:boolean lambda$removeDeadFields$0(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):73:73 -> b
    12:12:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> b
    12:12:boolean lambda$removeDeadFields$0(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):73 -> b
    13:15:boolean lambda$removeDeadFields$0(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):74:76 -> b
    16:16:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isDeadProtoFieldObject():0:0 -> b
    16:16:boolean lambda$removeDeadFields$0(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldInfo):76 -> b
    1:8:void removeUnusedSharedData():83:90 -> c
    9:9:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> c
    9:9:void removeUnusedSharedData():90 -> c
    10:10:void removeUnusedSharedData():91:91 -> c
    11:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> c
    11:11:void removeUnusedSharedData():91 -> c
    12:14:void removeUnusedSharedData():92:94 -> c
    15:15:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> c
    15:15:void removeUnusedSharedData():94 -> c
    16:26:void removeUnusedSharedData():95:105 -> c
    27:27:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isLiveProtoFieldObject():0:0 -> c
    27:27:void removeUnusedSharedData():105 -> c
    28:51:void removeUnusedSharedData():106:129 -> c
    52:77:void removeUnusedSharedData():128:153 -> c
    78:78:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoObject.isDeadProtoFieldObject():0:0 -> c
    78:78:void removeUnusedSharedData():153 -> c
    79:89:void removeUnusedSharedData():154:164 -> c
    90:90:boolean com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType.isOneOf():0:0 -> c
    90:90:void removeUnusedSharedData():164 -> c
    91:98:void removeUnusedSharedData():165:172 -> c
    99:99:void removeUnusedSharedData():171:171 -> c
    100:101:void removeUnusedSharedData():84:85 -> c
com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$ProtoMessageInfoBuilderException -> com.android.tools.r8.internal.nP:
    1:1:void <init>(com.android.tools.r8.ir.analysis.proto.schema.ProtoMessageInfo$1):180:180 -> <init>
    2:2:void <init>():181:181 -> <init>
com.android.tools.r8.ir.analysis.proto.schema.ProtoObject -> com.android.tools.r8.internal.uP:
    1:1:void <init>():11:11 -> <init>
    com.android.tools.r8.ir.analysis.proto.schema.LiveProtoFieldObject asLiveProtoFieldObject() -> a
    com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode) -> a
    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject asProtoFieldObject() -> b
    com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromStaticGet asProtoObjectFromStaticGet() -> c
    com.android.tools.r8.ir.analysis.proto.schema.ProtoTypeObject asProtoTypeObject() -> d
    boolean isDeadProtoFieldObject() -> e
    boolean isProtoFieldObject() -> f
com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromInvokeStatic -> com.android.tools.r8.internal.vP:
    com.android.tools.r8.graph.DexMethod method -> a
    1:2:void <init>(com.android.tools.r8.graph.DexMethod):21:22 -> <init>
    1:3:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):27:29 -> a
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    4:4:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):28 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):30:30 -> a
com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromStaticGet -> com.android.tools.r8.internal.wP:
    com.android.tools.r8.graph.DexField field -> a
    1:2:void <init>(com.android.tools.r8.graph.DexField):20:21 -> <init>
    1:2:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):30:31 -> a
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    3:3:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):31 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):32:32 -> a
    com.android.tools.r8.ir.analysis.proto.schema.ProtoObjectFromStaticGet asProtoObjectFromStaticGet() -> c
    1:1:com.android.tools.r8.graph.DexField getField():25:25 -> g
com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType -> com.android.tools.r8.internal.xP:
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(int,boolean,boolean,boolean,boolean,boolean):20:20 -> <init>
    com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType asOneOf() -> a
    boolean hasAuxData(boolean) -> a
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldType com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfFieldType.getActualFieldType(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):30:30 -> a
    1:1:int numberOfObjects(boolean,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):66 -> a
    2:7:int numberOfObjects(boolean,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldTypeFactory):67:72 -> a
    boolean isRepeated() -> h
    boolean isSingular() -> j
    1:1:boolean isValid():60:60 -> k
com.android.tools.r8.ir.analysis.proto.schema.ProtoOneOfObjectPair -> com.android.tools.r8.internal.yP:
    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject oneOfCaseObject -> b
    com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject oneOfObject -> a
    1:3:void <init>(com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject,com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject):15:17 -> <init>
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject getOneOfCaseObject():25:25 -> a
    2:3:void forEach(java.util.function.Consumer):29:30 -> a
    1:1:com.android.tools.r8.ir.analysis.proto.schema.ProtoFieldObject getOneOfObject():21:21 -> b
    1:1:java.util.stream.Stream stream():34:34 -> c
com.android.tools.r8.ir.analysis.proto.schema.ProtoTypeObject -> com.android.tools.r8.internal.GP:
    com.android.tools.r8.graph.DexType type -> a
    1:2:void <init>(com.android.tools.r8.graph.DexType):16:17 -> <init>
    1:1:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):26:26 -> a
    2:2:com.android.tools.r8.ir.code.ConstClass com.android.tools.r8.ir.code.IRCode.createConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):1208:1208 -> a
    2:2:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):26 -> a
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    3:3:com.android.tools.r8.ir.code.ConstClass com.android.tools.r8.ir.code.IRCode.createConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):1208 -> a
    3:3:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):26 -> a
    4:4:com.android.tools.r8.ir.code.ConstClass com.android.tools.r8.ir.code.IRCode.createConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):1209:1209 -> a
    4:4:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):26 -> a
    5:5:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> a
    5:5:com.android.tools.r8.ir.code.ConstClass com.android.tools.r8.ir.code.IRCode.createConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):1209 -> a
    5:5:com.android.tools.r8.ir.code.Instruction buildIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):26 -> a
    com.android.tools.r8.ir.analysis.proto.schema.ProtoTypeObject asProtoTypeObject() -> d
    1:1:com.android.tools.r8.graph.DexType getType():21:21 -> g
com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis -> com.android.tools.r8.internal.ea:
    1:13:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):43:55 -> a
    14:14:boolean com.android.tools.r8.ir.code.Instruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):629:629 -> a
    14:14:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):56 -> a
    15:15:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> a
    15:15:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):63 -> a
    16:16:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    16:16:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):64 -> a
    17:47:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):65:95 -> a
    48:91:com.android.tools.r8.ir.analysis.sideeffect.ClassInitializerSideEffectAnalysis$ClassInitializerSideEffect classInitializerCanBePostponed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):66:109 -> a
com.android.tools.r8.ir.analysis.type.ArrayTypeElement -> com.android.tools.r8.internal.q3:
    com.android.tools.r8.ir.analysis.type.NullabilityVariants variants -> g
    boolean $assertionsDisabled -> h
    com.android.tools.r8.ir.analysis.type.TypeElement memberTypeLattice -> f
    1:1:void <clinit>():16:16 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.NullabilityVariants):32:35 -> <init>
    1:3:com.android.tools.r8.ir.analysis.type.TypeElement getBaseType():74:76 -> I
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getMemberType():66:66 -> J
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getMemberTypeAsValueType():70:70 -> K
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBoolean():0:0 -> K
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():388 -> K
    2:2:com.android.tools.r8.ir.analysis.type.TypeElement getMemberTypeAsValueType():70 -> K
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isByte():0:0 -> K
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():389 -> K
    3:3:com.android.tools.r8.ir.analysis.type.TypeElement getMemberTypeAsValueType():70 -> K
    4:4:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isShort():0:0 -> K
    4:4:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():390 -> K
    4:4:com.android.tools.r8.ir.analysis.type.TypeElement getMemberTypeAsValueType():70 -> K
    5:5:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isChar():0:0 -> K
    5:5:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():391 -> K
    5:5:com.android.tools.r8.ir.analysis.type.TypeElement getMemberTypeAsValueType():70 -> K
    6:6:com.android.tools.r8.ir.analysis.type.TypeElement getMemberTypeAsValueType():70:70 -> K
    1:4:int getNesting():52:55 -> L
    com.android.tools.r8.ir.analysis.type.ArrayTypeElement asArrayType() -> a
    1:1:com.android.tools.r8.ir.analysis.type.ArrayTypeElement create(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):24:24 -> a
    2:2:com.android.tools.r8.ir.analysis.type.ArrayTypeElement lambda$create$0(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.NullabilityVariants):25:25 -> a
    3:4:com.android.tools.r8.ir.analysis.type.ArrayTypeElement createVariant(com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.NullabilityVariants):83:84 -> a
    5:9:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateVariant(com.android.tools.r8.ir.analysis.type.Nullability):89:93 -> a
    10:10:boolean isBasedOnMissingClass(com.android.tools.r8.graph.AppView):98:98 -> a
    11:15:com.android.tools.r8.ir.analysis.type.ArrayTypeElement com.android.tools.r8.ir.analysis.type.ArrayTypeElement.fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function,java.util.Set):141:145 -> a
    11:15:com.android.tools.r8.ir.analysis.type.TypeElement fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function,java.util.Set):16 -> a
    16:27:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement join(com.android.tools.r8.ir.analysis.type.ArrayTypeElement,com.android.tools.r8.graph.AppView):152:163 -> a
    28:38:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement joinMember(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):170:180 -> a
    39:50:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement joinMember(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):176:187 -> a
    51:53:com.android.tools.r8.ir.analysis.type.ArrayTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.objectArrayType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):429:431 -> a
    51:53:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement joinMember(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):190 -> a
    54:56:com.android.tools.r8.ir.analysis.type.ArrayTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.objectArrayType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):430:432 -> a
    54:56:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement joinMember(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):190 -> a
    57:57:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.objectClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):425:425 -> a
    57:57:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement joinMember(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):188 -> a
    1:9:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):39:47 -> b
    1:8:boolean equals(java.lang.Object):121:128 -> equals
    1:1:int hashCode():133:133 -> hashCode
    boolean isArrayType() -> r
    1:1:java.lang.String toString():113:113 -> toString
com.android.tools.r8.ir.analysis.type.BooleanTypeElement -> com.android.tools.r8.internal.D5:
    com.android.tools.r8.ir.analysis.type.BooleanTypeElement INSTANCE -> e
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.BooleanTypeElement getInstance():11:11 -> F
    1:1:int hashCode():31:31 -> hashCode
    1:1:java.lang.String toString():21:21 -> toString
com.android.tools.r8.ir.analysis.type.BottomTypeElement -> com.android.tools.r8.internal.Q5:
    com.android.tools.r8.ir.analysis.type.BottomTypeElement INSTANCE -> c
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.Nullability nullability():11:11 -> C
    1:1:com.android.tools.r8.ir.analysis.type.BottomTypeElement getInstance():15:15 -> E
    1:1:int hashCode():35:35 -> hashCode
    1:1:java.lang.String toString():25:25 -> toString
com.android.tools.r8.ir.analysis.type.ByteTypeElement -> com.android.tools.r8.internal.g6:
    com.android.tools.r8.ir.analysis.type.ByteTypeElement INSTANCE -> e
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.ByteTypeElement getInstance():11:11 -> F
    1:1:int hashCode():31:31 -> hashCode
    1:1:java.lang.String toString():21:21 -> toString
com.android.tools.r8.ir.analysis.type.CharTypeElement -> com.android.tools.r8.internal.k9:
    com.android.tools.r8.ir.analysis.type.CharTypeElement INSTANCE -> e
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.CharTypeElement getInstance():11:11 -> F
    1:1:int hashCode():31:31 -> hashCode
    1:1:java.lang.String toString():21:21 -> toString
com.android.tools.r8.ir.analysis.type.ClassTypeElement -> com.android.tools.r8.internal.Xa:
    com.android.tools.r8.graph.DexType type -> i
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.AppView appView -> g
    com.android.tools.r8.ir.analysis.type.InterfaceCollection lazyInterfaces -> f
    com.android.tools.r8.ir.analysis.type.NullabilityVariants variants -> h
    1:1:void <clinit>():31:31 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.NullabilityVariants,com.android.tools.r8.graph.AppView):79:82 -> <init>
    5:12:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.NullabilityVariants,com.android.tools.r8.graph.AppView):80:87 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.asMeetWithNotNull():145:145 -> G
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement asMeetWithNotNull():31 -> G
    1:1:com.android.tools.r8.graph.DexType getClassType():91:91 -> I
    1:7:com.android.tools.r8.ir.analysis.type.InterfaceCollection getInterfaces():95:101 -> J
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateVariant(com.android.tools.r8.ir.analysis.type.Nullability):31:31 -> a
    2:5:com.android.tools.r8.ir.analysis.type.ClassTypeElement create(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection):46:49 -> a
    6:6:com.android.tools.r8.ir.analysis.type.ClassTypeElement lambda$create$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.NullabilityVariants):51:51 -> a
    7:7:com.android.tools.r8.ir.analysis.type.ClassTypeElement lambda$create$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.NullabilityVariants):62:62 -> a
    8:8:com.android.tools.r8.ir.analysis.type.ClassTypeElement createForD8(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):66:66 -> a
    9:10:com.android.tools.r8.ir.analysis.type.ClassTypeElement lambda$createForD8$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.NullabilityVariants):69:70 -> a
    11:12:com.android.tools.r8.ir.analysis.type.ClassTypeElement createVariant(com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.NullabilityVariants):108:109 -> a
    13:15:boolean isBasedOnMissingClass(com.android.tools.r8.graph.AppView):123:125 -> a
    16:16:boolean lambda$isBasedOnMissingClass$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.lang.Boolean):125:125 -> a
    17:18:java.lang.String lambda$toString$4(com.android.tools.r8.utils.Pair):182:183 -> a
    19:19:java.lang.String lambda$toString$4(com.android.tools.r8.utils.Pair):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":204,"2":205,"3":206}}
    204:204:java.lang.String lambda$toString$4(com.android.tools.r8.utils.Pair):184:184 -> a
    205:205:java.lang.String lambda$toString$4(com.android.tools.r8.utils.Pair):184:184 -> a
    206:206:java.lang.String lambda$toString$4(com.android.tools.r8.utils.Pair):184:184 -> a
    203:203:java.lang.String lambda$toString$4(com.android.tools.r8.utils.Pair):184:184 -> a
    207:264:com.android.tools.r8.ir.analysis.type.TypeElement fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function,java.util.Set):201:258 -> a
    265:265:com.android.tools.r8.ir.analysis.type.TypeElement fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function,java.util.Set):212:212 -> a
    266:276:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):222:232 -> a
    277:277:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":518,"2":519,"3":520}}
    518:518:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):232:232 -> a
    519:519:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):232:232 -> a
    520:520:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):232:232 -> a
    511:511:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):234:234 -> a
    512:512:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    512:512:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):234 -> a
    513:517:void lambda$fixupClassTypeReferences$5(java.util.Set,java.util.function.Function,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType,java.lang.Boolean):234:238 -> a
    521:523:void lambda$fixupClassTypeReferences$6(java.util.function.Function,com.android.tools.r8.ir.analysis.type.InterfaceCollection$Builder,com.android.tools.r8.graph.DexType,java.lang.Boolean):251:253 -> a
    524:533:com.android.tools.r8.ir.analysis.type.ClassTypeElement join(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.AppView):262:271 -> a
    534:534:com.android.tools.r8.ir.analysis.type.ClassTypeElement join(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.AppView):267:267 -> a
    535:559:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinWithClassHierarchy(com.android.tools.r8.ir.analysis.type.ClassTypeElement):277:301 -> a
    535:559:com.android.tools.r8.ir.analysis.type.ClassTypeElement join(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.AppView):273 -> a
    560:560:com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.createUnmarked():341:341 -> a
    560:560:com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker lambda$computeLeastUpperBoundOfInterfaces$9(com.android.tools.r8.graph.DexType):468 -> a
    561:590:com.android.tools.r8.graph.DexType computeLeastUpperBoundOfClasses(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):402:431 -> a
    591:595:com.android.tools.r8.ir.analysis.type.InterfaceCollection computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.InterfaceCollection):443:447 -> a
    596:596:java.lang.Object com.android.tools.r8.utils.LRUCacheTable.get(java.lang.Object,java.lang.Object):55:55 -> a
    596:596:com.android.tools.r8.ir.analysis.type.InterfaceCollection computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.InterfaceCollection):447 -> a
    597:601:com.android.tools.r8.ir.analysis.type.InterfaceCollection computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.InterfaceCollection):447:451 -> a
    602:602:java.lang.Object com.android.tools.r8.utils.LRUCacheTable.get(java.lang.Object,java.lang.Object):55:55 -> a
    602:602:com.android.tools.r8.ir.analysis.type.InterfaceCollection computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.InterfaceCollection):451 -> a
    603:661:com.android.tools.r8.ir.analysis.type.InterfaceCollection computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.InterfaceCollection):451:509 -> a
    662:662:com.android.tools.r8.ir.analysis.type.InterfaceCollection computeLeastUpperBoundOfInterfaces(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.ir.analysis.type.InterfaceCollection):444:444 -> a
    663:663:void lambda$computeLeastUpperBoundOfInterfaces$7(java.util.Queue,com.android.tools.r8.graph.DexType,java.lang.Boolean):459:459 -> a
    664:664:com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.forLeft(boolean):333:333 -> a
    664:664:void lambda$computeLeastUpperBoundOfInterfaces$7(java.util.Queue,com.android.tools.r8.graph.DexType,java.lang.Boolean):459 -> a
    665:665:void lambda$computeLeastUpperBoundOfInterfaces$7(java.util.Queue,com.android.tools.r8.graph.DexType,java.lang.Boolean):459:459 -> a
    666:667:void lambda$computeLeastUpperBoundOfInterfaces$10(java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):484:485 -> a
    com.android.tools.r8.ir.analysis.type.ClassTypeElement asClassType() -> b
    1:3:com.android.tools.r8.ir.analysis.type.ClassTypeElement create(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):58:60 -> b
    4:8:com.android.tools.r8.ir.analysis.type.ClassTypeElement getOrCreateVariant(com.android.tools.r8.ir.analysis.type.Nullability):114:118 -> b
    9:15:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):159:165 -> b
    16:16:void lambda$computeLeastUpperBoundOfInterfaces$8(java.util.Queue,com.android.tools.r8.graph.DexType,java.lang.Boolean):462:462 -> b
    17:17:com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.forRight(boolean):337:337 -> b
    17:17:void lambda$computeLeastUpperBoundOfInterfaces$8(java.util.Queue,com.android.tools.r8.graph.DexType,java.lang.Boolean):462 -> b
    18:18:void lambda$computeLeastUpperBoundOfInterfaces$8(java.util.Queue,com.android.tools.r8.graph.DexType,java.lang.Boolean):462:462 -> b
    1:11:boolean equals(java.lang.Object):519:529 -> equals
    1:1:int hashCode():193:193 -> hashCode
    boolean isClassType() -> s
    1:16:java.lang.String toString():170:185 -> toString
    17:26:java.lang.String toString():178:187 -> toString
com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker -> com.android.tools.r8.internal.Va:
    com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker LEFT_KNOWN -> c
    com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker RIGHT_UNKNOWN -> f
    com.android.tools.r8.utils.OptionalBool left -> a
    com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker RIGHT_KNOWN -> e
    com.android.tools.r8.utils.OptionalBool right -> b
    com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker LEFT_UNKNOWN -> d
    boolean $assertionsDisabled -> g
    1:17:void <clinit>():313:329 -> <clinit>
    1:4:void <init>(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.utils.OptionalBool):344:347 -> <init>
    1:1:boolean isMarkedOnBothSides():355:355 -> a
    2:2:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):369:369 -> a
    3:3:boolean com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.isMarked():351:351 -> a
    3:3:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):369 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.isMarked():351:351 -> a
    4:4:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):369 -> a
    5:9:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):369:373 -> a
    10:11:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.knownIfAnyIsKnown(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.utils.OptionalBool):359:360 -> a
    10:11:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):373 -> a
    12:17:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):373:378 -> a
    18:19:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker.knownIfAnyIsKnown(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.utils.OptionalBool):359:360 -> a
    18:19:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):378 -> a
    20:22:boolean merge(com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):378:380 -> a
    1:2:boolean knownIfBothAreKnown():364:365 -> b
com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceWithMarker -> com.android.tools.r8.internal.Wa:
    com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker marker -> b
    com.android.tools.r8.graph.DexType itf -> a
    1:3:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement$InterfaceMarker):389:391 -> <init>
com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater -> com.android.tools.r8.internal.tf:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    java.util.function.Function mapping -> b
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):31:31 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Function):35:37 -> <init>
    1:1:com.android.tools.r8.graph.DexType lambda$new$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):31:31 -> a
    2:12:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):44:54 -> a
    13:18:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllChangedPhisAreScheduled(com.android.tools.r8.ir.code.IRCode,java.util.Set):100:105 -> a
    13:18:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):54 -> a
    19:19:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function):77:77 -> a
    19:19:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllChangedPhisAreScheduled(com.android.tools.r8.ir.code.IRCode,java.util.Set):105 -> a
    19:19:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):54 -> a
    20:20:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllChangedPhisAreScheduled(com.android.tools.r8.ir.code.IRCode,java.util.Set):106:106 -> a
    20:20:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):54 -> a
    21:21:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57:57 -> a
    22:27:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):82:87 -> a
    22:27:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    28:28:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    28:28:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):87 -> a
    28:28:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    29:31:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):87:89 -> a
    29:31:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    32:32:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> a
    32:32:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):90 -> a
    32:32:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    33:33:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):91:91 -> a
    33:33:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    34:34:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function):77:77 -> a
    34:34:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):92 -> a
    34:34:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    35:35:boolean com.android.tools.r8.ir.analysis.type.DestructivePhiTypeUpdater.verifyAllPhiOperandsAreBottom(java.util.Set):88:88 -> a
    35:35:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):57 -> a
    36:42:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):59:65 -> a
    43:43:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    43:43:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):65 -> a
    44:51:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):65:72 -> a
    52:52:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    52:52:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):72 -> a
    53:58:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):72:77 -> a
    59:59:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    59:59:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):77 -> a
    60:60:void recomputeAndPropagateTypes(com.android.tools.r8.ir.code.IRCode,java.util.Set):77:77 -> a
com.android.tools.r8.ir.analysis.type.DoubleTypeElement -> com.android.tools.r8.internal.Ah:
    com.android.tools.r8.ir.analysis.type.DoubleTypeElement INSTANCE -> e
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.DoubleTypeElement getInstance():11:11 -> F
    1:1:int hashCode():26:26 -> hashCode
    1:1:java.lang.String toString():21:21 -> toString
com.android.tools.r8.ir.analysis.type.DynamicType -> com.android.tools.r8.internal.Jh:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>():22:22 -> <init>
    com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound asDynamicTypeWithUpperBound() -> a
    com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.ir.analysis.type.TypeElement) -> a
    com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set) -> a
    1:9:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):27:35 -> a
    10:10:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):42:42 -> a
    11:11:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    11:11:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):42 -> a
    12:12:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.bottom():79:79 -> a
    12:12:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):43 -> a
    13:13:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> a
    13:13:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):45 -> a
    14:14:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNull():83:83 -> a
    14:14:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):46 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    15:15:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):48 -> a
    16:16:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.unknown():91:91 -> a
    16:16:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):49 -> a
    17:19:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):52:54 -> a
    20:20:com.android.tools.r8.ir.analysis.type.ExactDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.createExact(com.android.tools.r8.ir.analysis.type.ClassTypeElement):65:65 -> a
    20:20:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):55 -> a
    21:21:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):58:58 -> a
    22:25:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):57:60 -> a
    26:29:boolean com.android.tools.r8.ir.analysis.type.DynamicType.verifyNotEffectivelyFinalClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):192:195 -> a
    26:29:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):60 -> a
    30:30:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):61:61 -> a
    31:31:com.android.tools.r8.ir.analysis.type.ExactDynamicType createExact(com.android.tools.r8.ir.analysis.type.ClassTypeElement):65:65 -> a
    32:36:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):70:74 -> a
    37:39:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):73:75 -> a
    40:40:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.bottom():79:79 -> a
    40:40:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,java.lang.Iterable):96 -> a
    41:42:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,java.lang.Iterable):97:98 -> a
    43:60:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):159:176 -> a
    61:61:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):169:169 -> a
    62:62:com.android.tools.r8.ir.analysis.type.NotNullDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNotNull():87:87 -> a
    62:62:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):172 -> a
    63:63:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.unknown():91:91 -> a
    63:63:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):170 -> a
    64:64:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.unknown():91:91 -> a
    64:64:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):166 -> a
    1:1:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound bottom():79:79 -> b
    1:1:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound definitelyNull():83:83 -> c
    com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType() -> d
    com.android.tools.r8.ir.analysis.type.ClassTypeElement getExactClassType() -> e
    com.android.tools.r8.ir.analysis.type.Nullability getNullability() -> f
    boolean hasDynamicLowerBoundType() -> g
    boolean isBottom() -> h
    boolean isDynamicTypeWithUpperBound() -> i
    1:1:boolean isExactClassType():143:143 -> j
    boolean isNotNullType() -> k
    boolean isNullType() -> l
    boolean isUnknown() -> m
    1:1:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound unknown():91:91 -> n
com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound -> com.android.tools.r8.internal.Lh:
    com.android.tools.r8.ir.analysis.type.ClassTypeElement dynamicLowerBoundType -> h
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():11:11 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):17:20 -> <init>
    1:7:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):27:33 -> a
    8:8:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):32:32 -> a
    9:13:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):30:34 -> a
    14:14:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicUpperBoundType():39:39 -> a
    14:14:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):69 -> a
    14:14:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):11 -> a
    15:18:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):69:72 -> a
    15:18:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):11 -> a
    19:19:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicUpperBoundType():39:39 -> a
    19:19:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):73 -> a
    19:19:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):11 -> a
    20:20:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    20:20:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):11 -> a
    21:21:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicLowerBoundType():49:49 -> a
    21:21:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):74 -> a
    21:21:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):11 -> a
    22:22:com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):74:74 -> a
    22:22:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):11 -> a
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType():49:49 -> d
    1:4:boolean equals(java.lang.Object):54:57 -> equals
    5:6:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicUpperBoundType():39:39 -> equals
    5:6:boolean equals(java.lang.Object):58 -> equals
    7:7:boolean equals(java.lang.Object):58:58 -> equals
    8:9:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicLowerBoundType():49:49 -> equals
    8:9:boolean equals(java.lang.Object):59 -> equals
    10:10:boolean equals(java.lang.Object):59:59 -> equals
    1:1:int hashCode():64:64 -> hashCode
    2:2:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicUpperBoundType():39:39 -> hashCode
    2:2:int hashCode():64 -> hashCode
    3:3:int hashCode():64:64 -> hashCode
    4:4:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicLowerBoundType():49:49 -> hashCode
    4:4:int hashCode():64 -> hashCode
    5:5:int hashCode():64:64 -> hashCode
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithLowerBound.getDynamicUpperBoundType():39:39 -> o
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType():11 -> o
com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound -> com.android.tools.r8.internal.Mh:
    com.android.tools.r8.ir.analysis.type.TypeElement dynamicUpperBoundType -> c
    com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound NULL_TYPE -> e
    com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound BOTTOM -> d
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound UNKNOWN -> f
    1:8:void <clinit>():23:30 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.analysis.type.TypeElement):34:36 -> <init>
    com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound asDynamicTypeWithUpperBound() -> a
    1:1:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):52:52 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):52 -> a
    3:3:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.bottom():79:79 -> a
    3:3:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):53 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> a
    4:4:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):55 -> a
    5:5:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNull():83:83 -> a
    5:5:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):56 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    6:6:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):58 -> a
    7:7:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.unknown():91:91 -> a
    7:7:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):59 -> a
    8:10:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):62:64 -> a
    11:11:com.android.tools.r8.ir.analysis.type.ExactDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.createExact(com.android.tools.r8.ir.analysis.type.ClassTypeElement):65:65 -> a
    11:11:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):65 -> a
    12:12:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):68:68 -> a
    13:16:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):67:70 -> a
    17:20:boolean com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.verifyNotEffectivelyFinalClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):271:274 -> a
    17:20:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):70 -> a
    21:21:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.ClassTypeElement):71:71 -> a
    22:25:boolean com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):85:88 -> a
    22:25:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):42 -> a
    26:28:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):43:45 -> a
    29:29:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.ir.analysis.type.TypeElement):100:100 -> a
    30:30:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):163:163 -> a
    31:34:boolean com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):85:88 -> a
    31:34:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):165 -> a
    35:35:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):166:166 -> a
    36:38:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):177:179 -> a
    36:38:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    39:39:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinNullability(com.android.tools.r8.ir.analysis.type.Nullability):150:150 -> a
    39:39:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):179 -> a
    39:39:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    40:40:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinNullability(com.android.tools.r8.ir.analysis.type.Nullability):150:150 -> a
    40:40:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):179 -> a
    40:40:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    41:43:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):183:185 -> a
    41:43:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    44:44:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinNullability(com.android.tools.r8.ir.analysis.type.Nullability):150:150 -> a
    44:44:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):185 -> a
    44:44:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    45:45:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinNullability(com.android.tools.r8.ir.analysis.type.Nullability):150:150 -> a
    45:45:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):185 -> a
    45:45:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    46:52:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):189:195 -> a
    46:52:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    53:53:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinNullability(com.android.tools.r8.ir.analysis.type.Nullability):150:150 -> a
    53:53:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):195 -> a
    53:53:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    54:55:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):197:198 -> a
    54:55:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    56:56:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.joinNullability(com.android.tools.r8.ir.analysis.type.Nullability):150:150 -> a
    56:56:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.meetDynamicLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):198 -> a
    56:56:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):167 -> a
    57:61:com.android.tools.r8.ir.analysis.type.DynamicType join(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):168:172 -> a
    62:77:com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):206:221 -> a
    78:88:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):281:291 -> a
    1:23:boolean strictlyLessThan(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.graph.AppView):230:252 -> b
    com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType() -> d
    1:3:com.android.tools.r8.ir.analysis.type.ClassTypeElement getExactClassType():124:126 -> e
    1:5:boolean equals(java.lang.Object):257:261 -> equals
    1:1:com.android.tools.r8.ir.analysis.type.Nullability getNullability():132:132 -> f
    boolean hasDynamicLowerBoundType() -> g
    1:1:boolean isBottom():137:137 -> h
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> h
    2:2:boolean isBottom():137 -> h
    1:1:int hashCode():266:266 -> hashCode
    boolean isDynamicTypeWithUpperBound() -> i
    1:1:boolean isExactClassType():119:119 -> j
    1:1:boolean isNullType():152:152 -> l
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> l
    2:2:boolean isNullType():152 -> l
    1:1:boolean isUnknown():157:157 -> m
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> m
    2:2:boolean isUnknown():157 -> m
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType():104:104 -> o
com.android.tools.r8.ir.analysis.type.ExactDynamicType -> com.android.tools.r8.internal.kj:
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.analysis.type.ClassTypeElement):16:16 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getExactClassType():31:31 -> a
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):48 -> a
    2:5:com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):48:51 -> a
    6:6:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.analysis.type.DynamicType.unknown():91:91 -> a
    6:6:com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):52 -> a
    7:10:com.android.tools.r8.ir.analysis.type.ExactDynamicType com.android.tools.r8.ir.analysis.type.ExactDynamicType.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):57:60 -> a
    7:10:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):13 -> a
    11:11:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getExactClassType():31:31 -> a
    11:11:com.android.tools.r8.ir.analysis.type.ExactDynamicType com.android.tools.r8.ir.analysis.type.ExactDynamicType.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):60 -> a
    11:11:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):13 -> a
    12:12:com.android.tools.r8.ir.analysis.type.ExactDynamicType com.android.tools.r8.ir.analysis.type.ExactDynamicType.withNullability(com.android.tools.r8.ir.analysis.type.Nullability):60:60 -> a
    12:12:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound withNullability(com.android.tools.r8.ir.analysis.type.Nullability):13 -> a
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getExactClassType():31:31 -> d
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType():26 -> d
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement getExactClassType():31:31 -> e
    1:4:boolean equals(java.lang.Object):65:68 -> equals
    5:6:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getExactClassType():31:31 -> equals
    5:6:boolean equals(java.lang.Object):69 -> equals
    7:7:boolean equals(java.lang.Object):69:69 -> equals
    boolean hasDynamicLowerBoundType() -> g
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getExactClassType():31:31 -> hashCode
    1:1:int hashCode():74 -> hashCode
    2:2:int hashCode():74:74 -> hashCode
    boolean isExactClassType() -> j
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getExactClassType():31:31 -> o
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ExactDynamicType.getDynamicUpperBoundType():21 -> o
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType():13 -> o
com.android.tools.r8.ir.analysis.type.FloatTypeElement -> com.android.tools.r8.internal.Ok:
    com.android.tools.r8.ir.analysis.type.FloatTypeElement INSTANCE -> e
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.FloatTypeElement getInstance():10:10 -> F
    1:1:int hashCode():25:25 -> hashCode
    1:1:java.lang.String toString():20:20 -> toString
com.android.tools.r8.ir.analysis.type.IntTypeElement -> com.android.tools.r8.internal.It:
    com.android.tools.r8.ir.analysis.type.IntTypeElement INSTANCE -> e
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.IntTypeElement getInstance():10:10 -> F
    1:1:int hashCode():25:25 -> hashCode
    1:1:java.lang.String toString():20:20 -> toString
com.android.tools.r8.ir.analysis.type.InterfaceCollection -> com.android.tools.r8.internal.Jt:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap interfaces -> a
    com.android.tools.r8.ir.analysis.type.InterfaceCollection EMPTY -> b
    boolean $assertionsDisabled -> c
    1:47:void <clinit>():22:68 -> <clinit>
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap,com.android.tools.r8.ir.analysis.type.InterfaceCollection$1):22:22 -> <init>
    2:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap):92:94 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.InterfaceCollection$Builder builder():79:79 -> a
    2:2:void forEach(java.util.function.BiConsumer):123:123 -> a
    3:3:void forEachKnownInterface(java.util.function.Consumer):127:127 -> a
    4:5:void lambda$forEachKnownInterface$0(java.util.function.Consumer,com.android.tools.r8.graph.DexType,java.lang.Boolean):129:130 -> a
    6:7:boolean allKnownInterfacesMatch(java.util.function.Predicate):136:137 -> a
    8:9:boolean anyMatch(java.util.function.BiPredicate):145:146 -> a
    10:10:void lambda$getInterfaceList$1(java.util.List,com.android.tools.r8.graph.DexType,java.lang.Boolean):155:155 -> a
    11:15:com.android.tools.r8.utils.OptionalBool contains(com.android.tools.r8.graph.DexType):173:177 -> a
    1:1:com.android.tools.r8.ir.analysis.type.InterfaceCollection empty():71:71 -> b
    2:2:boolean containsKnownInterface(com.android.tools.r8.graph.DexType):181:181 -> b
    1:1:com.android.tools.r8.ir.analysis.type.InterfaceCollection singleton(com.android.tools.r8.graph.DexType):75:75 -> c
    2:3:java.util.List getInterfaceList():154:155 -> c
    1:5:com.android.tools.r8.graph.DexType getSingleKnownInterface():165:169 -> d
    1:1:boolean hasSingleKnownInterface():160:160 -> e
    1:5:boolean equals(java.lang.Object):110:114 -> equals
    1:1:boolean isEmpty():98:98 -> f
    1:1:int size():102:102 -> g
    1:1:int hashCode():119:119 -> hashCode
com.android.tools.r8.ir.analysis.type.InterfaceCollection$Builder -> com.android.tools.r8.internal.Jt$a:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap interfaces -> a
    1:1:void <init>(com.android.tools.r8.ir.analysis.type.InterfaceCollection$1):34:34 -> <init>
    2:2:void <init>():37:37 -> <init>
    3:3:void <init>():35:35 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.InterfaceCollection$Builder addInterface(com.android.tools.r8.graph.DexType,boolean):51:51 -> a
    2:2:java.lang.Boolean lambda$addInterface$0(boolean,com.android.tools.r8.graph.DexType,java.lang.Boolean):55:55 -> a
    3:6:com.android.tools.r8.ir.analysis.type.InterfaceCollection build():60:63 -> a
com.android.tools.r8.ir.analysis.type.LongTypeElement -> com.android.tools.r8.internal.cD:
    com.android.tools.r8.ir.analysis.type.LongTypeElement INSTANCE -> e
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.LongTypeElement getInstance():11:11 -> F
    1:1:int hashCode():26:26 -> hashCode
    1:1:java.lang.String toString():21:21 -> toString
com.android.tools.r8.ir.analysis.type.NotNullDynamicType -> com.android.tools.r8.internal.LH:
    com.android.tools.r8.ir.analysis.type.NotNullDynamicType INSTANCE -> c
    boolean $assertionsDisabled -> d
    1:3:void <clinit>():21:23 -> <clinit>
    1:1:void <init>():25:25 -> <init>
    com.android.tools.r8.ir.analysis.type.DynamicType rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set) -> a
    1:2:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement com.android.tools.r8.ir.analysis.type.NotNullDynamicType.getDynamicUpperBoundType(com.android.tools.r8.ir.analysis.type.TypeElement):33:34 -> a
    1:2:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.ir.analysis.type.TypeElement):21 -> a
    com.android.tools.r8.ir.analysis.type.ClassTypeElement getExactClassType() -> e
    1:1:com.android.tools.r8.ir.analysis.type.Nullability getNullability():44:44 -> f
    1:1:int hashCode():71:71 -> hashCode
    boolean isNotNullType() -> k
    1:1:com.android.tools.r8.ir.analysis.type.NotNullDynamicType get():28:28 -> o
com.android.tools.r8.ir.analysis.type.Nullability -> com.android.tools.r8.internal.RH:
    com.android.tools.r8.ir.analysis.type.Nullability DEFINITELY_NULL -> a
    com.android.tools.r8.ir.analysis.type.Nullability BOTTOM -> d
    com.android.tools.r8.ir.analysis.type.Nullability MAYBE_NULL -> c
    com.android.tools.r8.ir.analysis.type.Nullability DEFINITELY_NOT_NULL -> b
    1:4:void <clinit>():25:28 -> <clinit>
    1:1:void <init>():30:30 -> <init>
    1:10:com.android.tools.r8.ir.analysis.type.Nullability join(com.android.tools.r8.ir.analysis.type.Nullability):57:66 -> a
    11:11:com.android.tools.r8.ir.analysis.type.Nullability bottom():103:103 -> a
    1:10:com.android.tools.r8.ir.analysis.type.Nullability meet(com.android.tools.r8.ir.analysis.type.Nullability):70:79 -> b
    11:11:com.android.tools.r8.ir.analysis.type.Nullability definitelyNotNull():95:95 -> b
    1:1:com.android.tools.r8.ir.analysis.type.Nullability definitelyNull():91:91 -> c
    1:1:boolean isBottom():33:33 -> d
    1:1:boolean isDefinitelyNotNull():41:41 -> e
    1:1:boolean isDefinitelyNull():37:37 -> f
    1:1:boolean isMaybeNull():45:45 -> g
    1:1:boolean isNullable():49:49 -> h
    1:1:com.android.tools.r8.ir.analysis.type.Nullability maybeNull():99:99 -> i
    1:13:java.lang.String toString():108:120 -> toString
com.android.tools.r8.ir.analysis.type.NullabilityVariants -> com.android.tools.r8.internal.SH:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement maybeNullVariant -> a
    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement bottomVariant -> d
    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement definitelyNullVariant -> b
    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement definitelyNotNullVariant -> c
    1:1:void <clinit>():10:10 -> <clinit>
    1:1:void <init>():10:10 -> <init>
    1:2:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement create(com.android.tools.r8.ir.analysis.type.Nullability,java.util.function.Function):19:20 -> a
    3:11:void com.android.tools.r8.ir.analysis.type.NullabilityVariants.set(com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.ReferenceTypeElement):26:34 -> a
    3:11:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement create(com.android.tools.r8.ir.analysis.type.Nullability,java.util.function.Function):21 -> a
    12:20:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement get(com.android.tools.r8.ir.analysis.type.Nullability):39:47 -> a
    21:31:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateElement(com.android.tools.r8.ir.analysis.type.Nullability,java.util.function.BiFunction):53:63 -> a
    32:40:void com.android.tools.r8.ir.analysis.type.NullabilityVariants.set(com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.ir.analysis.type.ReferenceTypeElement):26:34 -> a
    32:40:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateElement(com.android.tools.r8.ir.analysis.type.Nullability,java.util.function.BiFunction):64 -> a
    41:42:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateElement(com.android.tools.r8.ir.analysis.type.Nullability,java.util.function.BiFunction):65:66 -> a
com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement -> com.android.tools.r8.internal.NM:
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():13:13 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.Nullability nullability():17:17 -> C
    1:2:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromDexType(com.android.tools.r8.graph.DexType,boolean):31:32 -> a
    3:3:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.fromTypeDescriptorChar(char,boolean):108:108 -> a
    3:3:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromDexType(com.android.tools.r8.graph.DexType,boolean):32 -> a
    4:31:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.fromTypeDescriptorChar(char,boolean):79:106 -> a
    4:31:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromDexType(com.android.tools.r8.graph.DexType,boolean):32 -> a
    32:32:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.fromTypeDescriptorChar(char,boolean):102:102 -> a
    32:32:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromDexType(com.android.tools.r8.graph.DexType,boolean):32 -> a
    33:37:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.fromTypeDescriptorChar(char,boolean):100:104 -> a
    33:37:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromDexType(com.android.tools.r8.graph.DexType,boolean):32 -> a
    38:52:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.fromTypeDescriptorChar(char,boolean):84:98 -> a
    38:52:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromDexType(com.android.tools.r8.graph.DexType,boolean):32 -> a
    53:66:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromNumericType(com.android.tools.r8.ir.code.NumericType):113:126 -> a
    67:67:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromNumericType(com.android.tools.r8.ir.code.NumericType):124:124 -> a
    68:68:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromNumericType(com.android.tools.r8.ir.code.NumericType):122:122 -> a
    69:69:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromNumericType(com.android.tools.r8.ir.code.NumericType):120:120 -> a
    70:70:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement fromNumericType(com.android.tools.r8.ir.code.NumericType):118:118 -> a
    1:1:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBoolean():0:0 -> b
    1:1:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):36 -> b
    2:2:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):37:37 -> b
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isByte():0:0 -> b
    3:3:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):39 -> b
    4:4:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):40:40 -> b
    5:5:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isShort():0:0 -> b
    5:5:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):42 -> b
    6:6:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):43:43 -> b
    7:7:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isChar():0:0 -> b
    7:7:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):45 -> b
    8:8:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):46:46 -> b
    9:9:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> b
    9:9:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):48 -> b
    10:10:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):49:49 -> b
    11:11:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> b
    11:11:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):51 -> b
    12:12:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):52:52 -> b
    13:13:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> b
    13:13:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):54 -> b
    14:14:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):55:55 -> b
    15:15:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> b
    15:15:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):57 -> b
    16:18:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):58:60 -> b
    19:19:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82}}
    80:80:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):60:60 -> b
    81:81:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):60:60 -> b
    82:82:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):60:60 -> b
    79:79:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.graph.DexItemFactory):60:60 -> b
    com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement asPrimitiveType() -> c
    boolean isPrimitiveType() -> y
com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement$1 -> com.android.tools.r8.internal.MM:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():113:113 -> <clinit>
com.android.tools.r8.ir.analysis.type.ReferenceTypeElement -> com.android.tools.r8.internal.UR:
    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement NULL_INSTANCE -> d
    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement NULL_BOTTOM_INSTANCE -> e
    com.android.tools.r8.ir.analysis.type.Nullability nullability -> c
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement.create():23:23 -> <clinit>
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement.access$200():11 -> <clinit>
    1:1:void <clinit>():57 -> <clinit>
    2:2:void <clinit>():57:57 -> <clinit>
    3:3:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement.createBottom():27:27 -> <clinit>
    3:3:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement.access$300():11 -> <clinit>
    3:3:void <clinit>():58 -> <clinit>
    4:4:void <clinit>():58:58 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.analysis.type.Nullability):62:63 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.Nullability nullability():68:68 -> C
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement access$000():9:9 -> E
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement access$100():9:9 -> F
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement asMeetWithNotNull():78:78 -> G
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getNullType():72:72 -> H
    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateVariant(com.android.tools.r8.ir.analysis.type.Nullability) -> a
    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement asReferenceType() -> d
    1:1:boolean equals(java.lang.Object):113:113 -> equals
    1:1:int hashCode():118:118 -> hashCode
    boolean isReferenceType() -> z
com.android.tools.r8.ir.analysis.type.ReferenceTypeElement$NullElement -> com.android.tools.r8.internal.TR:
    1:1:void <init>(com.android.tools.r8.ir.analysis.type.Nullability):14:14 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getOrCreateVariant(com.android.tools.r8.ir.analysis.type.Nullability):19:19 -> a
    1:1:boolean equals(java.lang.Object):50:50 -> equals
    1:1:int hashCode():42:42 -> hashCode
    1:1:java.lang.String toString():37:37 -> toString
com.android.tools.r8.ir.analysis.type.ShortTypeElement -> com.android.tools.r8.internal.AU:
    com.android.tools.r8.ir.analysis.type.ShortTypeElement INSTANCE -> e
    1:1:void <clinit>():8:8 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.ShortTypeElement getInstance():11:11 -> F
    1:1:int hashCode():31:31 -> hashCode
    1:1:java.lang.String toString():21:21 -> toString
com.android.tools.r8.ir.analysis.type.SinglePrimitiveTypeElement -> com.android.tools.r8.internal.dV:
    com.android.tools.r8.ir.analysis.type.SinglePrimitiveTypeElement INSTANCE -> d
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    boolean isSinglePrimitive() -> A
    1:1:com.android.tools.r8.ir.analysis.type.SinglePrimitiveTypeElement getInstance():16:16 -> E
    1:1:int hashCode():36:36 -> hashCode
    1:1:java.lang.String toString():26:26 -> toString
com.android.tools.r8.ir.analysis.type.TopTypeElement -> com.android.tools.r8.internal.MY:
    com.android.tools.r8.ir.analysis.type.TopTypeElement INSTANCE -> c
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():6:6 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.Nullability nullability():11:11 -> C
    1:1:com.android.tools.r8.ir.analysis.type.TopTypeElement getInstance():15:15 -> E
    1:1:int hashCode():35:35 -> hashCode
    1:1:java.lang.String toString():25:25 -> toString
com.android.tools.r8.ir.analysis.type.TypeAnalysis -> com.android.tools.r8.internal.c00:
    java.util.Deque worklist -> d
    com.android.tools.r8.graph.AppView appView -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.analysis.type.TypeAnalysis$Mode mode -> b
    boolean mayHaveImpreciseTypes -> a
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,boolean):45:45 -> <init>
    2:14:void <init>(com.android.tools.r8.graph.AppView,boolean):35:47 -> <init>
    1:2:void analyze():51:52 -> a
    3:8:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.analyzeValue(com.android.tools.r8.ir.code.Value):123:128 -> a
    3:8:void analyze():52 -> a
    9:9:void widening(java.lang.Iterable):64:64 -> a
    10:13:void narrowing(com.android.tools.r8.ir.code.IRCode):68:71 -> a
    14:16:void narrowing(java.lang.Iterable):77:79 -> a
    17:20:void analyzeValues(java.lang.Iterable,com.android.tools.r8.ir.analysis.type.TypeAnalysis$Mode):88:91 -> a
    21:23:void enqueue(com.android.tools.r8.ir.code.Value):95:97 -> a
    24:40:void analyzeBasicBlock(com.android.tools.r8.ir.code.BasicBlock):102:118 -> a
    41:50:void updateTypeOfValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.TypeElement):132:141 -> a
    51:51:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    51:51:void updateTypeOfValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.TypeElement):141 -> a
    52:68:void updateTypeOfValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.TypeElement):145:161 -> a
    69:84:com.android.tools.r8.graph.DexType toRefinedReceiverType(com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):175:190 -> a
    1:4:void widening(com.android.tools.r8.ir.code.IRCode):57:60 -> b
    5:5:boolean verifyValuesUpToDate(java.lang.Iterable):83:83 -> b
com.android.tools.r8.ir.analysis.type.TypeElement -> com.android.tools.r8.internal.i00:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>():21:21 -> <init>
    boolean isSinglePrimitive() -> A
    boolean isWidePrimitive() -> B
    com.android.tools.r8.ir.analysis.type.Nullability nullability() -> C
    1:1:int requiredRegisters():420:420 -> D
    2:2:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> D
    2:2:int requiredRegisters():420 -> D
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> D
    3:3:int requiredRegisters():420 -> D
    4:4:int requiredRegisters():420:420 -> D
    com.android.tools.r8.ir.analysis.type.ArrayTypeElement asArrayType() -> a
    1:1:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    1:1:boolean equalUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement):249 -> a
    2:2:boolean equalUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement):249:249 -> a
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    3:3:boolean equalUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement):249 -> a
    4:12:boolean equalUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement):252:260 -> a
    com.android.tools.r8.ir.analysis.type.TypeElement fixupClassTypeReferences(com.android.tools.r8.graph.AppView,java.util.function.Function,java.util.Set) -> a
    boolean isBasedOnMissingClass(com.android.tools.r8.graph.AppView) -> a
    13:13:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    13:13:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):125 -> a
    14:14:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):128:128 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    15:15:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):128 -> a
    16:17:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    16:17:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):131 -> a
    18:19:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):134:135 -> a
    20:20:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.join(com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement):134:134 -> a
    20:20:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):135 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    21:32:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.join(com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement):135:146 -> a
    21:32:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):135 -> a
    33:42:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):135:144 -> a
    43:43:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> a
    43:43:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):145 -> a
    44:44:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):146:146 -> a
    45:45:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> a
    45:45:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):148 -> a
    46:48:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):149:151 -> a
    49:49:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.objectClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):425:425 -> a
    49:49:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):152 -> a
    50:58:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):155:163 -> a
    59:59:com.android.tools.r8.ir.analysis.type.TypeElement join(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):132:132 -> a
    60:60:com.android.tools.r8.ir.analysis.type.TypeElement rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,java.util.Set):104:104 -> a
    61:61:com.android.tools.r8.graph.DexType lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):105:105 -> a
    62:64:com.android.tools.r8.ir.analysis.type.TypeElement join(java.lang.Iterable,com.android.tools.r8.graph.AppView):167:169 -> a
    65:65:boolean isStringType(com.android.tools.r8.graph.DexItemFactory):321:321 -> a
    66:67:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isClassType(com.android.tools.r8.graph.DexType):316:317 -> a
    66:67:boolean isStringType(com.android.tools.r8.graph.DexItemFactory):321 -> a
    68:68:com.android.tools.r8.ir.analysis.type.ClassTypeElement objectClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):425:425 -> a
    69:69:com.android.tools.r8.ir.analysis.type.TypeElement fromDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView):444:444 -> a
    70:77:com.android.tools.r8.ir.analysis.type.TypeElement fromDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability,com.android.tools.r8.graph.AppView,boolean):449:456 -> a
    com.android.tools.r8.ir.analysis.type.ClassTypeElement asClassType() -> b
    1:1:boolean lessThanOrEqual(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):195:195 -> b
    2:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.internalLessThan(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):200:201 -> b
    2:3:boolean lessThanOrEqual(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):195 -> b
    4:4:com.android.tools.r8.ir.analysis.type.ClassTypeElement stringClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):440:440 -> b
    com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement asPrimitiveType() -> c
    1:1:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> c
    1:1:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):215 -> c
    2:2:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):216:216 -> c
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> c
    3:3:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):216 -> c
    4:4:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):218:218 -> c
    5:5:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> c
    5:5:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):218 -> c
    6:6:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> c
    6:6:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):221 -> c
    7:7:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> c
    7:7:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):224 -> c
    8:17:boolean lessThanOrEqualUpToNullability(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):227:236 -> c
    com.android.tools.r8.ir.analysis.type.ReferenceTypeElement asReferenceType() -> d
    1:1:boolean strictlyLessThan(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):183:183 -> d
    2:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.internalLessThan(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):200:201 -> d
    2:3:boolean strictlyLessThan(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):183 -> d
    1:1:com.android.tools.r8.ir.analysis.type.BooleanTypeElement getBoolean():32:32 -> e
    1:1:com.android.tools.r8.ir.analysis.type.BottomTypeElement getBottom():24:24 -> f
    1:1:com.android.tools.r8.ir.analysis.type.ByteTypeElement getByte():36:36 -> g
    1:1:com.android.tools.r8.ir.analysis.type.CharTypeElement getChar():44:44 -> h
    1:1:com.android.tools.r8.ir.analysis.type.DoubleTypeElement getDouble():64:64 -> i
    1:1:com.android.tools.r8.ir.analysis.type.FloatTypeElement getFloat():52:52 -> j
    1:1:com.android.tools.r8.ir.analysis.type.IntTypeElement getInt():48:48 -> k
    1:1:com.android.tools.r8.ir.analysis.type.LongTypeElement getLong():60:60 -> l
    1:1:com.android.tools.r8.ir.analysis.type.ReferenceTypeElement getNull():72:72 -> m
    1:1:com.android.tools.r8.ir.analysis.type.ShortTypeElement getShort():40:40 -> n
    1:1:com.android.tools.r8.ir.analysis.type.SinglePrimitiveTypeElement getSingle():56:56 -> o
    1:1:com.android.tools.r8.ir.analysis.type.TopTypeElement getTop():28:28 -> p
    1:1:com.android.tools.r8.ir.analysis.type.WidePrimitiveTypeElement getWide():68:68 -> q
    boolean isArrayType() -> r
    boolean isClassType() -> s
    1:1:boolean isDefinitelyNotNull():416:416 -> t
    boolean isInt() -> u
    boolean isNullType() -> v
    1:1:boolean isNullable():109:109 -> w
    1:2:boolean isPreciseType():377:378 -> x
    3:3:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isNullType():0:0 -> x
    3:3:boolean isPreciseType():379 -> x
    4:4:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> x
    4:4:boolean isPreciseType():380 -> x
    5:5:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> x
    5:5:boolean isPreciseType():381 -> x
    6:6:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> x
    6:6:boolean isPreciseType():382 -> x
    7:7:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> x
    7:7:boolean isPreciseType():383 -> x
    8:8:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> x
    8:8:boolean isPreciseType():384 -> x
    boolean isPrimitiveType() -> y
    boolean isReferenceType() -> z
com.android.tools.r8.ir.analysis.type.TypeUtils -> com.android.tools.r8.internal.t00:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():36:36 -> <clinit>
    1:12:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):72:83 -> a
    13:35:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):110:132 -> a
    13:35:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    36:36:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):129:129 -> a
    36:36:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    37:37:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForStaticPut(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.StaticPut):186:186 -> a
    37:37:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):129 -> a
    37:37:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    38:38:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForReturn(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):181:181 -> a
    38:38:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):127 -> a
    38:38:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    39:39:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125:125 -> a
    39:39:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    40:48:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value):162:170 -> a
    40:48:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125 -> a
    40:48:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    49:49:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    49:49:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value):171 -> a
    49:49:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125 -> a
    49:49:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    50:54:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value):171:175 -> a
    50:54:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125 -> a
    50:54:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    55:55:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    55:55:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value):175 -> a
    55:55:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125 -> a
    55:55:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    56:56:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value):175:175 -> a
    56:56:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):125 -> a
    56:56:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    57:57:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):119:119 -> a
    57:57:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    58:64:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstancePut(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.code.Value):149:155 -> a
    58:64:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):119 -> a
    58:64:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    65:65:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):117:117 -> a
    65:65:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    66:66:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstanceGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceGet):144:144 -> a
    66:66:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):117 -> a
    66:66:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    67:67:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):115:115 -> a
    67:67:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    68:68:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):112:112 -> a
    68:68:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    69:70:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForAssume(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.utils.WorkList):138:139 -> a
    69:70:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeUtils.computeUseTypeForInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):112 -> a
    69:70:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):84 -> a
    71:72:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):85:86 -> a
    73:73:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    73:73:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):86 -> a
    74:74:com.android.tools.r8.ir.analysis.type.TypeElement computeUseType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Value):86:86 -> a
    75:79:void enqueueUsers(com.android.tools.r8.ir.code.Value,com.android.tools.r8.utils.WorkList):96:100 -> a
com.android.tools.r8.ir.analysis.type.TypeUtils$UserAndValuePair -> com.android.tools.r8.internal.s00:
    com.android.tools.r8.ir.code.InstructionOrPhi user -> a
    com.android.tools.r8.ir.code.Value value -> b
    1:3:void <init>(com.android.tools.r8.ir.code.InstructionOrPhi,com.android.tools.r8.ir.code.Value):43:45 -> <init>
    1:5:boolean equals(java.lang.Object):53:57 -> equals
    1:1:int hashCode():62:62 -> hashCode
com.android.tools.r8.ir.analysis.type.WidePrimitiveTypeElement -> com.android.tools.r8.internal.x20:
    com.android.tools.r8.ir.analysis.type.WidePrimitiveTypeElement INSTANCE -> d
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    boolean isWidePrimitive() -> B
    int requiredRegisters() -> D
    1:1:com.android.tools.r8.ir.analysis.type.WidePrimitiveTypeElement getInstance():16:16 -> E
    1:1:int hashCode():41:41 -> hashCode
    1:1:java.lang.String toString():31:31 -> toString
com.android.tools.r8.ir.analysis.value.AbstractValue -> com.android.tools.r8.internal.t1:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():13:13 -> <init>
    boolean isSingleBoolean() -> A
    boolean isSingleConstValue() -> B
    boolean isSingleFieldValue() -> C
    boolean isSingleStringValue() -> D
    boolean isTrue() -> E
    1:1:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):198 -> a
    2:5:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):198:201 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):201 -> a
    7:7:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):204:204 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    8:8:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):208 -> a
    9:9:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):209:209 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    10:10:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):211 -> a
    11:11:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):212:212 -> a
    12:12:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> a
    12:12:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):214 -> a
    13:13:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):214:214 -> a
    14:14:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> a
    14:14:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):217 -> a
    15:15:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):218:218 -> a
    16:16:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    16:16:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):221 -> a
    17:17:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):223:223 -> a
    18:18:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> a
    18:18:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):223 -> a
    19:19:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):223:223 -> a
    20:20:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> a
    20:20:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):224 -> a
    21:24:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):224:227 -> a
    25:25:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    25:25:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):229 -> a
    26:26:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):230:230 -> a
    27:27:com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder com.android.tools.r8.ir.analysis.value.NumberFromSetValue.builder(com.android.tools.r8.ir.analysis.value.SingleNumberValue):32:32 -> a
    27:27:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):230 -> a
    28:28:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNumberFromSetValue():0:0 -> a
    28:28:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):232 -> a
    29:30:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):232:233 -> a
    31:31:com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder com.android.tools.r8.ir.analysis.value.NumberFromSetValue.instanceBuilder():36:36 -> a
    31:31:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):233 -> a
    32:32:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    32:32:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):235 -> a
    33:33:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):236:236 -> a
    34:34:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNumberFromSetValue():0:0 -> a
    34:34:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):238 -> a
    35:38:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):238:241 -> a
    39:39:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    39:39:com.android.tools.r8.ir.analysis.value.AbstractValue join(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.value.AbstractValueFactory,boolean,boolean):243 -> a
    com.android.tools.r8.ir.analysis.value.NonConstantNumberValue asNonConstantNumberValue() -> b
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue asNumberFromIntervalValue() -> c
    com.android.tools.r8.ir.analysis.value.SingleNumberValue asSingleNumberValue() -> d
    boolean isSingleValue() -> f
    com.android.tools.r8.ir.analysis.value.NumberFromSetValue asNumberFromSetValue() -> h
    com.android.tools.r8.ir.analysis.value.SingleValue asSingleValue() -> i
    boolean isNonConstantNumberValue() -> j
    boolean isSingleNumberValue() -> k
    com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue asConstantOrNonConstantNumberValue() -> l
    com.android.tools.r8.ir.analysis.value.NullOrAbstractValue asNullOrAbstractValue() -> m
    com.android.tools.r8.ir.analysis.value.SingleConstClassValue asSingleConstClassValue() -> n
    com.android.tools.r8.ir.analysis.value.SingleConstValue asSingleConstValue() -> o
    com.android.tools.r8.ir.analysis.value.SingleDexItemBasedStringValue asSingleDexItemBasedStringValue() -> p
    com.android.tools.r8.ir.analysis.value.SingleFieldValue asSingleFieldValue() -> q
    com.android.tools.r8.ir.analysis.value.SingleStringValue asSingleStringValue() -> r
    com.android.tools.r8.ir.analysis.value.StatefulObjectValue asStatefulObjectValue() -> s
    1:1:int getKnownArrayLength():83:83 -> t
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectState():66:66 -> u
    boolean hasKnownArrayLength() -> v
    boolean hasObjectState() -> w
    boolean isConstantOrNonConstantNumberValue() -> x
    boolean isFalse() -> y
    boolean isNonTrivial() -> z
com.android.tools.r8.ir.analysis.value.AbstractValueFactory -> com.android.tools.r8.internal.u1:
    java.util.concurrent.ConcurrentHashMap knownArrayLengthStates -> d
    java.util.concurrent.ConcurrentHashMap singleStringValues -> c
    java.util.concurrent.ConcurrentHashMap singleNumberValues -> b
    java.util.concurrent.ConcurrentHashMap singleConstClassValues -> a
    1:8:void <init>():16:23 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.SingleConstClassValue createSingleConstClassValue(com.android.tools.r8.graph.DexType):27:27 -> a
    2:2:com.android.tools.r8.ir.analysis.value.objectstate.KnownLengthArrayState createKnownLengthArrayState(int):31:31 -> a
    3:5:com.android.tools.r8.ir.analysis.value.SingleFieldValue createSingleFieldValue(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):35:37 -> a
    6:6:com.android.tools.r8.ir.analysis.value.SingleNumberValue createSingleNumberValue(long):41:41 -> a
    7:7:com.android.tools.r8.ir.analysis.value.SingleNumberValue createNullValue():45:45 -> a
    8:8:com.android.tools.r8.ir.analysis.value.SingleStringValue createSingleStringValue(com.android.tools.r8.graph.DexString):53:53 -> a
    9:9:com.android.tools.r8.ir.analysis.value.SingleDexItemBasedStringValue createSingleDexItemBasedStringValue(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):58:58 -> a
com.android.tools.r8.ir.analysis.value.BottomValue -> com.android.tools.r8.internal.S5:
    com.android.tools.r8.ir.analysis.value.BottomValue INSTANCE -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.BottomValue getInstance():18:18 -> F
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    1:1:int hashCode():44:44 -> hashCode
    1:1:java.lang.String toString():49:49 -> toString
    boolean isNonTrivial() -> z
com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue -> com.android.tools.r8.internal.zd:
    boolean containsInt(int) -> a
    com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]) -> a
    boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue) -> a
    com.android.tools.r8.ir.analysis.value.NonConstantNumberValue asNonConstantNumberValue() -> b
    com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue asNumberFromIntervalValue() -> c
    com.android.tools.r8.ir.analysis.value.SingleNumberValue asSingleNumberValue() -> d
    com.android.tools.r8.ir.analysis.value.NumberFromSetValue asNumberFromSetValue() -> h
    boolean isNonConstantNumberValue() -> j
    boolean isSingleNumberValue() -> k
com.android.tools.r8.ir.analysis.value.NonConstantNumberValue -> com.android.tools.r8.internal.tH:
    1:1:void <init>():7:7 -> <init>
    long getAbstractionSize() -> F
    com.android.tools.r8.ir.analysis.value.NonConstantNumberValue asNonConstantNumberValue() -> b
    boolean isNonConstantNumberValue() -> j
    com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue asConstantOrNonConstantNumberValue() -> l
    boolean isConstantOrNonConstantNumberValue() -> x
com.android.tools.r8.ir.analysis.value.NullOrAbstractValue -> com.android.tools.r8.internal.PH:
    com.android.tools.r8.ir.analysis.value.AbstractValue value -> c
    1:2:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue):15:16 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getNonNullValue():42:42 -> F
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.AbstractValue):20:20 -> a
    2:2:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> a
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.AbstractValue):20 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.AbstractValue):20:20 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    4:4:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.AbstractValue):20 -> a
    5:5:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> a
    5:5:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.AbstractValue):20 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.AbstractValue):23:23 -> a
    1:1:com.android.tools.r8.ir.analysis.value.NullOrAbstractValue com.android.tools.r8.ir.analysis.value.NullOrAbstractValue.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):48:48 -> b
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):11 -> b
    1:1:boolean equals(java.lang.Object):56:56 -> equals
    1:1:int hashCode():61:61 -> hashCode
    com.android.tools.r8.ir.analysis.value.NullOrAbstractValue asNullOrAbstractValue() -> m
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":68,"2":69,"3":70}}
    68:68:java.lang.String toString():66:66 -> toString
    69:69:java.lang.String toString():66:66 -> toString
    70:70:java.lang.String toString():66:66 -> toString
    67:67:java.lang.String toString():66:66 -> toString
    boolean isNonTrivial() -> z
com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue -> com.android.tools.r8.internal.VH:
    long maxInclusive -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():13:13 -> <clinit>
    1:4:void <init>(long,long):18:21 -> <init>
    1:1:long getAbstractionSize():31:31 -> F
    1:1:boolean containsInt(int):26:26 -> a
    2:2:com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]):52:52 -> a
    3:3:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):57:57 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    4:4:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):57 -> a
    5:7:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):58:60 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNumberFromIntervalValue():0:0 -> a
    8:8:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):60 -> a
    9:9:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):61:61 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue.mayOverlapWith(com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue):68:68 -> a
    10:10:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):61 -> a
    11:11:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):63:63 -> a
    12:12:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNumberFromSetValue():0:0 -> a
    12:12:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):63 -> a
    13:14:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):63:64 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue.mayOverlapWith(com.android.tools.r8.ir.analysis.value.NumberFromSetValue):72:72 -> a
    15:15:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):64 -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    com.android.tools.r8.ir.analysis.value.NumberFromIntervalValue asNumberFromIntervalValue() -> c
    1:5:boolean equals(java.lang.Object):83:87 -> equals
    1:2:int hashCode():93:94 -> hashCode
    1:1:java.lang.String toString():100:100 -> toString
    boolean isNonTrivial() -> z
com.android.tools.r8.ir.analysis.value.NumberFromSetValue -> com.android.tools.r8.internal.XH:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet numbers -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,com.android.tools.r8.ir.analysis.value.NumberFromSetValue$1):17:17 -> <init>
    2:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):23:24 -> <init>
    1:1:long getAbstractionSize():46:46 -> F
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet access$000(com.android.tools.r8.ir.analysis.value.NumberFromSetValue):17:17 -> a
    2:2:boolean containsInt(int):41:41 -> a
    3:9:com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]):66:72 -> a
    10:11:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):77:78 -> a
    12:12:boolean com.android.tools.r8.ir.analysis.value.NumberFromSetValue.containsInt(int):41:41 -> a
    12:12:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):78 -> a
    13:15:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):80:82 -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    1:5:boolean equals(java.lang.Object):97:101 -> equals
    com.android.tools.r8.ir.analysis.value.NumberFromSetValue asNumberFromSetValue() -> h
    1:1:int hashCode():106:106 -> hashCode
    1:7:java.lang.String toString():111:117 -> toString
    boolean isNonTrivial() -> z
com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder -> com.android.tools.r8.internal.WH:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet numbers -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():120:120 -> <clinit>
    1:2:void <init>():124:125 -> <init>
    3:4:void <init>(com.android.tools.r8.ir.analysis.value.NumberFromSetValue):128:129 -> <init>
    1:4:com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder addInt(int):133:136 -> a
    5:8:com.android.tools.r8.ir.analysis.value.NumberFromSetValue$Builder addInts(com.android.tools.r8.ir.analysis.value.NumberFromSetValue):143:146 -> a
    9:17:com.android.tools.r8.ir.analysis.value.AbstractValue build(com.android.tools.r8.ir.analysis.value.AbstractValueFactory):153:161 -> a
com.android.tools.r8.ir.analysis.value.SingleConstClassValue -> com.android.tools.r8.internal.XU:
    com.android.tools.r8.graph.DexType type -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType):35:36 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType():50:50 -> F
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    1:6:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):74:79 -> a
    7:13:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):77:83 -> a
    14:14:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.classClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):436:436 -> a
    14:14:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):83 -> a
    15:17:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):83:85 -> a
    18:18:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> a
    18:18:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):85 -> a
    19:19:boolean com.android.tools.r8.ir.code.ConstClass.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):154:154 -> a
    19:19:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613 -> a
    19:19:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):86 -> a
    20:20:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):86:86 -> a
    21:25:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):93:97 -> a
    26:26:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):23:23 -> a
    26:26:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):98 -> a
    27:27:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):22:22 -> a
    27:27:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):98 -> a
    28:30:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):98:100 -> a
    31:33:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):106:108 -> a
    34:34:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    34:34:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):109 -> a
    35:41:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):109:115 -> a
    42:42:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    42:42:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156 -> a
    42:42:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    42:42:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    42:42:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):115 -> a
    43:43:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    43:43:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    43:43:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    43:43:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):115 -> a
    44:44:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    44:44:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    44:44:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):115 -> a
    45:45:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):120:120 -> a
    1:1:com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):133:133 -> c
    1:1:int hashCode():60:60 -> hashCode
    com.android.tools.r8.ir.analysis.value.SingleConstClassValue asSingleConstClassValue() -> n
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":132,"2":133,"3":134}}
    132:132:java.lang.String toString():65:65 -> toString
    133:133:java.lang.String toString():65:65 -> toString
    134:134:java.lang.String toString():65:65 -> toString
    66:66:java.lang.String toString():65:65 -> toString
    67:67:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":135,"2":136,"3":137,"4":138}}
    135:135:java.lang.String toString():65:65 -> toString
    136:136:java.lang.String toString():65:65 -> toString
    137:137:java.lang.String toString():65:65 -> toString
    138:138:java.lang.String toString():65:65 -> toString
com.android.tools.r8.ir.analysis.value.SingleConstValue -> com.android.tools.r8.internal.YU:
    1:1:void <init>():7:7 -> <init>
    boolean isSingleConstValue() -> B
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo com.android.tools.r8.ir.analysis.value.SingleConstClassValue.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):30:30 -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.analysis.value.SingleConstClassValue.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):30:30 -> b
    com.android.tools.r8.ir.analysis.value.SingleConstValue asSingleConstValue() -> o
com.android.tools.r8.ir.analysis.value.SingleDexItemBasedStringValue -> com.android.tools.r8.internal.aV:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> d
    com.android.tools.r8.graph.DexReference item -> c
    1:1:void <clinit>():28:28 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):34:36 -> <init>
    1:1:com.android.tools.r8.graph.DexReference getItem():40:40 -> F
    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():44:44 -> G
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView) -> a
    boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> a
    1:6:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):82:87 -> a
    7:15:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):85:93 -> a
    1:3:com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):120:122 -> c
    4:4:com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):121:121 -> c
    5:5:com.android.tools.r8.ir.analysis.value.SingleDexItemBasedStringValue com.android.tools.r8.ir.analysis.value.AbstractValueFactory.createSingleDexItemBasedStringValue(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):58:58 -> c
    5:5:com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):121 -> c
    1:5:boolean equals(java.lang.Object):59:63 -> equals
    1:1:int hashCode():68:68 -> hashCode
    com.android.tools.r8.ir.analysis.value.SingleDexItemBasedStringValue asSingleDexItemBasedStringValue() -> p
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":75,"2":76,"3":77}}
    75:75:java.lang.String toString():73:73 -> toString
    76:76:java.lang.String toString():73:73 -> toString
    77:77:java.lang.String toString():73:73 -> toString
    74:74:java.lang.String toString():73:73 -> toString
com.android.tools.r8.ir.analysis.value.SingleFieldValue -> com.android.tools.r8.internal.bV:
    com.android.tools.r8.graph.DexField field -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():34:34 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexField):38:39 -> <init>
    boolean isSingleFieldValue() -> C
    1:1:com.android.tools.r8.graph.DexField getField():43:43 -> F
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):34:34 -> a
    2:3:com.android.tools.r8.graph.DexEncodedField getField(com.android.tools.r8.graph.DexDefinitionSupplier):47:48 -> a
    4:7:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):90:93 -> a
    8:8:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):100:100 -> a
    9:9:boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):99:99 -> a
    10:13:boolean lambda$isMaterializableInContext$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldResolutionResult):102:105 -> a
    14:16:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):111:113 -> a
    17:17:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    17:17:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):116 -> a
    18:20:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):119:121 -> a
    21:21:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    21:21:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):124 -> a
    22:25:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):127:130 -> a
    26:26:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    26:26:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156 -> a
    26:26:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    26:26:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    26:26:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):130 -> a
    27:27:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    27:27:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    27:27:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    27:27:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):130 -> a
    28:28:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    28:28:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    28:28:boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView):130 -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):34:34 -> b
    2:8:boolean mayHaveFinalizeMethodDirectlyOrIndirectly(com.android.tools.r8.graph.AppView):58:64 -> b
    1:11:com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):145:155 -> c
    com.android.tools.r8.ir.analysis.value.SingleFieldValue asSingleFieldValue() -> q
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectState() -> u
com.android.tools.r8.ir.analysis.value.SingleNumberValue -> com.android.tools.r8.internal.cV:
    long value -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():24:24 -> <clinit>
    1:2:void <init>(long):30:31 -> <init>
    1:1:boolean isSingleBoolean():46:46 -> A
    1:1:boolean isTrue():56:56 -> E
    1:2:boolean getBooleanValue():80:81 -> F
    1:1:int getIntValue():93:93 -> G
    1:1:long getValue():101:101 -> H
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView) -> a
    boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:int com.android.tools.r8.ir.analysis.value.SingleNumberValue.getIntValue():93:93 -> a
    1:1:boolean containsInt(int):36 -> a
    2:2:int com.android.tools.r8.ir.analysis.value.SingleNumberValue.getIntValue():93:93 -> a
    2:2:com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]):41 -> a
    3:3:com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]):41:41 -> a
    4:4:boolean com.android.tools.r8.utils.ArrayUtils.containsInt(int[],int):17:17 -> a
    4:4:com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]):41 -> a
    5:5:com.android.tools.r8.utils.OptionalBool isSubsetOf(int[]):41:41 -> a
    6:10:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):106:110 -> a
    11:11:int com.android.tools.r8.ir.analysis.value.SingleNumberValue.getIntValue():93:93 -> a
    11:11:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):110 -> a
    12:12:boolean mayOverlapWith(com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue):110:110 -> a
    13:21:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):134:142 -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> c
    com.android.tools.r8.ir.analysis.value.SingleNumberValue asSingleNumberValue() -> d
    1:1:int hashCode():120:120 -> hashCode
    com.android.tools.r8.ir.analysis.value.ConstantOrNonConstantNumberValue asConstantOrNonConstantNumberValue() -> l
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":127,"2":128,"3":129}}
    127:127:java.lang.String toString():125:125 -> toString
    128:128:java.lang.String toString():125:125 -> toString
    129:129:java.lang.String toString():125:125 -> toString
    126:126:java.lang.String toString():125:125 -> toString
    1:1:boolean isFalse():51:51 -> y
com.android.tools.r8.ir.analysis.value.SingleStatefulFieldValue -> com.android.tools.r8.internal.eV:
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState state -> e
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():11:11 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):17:19 -> <init>
    1:5:boolean equals(java.lang.Object):49:53 -> equals
    1:1:int hashCode():58:58 -> hashCode
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.SingleStatefulFieldValue.getObjectState():39:39 -> t
    1:1:int getKnownArrayLength():29 -> t
    2:2:int getKnownArrayLength():29:29 -> t
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":46,"2":47,"3":48}}
    46:46:java.lang.String toString():44:44 -> toString
    47:47:java.lang.String toString():44:44 -> toString
    48:48:java.lang.String toString():44:44 -> toString
    45:45:java.lang.String toString():44:44 -> toString
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectState():39:39 -> u
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.SingleStatefulFieldValue.getObjectState():39:39 -> v
    1:1:boolean hasKnownArrayLength():24 -> v
    2:2:boolean hasKnownArrayLength():24:24 -> v
com.android.tools.r8.ir.analysis.value.SingleStatelessFieldValue -> com.android.tools.r8.internal.fV:
    1:1:void <init>(com.android.tools.r8.graph.DexField):14:14 -> <init>
    1:5:boolean equals(java.lang.Object):34:38 -> equals
    1:1:int hashCode():43:43 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":31,"2":32,"3":33}}
    31:31:java.lang.String toString():29:29 -> toString
    32:32:java.lang.String toString():29:29 -> toString
    33:33:java.lang.String toString():29:29 -> toString
    30:30:java.lang.String toString():29:29 -> toString
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> u
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectState():19 -> u
    boolean hasObjectState() -> w
com.android.tools.r8.ir.analysis.value.SingleStringValue -> com.android.tools.r8.internal.gV:
    com.android.tools.r8.graph.DexString string -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():26:26 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexString):31:32 -> <init>
    boolean isSingleStringValue() -> D
    1:1:com.android.tools.r8.graph.DexString getDexString():46:46 -> F
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView) -> a
    boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:6:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):70:75 -> a
    7:16:com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):73:82 -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> c
    1:1:int hashCode():56:56 -> hashCode
    com.android.tools.r8.ir.analysis.value.SingleStringValue asSingleStringValue() -> r
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":63,"2":64,"3":65}}
    63:63:java.lang.String toString():61:61 -> toString
    64:64:java.lang.String toString():61:61 -> toString
    65:65:java.lang.String toString():61:61 -> toString
    62:62:java.lang.String toString():61:61 -> toString
com.android.tools.r8.ir.analysis.value.SingleValue -> com.android.tools.r8.internal.iV:
    1:1:void <init>():18:18 -> <init>
    com.android.tools.r8.ir.code.Instruction createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier) -> a
    boolean isMaterializableInAllContexts(com.android.tools.r8.graph.AppView) -> a
    boolean isMaterializableInContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):18:18 -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):18:18 -> b
    com.android.tools.r8.ir.analysis.value.SingleValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> c
    boolean isSingleValue() -> f
    com.android.tools.r8.ir.analysis.value.SingleValue asSingleValue() -> i
    boolean isNonTrivial() -> z
com.android.tools.r8.ir.analysis.value.StatefulObjectValue -> com.android.tools.r8.internal.jW:
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState state -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():12:12 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):16:18 -> <init>
    1:3:com.android.tools.r8.ir.analysis.value.AbstractValue create(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):22:24 -> a
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.StatefulObjectValue.getObjectState():65:65 -> b
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):55 -> b
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):55:55 -> b
    1:5:boolean equals(java.lang.Object):78:82 -> equals
    1:1:int hashCode():87:87 -> hashCode
    com.android.tools.r8.ir.analysis.value.StatefulObjectValue asStatefulObjectValue() -> s
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.StatefulObjectValue.getObjectState():65:65 -> t
    1:1:int getKnownArrayLength():49 -> t
    2:2:int getKnownArrayLength():49:49 -> t
    1:1:java.lang.String toString():70:70 -> toString
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectState():65:65 -> u
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.StatefulObjectValue.getObjectState():65:65 -> v
    1:1:boolean hasKnownArrayLength():44 -> v
    2:2:boolean hasKnownArrayLength():44:44 -> v
    boolean hasObjectState() -> w
    boolean isNonTrivial() -> z
com.android.tools.r8.ir.analysis.value.UnknownValue -> com.android.tools.r8.internal.R00:
    com.android.tools.r8.ir.analysis.value.UnknownValue INSTANCE -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.UnknownValue getInstance():18:18 -> F
    com.android.tools.r8.ir.analysis.value.AbstractValue rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> b
    1:1:int hashCode():44:44 -> hashCode
    1:1:java.lang.String toString():49:49 -> toString
    boolean isNonTrivial() -> z
com.android.tools.r8.ir.analysis.value.objectstate.EmptyObjectState -> com.android.tools.r8.internal.di:
    com.android.tools.r8.ir.analysis.value.objectstate.EmptyObjectState INSTANCE -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>():20:20 -> <init>
    void forEachAbstractFieldValue(java.util.function.BiConsumer) -> a
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractFieldValue(com.android.tools.r8.graph.DexEncodedField):33:33 -> a
    boolean isEmpty() -> d
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.EmptyObjectState getInstance():23:23 -> e
    1:1:int hashCode():54:54 -> hashCode
com.android.tools.r8.ir.analysis.value.objectstate.EnumValuesObjectState -> com.android.tools.r8.internal.bj:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState[] state -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState[]):22:25 -> <init>
    com.android.tools.r8.ir.analysis.value.objectstate.EnumValuesObjectState asEnumValuesObjectState() -> a
    void forEachAbstractFieldValue(java.util.function.BiConsumer) -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractFieldValue(com.android.tools.r8.graph.DexEncodedField):33:33 -> a
    2:5:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectStateForOrdinal(int):37:40 -> a
    6:6:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
    6:6:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState getObjectStateForOrdinal(int):38 -> a
    7:11:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):76:80 -> a
    1:1:int getKnownArrayLength():54:54 -> b
    boolean isEmpty() -> d
    1:1:int getEnumValuesSize():44:44 -> e
    1:9:boolean equals(java.lang.Object):85:93 -> equals
    1:1:int hashCode():102:102 -> hashCode
com.android.tools.r8.ir.analysis.value.objectstate.KnownLengthArrayState -> com.android.tools.r8.internal.Xy:
    int length -> a
    1:2:void <init>(int):20:21 -> <init>
    void forEachAbstractFieldValue(java.util.function.BiConsumer) -> a
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractFieldValue(com.android.tools.r8.graph.DexEncodedField):31:31 -> a
    1:1:int getKnownArrayLength():46:46 -> b
    boolean hasKnownArrayLength() -> c
    boolean isEmpty() -> d
    1:1:int hashCode():62:62 -> hashCode
com.android.tools.r8.ir.analysis.value.objectstate.NonEmptyObjectState -> com.android.tools.r8.internal.wH:
    java.util.Map state -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:4:void <init>(java.util.Map):23:26 -> <init>
    1:1:void forEachAbstractFieldValue(java.util.function.BiConsumer):31:31 -> a
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractFieldValue(com.android.tools.r8.graph.DexEncodedField):36:36 -> a
    3:9:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):47:53 -> a
    10:11:void lambda$rewrittenWithLens$0(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.AbstractValue):51:52 -> a
    12:12:void lambda$rewrittenWithLens$0(java.util.Map,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.AbstractValue):50:50 -> a
    boolean isEmpty() -> d
    1:11:boolean equals(java.lang.Object):58:68 -> equals
    1:1:int hashCode():77:77 -> hashCode
com.android.tools.r8.ir.analysis.value.objectstate.ObjectState -> com.android.tools.r8.internal.kK:
    1:1:void <init>():21:21 -> <init>
    com.android.tools.r8.ir.analysis.value.objectstate.EnumValuesObjectState asEnumValuesObjectState() -> a
    void forEachAbstractFieldValue(java.util.function.BiConsumer) -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractFieldValue(com.android.tools.r8.graph.DexEncodedField) -> a
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:9:boolean hasMaterializableFieldValueThatMatches(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.ProgramMethod,java.util.function.Predicate):38:46 -> a
    1:1:int getKnownArrayLength():68:68 -> b
    boolean hasKnownArrayLength() -> c
    boolean isEmpty() -> d
com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder -> com.android.tools.r8.internal.jK:
    java.util.Map state -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():79:79 -> <clinit>
    1:3:void <init>():79:81 -> <init>
    1:3:void recordFieldHasValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue):84:86 -> a
    4:4:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState build():91:91 -> a
    5:5:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
    5:5:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState build():91 -> a
    6:6:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState build():91:91 -> a
com.android.tools.r8.ir.analysis.value.objectstate.ObjectStateAnalysis -> com.android.tools.r8.internal.lK:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:boolean lambda$computeObjectState$0(com.android.tools.r8.ir.code.Instruction):25:25 -> a
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    2:2:boolean lambda$computeObjectState$0(com.android.tools.r8.ir.code.Instruction):25 -> a
    3:3:boolean lambda$computeObjectState$0(com.android.tools.r8.ir.code.Instruction):25:25 -> a
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> a
    4:4:boolean lambda$computeObjectState$0(com.android.tools.r8.ir.code.Instruction):25 -> a
    5:7:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):46:48 -> a
    8:8:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    8:8:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):48 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    9:9:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):48 -> a
    10:10:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
    10:10:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):50 -> a
    11:11:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):53:53 -> a
    12:12:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
    12:12:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):55 -> a
    13:17:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):60:64 -> a
    18:18:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
    18:18:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):65 -> a
    19:19:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.builder():24:24 -> a
    19:19:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):68 -> a
    20:43:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeNewInstanceObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):69:92 -> a
    44:45:void lambda$computeNewInstanceObjectState$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):78:79 -> a
    46:46:boolean com.android.tools.r8.graph.DexItemFactory$EnumMembers.isNameOrOrdinalField(com.android.tools.r8.graph.DexField):1743:1743 -> a
    46:46:void lambda$computeNewInstanceObjectState$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):79 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    47:47:boolean com.android.tools.r8.graph.DexItemFactory$EnumMembers.isNameOrOrdinalField(com.android.tools.r8.graph.DexField):1743:1743 -> a
    47:47:void lambda$computeNewInstanceObjectState$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):79 -> a
    48:55:void lambda$computeNewInstanceObjectState$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState$Builder,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):82:89 -> a
    1:1:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):23:23 -> b
    2:2:boolean com.android.tools.r8.ir.code.Value.hasAliasedValue():204:204 -> b
    2:2:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):23 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):23:24 -> b
    5:6:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectStateAnalysis.computeNewArrayObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):36:37 -> b
    5:6:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):26 -> b
    7:7:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isStatefulObjectValue():0:0 -> b
    7:7:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectStateAnalysis.computeNewArrayObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):37 -> b
    7:7:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):26 -> b
    8:8:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectStateAnalysis.computeNewArrayObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):39:39 -> b
    8:8:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):26 -> b
    9:9:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> b
    9:9:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectStateAnalysis.computeNewArrayObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):41 -> b
    9:9:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):26 -> b
    10:11:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):28:29 -> b
    12:12:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> b
    12:12:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState computeObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):31 -> b
com.android.tools.r8.ir.code.Add -> com.android.tools.r8.internal.z1:
    1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):22:22 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    double foldDouble(double,double) -> a
    float foldFloat(float,float) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateDouble(int,int,int):57:57 -> a
    1:1:com.android.tools.r8.code.Instruction CreateFloat(int,int,int):52:52 -> b
    2:2:com.android.tools.r8.code.Instruction CreateDouble2Addr(int,int):77:77 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):92:92 -> b
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):42:42 -> c
    2:2:com.android.tools.r8.code.Instruction CreateFloat2Addr(int,int):72:72 -> c
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):62:62 -> d
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):87:87 -> d
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):67:67 -> e
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):82:82 -> e
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):47:47 -> f
    boolean isAdd() -> g1
    com.android.tools.r8.ir.code.Add asAdd() -> l
    int opcode() -> l2
    boolean isCommutative() -> p2
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():127:127 -> t2
com.android.tools.r8.ir.code.AliasedValueConfiguration -> com.android.tools.r8.internal.A1:
    com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction) -> a
    boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction) -> b
com.android.tools.r8.ir.code.AlwaysMaterializingDefinition -> com.android.tools.r8.internal.E1:
    1:1:void <init>(com.android.tools.r8.ir.code.Value):19:19 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):35:35 -> a
    2:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):40:42 -> a
    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):41:41 -> a
    6:6:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):47:47 -> a
    7:7:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):67:67 -> a
    boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction) -> b
    1:1:int maxInValueRegister():57:57 -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
com.android.tools.r8.ir.code.AlwaysMaterializingNop -> com.android.tools.r8.internal.F1:
    1:1:void <init>():20:20 -> <init>
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):35:35 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):40:40 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):45:45 -> a
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):66:66 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):50:50 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:int maxInValueRegister():55:55 -> j2
    1:1:int maxOutValueRegister():60:60 -> k2
    int opcode() -> l2
com.android.tools.r8.ir.code.AlwaysMaterializingUser -> com.android.tools.r8.internal.G1:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value):19:19 -> <init>
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):35:35 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):40:40 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):45:45 -> a
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forAlwaysMaterializingUser():70:70 -> a
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):67 -> a
    5:5:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):72:72 -> a
    boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction) -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:2:int maxInValueRegister():55:56 -> j2
    1:1:int maxOutValueRegister():61:61 -> k2
    int opcode() -> l2
com.android.tools.r8.ir.code.And -> com.android.tools.r8.internal.O1:
    1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):19:19 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):49:49 -> a
    2:2:boolean outTypeKnownToBeBoolean(java.util.Set):99:99 -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):59:59 -> b
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):74:74 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):79:79 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isAnd():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):79 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):79:79 -> b
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):64:64 -> c
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):69:69 -> c
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):54:54 -> d
    int opcode() -> l2
    com.android.tools.r8.ir.code.And asAnd() -> m
    boolean isCommutative() -> p2
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():94:94 -> t2
com.android.tools.r8.ir.code.Argument -> com.android.tools.r8.internal.I2:
    int $r8$clinit -> l
    boolean knownToBeBoolean -> j
    boolean $assertionsDisabled -> k
    int index -> i
    1:1:void <clinit>():24:24 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.Value,int,boolean):30:32 -> <init>
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArgument():74:74 -> a
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):119 -> a
    2:2:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):82:82 -> a
    3:3:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):98:98 -> a
    4:4:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):129:129 -> a
    5:5:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):134:134 -> a
    6:6:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):139:139 -> a
    7:7:boolean outTypeKnownToBeBoolean(java.util.Set):149:149 -> a
    1:1:int getIndex(boolean):48:48 -> b
    2:7:boolean com.android.tools.r8.ir.code.Argument.verifyIndex():54:59 -> b
    2:7:int getIndex(boolean):48 -> b
    8:9:int getIndex(boolean):48:49 -> b
    10:10:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):103:103 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean isArgument() -> i1
    1:1:int maxInValueRegister():87:87 -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    com.android.tools.r8.ir.code.Argument asArgument() -> n
    1:1:int getIndex():40:40 -> o2
    1:1:int getIndexRaw():44:44 -> p2
com.android.tools.r8.ir.code.Argument$Builder -> com.android.tools.r8.internal.H2:
    int index -> c
    1:1:void <init>():157:157 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.Argument$Builder setIndex(int):163:163 -> a
    1:1:com.android.tools.r8.ir.code.Argument build():169:169 -> b
com.android.tools.r8.ir.code.ArithmeticBinop -> com.android.tools.r8.internal.f3:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):20:20 -> <init>
    com.android.tools.r8.code.Instruction CreateDouble(int,int,int) -> a
    1:25:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):65:89 -> a
    26:26:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":299,"2":300,"3":301}}
    299:299:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):89:89 -> a
    300:300:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):89:89 -> a
    301:301:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):89:89 -> a
    115:115:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):89:89 -> a
    116:116:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86:86 -> a
    117:117:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83:83 -> a
    118:118:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):80:80 -> a
    119:134:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):77:92 -> a
    135:135:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> a
    135:135:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):92 -> a
    136:161:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):92:117 -> a
    162:162:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":329,"2":330,"3":331}}
    329:329:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):117:117 -> a
    330:330:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):117:117 -> a
    331:331:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):117:117 -> a
    279:279:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):117:117 -> a
    280:280:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):114:114 -> a
    281:281:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):111:111 -> a
    282:282:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):108:108 -> a
    283:298:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):105:120 -> a
    332:334:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):135:137 -> a
    335:335:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    335:335:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):137 -> a
    336:336:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):137:137 -> a
    337:337:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    337:337:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):137 -> a
    338:361:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):138:161 -> a
    362:362:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):168:168 -> a
    com.android.tools.r8.code.Instruction CreateDouble2Addr(int,int) -> b
    com.android.tools.r8.code.Instruction CreateFloat(int,int,int) -> b
    com.android.tools.r8.code.Instruction CreateFloat2Addr(int,int) -> c
    com.android.tools.r8.code.Instruction CreateInt(int,int,int) -> c
    com.android.tools.r8.code.Instruction CreateInt2Addr(int,int) -> d
    com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int) -> d
    1:1:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):52:52 -> d
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> d
    2:2:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):52 -> d
    3:10:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):52:59 -> d
    com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int) -> e
    com.android.tools.r8.code.Instruction CreateLong2Addr(int,int) -> e
    com.android.tools.r8.code.Instruction CreateLong(int,int,int) -> f
    boolean isArithmeticBinop() -> j1
    com.android.tools.r8.ir.code.ArithmeticBinop asArithmeticBinop() -> o
    com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode() -> t2
com.android.tools.r8.ir.code.ArithmeticBinop$1 -> com.android.tools.r8.internal.e3:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():75:75 -> <clinit>
com.android.tools.r8.ir.code.ArrayAccess -> com.android.tools.r8.internal.g3:
    1:1:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):16:16 -> <init>
    1:1:boolean instructionInstanceCanThrow():53:53 -> d1
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> d1
    2:2:boolean instructionInstanceCanThrow():53 -> d1
    3:6:boolean instructionInstanceCanThrow():54:57 -> d1
    boolean instructionTypeCanThrow() -> f1
    boolean isArrayAccess() -> k1
    1:1:com.android.tools.r8.ir.code.Value array():20:20 -> o2
    com.android.tools.r8.ir.code.ArrayAccess asArrayAccess() -> p
    1:1:com.android.tools.r8.ir.code.Value index():24:24 -> p2
    com.android.tools.r8.ir.code.ArrayAccess withMemberType(com.android.tools.r8.ir.code.MemberType) -> q2
com.android.tools.r8.ir.code.ArrayGet -> com.android.tools.r8.internal.j3:
    boolean $assertionsDisabled -> j
    com.android.tools.r8.ir.code.MemberType type -> i
    1:1:void <clinit>():35:35 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):40:41 -> <init>
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():247:247 -> Q0
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator) -> a
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ArrayGet.dest():55:55 -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):72 -> a
    2:40:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):72:110 -> a
    41:41:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":328,"2":329,"3":330}}
    328:328:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):110:110 -> a
    329:329:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):110:110 -> a
    330:330:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):110:110 -> a
    151:151:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):110:110 -> a
    152:152:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):108:108 -> a
    153:153:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":331,"2":332,"3":333}}
    331:331:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):108:108 -> a
    332:332:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):108:108 -> a
    333:333:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):108:108 -> a
    261:261:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):108:108 -> a
    262:264:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83:85 -> a
    265:290:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):79:104 -> a
    291:291:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:101 -> a
    292:296:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):91:95 -> a
    297:297:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    297:297:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    298:298:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    298:298:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95 -> a
    299:299:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):96:96 -> a
    300:302:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95:97 -> a
    303:327:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):88:112 -> a
    334:336:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):65:67 -> a
    337:337:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayGet():78:78 -> a
    337:337:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):151 -> a
    338:344:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):162:168 -> a
    345:346:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):173:174 -> a
    347:347:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):179:179 -> a
    348:348:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):185:185 -> a
    349:349:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.ArrayGet.getMemberType():60:60 -> a
    349:349:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):186 -> a
    350:386:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):186:222 -> a
    387:387:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":652,"2":653,"3":654}}
    652:652:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):222:222 -> a
    653:653:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):222:222 -> a
    654:654:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):222:222 -> a
    605:607:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):218:218 -> a
    608:608:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ArrayGet.dest():55:55 -> a
    608:608:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220 -> a
    609:609:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220:220 -> a
    610:614:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):227:231 -> a
    610:614:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220 -> a
    615:615:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    615:615:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):231 -> a
    615:615:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220 -> a
    616:616:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    616:616:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    616:616:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):231 -> a
    616:616:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220 -> a
    617:617:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):231:231 -> a
    617:617:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):220 -> a
    618:620:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):214:214 -> a
    621:621:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ArrayGet.dest():55:55 -> a
    621:621:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216 -> a
    622:622:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216:216 -> a
    623:627:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):227:231 -> a
    623:627:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216 -> a
    628:628:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    628:628:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):231 -> a
    628:628:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216 -> a
    629:629:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    629:629:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    629:629:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):231 -> a
    629:629:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216 -> a
    630:630:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.ArrayGet.checkConstraint(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):231:231 -> a
    630:630:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):216 -> a
    631:631:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):211:211 -> a
    632:632:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> a
    632:632:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):211 -> a
    633:634:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):211:212 -> a
    635:635:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):208:208 -> a
    636:636:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> a
    636:636:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):208 -> a
    637:638:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):208:209 -> a
    639:639:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):205:205 -> a
    640:640:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    640:640:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):205 -> a
    641:642:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):205:206 -> a
    643:643:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):202:202 -> a
    644:644:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    644:644:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):202 -> a
    645:646:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):202:203 -> a
    647:649:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):194:196 -> a
    650:650:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.ArrayGet.getMemberType():60:60 -> a
    650:650:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):222 -> a
    651:651:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):222:222 -> a
    655:655:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):237:237 -> a
    656:657:boolean outTypeKnownToBeBoolean(java.util.Set):252:253 -> a
    658:658:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):258:258 -> a
    659:659:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ArrayGet.dest():55:55 -> a
    659:659:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):258 -> a
    660:660:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):258:258 -> a
    661:661:void lambda$constrainType$0(com.android.tools.r8.ir.code.MemberType):258:258 -> a
    662:670:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):275:283 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):125:125 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:com.android.tools.r8.ir.code.MemberType getMemberType():60:60 -> d
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    boolean isArrayGet() -> l1
    int opcode() -> l2
    boolean throwsOnNullInput() -> n2
    com.android.tools.r8.ir.code.ArrayGet asArrayGet() -> q
    1:269:com.android.tools.r8.ir.code.ArrayAccess withMemberType(com.android.tools.r8.ir.code.MemberType):0:268 -> q2
com.android.tools.r8.ir.code.ArrayLength -> com.android.tools.r8.internal.k3:
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):22:22 -> <init>
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():144:144 -> Q0
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ArrayLength.dest():36:36 -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):55 -> a
    2:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):55:57 -> a
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayLength():82:82 -> a
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):108 -> a
    6:6:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):83:83 -> a
    7:14:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):88:95 -> a
    15:16:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):113:114 -> a
    17:17:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):119:119 -> a
    18:18:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):124:124 -> a
    19:19:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):134:134 -> a
    1:1:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):77:77 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):102:102 -> b
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isArrayLength():0:0 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):102 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> f1
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    boolean throwsOnNullInput() -> n2
    1:1:com.android.tools.r8.ir.code.Value array():40:40 -> o2
    com.android.tools.r8.ir.code.ArrayLength asArrayLength() -> r
com.android.tools.r8.ir.code.ArrayPut -> com.android.tools.r8.internal.n3:
    boolean $assertionsDisabled -> j
    com.android.tools.r8.ir.code.MemberType type -> i
    1:1:void <clinit>():29:29 -> <clinit>
    1:5:void <init>(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):37:41 -> <init>
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():231:231 -> Q0
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator) -> a
    1:37:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):65:101 -> a
    38:38:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":303,"2":304,"3":305}}
    303:303:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:101 -> a
    304:304:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:101 -> a
    305:305:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:101 -> a
    139:139:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:101 -> a
    140:140:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):99:99 -> a
    141:141:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":306,"2":307,"3":308}}
    306:306:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):99:99 -> a
    307:307:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):99:99 -> a
    308:308:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):99:99 -> a
    240:240:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):99:99 -> a
    241:241:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
    242:265:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):72:95 -> a
    266:266:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):92:92 -> a
    267:271:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):82:86 -> a
    272:272:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    272:272:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    273:273:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    273:273:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86 -> a
    274:274:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):87:87 -> a
    275:277:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86:88 -> a
    278:302:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):79:103 -> a
    309:309:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forArrayPut():86:86 -> a
    309:309:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):201 -> a
    310:317:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):121:128 -> a
    318:318:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    318:318:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):128 -> a
    319:354:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):132:167 -> a
    355:355:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):206:206 -> a
    356:356:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):216:216 -> a
    357:357:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):221:221 -> a
    358:358:void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver):236:236 -> a
    359:359:void lambda$constrainType$0(com.android.tools.r8.ir.code.MemberType):236:236 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):185:185 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:com.android.tools.r8.ir.code.MemberType getMemberType():60:60 -> d
    int maxInValueRegister() -> j2
    1:1:int maxOutValueRegister():113:113 -> k2
    int opcode() -> l2
    boolean isArrayPut() -> m1
    boolean throwsOnNullInput() -> n2
    1:247:com.android.tools.r8.ir.code.ArrayAccess withMemberType(com.android.tools.r8.ir.code.MemberType):0:246 -> q2
    com.android.tools.r8.ir.code.ArrayPut asArrayPut() -> s
    1:1:com.android.tools.r8.ir.code.Value value():55:55 -> value
com.android.tools.r8.ir.code.Assume -> com.android.tools.r8.internal.G3:
    com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption dynamicTypeAssumption -> i
    boolean $assertionsDisabled -> l
    com.android.tools.r8.ir.code.Instruction origin -> k
    com.android.tools.r8.ir.code.Assume$NonNullAssumption nonNullAssumption -> j
    1:1:void <clinit>():22:22 -> <clinit>
    1:10:void <init>(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption,com.android.tools.r8.ir.code.Assume$NonNullAssumption,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):38:47 -> <init>
    1:1:java.lang.String getInstructionName():104:104 -> P0
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():237:237 -> Q0
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:boolean outTypeKnownToBeBoolean(java.util.Set):99:99 -> a
    2:19:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):131:148 -> a
    20:26:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):146:152 -> a
    27:27:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):167:167 -> a
    28:28:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):172:172 -> a
    29:33:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):208:212 -> a
    34:34:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):217:217 -> a
    35:35:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):227:227 -> a
    36:49:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):247:260 -> a
    50:50:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forAssume():307:307 -> a
    50:50:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):203 -> a
    1:2:boolean verifyInstructionIsNeeded(com.android.tools.r8.graph.AppView):70:71 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):192:192 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):192 -> b
    5:7:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):195:197 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:int maxInValueRegister():177:177 -> j2
    1:1:int maxOutValueRegister():182:182 -> k2
    int opcode() -> l2
    1:1:boolean throwsOnNullInput():242:242 -> n2
    1:1:com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption getDynamicTypeAssumption():82:82 -> o2
    1:1:boolean hasDynamicTypeAssumption():118:118 -> p2
    1:1:boolean hasNonNullAssumption():126:126 -> q2
    1:1:com.android.tools.r8.ir.code.Instruction origin():94:94 -> r2
    1:1:com.android.tools.r8.ir.code.Value src():90:90 -> s2
    com.android.tools.r8.ir.code.Assume asAssume() -> t
    1:1:void unsetDynamicTypeAssumption():122:122 -> t2
    1:16:java.lang.String toString():272:287 -> toString
com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption -> com.android.tools.r8.internal.E3:
    com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound dynamicType -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():290:290 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):294:296 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound getDynamicType():300:300 -> a
    2:6:boolean verifyCorrectnessOfValues(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView):304:308 -> a
    7:7:boolean verifyCorrectnessOfValues(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView):306:306 -> a
    1:5:boolean equals(java.lang.Object):317:321 -> equals
    1:1:int hashCode():326:326 -> hashCode
com.android.tools.r8.ir.code.Assume$NonNullAssumption -> com.android.tools.r8.internal.F3:
    com.android.tools.r8.ir.code.Assume$NonNullAssumption instance -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():330:332 -> <clinit>
    1:1:void <init>():334:334 -> <init>
    1:1:com.android.tools.r8.ir.code.Assume$NonNullAssumption get():337:337 -> a
    2:2:boolean verifyCorrectnessOfValues(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView):341:341 -> a
com.android.tools.r8.ir.code.AssumeAndCheckCastAliasedValueConfiguration -> com.android.tools.r8.internal.H3:
    com.android.tools.r8.ir.code.AssumeAndCheckCastAliasedValueConfiguration INSTANCE -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():9:11 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    1:1:com.android.tools.r8.ir.code.AssumeAndCheckCastAliasedValueConfiguration getInstance():17:17 -> a
    2:2:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):27:27 -> a
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    3:3:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):27 -> a
    4:4:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):27:27 -> a
    5:5:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    5:5:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):28 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):28:28 -> a
    1:1:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):22:22 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    2:2:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):22 -> b
    3:3:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):22:22 -> b
com.android.tools.r8.ir.code.BasicBlock -> com.android.tools.r8.internal.A4:
    int color -> n
    int estimatedPredecessorsCount -> l
    int unfilledPredecessorsCount -> m
    boolean $assertionsDisabled -> p
    boolean filled -> i
    boolean sealed -> j
    java.util.Map currentDefinitions -> o
    int number -> g
    com.android.tools.r8.ir.code.CatchHandlers catchHandlers -> e
    java.util.List successors -> b
    java.util.Set onControlFlowEdgesMayChangeListeners -> d
    java.util.List predecessors -> c
    java.util.LinkedList instructions -> f
    java.util.List phis -> h
    java.util.Map incompletePhis -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap localsAtEntry -> a
    1:1:void <clinit>():57:57 -> <clinit>
    1:142:void <init>():57:198 -> <init>
    1:1:com.android.tools.r8.ir.code.BasicBlock getUniqueNormalSuccessor():230:230 -> A
    2:2:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> A
    2:2:com.android.tools.r8.ir.code.BasicBlock getUniqueNormalSuccessor():230 -> A
    3:4:com.android.tools.r8.ir.code.BasicBlock getUniqueNormalSuccessor():230:231 -> A
    1:2:com.android.tools.r8.ir.code.BasicBlock getUniquePredecessor():293:294 -> B
    1:2:com.android.tools.r8.ir.code.BasicBlock getUniqueSuccessor():225:226 -> C
    1:2:boolean hasCatchHandlers():626:627 -> D
    3:3:boolean com.android.tools.r8.ir.code.CatchHandlers.isEmpty():55:55 -> D
    3:3:boolean hasCatchHandlers():627 -> D
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean hasIncompletePhis():1223:1223 -> E
    1:1:boolean hasOneNormalExit():1603:1603 -> F
    1:1:boolean hasPhis():593:593 -> G
    1:1:boolean hasUniquePredecessor():289:289 -> H
    1:1:boolean hasUniqueSuccessor():209:209 -> I
    1:2:void incrementUnfilledPredecessorCount():758:759 -> J
    1:1:boolean isEmpty():695:695 -> K
    1:1:boolean isFilled():614:614 -> L
    1:1:boolean isReturnBlock():703:703 -> M
    1:1:boolean isSealed():1211:1211 -> N
    1:1:boolean isTrivialGoto():1535:1535 -> O
    1:1:com.android.tools.r8.ir.code.InstructionIterator iterator():1679:1679 -> P
    1:2:boolean notifyPredecessorsMayChangeListeners():307:308 -> Q
    1:2:boolean notifySuccessorsMayChangeListeners():244:245 -> R
    1:1:int numberOfCatchHandlers():1628:1628 -> S
    1:2:int numberOfExceptionalSuccessors():282:283 -> T
    1:4:int numberOfNormalSuccessors():275:278 -> U
    1:2:void removeAllNormalSuccessors():354:355 -> V
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> V
    3:3:void removeAllNormalSuccessors():355 -> V
    4:12:void removeAllNormalSuccessors():356:364 -> V
    1:1:void setFilled():618:618 -> W
    1:1:void setFilledForTesting():622:622 -> X
    1:1:int size():699:699 -> Y
    1:1:java.lang.String toDetailedString():0:0 -> Z
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5218,"2":5219,"3":5220}}
    5218:5218:java.lang.String toDetailedString():1264:1264 -> Z
    5219:5219:java.lang.String toDetailedString():1264:1264 -> Z
    5220:5220:java.lang.String toDetailedString():1265:1265 -> Z
    1267:1269:java.lang.String toDetailedString():1266:1268 -> Z
    1270:1270:java.lang.String toDetailedString():0:0 -> Z
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5224,"2":5225,"3":5226}}
    5224:5224:java.lang.String toDetailedString():1269:1269 -> Z
    5225:5225:java.lang.String toDetailedString():1269:1269 -> Z
    5226:5226:java.lang.String toDetailedString():1269:1269 -> Z
    2539:2539:java.lang.String toDetailedString():1269:1269 -> Z
    2540:2540:java.lang.String toDetailedString():0:0 -> Z
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5228,"2":5229,"3":5230}}
    5228:5228:java.lang.String toDetailedString():1271:1271 -> Z
    5229:5229:java.lang.String toDetailedString():1271:1271 -> Z
    5230:5230:java.lang.String toDetailedString():1271:1271 -> Z
    3811:3812:java.lang.String toDetailedString():1271:1272 -> Z
    3813:3813:boolean com.android.tools.r8.ir.code.BasicBlock.isFilled():614:614 -> Z
    3813:3813:java.lang.String toDetailedString():1272 -> Z
    3814:3815:java.lang.String toDetailedString():1272:1273 -> Z
    3816:3816:boolean com.android.tools.r8.ir.code.BasicBlock.isSealed():1211:1211 -> Z
    3816:3816:java.lang.String toDetailedString():1273 -> Z
    3817:3820:java.lang.String toDetailedString():1273:1276 -> Z
    3821:3828:void com.android.tools.r8.ir.code.BasicBlock.appendBasicBlockList(java.lang.StringBuilder,java.util.List,java.util.function.Function):1232:1239 -> Z
    3821:3828:java.lang.String toDetailedString():1276 -> Z
    3829:3831:java.lang.String toDetailedString():1277:1279 -> Z
    3832:3839:void com.android.tools.r8.ir.code.BasicBlock.appendBasicBlockList(java.lang.StringBuilder,java.util.List,java.util.function.Function):1232:1239 -> Z
    3832:3839:java.lang.String toDetailedString():1279 -> Z
    3840:3870:java.lang.String toDetailedString():1280:1310 -> Z
    3871:3871:int com.android.tools.r8.ir.code.BasicBlock.digits(int):1260:1260 -> Z
    3871:3871:java.lang.String toDetailedString():1310 -> Z
    3872:3882:java.lang.String toDetailedString():1310:1320 -> Z
    3883:3883:java.lang.String toDetailedString():0:0 -> Z
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5281,"2":5282,"3":5283}}
    5281:5281:java.lang.String toDetailedString():1322:1322 -> Z
    5282:5282:java.lang.String toDetailedString():1322:1322 -> Z
    5283:5283:java.lang.String toDetailedString():1322:1322 -> Z
    5205:5217:java.lang.String toDetailedString():1322:1334 -> Z
    1:4:boolean consistentInitClassInstruction(com.android.tools.r8.ir.code.InitClass,boolean):93:96 -> a
    5:7:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):101:101 -> a
    8:8:boolean lambda$verifyTypes$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper,com.android.tools.r8.ir.code.Instruction):102:102 -> a
    9:9:void setLocalsAtEntry(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):107:107 -> a
    10:12:void replaceLastInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):115:117 -> a
    13:17:void addControlFlowEdgesMayChangeListener(com.android.tools.r8.ir.code.BasicBlock$BasicBlockChangeListener):201:205 -> a
    18:36:void removePredecessor(com.android.tools.r8.ir.code.BasicBlock,java.util.Set):330:348 -> a
    37:54:void swapSuccessorsByIndex(int,int):377:394 -> a
    55:62:void replacePredecessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):511:518 -> a
    63:66:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):522:525 -> a
    67:67:boolean com.android.tools.r8.utils.ListUtils.verifyListIsOrdered(java.util.List):245:245 -> a
    67:67:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):525 -> a
    68:69:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.get(int):606:606 -> a
    68:69:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.get(int):32 -> a
    68:69:boolean com.android.tools.r8.utils.ListUtils.verifyListIsOrdered(java.util.List):246 -> a
    68:69:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):525 -> a
    70:70:boolean com.android.tools.r8.utils.ListUtils.verifyListIsOrdered(java.util.List):246:246 -> a
    70:70:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):525 -> a
    71:74:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):525:528 -> a
    75:75:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    75:75:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    75:75:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):530 -> a
    76:76:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):530:530 -> a
    77:77:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    77:77:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    77:77:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):530 -> a
    78:96:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):530:548 -> a
    97:97:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    97:97:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    97:97:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):550 -> a
    98:98:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):550:550 -> a
    99:99:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    99:99:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    99:99:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):550 -> a
    100:116:void removeSuccessorsByIndex(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):550:566 -> a
    117:118:boolean hasDeadPhi(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):597:598 -> a
    119:119:java.lang.Iterable instructionsAfter(com.android.tools.r8.ir.code.Instruction):657:657 -> a
    120:121:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):734:735 -> a
    122:124:void clearMark(int):747:749 -> a
    125:125:void addPhi(com.android.tools.r8.ir.code.Phi):779:779 -> a
    126:126:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRMetadata):793:793 -> a
    127:127:boolean com.android.tools.r8.ir.code.BasicBlock.isFilled():614:614 -> a
    127:127:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRMetadata):793 -> a
    128:131:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRMetadata):793:796 -> a
    132:132:void close(com.android.tools.r8.ir.conversion.IRBuilder):800:800 -> a
    133:133:boolean com.android.tools.r8.ir.code.BasicBlock.isFilled():614:614 -> a
    133:133:void close(com.android.tools.r8.ir.conversion.IRBuilder):800 -> a
    134:138:void close(com.android.tools.r8.ir.conversion.IRBuilder):800:804 -> a
    139:140:boolean com.android.tools.r8.ir.code.BasicBlock.verifyNoValuesAfterThrowingInstruction():1665:1666 -> a
    139:140:void close(com.android.tools.r8.ir.conversion.IRBuilder):805 -> a
    141:141:com.android.tools.r8.ir.code.InstructionIterator com.android.tools.r8.ir.code.BasicBlock.iterator(int):1683:1683 -> a
    141:141:boolean com.android.tools.r8.ir.code.BasicBlock.verifyNoValuesAfterThrowingInstruction():1666 -> a
    141:141:void close(com.android.tools.r8.ir.conversion.IRBuilder):805 -> a
    142:147:boolean com.android.tools.r8.ir.code.BasicBlock.verifyNoValuesAfterThrowingInstruction():1667:1672 -> a
    142:147:void close(com.android.tools.r8.ir.conversion.IRBuilder):805 -> a
    148:148:void close(com.android.tools.r8.ir.conversion.IRBuilder):806:806 -> a
    149:149:void com.android.tools.r8.ir.code.BasicBlock.filledPredecessor(com.android.tools.r8.ir.conversion.IRBuilder):1170:1170 -> a
    149:149:void close(com.android.tools.r8.ir.conversion.IRBuilder):807 -> a
    150:150:void com.android.tools.r8.ir.code.BasicBlock.filledPredecessor(com.android.tools.r8.ir.conversion.IRBuilder):1170:1170 -> a
    150:150:void close(com.android.tools.r8.ir.conversion.IRBuilder):807 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    151:151:void com.android.tools.r8.ir.code.BasicBlock.filledPredecessor(com.android.tools.r8.ir.conversion.IRBuilder):1170:1170 -> a
    151:151:void close(com.android.tools.r8.ir.conversion.IRBuilder):807 -> a
    152:152:void com.android.tools.r8.ir.code.BasicBlock.filledPredecessor(com.android.tools.r8.ir.conversion.IRBuilder):1171:1171 -> a
    152:152:void close(com.android.tools.r8.ir.conversion.IRBuilder):807 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    153:163:void com.android.tools.r8.ir.code.BasicBlock.filledPredecessor(com.android.tools.r8.ir.conversion.IRBuilder):1171:1181 -> a
    153:163:void close(com.android.tools.r8.ir.conversion.IRBuilder):807 -> a
    164:164:boolean blocksClean(java.util.List):819:819 -> a
    165:174:void removeCatchHandlerWithGuard(com.android.tools.r8.graph.DexType):899:908 -> a
    175:175:boolean lambda$removeCatchHandlerWithGuard$6(int,com.android.tools.r8.ir.code.BasicBlock):905:905 -> a
    176:180:java.util.List unlink(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):934:938 -> a
    181:181:java.util.List com.android.tools.r8.ir.code.DominatorTree.dominatedBlocks(com.android.tools.r8.ir.code.BasicBlock):171:171 -> a
    181:181:java.util.List unlink(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):939 -> a
    182:186:java.util.List unlink(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):939:943 -> a
    187:196:void linkCatchSuccessors(java.util.List,java.util.List):982:991 -> a
    197:228:void appendCatchHandler(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType):995:1026 -> a
    229:239:boolean renameGuardsInCatchHandlers(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1037:1047 -> a
    240:241:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.BasicBlock.readOnThrowValue(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1097:1098 -> a
    240:241:boolean com.android.tools.r8.ir.code.BasicBlock.isOnThrowValue(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1104 -> a
    240:241:void addIncompletePhi(int,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1215 -> a
    242:243:void addIncompletePhi(int,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1218:1219 -> a
    244:245:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.BasicBlock.readOnThrowValue(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1097:1098 -> a
    244:245:com.android.tools.r8.ir.code.Value readCurrentDefinition(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1110 -> a
    246:248:com.android.tools.r8.ir.code.Value readCurrentDefinition(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1112:1114 -> a
    249:250:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.BasicBlock.readOnThrowValue(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1097:1098 -> a
    249:250:boolean com.android.tools.r8.ir.code.BasicBlock.isOnThrowValue(int,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1104 -> a
    249:250:void updateCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1135 -> a
    251:255:void updateCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1141:1145 -> a
    256:257:boolean com.android.tools.r8.ir.code.BasicBlock.verifyOnThrowWrite(int):1655:1656 -> a
    256:257:void updateCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1145 -> a
    258:265:void updateCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$EdgeType):1146:1153 -> a
    266:267:void writeCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):1161:1162 -> a
    268:269:boolean com.android.tools.r8.ir.code.BasicBlock.verifyOnThrowWrite(int):1655:1656 -> a
    268:269:void writeCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):1162 -> a
    270:272:void writeCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):1163:1163 -> a
    275:275:void writeCurrentDefinition(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):1166:1166 -> a
    276:281:void print(com.android.tools.r8.utils.CfgPrinter):1338:1343 -> a
    282:283:void com.android.tools.r8.ir.code.BasicBlock.printBlockList(com.android.tools.r8.utils.CfgPrinter,java.util.List):1374:1375 -> a
    282:283:void print(com.android.tools.r8.utils.CfgPrinter):1343 -> a
    284:286:void print(com.android.tools.r8.utils.CfgPrinter):1344:1346 -> a
    287:288:void com.android.tools.r8.ir.code.BasicBlock.printBlockList(com.android.tools.r8.utils.CfgPrinter,java.util.List):1374:1375 -> a
    287:288:void print(com.android.tools.r8.utils.CfgPrinter):1346 -> a
    289:312:void print(com.android.tools.r8.utils.CfgPrinter):1347:1370 -> a
    313:314:com.android.tools.r8.ir.code.BasicBlock createGotoBlock(int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock):1433:1434 -> a
    315:319:com.android.tools.r8.ir.code.BasicBlock createGotoBlock(int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.IRMetadata):1447:1451 -> a
    320:329:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1504:1513 -> a
    330:330:void com.android.tools.r8.ir.code.BasicBlock.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):789:789 -> a
    330:330:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1514 -> a
    331:331:void com.android.tools.r8.ir.code.BasicBlock.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):789:789 -> a
    331:331:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1515 -> a
    332:332:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1516:1516 -> a
    333:333:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    333:333:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1517 -> a
    334:334:com.android.tools.r8.ir.code.BasicBlock createRethrowBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1517:1517 -> a
    335:336:boolean canThrow():1642:1643 -> a
    337:337:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode):1691:1691 -> a
    338:338:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.BasicBlock.listIterator(com.android.tools.r8.ir.code.IRMetadata):1695:1695 -> a
    338:338:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode):1691 -> a
    339:339:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRMetadata):1695:1695 -> a
    340:340:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode,int):1699:1699 -> a
    341:341:com.android.tools.r8.ir.code.InstructionListIterator listIterator(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):1710:1710 -> a
    342:353:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1728:1739 -> a
    354:359:void com.android.tools.r8.ir.code.BasicBlock.moveCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1760:1765 -> a
    354:359:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1743 -> a
    360:364:com.android.tools.r8.ir.code.BasicBlock createSplitBlock(int,boolean):1747:1751 -> a
    365:380:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1776:1791 -> a
    381:381:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1811:1811 -> a
    381:381:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    382:382:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1812:1812 -> a
    382:382:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    383:383:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    383:383:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1812 -> a
    383:383:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    384:401:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1816:1833 -> a
    384:401:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    402:402:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    402:402:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1834 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    402:402:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    403:403:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    403:403:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1834 -> a
    403:403:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    404:410:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1834:1840 -> a
    404:410:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    411:411:void com.android.tools.r8.ir.code.BasicBlock.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):789:789 -> a
    411:411:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1841 -> a
    411:411:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    412:415:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1842:1845 -> a
    412:415:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    416:416:void com.android.tools.r8.ir.code.BasicBlock.add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):789:789 -> a
    416:416:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1846 -> a
    416:416:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    417:422:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1847:1852 -> a
    417:422:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    423:423:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1830:1830 -> a
    423:423:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    424:424:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    424:424:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1830 -> a
    424:424:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    425:425:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    425:425:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    425:425:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1830 -> a
    425:425:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    426:463:void com.android.tools.r8.ir.code.BasicBlock.splitCriticalExceptionEdges(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):1830:1867 -> a
    426:463:void copyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.utils.InternalOptions):1792 -> a
    464:537:java.util.List appendCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1883:1956 -> a
    1:3:void unlinkCatchHandler():872:874 -> a0
    1:1:void lambda$notifyPredecessorsMayChangeListeners$2(com.android.tools.r8.ir.code.BasicBlock$BasicBlockChangeListener):308:308 -> b
    2:32:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):399:429 -> b
    33:33:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> b
    33:33:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):431 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):431:431 -> b
    35:35:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> b
    35:35:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):432 -> b
    36:39:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):432:435 -> b
    40:40:boolean com.android.tools.r8.ir.code.Instruction.isLoad():0:0 -> b
    40:40:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):435 -> b
    41:42:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):435:436 -> b
    43:47:boolean com.android.tools.r8.ir.code.BasicBlock.hasLinearFlow(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):498:502 -> b
    43:47:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436 -> b
    48:48:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":538,"2":539,"3":540}}
    538:538:boolean com.android.tools.r8.ir.code.BasicBlock.hasLinearFlow(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):502:502 -> b
    538:538:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436 -> b
    539:539:boolean com.android.tools.r8.ir.code.BasicBlock.hasLinearFlow(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):502:502 -> b
    539:539:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436 -> b
    540:540:boolean com.android.tools.r8.ir.code.BasicBlock.hasLinearFlow(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):502:502 -> b
    540:540:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436 -> b
    484:537:void replaceSuccessor(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):436:489 -> b
    541:542:void removePhisByIndex(java.util.List):587:588 -> b
    543:543:java.lang.Iterable instructionsBefore(com.android.tools.r8.ir.code.Instruction):661:661 -> b
    544:545:void decrementUnfilledPredecessorCount(int):763:764 -> b
    546:547:void removePhi(com.android.tools.r8.ir.code.Phi):783:784 -> b
    548:548:void unlinkCatchHandlerForGuard(com.android.tools.r8.graph.DexType):887:887 -> b
    549:553:boolean com.android.tools.r8.ir.code.BasicBlock.isCatchHandlerForSingleGuard():913:917 -> b
    549:553:void unlinkCatchHandlerForGuard(com.android.tools.r8.graph.DexType):888 -> b
    554:558:void unlinkCatchHandlerForGuard(com.android.tools.r8.graph.DexType):890:894 -> b
    559:586:java.util.Set cleanForRemoval():948:975 -> b
    587:588:com.android.tools.r8.ir.code.BasicBlock$EdgeType getEdgeType(com.android.tools.r8.ir.code.BasicBlock):1186:1187 -> b
    1:5:com.android.tools.r8.ir.code.BasicBlock unlinkSinglePredecessor():833:837 -> b0
    1:1:void lambda$notifySuccessorsMayChangeListeners$1(com.android.tools.r8.ir.code.BasicBlock$BasicBlockChangeListener):245:245 -> c
    2:6:void swapSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):369:373 -> c
    7:8:boolean isMarked(int):753:754 -> c
    9:12:boolean hasCatchSuccessor(com.android.tools.r8.ir.code.BasicBlock):1191:1194 -> c
    13:22:boolean isInstructionBeforeThrowingInstruction(com.android.tools.r8.ir.code.Instruction):1522:1531 -> c
    23:23:void clearCatchHandlers():1619:1619 -> c
    1:5:void unlinkSinglePredecessorSiblingsAllowed():843:847 -> c0
    1:2:boolean hasNormalSuccessor(com.android.tools.r8.ir.code.BasicBlock):257:258 -> d
    3:5:void clearCurrentDefinitions():1083:1085 -> d
    6:6:com.android.tools.r8.ir.code.InstructionIterator iterator(int):1683:1683 -> d
    7:7:com.android.tools.r8.ir.code.InstructionIterator iterator(com.android.tools.r8.ir.code.Instruction):1687:1687 -> d
    1:6:com.android.tools.r8.ir.code.BasicBlock unlinkSingleSuccessor():856:861 -> d0
    1:2:void clearUserInfo():729:730 -> e
    3:6:void mark(int):740:743 -> e
    7:7:com.android.tools.r8.ir.code.InstructionIterator com.android.tools.r8.ir.code.BasicBlock.iterator(com.android.tools.r8.ir.code.Instruction):1687:1687 -> e
    7:7:java.util.Iterator lambda$instructionsAfter$3(com.android.tools.r8.ir.code.Instruction):657 -> e
    8:20:boolean hasPathTo(com.android.tools.r8.ir.code.BasicBlock):1966:1978 -> e
    1:2:boolean verifyFilledPredecessors():773:774 -> e0
    1:2:int numberInstructions(int):645:646 -> f
    3:3:java.util.Iterator lambda$instructionsBefore$4(com.android.tools.r8.ir.code.Instruction):662:662 -> f
    4:5:void lambda$blocksClean$5(com.android.tools.r8.ir.code.BasicBlock):821:822 -> f
    6:7:boolean consistentCatchHandlers():1054:1055 -> f
    8:8:com.android.tools.r8.ir.code.CatchHandlers com.android.tools.r8.ir.code.BasicBlock.getCatchHandlersWithSuccessorIndexes():1615:1615 -> f
    8:8:boolean consistentCatchHandlers():1056 -> f
    9:11:boolean consistentCatchHandlers():1058:1058 -> f
    14:30:boolean consistentCatchHandlers():1061:1077 -> f
    1:2:void setNumber(int):636:637 -> g
    3:4:void decrementUnfilledPredecessorCount():768:769 -> g
    5:5:java.lang.String lambda$toDetailedString$7(com.android.tools.r8.ir.code.BasicBlock):1276:1276 -> g
    6:8:void removeInstruction(com.android.tools.r8.ir.code.Instruction):1417:1419 -> g
    9:21:void com.android.tools.r8.ir.code.BasicBlock.removeInstructions(java.util.List):1396:1408 -> g
    9:21:void removeInstruction(com.android.tools.r8.ir.code.Instruction):1419 -> g
    22:22:void com.android.tools.r8.ir.code.BasicBlock.setInstructions(java.util.LinkedList):1388:1388 -> g
    22:22:void com.android.tools.r8.ir.code.BasicBlock.removeInstructions(java.util.List):1409 -> g
    22:22:void removeInstruction(com.android.tools.r8.ir.code.Instruction):1419 -> g
    1:4:void link(com.android.tools.r8.ir.code.BasicBlock):812:815 -> h
    5:39:void deduplicatePhis():2009:2043 -> h
    1:4:void detachAllSuccessors():926:929 -> i
    5:6:java.lang.String predecessorPostfix(com.android.tools.r8.ir.code.BasicBlock):1253:1254 -> i
    7:15:int com.android.tools.r8.ir.code.BasicBlock.guardsForCatchSuccessor(com.android.tools.r8.ir.code.BasicBlock):1198:1206 -> i
    7:15:java.lang.String predecessorPostfix(com.android.tools.r8.ir.code.BasicBlock):1254 -> i
    16:18:java.lang.String predecessorPostfix(com.android.tools.r8.ir.code.BasicBlock):1254:1256 -> i
    1:3:void removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):324:326 -> j
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>(int[]):135:135 -> j
    4:4:void removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):326 -> j
    5:5:void removeSuccessor(com.android.tools.r8.ir.code.BasicBlock):326:326 -> j
    6:6:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1563:1563 -> j
    7:7:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1572,"2":1573,"3":1574}}
    1572:1572:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1564:1564 -> j
    1573:1573:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1564:1564 -> j
    1574:1574:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1564:1564 -> j
    8:8:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1575,"2":1576,"3":1577}}
    1575:1575:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1565:1565 -> j
    1576:1576:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1565:1565 -> j
    1577:1577:com.android.tools.r8.ir.code.BasicBlock endOfGotoChain():1565:1565 -> j
    1:1:com.android.tools.r8.ir.code.Instruction entry():707:707 -> k
    2:3:void transferCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):1623:1624 -> k
    1:2:com.android.tools.r8.ir.code.Instruction exceptionalExit():717:718 -> l
    3:3:com.android.tools.r8.ir.code.InstructionIterator com.android.tools.r8.ir.code.BasicBlock.iterator(int):1683:1683 -> l
    3:3:com.android.tools.r8.ir.code.Instruction exceptionalExit():718 -> l
    4:6:com.android.tools.r8.ir.code.Instruction exceptionalExit():719:721 -> l
    1:3:com.android.tools.r8.ir.code.JumpInstruction exit():711:713 -> m
    1:5:com.android.tools.r8.ir.code.CatchHandlers getCatchHandlers():1607:1611 -> n
    1:1:com.android.tools.r8.ir.code.CatchHandlers getCatchHandlersWithSuccessorIndexes():1615:1615 -> o
    1:1:java.util.LinkedList getInstructions():653:653 -> p
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getLocalsAtEntry():111:111 -> q
    1:2:java.util.List getMutablePredecessors():302:303 -> r
    1:2:java.util.List getMutableSuccessors():239:240 -> s
    1:7:java.util.List getNormalPredecessors():314:320 -> t
    1:1:java.lang.String toString():1245:1245 -> toString
    1:5:java.util.List getNormalSuccessors():266:270 -> u
    6:7:void com.android.tools.r8.ir.code.BasicBlock.forEachNormalSuccessor(java.util.function.Consumer):251:252 -> u
    6:7:java.util.List getNormalSuccessors():270 -> u
    8:8:java.util.List getNormalSuccessors():271:271 -> u
    1:2:int getNumber():631:632 -> v
    1:1:java.lang.String getNumberAsString():641:641 -> w
    2:2:java.lang.String getNumberAsString():0:0 -> w
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":644,"2":645,"3":646}}
    644:644:java.lang.String getNumberAsString():641:641 -> w
    645:645:java.lang.String getNumberAsString():641:641 -> w
    646:646:java.lang.String getNumberAsString():641:641 -> w
    643:643:java.lang.String getNumberAsString():641:641 -> w
    1:1:java.util.List getPhis():606:606 -> x
    1:1:java.util.List getPredecessors():298:298 -> y
    1:1:java.util.List getSuccessors():235:235 -> z
com.android.tools.r8.ir.code.BasicBlock$1 -> com.android.tools.r8.internal.v4:
    com.android.tools.r8.ir.code.Instruction next -> c
    com.android.tools.r8.ir.code.Instruction val$instruction -> d
    com.android.tools.r8.ir.code.InstructionIterator iterator -> b
    1:4:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):662:665 -> <init>
    1:1:boolean hasNext():679:679 -> hasNext
    1:3:com.android.tools.r8.ir.code.Instruction advance():668:670 -> j
    1:5:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.BasicBlock$1.next():684:688 -> next
    1:5:java.lang.Object next():662 -> next
    6:6:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.BasicBlock$1.next():686:686 -> next
    6:6:java.lang.Object next():662 -> next
com.android.tools.r8.ir.code.BasicBlock$BasicBlockChangeListener -> com.android.tools.r8.internal.w4:
com.android.tools.r8.ir.code.BasicBlock$EdgeType -> com.android.tools.r8.internal.x4:
    com.android.tools.r8.ir.code.BasicBlock$EdgeType NON_EDGE -> b
    com.android.tools.r8.ir.code.BasicBlock$EdgeType NORMAL -> c
    com.android.tools.r8.ir.code.BasicBlock$EdgeType EXCEPTIONAL -> d
    1:3:void <clinit>():134:136 -> <clinit>
    1:1:void <init>(java.lang.String,int):133:133 -> <init>
com.android.tools.r8.ir.code.BasicBlock$PhiEquivalence -> com.android.tools.r8.internal.y4:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():1986:1986 -> <clinit>
    1:1:void <init>():1986:1986 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.BasicBlock$1):1986:1986 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):1986:1986 -> a
    2:4:boolean com.android.tools.r8.ir.code.BasicBlock$PhiEquivalence.doEquivalent(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Phi):1989:1991 -> a
    2:4:boolean doEquivalent(java.lang.Object,java.lang.Object):1986 -> a
    5:5:int doHash(java.lang.Object):1986:1986 -> a
    6:7:int com.android.tools.r8.ir.code.BasicBlock$PhiEquivalence.doHash(com.android.tools.r8.ir.code.Phi):2001:2002 -> a
    6:7:int doHash(java.lang.Object):1986 -> a
com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.z4:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    1:1:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo.defaultForConstString(com.android.tools.r8.utils.InternalOptions):125 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    2:2:com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo.defaultForConstString(com.android.tools.r8.utils.InternalOptions):125 -> a
com.android.tools.r8.ir.code.BasicBlockInstructionIterator -> com.android.tools.r8.internal.C4:
    java.util.ListIterator instructionIterator -> b
    1:2:void <init>(com.android.tools.r8.ir.code.BasicBlock):13:14 -> <init>
    3:4:void <init>(com.android.tools.r8.ir.code.BasicBlock,int):17:18 -> <init>
    5:6:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):22:23 -> <init>
    boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
    1:1:boolean hasNext():38:38 -> hasNext
    1:1:boolean hasPrevious():28:28 -> hasPrevious
    1:1:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.BasicBlockInstructionIterator.next():43:43 -> next
    1:1:java.lang.Object next():9 -> next
    1:1:com.android.tools.r8.ir.code.Instruction previous():33:33 -> previous
com.android.tools.r8.ir.code.BasicBlockInstructionListIterator -> com.android.tools.r8.internal.D4:
    java.util.ListIterator listIterator -> c
    com.android.tools.r8.ir.code.Instruction current -> d
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.code.BasicBlock block -> b
    com.android.tools.r8.ir.code.IRMetadata metadata -> f
    com.android.tools.r8.ir.code.Position position -> e
    1:1:void <clinit>():39:39 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock):48:48 -> <init>
    2:9:void <init>(com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock):44:51 -> <init>
    10:10:void <init>(com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock,int):54:54 -> <init>
    11:24:void <init>(com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock,int):44:57 -> <init>
    25:26:void <init>(com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):62:63 -> <init>
    boolean lambda$inlineInvoke$2(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
    boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
    1:1:void setInsertionPosition(com.android.tools.r8.ir.code.Position):105:105 -> a
    2:12:void addThrowingInstructionToPossiblyThrowingBlock(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.utils.InternalOptions):138:148 -> a
    13:13:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):225:225 -> a
    14:14:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    14:14:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):228 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:34:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):228:247 -> a
    35:35:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):226:226 -> a
    36:39:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):285:288 -> a
    40:40:com.android.tools.r8.ir.code.InvokeVirtual$Builder com.android.tools.r8.ir.code.InvokeVirtual.builder():35:35 -> a
    40:40:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):288 -> a
    41:42:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):289:290 -> a
    43:43:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    43:43:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):290 -> a
    44:44:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):290:290 -> a
    45:45:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setPosition(com.android.tools.r8.ir.code.Position):1662:1662 -> a
    45:45:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):291 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    46:46:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setPosition(com.android.tools.r8.ir.code.Position):1663:1663 -> a
    46:46:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):291 -> a
    47:51:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):291:295 -> a
    52:79:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):303:330 -> a
    80:80:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    80:80:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):330 -> a
    81:83:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):340:342 -> a
    84:84:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    84:84:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):342 -> a
    85:107:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):342:364 -> a
    108:108:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    108:108:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):364 -> a
    109:109:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):365:365 -> a
    110:110:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    110:110:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):366 -> a
    111:111:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):367:367 -> a
    112:116:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):375:379 -> a
    117:117:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.classClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):436:436 -> a
    117:117:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):379 -> a
    118:119:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):380:381 -> a
    120:120:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> a
    120:120:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):381 -> a
    121:121:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    121:121:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):382 -> a
    122:122:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):376:376 -> a
    123:127:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):387:391 -> a
    128:128:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    128:128:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):391 -> a
    129:132:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):391:394 -> a
    133:133:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    133:133:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):395 -> a
    134:134:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):388:388 -> a
    135:143:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):413:421 -> a
    144:144:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    144:144:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):422 -> a
    145:146:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):425:426 -> a
    147:147:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):414:414 -> a
    148:176:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):438:466 -> a
    177:177:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):465:465 -> a
    178:195:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):464:481 -> a
    196:196:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasInsertionPosition():100:100 -> a
    196:196:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):482 -> a
    197:201:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):483:487 -> a
    202:202:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> a
    202:202:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):488 -> a
    203:205:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):488:490 -> a
    206:206:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):439:439 -> a
    207:227:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):500:520 -> a
    228:228:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasNext():68:68 -> a
    228:228:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):525 -> a
    229:235:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):525:531 -> a
    236:236:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):530:530 -> a
    237:260:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):529:552 -> a
    261:261:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasInsertionPosition():100:100 -> a
    261:261:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):553 -> a
    262:268:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):554:560 -> a
    269:269:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> a
    269:269:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):561 -> a
    270:297:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):561:588 -> a
    298:298:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):501:501 -> a
    299:308:void lambda$replaceCurrentInstructionWithThrowNull$1(java.util.Set,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.BasicBlock):572:581 -> a
    309:310:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):596:597 -> a
    311:311:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasNext():68:68 -> a
    311:311:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):600 -> a
    312:315:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):600:603 -> a
    316:316:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    316:316:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):603 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    317:317:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    317:317:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):603 -> a
    318:318:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):607:607 -> a
    319:319:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    319:319:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):607 -> a
    320:323:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):607:610 -> a
    324:325:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> a
    324:325:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):610 -> a
    326:344:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):611:629 -> a
    345:352:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator):638:645 -> a
    353:356:com.android.tools.r8.ir.code.BasicBlock splitCopyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):653:656 -> a
    357:389:void splitBlockAndCopyCatchHandlers(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.ListIterator):682:714 -> a
    390:395:void removeArgumentInstruction(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Value):752:757 -> a
    396:403:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):768:775 -> a
    404:406:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):774:776 -> a
    407:409:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.canThrow(com.android.tools.r8.ir.code.IRCode):662:664 -> a
    407:409:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):778 -> a
    410:426:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):782:798 -> a
    427:427:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    427:427:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):799 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    428:435:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):799:806 -> a
    436:436:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    436:436:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):809 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    437:440:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):809:812 -> a
    441:441:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    441:441:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):813 -> a
    442:474:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):813:845 -> a
    475:475:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    475:475:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):849 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    476:480:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):849:853 -> a
    481:481:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    481:481:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):854 -> a
    482:489:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):854:861 -> a
    490:490:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    490:490:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):861 -> a
    491:510:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):861:880 -> a
    511:511:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    511:511:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):880 -> a
    512:512:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):883:883 -> a
    513:513:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    513:513:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):882 -> a
    514:547:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):881:914 -> a
    548:548:com.android.tools.r8.ir.code.BasicBlockIterator com.android.tools.r8.ir.code.IRCode.listIterator(int):1060:1060 -> a
    548:548:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):914 -> a
    549:555:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):917:923 -> a
    556:556:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    556:556:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):924 -> a
    557:562:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):924:929 -> a
    563:579:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.appendCatchHandlers(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):729:745 -> a
    563:579:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):930 -> a
    580:585:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):937:942 -> a
    586:586:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    586:586:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):942 -> a
    587:597:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):942:952 -> a
    598:602:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):951:955 -> a
    603:609:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):961:967 -> a
    610:610:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    610:610:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):968 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    611:611:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    611:611:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):968 -> a
    612:637:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):968:993 -> a
    638:638:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    638:638:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):993 -> a
    639:656:com.android.tools.r8.ir.code.InstructionListIterator ensureSingleReturnInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.List):993:1010 -> a
    657:657:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createNumberConstant(long,com.android.tools.r8.ir.analysis.type.TypeElement):1158:1158 -> a
    657:657:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):253 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    658:658:boolean com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.hasInsertionPosition():100:100 -> a
    658:658:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):255 -> a
    659:660:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):257:258 -> a
    661:661:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    661:661:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):258 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    662:662:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    662:662:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):258 -> a
    663:668:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):260:265 -> a
    669:669:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.IRCode.createStringConstant(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):1186:1186 -> a
    669:669:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):270 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    670:671:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.IRCode.createStringConstant(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DebugLocalInfo):1191:1192 -> a
    670:671:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.IRCode.createStringConstant(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):1186 -> a
    670:671:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):270 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    672:672:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):273:273 -> a
    673:676:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):272:275 -> a
    1:1:void add(java.lang.Object):39:39 -> add
    1:7:void add(com.android.tools.r8.ir.code.Instruction):123:129 -> b
    8:13:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):401:406 -> b
    14:15:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.IRCode.createStringConstant(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DebugLocalInfo):1191:1192 -> b
    14:15:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):406 -> b
    16:16:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    16:16:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):407 -> b
    17:17:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):402:402 -> b
    1:7:void removeOrReplaceByDebugLocalRead():213:219 -> e
    8:8:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> e
    8:8:void removeOrReplaceByDebugLocalRead():219 -> e
    9:9:void removeOrReplaceByDebugLocalRead():214:214 -> e
    1:1:void unsetInsertionPosition():110:110 -> h
    1:1:boolean hasNext():68:68 -> hasNext
    1:1:boolean hasPrevious():84:84 -> hasPrevious
    1:5:void removeInstructionIgnoreOutValue():204:208 -> i
    6:6:void removeInstructionIgnoreOutValue():205:205 -> i
    1:1:com.android.tools.r8.ir.code.Instruction next():73:73 -> j
    1:1:java.lang.Object next():39:39 -> next
    1:1:int nextIndex():79:79 -> nextIndex
    1:1:java.lang.Object previous():39:39 -> previous
    2:2:com.android.tools.r8.ir.code.Instruction previous():89:89 -> previous
    1:1:int previousIndex():95:95 -> previousIndex
    1:6:void remove():179:184 -> remove
    7:7:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> remove
    7:7:void remove():184 -> remove
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:9:void remove():184:185 -> remove
    10:10:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> remove
    10:10:void remove():185 -> remove
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:25:void remove():185:199 -> remove
    26:26:void remove():180:180 -> remove
    1:1:void set(java.lang.Object):39:39 -> set
    2:5:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.set(com.android.tools.r8.ir.code.Instruction):162:165 -> set
    2:5:void set(java.lang.Object):39 -> set
com.android.tools.r8.ir.code.BasicBlockIterator -> com.android.tools.r8.internal.F4:
    java.util.ListIterator listIterator -> c
    com.android.tools.r8.ir.code.IRCode code -> b
    com.android.tools.r8.ir.code.BasicBlock current -> d
    1:3:void <init>(com.android.tools.r8.ir.code.IRCode):17:19 -> <init>
    4:6:void <init>(com.android.tools.r8.ir.code.IRCode,int):22:24 -> <init>
    1:1:void add(java.lang.Object):11:11 -> add
    2:2:void com.android.tools.r8.ir.code.BasicBlockIterator.add(com.android.tools.r8.ir.code.BasicBlock):73:73 -> add
    2:2:void add(java.lang.Object):11 -> add
    1:1:boolean hasNext():37:37 -> hasNext
    1:1:boolean hasPrevious():53:53 -> hasPrevious
    1:1:com.android.tools.r8.ir.code.BasicBlock next():42:42 -> j
    1:1:java.lang.Object next():11:11 -> next
    1:1:int nextIndex():48:48 -> nextIndex
    1:1:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previous():58:58 -> previous
    1:1:java.lang.Object previous():11 -> previous
    1:1:int previousIndex():64:64 -> previousIndex
    1:12:void remove():91:102 -> remove
    13:13:void remove():92:92 -> remove
    1:1:void set(java.lang.Object):11:11 -> set
    2:2:void com.android.tools.r8.ir.code.BasicBlockIterator.set(com.android.tools.r8.ir.code.BasicBlock):78:78 -> set
    2:2:void set(java.lang.Object):11 -> set
com.android.tools.r8.ir.code.Binop -> com.android.tools.r8.internal.a5:
    com.android.tools.r8.ir.code.NumericType type -> i
    1:8:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):24:31 -> <init>
    boolean hasInvariantOutType() -> X0
    double foldDouble(double,double) -> a
    float foldFloat(float,float) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:8:boolean isTwoAddr(com.android.tools.r8.ir.regalloc.RegisterAllocator):51:58 -> a
    9:9:boolean com.android.tools.r8.ir.code.Instruction.isMul():0:0 -> a
    9:9:boolean isTwoAddr(com.android.tools.r8.ir.regalloc.RegisterAllocator):58 -> a
    10:10:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forBinop():90:90 -> a
    10:10:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):127 -> a
    11:12:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):132:133 -> a
    13:13:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):138:138 -> a
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:3:boolean com.android.tools.r8.ir.code.Binop.fitsInLit16Instruction(com.android.tools.r8.ir.code.Value):68:70 -> h
    1:3:boolean fitsInDexInstruction(com.android.tools.r8.ir.code.Value):64 -> h
    1:1:int maxInValueRegister():90:90 -> j2
    1:1:int maxOutValueRegister():95:95 -> k2
    1:1:com.android.tools.r8.ir.code.NumericType getNumericType():36:36 -> o2
    boolean isCommutative() -> p2
    boolean isBinop() -> q1
    1:1:com.android.tools.r8.ir.code.Value leftValue():40:40 -> q2
    1:2:int maxInOutValueRegisterSize():82:83 -> r2
    1:1:com.android.tools.r8.ir.code.Value rightValue():44:44 -> s2
    com.android.tools.r8.ir.code.Binop asBinop() -> u
com.android.tools.r8.ir.code.CanonicalPositions -> com.android.tools.r8.internal.x6:
    java.util.Map canonicalPositions -> b
    boolean $assertionsDisabled -> f
    com.android.tools.r8.ir.code.Position callerPosition -> a
    com.android.tools.r8.ir.code.Position preamblePosition -> c
    boolean isCompilerSynthesizedInlinee -> d
    com.android.tools.r8.ir.code.Position syntheticPosition -> e
    1:1:void <clinit>():18:18 -> <clinit>
    1:15:void <init>(com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.graph.DexMethod,boolean):31:45 -> <init>
    16:26:void <init>(com.android.tools.r8.ir.code.Position,int,com.android.tools.r8.graph.DexMethod,boolean):40:50 -> <init>
    1:1:com.android.tools.r8.ir.code.Position getPreamblePosition():55:55 -> a
    2:18:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):73:89 -> a
    19:19:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.disableLineCheck():271:271 -> a
    19:19:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):90 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.disableLineCheck():272:272 -> a
    20:20:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):90 -> a
    21:23:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):90:92 -> a
    24:24:com.android.tools.r8.ir.code.Position canonicalizeCallerPosition(com.android.tools.r8.ir.code.Position):85:85 -> a
    25:34:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):102:111 -> a
    35:35:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.CanonicalPositions.getPreamblePosition():55:55 -> a
    35:35:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):115 -> a
    36:46:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):116:126 -> a
    47:47:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> a
    47:47:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):126 -> a
    48:51:com.android.tools.r8.ir.code.Position getExceptionalExitPosition(boolean,java.util.function.Supplier,com.android.tools.r8.graph.DexMethod):126:129 -> a
    1:1:com.android.tools.r8.ir.code.Position getCanonical(com.android.tools.r8.ir.code.Position):63:63 -> b
com.android.tools.r8.ir.code.CatchHandlers -> com.android.tools.r8.internal.A6:
    java.util.List guards -> b
    java.util.Set uniqueTargets -> d
    java.util.List targets -> c
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.code.CatchHandlers EMPTY_INDICES -> e
    com.android.tools.r8.ir.code.CatchHandlers EMPTY_BASIC_BLOCK -> f
    1:23:void <clinit>():17:39 -> <clinit>
    1:3:void <init>():41:43 -> <init>
    4:9:void <init>(java.util.List,java.util.List):46:51 -> <init>
    1:1:java.util.List access$000(com.android.tools.r8.ir.code.CatchHandlers):17:17 -> a
    2:2:java.util.List com.android.tools.r8.ir.code.CatchHandlers.getGuards():64:64 -> a
    2:2:boolean hasCatchAll(com.android.tools.r8.graph.DexItemFactory):79 -> a
    3:3:boolean hasCatchAll(com.android.tools.r8.graph.DexItemFactory):79:79 -> a
    4:4:java.util.List com.android.tools.r8.ir.code.CatchHandlers.getGuards():64:64 -> a
    4:4:boolean hasCatchAll(com.android.tools.r8.graph.DexItemFactory):80 -> a
    5:5:boolean hasCatchAll(com.android.tools.r8.graph.DexItemFactory):80:80 -> a
    6:6:java.util.List getAllTargets():68:68 -> a
    7:10:com.android.tools.r8.ir.code.CatchHandlers appendGuard(com.android.tools.r8.graph.DexType,java.lang.Object):84:87 -> a
    11:20:com.android.tools.r8.ir.code.CatchHandlers removeGuard(com.android.tools.r8.graph.DexType):91:100 -> a
    21:22:void lambda$removeGuard$0(com.android.tools.r8.graph.DexType,java.util.List,java.util.List,com.android.tools.r8.graph.DexType,java.lang.Object):96:97 -> a
    23:24:void forEach(java.util.function.BiConsumer):104:105 -> a
    1:1:java.util.List access$100(com.android.tools.r8.ir.code.CatchHandlers):17:17 -> b
    2:2:java.util.List getGuards():64:64 -> b
    1:4:java.util.Set getUniqueTargets():72:75 -> c
    1:5:boolean equals(java.lang.Object):135:139 -> equals
    1:1:int hashCode():144:144 -> hashCode
    1:1:java.util.Iterator iterator():111:111 -> iterator
    1:2:int size():59:60 -> size
com.android.tools.r8.ir.code.CatchHandlers$1 -> com.android.tools.r8.internal.y6:
    com.android.tools.r8.ir.code.CatchHandlers this$0 -> c
    int nextIndex -> b
    1:3:void <init>(com.android.tools.r8.ir.code.CatchHandlers):111:113 -> <init>
    1:1:boolean hasNext():117:117 -> hasNext
    1:4:com.android.tools.r8.ir.code.CatchHandlers$CatchHandler com.android.tools.r8.ir.code.CatchHandlers$1.next():122:125 -> next
    1:4:java.lang.Object next():111 -> next
com.android.tools.r8.ir.code.CatchHandlers$CatchHandler -> com.android.tools.r8.internal.z6:
    java.lang.Object target -> b
    com.android.tools.r8.graph.DexType guard -> a
    1:3:void <init>(com.android.tools.r8.graph.DexType,java.lang.Object):24:26 -> <init>
com.android.tools.r8.ir.code.CheckCast -> com.android.tools.r8.internal.r9:
    int $r8$clinit -> l
    com.android.tools.r8.graph.DexType type -> i
    boolean ignoreCompatRules -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):40:40 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,boolean):44:46 -> <init>
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:5:boolean isRefiningStaticType(com.android.tools.r8.utils.InternalOptions):54:58 -> a
    6:6:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.CheckCast.getType():90:90 -> a
    6:6:boolean isRefiningStaticType(com.android.tools.r8.utils.InternalOptions):59 -> a
    7:7:boolean isRefiningStaticType(com.android.tools.r8.utils.InternalOptions):59:59 -> a
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.CheckCast.getType():90:90 -> a
    8:8:boolean isRefiningStaticType(com.android.tools.r8.utils.InternalOptions):60 -> a
    9:20:boolean isRefiningStaticType(com.android.tools.r8.utils.InternalOptions):60:71 -> a
    21:33:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):102:114 -> a
    34:34:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):142:142 -> a
    35:35:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):206:206 -> a
    36:36:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):211:211 -> a
    37:43:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):216:222 -> a
    44:44:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.CheckCast.getType():90:90 -> a
    44:44:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):223 -> a
    45:65:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):223:243 -> a
    66:67:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):255:256 -> a
    68:68:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):267:267 -> a
    69:69:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):272:272 -> a
    70:70:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    70:70:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):272 -> a
    71:71:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):272:272 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):126:126 -> b
    2:30:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):147:175 -> b
    1:1:com.android.tools.r8.code.CheckCast createCheckCast(int):121:121 -> c
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.CheckCast.getType():90:90 -> c
    2:2:com.android.tools.r8.code.CheckCast createCheckCast(int):121 -> c
    3:3:boolean com.android.tools.r8.ir.code.CheckCast.ignoreCompatRules():76:76 -> c
    3:3:com.android.tools.r8.code.CheckCast createCheckCast(int):121 -> c
    4:4:com.android.tools.r8.code.CheckCast createCheckCast(int):121:121 -> c
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> f1
    1:1:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> i
    1:1:com.android.tools.r8.ir.code.Value object():94 -> i
    2:2:com.android.tools.r8.ir.code.Value object():94:94 -> i
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.graph.DexType getType():90:90 -> o2
    1:1:boolean ignoreCompatRules():76:76 -> p2
    boolean isCheckCast() -> r1
    1:1:java.lang.String toString():200:200 -> toString
    com.android.tools.r8.ir.code.CheckCast asCheckCast() -> v
com.android.tools.r8.ir.code.CheckCast$Builder -> com.android.tools.r8.internal.q9:
    com.android.tools.r8.ir.code.Value object -> d
    com.android.tools.r8.graph.DexType castType -> c
    1:1:void <init>():280:280 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.CheckCast$Builder setCastType(com.android.tools.r8.graph.DexType):286:286 -> a
    1:1:com.android.tools.r8.ir.code.CheckCast$Builder setObject(com.android.tools.r8.ir.code.Value):291:291 -> b
    2:2:com.android.tools.r8.ir.code.CheckCast build():297:297 -> b
    3:3:void com.android.tools.r8.ir.code.CheckCast.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):40:40 -> b
    3:3:com.android.tools.r8.ir.code.CheckCast build():297 -> b
    4:4:com.android.tools.r8.ir.code.CheckCast build():297:297 -> b
com.android.tools.r8.ir.code.Cmp -> com.android.tools.r8.internal.xb:
    boolean $assertionsDisabled -> k
    com.android.tools.r8.ir.code.Cmp$Bias bias -> j
    1:1:void <clinit>():26:26 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Cmp$Bias,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):35:36 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:28:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):57:84 -> a
    29:29:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":145,"2":146,"3":147}}
    145:145:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):84:84 -> a
    146:146:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):84:84 -> a
    147:147:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):84:84 -> a
    113:113:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):84:84 -> a
    114:119:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71:76 -> a
    120:144:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):62:86 -> a
    148:150:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):163:165 -> a
    151:151:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    151:151:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):165 -> a
    152:152:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):165:165 -> a
    153:153:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    153:153:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):165 -> a
    154:165:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):166:177 -> a
    166:177:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):175:186 -> a
    178:185:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):184:191 -> a
    186:186:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isValueRange():0:0 -> a
    186:186:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):192 -> a
    187:187:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):192:192 -> a
    188:188:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    188:188:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):192 -> a
    189:192:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):193:196 -> a
    193:193:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):195:195 -> a
    194:194:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    194:194:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):197 -> a
    195:195:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):197:197 -> a
    196:196:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isValueRange():0:0 -> a
    196:196:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):197 -> a
    197:200:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):198:201 -> a
    201:203:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):200:202 -> a
    204:204:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isValueRange():0:0 -> a
    204:204:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):202 -> a
    205:208:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):203:206 -> a
    209:212:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):205:208 -> a
    213:219:com.android.tools.r8.ir.analysis.constant.LatticeElement buildLatticeResult(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.LongInterval,com.android.tools.r8.utils.LongInterval) -> a
    220:220:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):234:234 -> a
    221:221:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):239:239 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):136:136 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isCmp():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):136 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):136:136 -> b
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    boolean isCommutative() -> p2
    1:17:java.lang.String toString():104:120 -> toString
    18:18:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":188,"2":189,"3":190}}
    188:188:java.lang.String toString():120:120 -> toString
    189:189:java.lang.String toString():120:120 -> toString
    190:190:java.lang.String toString():120:120 -> toString
    138:138:java.lang.String toString():120:120 -> toString
    139:140:java.lang.String toString():113:114 -> toString
    141:149:java.lang.String com.android.tools.r8.ir.code.Cmp.biasToString(com.android.tools.r8.ir.code.Cmp$Bias):90:98 -> toString
    141:149:java.lang.String toString():114 -> toString
    150:150:java.lang.String com.android.tools.r8.ir.code.Cmp.biasToString(com.android.tools.r8.ir.code.Cmp$Bias):94:94 -> toString
    150:150:java.lang.String toString():114 -> toString
    151:151:java.lang.String com.android.tools.r8.ir.code.Cmp.biasToString(com.android.tools.r8.ir.code.Cmp$Bias):92:92 -> toString
    151:151:java.lang.String toString():114 -> toString
    152:152:java.lang.String toString():114:114 -> toString
    153:154:java.lang.String toString():109:110 -> toString
    155:163:java.lang.String com.android.tools.r8.ir.code.Cmp.biasToString(com.android.tools.r8.ir.code.Cmp$Bias):90:98 -> toString
    155:163:java.lang.String toString():110 -> toString
    164:164:java.lang.String com.android.tools.r8.ir.code.Cmp.biasToString(com.android.tools.r8.ir.code.Cmp$Bias):94:94 -> toString
    164:164:java.lang.String toString():110 -> toString
    165:165:java.lang.String com.android.tools.r8.ir.code.Cmp.biasToString(com.android.tools.r8.ir.code.Cmp$Bias):92:92 -> toString
    165:165:java.lang.String toString():110 -> toString
    166:187:java.lang.String toString():110:131 -> toString
    com.android.tools.r8.ir.code.Cmp asCmp() -> w
com.android.tools.r8.ir.code.Cmp$1 -> com.android.tools.r8.internal.vb:
    int[] $SwitchMap$com$android$tools$r8$ir$code$Cmp$Bias -> b
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():90:90 -> <clinit>
    2:2:void <clinit>():60:60 -> <clinit>
com.android.tools.r8.ir.code.Cmp$Bias -> com.android.tools.r8.internal.wb:
    com.android.tools.r8.ir.code.Cmp$Bias GT -> c
    com.android.tools.r8.ir.code.Cmp$Bias[] $VALUES -> e
    com.android.tools.r8.ir.code.Cmp$Bias LT -> d
    com.android.tools.r8.ir.code.Cmp$Bias NONE -> b
    1:1:void <clinit>():29:29 -> <clinit>
    2:2:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(java.lang.String,int):28:28 -> <init>
    1:1:com.android.tools.r8.ir.code.Cmp$Bias[] values():28:28 -> a
com.android.tools.r8.ir.code.ConstClass -> com.android.tools.r8.internal.kd:
    com.android.tools.r8.graph.DexType clazz -> j
    int $r8$clinit -> m
    boolean ignoreCompatRules -> k
    boolean $assertionsDisabled -> l
    1:1:void <clinit>():26:26 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,boolean):36:38 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:2:com.android.tools.r8.ir.code.ConstClass copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstClass):66:67 -> a
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.ConstClass.getValue():75:75 -> a
    3:3:com.android.tools.r8.ir.code.ConstClass copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstClass):67 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> a
    4:4:com.android.tools.r8.ir.code.ConstClass copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstClass):67 -> a
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ConstClass.dest():71:71 -> a
    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):80 -> a
    6:7:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):80:81 -> a
    8:8:boolean com.android.tools.r8.ir.code.ConstClass.ignoreCompatRules():86:86 -> a
    8:8:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):81 -> a
    9:9:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):81:81 -> a
    10:10:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):154:154 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):180:180 -> a
    12:12:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):185:185 -> a
    13:13:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.classClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):436:436 -> a
    13:13:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):185 -> a
    14:14:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):190:190 -> a
    15:15:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):195:195 -> a
    16:16:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):200:200 -> a
    17:17:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    17:17:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):200 -> a
    18:18:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):200:200 -> a
    19:19:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    19:19:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):206 -> a
    20:22:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):207:209 -> a
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.ConstClass.getValue():75:75 -> b
    1:1:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):122 -> b
    2:25:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):122:145 -> b
    26:26:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):164:164 -> b
    27:27:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> b
    27:27:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):164 -> b
    28:28:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):164:164 -> b
    boolean instructionInstanceCanThrow() -> d1
    boolean instructionTypeCanThrow() -> f1
    1:1:int maxInValueRegister():91:91 -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.graph.DexType getType():46:46 -> o2
    1:1:com.android.tools.r8.graph.DexType getValue():75:75 -> p2
    1:1:java.lang.String toString():102:102 -> toString
    com.android.tools.r8.ir.code.ConstClass asConstClass() -> x
com.android.tools.r8.ir.code.ConstClass$Builder -> com.android.tools.r8.internal.jd:
    com.android.tools.r8.graph.DexType type -> c
    1:1:void <init>():212:212 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.ConstClass$Builder setType(com.android.tools.r8.graph.DexType):217:217 -> a
    1:1:com.android.tools.r8.ir.code.ConstClass build():223:223 -> b
    2:2:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> b
    2:2:com.android.tools.r8.ir.code.ConstClass build():223 -> b
    3:3:com.android.tools.r8.ir.code.ConstClass build():223:223 -> b
com.android.tools.r8.ir.code.ConstInstruction -> com.android.tools.r8.internal.ld:
    int $r8$clinit -> i
    1:1:void <init>(com.android.tools.r8.ir.code.Value):33:33 -> <init>
    com.android.tools.r8.ir.code.ConstInstruction getOutConstantConstInstruction() -> S0
    boolean hasInvariantOutType() -> X0
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstInstruction():106:106 -> a
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):54 -> a
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean isConstInstruction() -> t1
    com.android.tools.r8.ir.code.ConstInstruction asConstInstruction() -> y
com.android.tools.r8.ir.code.ConstMethodHandle -> com.android.tools.r8.internal.nd:
    com.android.tools.r8.graph.DexMethodHandle methodHandle -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():21:21 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethodHandle):26:27 -> <init>
    boolean isOutConstant() -> Y1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.code.ConstMethodHandle copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstMethodHandle):47:47 -> a
    2:2:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.ir.code.ConstMethodHandle.getValue():55:55 -> a
    2:2:com.android.tools.r8.ir.code.ConstMethodHandle copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstMethodHandle):47 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.ir.code.ConstMethodHandle copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstMethodHandle):47:47 -> a
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ConstMethodHandle.dest():51:51 -> a
    4:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60 -> a
    5:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60:61 -> a
    7:7:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):66:66 -> a
    8:8:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):119:119 -> a
    9:9:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):118:118 -> a
    10:10:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):124:124 -> a
    11:11:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):129:129 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstMethodHandle():343:343 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):83 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71:71 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodHandle():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71:71 -> b
    boolean instructionTypeCanThrow() -> f1
    1:1:int maxInValueRegister():76:76 -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.graph.DexMethodHandle getValue():55:55 -> o2
    1:1:java.lang.String toString():93:93 -> toString
    com.android.tools.r8.ir.code.ConstMethodHandle asConstMethodHandle() -> z
com.android.tools.r8.ir.code.ConstMethodType -> com.android.tools.r8.internal.od:
    com.android.tools.r8.graph.DexProto methodType -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():21:21 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProto):26:27 -> <init>
    com.android.tools.r8.ir.code.ConstMethodType asConstMethodType() -> A
    boolean isOutConstant() -> Y1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.code.ConstMethodType copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstMethodType):47:47 -> a
    2:2:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.code.ConstMethodType.getValue():55:55 -> a
    2:2:com.android.tools.r8.ir.code.ConstMethodType copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstMethodType):47 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.ir.code.ConstMethodType copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstMethodType):47:47 -> a
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ConstMethodType.dest():51:51 -> a
    4:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60 -> a
    5:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60:61 -> a
    7:7:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):66:66 -> a
    8:8:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):113:113 -> a
    9:9:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):112:112 -> a
    10:10:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):118:118 -> a
    11:11:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):123:123 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forConstMethodType():347:347 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):129 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71:71 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodType():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71:71 -> b
    boolean instructionTypeCanThrow() -> f1
    1:1:int maxInValueRegister():76:76 -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:java.lang.String toString():87:87 -> toString
com.android.tools.r8.ir.code.ConstNumber -> com.android.tools.r8.internal.qd:
    long value -> j
    int $r8$clinit -> l
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():36:36 -> <clinit>
    1:6:void <init>(com.android.tools.r8.ir.code.Value,long):41:46 -> <init>
    com.android.tools.r8.ir.code.ConstNumber asConstNumber() -> B
    boolean isOutConstant() -> Y1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:3:com.android.tools.r8.ir.code.ConstNumber copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.ConstNumber):67:69 -> a
    4:5:com.android.tools.r8.ir.code.ConstNumber copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstNumber):73:74 -> a
    6:6:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ConstNumber.dest():78:78 -> a
    6:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):137 -> a
    7:8:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):137:138 -> a
    9:9:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ConstNumber.dest():78:78 -> a
    9:9:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):142 -> a
    10:11:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):142:143 -> a
    12:12:boolean com.android.tools.r8.ir.code.ValueType.isSingle():42:42 -> a
    12:12:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):143 -> a
    13:21:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):155:163 -> a
    22:30:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):144:152 -> a
    31:35:boolean isIntegerNegativeOne(com.android.tools.r8.ir.code.NumericType):123:127 -> a
    36:36:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):170:170 -> a
    37:40:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):175:178 -> a
    41:41:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184:184 -> a
    42:42:int com.android.tools.r8.ir.code.ConstNumber.estimatedDexSize(com.android.tools.r8.ir.code.ValueType,long):222:222 -> a
    42:42:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    43:43:boolean com.android.tools.r8.ir.code.ValueType.isSingle():42:42 -> a
    43:43:int com.android.tools.r8.ir.code.ConstNumber.estimatedDexSize(com.android.tools.r8.ir.code.ValueType,long):222 -> a
    43:43:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    44:55:int com.android.tools.r8.ir.code.ConstNumber.estimatedDexSize(com.android.tools.r8.ir.code.ValueType,long):223:234 -> a
    44:55:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    56:86:int com.android.tools.r8.ir.code.ConstNumber.estimatedCfSize(com.android.tools.r8.ir.code.ValueType,long):188:218 -> a
    56:86:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    87:87:int com.android.tools.r8.ir.code.ConstNumber.estimatedCfSize(com.android.tools.r8.ir.code.ValueType,long):211:211 -> a
    87:87:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    88:88:boolean com.android.tools.r8.cf.code.CfConstNumber.isNegativeZeroDouble(double):149:149 -> a
    88:88:int com.android.tools.r8.ir.code.ConstNumber.estimatedCfSize(com.android.tools.r8.ir.code.ValueType,long):211 -> a
    88:88:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    89:89:int com.android.tools.r8.ir.code.ConstNumber.estimatedCfSize(com.android.tools.r8.ir.code.ValueType,long):205:205 -> a
    89:89:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    90:90:boolean com.android.tools.r8.cf.code.CfConstNumber.isNegativeZeroFloat(float):153:153 -> a
    90:90:int com.android.tools.r8.ir.code.ConstNumber.estimatedCfSize(com.android.tools.r8.ir.code.ValueType,long):205 -> a
    90:90:int estimatedSize(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.code.ValueType,long):184 -> a
    91:92:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):312:313 -> a
    93:96:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):318:321 -> a
    97:97:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):326:326 -> a
    98:99:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):331:332 -> a
    100:100:boolean outTypeKnownToBeBoolean(java.util.Set):338:338 -> a
    101:101:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):344:344 -> a
    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):272:276 -> b
    boolean instructionTypeCanBeCanonicalized() -> e1
    1:1:int maxInValueRegister():249:249 -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.ir.code.Value dest():78:78 -> o2
    1:2:double getDoubleValue():102:103 -> p2
    1:2:float getFloatValue():97:98 -> q2
    1:3:int getIntValue():86:86 -> r2
    5:5:int getIntValue():88:88 -> r2
    1:2:long getLongValue():92:93 -> s2
    1:1:long getRawValue():107:107 -> t2
    1:4:java.lang.String toString():260:263 -> toString
    boolean isConstNumber() -> u1
    1:1:boolean is16Bit():288:288 -> u2
    1:1:boolean is8Bit():280:280 -> v2
    1:1:boolean isIntegerOne():119:119 -> w2
    1:1:boolean isZero():111:111 -> x2
    1:1:boolean negativeIs16Bit():292:292 -> y2
    1:1:boolean negativeIs8Bit():284:284 -> z2
com.android.tools.r8.ir.code.ConstNumber$1 -> com.android.tools.r8.internal.pd:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():188:188 -> <clinit>
com.android.tools.r8.ir.code.ConstString -> com.android.tools.r8.internal.sd:
    int $r8$clinit -> l
    boolean $assertionsDisabled -> k
    com.android.tools.r8.graph.DexString value -> j
    1:1:void <clinit>():26:26 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexString):31:32 -> <init>
    com.android.tools.r8.ir.code.ConstString asConstString() -> C
    boolean isOutConstant() -> Y1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:2:com.android.tools.r8.ir.code.ConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstString):52:53 -> a
    3:3:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.code.ConstString.getValue():61:61 -> a
    3:3:com.android.tools.r8.ir.code.ConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstString):53 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.ir.code.ConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ConstString):53:53 -> a
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ConstString.dest():57:57 -> a
    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71 -> a
    6:7:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71:72 -> a
    8:8:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):134:134 -> a
    9:9:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    9:9:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):134 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    10:10:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):134 -> a
    11:14:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):134:137 -> a
    15:15:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):135:135 -> a
    16:16:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):142:142 -> a
    17:17:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):147:147 -> a
    18:18:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):152:152 -> a
    19:19:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):157:157 -> a
    20:23:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):168:171 -> a
    24:26:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):176:178 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):77:77 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):77 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):77:77 -> b
    1:6:boolean instructionInstanceCanThrow():120:125 -> d1
    boolean instructionTypeCanBeCanonicalized() -> e1
    boolean instructionTypeCanThrow() -> f1
    1:1:int maxInValueRegister():82:82 -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.graph.DexString getValue():61:61 -> o2
    1:1:java.lang.String toString():93:93 -> toString
com.android.tools.r8.ir.code.ConstantValueUtils -> com.android.tools.r8.internal.Ad:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:6:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):20:25 -> a
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    7:7:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):25 -> a
    8:11:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):26:29 -> a
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    12:12:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):29 -> a
    13:15:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):30:32 -> a
    16:16:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1628:1628 -> a
    16:16:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):32 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1628:1628 -> a
    17:17:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):32 -> a
    18:18:com.android.tools.r8.graph.DexType getDexTypeRepresentedByValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexDefinitionSupplier):33:33 -> a
    19:20:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):42:43 -> a
    21:21:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1628:1628 -> a
    21:21:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):43 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1628:1628 -> a
    22:22:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):43 -> a
    23:23:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):42:42 -> a
    24:24:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    24:24:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:25:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):44:44 -> a
    26:26:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    26:26:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):44 -> a
    27:27:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):44:44 -> a
    28:28:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    28:28:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):45 -> a
    29:33:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):45:49 -> a
    34:34:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):313:313 -> a
    34:34:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):48 -> a
    35:36:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    35:36:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):313 -> a
    35:36:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):48 -> a
    37:37:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):315:315 -> a
    37:37:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):48 -> a
    38:42:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):51:55 -> a
    43:43:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    43:43:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):55 -> a
    44:44:com.android.tools.r8.graph.DexType getDexTypeFromClassForName(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.DexDefinitionSupplier):56:56 -> a
com.android.tools.r8.ir.code.DebugLocalRead -> com.android.tools.r8.internal.De:
    1:1:void <init>():20:20 -> <init>
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):45:45 -> a
    2:2:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):50:50 -> a
    3:3:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):78:78 -> a
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDebugLocalRead():110:110 -> a
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):71 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):55:55 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalRead():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):55 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:int maxInValueRegister():60:60 -> j2
    1:1:int maxOutValueRegister():65:65 -> k2
    int opcode() -> l2
com.android.tools.r8.ir.code.DebugLocalUninitialized -> com.android.tools.r8.internal.Ee:
    1:1:void <init>(com.android.tools.r8.ir.code.Value):21:21 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    boolean isAllowedAfterThrowingInstruction() -> h1
com.android.tools.r8.ir.code.DebugLocalWrite -> com.android.tools.r8.internal.Fe:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():27:27 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):30:31 -> <init>
    boolean isOutConstant() -> Y1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):61:61 -> a
    2:2:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):66:66 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):72:72 -> a
    4:5:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):82:83 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):56:56 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalWrite():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):56 -> b
    boolean isAllowedAfterThrowingInstruction() -> h1
com.android.tools.r8.ir.code.DebugLocalsChange -> com.android.tools.r8.internal.Ge:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap starting -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap ending -> i
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():20:20 -> <clinit>
    1:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):27:30 -> <init>
    com.android.tools.r8.ir.code.DebugLocalsChange asDebugLocalsChange() -> D
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.code.DebugLocalsChange.getEnding():44:44 -> a
    1:1:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):109 -> a
    2:4:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):109:111 -> a
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.code.DebugLocalsChange.getStarting():48:48 -> a
    5:5:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):115 -> a
    6:9:boolean apply(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):115:118 -> a
    10:10:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):63:63 -> a
    11:11:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):88:88 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDebugLocalsChange():114:114 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):104 -> a
    13:13:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):125:125 -> a
    14:14:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):135:135 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):68:68 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):68 -> b
    3:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):71:73 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean isAllowedAfterThrowingInstruction() -> h1
    1:1:int maxInValueRegister():78:78 -> j2
    1:1:int maxOutValueRegister():83:83 -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getEnding():44:44 -> o2
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getStarting():48:48 -> p2
    1:6:java.lang.String toString():93:98 -> toString
com.android.tools.r8.ir.code.DebugPosition -> com.android.tools.r8.internal.He:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>():20:20 -> <init>
    com.android.tools.r8.ir.code.DebugPosition asDebugPosition() -> E
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):45:45 -> a
    2:2:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):45 -> a
    3:3:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):45:45 -> a
    4:4:void com.android.tools.r8.ir.conversion.DexBuilder.addDebugPosition(com.android.tools.r8.ir.code.DebugPosition):618:618 -> a
    4:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):46 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):72:72 -> a
    6:6:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):87:87 -> a
    7:7:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
    7:7:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):87 -> a
    8:10:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):87:89 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDebugPosition():118:118 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):67 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):51:51 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):51 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean isAllowedAfterThrowingInstruction() -> h1
    1:1:int maxInValueRegister():56:56 -> j2
    1:1:int maxOutValueRegister():61:61 -> k2
    int opcode() -> l2
com.android.tools.r8.ir.code.DefaultAliasedValueConfiguration -> com.android.tools.r8.internal.Me:
    com.android.tools.r8.ir.code.DefaultAliasedValueConfiguration INSTANCE -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():7:9 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    1:1:com.android.tools.r8.ir.code.DefaultAliasedValueConfiguration getInstance():15:15 -> a
    2:2:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):25:25 -> a
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    3:3:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):25 -> a
    4:5:com.android.tools.r8.ir.code.Value getAliasForOutValue(com.android.tools.r8.ir.code.Instruction):25:26 -> a
    1:1:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):20:20 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    2:2:boolean isIntroducingAnAlias(com.android.tools.r8.ir.code.Instruction):20 -> b
com.android.tools.r8.ir.code.DefaultInstructionVisitor -> com.android.tools.r8.internal.Ve:
    1:1:void <init>():7:7 -> <init>
    java.lang.Object handleFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction) -> a
    java.lang.Object handleInvoke(com.android.tools.r8.ir.code.Invoke) -> a
    java.lang.Object com.android.tools.r8.ir.code.InstructionVisitor.visit(com.android.tools.r8.ir.code.NewUnboxedEnumInstance) -> a
    java.lang.Object com.android.tools.r8.ir.code.InstructionVisitor.visit(com.android.tools.r8.ir.code.NewInstance) -> a
com.android.tools.r8.ir.code.DexItemBasedConstString -> com.android.tools.r8.internal.Dg:
    int $r8$clinit -> m
    com.android.tools.r8.graph.DexReference item -> j
    boolean $assertionsDisabled -> l
    com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo nameComputationInfo -> k
    1:1:void <clinit>():25:25 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo):32:34 -> <init>
    com.android.tools.r8.ir.code.DexItemBasedConstString asDexItemBasedConstString() -> F
    boolean isOutConstant() -> Y1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:2:com.android.tools.r8.ir.code.DexItemBasedConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DexItemBasedConstString):54:55 -> a
    3:3:com.android.tools.r8.graph.DexReference com.android.tools.r8.ir.code.DexItemBasedConstString.getItem():59:59 -> a
    3:3:com.android.tools.r8.ir.code.DexItemBasedConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DexItemBasedConstString):55 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.ir.code.DexItemBasedConstString copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DexItemBasedConstString):55:55 -> a
    5:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83:84 -> a
    7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDexItemBasedConstString(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod):94:94 -> a
    7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):158 -> a
    8:8:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):132:132 -> a
    9:9:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):137:137 -> a
    10:10:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):142:142 -> a
    11:11:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):147:147 -> a
    12:12:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):152:152 -> a
    13:14:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):170:171 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):91:91 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):91 -> b
    3:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):92:93 -> b
    boolean instructionInstanceCanThrow() -> d1
    boolean instructionTypeCanBeCanonicalized() -> e1
    boolean instructionTypeCanThrow() -> f1
    1:1:int maxInValueRegister():98:98 -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.graph.DexReference getItem():59:59 -> o2
    1:1:com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo getNameComputationInfo():63:63 -> p2
    1:1:java.lang.String toString():109:109 -> toString
com.android.tools.r8.ir.code.Div -> com.android.tools.r8.internal.uh:
    1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):24:24 -> <init>
    com.android.tools.r8.ir.code.Div asDiv() -> G
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    double foldDouble(double,double) -> a
    float foldFloat(float,float) -> a
    1:1:com.android.tools.r8.code.Instruction CreateDouble(int,int,int):69:69 -> a
    2:2:int foldIntegers(int,int):114:114 -> a
    3:3:long foldLongs(long,long):119:119 -> a
    4:5:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):139:140 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    6:6:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):140 -> a
    7:10:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):140:143 -> a
    1:1:com.android.tools.r8.code.Instruction CreateFloat(int,int,int):64:64 -> b
    2:2:com.android.tools.r8.code.Instruction CreateDouble2Addr(int,int):89:89 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104:104 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isDiv():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104:104 -> b
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):54:54 -> c
    2:2:com.android.tools.r8.code.Instruction CreateFloat2Addr(int,int):84:84 -> c
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):74:74 -> d
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):99:99 -> d
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):79:79 -> e
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):94:94 -> e
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):59:59 -> f
    1:1:boolean instructionTypeCanThrow():134:134 -> f1
    int opcode() -> l2
    boolean isCommutative() -> p2
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():148:148 -> t2
com.android.tools.r8.ir.code.DominatorTree -> com.android.tools.r8.internal.xh:
    com.android.tools.r8.ir.code.BasicBlock[] sorted -> a
    com.android.tools.r8.ir.code.BasicBlock[] doms -> b
    boolean obsolete -> e
    boolean $assertionsDisabled -> f
    int unreachableStartIndex -> d
    com.android.tools.r8.ir.code.BasicBlock normalExitBlock -> c
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.DominatorTree$Assumption):40:40 -> <init>
    2:56:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.DominatorTree$Assumption):30:84 -> <init>
    1:195:java.lang.Iterable dominatorBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DominatorTree$Inclusive):0:194 -> a
    196:196:boolean dominatedBy(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):103:103 -> a
    197:203:boolean com.android.tools.r8.ir.code.DominatorTree.strictlyDominatedBy(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):134:140 -> a
    197:203:boolean dominatedBy(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):107 -> a
    204:211:com.android.tools.r8.ir.code.BasicBlock closestDominator(java.util.Collection):157:164 -> a
    212:212:boolean com.android.tools.r8.ir.code.DominatorTree.postorderCompareLess(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):247:247 -> a
    212:212:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):296 -> a
    212:212:com.android.tools.r8.ir.code.BasicBlock closestDominator(java.util.Collection):164 -> a
    213:213:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):297:297 -> a
    213:213:com.android.tools.r8.ir.code.BasicBlock closestDominator(java.util.Collection):164 -> a
    214:214:boolean com.android.tools.r8.ir.code.DominatorTree.postorderCompareLess(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):247:247 -> a
    214:214:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):299 -> a
    214:214:com.android.tools.r8.ir.code.BasicBlock closestDominator(java.util.Collection):164 -> a
    215:215:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):300:300 -> a
    215:215:com.android.tools.r8.ir.code.BasicBlock closestDominator(java.util.Collection):164 -> a
    216:220:java.util.Collection dominatedBlocks(com.android.tools.r8.ir.code.BasicBlock,java.util.Collection):176:180 -> a
    221:248:java.util.Iterator lambda$dominatorBlocks$0(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DominatorTree$Inclusive):195:222 -> a
    249:273:void build():256:280 -> a
    274:274:boolean com.android.tools.r8.ir.code.DominatorTree.postorderCompareLess(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):247:247 -> a
    274:274:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):296 -> a
    274:274:void build():281 -> a
    275:275:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):297:297 -> a
    275:275:void build():281 -> a
    276:276:boolean com.android.tools.r8.ir.code.DominatorTree.postorderCompareLess(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):247:247 -> a
    276:276:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):299 -> a
    276:276:void build():281 -> a
    277:277:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree.intersect(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):300:300 -> a
    277:277:void build():281 -> a
    278:279:void build():284:285 -> a
    1:2:com.android.tools.r8.ir.code.BasicBlock immediateDominator(com.android.tools.r8.ir.code.BasicBlock):91:92 -> b
    3:3:com.android.tools.r8.ir.code.BasicBlock[] getSortedBlocks():236:236 -> b
    4:5:boolean recordChangesToControlFlowEdges(java.util.List):320:321 -> b
    1:4:java.lang.Iterable normalExitDominatorBlocks():229:232 -> c
    1:2:void numberBlocks():240:241 -> d
    1:1:void onPredecessorsMayChange(com.android.tools.r8.ir.code.BasicBlock):333:333 -> e
    1:1:void onSuccessorsMayChange(com.android.tools.r8.ir.code.BasicBlock):328:328 -> f
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":318,"2":319,"3":320}}
    318:318:java.lang.String toString():308:308 -> toString
    319:319:java.lang.String toString():308:308 -> toString
    320:320:java.lang.String toString():309:309 -> toString
    311:317:java.lang.String toString():310:316 -> toString
com.android.tools.r8.ir.code.DominatorTree$1 -> com.android.tools.r8.internal.vh:
    com.android.tools.r8.ir.code.DominatorTree this$0 -> c
    com.android.tools.r8.ir.code.BasicBlock current -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():196:196 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.DominatorTree,com.android.tools.r8.ir.code.BasicBlock):196:197 -> <init>
    1:1:boolean hasNext():201:201 -> hasNext
    1:9:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.DominatorTree$1.next():206:214 -> next
    1:9:java.lang.Object next():196 -> next
com.android.tools.r8.ir.code.DominatorTree$Inclusive -> com.android.tools.r8.internal.wh:
    com.android.tools.r8.ir.code.DominatorTree$Inclusive NO -> b
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(java.lang.String,int):23:23 -> <init>
com.android.tools.r8.ir.code.Dup -> com.android.tools.r8.internal.Hh:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):21:21 -> <init>
    2:3:void <init>(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.Value):25:26 -> <init>
    com.android.tools.r8.ir.code.Dup asDup() -> H
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):66:66 -> a
    2:5:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):71:74 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDup():122:122 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):96 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):80:80 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):80 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:5:com.android.tools.r8.ir.code.Value setOutValue(com.android.tools.r8.ir.code.Value):41:45 -> f
    int maxInValueRegister() -> j2
    1:1:int maxOutValueRegister():90:90 -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.ir.code.StackValue[] com.android.tools.r8.ir.code.Dup.getStackValues():49:49 -> o2
    1:1:com.android.tools.r8.ir.code.StackValue outBottom():53 -> o2
    2:2:com.android.tools.r8.ir.code.StackValue outBottom():53:53 -> o2
    1:1:com.android.tools.r8.ir.code.StackValue[] com.android.tools.r8.ir.code.Dup.getStackValues():49:49 -> p2
    1:1:com.android.tools.r8.ir.code.StackValue outTop():57 -> p2
    2:2:com.android.tools.r8.ir.code.StackValue outTop():57:57 -> p2
    1:1:com.android.tools.r8.ir.code.StackValue src():61:61 -> q2
com.android.tools.r8.ir.code.Dup2 -> com.android.tools.r8.internal.Gh:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):28:28 -> <init>
    2:7:void <init>(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):35:40 -> <init>
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):84:84 -> a
    2:2:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):89:89 -> a
    3:3:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forDup2():126:126 -> a
    3:3:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):110 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):94:94 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDup2():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):94 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:5:com.android.tools.r8.ir.code.Value setOutValue(com.android.tools.r8.ir.code.Value):55:59 -> f
    int maxInValueRegister() -> j2
    1:1:int maxOutValueRegister():104:104 -> k2
    int opcode() -> l2
com.android.tools.r8.ir.code.FieldGet -> com.android.tools.r8.internal.Pj:
    com.android.tools.r8.ir.code.Value outValue() -> a
com.android.tools.r8.ir.code.FieldInstruction -> com.android.tools.r8.internal.Sj:
    com.android.tools.r8.graph.DexField field -> i
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):32:32 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,java.util.List):36:38 -> <init>
    boolean isFieldInstruction() -> B1
    com.android.tools.r8.ir.code.FieldInstruction asFieldInstruction() -> J
    boolean hasInvariantOutType() -> X0
    1:16:boolean internalInstructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption,com.android.tools.r8.graph.FieldResolutionResult):77:92 -> a
    17:17:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    17:17:boolean internalInstructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption,com.android.tools.r8.graph.FieldResolutionResult):98 -> a
    18:42:boolean internalInstructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption,com.android.tools.r8.graph.FieldResolutionResult):98:122 -> a
    43:76:boolean isStoringObjectWithFinalizer(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):170:203 -> a
    77:79:boolean com.android.tools.r8.graph.DexEncodedMethod.isProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):365:367 -> a
    77:79:boolean isStoringObjectWithFinalizer(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):204 -> a
    80:80:boolean isStoringObjectWithFinalizer(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexEncodedField):207:207 -> a
    81:86:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):213:218 -> a
    1:1:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63:63 -> b
    2:2:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):69:69 -> b
    2:2:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63 -> b
    3:3:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> b
    3:3:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):69 -> b
    3:3:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63 -> b
    4:4:boolean com.android.tools.r8.ir.code.FieldInstruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):68:68 -> b
    4:4:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63 -> b
    5:5:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):69:69 -> b
    6:6:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> b
    6:6:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):69 -> b
    7:7:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):68:68 -> b
    1:24:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):137:160 -> f
    1:1:com.android.tools.r8.graph.DexField getField():48:48 -> getField
    1:1:com.android.tools.r8.ir.code.FieldMemberType getType():44:44 -> o2
com.android.tools.r8.ir.code.FieldMemberType$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Tj:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.ir.code.FieldMemberType com.android.tools.r8.ir.code.FieldMemberType.fromDexType(com.android.tools.r8.graph.DexType):51:51 -> a
    2:2:com.android.tools.r8.ir.code.FieldMemberType com.android.tools.r8.ir.code.FieldMemberType.fromTypeDescriptorChar(char):46:46 -> a
    2:2:com.android.tools.r8.ir.code.FieldMemberType com.android.tools.r8.ir.code.FieldMemberType.fromDexType(com.android.tools.r8.graph.DexType):51 -> a
    3:3:com.android.tools.r8.ir.code.FieldMemberType com.android.tools.r8.ir.code.FieldMemberType.fromTypeDescriptorChar(char):44:44 -> a
    3:3:com.android.tools.r8.ir.code.FieldMemberType com.android.tools.r8.ir.code.FieldMemberType.fromDexType(com.android.tools.r8.graph.DexType):51 -> a
com.android.tools.r8.ir.code.FieldPut -> com.android.tools.r8.internal.bk:
    void setValue(com.android.tools.r8.ir.code.Value) -> a
    boolean isStaticPut() -> b
    int getValueIndex() -> e
com.android.tools.r8.ir.code.FixedRegisterValue -> com.android.tools.r8.internal.Bk:
    int register -> r
    boolean $assertionsDisabled -> s
    1:1:void <clinit>():12:12 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.analysis.type.TypeElement,int):17:19 -> <init>
    boolean isConstant() -> L
    com.android.tools.r8.ir.code.FixedRegisterValue asFixedRegisterValue() -> b
    boolean isDefinedByInstructionSatisfying(java.util.function.Predicate) -> b
    1:3:com.android.tools.r8.ir.code.ValueType outType():24:26 -> b0
    4:4:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> b0
    4:4:com.android.tools.r8.ir.code.ValueType outType():27 -> b0
    5:5:com.android.tools.r8.ir.code.ValueType outType():28:28 -> b0
    6:6:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> b0
    6:6:com.android.tools.r8.ir.code.ValueType outType():30 -> b0
    7:10:com.android.tools.r8.ir.code.ValueType outType():31:34 -> b0
    11:11:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> b0
    11:11:com.android.tools.r8.ir.code.ValueType outType():35 -> b0
    12:12:com.android.tools.r8.ir.code.ValueType outType():36:36 -> b0
    13:13:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> b0
    13:13:com.android.tools.r8.ir.code.ValueType outType():38 -> b0
    14:21:com.android.tools.r8.ir.code.ValueType outType():39:46 -> b0
    22:23:com.android.tools.r8.ir.code.ValueType outType():43:44 -> b0
    1:1:int getRegister():50:50 -> h0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":77,"2":78,"3":79}}
    77:77:java.lang.String toString():75:75 -> toString
    78:78:java.lang.String toString():75:75 -> toString
    79:79:java.lang.String toString():75:75 -> toString
    76:76:java.lang.String toString():75:75 -> toString
com.android.tools.r8.ir.code.Goto -> com.android.tools.r8.internal.em:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    boolean isGoto() -> D1
    com.android.tools.r8.ir.code.Goto asGoto() -> L
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):58:58 -> a
    2:3:void print(com.android.tools.r8.utils.CfgPrinter):83:84 -> a
    4:4:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):121:121 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):89:89 -> b
    boolean isAllowedAfterThrowingInstruction() -> h1
    1:1:int maxInValueRegister():63:63 -> j2
    1:1:int maxOutValueRegister():69:69 -> k2
    int opcode() -> l2
    1:4:com.android.tools.r8.ir.code.BasicBlock getTarget():40:43 -> p2
    1:4:java.lang.String toString():75:78 -> toString
    5:5:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":83,"2":84,"3":85}}
    83:83:java.lang.String toString():78:78 -> toString
    84:84:java.lang.String toString():78:78 -> toString
    85:85:java.lang.String toString():78:78 -> toString
com.android.tools.r8.ir.code.IRCode -> com.android.tools.r8.internal.wn:
    boolean $assertionsDisabled -> l
    boolean numbered -> f
    int nextInstructionNumber -> g
    int usedMarkingColors -> e
    boolean allThrowingInstructionsHavePositions -> h
    com.android.tools.r8.ir.code.NumberGenerator basicBlockNumberGenerator -> d
    com.android.tools.r8.origin.Origin origin -> k
    com.android.tools.r8.graph.ProgramMethod method -> a
    com.android.tools.r8.ir.code.IRMetadata metadata -> i
    java.util.LinkedList blocks -> b
    com.android.tools.r8.utils.InternalOptions options -> j
    com.android.tools.r8.ir.code.NumberGenerator valueNumberGenerator -> c
    1:1:void <clinit>():62:62 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.ProgramMethod,java.util.LinkedList,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.origin.Origin):138:138 -> <init>
    2:35:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.ProgramMethod,java.util.LinkedList,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.origin.Origin):117:150 -> <init>
    1:1:boolean removeAllDeadAndTrivialPhis():1242:1242 -> A
    1:13:java.util.Set removeUnreachableBlocks():1384:1396 -> B
    1:1:int reserveMarkingColor():1282:1282 -> C
    2:2:boolean com.android.tools.r8.ir.code.IRCode.anyMarkingColorAvailable():1296:1296 -> C
    2:2:int reserveMarkingColor():1282 -> C
    3:10:int reserveMarkingColor():1282:1289 -> C
    11:12:boolean com.android.tools.r8.ir.code.IRCode.verifyNoBlocksMarked(int):502:503 -> C
    11:12:int reserveMarkingColor():1290 -> C
    1:1:void setAllThrowingInstructionsHavePositions(boolean):1225:1225 -> D
    1:11:void splitCriticalEdges():371:381 -> E
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> E
    12:12:void splitCriticalEdges():381 -> E
    13:17:void splitCriticalEdges():381:385 -> E
    18:18:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> E
    18:18:void splitCriticalEdges():393 -> E
    19:19:void splitCriticalEdges():393:393 -> E
    20:29:void splitCriticalEdges():392:401 -> E
    1:1:java.util.stream.Stream streamInstructions():1030:1030 -> F
    1:24:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.ir.code.IRCode.depthFirstSorting():527:550 -> G
    1:24:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():520 -> G
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():521:521 -> G
    26:28:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.ir.code.IRCode.reorderExceptionalBlocksLastForTesting(com.android.tools.r8.com.google.common.collect.ImmutableList):556:558 -> G
    26:28:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():522 -> G
    29:29:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> G
    29:29:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.ir.code.IRCode.reorderExceptionalBlocksLastForTesting(com.android.tools.r8.com.google.common.collect.ImmutableList):558 -> G
    29:29:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():522 -> G
    30:34:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.ir.code.IRCode.reorderExceptionalBlocksLastForTesting(com.android.tools.r8.com.google.common.collect.ImmutableList):559:563 -> G
    30:34:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():522 -> G
    35:35:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> G
    35:35:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.ir.code.IRCode.reorderExceptionalBlocksLastForTesting(com.android.tools.r8.com.google.common.collect.ImmutableList):563 -> G
    35:35:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():522 -> G
    36:39:com.android.tools.r8.com.google.common.collect.ImmutableList com.android.tools.r8.ir.code.IRCode.reorderExceptionalBlocksLastForTesting(com.android.tools.r8.com.google.common.collect.ImmutableList):564:567 -> G
    36:39:com.android.tools.r8.com.google.common.collect.ImmutableList topologicallySortedBlocks():522 -> G
    1:14:void traceBlocks():432:445 -> H
    15:15:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> H
    15:15:void traceBlocks():450 -> H
    16:16:void traceBlocks():450:450 -> H
    17:29:void traceBlocks():449:461 -> H
    30:30:boolean com.android.tools.r8.ir.code.IRCode.noColorsInUse():1325:1325 -> H
    30:30:void traceBlocks():461 -> H
    31:31:void traceBlocks():461:461 -> H
    1:12:boolean verifyNoImpreciseOrBottomTypes():956:967 -> I
    1:7:boolean verifyNoNullabilityBottomTypes():971:977 -> J
    1:12:boolean verifyNoValueWithOnlyAssumeInstructionAsUsers():981:992 -> K
    1:14:boolean verifySplitCriticalEdges():405:418 -> L
    1:14:boolean controlFlowMayDependOnEnvironment(java.util.function.Consumer):304:317 -> a
    15:19:void com.android.tools.r8.ir.code.IRCode.ensureBlockNumbering():465:469 -> a
    15:19:void print(com.android.tools.r8.utils.CfgPrinter):571 -> a
    20:21:void print(com.android.tools.r8.utils.CfgPrinter):572:573 -> a
    22:29:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):594:601 -> a
    30:30:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642}}
    640:640:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):601:601 -> a
    641:641:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):601:601 -> a
    642:642:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):601:601 -> a
    633:638:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):603:608 -> a
    639:639:boolean hasNoMergedClasses(com.android.tools.r8.graph.AppView):606:606 -> a
    643:643:boolean lambda$hasNoMergedClasses$1(com.android.tools.r8.graph.classmerging.MergedClassesCollection,com.android.tools.r8.graph.DexType,java.lang.Boolean):610:610 -> a
    644:644:boolean lambda$verifyTypes$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper,com.android.tools.r8.ir.code.BasicBlock):641:641 -> a
    645:645:java.util.Collection lambda$consistentPredecessorSuccessors$3(java.util.Collection):769:769 -> a
    646:646:java.util.Collection lambda$consistentPredecessorSuccessors$4(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):773:773 -> a
    647:648:void lambda$consistentBlockNumbering$8(java.lang.Integer,java.lang.Long):813:814 -> a
    649:652:boolean consistentBlockInstructions(boolean):821:824 -> a
    653:653:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):68:68 -> a
    653:653:boolean consistentBlockInstructions(boolean):822 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    654:658:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):68:72 -> a
    654:658:boolean consistentBlockInstructions(boolean):822 -> a
    659:659:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalRead():0:0 -> a
    659:659:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):72 -> a
    659:659:boolean consistentBlockInstructions(boolean):822 -> a
    660:661:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):72:73 -> a
    660:661:boolean consistentBlockInstructions(boolean):822 -> a
    662:662:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    662:662:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):73 -> a
    662:662:boolean consistentBlockInstructions(boolean):822 -> a
    663:663:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):74:74 -> a
    663:663:boolean consistentBlockInstructions(boolean):822 -> a
    664:666:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):73:75 -> a
    664:666:boolean consistentBlockInstructions(boolean):822 -> a
    667:667:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    667:667:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):75 -> a
    667:667:boolean consistentBlockInstructions(boolean):822 -> a
    668:671:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):76:79 -> a
    668:671:boolean consistentBlockInstructions(boolean):822 -> a
    672:676:boolean com.android.tools.r8.ir.code.BasicBlock.consistentBlockInstructions(boolean,boolean,boolean):78:82 -> a
    672:676:boolean consistentBlockInstructions(boolean):822 -> a
    677:678:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):958:959 -> a
    679:679:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBoolean():0:0 -> a
    679:679:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():388 -> a
    679:679:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959 -> a
    680:680:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isByte():0:0 -> a
    680:680:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():389 -> a
    680:680:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959 -> a
    681:681:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isShort():0:0 -> a
    681:681:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():390 -> a
    681:681:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959 -> a
    682:682:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isChar():0:0 -> a
    682:682:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():391 -> a
    682:682:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959 -> a
    683:686:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):959:962 -> a
    687:687:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    687:687:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):962 -> a
    688:690:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):962:964 -> a
    691:691:boolean lambda$verifyNoImpreciseOrBottomTypes$9(com.android.tools.r8.ir.code.Value):963:963 -> a
    692:692:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$11(com.android.tools.r8.ir.code.Instruction):984:984 -> a
    693:693:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    693:693:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$11(com.android.tools.r8.ir.code.Instruction):984 -> a
    694:697:boolean lambda$wrapSSAVerifierWithStackValueHandling$14(java.util.function.Predicate,com.android.tools.r8.ir.code.Value):999:1002 -> a
    698:698:java.lang.Iterable blocks(java.util.function.Predicate):1022:1022 -> a
    699:699:com.android.tools.r8.ir.code.BasicBlockIterator listIterator(int):1060:1060 -> a
    700:700:java.util.Iterator argumentIterator():1091:1091 -> a
    701:701:com.android.tools.r8.ir.code.Value createValue(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1154:1154 -> a
    702:702:com.android.tools.r8.ir.code.ConstNumber createNumberConstant(long,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1162:1162 -> a
    703:703:com.android.tools.r8.ir.code.ConstNumber createIntConstant(int,com.android.tools.r8.graph.DebugLocalInfo):1178:1178 -> a
    704:707:boolean removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):1255:1258 -> a
    708:713:boolean com.android.tools.r8.ir.code.IRCode.isDeadPhi(com.android.tools.r8.utils.WorkList):1271:1276 -> a
    708:713:boolean removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):1259 -> a
    714:717:boolean removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):1260:1263 -> a
    718:718:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1426:1426 -> a
    719:719:boolean com.android.tools.r8.ir.code.IRCode.isMarkingColorInUse(int):1312:1312 -> a
    719:719:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1426 -> a
    720:731:void markTransitivePredecessors(com.android.tools.r8.ir.code.BasicBlock,int):1426:1437 -> a
    732:748:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1448:1464 -> a
    749:749:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2219,"2":2220,"3":2221}}
    2219:2219:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1465:1465 -> a
    2220:2220:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1465:1465 -> a
    2221:2221:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1465:1465 -> a
    2218:2218:com.android.tools.r8.ir.code.Position findFirstNonNonePosition(com.android.tools.r8.ir.code.Position):1469:1469 -> a
    2222:2222:int com.android.tools.r8.ir.code.BasicBlock.numberOfThrowingInstructions():1633:1633 -> a
    2222:2222:boolean lambda$prepareBlocksForCatchHandlers$0(com.android.tools.r8.ir.code.BasicBlock):367 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2223:2224:int com.android.tools.r8.ir.code.BasicBlock.numberOfThrowingInstructions():1633:1634 -> a
    2223:2224:boolean lambda$prepareBlocksForCatchHandlers$0(com.android.tools.r8.ir.code.BasicBlock):367 -> a
    1:1:void removeBlocks(java.util.Collection):509:509 -> b
    2:2:boolean isConsistentGraph(boolean):623:623 -> b
    3:3:boolean com.android.tools.r8.ir.code.IRCode.noColorsInUse():1325:1325 -> b
    3:3:boolean isConsistentGraph(boolean):623 -> b
    4:6:boolean isConsistentGraph(boolean):623:625 -> b
    7:8:boolean com.android.tools.r8.ir.code.IRCode.consistentCatchHandlers():802:803 -> b
    7:8:boolean isConsistentGraph(boolean):626 -> b
    9:9:boolean isConsistentGraph(boolean):627:627 -> b
    10:12:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():832:834 -> b
    10:12:boolean isConsistentGraph(boolean):628 -> b
    13:13:boolean com.android.tools.r8.ir.code.Instruction.isAnd():0:0 -> b
    13:13:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():836 -> b
    13:13:boolean isConsistentGraph(boolean):628 -> b
    14:20:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():837:843 -> b
    14:20:boolean isConsistentGraph(boolean):628 -> b
    21:21:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> b
    21:21:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():845 -> b
    21:21:boolean isConsistentGraph(boolean):628 -> b
    22:22:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():846:846 -> b
    22:22:boolean isConsistentGraph(boolean):628 -> b
    23:23:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> b
    23:23:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():848 -> b
    23:23:boolean isConsistentGraph(boolean):628 -> b
    24:24:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():849:849 -> b
    24:24:boolean isConsistentGraph(boolean):628 -> b
    25:25:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> b
    25:25:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():851 -> b
    25:25:boolean isConsistentGraph(boolean):628 -> b
    26:26:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():852:852 -> b
    26:26:boolean isConsistentGraph(boolean):628 -> b
    27:27:boolean com.android.tools.r8.ir.code.Instruction.isDiv():0:0 -> b
    27:27:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():854 -> b
    27:27:boolean isConsistentGraph(boolean):628 -> b
    28:28:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():855:855 -> b
    28:28:boolean isConsistentGraph(boolean):628 -> b
    29:29:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> b
    29:29:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():857 -> b
    29:29:boolean isConsistentGraph(boolean):628 -> b
    30:33:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():858:861 -> b
    30:33:boolean isConsistentGraph(boolean):628 -> b
    34:34:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> b
    34:34:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():863 -> b
    34:34:boolean isConsistentGraph(boolean):628 -> b
    35:41:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():864:870 -> b
    35:41:boolean isConsistentGraph(boolean):628 -> b
    42:42:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> b
    42:42:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():872 -> b
    42:42:boolean isConsistentGraph(boolean):628 -> b
    43:43:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():873:873 -> b
    43:43:boolean isConsistentGraph(boolean):628 -> b
    44:44:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> b
    44:44:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():875 -> b
    44:44:boolean isConsistentGraph(boolean):628 -> b
    45:45:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():876:876 -> b
    45:45:boolean isConsistentGraph(boolean):628 -> b
    46:46:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> b
    46:46:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():878 -> b
    46:46:boolean isConsistentGraph(boolean):628 -> b
    47:47:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():879:879 -> b
    47:47:boolean isConsistentGraph(boolean):628 -> b
    48:48:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> b
    48:48:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():881 -> b
    48:48:boolean isConsistentGraph(boolean):628 -> b
    49:52:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():882:885 -> b
    49:52:boolean isConsistentGraph(boolean):628 -> b
    53:53:boolean com.android.tools.r8.ir.code.Instruction.isOr():0:0 -> b
    53:53:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():887 -> b
    53:53:boolean isConsistentGraph(boolean):628 -> b
    54:54:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():888:888 -> b
    54:54:boolean isConsistentGraph(boolean):628 -> b
    55:55:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> b
    55:55:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():890 -> b
    55:55:boolean isConsistentGraph(boolean):628 -> b
    56:56:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():891:891 -> b
    56:56:boolean isConsistentGraph(boolean):628 -> b
    57:57:boolean com.android.tools.r8.ir.code.Instruction.isMul():0:0 -> b
    57:57:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():893 -> b
    57:57:boolean isConsistentGraph(boolean):628 -> b
    58:61:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():894:897 -> b
    58:61:boolean isConsistentGraph(boolean):628 -> b
    62:62:boolean com.android.tools.r8.ir.code.Instruction.isRem():0:0 -> b
    62:62:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():899 -> b
    62:62:boolean isConsistentGraph(boolean):628 -> b
    63:63:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():900:900 -> b
    63:63:boolean isConsistentGraph(boolean):628 -> b
    64:64:boolean com.android.tools.r8.ir.code.Instruction.isShl():0:0 -> b
    64:64:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():902 -> b
    64:64:boolean isConsistentGraph(boolean):628 -> b
    65:65:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():903:903 -> b
    65:65:boolean isConsistentGraph(boolean):628 -> b
    66:66:boolean com.android.tools.r8.ir.code.Instruction.isShr():0:0 -> b
    66:66:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():905 -> b
    66:66:boolean isConsistentGraph(boolean):628 -> b
    67:67:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():906:906 -> b
    67:67:boolean isConsistentGraph(boolean):628 -> b
    68:68:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> b
    68:68:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():908 -> b
    68:68:boolean isConsistentGraph(boolean):628 -> b
    69:75:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():909:915 -> b
    69:75:boolean isConsistentGraph(boolean):628 -> b
    76:76:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> b
    76:76:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():917 -> b
    76:76:boolean isConsistentGraph(boolean):628 -> b
    77:77:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():918:918 -> b
    77:77:boolean isConsistentGraph(boolean):628 -> b
    78:78:boolean com.android.tools.r8.ir.code.Instruction.isUshr():0:0 -> b
    78:78:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():920 -> b
    78:78:boolean isConsistentGraph(boolean):628 -> b
    79:79:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():921:921 -> b
    79:79:boolean isConsistentGraph(boolean):628 -> b
    80:80:boolean com.android.tools.r8.ir.code.Instruction.isXor():0:0 -> b
    80:80:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():923 -> b
    80:80:boolean isConsistentGraph(boolean):628 -> b
    81:81:boolean com.android.tools.r8.ir.code.IRCode.consistentMetadata():924:924 -> b
    81:81:boolean isConsistentGraph(boolean):628 -> b
    82:82:boolean isConsistentGraph(boolean):629:629 -> b
    83:85:boolean verifyTypes(com.android.tools.r8.graph.AppView):636:638 -> b
    86:88:boolean com.android.tools.r8.ir.code.IRCode.validAssumeInstructions(com.android.tools.r8.graph.AppView):646:648 -> b
    86:88:boolean verifyTypes(com.android.tools.r8.graph.AppView):638 -> b
    89:89:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    89:89:boolean com.android.tools.r8.ir.code.IRCode.validAssumeInstructions(com.android.tools.r8.graph.AppView):648 -> b
    89:89:boolean verifyTypes(com.android.tools.r8.graph.AppView):638 -> b
    90:90:boolean com.android.tools.r8.ir.code.IRCode.validAssumeInstructions(com.android.tools.r8.graph.AppView):649:649 -> b
    90:90:boolean verifyTypes(com.android.tools.r8.graph.AppView):638 -> b
    91:93:boolean verifyTypes(com.android.tools.r8.graph.AppView):639:641 -> b
    94:94:java.util.Collection lambda$consistentPredecessorSuccessors$5(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):776:776 -> b
    95:97:boolean lambda$verifyNoNullabilityBottomTypes$10(com.android.tools.r8.ir.code.Value):973:973 -> b
    98:98:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$12(com.android.tools.r8.ir.code.Instruction):987:987 -> b
    99:99:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    99:99:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$12(com.android.tools.r8.ir.code.Instruction):987 -> b
    100:100:java.lang.Iterable instructions(java.util.function.Predicate):1034:1034 -> b
    101:101:java.util.List com.android.tools.r8.ir.code.IRCode.collectArguments(boolean):1118:1118 -> b
    101:101:java.util.List collectArguments():1114 -> b
    102:102:java.util.Iterator com.android.tools.r8.ir.code.IRCode.argumentIterator():1091:1091 -> b
    102:102:java.util.List com.android.tools.r8.ir.code.IRCode.collectArguments(boolean):1119 -> b
    102:102:java.util.List collectArguments():1114 -> b
    103:112:java.util.List com.android.tools.r8.ir.code.IRCode.collectArguments(boolean):1120:1129 -> b
    103:112:java.util.List collectArguments():1114 -> b
    113:113:java.util.List com.android.tools.r8.ir.code.IRCode.collectArguments(boolean):1127:1127 -> b
    113:113:java.util.List collectArguments():1114 -> b
    114:114:void returnMarkingColor(int):1306:1306 -> b
    115:115:boolean com.android.tools.r8.ir.code.IRCode.isMarkingColorInUse(int):1312:1312 -> b
    115:115:void returnMarkingColor(int):1306 -> b
    116:116:void returnMarkingColor(int):1306:1306 -> b
    117:118:void com.android.tools.r8.ir.code.IRCode.clearMarks(int):486:487 -> b
    117:118:void returnMarkingColor(int):1307 -> b
    119:119:void returnMarkingColor(int):1308:1308 -> b
    120:120:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401:1401 -> b
    121:121:void com.android.tools.r8.ir.code.IRCode.markTransitiveSuccessors(java.util.Deque,int):1405:1405 -> b
    121:121:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401 -> b
    122:122:boolean com.android.tools.r8.ir.code.IRCode.isMarkingColorInUse(int):1312:1312 -> b
    122:122:void com.android.tools.r8.ir.code.IRCode.markTransitiveSuccessors(java.util.Deque,int):1405 -> b
    122:122:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401 -> b
    123:124:boolean com.android.tools.r8.ir.code.IRCode.anyBlocksMarkedWithColor(int):1316:1317 -> b
    123:124:void com.android.tools.r8.ir.code.IRCode.markTransitiveSuccessors(java.util.Deque,int):1405 -> b
    123:124:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401 -> b
    125:134:void com.android.tools.r8.ir.code.IRCode.markTransitiveSuccessors(java.util.Deque,int):1405:1414 -> b
    125:134:void markTransitiveSuccessors(com.android.tools.r8.ir.code.BasicBlock,int):1401 -> b
    1:1:java.util.Collection lambda$consistentPredecessorSuccessors$6(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):787:787 -> c
    2:8:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$13(com.android.tools.r8.ir.code.Value):983:983 -> c
    14:14:boolean lambda$verifyNoValueWithOnlyAssumeInstructionAsUsers$13(com.android.tools.r8.ir.code.Value):989:989 -> c
    15:15:java.util.Iterator lambda$blocks$15(java.util.function.Predicate):1022:1022 -> c
    16:17:boolean computeAllThrowingInstructionsHavePositions():1229:1230 -> c
    18:18:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> c
    18:18:boolean computeAllThrowingInstructionsHavePositions():1231 -> c
    19:19:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> c
    19:19:boolean computeAllThrowingInstructionsHavePositions():1232 -> c
    20:21:boolean computeAllThrowingInstructionsHavePositions():1233:1234 -> c
    22:22:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> c
    22:22:boolean com.android.tools.r8.ir.code.Position.isSyntheticNone():137 -> c
    22:22:boolean computeAllThrowingInstructionsHavePositions():1234 -> c
    1:17:java.util.Map computeLiveAtEntrySets():174:190 -> d
    18:18:void com.android.tools.r8.utils.LinkedHashSetUtils.addAll(java.util.LinkedHashSet,java.util.LinkedHashSet):12:12 -> d
    18:18:java.util.Map computeLiveAtEntrySets():190 -> d
    19:54:java.util.Map computeLiveAtEntrySets():191:226 -> d
    55:75:java.util.Map computeLiveAtEntrySets():225:245 -> d
    76:76:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> d
    76:76:java.util.Map computeLiveAtEntrySets():249 -> d
    77:116:java.util.Map computeLiveAtEntrySets():249:288 -> d
    117:117:boolean com.android.tools.r8.ir.code.IRCode$LiveAtEntrySets.isEmpty():95:95 -> d
    117:117:java.util.Map computeLiveAtEntrySets():288 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    118:118:boolean com.android.tools.r8.ir.code.IRCode$LiveAtEntrySets.isEmpty():95:95 -> d
    118:118:java.util.Map computeLiveAtEntrySets():288 -> d
    119:119:java.util.Map computeLiveAtEntrySets():288:288 -> d
    120:120:java.util.Map computeLiveAtEntrySets():0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":411,"2":412,"3":413}}
    411:411:java.util.Map computeLiveAtEntrySets():288:288 -> d
    412:412:java.util.Map computeLiveAtEntrySets():288:288 -> d
    413:413:java.util.Map computeLiveAtEntrySets():288:288 -> d
    410:410:java.util.Map computeLiveAtEntrySets():290:290 -> d
    414:414:java.util.Collection lambda$consistentPredecessorSuccessors$7(java.util.function.Function,com.android.tools.r8.ir.code.BasicBlock):794:794 -> d
    415:415:java.util.Iterator lambda$instructions$16(java.util.function.Predicate):1034:1034 -> d
    1:8:boolean verifySSATypeLattice(java.util.function.Predicate):1008:1015 -> e
    9:15:java.util.List computeNormalExitBlocks():1046:1052 -> e
    1:3:boolean consistentBlockNumbering():809:811 -> f
    4:4:java.util.function.Predicate wrapSSAVerifierWithStackValueHandling(java.util.function.Predicate):996:996 -> f
    1:33:boolean consistentPredecessorSuccessors():763:795 -> g
    1:1:com.android.tools.r8.graph.ProgramMethod context():158:158 -> h
    1:1:com.android.tools.r8.ir.code.ConstNumber createConstNull():1213:1213 -> i
    2:2:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createNumberConstant(long,com.android.tools.r8.ir.analysis.type.TypeElement):1158:1158 -> i
    2:2:com.android.tools.r8.ir.code.ConstNumber createConstNull():1213 -> i
    1:1:boolean doAllThrowingInstructionsHavePositions():1221:1221 -> j
    1:1:com.android.tools.r8.ir.code.BasicBlock entryBlock():167:167 -> k
    1:1:int getCurrentBlockNumber():1204:1204 -> l
    1:1:com.android.tools.r8.ir.code.Argument getLastArgument():1134:1134 -> m
    2:3:int com.android.tools.r8.ir.code.IRCode.getNumberOfArguments():1086:1087 -> m
    2:3:com.android.tools.r8.ir.code.Argument getLastArgument():1134 -> m
    4:4:com.android.tools.r8.ir.code.Argument getLastArgument():1134:1134 -> m
    5:5:com.android.tools.r8.ir.code.InstructionIterator com.android.tools.r8.ir.code.BasicBlock.iterator(int):1683:1683 -> m
    5:5:com.android.tools.r8.ir.code.Argument getLastArgument():1134 -> m
    6:8:com.android.tools.r8.ir.code.Argument getLastArgument():1135:1137 -> m
    1:1:int getNextInstructionNumber():1082:1082 -> n
    1:7:com.android.tools.r8.ir.code.Value getThis():1142:1148 -> o
    1:9:java.util.Set getUnreachableBlocks():1371:1379 -> p
    1:1:com.android.tools.r8.ir.code.InstructionIterator instructionIterator():1038:1038 -> q
    1:1:java.lang.Iterable instructions():1026:1026 -> r
    1:2:boolean isConsistentSSA():578:579 -> s
    1:2:boolean isConsistentSSABeforeTypesAreCorrect():584:585 -> t
    3:24:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():686:707 -> t
    3:24:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    25:25:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> t
    25:25:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():709 -> t
    25:25:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    26:38:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():709:721 -> t
    26:38:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    39:39:boolean com.android.tools.r8.ir.code.IRCode.verifyValue(com.android.tools.r8.ir.code.Value):729:729 -> t
    39:39:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():721 -> t
    39:39:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    40:40:boolean com.android.tools.r8.ir.code.IRCode.verifyPhi(com.android.tools.r8.ir.code.Phi):734:734 -> t
    40:40:boolean com.android.tools.r8.ir.code.IRCode.verifyValue(com.android.tools.r8.ir.code.Value):729 -> t
    40:40:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():721 -> t
    40:40:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    41:44:boolean com.android.tools.r8.ir.code.IRCode.verifyDefinition(com.android.tools.r8.ir.code.Value):739:742 -> t
    41:44:boolean com.android.tools.r8.ir.code.IRCode.verifyValue(com.android.tools.r8.ir.code.Value):729 -> t
    41:44:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():721 -> t
    41:44:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    45:45:boolean com.android.tools.r8.ir.code.IRCode.verifyDefinition(com.android.tools.r8.ir.code.Value):740:740 -> t
    45:45:boolean com.android.tools.r8.ir.code.IRCode.verifyValue(com.android.tools.r8.ir.code.Value):729 -> t
    45:45:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():721 -> t
    45:45:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    46:47:boolean com.android.tools.r8.ir.code.IRCode.consistentValueUses(com.android.tools.r8.ir.code.Value):747:748 -> t
    46:47:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():722 -> t
    46:47:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    48:48:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> t
    48:48:boolean com.android.tools.r8.ir.code.IRCode.consistentValueUses(com.android.tools.r8.ir.code.Value):748 -> t
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    48:48:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():722 -> t
    48:48:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    49:57:boolean com.android.tools.r8.ir.code.IRCode.consistentValueUses(com.android.tools.r8.ir.code.Value):748:756 -> t
    49:57:boolean com.android.tools.r8.ir.code.IRCode.consistentDefUseChains():722 -> t
    49:57:boolean isConsistentSSABeforeTypesAreCorrect():586 -> t
    58:58:boolean isConsistentSSABeforeTypesAreCorrect():587:587 -> t
    59:75:boolean com.android.tools.r8.ir.code.IRCode.validThrowingInstructions():932:948 -> t
    59:75:boolean isConsistentSSABeforeTypesAreCorrect():587 -> t
    76:76:boolean isConsistentSSABeforeTypesAreCorrect():588:588 -> t
    77:88:boolean com.android.tools.r8.ir.code.IRCode.noCriticalEdges():657:668 -> t
    77:88:boolean isConsistentSSABeforeTypesAreCorrect():588 -> t
    89:90:boolean isConsistentSSABeforeTypesAreCorrect():588:589 -> t
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":484,"2":485,"3":486}}
    484:484:java.lang.String toString():476:476 -> toString
    485:485:java.lang.String toString():476:476 -> toString
    486:486:java.lang.String toString():477:477 -> toString
    479:483:java.lang.String toString():478:482 -> toString
    1:1:com.android.tools.r8.ir.code.BasicBlockIterator listIterator():1056:1056 -> u
    1:1:com.android.tools.r8.ir.code.IRMetadata metadata():154:154 -> v
    1:1:com.android.tools.r8.graph.DexEncodedMethod method():163:163 -> w
    1:3:com.android.tools.r8.com.google.common.collect.ImmutableList numberInstructions():1064:1066 -> x
    1:7:int numberRemainingInstructions():1072:1078 -> y
    1:23:void prepareBlocksForCatchHandlers():336:358 -> z
    24:24:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> z
    24:24:void prepareBlocksForCatchHandlers():359 -> z
    25:26:void prepareBlocksForCatchHandlers():359:360 -> z
    27:28:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> z
    27:28:void prepareBlocksForCatchHandlers():360 -> z
    29:35:void prepareBlocksForCatchHandlers():361:367 -> z
com.android.tools.r8.ir.code.IRCode$1 -> com.android.tools.r8.internal.tn:
    com.android.tools.r8.ir.code.Argument next -> c
    com.android.tools.r8.ir.code.InstructionIterator instructionIterator -> b
    1:4:void <init>(com.android.tools.r8.ir.code.IRCode):1091:1094 -> <init>
    1:1:boolean hasNext():1098:1098 -> hasNext
    1:5:com.android.tools.r8.ir.code.Argument com.android.tools.r8.ir.code.IRCode$1.next():1103:1107 -> next
    1:5:java.lang.Object next():1091 -> next
    6:6:com.android.tools.r8.ir.code.Argument com.android.tools.r8.ir.code.IRCode$1.next():1104:1104 -> next
    6:6:java.lang.Object next():1091 -> next
com.android.tools.r8.ir.code.IRCode$BlockMarker -> com.android.tools.r8.internal.un:
    com.android.tools.r8.ir.code.BasicBlock block -> a
    1:2:void <init>(com.android.tools.r8.ir.code.BasicBlock):103:104 -> <init>
com.android.tools.r8.ir.code.IRCode$LiveAtEntrySets -> com.android.tools.r8.internal.vn:
    java.util.Deque liveStackValues -> c
    java.util.Set liveLocalValues -> b
    java.util.LinkedHashSet liveValues -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():66:66 -> <clinit>
    1:5:void <init>(java.util.LinkedHashSet,java.util.Set,java.util.Deque):76:80 -> <init>
    1:2:boolean equals(java.lang.Object):90:91 -> equals
    1:1:int hashCode():85:85 -> hashCode
com.android.tools.r8.ir.code.IRCodeInstructionIterator -> com.android.tools.r8.internal.xn:
    java.util.ListIterator blockIterator -> b
    com.android.tools.r8.ir.code.IRCode code -> d
    com.android.tools.r8.ir.code.InstructionListIterator instructionIterator -> c
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():10:10 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.code.IRCode):17:20 -> <init>
    1:1:boolean hasNext():25:25 -> hasNext
    1:1:boolean hasPrevious():43:43 -> hasPrevious
    1:9:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.IRCodeInstructionIterator.next():30:38 -> next
    1:9:java.lang.Object next():10 -> next
    10:10:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.IRCodeInstructionIterator.next():34:34 -> next
    10:10:java.lang.Object next():10 -> next
    1:10:com.android.tools.r8.ir.code.Instruction previous():48:57 -> previous
    11:11:com.android.tools.r8.ir.code.Instruction previous():52:52 -> previous
com.android.tools.r8.ir.code.IRCodeInstructionListIterator -> com.android.tools.r8.internal.yn:
    java.util.ListIterator blockIterator -> b
    com.android.tools.r8.ir.code.IRCode code -> d
    com.android.tools.r8.ir.code.InstructionListIterator instructionIterator -> c
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():24:24 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.code.IRCode):31:34 -> <init>
    1:1:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):40:40 -> a
    2:2:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):45:45 -> a
    3:3:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):55:55 -> a
    4:4:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):62:62 -> a
    5:5:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):71:71 -> a
    6:6:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):78:78 -> a
    7:7:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):83:83 -> a
    8:8:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):95:95 -> a
    9:9:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):112:112 -> a
    10:10:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):122:122 -> a
    11:11:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):128:128 -> a
    12:12:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator):133:133 -> a
    13:13:com.android.tools.r8.ir.code.BasicBlock splitCopyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):139:139 -> a
    14:14:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):150:150 -> a
    15:15:void addThrowingInstructionToPossiblyThrowingBlock(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.utils.InternalOptions):211:211 -> a
    16:16:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):227:227 -> a
    17:17:void setInsertionPosition(com.android.tools.r8.ir.code.Position):242:242 -> a
    1:1:void add(java.lang.Object):24:24 -> add
    2:2:void com.android.tools.r8.ir.code.IRCodeInstructionListIterator.add(com.android.tools.r8.ir.code.Instruction):202:202 -> add
    2:2:void add(java.lang.Object):24 -> add
    1:1:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):89:89 -> b
    1:1:void removeOrReplaceByDebugLocalRead():232:232 -> e
    1:1:void unsetInsertionPosition():247:247 -> h
    1:1:boolean hasNext():155:155 -> hasNext
    1:1:boolean hasPrevious():173:173 -> hasPrevious
    1:1:void removeInstructionIgnoreOutValue():101:101 -> i
    1:9:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.IRCodeInstructionListIterator.next():160:168 -> next
    1:9:java.lang.Object next():24 -> next
    10:10:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.IRCodeInstructionListIterator.next():164:164 -> next
    10:10:java.lang.Object next():24 -> next
    1:1:int nextIndex():192:192 -> nextIndex
    1:1:java.lang.Object previous():24:24 -> previous
    2:11:com.android.tools.r8.ir.code.Instruction previous():178:187 -> previous
    12:12:com.android.tools.r8.ir.code.Instruction previous():182:182 -> previous
    1:1:int previousIndex():197:197 -> previousIndex
    1:1:void remove():217:217 -> remove
    1:1:void set(java.lang.Object):24:24 -> set
    2:2:void com.android.tools.r8.ir.code.IRCodeInstructionListIterator.set(com.android.tools.r8.ir.code.Instruction):222:222 -> set
    2:2:void set(java.lang.Object):24 -> set
com.android.tools.r8.ir.code.IRCodeUtils -> com.android.tools.r8.internal.An:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:7:com.android.tools.r8.ir.code.InvokeDirect getUniqueConstructorInvoke(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):24:30 -> a
    8:18:java.util.Map findUniqueStaticPuts(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.Set):51:61 -> a
    19:23:void removeArrayAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):76:80 -> a
    24:24:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    24:24:void removeArrayAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):84 -> a
    25:32:void removeArrayAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):85:92 -> a
    33:33:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    33:33:void removeArrayAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):92 -> a
    34:44:void removeArrayAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):92:102 -> a
    45:45:void removeInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):114:114 -> a
    46:46:void removeInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):113:113 -> a
    47:75:void internalRemoveInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,java.util.Deque):119:147 -> a
    76:76:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    76:76:void internalRemoveInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,java.util.Deque):148 -> a
    77:80:void internalRemoveInstructionAndTransitiveInputsIfNotUsed(com.android.tools.r8.ir.code.IRCode,java.util.Deque):148:151 -> a
com.android.tools.r8.ir.code.IRMetadata -> com.android.tools.r8.internal.Cn:
    long second -> b
    long first -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    2:4:void <init>(long,long):14:16 -> <init>
    1:1:boolean mayHaveMul():218:218 -> A
    1:1:boolean mayHaveNewInstance():222:222 -> B
    1:1:boolean mayHaveOr():226:226 -> C
    1:1:boolean mayHaveRem():230:230 -> D
    1:1:boolean mayHaveShl():234:234 -> E
    1:1:boolean mayHaveShr():238:238 -> F
    1:1:boolean mayHaveStaticGet():242:242 -> G
    1:1:boolean mayHaveStaticPut():246:246 -> H
    1:1:boolean mayHaveStringSwitch():250:250 -> I
    1:1:boolean mayHaveSub():254:254 -> J
    1:2:boolean mayHaveSwitch():262:263 -> K
    3:3:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveIntSwitch():140:140 -> K
    3:3:boolean mayHaveSwitch():263 -> K
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveStringSwitch():250:250 -> K
    4:4:boolean mayHaveSwitch():263 -> K
    5:5:boolean mayHaveSwitch():263:263 -> K
    1:1:boolean mayHaveUshr():268:268 -> L
    1:1:boolean mayHaveXor():272:272 -> M
    1:1:com.android.tools.r8.ir.code.IRMetadata unknown():20:20 -> N
    1:3:boolean get(int):25:27 -> a
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.isAnySetInSecond(long):38:38 -> a
    4:4:boolean get(int):29 -> a
    5:5:boolean isAnySetInFirst(long):34:34 -> a
    6:6:void record(com.android.tools.r8.ir.code.Instruction):52:52 -> a
    7:11:void com.android.tools.r8.ir.code.IRMetadata.set(int):43:47 -> a
    7:11:void record(com.android.tools.r8.ir.code.Instruction):52 -> a
    12:13:void merge(com.android.tools.r8.ir.code.IRMetadata):56:57 -> a
    14:14:boolean mayHaveAdd():61:61 -> a
    1:1:boolean mayHaveAnd():65:65 -> b
    1:1:boolean mayHaveArithmeticOrLogicalBinop():302:302 -> c
    2:2:boolean com.android.tools.r8.ir.code.IRMetadata.isAnySetInSecond(long):38:38 -> c
    2:2:boolean mayHaveArithmeticOrLogicalBinop():302 -> c
    3:3:boolean mayHaveArithmeticOrLogicalBinop():303:303 -> c
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveAdd():61:61 -> c
    4:4:boolean mayHaveArithmeticOrLogicalBinop():304 -> c
    5:5:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveDiv():97:97 -> c
    5:5:boolean mayHaveArithmeticOrLogicalBinop():305 -> c
    6:6:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveMul():218:218 -> c
    6:6:boolean mayHaveArithmeticOrLogicalBinop():306 -> c
    7:7:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveRem():230:230 -> c
    7:7:boolean mayHaveArithmeticOrLogicalBinop():307 -> c
    8:8:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveSub():254:254 -> c
    8:8:boolean mayHaveArithmeticOrLogicalBinop():308 -> c
    9:9:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveAnd():65:65 -> c
    9:9:boolean mayHaveArithmeticOrLogicalBinop():309 -> c
    10:10:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveOr():226:226 -> c
    10:10:boolean mayHaveArithmeticOrLogicalBinop():310 -> c
    11:11:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveShl():234:234 -> c
    11:11:boolean mayHaveArithmeticOrLogicalBinop():311 -> c
    12:12:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveShr():238:238 -> c
    12:12:boolean mayHaveArithmeticOrLogicalBinop():312 -> c
    13:13:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveUshr():268:268 -> c
    13:13:boolean mayHaveArithmeticOrLogicalBinop():313 -> c
    14:14:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveXor():272:272 -> c
    14:14:boolean mayHaveArithmeticOrLogicalBinop():314 -> c
    15:15:boolean mayHaveArithmeticOrLogicalBinop():303:303 -> c
    1:1:boolean mayHaveArrayGet():69:69 -> d
    1:1:boolean mayHaveArrayLength():73:73 -> e
    1:1:boolean mayHaveCheckCast():77:77 -> f
    1:1:boolean mayHaveConstNumber():81:81 -> g
    1:1:boolean mayHaveConstString():85:85 -> h
    1:1:boolean mayHaveDebugPosition():89:89 -> i
    1:1:boolean mayHaveDexItemBasedConstString():93:93 -> j
    1:1:boolean mayHaveDiv():97:97 -> k
    1:2:boolean mayHaveFieldInstruction():114:115 -> l
    3:3:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInstanceGet():128:128 -> l
    3:3:boolean mayHaveFieldInstruction():116 -> l
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInstancePut():132:132 -> l
    4:4:boolean mayHaveFieldInstruction():117 -> l
    5:5:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveStaticGet():242:242 -> l
    5:5:boolean mayHaveFieldInstruction():118 -> l
    6:6:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveStaticPut():246:246 -> l
    6:6:boolean mayHaveFieldInstruction():119 -> l
    7:7:boolean mayHaveFieldInstruction():115:115 -> l
    1:1:boolean mayHaveInitClass():124:124 -> m
    1:1:boolean mayHaveInstanceGet():128:128 -> n
    1:1:boolean mayHaveInstanceOf():136:136 -> o
    1:1:boolean mayHaveInstancePut():132:132 -> p
    1:1:boolean mayHaveIntSwitch():140:140 -> q
    1:1:boolean mayHaveInvokeDirect():144:144 -> r
    1:1:boolean mayHaveInvokeInterface():148:148 -> s
    1:2:boolean mayHaveInvokeMethod():166:167 -> t
    3:3:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeDirect():144:144 -> t
    3:3:boolean mayHaveInvokeMethod():168 -> t
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeInterface():148:148 -> t
    4:4:boolean mayHaveInvokeMethod():169 -> t
    5:5:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokePolymorphic():198:198 -> t
    5:5:boolean mayHaveInvokeMethod():170 -> t
    6:6:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeStatic():202:202 -> t
    6:6:boolean mayHaveInvokeMethod():171 -> t
    7:7:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeSuper():206:206 -> t
    7:7:boolean mayHaveInvokeMethod():172 -> t
    8:8:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeVirtual():210:210 -> t
    8:8:boolean mayHaveInvokeMethod():173 -> t
    9:9:boolean mayHaveInvokeMethod():167:167 -> t
    1:2:boolean mayHaveInvokeMethodWithReceiver():188:189 -> u
    3:3:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeDirect():144:144 -> u
    3:3:boolean mayHaveInvokeMethodWithReceiver():190 -> u
    4:4:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeInterface():148:148 -> u
    4:4:boolean mayHaveInvokeMethodWithReceiver():191 -> u
    5:5:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeSuper():206:206 -> u
    5:5:boolean mayHaveInvokeMethodWithReceiver():192 -> u
    6:6:boolean com.android.tools.r8.ir.code.IRMetadata.mayHaveInvokeVirtual():210:210 -> u
    6:6:boolean mayHaveInvokeMethodWithReceiver():193 -> u
    7:7:boolean mayHaveInvokeMethodWithReceiver():189:189 -> u
    1:1:boolean mayHaveInvokePolymorphic():198:198 -> v
    1:1:boolean mayHaveInvokeStatic():202:202 -> w
    1:1:boolean mayHaveInvokeSuper():206:206 -> x
    1:1:boolean mayHaveInvokeVirtual():210:210 -> y
    1:1:boolean mayHaveMonitorInstruction():214:214 -> z
com.android.tools.r8.ir.code.If -> com.android.tools.r8.internal.Tn:
    int $r8$clinit -> l
    boolean $assertionsDisabled -> k
    com.android.tools.r8.ir.code.If$Type type -> j
    1:1:void <clinit>():21:21 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.Value):74:75 -> <init>
    3:4:void <init>(com.android.tools.r8.ir.code.If$Type,java.util.List):79:80 -> <init>
    boolean isIf() -> E1
    com.android.tools.r8.ir.code.If asIf() -> M
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):155:155 -> a
    2:3:void print(com.android.tools.r8.utils.CfgPrinter):194:195 -> a
    4:5:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):223:224 -> a
    6:6:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):66:66 -> a
    6:6:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):224 -> a
    7:7:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    7:7:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):66 -> a
    7:7:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):224 -> a
    8:8:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    8:8:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):67 -> a
    8:8:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):224 -> a
    9:10:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):67:68 -> a
    9:10:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):224 -> a
    11:12:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber):224:225 -> a
    13:15:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber,com.android.tools.r8.ir.code.ConstNumber):229:231 -> a
    16:16:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):66:66 -> a
    16:16:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber,com.android.tools.r8.ir.code.ConstNumber):231 -> a
    17:17:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    17:17:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):66 -> a
    17:17:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber,com.android.tools.r8.ir.code.ConstNumber):231 -> a
    18:18:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    18:18:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):67 -> a
    18:18:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber,com.android.tools.r8.ir.code.ConstNumber):231 -> a
    19:20:boolean com.android.tools.r8.ir.code.If.verifyTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.If$Type):67:68 -> a
    19:20:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber,com.android.tools.r8.ir.code.ConstNumber):231 -> a
    21:22:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(com.android.tools.r8.ir.code.ConstNumber,com.android.tools.r8.ir.code.ConstNumber):231:232 -> a
    23:23:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):278:278 -> a
    24:31:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):283:290 -> a
    1:2:void setFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):149:150 -> b
    3:8:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):200:205 -> b
    9:10:com.android.tools.r8.ir.code.BasicBlock targetFromBoolean(boolean):218:219 -> b
    1:4:void setTrueTarget(com.android.tools.r8.ir.code.BasicBlock):133:136 -> c
    5:20:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):248:263 -> c
    21:21:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":302,"2":303,"3":304}}
    302:302:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):263:263 -> c
    303:303:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):263:263 -> c
    304:304:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):263:263 -> c
    284:284:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):263:263 -> c
    285:285:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):261:261 -> c
    286:286:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):259:259 -> c
    287:287:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):257:257 -> c
    288:288:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):255:255 -> c
    289:289:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):253:253 -> c
    290:290:com.android.tools.r8.ir.code.BasicBlock targetFromCondition(int):251:251 -> c
    1:1:int maxInValueRegister():183:183 -> j2
    1:1:int maxOutValueRegister():188:188 -> k2
    int opcode() -> l2
    1:4:com.android.tools.r8.ir.code.BasicBlock fallthroughBlock():141:144 -> o2
    1:4:com.android.tools.r8.ir.code.BasicBlock getTrueTarget():126:129 -> p2
    1:1:com.android.tools.r8.ir.code.If$Type getType():115:115 -> q2
    1:4:void invert():119:122 -> r2
    1:1:boolean isZeroTest():102:102 -> s2
    1:1:com.android.tools.r8.ir.code.Value lhs():106:106 -> t2
    1:8:java.lang.String toString():170:177 -> toString
    1:2:com.android.tools.r8.ir.code.Value rhs():110:111 -> u2
    1:3:com.android.tools.r8.ir.code.BasicBlock targetFromNonNullObject():236:238 -> v2
    1:3:com.android.tools.r8.ir.code.BasicBlock targetFromNullObject():242:244 -> w2
com.android.tools.r8.ir.code.If$1 -> com.android.tools.r8.internal.Sn:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():28:28 -> <clinit>
com.android.tools.r8.ir.code.If$Type -> com.android.tools.r8.internal.Tn$a:
    com.android.tools.r8.ir.code.If$Type GE -> c
    com.android.tools.r8.ir.code.If$Type GT -> d
    com.android.tools.r8.ir.code.If$Type EQ -> b
    com.android.tools.r8.ir.code.If$Type[] $VALUES -> h
    com.android.tools.r8.ir.code.If$Type NE -> g
    com.android.tools.r8.ir.code.If$Type LE -> e
    com.android.tools.r8.ir.code.If$Type LT -> f
    1:1:void <clinit>():24:24 -> <clinit>
    2:2:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(java.lang.String,int):23:23 -> <init>
    1:14:com.android.tools.r8.ir.code.If$Type forSwappedOperands():28:41 -> a
    15:15:com.android.tools.r8.ir.code.If$Type forSwappedOperands():39:39 -> a
    16:16:com.android.tools.r8.ir.code.If$Type forSwappedOperands():37:37 -> a
    17:17:com.android.tools.r8.ir.code.If$Type forSwappedOperands():35:35 -> a
    18:18:com.android.tools.r8.ir.code.If$Type forSwappedOperands():33:33 -> a
    1:15:com.android.tools.r8.ir.code.If$Type inverted():46:60 -> b
    16:16:com.android.tools.r8.ir.code.If$Type inverted():56:56 -> b
    17:17:com.android.tools.r8.ir.code.If$Type inverted():54:54 -> b
    18:18:com.android.tools.r8.ir.code.If$Type inverted():52:52 -> b
    19:27:com.android.tools.r8.ir.code.If$Type inverted():50:58 -> b
    28:28:com.android.tools.r8.ir.code.If$Type inverted():48:48 -> b
    1:1:com.android.tools.r8.ir.code.If$Type[] values():23:23 -> c
com.android.tools.r8.ir.code.ImpreciseMemberTypeInstruction -> com.android.tools.r8.internal.To:
    void constrainType(com.android.tools.r8.ir.conversion.TypeConstraintResolver) -> a
    com.android.tools.r8.ir.code.MemberType getMemberType() -> d
com.android.tools.r8.ir.code.Inc -> com.android.tools.r8.internal.Xo:
    boolean $assertionsDisabled -> j
    int increment -> i
    1:1:void <clinit>():20:20 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,int):25:27 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):70:70 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):75:75 -> a
    3:3:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):81:81 -> a
    4:12:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):88:96 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):54:54 -> b
    1:2:void addInValue(com.android.tools.r8.ir.code.Value):43:44 -> c
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:java.lang.String toString():106:106 -> toString
com.android.tools.r8.ir.code.InitClass -> com.android.tools.r8.internal.pp:
    com.android.tools.r8.graph.DexType clazz -> i
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():26:26 -> <clinit>
    1:5:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):31:35 -> <init>
    com.android.tools.r8.ir.code.InitClass asInitClass() -> N
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):58:58 -> a
    2:3:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:74 -> a
    4:4:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):79:79 -> a
    5:5:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):89:89 -> a
    6:6:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):122:122 -> a
    7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):156:156 -> a
    8:8:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):161:161 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95:95 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95:95 -> b
    4:16:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):101:113 -> b
    1:8:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):127:134 -> d
    boolean instructionTypeCanThrow() -> f1
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.ir.code.InitClass$Builder builder():39:39 -> o2
    1:1:com.android.tools.r8.graph.DexType getClassValue():43:43 -> p2
    1:1:java.lang.String toString():171:171 -> toString
com.android.tools.r8.ir.code.InitClass$Builder -> com.android.tools.r8.internal.op:
    com.android.tools.r8.graph.DexType type -> c
    1:1:void <init>(com.android.tools.r8.ir.code.InitClass$1):174:174 -> <init>
    2:2:void <init>():178:178 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.InitClass$Builder setType(com.android.tools.r8.graph.DexType):181:181 -> a
    1:1:com.android.tools.r8.ir.code.InitClass build():187:187 -> b
com.android.tools.r8.ir.code.InstanceFieldInstruction -> com.android.tools.r8.internal.Xp:
    com.android.tools.r8.ir.code.Value object() -> i
com.android.tools.r8.ir.code.InstanceGet -> com.android.tools.r8.internal.aq:
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexField):38:38 -> <init>
    com.android.tools.r8.ir.code.FieldGet asFieldGet() -> I
    com.android.tools.r8.ir.code.InstanceFieldInstruction asInstanceFieldInstruction() -> O
    com.android.tools.r8.ir.code.InstanceGet asInstanceGet() -> P
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():218:218 -> Q0
    1:1:boolean outTypeKnownToBeBoolean(java.util.Set):48:48 -> a
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.InstanceGet.dest():57:57 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):80 -> a
    3:32:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):80:109 -> a
    33:33:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":185,"2":186,"3":187}}
    185:185:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):109:109 -> a
    186:186:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):109:109 -> a
    187:187:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):109:109 -> a
    142:142:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):109:109 -> a
    143:143:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):91:91 -> a
    144:163:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):87:106 -> a
    164:164:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):103:103 -> a
    165:165:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):100:100 -> a
    166:166:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):97:97 -> a
    167:184:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):94:111 -> a
    188:190:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):73:75 -> a
    191:191:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):122:122 -> a
    192:192:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):147:147 -> a
    193:193:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InstanceGet):169:169 -> a
    193:193:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):53 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    194:194:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):187:187 -> a
    195:195:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):192:192 -> a
    196:197:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):197:198 -> a
    198:198:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):203:203 -> a
    199:199:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):239:239 -> a
    199:199:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):203 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    200:201:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):240:241 -> a
    200:201:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):203 -> a
    202:202:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):203:203 -> a
    203:203:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):208:208 -> a
    204:204:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):228:228 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):137:137 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):137 -> b
    3:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):140:141 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> f1
    1:2:com.android.tools.r8.ir.code.Value object():62:63 -> i
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    boolean throwsOnNullInput() -> n2
    1:1:java.lang.String toString():182:182 -> toString
    1:1:com.android.tools.r8.ir.code.Value value():68:68 -> value
com.android.tools.r8.ir.code.InstanceOf -> com.android.tools.r8.internal.jq:
    com.android.tools.r8.graph.DexType type -> i
    1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):25:26 -> <init>
    com.android.tools.r8.ir.code.InstanceOf asInstanceOf() -> Q
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.InstanceOf.dest():44:44 -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):53 -> a
    2:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):53:55 -> a
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):91:91 -> a
    6:6:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):96:96 -> a
    7:8:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):106:107 -> a
    9:9:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):112:112 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75:75 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75:75 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> f1
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.graph.DexType type():40:40 -> o2
    1:2:java.lang.String toString():127:128 -> toString
    1:1:com.android.tools.r8.ir.code.Value value():48:48 -> value
com.android.tools.r8.ir.code.InstancePut -> com.android.tools.r8.internal.kq:
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):38:38 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,boolean):50:53 -> <init>
    boolean isInstanceFieldInstruction() -> G1
    boolean isInstancePut() -> I1
    com.android.tools.r8.ir.code.FieldPut asFieldPut() -> K
    com.android.tools.r8.ir.code.InstanceFieldInstruction asInstanceFieldInstruction() -> O
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():258:258 -> Q0
    com.android.tools.r8.ir.code.InstancePut asInstancePut() -> R
    1:1:com.android.tools.r8.ir.code.InstancePut createPotentiallyInvalid(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):46:46 -> a
    2:2:void setValue(com.android.tools.r8.ir.code.Value):84:84 -> a
    3:31:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):90:118 -> a
    32:32:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":193,"2":194,"3":195}}
    193:193:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):118:118 -> a
    194:194:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):118:118 -> a
    195:195:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):118:118 -> a
    150:150:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):118:118 -> a
    151:151:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):100:100 -> a
    152:171:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):96:115 -> a
    172:172:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):112:112 -> a
    173:173:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):109:109 -> a
    174:174:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):106:106 -> a
    175:192:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):103:120 -> a
    196:213:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):131:148 -> a
    214:224:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):157:167 -> a
    225:225:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InstancePut):179:179 -> a
    225:225:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):64 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    226:226:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):198:198 -> a
    227:227:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):238:238 -> a
    228:228:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):243:243 -> a
    229:229:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):239:239 -> a
    229:229:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):243 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    230:231:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):240:241 -> a
    230:231:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):243 -> a
    232:232:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):243:243 -> a
    233:233:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):248:248 -> a
    234:234:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):268:268 -> a
    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):177:181 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    int getValueIndex() -> e
    boolean instructionTypeCanThrow() -> f1
    1:1:com.android.tools.r8.ir.code.Value object():74:74 -> i
    int maxInValueRegister() -> j2
    1:1:int maxOutValueRegister():191:191 -> k2
    int opcode() -> l2
    boolean throwsOnNullInput() -> n2
    1:1:java.lang.String toString():233:233 -> toString
    1:1:com.android.tools.r8.ir.code.Value value():79:79 -> value
com.android.tools.r8.ir.code.Instruction -> com.android.tools.r8.internal.uq:
    com.android.tools.r8.ir.code.Position position -> g
    java.util.List inValues -> c
    java.util.Set debugValues -> f
    com.android.tools.r8.ir.code.Value outValue -> b
    int number -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.ir.code.BasicBlock block -> d
    1:1:void <clinit>():46:46 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value):55:55 -> <init>
    2:10:void <init>(com.android.tools.r8.ir.code.Value):48:56 -> <init>
    11:11:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):59:59 -> <init>
    12:25:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):48:61 -> <init>
    26:26:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):64:64 -> <init>
    27:49:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):48:70 -> <init>
    com.android.tools.r8.ir.code.ConstMethodType asConstMethodType() -> A
    com.android.tools.r8.ir.code.Shr asShr() -> A0
    boolean isFieldGet() -> A1
    com.android.tools.r8.ir.code.ConstNumber asConstNumber() -> B
    com.android.tools.r8.ir.code.StaticGet asStaticGet() -> B0
    boolean isFieldInstruction() -> B1
    com.android.tools.r8.ir.code.ConstString asConstString() -> C
    com.android.tools.r8.ir.code.StaticPut asStaticPut() -> C0
    boolean isFieldPut() -> C1
    com.android.tools.r8.ir.code.DebugLocalsChange asDebugLocalsChange() -> D
    com.android.tools.r8.ir.code.Store asStore() -> D0
    boolean isGoto() -> D1
    com.android.tools.r8.ir.code.DebugPosition asDebugPosition() -> E
    com.android.tools.r8.ir.code.StringSwitch asStringSwitch() -> E0
    boolean isIf() -> E1
    com.android.tools.r8.ir.code.DexItemBasedConstString asDexItemBasedConstString() -> F
    com.android.tools.r8.ir.code.Sub asSub() -> F0
    boolean isInitClass() -> F1
    com.android.tools.r8.ir.code.Div asDiv() -> G
    com.android.tools.r8.ir.code.Switch asSwitch() -> G0
    boolean isInstanceFieldInstruction() -> G1
    com.android.tools.r8.ir.code.Dup asDup() -> H
    com.android.tools.r8.ir.code.Throw asThrow() -> H0
    boolean isInstanceGet() -> H1
    com.android.tools.r8.ir.code.FieldGet asFieldGet() -> I
    com.android.tools.r8.ir.code.Ushr asUshr() -> I0
    boolean isInstancePut() -> I1
    com.android.tools.r8.ir.code.FieldInstruction asFieldInstruction() -> J
    com.android.tools.r8.ir.code.Xor asXor() -> J0
    boolean isIntSwitch() -> J1
    com.android.tools.r8.ir.code.FieldPut asFieldPut() -> K
    1:2:void clearBlock():322:323 -> K0
    boolean isInvoke() -> K1
    com.android.tools.r8.ir.code.Goto asGoto() -> L
    1:5:void clearDebugValues():293:297 -> L0
    boolean isInvokeDirect() -> L1
    com.android.tools.r8.ir.code.If asIf() -> M
    1:7:boolean com.android.tools.r8.ir.code.Instruction.definesValueWithNonLocalUsages():583:589 -> M0
    1:7:boolean definesBlockLocalValue():579 -> M0
    boolean isInvokeMethod() -> M1
    com.android.tools.r8.ir.code.InitClass asInitClass() -> N
    1:1:java.util.Set getDebugValues():690:690 -> N0
    boolean isInvokeMethodWithReceiver() -> N1
    com.android.tools.r8.ir.code.InstanceFieldInstruction asInstanceFieldInstruction() -> O
    1:1:com.android.tools.r8.ir.code.Value getFirstOperand():106:106 -> O0
    boolean isInvokeVirtual() -> O1
    com.android.tools.r8.ir.code.InstanceGet asInstanceGet() -> P
    1:1:java.lang.String getInstructionName():346:346 -> P0
    boolean isJumpInstruction() -> P1
    com.android.tools.r8.ir.code.InstanceOf asInstanceOf() -> Q
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():1518:1518 -> Q0
    boolean isLoad() -> Q1
    com.android.tools.r8.ir.code.InstancePut asInstancePut() -> R
    1:1:int getNumber():395:395 -> R0
    boolean isLogicalBinop() -> R1
    com.android.tools.r8.ir.code.IntSwitch asIntSwitch() -> S
    com.android.tools.r8.ir.code.ConstInstruction getOutConstantConstInstruction() -> S0
    boolean isMonitorEnter() -> S1
    com.android.tools.r8.ir.code.Invoke asInvoke() -> T
    1:2:com.android.tools.r8.ir.code.Position getPosition():82:83 -> T0
    boolean isMove() -> T1
    com.android.tools.r8.ir.code.InvokeCustom asInvokeCustom() -> U
    1:1:java.lang.String getPositionAsString():98:98 -> U0
    boolean isNewArrayEmpty() -> U1
    com.android.tools.r8.ir.code.InvokeDirect asInvokeDirect() -> V
    1:1:boolean hasBlock():342:342 -> V0
    boolean isNewArrayFilledData() -> V1
    com.android.tools.r8.ir.code.InvokeInterface asInvokeInterface() -> W
    1:1:boolean hasInValueWithLocalInfo():128:128 -> W0
    boolean isNewInstance() -> W1
    com.android.tools.r8.ir.code.InvokeMethod asInvokeMethod() -> X
    boolean hasInvariantOutType() -> X0
    boolean isNumberConversion() -> X1
    com.android.tools.r8.ir.code.InvokeMethodWithReceiver asInvokeMethodWithReceiver() -> Y
    1:1:boolean hasOutValue():141:141 -> Y0
    boolean isOutConstant() -> Y1
    com.android.tools.r8.ir.code.InvokeMultiNewArray asInvokeMultiNewArray() -> Z
    1:1:boolean hasPosition():78:78 -> Z0
    boolean isPop() -> Z1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void buildCf(com.android.tools.r8.ir.conversion.CfBuilder) -> a
    void buildDex(com.android.tools.r8.ir.conversion.DexBuilder) -> a
    boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value) -> a
    boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption) -> a
    com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    boolean isInvokeConstructor(com.android.tools.r8.graph.DexItemFactory) -> a
    boolean isTwoAddr(com.android.tools.r8.ir.regalloc.RegisterAllocator) -> a
    boolean outTypeKnownToBeBoolean(java.util.Set) -> a
    boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> a
    1:3:void forceOverwritePosition(com.android.tools.r8.ir.code.Position):92:94 -> a
    4:4:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    4:4:com.android.tools.r8.ir.code.Value getOperand(int):102 -> a
    5:5:com.android.tools.r8.ir.code.Value getOperand(int):102:102 -> a
    6:6:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    6:6:boolean hasInValueThatMatches(java.util.function.Predicate):132 -> a
    7:8:boolean hasInValueThatMatches(java.util.function.Predicate):132:133 -> a
    9:9:com.android.tools.r8.ir.code.Value outValue():153:153 -> a
    10:11:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):182:183 -> a
    12:18:void clearUserInfo(com.android.tools.r8.ir.code.Instruction):203:209 -> a
    19:22:void replaceValue(int,com.android.tools.r8.ir.code.Value):232:235 -> a
    23:25:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):239:241 -> a
    26:26:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":278,"2":279,"3":280}}
    278:278:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):241:241 -> a
    279:279:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):241:241 -> a
    280:280:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):241:241 -> a
    269:277:void replaceDebugValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):243:251 -> a
    281:287:com.android.tools.r8.ir.code.Value removeDebugValue(com.android.tools.r8.graph.DebugLocalInfo):278:284 -> a
    288:289:void setBlock(com.android.tools.r8.ir.code.BasicBlock):314:315 -> a
    290:291:void print(com.android.tools.r8.utils.CfgPrinter):370:371 -> a
    292:292:java.lang.String com.android.tools.r8.utils.CfgPrinter.makeUnusedValue():20:20 -> a
    292:292:void print(com.android.tools.r8.utils.CfgPrinter):371 -> a
    293:294:void print(com.android.tools.r8.utils.CfgPrinter):373:374 -> a
    295:295:void print(com.android.tools.r8.utils.CfgPrinter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":680,"2":681,"3":682}}
    680:680:void print(com.android.tools.r8.utils.CfgPrinter):376:376 -> a
    681:681:void print(com.android.tools.r8.utils.CfgPrinter):376:376 -> a
    682:682:void print(com.android.tools.r8.utils.CfgPrinter):376:376 -> a
    671:679:void print(com.android.tools.r8.utils.CfgPrinter):376:384 -> a
    683:692:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):505:514 -> a
    693:694:boolean com.android.tools.r8.ir.code.Instruction.identicalNonValueParts(com.android.tools.r8.ir.code.Instruction):413:414 -> a
    693:694:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):511 -> a
    695:695:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):517:517 -> a
    696:696:boolean com.android.tools.r8.ir.code.InvokeDirect.sameConstructorReceiverValue(com.android.tools.r8.ir.code.Invoke):107:107 -> a
    696:696:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):517 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    697:700:boolean com.android.tools.r8.ir.code.InvokeDirect.sameConstructorReceiverValue(com.android.tools.r8.ir.code.Invoke):107:110 -> a
    697:700:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):517 -> a
    701:702:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):520:521 -> a
    703:703:int com.android.tools.r8.ir.code.Instruction.getNumber():395:395 -> a
    703:703:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):525 -> a
    704:712:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):469:477 -> a
    704:712:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    713:713:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552:552 -> a
    713:713:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):477 -> a
    713:713:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    714:714:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> a
    714:714:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552 -> a
    714:714:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):477 -> a
    714:714:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    715:715:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):481:481 -> a
    715:715:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    716:722:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):556:562 -> a
    716:722:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):481 -> a
    716:722:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    723:723:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552:552 -> a
    723:723:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):562 -> a
    723:723:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):481 -> a
    723:723:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    724:724:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> a
    724:724:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552 -> a
    724:724:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):562 -> a
    724:724:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):481 -> a
    724:724:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    725:742:boolean com.android.tools.r8.ir.code.Instruction.identicalOutputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):484:501 -> a
    725:742:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):524 -> a
    743:752:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):528:537 -> a
    753:753:int com.android.tools.r8.ir.code.Instruction.getNumber():395:395 -> a
    753:753:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    754:762:boolean com.android.tools.r8.ir.code.Instruction.identicalInputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):424:432 -> a
    754:762:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    763:763:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552:552 -> a
    763:763:boolean com.android.tools.r8.ir.code.Instruction.identicalInputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):432 -> a
    763:763:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    764:764:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> a
    764:764:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552 -> a
    764:764:boolean com.android.tools.r8.ir.code.Instruction.identicalInputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):432 -> a
    764:764:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    765:765:boolean com.android.tools.r8.ir.code.Instruction.identicalInputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):436:436 -> a
    765:765:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    766:772:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):556:562 -> a
    766:772:boolean com.android.tools.r8.ir.code.Instruction.identicalInputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):436 -> a
    766:772:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    773:773:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552:552 -> a
    773:773:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):562 -> a
    773:773:boolean com.android.tools.r8.ir.code.Instruction.identicalInputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):436 -> a
    773:773:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    774:774:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> a
    774:774:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuePair(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue):552 -> a
    774:774:boolean com.android.tools.r8.ir.code.Instruction.identicalStackValuesPair(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.StackValues):562 -> a
    774:774:boolean com.android.tools.r8.ir.code.Instruction.identicalInputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):436 -> a
    774:774:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    775:795:boolean com.android.tools.r8.ir.code.Instruction.identicalInputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):439:459 -> a
    775:795:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    796:812:boolean com.android.tools.r8.ir.code.Instruction.identicalInputAfterRegisterAllocation(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.regalloc.RegisterAllocator):448:464 -> a
    796:812:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):538 -> a
    813:814:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):544:545 -> a
    815:815:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):618:618 -> a
    816:818:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):634:636 -> a
    819:820:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):1454:1455 -> a
    821:824:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):1461:1464 -> a
    825:826:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1469:1470 -> a
    827:827:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2299,"2":2300,"3":2301}}
    2299:2299:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1470:1470 -> a
    2300:2300:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1470:1470 -> a
    2301:2301:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1470:1470 -> a
    2298:2298:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):1471:1471 -> a
    2302:2310:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1475:1483 -> a
    2311:2311:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5285,"2":5286,"3":5287}}
    5285:5285:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1483:1483 -> a
    5286:5286:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5286:5286:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1483 -> a
    5287:5287:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5287:5287:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1483 -> a
    3794:3797:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1483:1486 -> a
    3798:3798:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5288,"2":5289,"3":5290}}
    5288:5288:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1486:1486 -> a
    5289:5289:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5289:5289:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1486 -> a
    5290:5290:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    5290:5290:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1486 -> a
    5284:5284:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):1486:1486 -> a
    5291:5293:boolean verifyValidPositionInfo(boolean):1538:1540 -> a
    5294:5294:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    5294:5294:boolean verifyValidPositionInfo(boolean):1541 -> a
    5295:5295:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    5295:5295:boolean verifyValidPositionInfo(boolean):1542 -> a
    5296:5297:boolean verifyValidPositionInfo(boolean):1543:1544 -> a
    5298:5298:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.syntheticNone():117:117 -> a
    5298:5298:boolean com.android.tools.r8.ir.code.Position.isSyntheticNone():137 -> a
    5298:5298:boolean verifyValidPositionInfo(boolean):1544 -> a
    5299:5299:boolean verifyValidPositionInfo(boolean):1540:1540 -> a
    com.android.tools.r8.ir.code.InvokeNewArray asInvokeNewArray() -> a0
    1:1:boolean hasUnusedOutValue():145:145 -> a1
    boolean isReturn() -> a2
    boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction) -> b
    boolean isStaticPut() -> b
    1:2:void setPosition(com.android.tools.r8.ir.code.Position):87:88 -> b
    3:7:void addDebugValue(com.android.tools.r8.ir.code.Value):195:199 -> b
    8:14:void replaceValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):222:228 -> b
    15:15:void printLIR(com.android.tools.r8.utils.CfgPrinter):391:391 -> b
    16:17:void setNumber(int):399:400 -> b
    18:18:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):629:629 -> b
    com.android.tools.r8.ir.code.InvokePolymorphic asInvokePolymorphic() -> b0
    1:1:boolean hasUsedOutValue():149:149 -> b1
    boolean isStaticFieldInstruction() -> b2
    1:4:void addInValue(com.android.tools.r8.ir.code.Value):115:118 -> c
    5:6:com.android.tools.r8.ir.analysis.type.TypeElement getOutType():188:189 -> c
    7:13:void moveDebugValues(com.android.tools.r8.ir.code.Instruction):256:262 -> c
    14:14:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> c
    com.android.tools.r8.ir.code.InvokeStatic asInvokeStatic() -> c0
    1:1:java.util.List inValues():110:110 -> c1
    boolean isStaticGet() -> c2
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean needsValueInRegister(com.android.tools.r8.ir.code.Value) -> d
    com.android.tools.r8.ir.code.InvokeSuper asInvokeSuper() -> d0
    1:1:boolean instructionInstanceCanThrow():609:609 -> d1
    boolean isStore() -> d2
    1:9:void removeDebugValue(com.android.tools.r8.ir.code.Value):266:274 -> e
    10:10:boolean isBlockLocalInstructionWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):575:575 -> e
    com.android.tools.r8.ir.code.InvokeVirtual asInvokeVirtual() -> e0
    boolean instructionTypeCanBeCanonicalized() -> e1
    boolean isStringSwitch() -> e2
    1:4:com.android.tools.r8.ir.code.Value setOutValue(com.android.tools.r8.ir.code.Value):162:165 -> f
    5:9:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):644:648 -> f
    com.android.tools.r8.ir.code.JumpInstruction asJumpInstruction() -> f0
    boolean instructionTypeCanThrow() -> f1
    boolean isSwitch() -> f2
    com.android.tools.r8.ir.code.Instruction asInstruction() -> g
    1:5:com.android.tools.r8.ir.code.Value swapOutValue(com.android.tools.r8.ir.code.Value):171:175 -> g
    com.android.tools.r8.ir.code.Load asLoad() -> g0
    boolean isAdd() -> g1
    boolean isThrow() -> g2
    com.android.tools.r8.ir.code.LogicalBinop asLogicalBinop() -> h0
    boolean isAllowedAfterThrowingInstruction() -> h1
    boolean isUnop() -> h2
    com.android.tools.r8.ir.code.Monitor asMonitor() -> i0
    boolean isArgument() -> i1
    boolean isUnusedArgument() -> i2
    1:2:com.android.tools.r8.ir.code.BasicBlock getBlock():306:307 -> j
    com.android.tools.r8.ir.code.Move asMove() -> j0
    boolean isArithmeticBinop() -> j1
    int maxInValueRegister() -> j2
    1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():686:686 -> k
    com.android.tools.r8.ir.code.MoveException asMoveException() -> k0
    boolean isArrayAccess() -> k1
    int maxOutValueRegister() -> k2
    com.android.tools.r8.ir.code.Add asAdd() -> l
    com.android.tools.r8.ir.code.Mul asMul() -> l0
    boolean isArrayGet() -> l1
    int opcode() -> l2
    com.android.tools.r8.ir.code.And asAnd() -> m
    com.android.tools.r8.ir.code.Neg asNeg() -> m0
    boolean isArrayPut() -> m1
    1:1:com.android.tools.r8.ir.code.ValueType outType():214:214 -> m2
    com.android.tools.r8.ir.code.Argument asArgument() -> n
    com.android.tools.r8.ir.code.NewArrayEmpty asNewArrayEmpty() -> n0
    boolean isAssume() -> n1
    boolean throwsOnNullInput() -> n2
    com.android.tools.r8.ir.code.ArithmeticBinop asArithmeticBinop() -> o
    com.android.tools.r8.ir.code.NewArrayFilledData asNewArrayFilledData() -> o0
    1:1:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> o1
    1:1:boolean isAssumeWithDynamicTypeAssumption():776 -> o1
    2:2:boolean isAssumeWithDynamicTypeAssumption():776:776 -> o1
    com.android.tools.r8.ir.code.ArrayAccess asArrayAccess() -> p
    com.android.tools.r8.ir.code.NewInstance asNewInstance() -> p0
    1:1:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> p1
    1:1:boolean isAssumeWithNonNullAssumption():780 -> p1
    2:2:boolean isAssumeWithNonNullAssumption():780:780 -> p1
    com.android.tools.r8.ir.code.ArrayGet asArrayGet() -> q
    com.android.tools.r8.ir.code.NewUnboxedEnumInstance asNewUnboxedEnumInstance() -> q0
    boolean isBinop() -> q1
    com.android.tools.r8.ir.code.ArrayLength asArrayLength() -> r
    com.android.tools.r8.ir.code.Not asNot() -> r0
    boolean isCheckCast() -> r1
    com.android.tools.r8.ir.code.ArrayPut asArrayPut() -> s
    com.android.tools.r8.ir.code.NumberConversion asNumberConversion() -> s0
    boolean isConstClass() -> s1
    com.android.tools.r8.ir.code.Assume asAssume() -> t
    com.android.tools.r8.ir.code.Or asOr() -> t0
    boolean isConstInstruction() -> t1
    1:14:java.lang.String toString():351:364 -> toString
    com.android.tools.r8.ir.code.Binop asBinop() -> u
    com.android.tools.r8.ir.code.Pop asPop() -> u0
    boolean isConstNumber() -> u1
    com.android.tools.r8.ir.code.CheckCast asCheckCast() -> v
    com.android.tools.r8.ir.code.RecordFieldValues asRecordFieldValues() -> v0
    boolean isConstString() -> v1
    com.android.tools.r8.ir.code.Cmp asCmp() -> w
    com.android.tools.r8.ir.code.Rem asRem() -> w0
    1:1:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> w1
    1:1:boolean isCreatingArray():1432 -> w1
    2:2:boolean isCreatingArray():1433:1433 -> w1
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> w1
    3:3:boolean isCreatingArray():1434 -> w1
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMultiNewArray():0:0 -> w1
    4:4:boolean isCreatingArray():1435 -> w1
    5:5:boolean com.android.tools.r8.ir.code.Instruction.isRecordFieldValues():0:0 -> w1
    5:5:boolean isCreatingArray():1436 -> w1
    com.android.tools.r8.ir.code.ConstClass asConstClass() -> x
    com.android.tools.r8.ir.code.Return asReturn() -> x0
    1:1:boolean isCreatingInstanceOrArray():1440:1440 -> x1
    com.android.tools.r8.ir.code.ConstInstruction asConstInstruction() -> y
    com.android.tools.r8.ir.code.SafeCheckCast asSafeCheckCast() -> y0
    1:1:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> y1
    1:1:boolean isDebugInstruction():1232 -> y1
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> y1
    2:2:boolean isDebugInstruction():1233 -> y1
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalRead():0:0 -> y1
    3:3:boolean isDebugInstruction():1234 -> y1
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalWrite():0:0 -> y1
    4:4:boolean isDebugInstruction():1235 -> y1
    5:5:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalUninitialized():0:0 -> y1
    5:5:boolean isDebugInstruction():1236 -> y1
    com.android.tools.r8.ir.code.ConstMethodHandle asConstMethodHandle() -> z
    com.android.tools.r8.ir.code.Shl asShl() -> z0
    boolean isDebugPosition() -> z1
com.android.tools.r8.ir.code.Instruction$BuilderBase -> com.android.tools.r8.internal.nq:
    com.android.tools.r8.ir.code.Position position -> b
    com.android.tools.r8.ir.code.Value outValue -> a
    1:1:void <init>():1632:1632 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:2:com.android.tools.r8.ir.code.Instruction amend(com.android.tools.r8.ir.code.Instruction):1642:1643 -> a
    3:4:com.android.tools.r8.ir.code.Instruction$BuilderBase setOutValue(com.android.tools.r8.ir.code.Value):1649:1650 -> a
    5:5:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1658:1658 -> a
    5:5:com.android.tools.r8.ir.code.Instruction$BuilderBase setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement):1654 -> a
    6:7:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setOutValue(com.android.tools.r8.ir.code.Value):1649:1650 -> a
    6:7:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1658 -> a
    6:7:com.android.tools.r8.ir.code.Instruction$BuilderBase setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement):1654 -> a
    8:8:com.android.tools.r8.ir.code.Instruction$BuilderBase setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1658:1658 -> a
    9:10:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setOutValue(com.android.tools.r8.ir.code.Value):1649:1650 -> a
    9:10:com.android.tools.r8.ir.code.Instruction$BuilderBase setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1658 -> a
    11:12:com.android.tools.r8.ir.code.Instruction$BuilderBase setPosition(com.android.tools.r8.ir.code.Position):1662:1663 -> a
    1:1:com.android.tools.r8.ir.code.Instruction$BuilderBase setPosition(com.android.tools.r8.ir.code.Instruction):1667:1667 -> b
    2:3:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setPosition(com.android.tools.r8.ir.code.Position):1662:1663 -> b
    2:3:com.android.tools.r8.ir.code.Instruction$BuilderBase setPosition(com.android.tools.r8.ir.code.Instruction):1667 -> b
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption -> com.android.tools.r8.internal.tq:
    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption NONE -> a
    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption CLASS_ALREADY_INITIALIZED -> b
    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption IGNORE_RECEIVER_FIELD_ASSIGNMENTS -> c
    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption INVOKED_METHOD_DOES_NOT_HAVE_SIDE_EFFECTS -> d
    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption RECEIVER_NOT_NULL -> e
    1:30:void <clinit>():1554:1583 -> <clinit>
    1:1:void <init>():1552:1552 -> <init>
    boolean canAssumeClassIsAlreadyInitialized() -> a
    boolean canAssumeInvokedMethodDoesNotHaveSideEffects() -> b
    boolean canAssumeReceiverIsNotNull() -> c
    1:1:com.android.tools.r8.ir.code.Instruction$SideEffectAssumption join(com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):1609:1609 -> d
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$1 -> com.android.tools.r8.internal.oq:
    1:1:void <init>():1557:1557 -> <init>
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$2 -> com.android.tools.r8.internal.pq:
    1:1:void <init>():1566:1566 -> <init>
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$3 -> com.android.tools.r8.internal.qq:
    1:1:void <init>():1575:1575 -> <init>
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$4 -> com.android.tools.r8.internal.rq:
    1:1:void <init>():1584:1584 -> <init>
com.android.tools.r8.ir.code.Instruction$SideEffectAssumption$5 -> com.android.tools.r8.internal.sq:
    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption val$other -> f
    com.android.tools.r8.ir.code.Instruction$SideEffectAssumption this$0 -> g
    1:1610:void <init>(com.android.tools.r8.ir.code.Instruction$SideEffectAssumption,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):0:1609 -> <init>
    1:2:boolean canAssumeClassIsAlreadyInitialized():1613:1614 -> a
    1:2:boolean canAssumeInvokedMethodDoesNotHaveSideEffects():1619:1620 -> b
    1:2:boolean canAssumeReceiverIsNotNull():1625:1626 -> c
com.android.tools.r8.ir.code.InstructionIterator -> com.android.tools.r8.internal.wq:
    1:3:com.android.tools.r8.ir.code.Instruction peekNext():30:32 -> d
    1:3:com.android.tools.r8.ir.code.Instruction peekPrevious():45:47 -> f
    1:1:void remove():15:15 -> remove
com.android.tools.r8.ir.code.InstructionListIterator -> com.android.tools.r8.internal.xq:
    void addThrowingInstructionToPossiblyThrowingBlock(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.utils.InternalOptions) -> a
    com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass) -> a
    com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement) -> a
    com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString) -> a
    com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position) -> a
    boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer) -> a
    void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set) -> a
    boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> a
    void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo) -> a
    void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int) -> a
    void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set) -> a
    void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set) -> a
    void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set) -> a
    void setInsertionPosition(com.android.tools.r8.ir.code.Position) -> a
    com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator) -> a
    com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean) -> a
    com.android.tools.r8.ir.code.BasicBlock splitCopyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions) -> a
    1:1:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    2:2:com.android.tools.r8.ir.code.Value insertConstNullInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):92:92 -> a
    3:3:com.android.tools.r8.ir.code.Value insertConstIntInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,int):96:96 -> a
    4:4:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):117:117 -> a
    5:5:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):116:116 -> a
    6:6:void replaceCurrentInstructionWithConstTrue(com.android.tools.r8.ir.code.IRCode):138:138 -> a
    7:7:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.lang.String):144:144 -> a
    8:8:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.lang.String):143:143 -> a
    9:9:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator):198:198 -> a
    10:12:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode):280:282 -> a
    void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString) -> b
    1:1:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode):202:202 -> b
    2:2:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int):232:232 -> b
    1:1:void replaceCurrentInstructionWithConstFalse(com.android.tools.r8.ir.code.IRCode):130:130 -> c
    void removeOrReplaceByDebugLocalRead() -> e
    void unsetInsertionPosition() -> h
    1:1:void removeInstructionIgnoreOutValue():70:70 -> i
com.android.tools.r8.ir.code.InstructionOrPhi -> com.android.tools.r8.internal.yq:
    boolean isPhi() -> f
    com.android.tools.r8.ir.code.Instruction asInstruction() -> g
    com.android.tools.r8.ir.code.Phi asPhi() -> h
    com.android.tools.r8.ir.code.BasicBlock getBlock() -> j
com.android.tools.r8.ir.code.IntSwitch -> com.android.tools.r8.internal.Ht:
    boolean $assertionsDisabled -> n
    int[] keys -> m
    1:1:void <clinit>():28:28 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.Value,int[],int[],int):33:35 -> <init>
    boolean isIntSwitch() -> J1
    com.android.tools.r8.ir.code.IntSwitch asIntSwitch() -> S
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:230:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):0:229 -> a
    231:231:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode):165:165 -> a
    231:231:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    231:231:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    232:232:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    232:232:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode):165 -> a
    232:232:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    232:232:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    233:233:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170:170 -> a
    233:233:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    233:233:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    234:234:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    234:234:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142 -> a
    234:234:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    234:234:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    234:234:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    235:237:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:144 -> a
    235:237:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    235:237:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    235:237:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    238:238:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175:175 -> a
    238:238:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    238:238:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    239:239:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149:149 -> a
    239:239:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175 -> a
    239:239:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    239:239:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    240:240:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    240:240:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149 -> a
    240:240:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175 -> a
    240:240:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    240:240:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):230 -> a
    241:264:com.android.tools.r8.code.Nop buildPayload(int[],int,com.android.tools.r8.utils.InternalOutputMode):231:254 -> a
    265:265:void forEachCase(com.android.tools.r8.utils.IntObjConsumer):49:49 -> a
    266:266:int com.android.tools.r8.ir.code.IntSwitch.getKey(int):212:212 -> a
    266:266:void forEachCase(com.android.tools.r8.utils.IntObjConsumer):50 -> a
    267:267:void forEachCase(com.android.tools.r8.utils.IntObjConsumer):50:50 -> a
    268:268:long numberOfTargetsIfPacked(int[]):74:74 -> a
    269:269:boolean canBePacked(com.android.tools.r8.utils.InternalOutputMode,long):85:85 -> a
    270:270:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149:149 -> a
    270:270:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):90 -> a
    271:271:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    271:271:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149 -> a
    271:271:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):90 -> a
    272:272:int com.android.tools.r8.ir.code.IntSwitch.baseSparseSize(com.android.tools.r8.utils.InternalOutputMode):120:120 -> a
    272:272:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):90 -> a
    273:273:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    273:273:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):92 -> a
    274:274:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:142 -> a
    274:274:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):93 -> a
    275:275:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    275:275:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142 -> a
    275:275:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):93 -> a
    276:278:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:144 -> a
    276:278:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):93 -> a
    279:279:int com.android.tools.r8.ir.code.IntSwitch.basePackedSize(com.android.tools.r8.utils.InternalOutputMode):109:109 -> a
    279:279:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):94 -> a
    280:280:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode,int[]):99:99 -> a
    281:282:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):203:204 -> a
    283:283:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode):165:165 -> a
    283:283:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    283:283:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    284:284:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    284:284:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode):165 -> a
    284:284:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    284:284:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    285:285:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170:170 -> a
    285:285:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    285:285:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    286:286:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:142 -> a
    286:286:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    286:286:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    286:286:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    287:287:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    287:287:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142 -> a
    287:287:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    287:287:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    287:287:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    288:290:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:144 -> a
    288:290:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    288:290:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    288:290:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    291:291:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175:175 -> a
    291:291:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    291:291:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    292:292:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149:149 -> a
    292:292:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175 -> a
    292:292:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    292:292:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    293:293:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    293:293:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149 -> a
    293:293:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175 -> a
    293:293:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    293:293:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):204 -> a
    294:296:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):205:207 -> a
    297:300:void print(com.android.tools.r8.utils.CfgPrinter):284:287 -> a
    301:301:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):293:293 -> a
    302:305:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):298:301 -> a
    306:306:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode):165:165 -> a
    306:306:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    306:306:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    307:307:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    307:307:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode):165 -> a
    307:307:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    307:307:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    308:308:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170:170 -> a
    308:308:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    308:308:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    309:309:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:142 -> a
    309:309:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    309:309:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    309:309:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    310:310:boolean com.android.tools.r8.ir.code.IntSwitch.canBePacked(com.android.tools.r8.utils.InternalOutputMode,int[]):79:79 -> a
    310:310:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142 -> a
    310:310:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    310:310:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    310:310:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    311:313:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):142:144 -> a
    311:313:long com.android.tools.r8.ir.code.IntSwitch.packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode):170 -> a
    311:313:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    311:313:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    314:314:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175:175 -> a
    314:314:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    314:314:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    315:315:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149:149 -> a
    315:315:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175 -> a
    315:315:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    315:315:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    316:316:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    316:316:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,int[]):149 -> a
    316:316:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode):175 -> a
    316:316:boolean com.android.tools.r8.ir.code.IntSwitch.emitPacked(com.android.tools.r8.utils.InternalOutputMode):179 -> a
    316:316:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):301 -> a
    317:334:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):302:319 -> a
    boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction) -> b
    1:2:long packedPayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):130:131 -> b
    1:1:int getKey(int):212:212 -> f
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:7:boolean valid():61:67 -> s2
    1:1:int getFirstKey():183:183 -> t2
    1:4:java.lang.String toString():270:273 -> toString
    5:5:int com.android.tools.r8.ir.code.IntSwitch.getKey(int):212:212 -> toString
    5:5:java.lang.String toString():274 -> toString
    6:11:java.lang.String toString():274:279 -> toString
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getKeyToTargetMap():220:221 -> u2
    3:3:int com.android.tools.r8.ir.code.IntSwitch.getKey(int):212:212 -> u2
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getKeyToTargetMap():222 -> u2
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getKeyToTargetMap():222:222 -> u2
    1:1:int[] getKeys():216:216 -> v2
com.android.tools.r8.ir.code.Invoke -> com.android.tools.r8.internal.xu:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,java.util.List):224:224 -> <init>
    boolean isInvoke() -> K1
    1:1:java.lang.String getInstructionName():0:0 -> P0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":460,"2":461,"3":462}}
    460:460:java.lang.String getInstructionName():458:458 -> P0
    461:461:java.lang.String getInstructionName():458:458 -> P0
    462:462:java.lang.String getInstructionName():458:458 -> P0
    459:459:java.lang.String getInstructionName():458:458 -> P0
    com.android.tools.r8.ir.code.Invoke asInvoke() -> T
    1:21:com.android.tools.r8.ir.code.Invoke create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List,boolean):235:255 -> a
    22:22:com.android.tools.r8.ir.code.Invoke create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List,boolean):251:251 -> a
    23:23:com.android.tools.r8.ir.code.Invoke create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List,boolean):249:249 -> a
    24:24:com.android.tools.r8.ir.code.Invoke create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List,boolean):247:247 -> a
    25:25:com.android.tools.r8.ir.code.Invoke create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List,boolean):245:245 -> a
    26:26:com.android.tools.r8.ir.code.Invoke create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List,boolean):243:243 -> a
    27:39:com.android.tools.r8.ir.code.Invoke create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List,boolean):241:253 -> a
    40:40:com.android.tools.r8.ir.code.Invoke create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List,boolean):239:239 -> a
    41:41:com.android.tools.r8.ir.code.Invoke create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List,boolean):237:237 -> a
    42:42:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):314:314 -> a
    43:43:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    43:43:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):316 -> a
    44:53:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):316:325 -> a
    54:54:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> a
    54:54:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):326 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    55:55:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> a
    55:55:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):326 -> a
    56:58:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):327:329 -> a
    59:59:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> a
    59:59:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):329 -> a
    60:60:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):329:329 -> a
    61:61:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> a
    61:61:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):330 -> a
    62:63:int fillArgumentRegisters(com.android.tools.r8.ir.conversion.DexBuilder,int[]):331:332 -> a
    64:77:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):351:364 -> a
    78:78:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):362:362 -> a
    79:79:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":446,"2":447,"3":448}}
    446:446:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):362:362 -> a
    447:447:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):362:362 -> a
    448:448:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):362:362 -> a
    441:445:void addInvokeAndMoveResult(com.android.tools.r8.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):362:366 -> a
    449:465:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):372:388 -> a
    466:472:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):386:392 -> a
    473:477:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView) -> a
    478:478:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):475:475 -> a
    479:479:boolean outTypeKnownToBeBoolean(java.util.Set):482:482 -> a
    1:1:int argumentRegisterValue(int,com.android.tools.r8.ir.conversion.DexBuilder):301:301 -> b
    2:2:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> b
    2:2:int argumentRegisterValue(int,com.android.tools.r8.ir.conversion.DexBuilder):302 -> b
    3:3:int argumentRegisterValue(int,com.android.tools.r8.ir.conversion.DexBuilder):302:302 -> b
    4:4:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> b
    4:4:int argumentRegisterValue(int,com.android.tools.r8.ir.conversion.DexBuilder):308 -> b
    5:5:int argumentRegisterValue(int,com.android.tools.r8.ir.conversion.DexBuilder):308:308 -> b
    1:1:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    1:1:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):339 -> c
    2:3:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):339:340 -> c
    4:4:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> c
    4:4:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):340 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> c
    5:5:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):340 -> c
    6:6:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    6:6:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):341 -> c
    7:7:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):341:341 -> c
    8:8:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    8:8:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):342 -> c
    9:10:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):342:343 -> c
    11:11:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> c
    11:11:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):344 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> c
    12:12:boolean argumentsConsecutive(com.android.tools.r8.ir.conversion.DexBuilder):344 -> c
    13:13:com.android.tools.r8.ir.code.Value getArgument(int):275:275 -> c
    14:14:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    14:14:com.android.tools.r8.ir.code.Value getArgument(int):275 -> c
    15:15:com.android.tools.r8.ir.code.Value getArgument(int):275:275 -> c
    16:16:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> c
    16:16:com.android.tools.r8.ir.code.Value getArgument(int):276 -> c
    17:17:com.android.tools.r8.ir.code.Value getArgument(int):276:276 -> c
    1:1:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):429:429 -> d
    2:2:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> d
    2:2:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    3:3:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436:436 -> d
    4:4:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> d
    4:4:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():411 -> d
    4:4:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    5:5:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():411:411 -> d
    5:5:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    6:6:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> d
    6:6:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():414 -> d
    6:6:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    7:8:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():414:415 -> d
    7:8:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    9:9:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> d
    9:9:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():418 -> d
    9:9:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    10:10:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():418:418 -> d
    10:10:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    11:11:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> d
    11:11:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():419 -> d
    11:11:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    12:13:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():419:420 -> d
    12:13:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):436 -> d
    14:14:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):443:443 -> d
    15:15:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> d
    15:15:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):444 -> d
    16:17:boolean needsRangedInvoke(com.android.tools.r8.ir.conversion.DexBuilder):444:445 -> d
    boolean instructionTypeCanThrow() -> f1
    1:1:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> j2
    1:1:int maxInValueRegister():402 -> j2
    2:3:int maxInValueRegister():402:403 -> j2
    4:4:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> j2
    4:4:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():411 -> j2
    4:4:int maxInValueRegister():404 -> j2
    5:5:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():411:411 -> j2
    5:5:int maxInValueRegister():404 -> j2
    6:6:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> j2
    6:6:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():414 -> j2
    6:6:int maxInValueRegister():404 -> j2
    7:8:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():414:415 -> j2
    7:8:int maxInValueRegister():404 -> j2
    9:9:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> j2
    9:9:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():418 -> j2
    9:9:int maxInValueRegister():404 -> j2
    10:10:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():418:418 -> j2
    10:10:int maxInValueRegister():404 -> j2
    11:11:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> j2
    11:11:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():419 -> j2
    11:11:int maxInValueRegister():404 -> j2
    12:13:boolean com.android.tools.r8.ir.code.Invoke.argumentsAreConsecutiveInputArguments():419:420 -> j2
    12:13:int maxInValueRegister():404 -> j2
    int maxOutValueRegister() -> k2
    1:1:java.util.List arguments():271:271 -> o2
    1:1:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> p2
    1:1:com.android.tools.r8.ir.code.Value getLastArgument():289 -> p2
    2:2:com.android.tools.r8.ir.code.Value getLastArgument():289:289 -> p2
    com.android.tools.r8.graph.DexType getReturnType() -> q2
    com.android.tools.r8.ir.code.Invoke$Type getType() -> r2
    java.lang.String getTypeString() -> s2
    1:1:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> t2
    1:1:boolean hasArguments():263 -> t2
    2:2:boolean hasArguments():263:263 -> t2
    1:1:int requiredArgumentRegisters():294:294 -> u2
    2:2:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> u2
    2:2:int requiredArgumentRegisters():295 -> u2
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.ir.code.Value.requiredRegisters():263:263 -> u2
    3:3:int requiredArgumentRegisters():295 -> u2
com.android.tools.r8.ir.code.Invoke$Type -> com.android.tools.r8.internal.wu:
    com.android.tools.r8.ir.code.Invoke$Type STATIC -> f
    boolean $assertionsDisabled -> m
    com.android.tools.r8.ir.code.Invoke$Type SUPER -> g
    com.android.tools.r8.ir.code.Invoke$Type VIRTUAL -> h
    com.android.tools.r8.ir.code.Invoke$Type NEW_ARRAY -> i
    com.android.tools.r8.ir.code.Invoke$Type DIRECT -> d
    com.android.tools.r8.ir.code.Invoke$Type INTERFACE -> e
    int dexOpcode -> b
    com.android.tools.r8.ir.code.Invoke$Type MULTI_NEW_ARRAY -> j
    int dexOpcodeRange -> c
    com.android.tools.r8.ir.code.Invoke$Type POLYMORPHIC -> k
    com.android.tools.r8.ir.code.Invoke$Type[] $VALUES -> l
    1:11:void <clinit>():41:41 -> <clinit>
    1:3:void <init>(java.lang.String,int,int,int):55:57 -> <init>
    1:13:com.android.tools.r8.ir.code.Invoke$Type fromInvokeSpecial(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):97:109 -> a
    14:14:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    14:14:com.android.tools.r8.ir.code.Invoke$Type fromInvokeSpecial(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):109 -> a
    15:48:com.android.tools.r8.ir.code.Invoke$Type fromInvokeSpecial(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):110:143 -> a
    49:50:int getDexOpcode():171:172 -> a
    1:2:int getDexOpcodeRange():176:177 -> b
    1:1:boolean isVirtual():197:197 -> c
com.android.tools.r8.ir.code.InvokeCustom -> com.android.tools.r8.internal.yu:
    com.android.tools.r8.graph.DexCallSite callSite -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():26:26 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.ir.code.Value,java.util.List):31:33 -> <init>
    com.android.tools.r8.ir.code.InvokeCustom asInvokeCustom() -> U
    boolean hasInvariantOutType() -> X0
    1:28:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):65:92 -> a
    29:39:boolean com.android.tools.r8.ir.code.InvokeCustom.verifyLambdaInterfaces(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.InterfaceCollection,com.android.tools.r8.graph.DexType):48:58 -> a
    29:39:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):94 -> a
    40:40:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):97:97 -> a
    41:41:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):96:96 -> a
    42:42:void lambda$evaluate$0(com.android.tools.r8.ir.analysis.type.InterfaceCollection$Builder,com.android.tools.r8.graph.DexType):91:91 -> a
    43:43:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.ir.code.InvokeCustom.getCallSite():106:106 -> a
    43:43:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):197 -> a
    44:44:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):197:197 -> a
    45:50:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):127:132 -> a
    51:51:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.ir.code.InvokeCustom.getCallSite():106:106 -> a
    51:51:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):132 -> a
    52:56:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):132:136 -> a
    57:57:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.ir.code.InvokeCustom.getCallSite():106:106 -> a
    57:57:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):138 -> a
    58:65:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):138:145 -> a
    66:66:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):150:150 -> a
    67:67:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.ir.code.InvokeCustom.getCallSite():106:106 -> a
    67:67:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):150 -> a
    68:68:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):150:150 -> a
    69:69:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvokeCustom():168:168 -> a
    69:69:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):171 -> a
    70:70:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):178:178 -> a
    71:71:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.ir.code.InvokeCustom.getCallSite():106:106 -> a
    71:71:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):179 -> a
    72:75:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):179:182 -> a
    76:76:com.android.tools.r8.graph.DexCallSite com.android.tools.r8.ir.code.InvokeCustom.getCallSite():106:106 -> a
    76:76:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):183 -> a
    77:80:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):183:186 -> a
    81:81:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeCustom):184:184 -> a
    81:81:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):43 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):155:155 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):155 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):155:155 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    int opcode() -> l2
    1:1:com.android.tools.r8.graph.DexType getReturnType():102:102 -> q2
    1:1:java.lang.String getTypeString():116:116 -> s2
    1:1:java.lang.String toString():121:121 -> toString
    1:1:com.android.tools.r8.graph.DexCallSite getCallSite():106:106 -> v2
com.android.tools.r8.ir.code.InvokeDirect -> com.android.tools.r8.internal.Bu:
    boolean isInterface -> m
    boolean $assertionsDisabled -> n
    int $r8$clinit -> o
    1:1:void <clinit>():32:32 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):41:44 -> <init>
    boolean isInvokeDirect() -> L1
    com.android.tools.r8.ir.code.InvokeDirect asInvokeDirect() -> V
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):80:98 -> a
    20:20:boolean isInvokeConstructor(com.android.tools.r8.graph.DexItemFactory):120:120 -> a
    21:27:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):136:142 -> a
    28:28:boolean com.android.tools.r8.ir.code.InvokeMethod.verifyD8LookupResult(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):262:262 -> a
    28:28:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):141 -> a
    29:31:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):146:148 -> a
    32:32:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):154:154 -> a
    33:35:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):159:159 -> a
    36:36:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):171:171 -> a
    37:50:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):177:190 -> a
    51:51:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeDirect):189:189 -> a
    51:51:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):64 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):115:115 -> b
    1:5:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):195:199 -> f
    6:6:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> f
    6:6:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):203 -> f
    7:14:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):205:212 -> f
    int opcode() -> l2
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():69:69 -> r2
    1:1:java.lang.String getTypeString():74:74 -> s2
    1:1:boolean getInterfaceBit():59:59 -> v2
com.android.tools.r8.ir.code.InvokeDirect$Builder -> com.android.tools.r8.internal.Au:
    1:1:void <init>():215:215 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setArguments(java.util.List):287:289 -> a
    1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder setArguments(java.util.List):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:5:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexMethod):302:303 -> a
    4:5:com.android.tools.r8.ir.code.InvokeMethod$Builder setMethod(com.android.tools.r8.graph.DexMethod):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.ir.code.InvokeDirect build():219:219 -> b
    2:2:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):37:37 -> b
    2:2:com.android.tools.r8.ir.code.InvokeDirect build():219 -> b
    3:3:com.android.tools.r8.ir.code.InvokeDirect build():219:219 -> b
com.android.tools.r8.ir.code.InvokeInterface -> com.android.tools.r8.internal.Eu:
    boolean $assertionsDisabled -> m
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):30:30 -> <init>
    com.android.tools.r8.ir.code.InvokeInterface asInvokeInterface() -> W
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):61:79 -> a
    20:29:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):100:109 -> a
    30:37:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):107:114 -> a
    38:38:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):120:120 -> a
    39:41:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):125:125 -> a
    42:42:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):136:136 -> a
    43:43:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeInterface):194:194 -> a
    43:43:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):45 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):84:84 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):84 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):84:84 -> b
    int opcode() -> l2
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():50:50 -> r2
    1:1:java.lang.String getTypeString():55:55 -> s2
    boolean getInterfaceBit() -> v2
com.android.tools.r8.ir.code.InvokeMethod -> com.android.tools.r8.internal.Gu:
    com.android.tools.r8.graph.DexMethod method -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():42:42 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):47:48 -> <init>
    boolean isInvokeMethod() -> M1
    com.android.tools.r8.ir.code.InvokeMethod asInvokeMethod() -> X
    boolean hasInvariantOutType() -> X0
    com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
    void lambda$lookupProgramDispatchTargets$1(com.android.tools.r8.graph.LookupLambdaTarget) -> a
    1:18:com.android.tools.r8.ir.code.InvokeMethod create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):53:70 -> a
    19:20:com.android.tools.r8.ir.code.InvokeMethod create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):63:64 -> a
    21:21:com.android.tools.r8.ir.code.InvokeMethod create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):61:61 -> a
    22:22:com.android.tools.r8.ir.code.InvokeMethod create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):59:59 -> a
    23:23:com.android.tools.r8.ir.code.InvokeMethod create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):57:57 -> a
    24:24:com.android.tools.r8.ir.code.InvokeMethod create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):55:55 -> a
    25:25:void lambda$lookupProgramDispatchTargets$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):172:172 -> a
    26:26:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    26:26:void lambda$lookupProgramDispatchTargets$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):172 -> a
    27:27:void lambda$lookupProgramDispatchTargets$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):173:173 -> a
    28:33:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):191:196 -> a
    34:34:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    34:34:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):201 -> a
    35:35:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):201:201 -> a
    36:36:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    36:36:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):202 -> a
    37:38:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):202:203 -> a
    39:39:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    39:39:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):203 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:40:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):203:203 -> a
    41:49:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):214:222 -> a
    50:50:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):233:233 -> a
    51:56:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):249:254 -> a
    57:63:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):268:274 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95:95 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):243:243 -> f
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):125:125 -> g
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> g
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMethodWithDynamicDispatch():1272 -> g
    2:2:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):128 -> g
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMethodWithDynamicDispatch():1272:1272 -> g
    3:3:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):128 -> g
    4:4:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> g
    4:4:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):129 -> g
    5:6:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.utils.collections.ProgramMethodSet.create(com.android.tools.r8.graph.ProgramMethod):44:45 -> g
    5:6:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):130 -> g
    7:7:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):135:135 -> g
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.type.TypeAnalysis.getRefinedReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):168:168 -> g
    8:8:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):135 -> g
    9:9:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> g
    9:9:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.type.TypeAnalysis.getRefinedReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):168 -> g
    9:9:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):135 -> g
    10:10:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.type.TypeAnalysis.getRefinedReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):168:168 -> g
    10:10:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):135 -> g
    11:11:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.type.TypeAnalysis.getRefinedReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):167:167 -> g
    11:11:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):135 -> g
    12:12:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):134:134 -> g
    13:18:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):133:138 -> g
    19:19:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.code.Value.getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1154:1154 -> g
    19:19:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):138 -> g
    20:37:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):141:158 -> g
    38:46:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):156:164 -> g
    47:54:com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):163:170 -> g
    com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> h
    1:1:com.android.tools.r8.graph.DexType getReturnType():86:86 -> q2
    1:1:java.lang.String toString():100:100 -> toString
    boolean getInterfaceBit() -> v2
    1:1:com.android.tools.r8.graph.DexMethod getInvokedMethod():90:90 -> w2
com.android.tools.r8.ir.code.InvokeMethod$Builder -> com.android.tools.r8.internal.Fu:
    java.util.List arguments -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexMethod method -> c
    1:1:void <clinit>():280:280 -> <clinit>
    1:5:void <init>():280:284 -> <init>
com.android.tools.r8.ir.code.InvokeMethodWithReceiver -> com.android.tools.r8.internal.Hu:
    boolean $assertionsDisabled -> l
    1:1:void <clinit>():31:31 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):34:34 -> <init>
    boolean isInvokeMethodWithReceiver() -> N1
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():97:97 -> Q0
    com.android.tools.r8.ir.code.InvokeMethodWithReceiver asInvokeMethodWithReceiver() -> Y
    com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType) -> a
    1:1:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):63:63 -> a
    2:2:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):87:87 -> a
    3:10:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):102:109 -> a
    11:11:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.code.Value.getDynamicLowerBoundType(com.android.tools.r8.graph.AppView):1154:1154 -> a
    11:11:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):111 -> a
    12:12:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.type.TypeAnalysis.getRefinedReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):168:168 -> a
    12:12:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):114 -> a
    13:13:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.type.TypeAnalysis.getRefinedReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):168 -> a
    13:13:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):114 -> a
    14:14:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.type.TypeAnalysis.getRefinedReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):168:168 -> a
    14:14:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):114 -> a
    15:15:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.analysis.type.TypeAnalysis.getRefinedReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):167:167 -> a
    15:15:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):114 -> a
    16:22:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):116:122 -> a
    23:23:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):121:121 -> a
    24:24:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):115:115 -> a
    25:53:boolean upperBoundAssumedByCallSiteOptimizationAndNoLongerInstantiated(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):135:163 -> a
    54:72:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):169:187 -> a
    73:73:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119:119 -> a
    73:73:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):187 -> a
    74:74:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    74:74:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119 -> a
    74:74:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):187 -> a
    75:75:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119:119 -> a
    75:75:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):187 -> a
    76:110:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):191:225 -> a
    111:111:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
    111:111:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):230 -> a
    112:123:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):232:243 -> a
    124:124:boolean com.android.tools.r8.ir.code.Instruction$SideEffectAssumption.canIgnoreInstanceFieldAssignmentsToReceiver():0:0 -> a
    124:124:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):244 -> a
    125:134:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):245:254 -> a
    1:1:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> h
    1:1:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):70 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> h
    2:2:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):70 -> h
    3:3:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):71:71 -> h
    4:4:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> h
    4:4:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):71 -> h
    5:6:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):72:73 -> h
    boolean throwsOnNullInput() -> n2
    1:1:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> x2
    1:1:java.lang.Iterable getNonReceiverArguments():38 -> x2
    2:2:java.lang.Iterable getNonReceiverArguments():38:38 -> x2
    1:2:com.android.tools.r8.ir.code.Value getReceiver():52:53 -> y2
com.android.tools.r8.ir.code.InvokeMultiNewArray -> com.android.tools.r8.internal.Iu:
    com.android.tools.r8.graph.DexType type -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():25:25 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,java.util.List):30:31 -> <init>
    boolean hasInvariantOutType() -> X0
    com.android.tools.r8.ir.code.InvokeMultiNewArray asInvokeMultiNewArray() -> Z
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):81:81 -> a
    2:2:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):86:86 -> a
    3:3:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):96:96 -> a
    4:5:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):101:102 -> a
    6:6:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):107:107 -> a
    7:7:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    7:7:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):107 -> a
    8:8:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):107:107 -> a
    9:9:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):112:112 -> a
    10:15:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):180:185 -> a
    16:16:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeMultiNewArray):199:199 -> a
    16:16:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75:75 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMultiNewArray():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75:75 -> b
    4:28:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):117:141 -> b
    29:29:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> b
    29:29:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):146 -> b
    30:40:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):147:157 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    int opcode() -> l2
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.InvokeMultiNewArray.getArrayType():60:60 -> q2
    1:1:com.android.tools.r8.graph.DexType getReturnType():65 -> q2
    1:1:java.lang.String getTypeString():70:70 -> s2
    1:1:com.android.tools.r8.graph.DexType getArrayType():60:60 -> v2
    1:1:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> w2
    1:1:boolean instructionInstanceCanThrowNegativeArraySizeException():162 -> w2
    2:8:boolean instructionInstanceCanThrowNegativeArraySizeException():162:168 -> w2
com.android.tools.r8.ir.code.InvokeNewArray -> com.android.tools.r8.internal.Ju:
    com.android.tools.r8.graph.DexType type -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():28:28 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value,java.util.List):33:34 -> <init>
    boolean hasInvariantOutType() -> X0
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):74:92 -> a
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):113:113 -> a
    21:21:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):118:118 -> a
    22:22:com.android.tools.r8.errors.Unreachable com.android.tools.r8.ir.code.InvokeNewArray.cfUnsupported():142:142 -> a
    22:22:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):138 -> a
    23:23:com.android.tools.r8.errors.Unreachable com.android.tools.r8.ir.code.InvokeNewArray.cfUnsupported():142:142 -> a
    23:23:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):128 -> a
    24:24:com.android.tools.r8.errors.Unreachable com.android.tools.r8.ir.code.InvokeNewArray.cfUnsupported():142:142 -> a
    24:24:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):133 -> a
    25:25:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeNewArray):204:204 -> a
    25:25:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    26:31:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):207:212 -> a
    32:32:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    32:32:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):148 -> a
    33:35:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):149:151 -> a
    36:39:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):150:153 -> a
    com.android.tools.r8.ir.code.InvokeNewArray asInvokeNewArray() -> a0
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):97:97 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):97 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):97:97 -> b
    4:28:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):158:182 -> b
    29:29:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> b
    29:29:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):187 -> b
    30:36:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):188:194 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    int opcode() -> l2
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.InvokeNewArray.getArrayType():53:53 -> q2
    1:1:com.android.tools.r8.graph.DexType getReturnType():49 -> q2
    1:1:java.lang.String getTypeString():63:63 -> s2
    1:1:java.lang.String toString():68:68 -> toString
    1:1:com.android.tools.r8.graph.DexType getArrayType():53:53 -> v2
com.android.tools.r8.ir.code.InvokePolymorphic -> com.android.tools.r8.internal.Ku:
    boolean $assertionsDisabled -> m
    com.android.tools.r8.graph.DexProto proto -> l
    1:1:void <clinit>():29:29 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List):34:35 -> <init>
    1:7:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):75:81 -> a
    8:8:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.code.InvokePolymorphic.getProto():69:69 -> a
    8:8:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):81 -> a
    9:15:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):81:87 -> a
    16:16:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.code.InvokePolymorphic.getProto():69:69 -> a
    16:16:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):88 -> a
    17:24:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):88:95 -> a
    25:31:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):100:106 -> a
    32:32:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.code.InvokePolymorphic.getProto():69:69 -> a
    32:32:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):106 -> a
    33:34:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):106:107 -> a
    35:35:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):143:143 -> a
    36:36:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forInvokePolymorphic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):200:200 -> a
    36:36:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):143 -> a
    37:37:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):155:155 -> a
    38:38:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":196,"2":197,"3":198}}
    196:196:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):155:155 -> a
    197:197:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):155:155 -> a
    198:198:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):155:155 -> a
    195:195:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):157:157 -> a
    199:199:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokePolymorphic):209:209 -> a
    199:199:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):50 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):112:112 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):112 -> b
    3:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):112:114 -> b
    com.android.tools.r8.ir.code.InvokePolymorphic asInvokePolymorphic() -> b0
    com.android.tools.r8.utils.collections.ProgramMethodSet lookupProgramDispatchTargets(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> g
    com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> h
    int opcode() -> l2
    1:1:com.android.tools.r8.graph.DexType getReturnType():55:55 -> q2
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():60:60 -> r2
    1:1:java.lang.String getTypeString():65:65 -> s2
    boolean getInterfaceBit() -> v2
    1:1:com.android.tools.r8.graph.DexProto getProto():69:69 -> x2
com.android.tools.r8.ir.code.InvokeStatic -> com.android.tools.r8.internal.Pu:
    boolean $assertionsDisabled -> m
    int $r8$clinit -> n
    boolean isInterface -> l
    1:1:void <clinit>():32:32 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):37:38 -> <init>
    3:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):42:43 -> <init>
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):78:96 -> a
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):141:141 -> a
    21:21:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):151:151 -> a
    22:24:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):157:157 -> a
    25:25:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):169:169 -> a
    26:37:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):176:187 -> a
    38:38:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119:119 -> a
    38:38:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):187 -> a
    39:39:java.util.List com.android.tools.r8.ir.code.Invoke.arguments():271:271 -> a
    39:39:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119 -> a
    39:39:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):187 -> a
    40:40:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119:119 -> a
    40:40:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):187 -> a
    41:69:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):192:220 -> a
    70:70:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):767:767 -> a
    70:70:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):220 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):763:763 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):767 -> a
    71:71:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):220 -> a
    72:82:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):224:234 -> a
    83:83:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeStatic):214:214 -> a
    83:83:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):62 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):101:101 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):101 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):101:101 -> b
    com.android.tools.r8.ir.code.InvokeStatic asInvokeStatic() -> c0
    1:7:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):116:122 -> h
    8:8:boolean com.android.tools.r8.ir.code.InvokeMethod.verifyD8LookupResult(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):262:262 -> h
    8:8:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):121 -> h
    9:9:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):125:125 -> h
    10:10:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> h
    10:10:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):125 -> h
    11:11:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> h
    11:11:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):127 -> h
    12:20:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):127:135 -> h
    int opcode() -> l2
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():67:67 -> r2
    1:1:java.lang.String getTypeString():72:72 -> s2
    1:1:boolean getInterfaceBit():52:52 -> v2
com.android.tools.r8.ir.code.InvokeStatic$Builder -> com.android.tools.r8.internal.Ou:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():237:237 -> <clinit>
    1:1:void <init>():237:237 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setArguments(java.util.List):287:289 -> a
    1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder setArguments(java.util.List):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:5:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setFreshOutValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueFactory):293:294 -> a
    4:5:com.android.tools.r8.ir.code.InvokeMethod$Builder setFreshOutValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueFactory):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    6:6:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1658:1658 -> a
    6:6:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement):1654 -> a
    6:6:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setFreshOutValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueFactory):293 -> a
    6:6:com.android.tools.r8.ir.code.InvokeMethod$Builder setFreshOutValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueFactory):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    7:7:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setOutValue(com.android.tools.r8.ir.code.Value):1649:1649 -> a
    7:7:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):1658 -> a
    7:7:com.android.tools.r8.ir.code.Instruction$BuilderBase com.android.tools.r8.ir.code.Instruction$BuilderBase.setFreshOutValue(com.android.tools.r8.ir.code.ValueFactory,com.android.tools.r8.ir.analysis.type.TypeElement):1654 -> a
    7:7:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setFreshOutValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueFactory):293 -> a
    7:7:com.android.tools.r8.ir.code.InvokeMethod$Builder setFreshOutValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.ValueFactory):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8:9:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexMethod):302:303 -> a
    8:9:com.android.tools.r8.ir.code.InvokeMethod$Builder setMethod(com.android.tools.r8.graph.DexMethod):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:5:com.android.tools.r8.ir.code.InvokeStatic build():241:245 -> b
com.android.tools.r8.ir.code.InvokeSuper -> com.android.tools.r8.internal.Qu:
    boolean isInterface -> m
    boolean $assertionsDisabled -> n
    1:1:void <clinit>():25:25 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List,boolean):30:31 -> <init>
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):62:80 -> a
    20:22:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):85:85 -> a
    23:27:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):108:112 -> a
    28:28:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> a
    28:28:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):112 -> a
    29:29:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):121:121 -> a
    30:30:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):131:131 -> a
    31:31:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeSuper):219:219 -> a
    31:31:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):46 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):92:92 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):92 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):92:92 -> b
    com.android.tools.r8.ir.code.InvokeSuper asInvokeSuper() -> d0
    int opcode() -> l2
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():51:51 -> r2
    1:1:java.lang.String getTypeString():56:56 -> s2
    1:1:boolean getInterfaceBit():36:36 -> v2
com.android.tools.r8.ir.code.InvokeVirtual -> com.android.tools.r8.internal.Tu:
    boolean $assertionsDisabled -> m
    int $r8$clinit -> n
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):31:31 -> <init>
    boolean isInvokeVirtual() -> O1
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):66:84 -> a
    20:20:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):105:105 -> a
    21:33:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexMethod):114:126 -> a
    34:34:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    34:34:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexMethod):128 -> a
    35:36:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexMethod):128:129 -> a
    37:37:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    37:37:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexMethod):131 -> a
    38:44:com.android.tools.r8.graph.DexClassAndMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexMethod):131:137 -> a
    45:45:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):143:143 -> a
    46:48:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):148:148 -> a
    49:49:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):159:159 -> a
    50:50:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.InvokeVirtual):224:224 -> a
    50:50:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):50 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):89:89 -> b
    com.android.tools.r8.ir.code.InvokeVirtual asInvokeVirtual() -> e0
    int opcode() -> l2
    1:1:com.android.tools.r8.ir.code.Invoke$Type getType():55:55 -> r2
    1:1:java.lang.String getTypeString():60:60 -> s2
    boolean getInterfaceBit() -> v2
com.android.tools.r8.ir.code.InvokeVirtual$Builder -> com.android.tools.r8.internal.Su:
    1:1:void <init>():163:163 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setArguments(java.util.List):287:289 -> a
    1:3:com.android.tools.r8.ir.code.InvokeMethod$Builder setArguments(java.util.List):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:5:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexMethod):302:303 -> a
    4:5:com.android.tools.r8.ir.code.InvokeMethod$Builder setMethod(com.android.tools.r8.graph.DexMethod):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.ir.code.InvokeVirtual build():167:167 -> b
com.android.tools.r8.ir.code.JumpInstruction -> com.android.tools.r8.internal.aw:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():16:16 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Value):20:20 -> <init>
    3:3:void <init>(java.util.List):24:24 -> <init>
    boolean isJumpInstruction() -> P1
    boolean hasInvariantOutType() -> X0
    1:1:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):37:37 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forJumpInstruction():267:267 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):53 -> a
    1:1:void setFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):32:32 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    com.android.tools.r8.ir.code.JumpInstruction asJumpInstruction() -> f0
    com.android.tools.r8.ir.code.BasicBlock fallthroughBlock() -> o2
com.android.tools.r8.ir.code.LazyDominatorTree -> com.android.tools.r8.internal.XA:
    com.android.tools.r8.ir.code.IRCode code -> b
    1:2:void <init>(com.android.tools.r8.ir.code.IRCode):13:14 -> <init>
    1:1:java.lang.Object get():9:9 -> b
    1:1:com.android.tools.r8.ir.code.DominatorTree get():19:19 -> d
    1:1:com.android.tools.r8.ir.code.DominatorTree lambda$get$0():19:19 -> e
com.android.tools.r8.ir.code.LinearFlowInstructionListIterator -> com.android.tools.r8.internal.VB:
    java.util.Set seenBlocks -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.ir.code.IRCode code -> b
    com.android.tools.r8.ir.code.InstructionListIterator currentBlockIterator -> d
    com.android.tools.r8.ir.code.BasicBlock currentBlock -> c
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):32:32 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,int):35:35 -> <init>
    3:18:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,int):29:44 -> <init>
    1:1:void replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction,java.util.Set):58:58 -> a
    2:2:com.android.tools.r8.ir.code.Value insertConstNumberInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions,long,com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    3:3:com.android.tools.r8.ir.code.Value insertConstStringInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):69:69 -> a
    4:4:com.android.tools.r8.ir.code.InvokeMethod insertNullCheckInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Position):79:79 -> a
    5:5:boolean replaceCurrentInstructionByNullCheckIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):86:86 -> a
    6:6:boolean removeOrReplaceCurrentInstructionByInitClassIfPossible(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,java.util.function.Consumer):95:95 -> a
    7:7:void replaceCurrentInstructionWithConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DebugLocalInfo):102:102 -> a
    8:8:void replaceCurrentInstructionWithConstInt(com.android.tools.r8.ir.code.IRCode,int):107:107 -> a
    9:9:void replaceCurrentInstructionWithStaticGet(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField,java.util.Set):119:119 -> a
    10:10:void replaceCurrentInstructionWithThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):131:131 -> a
    11:11:void replaceCurrentInstructionWithThrowNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.Set):142:142 -> a
    12:12:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,boolean):149:149 -> a
    13:13:com.android.tools.r8.ir.code.BasicBlock split(com.android.tools.r8.ir.code.IRCode,int,java.util.ListIterator):154:154 -> a
    14:14:com.android.tools.r8.ir.code.BasicBlock splitCopyCatchHandlers(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.utils.InternalOptions):160:160 -> a
    15:15:com.android.tools.r8.ir.code.BasicBlock inlineInvoke(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,com.android.tools.r8.graph.DexProgramClass):171:171 -> a
    16:16:void addThrowingInstructionToPossiblyThrowingBlock(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.utils.InternalOptions):186:186 -> a
    17:20:boolean isLinearEdge(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):196:199 -> a
    21:31:com.android.tools.r8.ir.code.BasicBlock getBeginningOfTrivialLinearGotoChain(com.android.tools.r8.ir.code.BasicBlock):232:242 -> a
    1:1:void add(java.lang.Object):23:23 -> add
    2:2:void com.android.tools.r8.ir.code.LinearFlowInstructionListIterator.add(com.android.tools.r8.ir.code.Instruction):177:177 -> add
    2:2:void add(java.lang.Object):23 -> add
    1:1:boolean hasVisitedBlock(com.android.tools.r8.ir.code.BasicBlock):49:49 -> b
    2:2:void replaceCurrentInstructionWithConstString(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexString):113:113 -> b
    1:1:void removeOrReplaceByDebugLocalRead():192:192 -> e
    1:1:boolean hasNext():204:204 -> hasNext
    1:4:boolean hasPrevious():247:250 -> hasPrevious
    1:1:java.util.Set getSeenBlocks():53:53 -> j
    1:9:com.android.tools.r8.ir.code.Instruction next():209:217 -> k
    10:10:com.android.tools.r8.ir.code.Instruction next():0:0 -> k
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":239,"2":240,"3":241}}
    239:239:com.android.tools.r8.ir.code.Instruction next():218:218 -> k
    240:240:com.android.tools.r8.ir.code.Instruction next():218:218 -> k
    241:241:com.android.tools.r8.ir.code.Instruction next():218:218 -> k
    229:238:com.android.tools.r8.ir.code.Instruction next():219:228 -> k
    1:1:java.lang.Object next():23:23 -> next
    1:1:int nextIndex():273:273 -> nextIndex
    1:1:java.lang.Object previous():23:23 -> previous
    2:15:com.android.tools.r8.ir.code.Instruction previous():255:268 -> previous
    1:1:int previousIndex():278:278 -> previousIndex
    1:1:void remove():283:283 -> remove
    1:1:void set(java.lang.Object):23:23 -> set
    2:2:void com.android.tools.r8.ir.code.LinearFlowInstructionListIterator.set(com.android.tools.r8.ir.code.Instruction):288:288 -> set
    2:2:void set(java.lang.Object):23 -> set
com.android.tools.r8.ir.code.Load -> com.android.tools.r8.internal.qC:
    1:1:void <init>(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value):23:23 -> <init>
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:73 -> a
    2:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):78:79 -> a
    4:4:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):84:84 -> a
    5:5:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):94:94 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forLoad():271:271 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):68 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):52:52 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isLoad():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):52 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    com.android.tools.r8.ir.code.Load asLoad() -> g0
    int maxInValueRegister() -> j2
    1:1:int maxOutValueRegister():62:62 -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.ir.code.Value src():37:37 -> o2
com.android.tools.r8.ir.code.LogicalBinop -> com.android.tools.r8.internal.DC:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):20:20 -> <init>
    boolean isLogicalBinop() -> R1
    com.android.tools.r8.code.Instruction CreateInt(int,int,int) -> a
    1:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):55:73 -> a
    20:20:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":227,"2":228,"3":229}}
    227:227:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:73 -> a
    228:228:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:73 -> a
    229:229:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:73 -> a
    93:93:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:73 -> a
    94:121:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):67:94 -> a
    122:122:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":250,"2":251,"3":252}}
    250:250:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):94:94 -> a
    251:251:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):94:94 -> a
    252:252:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):94:94 -> a
    216:216:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):94:94 -> a
    217:226:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):88:97 -> a
    253:255:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):112:114 -> a
    256:256:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    256:256:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):114 -> a
    257:257:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):114:114 -> a
    258:258:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    258:258:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):114 -> a
    259:267:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):115:123 -> a
    268:268:boolean com.android.tools.r8.ir.code.Instruction.isShl():0:0 -> a
    268:268:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):125 -> a
    269:269:boolean com.android.tools.r8.ir.code.Instruction.isShr():0:0 -> a
    269:269:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):125 -> a
    270:270:boolean com.android.tools.r8.ir.code.Instruction.isUshr():0:0 -> a
    270:270:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):125 -> a
    271:271:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):129:129 -> a
    272:282:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):127:137 -> a
    283:283:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):144:144 -> a
    com.android.tools.r8.code.Instruction CreateInt2Addr(int,int) -> b
    com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int) -> b
    com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int) -> c
    com.android.tools.r8.code.Instruction CreateLong2Addr(int,int) -> c
    com.android.tools.r8.code.Instruction CreateLong(int,int,int) -> d
    1:5:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):44:48 -> d
    com.android.tools.r8.ir.code.LogicalBinop asLogicalBinop() -> h0
    com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode() -> t2
com.android.tools.r8.ir.code.LogicalBinop$1 -> com.android.tools.r8.internal.CC:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():65:65 -> <clinit>
com.android.tools.r8.ir.code.MemberType -> com.android.tools.r8.internal.cE:
    com.android.tools.r8.ir.code.MemberType BOOLEAN_OR_BYTE -> c
    com.android.tools.r8.ir.code.MemberType OBJECT -> b
    com.android.tools.r8.ir.code.MemberType SHORT -> e
    com.android.tools.r8.ir.code.MemberType CHAR -> d
    com.android.tools.r8.ir.code.MemberType[] $VALUES -> l
    com.android.tools.r8.ir.code.MemberType FLOAT -> g
    com.android.tools.r8.ir.code.MemberType INT -> f
    com.android.tools.r8.ir.code.MemberType DOUBLE -> i
    com.android.tools.r8.ir.code.MemberType LONG -> h
    com.android.tools.r8.ir.code.MemberType LONG_OR_DOUBLE -> k
    com.android.tools.r8.ir.code.MemberType INT_OR_FLOAT -> j
    1:10:void <clinit>():12:21 -> <clinit>
    11:11:void <clinit>() -> <clinit>
    1:1:void <init>(java.lang.String,int):11:11 -> <init>
    1:1:boolean isPrecise():24:24 -> a
    2:2:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103:103 -> a
    3:3:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):98:98 -> a
    3:3:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    4:4:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):96:96 -> a
    4:4:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    5:5:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):84:84 -> a
    5:5:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    6:19:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):79:92 -> a
    6:19:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    20:26:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):88:94 -> a
    20:26:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    27:27:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):86:86 -> a
    27:27:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    28:28:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.fromTypeDescriptorChar(char):82:82 -> a
    28:28:com.android.tools.r8.ir.code.MemberType fromDexType(com.android.tools.r8.graph.DexType):103 -> a
    1:1:com.android.tools.r8.ir.code.MemberType[] values():11:11 -> b
com.android.tools.r8.ir.code.Monitor -> com.android.tools.r8.internal.zF:
    boolean $assertionsDisabled -> j
    com.android.tools.r8.ir.code.Monitor$Type type -> i
    1:1:void <clinit>():21:21 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.Monitor$Type,com.android.tools.r8.ir.code.Value):30:31 -> <init>
    1:7:java.lang.String getInstructionName():118:124 -> P0
    8:8:java.lang.String getInstructionName():0:0 -> P0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":137,"2":138,"3":139}}
    137:137:java.lang.String getInstructionName():124:124 -> P0
    138:138:java.lang.String getInstructionName():124:124 -> P0
    139:139:java.lang.String getInstructionName():124:124 -> P0
    132:132:java.lang.String getInstructionName():124:124 -> P0
    133:133:java.lang.String getInstructionName():120:120 -> P0
    1:1:com.android.tools.r8.ir.code.Value getNonNullInput():155:155 -> Q0
    1:1:boolean isMonitorEnter():102:102 -> S1
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:8:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):63:70 -> a
    9:9:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):135:135 -> a
    10:10:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):140:140 -> a
    11:11:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):145:145 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMonitor():275:275 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):113 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):76:76 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):76 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):76:76 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> f1
    1:1:com.android.tools.r8.ir.code.Value object():45:45 -> i
    com.android.tools.r8.ir.code.Monitor asMonitor() -> i0
    int maxInValueRegister() -> j2
    1:1:int maxOutValueRegister():86:86 -> k2
    int opcode() -> l2
    boolean throwsOnNullInput() -> n2
    1:1:boolean isEnter():49:49 -> o2
com.android.tools.r8.ir.code.Monitor$1 -> com.android.tools.r8.internal.xF:
    int[] $SwitchMap$com$android$tools$r8$ir$code$Monitor$Type -> a
    1:1:void <clinit>():118:118 -> <clinit>
com.android.tools.r8.ir.code.Monitor$Type -> com.android.tools.r8.internal.yF:
    com.android.tools.r8.ir.code.Monitor$Type[] $VALUES -> d
    com.android.tools.r8.ir.code.Monitor$Type ENTER -> b
    com.android.tools.r8.ir.code.Monitor$Type EXIT -> c
    1:1:void <clinit>():24:24 -> <clinit>
    2:2:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(java.lang.String,int):23:23 -> <init>
    1:1:com.android.tools.r8.ir.code.Monitor$Type[] values():23:23 -> a
com.android.tools.r8.ir.code.Move -> com.android.tools.r8.internal.AF:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):24:24 -> <init>
    1:2:com.android.tools.r8.ir.code.ConstInstruction getOutConstantConstInstruction():87:88 -> S0
    boolean isMove() -> T1
    boolean hasInvariantOutType() -> X0
    1:1:boolean isOutConstant():82:82 -> Y1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):47:47 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):52:52 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):57:57 -> a
    4:4:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):109:109 -> a
    5:5:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):119:119 -> a
    6:6:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):129:129 -> a
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalWrite():0:0 -> a
    7:7:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):131 -> a
    8:8:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):132:132 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMove():279:279 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):104 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):72:72 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    com.android.tools.r8.ir.code.Move asMove() -> j0
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.ir.code.Value dest():38:38 -> o2
    1:1:com.android.tools.r8.ir.code.Value src():42:42 -> p2
    1:1:java.lang.String toString():77:77 -> toString
com.android.tools.r8.ir.code.MoveException -> com.android.tools.r8.internal.CF:
    com.android.tools.r8.graph.DexType exceptionType -> i
    boolean $assertionsDisabled -> k
    com.android.tools.r8.utils.InternalOptions options -> j
    1:1:void <clinit>():21:21 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.InternalOptions):26:28 -> <init>
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void buildCf(com.android.tools.r8.ir.conversion.CfBuilder) -> a
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.MoveException.dest():42:42 -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):47 -> a
    2:3:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):47:48 -> a
    4:6:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):85:87 -> a
    7:7:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    7:7:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):88 -> a
    8:8:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):91:91 -> a
    9:9:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):89:89 -> a
    10:10:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):102:102 -> a
    11:11:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):117:117 -> a
    12:12:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):122:122 -> a
    13:13:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forMoveException():283:283 -> a
    13:13:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):97 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):64:64 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):64 -> b
    3:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):67:68 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:int maxInValueRegister():53:53 -> j2
    com.android.tools.r8.ir.code.MoveException asMoveException() -> k0
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.graph.DexType getExceptionType():126:126 -> o2
com.android.tools.r8.ir.code.Mul -> com.android.tools.r8.internal.EF:
    1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):22:22 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    double foldDouble(double,double) -> a
    float foldFloat(float,float) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateDouble(int,int,int):69:69 -> a
    1:1:com.android.tools.r8.code.Instruction CreateFloat(int,int,int):61:61 -> b
    2:2:com.android.tools.r8.code.Instruction CreateDouble2Addr(int,int):89:89 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104:104 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isMul():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104:104 -> b
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):45:45 -> c
    2:2:com.android.tools.r8.code.Instruction CreateFloat2Addr(int,int):84:84 -> c
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):74:74 -> d
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):99:99 -> d
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):79:79 -> e
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):94:94 -> e
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):53:53 -> f
    com.android.tools.r8.ir.code.Mul asMul() -> l0
    int opcode() -> l2
    boolean isCommutative() -> p2
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():139:139 -> t2
com.android.tools.r8.ir.code.Neg -> com.android.tools.r8.internal.vG:
    com.android.tools.r8.ir.code.NumericType type -> i
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():21:21 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):26:27 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Unop.dest():21:21 -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):55 -> a
    2:18:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):55:71 -> a
    19:19:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":109,"2":110,"3":111}}
    109:109:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71:71 -> a
    110:110:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71:71 -> a
    111:111:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71:71 -> a
    90:90:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):71:71 -> a
    91:91:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):68:68 -> a
    92:92:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):65:65 -> a
    93:93:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):62:62 -> a
    94:108:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):59:73 -> a
    112:113:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):88:89 -> a
    114:114:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    114:114:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):89 -> a
    115:131:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):90:106 -> a
    132:132:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):111:111 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):49:49 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isNeg():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):49 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):49:49 -> b
    int opcode() -> l2
    com.android.tools.r8.ir.code.Neg asNeg() -> m0
com.android.tools.r8.ir.code.Neg$1 -> com.android.tools.r8.internal.uG:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():57:57 -> <clinit>
com.android.tools.r8.ir.code.NewArrayEmpty -> com.android.tools.r8.internal.FG:
    com.android.tools.r8.graph.DexType type -> i
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():26:26 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):31:32 -> <init>
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60:60 -> a
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.NewArrayEmpty.dest():51:51 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):61 -> a
    3:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):61:62 -> a
    5:13:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):104:112 -> a
    14:14:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):110:110 -> a
    15:15:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):133:133 -> a
    16:16:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):143:143 -> a
    17:18:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):148:149 -> a
    19:20:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):154:155 -> a
    21:21:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):160:160 -> a
    22:22:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):618:618 -> a
    22:22:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613 -> a
    22:22:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):92 -> a
    23:23:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):92:92 -> a
    24:24:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    24:24:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):92 -> a
    25:29:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):93:97 -> a
    30:35:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):94:99 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):117:117 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):117 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):117:117 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:4:boolean instructionInstanceCanThrow():83:86 -> d1
    boolean instructionTypeCanThrow() -> f1
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    com.android.tools.r8.ir.code.NewArrayEmpty asNewArrayEmpty() -> n0
    1:1:com.android.tools.r8.ir.code.Value size():55:55 -> o2
    1:1:java.lang.String toString():47:47 -> toString
com.android.tools.r8.ir.code.NewArrayFilledData -> com.android.tools.r8.internal.GG:
    long size -> j
    short[] data -> k
    int element_width -> i
    boolean $assertionsDisabled -> l
    1:1:void <clinit>():23:23 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.code.Value,int,long,short[]):33:36 -> <init>
    boolean isNewArrayFilledData() -> V1
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):59:60 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):65:65 -> a
    4:4:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):113:113 -> a
    5:11:boolean com.android.tools.r8.ir.code.NewArrayFilledData.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):141:147 -> a
    5:11:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613 -> a
    5:11:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):129 -> a
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    12:12:boolean com.android.tools.r8.ir.code.NewArrayFilledData.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):147 -> a
    12:12:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613 -> a
    12:12:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):129 -> a
    13:13:boolean com.android.tools.r8.ir.code.NewArrayFilledData.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):147:147 -> a
    13:13:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613 -> a
    13:13:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):129 -> a
    14:17:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):129:132 -> a
    18:18:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):131:131 -> a
    19:23:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):130:134 -> a
    24:30:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):141:147 -> a
    31:31:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    31:31:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):147 -> a
    32:32:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):147:147 -> a
    33:33:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forNewArrayFilledData():295:295 -> a
    33:33:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):108 -> a
    1:7:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):70:76 -> b
    8:8:boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):123:123 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> f1
    int maxInValueRegister() -> j2
    1:1:int maxOutValueRegister():86:86 -> k2
    int opcode() -> l2
    com.android.tools.r8.ir.code.NewArrayFilledData asNewArrayFilledData() -> o0
    1:1:com.android.tools.r8.ir.code.Value src():50:50 -> o2
com.android.tools.r8.ir.code.NewInstance -> com.android.tools.r8.internal.IG:
    int $r8$clinit -> l
    com.android.tools.r8.graph.DexType clazz -> i
    boolean allowSpilling -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):36:36 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):33:38 -> <init>
    boolean isNewInstance() -> W1
    boolean hasInvariantOutType() -> X0
    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):60:60 -> a
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.NewInstance.dest():64:64 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):69 -> a
    3:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):69:70 -> a
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):113:113 -> a
    6:6:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):123:123 -> a
    7:7:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):128:128 -> a
    8:8:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):133:133 -> a
    9:9:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):138:138 -> a
    10:10:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):148:148 -> a
    11:26:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):155:170 -> a
    27:27:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    27:27:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):174 -> a
    28:51:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):174:197 -> a
    52:52:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):165:165 -> a
    53:56:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):229:232 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):80:80 -> b
    1:8:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):216:223 -> d
    boolean instructionTypeCanThrow() -> f1
    1:1:int maxInValueRegister():85:85 -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.ir.code.Value dest():64:64 -> o2
    com.android.tools.r8.ir.code.NewInstance asNewInstance() -> p0
    1:1:com.android.tools.r8.graph.DexType getType():46:46 -> p2
    1:1:boolean isSpillingAllowed():211:211 -> q2
    1:1:void markNoSpilling():207:207 -> r2
    1:1:java.lang.String toString():75:75 -> toString
com.android.tools.r8.ir.code.NewInstance$Builder -> com.android.tools.r8.internal.HG:
    com.android.tools.r8.graph.DexType type -> c
    1:1:void <init>():236:236 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.NewInstance$Builder setType(com.android.tools.r8.graph.DexType):241:241 -> a
    1:1:com.android.tools.r8.ir.code.NewInstance build():247:247 -> b
com.android.tools.r8.ir.code.NewUnboxedEnumInstance -> com.android.tools.r8.internal.JG:
    com.android.tools.r8.graph.DexType clazz -> i
    int ordinal -> j
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():42:42 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexType,int,com.android.tools.r8.ir.code.Value):48:51 -> <init>
    boolean hasInvariantOutType() -> X0
    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):69:69 -> a
    2:3:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):74:75 -> a
    4:4:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):130:130 -> a
    5:5:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):135:135 -> a
    6:6:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):140:140 -> a
    7:7:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):145:145 -> a
    8:11:boolean verifyTypes(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.VerifyTypesHelper):156:159 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forNewUnboxedEnumInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):303:303 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):120 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):85:85 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isNewUnboxedEnumInstance():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):85 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):85:85 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean instructionTypeCanThrow() -> f1
    1:1:int maxInValueRegister():90:90 -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:int getOrdinal():55:55 -> o2
    com.android.tools.r8.ir.code.NewUnboxedEnumInstance asNewUnboxedEnumInstance() -> q0
    1:1:java.lang.String toString():80:80 -> toString
com.android.tools.r8.ir.code.NextUntilIterator -> com.android.tools.r8.internal.KG:
    1:3:java.lang.Object nextUntil(java.util.function.Predicate):19:21 -> a
com.android.tools.r8.ir.code.Not -> com.android.tools.r8.internal.IH:
    com.android.tools.r8.ir.code.NumericType type -> i
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():19:19 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):24:25 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:2:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):45:46 -> a
    3:3:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    3:3:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):46 -> a
    4:16:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):47:59 -> a
    17:17:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):64:64 -> a
    18:18:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Unop.dest():21:21 -> a
    18:18:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):66 -> a
    19:29:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):66:76 -> a
    30:30:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":116,"2":117,"3":118}}
    116:116:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
    117:117:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
    118:118:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
    106:106:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
    107:115:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):70:78 -> a
    119:119:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):99:99 -> a
    120:120:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):105:105 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isNot():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    int opcode() -> l2
    com.android.tools.r8.ir.code.Not asNot() -> r0
com.android.tools.r8.ir.code.Not$1 -> com.android.tools.r8.internal.HH:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():68:68 -> <clinit>
com.android.tools.r8.ir.code.NumberConversion -> com.android.tools.r8.internal.UH:
    com.android.tools.r8.ir.code.NumericType to -> j
    com.android.tools.r8.ir.code.NumericType from -> i
    1:3:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):36:38 -> <init>
    boolean isNumberConversion() -> X1
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Unop.dest():21:21 -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):58 -> a
    2:75:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):58:131 -> a
    76:76:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":798,"2":799,"3":800}}
    798:798:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):131:131 -> a
    799:799:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):131:131 -> a
    800:800:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):131:131 -> a
    207:207:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):131:131 -> a
    208:228:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):62:82 -> a
    229:229:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":801,"2":802,"3":803}}
    801:801:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):82:82 -> a
    802:802:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):82:82 -> a
    803:803:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):82:82 -> a
    311:311:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):82:82 -> a
    312:312:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):79:79 -> a
    313:313:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):76:76 -> a
    314:314:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:73 -> a
    315:315:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):70:70 -> a
    316:316:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):67:67 -> a
    317:380:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):64:127 -> a
    381:381:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":848,"2":849,"3":850}}
    848:848:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):127:127 -> a
    849:849:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):127:127 -> a
    850:850:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):127:127 -> a
    508:508:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):127:127 -> a
    509:509:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):124:124 -> a
    510:510:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):121:121 -> a
    511:522:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:112 -> a
    523:523:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":851,"2":852,"3":853}}
    851:851:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):112:112 -> a
    852:852:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):112:112 -> a
    853:853:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):112:112 -> a
    635:635:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):112:112 -> a
    636:636:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):109:109 -> a
    637:637:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):106:106 -> a
    638:649:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86:97 -> a
    650:650:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":854,"2":855,"3":856}}
    854:854:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):97:97 -> a
    855:855:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):97:97 -> a
    856:856:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):97:97 -> a
    747:747:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):97:97 -> a
    748:754:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):88:94 -> a
    755:797:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):91:133 -> a
    857:857:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):157:157 -> a
    858:858:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):162:162 -> a
    859:859:boolean outTypeKnownToBeBoolean(java.util.Set):167:167 -> a
    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):138:142 -> b
    int opcode() -> l2
    com.android.tools.r8.ir.code.NumberConversion asNumberConversion() -> s0
com.android.tools.r8.ir.code.NumberConversion$1 -> com.android.tools.r8.internal.TH:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():62:62 -> <clinit>
com.android.tools.r8.ir.code.NumberGenerator -> com.android.tools.r8.internal.YH:
    int nextValueNumber -> a
    1:2:void <init>():6:7 -> <init>
    1:1:int next():10:10 -> a
    1:1:int peek():14:14 -> b
com.android.tools.r8.ir.code.NumericType -> com.android.tools.r8.internal.dI:
    com.android.tools.r8.ir.code.NumericType DOUBLE -> h
    com.android.tools.r8.ir.code.NumericType FLOAT -> g
    com.android.tools.r8.ir.code.NumericType LONG -> f
    com.android.tools.r8.ir.code.NumericType INT -> e
    com.android.tools.r8.ir.code.NumericType SHORT -> d
    com.android.tools.r8.ir.code.NumericType CHAR -> c
    com.android.tools.r8.ir.code.NumericType BYTE -> b
    com.android.tools.r8.ir.code.NumericType[] $VALUES -> i
    1:7:void <clinit>():11:17 -> <clinit>
    8:8:void <clinit>():10:10 -> <clinit>
    1:1:void <init>(java.lang.String,int):10:10 -> <init>
    1:17:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):20:36 -> a
    18:18:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):34:34 -> a
    19:19:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):32:32 -> a
    20:20:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):30:30 -> a
    21:21:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):28:28 -> a
    22:22:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    23:23:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):24:24 -> a
    24:24:com.android.tools.r8.graph.DexType dexTypeFor(com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    25:39:com.android.tools.r8.ir.code.NumericType fromDexType(com.android.tools.r8.graph.DexType):41:55 -> a
    40:40:com.android.tools.r8.ir.code.NumericType fromDexType(com.android.tools.r8.graph.DexType):47:47 -> a
    41:51:com.android.tools.r8.ir.code.NumericType fromDexType(com.android.tools.r8.graph.DexType):43:53 -> a
    52:52:com.android.tools.r8.ir.code.NumericType fromDexType(com.android.tools.r8.graph.DexType):49:49 -> a
    53:59:com.android.tools.r8.ir.code.NumericType fromDexType(com.android.tools.r8.graph.DexType):45:51 -> a
    60:60:boolean isWide():62:62 -> a
    1:1:com.android.tools.r8.ir.code.NumericType[] values():10:10 -> b
com.android.tools.r8.ir.code.NumericType$1 -> com.android.tools.r8.internal.cI:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():20:20 -> <clinit>
com.android.tools.r8.ir.code.Or -> com.android.tools.r8.internal.TK:
    1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):18:18 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):48:48 -> a
    2:2:boolean outTypeKnownToBeBoolean(java.util.Set):98:98 -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):58:58 -> b
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):73:73 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):78:78 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isOr():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):78 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):78:78 -> b
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):63:63 -> c
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):68:68 -> c
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):53:53 -> d
    int opcode() -> l2
    boolean isCommutative() -> p2
    com.android.tools.r8.ir.code.Or asOr() -> t0
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():93:93 -> t2
com.android.tools.r8.ir.code.Phi -> com.android.tools.r8.internal.PL:
    com.android.tools.r8.ir.code.Phi$RegisterReadType readType -> t
    java.util.List definitionUsers -> v
    java.util.List operands -> s
    boolean isStackPhi -> u
    boolean $assertionsDisabled -> w
    com.android.tools.r8.ir.code.BasicBlock block -> r
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.ir.code.Phi$RegisterReadType):60:60 -> <init>
    2:21:void <init>(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.ir.code.Phi$RegisterReadType):44:63 -> <init>
    boolean isConstant() -> L
    1:2:boolean isValueOnStack():371:372 -> S
    1:1:void markNonDebugLocalRead():164:164 -> V
    1:1:boolean needsRegister():394:394 -> W
    1:2:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):45:46 -> a
    1:2:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.graph.AppView):425 -> a
    3:24:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.graph.AppView):426:447 -> a
    25:25:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):89:89 -> a
    26:28:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):96:98 -> a
    26:28:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):90 -> a
    29:29:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":32,"2":33,"3":34}}
    32:32:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    32:32:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):90 -> a
    33:33:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    33:33:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):90 -> a
    34:34:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    34:34:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):90 -> a
    30:30:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    30:30:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):90 -> a
    31:31:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):92:92 -> a
    35:40:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):114:119 -> a
    41:41:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    41:41:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):119 -> a
    42:42:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    42:42:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64 -> a
    42:42:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):119 -> a
    43:43:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    43:43:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):119 -> a
    44:53:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):120:129 -> a
    54:54:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    54:54:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):130 -> a
    55:55:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    55:55:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64 -> a
    55:55:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):130 -> a
    56:56:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    56:56:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):130 -> a
    57:59:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):96:98 -> a
    57:59:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):131 -> a
    60:60:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":71,"2":72,"3":73}}
    71:71:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    71:71:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):131 -> a
    72:72:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    72:72:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):131 -> a
    73:73:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    73:73:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):131 -> a
    61:61:void com.android.tools.r8.ir.code.Phi.abortOnInvalidDebugInfo(com.android.tools.r8.ir.code.ValueTypeConstraint):98:98 -> a
    61:61:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):131 -> a
    62:66:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):135:139 -> a
    67:67:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168:168 -> a
    67:67:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):116 -> a
    68:68:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    68:68:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168 -> a
    68:68:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):116 -> a
    69:69:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    69:69:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    69:69:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168 -> a
    69:69:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):116 -> a
    70:70:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168:168 -> a
    70:70:void addOperands(com.android.tools.r8.ir.conversion.IRBuilder,int):116 -> a
    74:74:void addOperands(java.util.List):143:143 -> a
    75:83:void addOperands(java.util.List,boolean):150:158 -> a
    84:84:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168:168 -> a
    84:84:void addOperands(java.util.List,boolean):152 -> a
    85:85:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    85:85:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168 -> a
    85:85:void addOperands(java.util.List,boolean):152 -> a
    86:86:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    86:86:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    86:86:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168 -> a
    86:86:void addOperands(java.util.List,boolean):152 -> a
    87:87:void com.android.tools.r8.ir.code.Phi.throwUndefinedValueError():168:168 -> a
    87:87:void addOperands(java.util.List,boolean):152 -> a
    88:88:com.android.tools.r8.ir.code.Value getOperand(int):180:180 -> a
    89:100:void removeOperandsByIndex(java.util.List):193:204 -> a
    101:104:void replaceOperandAt(int,com.android.tools.r8.ir.code.Value):208:211 -> a
    105:108:void replaceOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):215:218 -> a
    109:141:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):245:277 -> a
    142:142:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    142:142:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):277 -> a
    143:161:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):278:296 -> a
    162:162:void com.android.tools.r8.ir.code.Phi.addDefinitionsUser(java.util.Map):353:353 -> a
    162:162:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):296 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    163:163:void com.android.tools.r8.ir.code.Phi.addDefinitionsUser(java.util.Map):353:353 -> a
    163:163:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):296 -> a
    164:173:boolean removeTrivialPhi(com.android.tools.r8.ir.conversion.IRBuilder,java.util.Set):303:312 -> a
    174:181:void print(com.android.tools.r8.utils.CfgPrinter):341:348 -> a
    182:182:void addDefinitionsUser(java.util.Map):353:353 -> a
    183:183:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):402:402 -> a
    184:184:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.Value.outType():790:790 -> a
    184:184:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):402 -> a
    185:193:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):402:410 -> a
    boolean isDefinedByInstructionSatisfying(java.util.function.Predicate) -> b
    1:1:void removeDefinitionsUser(java.util.Map):357:357 -> b
    2:5:void lambda$verifyIsStackPhi$0(java.util.Set,com.android.tools.r8.ir.code.Value):383:386 -> b
    1:2:boolean verifyIsStackPhi(java.util.Set):380:381 -> c
    3:5:com.android.tools.r8.ir.analysis.type.TypeElement computePhiType(com.android.tools.r8.graph.AppView):415:417 -> c
    1:2:void removeOperand(int):188:189 -> d
    boolean isPhi() -> f
    com.android.tools.r8.ir.code.Phi asPhi() -> h
    1:2:void appendOperand(com.android.tools.r8.ir.code.Value):175:176 -> h
    1:1:void clearDefinitionsUsers():361:361 -> h0
    1:1:boolean usesValueOneTime(com.android.tools.r8.ir.code.Value):398:398 -> i
    1:1:java.util.List getOperands():184:184 -> i0
    1:1:com.android.tools.r8.ir.code.BasicBlock getBlock():83:83 -> j
    1:1:boolean isTrivialPhi():225:225 -> j0
    1:1:java.lang.String printPhi():0:0 -> k0
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":339,"2":340,"3":341}}
    339:339:java.lang.String printPhi():328:328 -> k0
    340:340:java.lang.String printPhi():328:328 -> k0
    341:341:java.lang.String printPhi():329:329 -> k0
    331:338:java.lang.String printPhi():330:337 -> k0
    1:4:void removeDeadPhi():318:321 -> l0
    5:5:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.Phi.getBlock():83:83 -> l0
    5:5:void removeDeadPhi():324 -> l0
    6:6:void removeDeadPhi():324:324 -> l0
    1:1:boolean removeTrivialPhi():240:240 -> m0
    1:1:void setIsStackPhi(boolean):376:376 -> n0
com.android.tools.r8.ir.code.Phi$RegisterReadType -> com.android.tools.r8.internal.PL$a:
    com.android.tools.r8.ir.code.Phi$RegisterReadType NORMAL -> b
    com.android.tools.r8.ir.code.Phi$RegisterReadType DEBUG -> c
    1:2:void <clinit>():39:40 -> <clinit>
    1:1:void <init>(java.lang.String,int):38:38 -> <init>
com.android.tools.r8.ir.code.Phi$StackMapPhi -> com.android.tools.r8.internal.QL:
    boolean $assertionsDisabled -> x
    1:1:void <clinit>():455:455 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.ir.code.Phi$RegisterReadType):463:463 -> <init>
    1:8:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):468:475 -> a
    1:10:com.android.tools.r8.ir.analysis.type.TypeElement computePhiType(com.android.tools.r8.graph.AppView):481:490 -> c
com.android.tools.r8.ir.code.Pop -> com.android.tools.r8.internal.aM:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():17:17 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.Value):20:21 -> <init>
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):89:89 -> a
    2:2:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):94:94 -> a
    3:3:com.android.tools.r8.cf.code.CfStackInstruction com.android.tools.r8.cf.code.CfStackInstruction.popType(com.android.tools.r8.ir.code.ValueType):79:79 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):94 -> a
    4:4:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):94:94 -> a
    5:5:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):99:99 -> a
    6:6:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):110:110 -> a
    7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forPop():311:311 -> a
    7:7:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):84 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):56:56 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isPop():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):56 -> b
    3:12:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):59:68 -> b
    1:5:void addInValue(com.android.tools.r8.ir.code.Value):36:40 -> c
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:int maxInValueRegister():73:73 -> j2
    1:1:int maxOutValueRegister():78:78 -> k2
    int opcode() -> l2
    com.android.tools.r8.ir.code.Pop asPop() -> u0
com.android.tools.r8.ir.code.Position -> com.android.tools.r8.internal.fM:
    boolean removeInnerFramesIfThrowingNpe -> e
    boolean $assertionsDisabled -> f
    int line -> b
    com.android.tools.r8.graph.DexMethod method -> c
    com.android.tools.r8.ir.code.Position callerPosition -> d
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.ir.code.Position$1):18:18 -> <init>
    2:6:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean):38:42 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy() -> a
    1:1:void access$400(com.android.tools.r8.utils.structural.StructuralSpecification):18:18 -> a
    2:8:com.android.tools.r8.ir.code.Position getPositionForInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):122:128 -> a
    9:9:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    9:9:com.android.tools.r8.ir.code.Position getPositionForInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):128 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.ir.code.Position getPositionForInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):127:127 -> a
    11:11:com.android.tools.r8.ir.code.Position getOutermostCallerMatchingOrElse(java.util.function.Predicate,com.android.tools.r8.ir.code.Position):156:156 -> a
    12:12:com.android.tools.r8.ir.code.Position getOutermostCallerMatching(java.util.function.Predicate,boolean):162:162 -> a
    13:13:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.getCallerPosition():74:74 -> a
    13:13:com.android.tools.r8.ir.code.Position getOutermostCallerMatching(java.util.function.Predicate,boolean):163 -> a
    14:19:com.android.tools.r8.ir.code.Position getOutermostCallerMatching(java.util.function.Predicate,boolean):163:168 -> a
    20:22:com.android.tools.r8.ir.code.Position withOutermostCallerPosition(com.android.tools.r8.ir.code.Position):175:177 -> a
    23:23:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.Position.getCallerPosition():74:74 -> a
    23:23:com.android.tools.r8.ir.code.Position withOutermostCallerPosition(com.android.tools.r8.ir.code.Position):178 -> a
    24:24:com.android.tools.r8.ir.code.Position withOutermostCallerPosition(com.android.tools.r8.ir.code.Position):178:178 -> a
    25:29:com.android.tools.r8.ir.code.Position withOutermostCallerPosition(com.android.tools.r8.ir.code.Position):176:180 -> a
    30:33:com.android.tools.r8.ir.code.Position replacePosition(com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.Position):187:190 -> a
    1:1:com.android.tools.r8.ir.code.Position getCallerPosition():74:74 -> b
    2:6:void specifyBasePosition(com.android.tools.r8.utils.structural.StructuralSpecification):109:113 -> b
    int getCompareToId() -> c
    com.android.tools.r8.graph.DexString getFile() -> d
    1:1:int getLine():78:78 -> e
    1:1:boolean equals(java.lang.Object):196:196 -> equals
    1:1:com.android.tools.r8.graph.DexMethod getMethod():82:82 -> f
    1:1:com.android.tools.r8.ir.code.Position getOutermostCaller():148:148 -> g
    com.android.tools.r8.graph.DexMethod getOutlineCallee() -> h
    1:1:int hashCode():201:201 -> hashCode
    2:2:int com.android.tools.r8.utils.structural.HashCodeVisitor.run(com.android.tools.r8.utils.structural.StructuralItem):28:28 -> hashCode
    2:2:int hashCode():201 -> hashCode
    com.android.tools.r8.utils.Int2StructuralItemArrayMap getOutlinePositions() -> i
    1:1:boolean hasCallerPosition():70:70 -> k
    boolean hasFile() -> l
    1:1:boolean isNone():133:133 -> m
    boolean isOutline() -> o
    1:1:boolean isRemoveInnerFramesIfThrowingNpe():54:54 -> p
    1:1:boolean isSome():141:141 -> s
    1:1:com.android.tools.r8.ir.code.Position none():86:86 -> t
    1:19:java.lang.String com.android.tools.r8.ir.code.Position.toString(boolean):205:223 -> toString
    1:19:java.lang.String toString():228 -> toString
    1:1:com.android.tools.r8.ir.code.Position syntheticNone():117:117 -> u
com.android.tools.r8.ir.code.Position$OutlineCallerPosition -> com.android.tools.r8.internal.cM:
    boolean isOutline -> i
    com.android.tools.r8.graph.DexMethod outlineCallee -> h
    com.android.tools.r8.utils.Int2StructuralItemArrayMap outlinePositions -> g
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.utils.Int2StructuralItemArrayMap,com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.ir.code.Position$1):484:484 -> <init>
    2:5:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.utils.Int2StructuralItemArrayMap,com.android.tools.r8.graph.DexMethod,boolean):505:508 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:7:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():524:530 -> a
    8:9:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):266:267 -> a
    8:9:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():530 -> a
    10:11:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():530:531 -> a
    int getCompareToId() -> c
    1:1:void lambda$specify$0(com.android.tools.r8.utils.structural.StructuralSpecification):491:491 -> c
    1:4:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):491:494 -> d
    1:1:com.android.tools.r8.graph.DexMethod getOutlineCallee():542:542 -> h
    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap getOutlinePositions():547:547 -> i
    boolean isNone() -> m
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():552:552 -> n
    1:1:boolean isOutline():537:537 -> o
    1:1:com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder builder():556:556 -> v
com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder -> com.android.tools.r8.internal.bM:
    boolean isOutline -> i
    boolean $assertionsDisabled -> j
    com.android.tools.r8.utils.Int2StructuralItemArrayMap$Builder outlinePositionsBuilder -> g
    com.android.tools.r8.graph.DexMethod outlineCallee -> h
    1:1:void <clinit>():559:559 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Position$1):559:559 -> <init>
    2:2:void <init>():567:567 -> <init>
    3:3:void <init>():563:563 -> <init>
    1:1:com.android.tools.r8.ir.code.Position build():559:559 -> a
    2:2:com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder addOutlinePosition(int,com.android.tools.r8.ir.code.Position):580:580 -> a
    1:1:com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder setOutlineCallee(com.android.tools.r8.graph.DexMethod):575:575 -> b
    2:2:com.android.tools.r8.ir.code.Position$OutlineCallerPosition$OutlineCallerPositionBuilder setIsOutline(boolean):585:585 -> b
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
    1:8:com.android.tools.r8.ir.code.Position$OutlineCallerPosition build():595:602 -> d
    1:1:boolean hasOutlinePositions():590:590 -> e
com.android.tools.r8.ir.code.Position$OutlinePosition -> com.android.tools.r8.internal.eM:
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.ir.code.Position$1):429:429 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean):436:436 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:5:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():451:455 -> a
    6:6:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):266:266 -> a
    6:6:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():455 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):267:267 -> a
    7:7:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():455 -> a
    int getCompareToId() -> c
    1:1:void lambda$getStructuralMapping$0(com.android.tools.r8.utils.structural.StructuralSpecification):460:460 -> c
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():460:460 -> n
    1:1:com.android.tools.r8.ir.code.Position$OutlinePosition$OutlinePositionBuilder builder():464:464 -> v
com.android.tools.r8.ir.code.Position$OutlinePosition$OutlinePositionBuilder -> com.android.tools.r8.internal.dM:
    1:1:void <init>(com.android.tools.r8.ir.code.Position$1):467:467 -> <init>
    2:2:void <init>():470:470 -> <init>
    1:1:com.android.tools.r8.ir.code.Position build():467:467 -> a
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
    1:1:com.android.tools.r8.ir.code.Position$OutlinePosition build():479:479 -> d
com.android.tools.r8.ir.code.Position$PositionBuilder -> com.android.tools.r8.internal.fM$a:
    boolean noCheckOfPosition -> e
    boolean noCheckOfMethod -> f
    com.android.tools.r8.graph.DexMethod method -> b
    com.android.tools.r8.ir.code.Position callerPosition -> c
    int line -> a
    boolean removeInnerFramesIfThrowingNpe -> d
    1:4:void <init>():233:236 -> <init>
    com.android.tools.r8.ir.code.Position build() -> a
    1:2:com.android.tools.r8.ir.code.Position$PositionBuilder setLine(int):247:248 -> a
    3:4:com.android.tools.r8.ir.code.Position$PositionBuilder setMethod(com.android.tools.r8.graph.DexMethod):256:257 -> a
    5:6:com.android.tools.r8.ir.code.Position$PositionBuilder setCallerPosition(com.android.tools.r8.ir.code.Position):261:262 -> a
    7:8:com.android.tools.r8.ir.code.Position$PositionBuilder setRemoveInnerFramesIfThrowingNpe(boolean):266:267 -> a
    1:2:com.android.tools.r8.ir.code.Position$PositionBuilder disableMethodCheck():276:277 -> b
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
com.android.tools.r8.ir.code.Position$SourcePosition -> com.android.tools.r8.internal.fM$b:
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.DexString file -> g
    com.android.tools.r8.ir.code.Position$SourcePosition NO_POSITION -> h
    1:5:void <clinit>():283:287 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.graph.DexString,com.android.tools.r8.ir.code.Position$1):283:283 -> <init>
    2:4:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.graph.DexString):302:304 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:6:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():324:329 -> a
    7:7:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):266:266 -> a
    7:7:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():329 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):267:267 -> a
    8:8:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():329 -> a
    int getCompareToId() -> c
    1:1:void lambda$specify$0(com.android.tools.r8.utils.structural.StructuralSpecification):293:293 -> c
    1:1:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):293:293 -> d
    2:2:com.android.tools.r8.graph.DexString getFile():314:314 -> d
    1:1:boolean hasFile():309:309 -> l
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():334:334 -> n
    1:1:com.android.tools.r8.ir.code.Position$SourcePosition access$000():283:283 -> v
    1:1:com.android.tools.r8.ir.code.Position$SourcePosition$SourcePositionBuilder builder():338:338 -> w
com.android.tools.r8.ir.code.Position$SourcePosition$SourcePositionBuilder -> com.android.tools.r8.internal.fM$b$a:
    com.android.tools.r8.graph.DexString file -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():341:341 -> <clinit>
    1:1:void <init>():341:341 -> <init>
    1:1:com.android.tools.r8.ir.code.Position build():341:341 -> a
    2:2:com.android.tools.r8.ir.code.Position$SourcePosition$SourcePositionBuilder setFile(com.android.tools.r8.graph.DexString):352:352 -> a
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
    1:3:com.android.tools.r8.ir.code.Position$SourcePosition build():358:360 -> d
com.android.tools.r8.ir.code.Position$SyntheticPosition -> com.android.tools.r8.internal.fM$c:
    com.android.tools.r8.ir.code.Position NO_POSITION_SYNTHETIC -> g
    1:1:void <clinit>():371:371 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean,com.android.tools.r8.ir.code.Position$1):366:366 -> <init>
    2:2:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,boolean):379:379 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:5:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():394:398 -> a
    6:6:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):266:266 -> a
    6:6:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():398 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:com.android.tools.r8.ir.code.Position$PositionBuilder com.android.tools.r8.ir.code.Position$PositionBuilder.setRemoveInnerFramesIfThrowingNpe(boolean):267:267 -> a
    7:7:com.android.tools.r8.ir.code.Position$PositionBuilder builderWithCopy():398 -> a
    int getCompareToId() -> c
    1:1:void lambda$getStructuralMapping$0(com.android.tools.r8.utils.structural.StructuralSpecification):403:403 -> c
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():403:403 -> n
    1:1:com.android.tools.r8.ir.code.Position access$100():366:366 -> v
    1:1:com.android.tools.r8.ir.code.Position$SyntheticPosition$SyntheticPositionBuilder builder():407:407 -> w
com.android.tools.r8.ir.code.Position$SyntheticPosition$SyntheticPositionBuilder -> com.android.tools.r8.internal.fM$c$a:
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():410:410 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Position$1):410:410 -> <init>
    2:2:void <init>():413:413 -> <init>
    1:1:com.android.tools.r8.ir.code.Position build():410:410 -> a
    com.android.tools.r8.ir.code.Position$PositionBuilder self() -> c
    1:3:com.android.tools.r8.ir.code.Position$SyntheticPosition build():422:424 -> d
com.android.tools.r8.ir.code.PreviousUntilIterator -> com.android.tools.r8.internal.HM:
    1:3:java.lang.Object previousUntil(java.util.function.Predicate):18:20 -> b
com.android.tools.r8.ir.code.RecordFieldValues -> com.android.tools.r8.internal.nQ:
    com.android.tools.r8.graph.DexField[] fields -> i
    1:2:void <init>(com.android.tools.r8.graph.DexField[],com.android.tools.r8.ir.code.Value,java.util.List):28:29 -> <init>
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):71:71 -> a
    2:2:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):70:70 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):76:76 -> a
    4:4:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    4:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60 -> a
    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):60:60 -> a
    6:6:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    6:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):61 -> a
    7:7:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):61:61 -> a
    8:8:java.util.List com.android.tools.r8.ir.code.Instruction.inValues():110:110 -> a
    8:8:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):62 -> a
    9:12:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):62:65 -> a
    13:14:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):111:112 -> a
    15:15:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forRecordFieldValues():291:291 -> a
    15:15:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):106 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):81:81 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isRecordFieldValues():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):81 -> b
    3:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):84:85 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.graph.DexField[] getFields():33:33 -> o2
    com.android.tools.r8.ir.code.RecordFieldValues asRecordFieldValues() -> v0
com.android.tools.r8.ir.code.Rem -> com.android.tools.r8.internal.wS:
    1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):24:24 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    double foldDouble(double,double) -> a
    float foldFloat(float,float) -> a
    1:1:com.android.tools.r8.code.Instruction CreateDouble(int,int,int):69:69 -> a
    2:2:int foldIntegers(int,int):114:114 -> a
    3:3:long foldLongs(long,long):119:119 -> a
    4:5:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):139:140 -> a
    6:6:boolean com.android.tools.r8.ir.analysis.constant.LatticeElement.isConst():0:0 -> a
    6:6:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):140 -> a
    7:10:com.android.tools.r8.ir.analysis.constant.LatticeElement evaluate(com.android.tools.r8.ir.code.IRCode,java.util.function.Function):140:143 -> a
    1:1:com.android.tools.r8.code.Instruction CreateFloat(int,int,int):64:64 -> b
    2:2:com.android.tools.r8.code.Instruction CreateDouble2Addr(int,int):89:89 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104:104 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isRem():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):104:104 -> b
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):54:54 -> c
    2:2:com.android.tools.r8.code.Instruction CreateFloat2Addr(int,int):84:84 -> c
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):74:74 -> d
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):99:99 -> d
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):79:79 -> e
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):94:94 -> e
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):59:59 -> f
    1:1:boolean instructionTypeCanThrow():134:134 -> f1
    int opcode() -> l2
    boolean isCommutative() -> p2
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():148:148 -> t2
    com.android.tools.r8.ir.code.Rem asRem() -> w0
com.android.tools.r8.ir.code.Return -> com.android.tools.r8.internal.HT:
    boolean $assertionsDisabled -> j
    int $r8$clinit -> k
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>():24:24 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Value):28:28 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:4:com.android.tools.r8.code.Instruction com.android.tools.r8.ir.code.Return.createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):64:67 -> a
    1:4:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83 -> a
    5:6:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():50:51 -> a
    5:6:com.android.tools.r8.code.Instruction com.android.tools.r8.ir.code.Return.createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):68 -> a
    5:6:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83 -> a
    7:14:com.android.tools.r8.code.Instruction com.android.tools.r8.ir.code.Return.createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):69:76 -> a
    7:14:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83 -> a
    15:15:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83:83 -> a
    16:16:com.android.tools.r8.code.Instruction com.android.tools.r8.ir.code.Return.createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):78:78 -> a
    16:16:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83 -> a
    17:18:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):127:128 -> a
    19:19:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):135:135 -> a
    20:21:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():50:51 -> a
    20:21:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):135 -> a
    22:22:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):135:135 -> a
    23:23:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):134:134 -> a
    24:24:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forReturn():315:315 -> a
    24:24:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):122 -> a
    boolean isReturn() -> a2
    1:4:com.android.tools.r8.code.Instruction createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):64:67 -> b
    5:6:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():50:51 -> b
    5:6:com.android.tools.r8.code.Instruction createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):68 -> b
    7:16:com.android.tools.r8.code.Instruction createDexInstruction(com.android.tools.r8.ir.conversion.DexBuilder):69:78 -> b
    17:22:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):88:93 -> b
    23:24:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():50:51 -> b
    23:24:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
    25:25:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():50:50 -> b
    25:25:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    26:26:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():50:50 -> b
    26:26:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
    27:27:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():51:51 -> b
    27:27:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    28:28:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.code.Return.getReturnType():51:51 -> b
    28:28:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
    29:29:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isValueTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement):460:460 -> b
    29:29:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:32:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isValueTypeCompatible(com.android.tools.r8.ir.analysis.type.TypeElement):460:462 -> b
    30:32:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):95 -> b
    int maxInValueRegister() -> j2
    1:1:int maxOutValueRegister():105:105 -> k2
    int opcode() -> l2
    1:1:boolean isReturnVoid():46:46 -> p2
    1:2:com.android.tools.r8.ir.code.Value returnValue():59:60 -> q2
    com.android.tools.r8.ir.code.Return asReturn() -> x0
com.android.tools.r8.ir.code.Return$Builder -> com.android.tools.r8.internal.GT:
    1:1:void <init>():139:139 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.Return build():143:143 -> b
com.android.tools.r8.ir.code.SafeCheckCast -> com.android.tools.r8.internal.ZT:
    int $r8$clinit -> m
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):16:16 -> <init>
    1:1:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):25:25 -> a
    boolean instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> b
    1:1:com.android.tools.r8.code.CheckCast createCheckCast(int):30:30 -> c
    com.android.tools.r8.ir.code.SafeCheckCast asSafeCheckCast() -> y0
com.android.tools.r8.ir.code.SafeCheckCast$Builder -> com.android.tools.r8.internal.YT:
    1:1:void <init>():48:48 -> <init>
    1:1:com.android.tools.r8.ir.code.CheckCast build():52:52 -> b
com.android.tools.r8.ir.code.Shl -> com.android.tools.r8.internal.zU:
    1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):17:17 -> <init>
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):53:53 -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):63:63 -> b
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):78:78 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isShl():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):68:68 -> c
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):73:73 -> c
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):58:58 -> d
    1:3:boolean com.android.tools.r8.ir.code.Binop.fitsInLit8Instruction(com.android.tools.r8.ir.code.Value):74:76 -> h
    1:3:boolean fitsInDexInstruction(com.android.tools.r8.ir.code.Value):33 -> h
    int opcode() -> l2
    boolean isCommutative() -> p2
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():98:98 -> t2
    com.android.tools.r8.ir.code.Shl asShl() -> z0
com.android.tools.r8.ir.code.Shr -> com.android.tools.r8.internal.BU:
    1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):17:17 -> <init>
    com.android.tools.r8.ir.code.Shr asShr() -> A0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):53:53 -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):63:63 -> b
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):78:78 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isShr():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):68:68 -> c
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):73:73 -> c
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):58:58 -> d
    1:3:boolean com.android.tools.r8.ir.code.Binop.fitsInLit8Instruction(com.android.tools.r8.ir.code.Value):74:76 -> h
    1:3:boolean fitsInDexInstruction(com.android.tools.r8.ir.code.Value):33 -> h
    int opcode() -> l2
    boolean isCommutative() -> p2
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():98:98 -> t2
com.android.tools.r8.ir.code.SingleConstant -> com.android.tools.r8.internal.ZU:
    int decodedValue() -> a
com.android.tools.r8.ir.code.StackValue -> com.android.tools.r8.internal.dW:
    int height -> r
    com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo typeInfo -> s
    boolean $assertionsDisabled -> t
    1:1:void <clinit>():11:11 -> <clinit>
    1:4:void <init>(com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo,com.android.tools.r8.ir.analysis.type.TypeElement,int):17:20 -> <init>
    boolean needsRegister() -> W
    1:3:com.android.tools.r8.ir.code.StackValue create(com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo,int,com.android.tools.r8.graph.AppView):24:26 -> a
    4:4:com.android.tools.r8.ir.code.StackValue duplicate(int):39:39 -> a
    5:5:void setNeedsRegister(boolean):54:54 -> a
    1:1:int getHeight():31:31 -> h0
    1:1:com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo getTypeInfo():35:35 -> i0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":61,"2":62,"3":63}}
    61:61:java.lang.String toString():59:59 -> toString
    62:62:java.lang.String toString():59:59 -> toString
    63:63:java.lang.String toString():59:59 -> toString
    60:60:java.lang.String toString():59:59 -> toString
com.android.tools.r8.ir.code.StackValues -> com.android.tools.r8.internal.eW:
    com.android.tools.r8.ir.code.StackValue[] stackValues -> r
    boolean $assertionsDisabled -> s
    1:1:void <clinit>():14:14 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.StackValue[]):19:21 -> <init>
    boolean isValueOnStack() -> S
    boolean needsRegister() -> W
    1:1:void setNeedsRegister(boolean):35:35 -> a
    1:1:com.android.tools.r8.ir.code.StackValue[] getStackValues():25:25 -> h0
    1:10:java.lang.String toString():40:49 -> toString
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getType():59:59 -> w
com.android.tools.r8.ir.code.StaticGet -> com.android.tools.r8.internal.tW:
    int $r8$clinit -> l
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexField):38:38 -> <init>
    boolean isFieldGet() -> A1
    com.android.tools.r8.ir.code.StaticGet asStaticGet() -> B0
    com.android.tools.r8.ir.code.FieldGet asFieldGet() -> I
    1:2:com.android.tools.r8.ir.code.StaticGet copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.StaticGet):46:47 -> a
    3:4:com.android.tools.r8.ir.code.StaticGet com.android.tools.r8.ir.code.StaticGet.copyOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.StaticGet):52:53 -> a
    3:4:com.android.tools.r8.ir.code.StaticGet copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.StaticGet):48 -> a
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.StaticGet.dest():67:67 -> a
    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101 -> a
    6:33:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):101:128 -> a
    34:34:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":205,"2":206,"3":207}}
    205:205:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):128:128 -> a
    206:206:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):128:128 -> a
    207:207:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):128:128 -> a
    162:162:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):128:128 -> a
    163:163:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):110:110 -> a
    164:183:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):106:125 -> a
    184:184:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):122:122 -> a
    185:185:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):119:119 -> a
    186:186:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):116:116 -> a
    187:204:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):113:130 -> a
    208:222:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):77:91 -> a
    223:229:boolean couldIntroduceAnAlias(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):89:95 -> a
    230:230:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):152:152 -> a
    231:231:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):177:177 -> a
    232:232:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):212:212 -> a
    233:233:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):217:217 -> a
    234:234:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):239:239 -> a
    234:234:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):217 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    235:236:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):240:241 -> a
    235:236:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):217 -> a
    237:237:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):217:217 -> a
    238:238:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):222:222 -> a
    239:239:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):227:227 -> a
    240:240:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):237:237 -> a
    241:241:boolean outTypeKnownToBeBoolean(java.util.Set):243:243 -> a
    242:242:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.StaticGet):319:319 -> a
    242:242:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):63 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):167:167 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):167 -> b
    3:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):170:171 -> b
    1:1:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):146:146 -> c
    2:2:boolean com.android.tools.r8.ir.code.StaticGet.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):152:152 -> c
    2:2:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):146 -> c
    1:9:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):248:256 -> d
    boolean instructionTypeCanBeCanonicalized() -> e1
    boolean instructionTypeCanThrow() -> f1
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:java.lang.String toString():182:182 -> toString
    1:1:com.android.tools.r8.ir.code.Value value():72:72 -> value
com.android.tools.r8.ir.code.StaticGet$Builder -> com.android.tools.r8.internal.sW:
    com.android.tools.r8.graph.DexField field -> c
    1:1:void <init>():260:260 -> <init>
    com.android.tools.r8.ir.code.Instruction$BuilderBase self() -> a
    1:1:com.android.tools.r8.ir.code.StaticGet$Builder setField(com.android.tools.r8.graph.DexField):269:269 -> a
    1:1:com.android.tools.r8.ir.code.StaticGet build():275:275 -> b
com.android.tools.r8.ir.code.StaticPut -> com.android.tools.r8.internal.vW:
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():33:33 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexField):36:36 -> <init>
    com.android.tools.r8.ir.code.StaticPut asStaticPut() -> C0
    boolean isFieldPut() -> C1
    com.android.tools.r8.ir.code.FieldPut asFieldPut() -> K
    1:1:void setValue(com.android.tools.r8.ir.code.Value):62:62 -> a
    2:29:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):68:95 -> a
    30:30:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":168,"2":169,"3":170}}
    168:168:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95:95 -> a
    169:169:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95:95 -> a
    170:170:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95:95 -> a
    125:125:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):95:95 -> a
    126:126:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):77:77 -> a
    127:146:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):73:92 -> a
    147:147:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):89:89 -> a
    148:148:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):86:86 -> a
    149:149:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):83:83 -> a
    150:167:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):80:97 -> a
    171:185:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):109:123 -> a
    186:197:boolean instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):122:133 -> a
    198:198:java.lang.Boolean lambda$instructionMayHaveSideEffects$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):123:123 -> a
    199:209:boolean identicalAfterRegisterAllocation(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):153:163 -> a
    210:210:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):183:183 -> a
    211:211:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):218:218 -> a
    212:212:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):223:223 -> a
    213:213:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):239:239 -> a
    213:213:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):223 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    214:215:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.conversion.CfBuilder.resolveField(com.android.tools.r8.graph.DexField):240:241 -> a
    214:215:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):223 -> a
    216:216:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):223:223 -> a
    217:217:boolean definitelyTriggersClassInitialization(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$Query,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis$AnalysisAssumption):233:233 -> a
    218:218:java.lang.Object com.android.tools.r8.ir.code.DefaultInstructionVisitor.visit(com.android.tools.r8.ir.code.StaticPut):324:324 -> a
    218:218:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):46 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    boolean isStaticPut() -> b
    1:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):173:177 -> b
    boolean isStaticFieldInstruction() -> b2
    1:9:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):239:247 -> d
    int getValueIndex() -> e
    boolean instructionTypeCanThrow() -> f1
    int maxInValueRegister() -> j2
    1:1:int maxOutValueRegister():147:147 -> k2
    int opcode() -> l2
    1:1:java.lang.String toString():188:188 -> toString
    1:2:com.android.tools.r8.ir.code.Value value():56:57 -> value
com.android.tools.r8.ir.code.Store -> com.android.tools.r8.internal.wW:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.StackValue):25:25 -> <init>
    com.android.tools.r8.ir.code.Store asStore() -> D0
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):75:75 -> a
    2:2:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):80:80 -> a
    3:3:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):85:85 -> a
    4:4:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):90:90 -> a
    5:5:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):95:95 -> a
    6:9:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):105:108 -> a
    10:10:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forStore():327:327 -> a
    10:10:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):70 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):54:54 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isStore():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):54 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:2:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):113:114 -> d
    1:1:int maxInValueRegister():59:59 -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.ir.code.Value src():39:39 -> o2
com.android.tools.r8.ir.code.StringSwitch -> com.android.tools.r8.internal.UW:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.graph.DexString[] keys -> m
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexString[],int[],int):23:25 -> <init>
    com.android.tools.r8.ir.code.StringSwitch asStringSwitch() -> E0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void forEachCase(com.android.tools.r8.utils.ThrowingBiConsumer):50:50 -> a
    2:2:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.code.StringSwitch.getKey(int):80:80 -> a
    2:2:void forEachCase(com.android.tools.r8.utils.ThrowingBiConsumer):51 -> a
    3:3:void forEachCase(com.android.tools.r8.utils.ThrowingBiConsumer):51:51 -> a
    4:4:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):99:99 -> a
    5:5:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):104:104 -> a
    6:6:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):114:114 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):109:109 -> b
    boolean isStringSwitch() -> e2
    1:1:com.android.tools.r8.graph.DexString getKey(int):80:80 -> f
    1:1:int maxInValueRegister():119:119 -> j2
    1:1:int maxOutValueRegister():124:124 -> k2
    int opcode() -> l2
    1:4:boolean valid():62:65 -> s2
    1:4:java.lang.String toString():85:88 -> toString
    5:5:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.code.StringSwitch.getKey(int):80:80 -> toString
    5:5:java.lang.String toString():89 -> toString
    6:11:java.lang.String toString():89:94 -> toString
com.android.tools.r8.ir.code.Sub -> com.android.tools.r8.internal.wX:
    boolean $assertionsDisabled -> k
    1:1:void <clinit>():24:24 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):27:27 -> <init>
    com.android.tools.r8.ir.code.Sub asSub() -> F0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    double foldDouble(double,double) -> a
    float foldFloat(float,float) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateDouble(int,int,int):62:62 -> a
    2:22:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):164:184 -> a
    23:25:boolean com.android.tools.r8.ir.code.Sub.negativeFitsInDexInstruction(com.android.tools.r8.ir.code.Value):123:125 -> a
    23:25:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):184 -> a
    26:41:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):184:199 -> a
    42:42:com.android.tools.r8.code.Instruction com.android.tools.r8.ir.code.Sub.CreateInt(int,int,int):47:47 -> a
    42:42:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):200 -> a
    43:43:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):202:202 -> a
    44:44:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):165:165 -> a
    1:1:com.android.tools.r8.code.Instruction CreateFloat(int,int,int):57:57 -> b
    2:2:com.android.tools.r8.code.Instruction CreateDouble2Addr(int,int):82:82 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):99:99 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):99 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):99:99 -> b
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):47:47 -> c
    2:2:com.android.tools.r8.code.Instruction CreateFloat2Addr(int,int):77:77 -> c
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):67:67 -> d
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):94:94 -> d
    3:12:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):145:154 -> d
    13:15:boolean com.android.tools.r8.ir.code.Sub.negativeFitsInDexInstruction(com.android.tools.r8.ir.code.Value):123:125 -> d
    13:15:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):157 -> d
    16:16:boolean needsValueInRegister(com.android.tools.r8.ir.code.Value):157:157 -> d
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):72:72 -> e
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):88:88 -> e
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):52:52 -> f
    int opcode() -> l2
    boolean isCommutative() -> p2
    1:6:int maxInOutValueRegisterSize():131:136 -> r2
    7:9:boolean com.android.tools.r8.ir.code.Sub.negativeFitsInDexInstruction(com.android.tools.r8.ir.code.Value):123:125 -> r2
    7:9:int maxInOutValueRegisterSize():136 -> r2
    10:12:int maxInOutValueRegisterSize():136:138 -> r2
    1:1:com.android.tools.r8.cf.code.CfArithmeticBinop$Opcode getCfOpcode():217:217 -> t2
com.android.tools.r8.ir.code.Swap -> com.android.tools.r8.internal.FX:
    boolean $assertionsDisabled -> i
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.StackValue,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):22:22 -> <init>
    2:5:void <init>(com.android.tools.r8.ir.code.StackValues,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):26:29 -> <init>
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):65:65 -> a
    2:2:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):70:70 -> a
    3:3:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forSwap():331:331 -> a
    3:3:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):91 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75:75 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isSwap():0:0 -> b
    2:2:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):75 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    1:5:com.android.tools.r8.ir.code.Value setOutValue(com.android.tools.r8.ir.code.Value):44:48 -> f
    int maxInValueRegister() -> j2
    1:1:int maxOutValueRegister():85:85 -> k2
    int opcode() -> l2
com.android.tools.r8.ir.code.Switch -> com.android.tools.r8.internal.GX:
    int fallthroughBlockIndex -> k
    boolean $assertionsDisabled -> l
    int[] targetBlockIndices -> j
    1:1:void <clinit>():10:10 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.code.Value,int[],int):16:18 -> <init>
    com.android.tools.r8.ir.code.Switch asSwitch() -> G0
    1:1:void setFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):67:67 -> b
    1:1:int getTargetBlockIndex(int):39:39 -> c
    1:1:void setFallthroughBlockIndex(int):62:62 -> d
    1:1:com.android.tools.r8.ir.code.BasicBlock targetBlock(int):35:35 -> e
    2:2:int[] com.android.tools.r8.ir.code.Switch.targetBlockIndices():43:43 -> e
    2:2:com.android.tools.r8.ir.code.BasicBlock targetBlock(int):35 -> e
    3:3:com.android.tools.r8.ir.code.BasicBlock targetBlock(int):35:35 -> e
    boolean isSwitch() -> f2
    1:1:com.android.tools.r8.ir.code.BasicBlock fallthroughBlock():54:54 -> o2
    1:1:int getFallthroughBlockIndex():58:58 -> p2
    1:1:int numberOfKeys():71:71 -> q2
    1:1:int[] targetBlockIndices():43:43 -> r2
    1:2:boolean valid():28:29 -> s2
    3:3:int com.android.tools.r8.ir.code.Switch.getTargetBlockIndex(int):39:39 -> s2
    3:3:boolean valid():29 -> s2
    4:4:int com.android.tools.r8.ir.code.Switch.getFallthroughBlockIndex():58:58 -> s2
    4:4:boolean valid():29 -> s2
    5:5:boolean valid():29:29 -> s2
    1:1:com.android.tools.r8.ir.code.Value value():24:24 -> value
com.android.tools.r8.ir.code.Throw -> com.android.tools.r8.internal.iY:
    boolean $assertionsDisabled -> j
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value):20:20 -> <init>
    com.android.tools.r8.ir.code.Throw asThrow() -> H0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):39:39 -> a
    2:2:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):81:81 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):86:86 -> a
    4:8:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):91:95 -> a
    9:9:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    9:9:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):99 -> a
    10:14:boolean throwsNpeIfValueIsNull(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):104:108 -> a
    15:15:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forThrow():335:335 -> a
    15:15:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):76 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):60:60 -> b
    boolean instructionTypeCanThrow() -> f1
    boolean isThrow() -> g2
    int maxInValueRegister() -> j2
    1:1:int maxOutValueRegister():49:49 -> k2
    int opcode() -> l2
    1:1:com.android.tools.r8.ir.code.Value exception():34:34 -> p2
com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier -> com.android.tools.r8.internal.e00:
    1:1:com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier create(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):16:16 -> a
    com.android.tools.r8.ir.analysis.type.TypeElement getOutType() -> c
    com.android.tools.r8.graph.DebugLocalInfo getLocalInfo() -> k
com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier$1 -> com.android.tools.r8.internal.d00:
    com.android.tools.r8.ir.analysis.type.TypeElement val$type -> c
    com.android.tools.r8.graph.DebugLocalInfo val$local -> b
    1:1:void <init>(com.android.tools.r8.graph.DebugLocalInfo,com.android.tools.r8.ir.analysis.type.TypeElement):16:16 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getOutType():25:25 -> c
    1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():20:20 -> k
com.android.tools.r8.ir.code.UninitializedThisLocalRead -> com.android.tools.r8.internal.F00:
    1:1:void <init>(com.android.tools.r8.ir.code.Value):29:29 -> <init>
    boolean hasInvariantOutType() -> X0
    void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper) -> a
    1:1:java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor):39:39 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):44:44 -> a
    3:3:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):49:49 -> a
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):75:75 -> a
    5:5:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):85:85 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):54:54 -> b
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    int opcode() -> l2
com.android.tools.r8.ir.code.Unop -> com.android.tools.r8.internal.U00:
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):17:17 -> <init>
    boolean hasInvariantOutType() -> X0
    1:2:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):56:57 -> a
    3:3:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):62:62 -> a
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.InliningConstraints.forUnop():339:339 -> a
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):51 -> a
    boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod) -> d
    boolean isUnop() -> h2
    int maxInValueRegister() -> j2
    int maxOutValueRegister() -> k2
    1:1:com.android.tools.r8.ir.code.Value source():25:25 -> o2
com.android.tools.r8.ir.code.UnusedArgument -> com.android.tools.r8.internal.c10:
    1:1:void <init>(com.android.tools.r8.ir.code.Value):26:26 -> <init>
    boolean hasInvariantOutType() -> X0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    1:1:void buildCf(com.android.tools.r8.ir.conversion.CfBuilder):36:36 -> a
    2:2:void buildDex(com.android.tools.r8.ir.conversion.DexBuilder):41:41 -> a
    3:3:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult canBeDeadCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):46:46 -> a
    4:4:com.android.tools.r8.graph.DexType computeVerificationType(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.TypeVerificationHelper):51:51 -> a
    5:5:com.android.tools.r8.ir.analysis.type.TypeElement evaluate(com.android.tools.r8.graph.AppView):56:56 -> a
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget inliningConstraint(com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):72:72 -> a
    7:7:void insertLoadAndStores(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.cf.LoadStoreHelper):82:82 -> a
    1:1:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):66:66 -> b
    1:1:boolean instructionMayTriggerMethodInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):77:77 -> d
    1:1:int maxInValueRegister():97:97 -> j2
    1:1:int maxOutValueRegister():102:102 -> k2
    int opcode() -> l2
com.android.tools.r8.ir.code.Ushr -> com.android.tools.r8.internal.i10:
    1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):17:17 -> <init>
    com.android.tools.r8.ir.code.Ushr asUshr() -> I0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):53:53 -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):63:63 -> b
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):78:78 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isUshr():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):83:83 -> b
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):68:68 -> c
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):73:73 -> c
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):58:58 -> d
    1:3:boolean com.android.tools.r8.ir.code.Binop.fitsInLit8Instruction(com.android.tools.r8.ir.code.Value):74:76 -> h
    1:3:boolean fitsInDexInstruction(com.android.tools.r8.ir.code.Value):33 -> h
    int opcode() -> l2
    boolean isCommutative() -> p2
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():98:98 -> t2
com.android.tools.r8.ir.code.Value -> com.android.tools.r8.internal.q10:
    com.android.tools.r8.ir.regalloc.LiveIntervals liveIntervals -> j
    com.android.tools.r8.ir.analysis.type.TypeElement type -> o
    int needsRegister -> k
    boolean isThis -> l
    int number -> b
    com.android.tools.r8.ir.code.Value UNDEFINED -> p
    boolean $assertionsDisabled -> q
    java.util.Set uniquePhiUsers -> g
    com.android.tools.r8.ir.code.Value previousConsecutive -> i
    com.android.tools.r8.ir.code.Value nextConsecutive -> h
    com.android.tools.r8.ir.code.Instruction definition -> c
    java.util.Set uniqueUsers -> e
    java.util.LinkedList users -> d
    java.util.LinkedList phiUsers -> f
    com.android.tools.r8.ir.code.Value$DebugData debugData -> n
    com.android.tools.r8.utils.LongInterval valueRange -> m
    1:114:void <clinit>():53:166 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):183:183 -> <init>
    2:20:void <init>(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DebugLocalInfo):169:187 -> <init>
    1:1:boolean hasLocalInfo():271:271 -> A
    1:1:boolean hasNonDebugUsers():414:414 -> B
    1:1:boolean hasPhiUsers():418:418 -> C
    1:1:boolean hasUsers():422:422 -> D
    1:1:boolean hasUsersInfo():554:554 -> F
    1:1:boolean hasValueRange():948:948 -> G
    1:1:boolean isArgument():874:874 -> H
    1:1:boolean isConstClass():828:828 -> I
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> I
    2:2:boolean isConstClass():828 -> I
    1:1:boolean isConstNumber():799:799 -> J
    1:1:boolean isConstString():812:812 -> K
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> K
    2:2:boolean isConstString():812 -> K
    1:1:boolean isConstant():832:832 -> L
    1:1:boolean isDexItemBasedConstString():816:816 -> M
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> M
    2:2:boolean isDexItemBasedConstString():816 -> M
    boolean isFixedRegisterValue() -> N
    1:1:boolean isLinked():314:314 -> O
    1:3:boolean isNeverNull():868:870 -> P
    1:1:boolean isThis():940:940 -> Q
    1:1:boolean isUsed():463:463 -> R
    2:2:int com.android.tools.r8.ir.code.Value.numberOfDebugUsers():455:455 -> R
    2:2:boolean isUsed():463 -> R
    boolean isValueOnStack() -> S
    1:3:boolean isZero():1042:1044 -> T
    1:3:void markAsThis():929:931 -> U
    1:1:void markNonDebugLocalRead():149:149 -> V
    1:2:boolean needsRegister():706:707 -> W
    3:10:boolean com.android.tools.r8.ir.code.Value.internalComputeNeedsRegister():722:729 -> W
    3:10:boolean needsRegister():707 -> W
    11:12:boolean needsRegister():707:708 -> W
    1:1:int com.android.tools.r8.ir.code.Value.numberOfAllNonDebugUsers():451:451 -> X
    1:1:int numberOfAllUsers():459 -> X
    2:2:int com.android.tools.r8.ir.code.Value.numberOfDebugUsers():455:455 -> X
    2:2:int numberOfAllUsers():459 -> X
    1:5:int numberOfPhiUsers():443:447 -> Y
    1:5:int numberOfUsers():435:439 -> Z
    boolean lambda$fullyRemovePhiUser$1(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Phi) -> a
    boolean lambda$fullyRemoveUser$0(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
    1:14:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):57:70 -> a
    15:15:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):59:59 -> a
    16:16:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":86,"2":87,"3":88}}
    86:86:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):59:59 -> a
    87:87:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):59:59 -> a
    88:88:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):59:59 -> a
    75:85:void constrainType(com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.Reporter):59:59 -> a
    89:148:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):75:134 -> a
    149:150:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):129:130 -> a
    151:151:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):124:124 -> a
    152:152:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> a
    152:152:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):124 -> a
    153:153:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):125:125 -> a
    154:154:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):119:119 -> a
    155:155:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> a
    155:155:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):119 -> a
    156:156:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):120:120 -> a
    157:157:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):111:111 -> a
    158:158:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    158:158:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):111 -> a
    159:162:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):112:115 -> a
    163:163:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):106:106 -> a
    164:164:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    164:164:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):106 -> a
    165:165:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):106:106 -> a
    166:166:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    166:166:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):106 -> a
    167:167:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):107:107 -> a
    168:168:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):101:101 -> a
    169:169:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    169:169:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):101 -> a
    170:170:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):101:101 -> a
    171:171:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    171:171:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):101 -> a
    172:172:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):102:102 -> a
    173:173:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):80:80 -> a
    174:174:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    174:174:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):80 -> a
    175:185:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):81:91 -> a
    186:186:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    186:186:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):91 -> a
    187:188:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):93:94 -> a
    189:189:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalWrite():0:0 -> a
    189:189:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):94 -> a
    190:192:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):94:96 -> a
    193:197:com.android.tools.r8.ir.analysis.type.TypeElement constrainedType(com.android.tools.r8.ir.code.ValueTypeConstraint):93:97 -> a
    198:198:boolean verifyCompatible(com.android.tools.r8.ir.code.ValueType):140:140 -> a
    199:199:boolean com.android.tools.r8.ir.code.Value.verifyCompatible(com.android.tools.r8.ir.code.ValueTypeConstraint):144:144 -> a
    199:199:boolean verifyCompatible(com.android.tools.r8.ir.code.ValueType):140 -> a
    200:220:com.android.tools.r8.ir.code.Value getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.function.Predicate):228:248 -> a
    221:221:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    221:221:com.android.tools.r8.ir.code.Value getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.function.Predicate):248 -> a
    222:222:com.android.tools.r8.ir.code.Value getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.function.Predicate):248:248 -> a
    223:224:com.android.tools.r8.ir.code.Value getSpecificAliasedValue(java.util.function.Predicate):254:255 -> a
    225:227:void setLocalInfo(com.android.tools.r8.graph.DebugLocalInfo):275:277 -> a
    228:230:void addDebugLocalEnd(com.android.tools.r8.ir.code.Instruction):287:289 -> a
    231:235:boolean onlyUsedInBlock(com.android.tools.r8.ir.code.BasicBlock):334:338 -> a
    236:238:java.util.Set aliasedUsers(com.android.tools.r8.ir.code.AliasedValueConfiguration):366:368 -> a
    239:246:void collectAliasedUsersViaAssume(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.Set,java.util.Set,java.util.Set):377:384 -> a
    247:247:void collectAliasedUsersViaAssume(com.android.tools.r8.ir.code.AliasedValueConfiguration,java.util.Set,java.util.Set,java.util.Set):383:383 -> a
    248:249:void addPhiUser(com.android.tools.r8.ir.code.Phi):523:524 -> a
    250:252:java.util.Set affectedValues():569:571 -> a
    253:253:void addAffectedValuesTo(java.util.Set):575:575 -> a
    254:259:void forEachAffectedValue(java.util.function.Consumer):579:584 -> a
    260:273:void replaceUsers(com.android.tools.r8.ir.code.Value,java.util.Set):595:608 -> a
    274:274:void com.android.tools.r8.ir.code.Value.replaceUserInDebugData(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):682:682 -> a
    274:274:void replaceUsers(com.android.tools.r8.ir.code.Value,java.util.Set):609 -> a
    275:277:void replaceUsers(com.android.tools.r8.ir.code.Value,java.util.Set):611:613 -> a
    278:281:void replaceSelectiveInstructionUsers(com.android.tools.r8.ir.code.Value,java.util.function.Predicate):630:633 -> a
    282:307:void replaceSelectiveUsers(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Map):648:673 -> a
    308:308:void com.android.tools.r8.ir.code.Value.replaceUserInDebugData(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):682:682 -> a
    308:308:void replaceSelectiveUsers(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Map):674 -> a
    309:309:void replaceSelectiveUsers(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Map):675:675 -> a
    310:311:void setLiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):697:698 -> a
    312:313:void setNeedsRegister(boolean):712:713 -> a
    314:314:int compareTo(com.android.tools.r8.ir.code.Value):751:751 -> a
    315:328:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):836:849 -> a
    329:329:void setValueRange(com.android.tools.r8.utils.LongInterval):944:944 -> a
    330:330:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):976:976 -> a
    331:331:boolean com.android.tools.r8.ir.code.Value.isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Predicate):981:981 -> a
    331:331:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):976 -> a
    332:345:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Predicate,java.util.Set):998:1011 -> a
    346:346:boolean com.android.tools.r8.com.google.common.base.Predicate.test(java.lang.Object):79:79 -> a
    346:346:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Predicate,java.util.Set):1011 -> a
    347:367:boolean isDead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Predicate,java.util.Set):1014:1034 -> a
    368:369:void setType(com.android.tools.r8.ir.analysis.type.TypeElement):1053:1054 -> a
    370:370:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073:1073 -> a
    371:372:boolean com.android.tools.r8.ir.code.Value.skipWideningOrNarrowingCheck(com.android.tools.r8.graph.AppView):1085:1086 -> a
    371:372:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073 -> a
    373:373:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073:1073 -> a
    374:374:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1455,"2":1456,"3":1457}}
    1455:1455:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073:1073 -> a
    1456:1456:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073:1073 -> a
    1457:1457:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073:1073 -> a
    1447:1454:void narrowing(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1073:1080 -> a
    1458:1503:com.android.tools.r8.ir.analysis.type.TypeElement getDynamicUpperBoundType(com.android.tools.r8.graph.AppView):1103:1148 -> a
    1504:1508:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1165:1169 -> a
    1509:1509:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.meetNullability(com.android.tools.r8.ir.analysis.type.Nullability):155:155 -> a
    1509:1509:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1170 -> a
    1510:1538:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1174:1202 -> a
    1539:1539:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.ClassTypeElement.meetNullability(com.android.tools.r8.ir.analysis.type.Nullability):155:155 -> a
    1539:1539:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1202 -> a
    1540:1540:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1203:1203 -> a
    1541:1541:boolean com.android.tools.r8.ir.analysis.type.Nullability.lessThanOrEqual(com.android.tools.r8.ir.analysis.type.Nullability):83:83 -> a
    1541:1541:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1203 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1542:1542:com.android.tools.r8.ir.analysis.type.ClassTypeElement getDynamicLowerBoundType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.Nullability):1203:1203 -> a
    1:15:boolean onlyDependsOnArgument():878:892 -> a0
    16:16:boolean onlyDependsOnArgument():890:890 -> a0
    com.android.tools.r8.ir.code.FixedRegisterValue asFixedRegisterValue() -> b
    1:5:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):467:471 -> b
    6:6:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> b
    6:6:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):471 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> b
    7:7:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):471 -> b
    8:9:boolean isAlwaysNull(com.android.tools.r8.graph.AppView):474:475 -> b
    10:11:void addUser(com.android.tools.r8.ir.code.Instruction):494:495 -> b
    12:13:void fullyRemovePhiUser(com.android.tools.r8.ir.code.Phi):533:534 -> b
    14:17:void replaceDebugUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):689:692 -> b
    18:18:boolean isDefinedByInstructionSatisfying(java.util.function.Predicate):853:853 -> b
    19:19:boolean knownToBeBoolean(java.util.Set):903:903 -> b
    20:20:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> b
    20:20:boolean knownToBeBoolean(java.util.Set):903 -> b
    21:39:boolean knownToBeBoolean(java.util.Set):907:925 -> b
    40:40:void widening(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1060:1060 -> b
    41:42:boolean com.android.tools.r8.ir.code.Value.skipWideningOrNarrowingCheck(com.android.tools.r8.graph.AppView):1085:1086 -> b
    41:42:void widening(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1060 -> b
    43:50:void widening(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement):1060:1067 -> b
    51:51:boolean lambda$getDynamicLowerBoundType$5(com.android.tools.r8.ir.code.Value):1192:1192 -> b
    1:1:com.android.tools.r8.ir.code.ValueType outType():790:790 -> b0
    1:2:void fullyRemoveUser(com.android.tools.r8.ir.code.Instruction):504:505 -> c
    3:4:void clearPhiUsers():518:519 -> c
    5:6:void removePhiUser(com.android.tools.r8.ir.code.Phi):528:529 -> c
    7:7:boolean lambda$getDynamicUpperBoundType$3(com.android.tools.r8.ir.code.Value):1107:1107 -> c
    1:1:int requiredRegisters():263:263 -> c0
    1:1:int compareTo(java.lang.Object):53:53 -> compareTo
    1:5:void clearUsers():509:513 -> d
    6:10:void removeDebugUser(com.android.tools.r8.ir.code.Instruction):546:550 -> d
    11:11:boolean lambda$getDynamicUpperBoundType$4(com.android.tools.r8.ir.code.Value):1121:1121 -> d
    1:2:com.android.tools.r8.ir.code.Instruction singleUniqueUser():357:358 -> d0
    boolean lambda$replaceSelectiveUsers$2(com.android.tools.r8.ir.code.Value) -> e
    1:2:void removeUser(com.android.tools.r8.ir.code.Instruction):499:500 -> e
    3:8:void clearUsersInfo():558:563 -> e
    1:4:java.util.Set uniquePhiUsers():395:398 -> e0
    boolean isPhi() -> f
    1:4:void linkTo(com.android.tools.r8.ir.code.Value):293:296 -> f
    1:4:java.util.Set uniqueUsers():346:349 -> f0
    1:1:void replaceUsers(com.android.tools.r8.ir.code.Value):588:588 -> g
    1:2:boolean usedInMonitorOperation():485:486 -> g0
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> g0
    3:3:boolean usedInMonitorOperation():486 -> g0
    com.android.tools.r8.ir.code.Phi asPhi() -> h
    1:1:int hashCode():756:756 -> hashCode
    1:1:void computeNeedsRegister():717:717 -> i
    2:9:boolean com.android.tools.r8.ir.code.Value.internalComputeNeedsRegister():722:729 -> i
    2:9:void computeNeedsRegister():718 -> i
    10:10:void computeNeedsRegister():718:718 -> i
    1:1:com.android.tools.r8.ir.code.BasicBlock getBlock():1090:1090 -> j
    1:1:java.util.Set debugUsers():402:402 -> k
    1:2:com.android.tools.r8.ir.code.Phi firstPhiUser():390:391 -> l
    1:1:com.android.tools.r8.ir.code.Value getAliasedValue():219:219 -> m
    2:2:com.android.tools.r8.ir.code.Value getAliasedValue():218:218 -> m
    1:2:com.android.tools.r8.ir.code.ConstInstruction getConstInstruction():794:795 -> o
    1:3:java.util.Set getDebugLocalEnds():281:283 -> p
    1:2:com.android.tools.r8.ir.code.Instruction getDefinition():199:200 -> q
    1:1:com.android.tools.r8.ir.regalloc.LiveIntervals getLiveIntervals():702:702 -> r
    1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():267:267 -> s
    1:1:com.android.tools.r8.ir.code.Value getNextConsecutive():326:326 -> t
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":788,"2":789,"3":790}}
    788:788:java.lang.String toString():761:761 -> toString
    789:789:java.lang.String toString():761:761 -> toString
    790:790:java.lang.String toString():762:762 -> toString
    764:787:java.lang.String toString():763:786 -> toString
    1:1:int getNumber():259:259 -> u
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getPreviousConsecutive():330:330 -> v
    1:1:com.android.tools.r8.ir.code.Value getStartOfConsecutive():319 -> v
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:com.android.tools.r8.ir.analysis.type.TypeElement getType():1094:1094 -> w
    1:11:com.android.tools.r8.utils.LongInterval getValueRange():960:970 -> x
    1:1:boolean hasAnyUsers():406:406 -> y
    1:1:boolean hasDebugUsers():410:410 -> z
com.android.tools.r8.ir.code.Value$DebugData -> com.android.tools.r8.internal.o10:
    com.android.tools.r8.graph.DebugLocalInfo local -> a
    java.util.Set users -> b
    1:1:void <init>(com.android.tools.r8.graph.DebugLocalInfo):159:159 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DebugLocalInfo):157:160 -> <init>
com.android.tools.r8.ir.code.ValueFactory -> com.android.tools.r8.internal.r10:
com.android.tools.r8.ir.code.ValueType -> com.android.tools.r8.internal.y10:
    com.android.tools.r8.ir.code.ValueType LONG -> e
    com.android.tools.r8.ir.code.ValueType DOUBLE -> f
    com.android.tools.r8.ir.code.ValueType INT -> c
    com.android.tools.r8.ir.code.ValueType FLOAT -> d
    com.android.tools.r8.ir.code.ValueType OBJECT -> b
    com.android.tools.r8.ir.code.ValueType[] $VALUES -> g
    1:5:void <clinit>():17:21 -> <clinit>
    6:6:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(java.lang.String,int):16:16 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int compareTo(com.android.tools.r8.utils.structural.StructuralItem):16:16 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):24:24 -> a
    3:3:boolean isObject():38:38 -> a
    4:4:com.android.tools.r8.ir.code.ValueType fromDexType(com.android.tools.r8.graph.DexType):101:101 -> a
    5:5:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromTypeDescriptorChar(char):96:96 -> a
    5:5:com.android.tools.r8.ir.code.ValueType fromDexType(com.android.tools.r8.graph.DexType):101 -> a
    6:6:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromTypeDescriptorChar(char):94:94 -> a
    6:6:com.android.tools.r8.ir.code.ValueType fromDexType(com.android.tools.r8.graph.DexType):101 -> a
    7:17:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromTypeDescriptorChar(char):80:90 -> a
    7:17:com.android.tools.r8.ir.code.ValueType fromDexType(com.android.tools.r8.graph.DexType):101 -> a
    18:22:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromTypeDescriptorChar(char):88:92 -> a
    18:22:com.android.tools.r8.ir.code.ValueType fromDexType(com.android.tools.r8.graph.DexType):101 -> a
    23:23:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.code.ValueType.fromTypeDescriptorChar(char):86:86 -> a
    23:23:com.android.tools.r8.ir.code.ValueType fromDexType(com.android.tools.r8.graph.DexType):101 -> a
    24:37:com.android.tools.r8.ir.code.ValueType fromNumericType(com.android.tools.r8.ir.code.NumericType):105:118 -> a
    38:38:com.android.tools.r8.ir.code.ValueType fromNumericType(com.android.tools.r8.ir.code.NumericType):116:116 -> a
    39:39:com.android.tools.r8.ir.code.ValueType fromNumericType(com.android.tools.r8.ir.code.NumericType):114:114 -> a
    40:40:com.android.tools.r8.ir.code.ValueType fromNumericType(com.android.tools.r8.ir.code.NumericType):112:112 -> a
    41:41:com.android.tools.r8.ir.code.ValueType fromNumericType(com.android.tools.r8.ir.code.NumericType):110:110 -> a
    42:43:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):123:124 -> a
    44:44:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    44:44:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):126 -> a
    45:45:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):127:127 -> a
    46:46:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    46:46:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):129 -> a
    47:47:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):130:130 -> a
    48:48:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> a
    48:48:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):132 -> a
    49:49:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):133:133 -> a
    50:50:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> a
    50:50:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):135 -> a
    51:53:com.android.tools.r8.ir.code.ValueType fromType(com.android.tools.r8.ir.analysis.type.TypeElement):136:138 -> a
    1:1:boolean isWide():46:46 -> b
    1:1:int requiredRegisters():50:50 -> c
    1:11:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement toPrimitiveType():142:152 -> d
    12:12:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement toPrimitiveType():150:150 -> d
    13:13:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement toPrimitiveType():148:148 -> d
    14:14:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement toPrimitiveType():146:146 -> d
    15:15:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement toPrimitiveType():144:144 -> d
    1:1:com.android.tools.r8.ir.code.ValueType[] values():16:16 -> e
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():34:34 -> n
com.android.tools.r8.ir.code.ValueType$1 -> com.android.tools.r8.internal.x10:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> b
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> c
    int[] $SwitchMap$com$android$tools$r8$ir$code$MemberType -> a
    1:1:void <clinit>():142:142 -> <clinit>
    2:2:void <clinit>():105:105 -> <clinit>
    3:3:void <clinit>():54:54 -> <clinit>
com.android.tools.r8.ir.code.ValueTypeConstraint -> com.android.tools.r8.internal.A10:
    com.android.tools.r8.ir.code.ValueTypeConstraint INT -> c
    com.android.tools.r8.ir.code.ValueTypeConstraint OBJECT -> b
    com.android.tools.r8.ir.code.ValueTypeConstraint LONG -> g
    com.android.tools.r8.ir.code.ValueTypeConstraint INT_OR_FLOAT_OR_OBJECT -> f
    com.android.tools.r8.ir.code.ValueTypeConstraint INT_OR_FLOAT -> e
    com.android.tools.r8.ir.code.ValueTypeConstraint FLOAT -> d
    com.android.tools.r8.ir.code.ValueTypeConstraint[] $VALUES -> j
    com.android.tools.r8.ir.code.ValueTypeConstraint LONG_OR_DOUBLE -> i
    com.android.tools.r8.ir.code.ValueTypeConstraint DOUBLE -> h
    1:8:void <clinit>():14:21 -> <clinit>
    9:9:void <clinit>():13:13 -> <clinit>
    1:1:void <init>(java.lang.String,int):13:13 -> <init>
    1:1:boolean com.android.tools.r8.ir.code.ValueTypeConstraint.isWide():32:32 -> a
    1:1:int requiredRegisters():42 -> a
    2:14:com.android.tools.r8.ir.code.ValueTypeConstraint fromValueType(com.android.tools.r8.ir.code.ValueType):46:58 -> a
    15:15:com.android.tools.r8.ir.code.ValueTypeConstraint fromValueType(com.android.tools.r8.ir.code.ValueType):56:56 -> a
    16:16:com.android.tools.r8.ir.code.ValueTypeConstraint fromValueType(com.android.tools.r8.ir.code.ValueType):54:54 -> a
    17:17:com.android.tools.r8.ir.code.ValueTypeConstraint fromValueType(com.android.tools.r8.ir.code.ValueType):52:52 -> a
    18:18:com.android.tools.r8.ir.code.ValueTypeConstraint fromValueType(com.android.tools.r8.ir.code.ValueType):50:50 -> a
    19:19:com.android.tools.r8.ir.code.ValueTypeConstraint fromValueType(com.android.tools.r8.ir.code.ValueType):48:48 -> a
    20:20:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeDescriptorChar(char):106:106 -> a
    21:21:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeDescriptorChar(char):104:104 -> a
    22:32:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeDescriptorChar(char):90:100 -> a
    33:37:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeDescriptorChar(char):98:102 -> a
    38:38:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeDescriptorChar(char):96:96 -> a
    39:39:com.android.tools.r8.ir.code.ValueTypeConstraint fromDexType(com.android.tools.r8.graph.DexType):111:111 -> a
    40:53:com.android.tools.r8.ir.code.ValueTypeConstraint fromNumericType(com.android.tools.r8.ir.code.NumericType):115:128 -> a
    54:54:com.android.tools.r8.ir.code.ValueTypeConstraint fromNumericType(com.android.tools.r8.ir.code.NumericType):126:126 -> a
    55:55:com.android.tools.r8.ir.code.ValueTypeConstraint fromNumericType(com.android.tools.r8.ir.code.NumericType):124:124 -> a
    56:56:com.android.tools.r8.ir.code.ValueTypeConstraint fromNumericType(com.android.tools.r8.ir.code.NumericType):122:122 -> a
    57:57:com.android.tools.r8.ir.code.ValueTypeConstraint fromNumericType(com.android.tools.r8.ir.code.NumericType):120:120 -> a
    58:59:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):133:134 -> a
    60:60:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBoolean():0:0 -> a
    60:60:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():388 -> a
    60:60:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):136 -> a
    61:61:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isByte():0:0 -> a
    61:61:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():389 -> a
    61:61:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):136 -> a
    62:62:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isShort():0:0 -> a
    62:62:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():390 -> a
    62:62:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):136 -> a
    63:63:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isChar():0:0 -> a
    63:63:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFineGrainedType():391 -> a
    63:63:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):136 -> a
    64:64:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    64:64:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):136 -> a
    65:65:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    65:65:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):139 -> a
    66:66:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):140:140 -> a
    67:67:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> a
    67:67:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):142 -> a
    68:68:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):143:143 -> a
    69:69:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> a
    69:69:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):145 -> a
    70:76:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):146:152 -> a
    77:77:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    77:77:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):154 -> a
    78:80:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):155:157 -> a
    81:81:com.android.tools.r8.ir.code.ValueTypeConstraint fromTypeLattice(com.android.tools.r8.ir.analysis.type.TypeElement):137:137 -> a
    1:1:com.android.tools.r8.ir.code.ValueTypeConstraint[] values():13:13 -> b
com.android.tools.r8.ir.code.ValueTypeConstraint$1 -> com.android.tools.r8.internal.z10:
    int[] $SwitchMap$com$android$tools$r8$ir$code$MemberType -> b
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> c
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueTypeConstraint -> d
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():161:161 -> <clinit>
    2:2:void <clinit>():115:115 -> <clinit>
    3:3:void <clinit>():63:63 -> <clinit>
    4:4:void <clinit>():46:46 -> <clinit>
com.android.tools.r8.ir.code.WideConstant -> com.android.tools.r8.internal.w20:
    long decodedValue() -> a
com.android.tools.r8.ir.code.Xor -> com.android.tools.r8.internal.I30:
    1:1:void <init>(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):18:18 -> <init>
    com.android.tools.r8.ir.code.Xor asXor() -> J0
    java.lang.Object accept(com.android.tools.r8.ir.code.InstructionVisitor) -> a
    int foldIntegers(int,int) -> a
    long foldLongs(long,long) -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt(int,int,int):48:48 -> a
    2:2:boolean outTypeKnownToBeBoolean(java.util.Set):98:98 -> a
    1:1:com.android.tools.r8.code.Instruction CreateInt2Addr(int,int):58:58 -> b
    2:2:com.android.tools.r8.code.Instruction CreateIntLit16(int,int,int):73:73 -> b
    3:3:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):78:78 -> b
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isXor():0:0 -> b
    4:4:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):78 -> b
    5:5:boolean identicalNonValueNonPositionParts(com.android.tools.r8.ir.code.Instruction):78:78 -> b
    1:1:com.android.tools.r8.code.Instruction CreateLong2Addr(int,int):63:63 -> c
    2:2:com.android.tools.r8.code.Instruction CreateIntLit8(int,int,int):68:68 -> c
    1:1:com.android.tools.r8.code.Instruction CreateLong(int,int,int):53:53 -> d
    int opcode() -> l2
    boolean isCommutative() -> p2
    1:1:com.android.tools.r8.cf.code.CfLogicalBinop$Opcode getCfOpcode():93:93 -> t2
com.android.tools.r8.ir.conversion.ArrayFilledDataPayloadResolver -> com.android.tools.r8.internal.i3:
    java.util.Map unresolvedPayload -> a
    java.util.Map payloadToData -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():15:15 -> <clinit>
    1:10:void <init>():15:24 -> <init>
    1:7:void addPayloadUser(com.android.tools.r8.code.FillArrayData):27:33 -> a
    8:17:void resolve(com.android.tools.r8.code.FillArrayDataPayload):38:47 -> a
    18:18:short[] getData(int):59:59 -> a
    19:19:void clear():63:63 -> a
    1:1:int getElementWidth(int):51:51 -> b
    1:1:long getSize(int):55:55 -> c
com.android.tools.r8.ir.conversion.ArrayFilledDataPayloadResolver$PayloadData -> com.android.tools.r8.internal.h3:
    long size -> b
    short[] data -> c
    int element_width -> a
    1:1:void <init>():17:17 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.conversion.ArrayFilledDataPayloadResolver$1):17:17 -> <init>
com.android.tools.r8.ir.conversion.CfBuilder -> com.android.tools.r8.internal.J6:
    com.android.tools.r8.ir.code.Position currentPosition -> h
    java.util.Map newInstanceLabels -> q
    java.util.List thisInitializers -> p
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.code.BasicBlock pendingFrame -> l
    boolean pendingLocalChanges -> k
    java.util.Map initializers -> o
    com.android.tools.r8.ir.code.IRCode code -> c
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder bytecodeMetadataBuilder -> r
    com.android.tools.r8.graph.ProgramMethod method -> b
    boolean $assertionsDisabled -> s
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap openLocalVariables -> n
    java.util.Map labels -> d
    com.android.tools.r8.cf.CfRegisterAllocator registerAllocator -> g
    java.util.List instructions -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap pendingLocals -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap emittedLocals -> i
    java.util.Set emittedLabels -> e
    java.util.List localVariablesTable -> m
    1:1:void <clinit>():77:77 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):140:140 -> <init>
    2:54:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):92:144 -> <init>
    1:7:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():245:251 -> a
    1:7:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):148 -> a
    8:14:java.util.List com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers(com.android.tools.r8.ir.code.Value):266:272 -> a
    8:14:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():251 -> a
    8:14:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):148 -> a
    15:21:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():251:257 -> a
    15:21:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):148 -> a
    22:28:java.util.List com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers(com.android.tools.r8.ir.code.Value):266:272 -> a
    22:28:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():257 -> a
    22:28:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):148 -> a
    29:34:void com.android.tools.r8.ir.conversion.CfBuilder.computeInitializers():257:262 -> a
    29:34:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):148 -> a
    35:37:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):149:151 -> a
    38:42:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteNots():279:283 -> a
    38:42:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):152 -> a
    43:43:boolean com.android.tools.r8.ir.code.Instruction.isNot():0:0 -> a
    43:43:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteNots():283 -> a
    43:43:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):152 -> a
    44:48:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteNots():287:291 -> a
    44:48:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):152 -> a
    49:49:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    49:49:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteNots():291 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    49:49:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):152 -> a
    50:58:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteNots():292:300 -> a
    50:58:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):152 -> a
    59:59:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteNots():299:299 -> a
    59:59:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):152 -> a
    60:72:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):153:165 -> a
    73:88:java.util.Set com.android.tools.r8.ir.conversion.CfBuilder.insertUninitializedThisLocalReads():201:216 -> a
    73:88:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):168 -> a
    89:105:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):169:185 -> a
    106:111:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():422:427 -> a
    106:111:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    112:112:boolean com.android.tools.r8.ir.code.Instruction.isLoad():0:0 -> a
    112:112:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():427 -> a
    112:112:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    113:145:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():427:459 -> a
    113:145:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    146:146:int com.android.tools.r8.ir.conversion.CfBuilder.getLocalRegister(com.android.tools.r8.ir.code.Value):695:695 -> a
    146:146:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():459 -> a
    146:146:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    147:147:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():459:459 -> a
    147:147:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    148:148:int com.android.tools.r8.ir.conversion.CfBuilder.getLocalRegister(com.android.tools.r8.ir.code.Value):695:695 -> a
    148:148:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():459 -> a
    148:148:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    149:167:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():460:478 -> a
    149:167:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    168:168:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():456:456 -> a
    168:168:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    169:169:void com.android.tools.r8.ir.conversion.CfBuilder.rewriteIincPatterns():451:451 -> a
    169:169:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):190 -> a
    170:171:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):192:193 -> a
    172:187:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():315:330 -> a
    172:187:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    188:188:boolean com.android.tools.r8.ir.code.CatchHandlers.isEmpty():55:55 -> a
    188:188:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():331 -> a
    188:188:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    189:191:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():333:335 -> a
    189:191:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    192:197:com.android.tools.r8.cf.code.CfTryCatch com.android.tools.r8.cf.code.CfTryCatch.fromBuilder(com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.cf.code.CfLabel,com.android.tools.r8.ir.code.CatchHandlers,com.android.tools.r8.ir.conversion.CfBuilder):43:48 -> a
    192:197:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():335 -> a
    192:197:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    198:198:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():334:334 -> a
    198:198:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    199:201:void com.android.tools.r8.ir.conversion.CfBuilder.emitLabel(com.android.tools.r8.cf.code.CfLabel):682:684 -> a
    199:201:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():336 -> a
    199:201:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    202:202:boolean com.android.tools.r8.ir.code.CatchHandlers.isEmpty():55:55 -> a
    202:202:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():338 -> a
    202:202:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    203:203:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():340:340 -> a
    203:203:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    204:206:void com.android.tools.r8.ir.conversion.CfBuilder.emitLabel(com.android.tools.r8.cf.code.CfLabel):682:684 -> a
    204:206:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():341 -> a
    204:206:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    207:212:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():345:350 -> a
    207:212:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    213:215:void com.android.tools.r8.ir.conversion.CfBuilder.emitLabel(com.android.tools.r8.cf.code.CfLabel):682:684 -> a
    213:215:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():350 -> a
    213:215:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    216:224:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():352:360 -> a
    216:224:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    225:226:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    225:226:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    225:226:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():360 -> a
    225:226:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    227:228:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():360:361 -> a
    227:228:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    229:231:int com.android.tools.r8.ir.conversion.CfBuilder.stackHeightAtBlockEntry(com.android.tools.r8.ir.code.BasicBlock):307:309 -> a
    229:231:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():364 -> a
    229:231:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    232:233:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.setHeight(int):131:132 -> a
    232:233:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():364 -> a
    232:233:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    234:234:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):485:485 -> a
    234:234:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    234:234:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    235:235:boolean com.android.tools.r8.ir.conversion.CfBuilder.hasMaterializingInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):413:413 -> a
    235:235:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):486 -> a
    235:235:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    235:235:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    236:236:boolean com.android.tools.r8.ir.conversion.CfBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):402:402 -> a
    236:236:boolean com.android.tools.r8.ir.conversion.CfBuilder.hasMaterializingInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):414 -> a
    236:236:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):486 -> a
    236:236:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    236:236:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    237:237:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    237:237:boolean com.android.tools.r8.ir.conversion.CfBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):403 -> a
    237:237:boolean com.android.tools.r8.ir.conversion.CfBuilder.hasMaterializingInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):414 -> a
    237:237:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):486 -> a
    237:237:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    237:237:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    238:238:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    238:238:boolean com.android.tools.r8.ir.conversion.CfBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):404 -> a
    238:238:boolean com.android.tools.r8.ir.conversion.CfBuilder.hasMaterializingInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):414 -> a
    238:238:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):486 -> a
    238:238:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    238:238:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    239:239:boolean com.android.tools.r8.ir.conversion.CfBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):406:406 -> a
    239:239:boolean com.android.tools.r8.ir.conversion.CfBuilder.hasMaterializingInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):414 -> a
    239:239:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):486 -> a
    239:239:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    239:239:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    240:242:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):490:492 -> a
    240:242:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    240:242:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    243:245:void com.android.tools.r8.ir.conversion.CfBuilder.addFrame(com.android.tools.r8.ir.code.BasicBlock):592:594 -> a
    243:245:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):492 -> a
    243:245:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    243:245:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    246:246:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    246:246:void com.android.tools.r8.ir.conversion.CfBuilder.addFrame(com.android.tools.r8.ir.code.BasicBlock):594 -> a
    246:246:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):492 -> a
    246:246:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    246:246:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    247:278:void com.android.tools.r8.ir.conversion.CfBuilder.addFrame(com.android.tools.r8.ir.code.BasicBlock):595:626 -> a
    247:278:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):492 -> a
    247:278:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    247:278:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    279:289:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):493:503 -> a
    279:289:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    279:289:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    290:290:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.pop(com.android.tools.r8.ir.code.Value):126:126 -> a
    290:290:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):503 -> a
    290:290:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    290:290:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    291:291:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.pop(com.android.tools.r8.ir.code.Value):127:127 -> a
    291:291:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):503 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    291:291:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    291:291:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    292:292:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.pop(com.android.tools.r8.ir.code.Value):127:127 -> a
    292:292:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):503 -> a
    292:292:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    292:292:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    293:295:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):506:508 -> a
    293:295:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    293:295:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    296:298:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.push(com.android.tools.r8.ir.code.Value):120:122 -> a
    296:298:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):509 -> a
    296:298:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    296:298:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    299:300:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):511:512 -> a
    299:300:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    299:300:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    301:303:void com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.push(com.android.tools.r8.ir.code.Value):120:122 -> a
    301:303:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):513 -> a
    301:303:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    301:303:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    304:304:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    304:304:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):517 -> a
    304:304:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    304:304:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    305:310:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):518:523 -> a
    305:310:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    305:310:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    311:318:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):532:539 -> a
    311:318:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):525 -> a
    311:318:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    311:318:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    319:319:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
    319:319:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):540 -> a
    319:319:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):525 -> a
    319:319:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    319:319:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    320:330:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):541:551 -> a
    320:330:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):525 -> a
    320:330:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    320:330:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    331:331:void com.android.tools.r8.ir.conversion.CfBuilder.add(com.android.tools.r8.cf.code.CfInstruction):699:699 -> a
    331:331:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):551 -> a
    331:331:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):525 -> a
    331:331:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    331:331:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    332:332:void com.android.tools.r8.ir.conversion.CfBuilder.updatePositionAndLocals(com.android.tools.r8.ir.code.Instruction):552:552 -> a
    332:332:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):525 -> a
    332:332:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    332:332:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    333:333:void com.android.tools.r8.ir.conversion.CfBuilder.buildCfInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,boolean,com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker):526:526 -> a
    333:333:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():365 -> a
    333:333:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    334:334:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():367:367 -> a
    334:334:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    335:335:boolean com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker.isEmpty():116:116 -> a
    335:335:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():367 -> a
    335:335:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    336:366:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.conversion.CfBuilder.buildCfCode():367:397 -> a
    336:366:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):194 -> a
    367:367:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):195:195 -> a
    368:376:boolean com.android.tools.r8.ir.conversion.CfBuilder.verifyInvokeInterface(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.AppView):223:231 -> a
    368:376:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):195 -> a
    377:377:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.optimize.DeadCodeRemover,com.android.tools.r8.ir.conversion.MethodConversionOptions):196:196 -> a
    378:379:void updateLocals(com.android.tools.r8.cf.code.CfLabel):557:558 -> a
    380:385:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.graph.DebugLocalInfo.endingLocals(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):74:79 -> a
    380:385:void updateLocals(com.android.tools.r8.cf.code.CfLabel):558 -> a
    386:386:void updateLocals(com.android.tools.r8.cf.code.CfLabel):559:559 -> a
    387:392:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.graph.DebugLocalInfo.startingLocals(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):88:93 -> a
    387:392:void updateLocals(com.android.tools.r8.cf.code.CfLabel):560 -> a
    393:408:void updateLocals(com.android.tools.r8.cf.code.CfLabel):561:576 -> a
    409:414:void updateLocals(com.android.tools.r8.cf.code.CfLabel):575:580 -> a
    415:418:boolean localsChanged():584:587 -> a
    419:420:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):630:631 -> a
    421:426:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.ir.conversion.CfBuilder.findAllocator(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):640:645 -> a
    421:426:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):633 -> a
    427:427:com.android.tools.r8.graph.DexType com.android.tools.r8.cf.TypeVerificationHelper$NewInstanceInfo.getDexType():70:70 -> a
    427:427:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.ir.conversion.CfBuilder.findAllocator(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):645 -> a
    427:427:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):633 -> a
    428:459:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.ir.conversion.CfBuilder.findAllocator(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):644:675 -> a
    428:459:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):633 -> a
    460:460:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):634:634 -> a
    461:461:com.android.tools.r8.cf.code.CfFrame$FrameType com.android.tools.r8.ir.conversion.CfBuilder.findAllocator(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):650:650 -> a
    461:461:com.android.tools.r8.cf.code.CfFrame$FrameType getFrameType(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.cf.TypeVerificationHelper$TypeInfo):633 -> a
    462:462:com.android.tools.r8.cf.code.CfLabel getLabel(com.android.tools.r8.ir.code.BasicBlock):691:691 -> a
    463:463:int getLocalRegister(com.android.tools.r8.ir.code.Value):695:695 -> a
    464:464:void add(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.code.Instruction):703:703 -> a
    465:465:void com.android.tools.r8.ir.conversion.CfBuilder.add(com.android.tools.r8.cf.code.CfInstruction):699:699 -> a
    465:465:void add(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.code.Instruction):704 -> a
    466:466:void add(com.android.tools.r8.cf.code.CfInstruction[]):708:708 -> a
    467:467:boolean verifyNoMetadata(com.android.tools.r8.ir.code.Instruction):716:716 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel lambda$getLabel$0(com.android.tools.r8.ir.code.BasicBlock):691:691 -> b
com.android.tools.r8.ir.conversion.CfBuilder$StackHeightTracker -> com.android.tools.r8.internal.I6:
    int height -> b
    boolean $assertionsDisabled -> c
    int maxHeight -> a
    1:1:void <clinit>():111:111 -> <clinit>
    1:3:void <init>():111:113 -> <init>
    4:4:void <init>(com.android.tools.r8.ir.conversion.CfBuilder$1):111:111 -> <init>
com.android.tools.r8.ir.conversion.CfSourceCode -> com.android.tools.r8.internal.y8:
    int currentInstructionIndex -> o
    com.android.tools.r8.graph.CfCode code -> h
    com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo currentBlockInfo -> a
    com.android.tools.r8.graph.ProgramMethod method -> i
    com.android.tools.r8.ir.code.Monitor monitorEnter -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap incomingState -> t
    com.android.tools.r8.utils.InternalOutputMode internalOutputMode -> v
    boolean $assertionsDisabled -> w
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap outgoingLocals -> s
    boolean inPrelude -> q
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap incomingLocals -> r
    com.android.tools.r8.origin.Origin origin -> j
    com.android.tools.r8.graph.AppView appView -> k
    com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList cachedLocalVariableList -> n
    com.android.tools.r8.ir.conversion.CfState state -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap labelOffsets -> l
    java.util.List localVariables -> g
    com.android.tools.r8.ir.code.CanonicalPositions canonicalPositions -> u
    boolean hasExitingInstruction -> b
    boolean needsGeneratedMethodSynchronization -> c
    int currentBlockIndex -> p
    boolean currentlyGeneratingMethodSynchronization -> d
    com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList cachedTryHandlerList -> m
    1:1:void <clinit>():60:60 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.CfCode,java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.AppView):232:232 -> <init>
    2:199:void <init>(com.android.tools.r8.graph.CfCode,java.util.List,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.AppView):63:260 -> <init>
    void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder) -> a
    void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder) -> a
    boolean verifyLocalInScope(com.android.tools.r8.graph.DebugLocalInfo) -> a
    1:3:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):303:305 -> a
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    4:4:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):305 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    5:5:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):305 -> a
    6:8:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):305:305 -> a
    10:11:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):307:308 -> a
    12:12:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:89 -> a
    12:12:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):309 -> a
    13:13:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:89 -> a
    13:13:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):309 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:89 -> a
    14:14:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):309 -> a
    15:15:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():90:90 -> a
    15:15:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):309 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():90:90 -> a
    16:16:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):309 -> a
    17:18:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):311:312 -> a
    19:19:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> a
    19:19:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):312 -> a
    20:38:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):313:331 -> a
    39:39:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):338:338 -> a
    40:40:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.validFor(int):85:85 -> a
    40:40:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):338 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    41:41:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.validFor(int):85:85 -> a
    41:41:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):338 -> a
    42:45:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):339:342 -> a
    46:47:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.computeTryHandlers(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,boolean,com.android.tools.r8.graph.DexItemFactory):101:102 -> a
    46:47:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    48:48:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.computeTryHandlers(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,boolean,com.android.tools.r8.graph.DexItemFactory):102 -> a
    48:48:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    49:49:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.computeTryHandlers(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,boolean,com.android.tools.r8.graph.DexItemFactory):103:103 -> a
    49:49:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    50:50:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.<init>():104:104 -> a
    50:50:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.computeTryHandlers(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,boolean,com.android.tools.r8.graph.DexItemFactory):103 -> a
    50:50:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    51:79:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.computeTryHandlers(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,boolean,com.android.tools.r8.graph.DexItemFactory):105:133 -> a
    51:79:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340 -> a
    80:87:com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList getTryHandlers(int,com.android.tools.r8.graph.DexItemFactory):340:347 -> a
    88:93:void com.android.tools.r8.ir.conversion.CfSourceCode.buildExceptionalExitMethodSynchronization(com.android.tools.r8.ir.conversion.IRBuilder):445:450 -> a
    88:93:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):509 -> a
    94:105:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):512:523 -> a
    106:113:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):520:527 -> a
    114:123:void com.android.tools.r8.ir.conversion.CfSourceCode.setLocalVariableLists():763:772 -> a
    114:123:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):528 -> a
    124:126:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):530:532 -> a
    127:127:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState$Snapshot.exceptionTransfer(com.android.tools.r8.graph.DexType):326:326 -> a
    127:127:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):532 -> a
    128:128:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState$Snapshot.exceptionTransfer(com.android.tools.r8.graph.DexType):326:326 -> a
    128:128:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):532 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    129:131:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState$Snapshot.exceptionTransfer(com.android.tools.r8.graph.DexType):326:328 -> a
    129:131:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):532 -> a
    132:132:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):533:533 -> a
    133:133:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    133:133:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    133:133:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):533 -> a
    134:135:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):533:534 -> a
    136:136:boolean com.android.tools.r8.ir.conversion.CfSourceCode.localsChanged():776:776 -> a
    136:136:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):538 -> a
    137:140:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):540:543 -> a
    141:141:void com.android.tools.r8.ir.conversion.CfSourceCode.endLocals(com.android.tools.r8.ir.conversion.IRBuilder):780:780 -> a
    141:141:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):562 -> a
    142:142:boolean com.android.tools.r8.ir.conversion.CfSourceCode.localsChanged():776:776 -> a
    142:142:void com.android.tools.r8.ir.conversion.CfSourceCode.endLocals(com.android.tools.r8.ir.conversion.IRBuilder):780 -> a
    142:142:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):562 -> a
    143:146:void com.android.tools.r8.ir.conversion.CfSourceCode.endLocals(com.android.tools.r8.ir.conversion.IRBuilder):780:783 -> a
    143:146:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):562 -> a
    147:153:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):545:551 -> a
    154:154:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    154:154:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):551 -> a
    155:155:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):552:552 -> a
    156:156:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    156:156:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    156:156:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):552 -> a
    157:162:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):552:557 -> a
    163:163:void com.android.tools.r8.ir.conversion.CfSourceCode.build(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.conversion.IRBuilder):581:581 -> a
    163:163:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):565 -> a
    164:170:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):567:573 -> a
    171:171:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):789:789 -> a
    171:171:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    172:172:boolean com.android.tools.r8.ir.conversion.CfSourceCode.localsChanged():776:776 -> a
    172:172:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):789 -> a
    172:172:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    173:178:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):789:794 -> a
    173:178:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    179:179:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":204,"2":205,"3":206}}
    204:204:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):794:794 -> a
    204:204:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    205:205:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):794:794 -> a
    205:205:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    206:206:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):794:794 -> a
    206:206:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    180:180:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):794:794 -> a
    180:180:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    181:193:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode.prettyType(com.android.tools.r8.ir.code.ValueType):806:818 -> a
    181:193:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796 -> a
    181:193:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    194:194:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode.prettyType(com.android.tools.r8.ir.code.ValueType):816:816 -> a
    194:194:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796 -> a
    194:194:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    195:195:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode.prettyType(com.android.tools.r8.ir.code.ValueType):814:814 -> a
    195:195:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796 -> a
    195:195:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    196:196:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode.prettyType(com.android.tools.r8.ir.code.ValueType):812:812 -> a
    196:196:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796 -> a
    196:196:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    197:197:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode.prettyType(com.android.tools.r8.ir.code.ValueType):810:810 -> a
    197:197:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796 -> a
    197:197:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    198:198:java.lang.String com.android.tools.r8.ir.conversion.CfSourceCode.prettyType(com.android.tools.r8.ir.code.ValueType):808:808 -> a
    198:198:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796 -> a
    198:198:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    199:203:void com.android.tools.r8.ir.conversion.CfSourceCode.startLocals(com.android.tools.r8.ir.conversion.IRBuilder):796:800 -> a
    199:203:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):576 -> a
    207:210:void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder):455:458 -> a
    211:213:void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean):471:471 -> a
    217:241:void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean):475:499 -> a
    242:243:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):585:586 -> a
    244:248:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):122:126 -> a
    244:248:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    249:264:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):130:145 -> a
    249:264:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    249:264:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    265:265:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":288,"2":289,"3":290,"4":291,"5":292}}
    288:288:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    288:288:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    288:288:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    289:289:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    289:289:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    289:289:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    290:290:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    290:290:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    290:290:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    291:291:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    291:291:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    291:291:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    292:292:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    292:292:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    292:292:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    266:266:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    266:266:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    266:266:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    267:267:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    267:267:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    267:267:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145 -> a
    267:267:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    267:267:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    268:268:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):145:145 -> a
    268:268:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    268:268:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    269:269:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):588:588 -> a
    270:270:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131:131 -> a
    270:270:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    270:270:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    271:271:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":293,"2":294,"3":295}}
    293:293:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131:131 -> a
    293:293:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    293:293:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    294:294:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131:131 -> a
    294:294:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    294:294:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    295:295:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131:131 -> a
    295:295:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    295:295:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    272:272:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131:131 -> a
    272:272:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    272:272:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    273:273:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    273:273:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    273:273:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131 -> a
    273:273:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    273:273:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    274:274:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.ir.conversion.CfState$BaseSnapshot,com.android.tools.r8.origin.Origin):131:131 -> a
    274:274:com.android.tools.r8.ir.conversion.CfState$Snapshot com.android.tools.r8.ir.conversion.CfState.merge(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.origin.Origin):126 -> a
    274:274:void recordStateForTarget(int,com.android.tools.r8.ir.conversion.CfState$Snapshot):586 -> a
    296:297:int getLabelOffset(com.android.tools.r8.cf.code.CfLabel):597:598 -> a
    298:311:void setStateFromFrame(com.android.tools.r8.cf.code.CfFrame):602:615 -> a
    312:315:void setStateFromFrame(com.android.tools.r8.cf.code.CfFrame):614:617 -> a
    316:318:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isFirstFrameInBlock():624:626 -> a
    316:318:void setStateFromFrame(com.android.tools.r8.cf.code.CfFrame):618 -> a
    319:319:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    319:319:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isFirstFrameInBlock():626 -> a
    319:319:void setStateFromFrame(com.android.tools.r8.cf.code.CfFrame):618 -> a
    320:320:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    320:320:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isFirstFrameInBlock():626 -> a
    320:320:void setStateFromFrame(com.android.tools.r8.cf.code.CfFrame):618 -> a
    321:321:void setStateFromFrame(com.android.tools.r8.cf.code.CfFrame):619:619 -> a
    322:345:com.android.tools.r8.graph.DexType convertUninitialized(com.android.tools.r8.cf.code.CfFrame$FrameType):635:658 -> a
    346:346:com.android.tools.r8.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int):672:672 -> a
    347:360:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):678:691 -> a
    361:361:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1107,"2":1108,"3":1109,"4":1110,"5":1111,"6":1112}}
    1107:1107:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1108:1108:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1109:1109:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1110:1110:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1111:1111:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1112:1112:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1052:1052:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):691:691 -> a
    1053:1106:com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):688:741 -> a
    1113:1114:boolean isControlFlow(com.android.tools.r8.cf.code.CfInstruction):823:824 -> a
    1115:1115:boolean hasValidTypesFromStackMap():866:866 -> a
    1116:1124:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):872:872 -> a
    1133:1146:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):881:894 -> a
    1147:1151:com.android.tools.r8.ir.code.Position getCanonicalPosition(com.android.tools.r8.ir.code.Position):903:907 -> a
    1152:1154:com.android.tools.r8.ir.code.Position getCanonicalPosition(com.android.tools.r8.ir.code.Position):906:908 -> a
    1155:1155:com.android.tools.r8.ir.code.Position getCanonicalPosition(com.android.tools.r8.ir.code.Position):903:903 -> a
    boolean verifyRegister(int) -> b
    1:3:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):388:390 -> b
    4:13:void com.android.tools.r8.ir.conversion.CfSourceCode.setLocalVariableLists():763:772 -> b
    4:13:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):391 -> b
    14:34:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):392:412 -> b
    35:47:void com.android.tools.r8.ir.conversion.CfSourceCode.buildMethodEnterSynchronization(com.android.tools.r8.ir.conversion.IRBuilder):428:440 -> b
    35:47:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):413 -> b
    48:50:com.android.tools.r8.ir.code.Monitor com.android.tools.r8.ir.conversion.IRBuilder.addMonitor(com.android.tools.r8.ir.code.Monitor$Type,int):1294:1296 -> b
    48:50:void com.android.tools.r8.ir.conversion.CfSourceCode.buildMethodEnterSynchronization(com.android.tools.r8.ir.conversion.IRBuilder):440 -> b
    48:50:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):413 -> b
    51:52:void com.android.tools.r8.ir.conversion.CfSourceCode.buildMethodEnterSynchronization(com.android.tools.r8.ir.conversion.IRBuilder):440:441 -> b
    51:52:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):413 -> b
    53:54:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):415:416 -> b
    55:55:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isCurrentlyGeneratingMethodSynchronization():420:420 -> b
    55:55:boolean verifyCurrentInstructionCanThrow():853 -> b
    56:59:boolean verifyCurrentInstructionCanThrow():853:856 -> b
    60:60:boolean lambda$getCanonicalDebugPositionAtOffset$0(com.android.tools.r8.cf.code.CfInstruction):876:876 -> b
    int instructionIndex(int) -> c
    void setUp() -> c
    1:1:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):831:831 -> c
    2:2:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isCurrentlyGeneratingMethodSynchronization():420:420 -> c
    2:2:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):834 -> c
    3:5:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):837:839 -> c
    6:6:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):838:838 -> c
    7:7:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:89 -> c
    7:7:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):840 -> c
    8:8:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:89 -> c
    8:8:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):840 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():89:89 -> c
    9:9:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):840 -> c
    10:10:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():90:90 -> c
    10:10:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):840 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:boolean com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList.isEmpty():90:90 -> c
    11:11:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):840 -> c
    12:12:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):843:843 -> c
    13:13:com.android.tools.r8.ir.code.Position lambda$getCanonicalDebugPositionAtOffset$1(com.android.tools.r8.cf.code.CfInstruction):877:877 -> c
    1:1:int instructionCount():277:277 -> d
    2:2:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isCurrentlyGeneratingMethodSynchronization():420:420 -> d
    2:2:com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int):751 -> d
    3:8:com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int):754:759 -> d
    1:1:boolean com.android.tools.r8.ir.conversion.CfSourceCode.isCurrentlyGeneratingMethodSynchronization():420:420 -> e
    1:1:com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int):746 -> e
    2:2:com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int):746:746 -> e
    3:3:com.android.tools.r8.ir.code.Position getCurrentPosition():899:899 -> e
    int getMoveExceptionRegister(int) -> f
    1:1:int getCurrentInstructionIndex():593:593 -> f
    int instructionOffset(int) -> g
    1:1:com.android.tools.r8.graph.DexEncodedMethod getMethod():264:264 -> g
    1:1:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList getLocalVariables(int):351:351 -> h
    2:2:boolean com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList.validFor(int):180:180 -> h
    2:2:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList getLocalVariables(int):351 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList.validFor(int):180:180 -> h
    3:3:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList getLocalVariables(int):351 -> h
    4:7:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList getLocalVariables(int):352:355 -> h
    8:8:java.lang.Iterable lambda$getCanonicalDebugPositionAtOffset$2():878:878 -> h
    9:12:java.lang.Iterable lambda$getCanonicalDebugPositionAtOffset$2():875:878 -> h
    1:8:int[] getTargets(int):359:366 -> i
    9:9:int[] getTargets(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":396,"2":397,"3":398}}
    396:396:int[] getTargets(int):366:366 -> i
    397:397:int[] getTargets(int):366:366 -> i
    398:398:int[] getTargets(int):366:366 -> i
    376:392:int[] getTargets(int):367:383 -> i
    393:394:int[] getTargets(int):363:364 -> i
com.android.tools.r8.ir.conversion.CfSourceCode$1 -> com.android.tools.r8.internal.v8:
    int[] $SwitchMap$com$android$tools$r8$ir$code$ValueType -> a
    1:1:void <clinit>():806:806 -> <clinit>
com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList -> com.android.tools.r8.internal.w8:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap locals -> c
    int endOffset -> b
    int startOffset -> a
    1:4:void <init>(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):145:148 -> <init>
    1:12:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList compute(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):158:169 -> a
    13:13:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    13:13:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList compute(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):169 -> a
    14:19:com.android.tools.r8.ir.conversion.CfSourceCode$LocalVariableList compute(int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):171:176 -> a
com.android.tools.r8.ir.conversion.CfSourceCode$TryHandlerList -> com.android.tools.r8.internal.x8:
    java.util.List guards -> c
    boolean $assertionsDisabled -> e
    int endOffset -> b
    int startOffset -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList offsets -> d
    1:1:void <clinit>():70:70 -> <clinit>
    1:5:void <init>(int,int,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):77:81 -> <init>
com.android.tools.r8.ir.conversion.CfSourceUtils -> com.android.tools.r8.internal.z8:
    1:1:com.android.tools.r8.cf.code.CfInstruction com.android.tools.r8.ir.conversion.CfSourceUtils.getLastInstruction(java.util.List):24:24 -> a
    1:1:com.android.tools.r8.cf.code.CfLabel ensureLabel(java.util.List):14 -> a
    2:2:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    2:2:com.android.tools.r8.cf.code.CfLabel ensureLabel(java.util.List):15 -> a
    3:6:com.android.tools.r8.cf.code.CfLabel ensureLabel(java.util.List):16:19 -> a
com.android.tools.r8.ir.conversion.CfState -> com.android.tools.r8.internal.L8:
    com.android.tools.r8.ir.conversion.CfState$Snapshot current -> a
    com.android.tools.r8.ir.code.Position position -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>(com.android.tools.r8.origin.Origin):81:81 -> <init>
    1:1:void buildPrelude(com.android.tools.r8.ir.code.Position):88:88 -> a
    2:2:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>():338:338 -> a
    2:2:void buildPrelude(com.android.tools.r8.ir.code.Position):88 -> a
    3:4:void buildPrelude(com.android.tools.r8.ir.code.Position):88:89 -> a
    5:7:void reset(com.android.tools.r8.ir.conversion.CfState$Snapshot,boolean,com.android.tools.r8.ir.code.Position):97:99 -> a
    8:8:com.android.tools.r8.ir.conversion.CfState$BaseSnapshot setStateFromFrame(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexType[],com.android.tools.r8.ir.code.Position):103:103 -> a
    9:9:int com.android.tools.r8.ir.conversion.CfState.stackHeight():161:161 -> a
    9:9:com.android.tools.r8.ir.conversion.CfState$BaseSnapshot setStateFromFrame(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexType[],com.android.tools.r8.ir.code.Position):103 -> a
    10:12:com.android.tools.r8.ir.conversion.CfState$BaseSnapshot setStateFromFrame(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexType[],com.android.tools.r8.ir.code.Position):103:105 -> a
    13:13:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.conversion.CfState$Slot):165:165 -> a
    14:14:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):177:177 -> a
    14:14:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.conversion.CfState$Slot):165 -> a
    15:15:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    15:15:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    15:15:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.conversion.CfState$Slot):165 -> a
    16:17:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> a
    16:17:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183 -> a
    16:17:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    16:17:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.conversion.CfState$Slot):165 -> a
    18:18:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    18:18:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    18:18:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.conversion.CfState$Slot):165 -> a
    19:19:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):179:179 -> a
    19:19:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.conversion.CfState$Slot):165 -> a
    20:20:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.graph.DexType):169:169 -> a
    21:21:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):177:177 -> a
    21:21:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.graph.DexType):169 -> a
    22:22:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    22:22:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    22:22:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.graph.DexType):169 -> a
    23:24:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> a
    23:24:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183 -> a
    23:24:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    23:24:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.graph.DexType):169 -> a
    25:25:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    25:25:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    25:25:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.graph.DexType):169 -> a
    26:26:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):179:179 -> a
    26:26:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.graph.DexType):169 -> a
    27:27:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.code.ValueType):173:173 -> a
    28:28:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):177:177 -> a
    28:28:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.code.ValueType):173 -> a
    29:29:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    29:29:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    29:29:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.code.ValueType):173 -> a
    30:31:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> a
    30:31:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183 -> a
    30:31:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    30:31:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.code.ValueType):173 -> a
    32:32:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    32:32:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):178 -> a
    32:32:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.code.ValueType):173 -> a
    33:33:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.push(com.android.tools.r8.ir.conversion.CfState$SlotType):179:179 -> a
    33:33:com.android.tools.r8.ir.conversion.CfState$Slot push(com.android.tools.r8.ir.code.ValueType):173 -> a
    34:34:com.android.tools.r8.ir.conversion.CfState$Slot read(int):209:209 -> a
    35:35:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.graph.DexType):213:213 -> a
    36:36:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221:221 -> a
    36:36:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.graph.DexType):213 -> a
    37:37:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    37:37:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221 -> a
    37:37:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.graph.DexType):213 -> a
    38:39:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> a
    38:39:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183 -> a
    38:39:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221 -> a
    38:39:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.graph.DexType):213 -> a
    40:40:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    40:40:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221 -> a
    40:40:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.graph.DexType):213 -> a
    41:41:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):222:222 -> a
    41:41:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.graph.DexType):213 -> a
    42:42:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.ir.conversion.CfState$Slot):217:217 -> a
    43:43:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221:221 -> a
    43:43:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.ir.conversion.CfState$Slot):217 -> a
    44:44:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    44:44:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221 -> a
    44:44:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.ir.conversion.CfState$Slot):217 -> a
    45:46:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> a
    45:46:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183 -> a
    45:46:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221 -> a
    45:46:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.ir.conversion.CfState$Slot):217 -> a
    47:47:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> a
    47:47:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):221 -> a
    47:47:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.ir.conversion.CfState$Slot):217 -> a
    48:48:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState.write(int,com.android.tools.r8.ir.conversion.CfState$SlotType):222:222 -> a
    48:48:com.android.tools.r8.ir.conversion.CfState$Slot write(int,com.android.tools.r8.ir.conversion.CfState$Slot):217 -> a
    49:49:com.android.tools.r8.ir.code.Position getPosition():226:226 -> a
    1:1:com.android.tools.r8.ir.conversion.CfState$Snapshot getSnapshot():118:118 -> b
    2:3:void setPosition(com.android.tools.r8.ir.code.Position):230:231 -> b
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek():201:201 -> c
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek(int):205:205 -> d
    1:2:com.android.tools.r8.ir.conversion.CfState$Slot pop():187:188 -> e
    3:3:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> e
    3:3:com.android.tools.r8.ir.conversion.CfState$Slot pop():188 -> e
    4:5:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> e
    4:5:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183 -> e
    4:5:com.android.tools.r8.ir.conversion.CfState$Slot pop():188 -> e
    6:6:void com.android.tools.r8.ir.conversion.CfState.updateState(com.android.tools.r8.ir.conversion.CfState$Snapshot):183:183 -> e
    6:6:com.android.tools.r8.ir.conversion.CfState$Slot pop():188 -> e
    1:1:java.lang.String toString():236:236 -> toString
com.android.tools.r8.ir.conversion.CfState$BaseSnapshot -> com.android.tools.r8.internal.C8:
    com.android.tools.r8.ir.conversion.CfState$SlotType[] locals -> c
    com.android.tools.r8.ir.conversion.CfState$SlotType[] stack -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():333:333 -> <clinit>
    1:3:void <init>(int,int):342:344 -> <init>
    4:5:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> <init>
    6:15:void <init>(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexType[],com.android.tools.r8.ir.code.Position):353:362 -> <init>
    com.android.tools.r8.ir.conversion.CfState$BaseSnapshot asBase() -> a
    1:3:com.android.tools.r8.ir.conversion.CfState$SlotType getSlotType(com.android.tools.r8.graph.DexType):367:369 -> a
    4:8:com.android.tools.r8.ir.conversion.CfState$Slot getLocal(int):395:399 -> a
    9:13:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):404:408 -> a
    1:1:int maxLocal():379:379 -> b
    2:2:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):384:384 -> b
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek():389:389 -> c
    2:2:int com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.stackHeight():374:374 -> c
    2:2:com.android.tools.r8.ir.conversion.CfState$Slot peek():389 -> c
    3:3:com.android.tools.r8.ir.conversion.CfState$Slot peek():389:389 -> c
    4:4:int com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.stackHeight():374:374 -> c
    4:4:com.android.tools.r8.ir.conversion.CfState$Slot peek():390 -> c
    5:5:com.android.tools.r8.ir.conversion.CfState$Slot peek():390:390 -> c
    1:1:int stackHeight():374:374 -> d
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":435,"2":436,"3":437}}
    435:435:java.lang.String toString():419:419 -> toString
    436:436:java.lang.String toString():419:419 -> toString
    437:437:java.lang.String toString():419:419 -> toString
    421:434:java.lang.String toString():420:433 -> toString
com.android.tools.r8.ir.conversion.CfState$Pop -> com.android.tools.r8.internal.D8:
    int stackHeight -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():476:476 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):481:483 -> <init>
    1:2:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):493:494 -> b
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek():499:499 -> c
    1:1:int stackHeight():488:488 -> d
    1:1:java.lang.String toString():504:504 -> toString
com.android.tools.r8.ir.conversion.CfState$Push -> com.android.tools.r8.internal.E8:
    com.android.tools.r8.ir.conversion.CfState$Slot slot -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():437:437 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot,com.android.tools.r8.ir.conversion.CfState$SlotType):442:444 -> <init>
    1:2:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):464:465 -> a
    3:3:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> a
    3:3:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):465 -> a
    4:4:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> a
    4:4:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> a
    4:4:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):465 -> a
    5:6:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):465:466 -> a
    7:7:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> a
    7:7:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):466 -> a
    8:8:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> a
    8:8:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> a
    8:8:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):466 -> a
    9:9:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):466:466 -> a
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):454:454 -> b
    2:2:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> b
    2:2:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):454 -> b
    3:3:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> b
    3:3:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> b
    3:3:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):454 -> b
    4:4:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState$Push.peek():459:459 -> b
    4:4:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):454 -> b
    5:5:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):454:454 -> b
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek():459:459 -> c
    1:1:int stackHeight():449:449 -> d
    2:2:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> d
    2:2:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:int stackHeight():449 -> d
    3:3:int com.android.tools.r8.ir.conversion.CfState$Slot.stackPosition():259:259 -> d
    3:3:int com.android.tools.r8.ir.conversion.CfState$Slot.access$500(com.android.tools.r8.ir.conversion.CfState$Slot):239 -> d
    3:3:int stackHeight():449 -> d
    1:1:java.lang.String toString():472:472 -> toString
com.android.tools.r8.ir.conversion.CfState$Slot -> com.android.tools.r8.internal.F8:
    com.android.tools.r8.ir.conversion.CfState$SlotType slotType -> d
    com.android.tools.r8.ir.code.ValueType type -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexType preciseType -> c
    int register -> a
    1:1:void <clinit>():239:239 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.ir.conversion.CfState$SlotType,com.android.tools.r8.ir.conversion.CfState$1):239:239 -> <init>
    2:6:void <init>(int,com.android.tools.r8.ir.conversion.CfState$SlotType):247:251 -> <init>
    1:1:com.android.tools.r8.ir.conversion.CfState$SlotType access$100(com.android.tools.r8.ir.conversion.CfState$Slot):239:239 -> a
    2:2:com.android.tools.r8.ir.conversion.CfState$Slot com.android.tools.r8.ir.conversion.CfState$Slot.stackSlot(int,com.android.tools.r8.ir.conversion.CfState$SlotType):255:255 -> a
    2:2:com.android.tools.r8.ir.conversion.CfState$Slot access$300(int,com.android.tools.r8.ir.conversion.CfState$SlotType):239 -> a
    3:4:int stackPosition(int):263:264 -> a
    5:5:boolean isPrecise():284:284 -> a
    6:6:boolean com.android.tools.r8.ir.conversion.CfState$SlotType.isPrecise():0:0 -> a
    6:6:boolean isPrecise():284 -> a
    1:2:java.lang.String toString():270:271 -> toString
    3:3:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":276,"2":277,"3":278}}
    276:276:java.lang.String toString():272:272 -> toString
    277:277:java.lang.String toString():272:272 -> toString
    278:278:java.lang.String toString():272:272 -> toString
    275:275:java.lang.String toString():272:272 -> toString
com.android.tools.r8.ir.conversion.CfState$SlotType -> com.android.tools.r8.internal.I8:
    1:1:void <init>():14:14 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.conversion.CfState$1):14:14 -> <init>
    com.android.tools.r8.ir.code.ValueType getImprecise() -> a
    com.android.tools.r8.graph.DexType getPrecise() -> b
com.android.tools.r8.ir.conversion.CfState$SlotType$Imprecise -> com.android.tools.r8.internal.G8:
    com.android.tools.r8.ir.code.ValueType type -> a
    1:2:void <init>(com.android.tools.r8.ir.code.ValueType):56:57 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueType getImprecise():67:67 -> a
    com.android.tools.r8.graph.DexType getPrecise() -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":74,"2":75,"3":76}}
    74:74:java.lang.String toString():72:72 -> toString
    75:75:java.lang.String toString():72:72 -> toString
    76:76:java.lang.String toString():72:72 -> toString
    73:73:java.lang.String toString():72:72 -> toString
com.android.tools.r8.ir.conversion.CfState$SlotType$Precise -> com.android.tools.r8.internal.H8:
    com.android.tools.r8.graph.DexType type -> a
    1:2:void <init>(com.android.tools.r8.graph.DexType):27:28 -> <init>
    1:1:com.android.tools.r8.ir.code.ValueType getImprecise():38:38 -> a
    1:1:com.android.tools.r8.graph.DexType getPrecise():33:33 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47}}
    45:45:java.lang.String toString():43:43 -> toString
    46:46:java.lang.String toString():43:43 -> toString
    47:47:java.lang.String toString():43:43 -> toString
    44:44:java.lang.String toString():43:43 -> toString
com.android.tools.r8.ir.conversion.CfState$Snapshot -> com.android.tools.r8.internal.J8:
    com.android.tools.r8.ir.conversion.CfState$Snapshot parent -> a
    int updates -> b
    1:1:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot,int,com.android.tools.r8.ir.conversion.CfState$1):288:288 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot,int):292:294 -> <init>
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot getLocal(int):314:314 -> a
    2:2:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):318:318 -> a
    3:3:com.android.tools.r8.ir.conversion.CfState$BaseSnapshot asBase():322:322 -> a
    4:5:void com.android.tools.r8.ir.conversion.CfState$BaseSnapshot.<init>(com.android.tools.r8.ir.conversion.CfState$Snapshot):348:349 -> a
    4:5:com.android.tools.r8.ir.conversion.CfState$BaseSnapshot asBase():322 -> a
    1:1:int maxLocal():302:302 -> b
    2:2:com.android.tools.r8.ir.conversion.CfState$Slot getStack(int):306:306 -> b
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot peek():310:310 -> c
    1:1:int stackHeight():298:298 -> d
com.android.tools.r8.ir.conversion.CfState$Write -> com.android.tools.r8.internal.K8:
    com.android.tools.r8.ir.conversion.CfState$Slot slot -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():508:508 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.conversion.CfState$Snapshot,int,com.android.tools.r8.ir.conversion.CfState$SlotType):513:515 -> <init>
    1:1:com.android.tools.r8.ir.conversion.CfState$Slot getLocal(int):525:525 -> a
    2:3:void build(com.android.tools.r8.ir.conversion.CfState$BaseSnapshot):530:531 -> a
    1:1:int maxLocal():520:520 -> b
    1:1:java.lang.String toString():536:536 -> toString
com.android.tools.r8.ir.conversion.ClassConverter -> com.android.tools.r8.internal.J9:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.conversion.D8MethodProcessor methodProcessor -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.desugar.itf.InterfaceProcessor interfaceProcessor -> d
    com.android.tools.r8.ir.conversion.IRConverter converter -> b
    1:1:void <clinit>():26:26 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):37:41 -> <init>
    void convertClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer) -> a
    void notifyAllClassesConverted() -> a
    1:1:com.android.tools.r8.ir.conversion.ClassConverterResult$Builder com.android.tools.r8.ir.conversion.ClassConverterResult.builder():21:21 -> a
    1:1:com.android.tools.r8.ir.conversion.ClassConverterResult convertClasses(java.util.concurrent.ExecutorService):57 -> a
    2:4:com.android.tools.r8.ir.conversion.ClassConverterResult convertClasses(java.util.concurrent.ExecutorService):58:60 -> a
    5:9:void internalConvertClasses(com.android.tools.r8.ir.conversion.ClassConverterResult$Builder,java.util.concurrent.ExecutorService):66:70 -> a
    10:10:void com.android.tools.r8.ir.conversion.IRConverter.classSynthesisDesugaring(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):426:426 -> a
    10:10:void internalConvertClasses(com.android.tools.r8.ir.conversion.ClassConverterResult$Builder,java.util.concurrent.ExecutorService):70 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:12:void com.android.tools.r8.ir.conversion.IRConverter.classSynthesisDesugaring(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):426:427 -> a
    11:12:void internalConvertClasses(com.android.tools.r8.ir.conversion.ClassConverterResult$Builder,java.util.concurrent.ExecutorService):70 -> a
    13:70:void internalConvertClasses(com.android.tools.r8.ir.conversion.ClassConverterResult$Builder,java.util.concurrent.ExecutorService):71:128 -> a
    71:75:void lambda$internalConvertClasses$1(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):118:122 -> a
    1:1:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):140:140 -> b
    1:1:void lambda$internalConvertClasses$0(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass):102:102 -> c
com.android.tools.r8.ir.conversion.ClassConverter$DefaultClassConverter -> com.android.tools.r8.internal.H9:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):152:152 -> <init>
    void notifyAllClassesConverted() -> a
    1:1:void convertClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):158:158 -> a
com.android.tools.r8.ir.conversion.ClassConverter$LibraryDesugaredClassConverter -> com.android.tools.r8.internal.I9:
    java.util.Set alreadyLibraryDesugared -> f
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):176:176 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):169:169 -> <init>
    1:5:void convertClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):184:188 -> a
    6:6:void notifyAllClassesConverted():194:194 -> a
com.android.tools.r8.ir.conversion.ClassConverterResult -> com.android.tools.r8.internal.L9:
    java.util.Map forcefullyMovedLambdaMethods -> a
    1:1:void <init>(java.util.Map,com.android.tools.r8.ir.conversion.ClassConverterResult$1):12:12 -> <init>
    2:3:void <init>(java.util.Map):16:17 -> <init>
    1:1:java.util.Map getForcefullyMovedLambdaMethods():25:25 -> a
com.android.tools.r8.ir.conversion.ClassConverterResult$Builder -> com.android.tools.r8.internal.K9:
    java.util.Map forcefullyMovedLambdaMethods -> a
    1:3:void <init>():28:30 -> <init>
    1:1:void acceptForcefullyMovedLambdaMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):34:34 -> b
    2:2:com.android.tools.r8.ir.conversion.ClassConverterResult build():38:38 -> b
com.android.tools.r8.ir.conversion.D8MethodProcessor -> com.android.tools.r8.internal.ge:
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> f
    java.util.Set scheduled -> c
    java.util.List nonTerminalFutures -> e
    java.util.List terminalFutures -> d
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.conversion.IRConverter converter -> a
    java.util.concurrent.ExecutorService executorService -> b
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):44:44 -> <init>
    2:19:void <init>(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):30:47 -> <init>
    1:2:void addScheduled(com.android.tools.r8.graph.DexProgramClass):51:52 -> a
    3:3:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):61:61 -> a
    4:10:com.android.tools.r8.utils.Timing lambda$scheduleMethodForProcessing$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):87:87 -> a
    11:11:com.android.tools.r8.ir.conversion.D8MethodProcessor scheduleDesugaredMethodsForProcessing(java.lang.Iterable):120:120 -> a
    12:12:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation getCallSiteInformation():126:126 -> a
    13:18:void processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):149:149 -> a
    boolean isProcessedConcurrently(com.android.tools.r8.graph.ProgramMethod) -> b
    1:2:void scheduleMethodForProcessing(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):79:80 -> b
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isNonLegacySynthetic(com.android.tools.r8.graph.DexProgramClass):230:230 -> b
    3:3:void scheduleMethodForProcessing(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):80 -> b
    4:4:void scheduleMethodForProcessing(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):84:84 -> b
    5:5:java.util.concurrent.Future com.android.tools.r8.utils.ThreadUtils.processAsynchronously(java.util.concurrent.Callable,java.util.concurrent.ExecutorService):36:36 -> b
    5:5:void scheduleMethodForProcessing(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):85 -> b
    6:6:void scheduleMethodForProcessing(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer):84:84 -> b
    1:2:void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod):100:101 -> c
    3:3:boolean com.android.tools.r8.synthesis.SyntheticItems.isNonLegacySynthetic(com.android.tools.r8.graph.DexProgramClass):230:230 -> c
    3:3:void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod):101 -> c
    4:7:void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod):105:108 -> c
    8:8:java.util.concurrent.Future com.android.tools.r8.utils.ThreadUtils.processAsynchronously(java.util.concurrent.Callable,java.util.concurrent.ExecutorService):36:36 -> c
    8:8:void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod):109 -> c
    9:9:void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod):108:108 -> c
    10:16:void awaitMethodProcessing():131:137 -> c
    17:25:void awaitMethodProcessing():136:144 -> c
    boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod) -> d
    1:1:void newWave():56:56 -> d
    1:6:com.android.tools.r8.utils.Timing lambda$scheduleDesugaredMethodForProcessing$1(com.android.tools.r8.graph.ProgramMethod):111:111 -> e
    7:8:boolean verifyNoPendingMethodProcessing():157:158 -> e
com.android.tools.r8.ir.conversion.DexBuilder -> com.android.tools.r8.internal.sg:
    boolean hasBackwardsBranch -> n
    int inRegisterCount -> l
    int outRegisterCount -> m
    boolean $assertionsDisabled -> p
    com.android.tools.r8.ir.conversion.DexBuilder$Info previousNonFallthroughInfo -> k
    int maxOffset -> h
    int minOffset -> i
    com.android.tools.r8.ir.code.IRCode ir -> a
    com.android.tools.r8.utils.InternalOptions options -> d
    com.android.tools.r8.ir.code.BasicBlock nextBlock -> o
    com.android.tools.r8.ir.conversion.DexBuilder$Info[] instructionToInfo -> j
    java.util.Set ifsNeedingRewrite -> g
    java.util.List fillArrayDataInfos -> f
    java.util.List switchPayloadInfos -> e
    com.android.tools.r8.ir.regalloc.RegisterAllocator registerAllocator -> c
    com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadata$Builder bytecodeMetadataBuilder -> b
    1:1:void <clinit>():84:84 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.ir.regalloc.RegisterAllocator):132:133 -> <init>
    3:3:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.ir.regalloc.RegisterAllocator,com.android.tools.r8.utils.InternalOptions):140:140 -> <init>
    4:51:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.ir.regalloc.RegisterAllocator,com.android.tools.r8.utils.InternalOptions):99:146 -> <init>
    1:1:com.android.tools.r8.ir.conversion.DexBuilder$Info access$000(com.android.tools.r8.ir.conversion.DexBuilder,com.android.tools.r8.ir.code.BasicBlock):84:84 -> a
    2:2:com.android.tools.r8.ir.conversion.DexBuilder$Info access$100(com.android.tools.r8.ir.conversion.DexBuilder,com.android.tools.r8.ir.code.Instruction):84:84 -> a
    3:3:boolean access$202(com.android.tools.r8.ir.conversion.DexBuilder,boolean):84:84 -> a
    4:5:boolean identicalInstructionsAfterBuildingDexCode(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):154:155 -> a
    6:8:com.android.tools.r8.ir.conversion.DexBuilder$Info com.android.tools.r8.ir.conversion.DexBuilder.buildInfoForComparison(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):163:165 -> a
    6:8:boolean identicalInstructionsAfterBuildingDexCode(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):156 -> a
    9:11:com.android.tools.r8.ir.conversion.DexBuilder$Info com.android.tools.r8.ir.conversion.DexBuilder.buildInfoForComparison(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder):163:165 -> a
    9:11:boolean identicalInstructionsAfterBuildingDexCode(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):157 -> a
    12:12:boolean identicalInstructionsAfterBuildingDexCode(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.RegisterAllocator):158:158 -> a
    13:41:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):349:377 -> a
    42:44:boolean com.android.tools.r8.ir.conversion.DexBuilder.isTrivialFallthroughTarget(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):339:341 -> a
    42:44:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):378 -> a
    45:70:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):380:405 -> a
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167:167 -> a
    71:71:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):405 -> a
    72:72:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):406:406 -> a
    73:73:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    73:73:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):406 -> a
    74:77:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):410:413 -> a
    78:78:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    78:78:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):413 -> a
    79:99:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):415:435 -> a
    100:101:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    100:101:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    100:101:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):435 -> a
    102:102:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):438:438 -> a
    103:103:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    103:103:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):439 -> a
    104:104:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):440:440 -> a
    105:105:boolean com.android.tools.r8.ir.conversion.DexBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):598:598 -> a
    105:105:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):441 -> a
    106:108:boolean com.android.tools.r8.ir.conversion.DexBuilder.isNonMaterializingConstNumber(com.android.tools.r8.ir.code.Instruction):606:608 -> a
    106:108:boolean com.android.tools.r8.ir.conversion.DexBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):600 -> a
    106:108:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):441 -> a
    109:109:boolean com.android.tools.r8.ir.conversion.DexBuilder.isNopInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlock):601:601 -> a
    109:109:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):441 -> a
    110:123:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):443:456 -> a
    124:124:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    124:124:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):457 -> a
    125:146:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):459:480 -> a
    147:147:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":638,"2":639,"3":640}}
    638:638:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):481:481 -> a
    639:639:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):481:481 -> a
    640:640:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):481:481 -> a
    629:629:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):482:482 -> a
    630:631:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):394:395 -> a
    630:631:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):482 -> a
    632:637:void removeRedundantDebugPositions(com.android.tools.r8.ir.code.IRCode):483:488 -> a
    641:652:void com.android.tools.r8.ir.conversion.DexBuilder.rewriteIfs():504:515 -> a
    641:652:com.android.tools.r8.graph.DexCode build():197 -> a
    653:657:void com.android.tools.r8.ir.conversion.DexBuilder.rewriteIfs():514:518 -> a
    653:657:com.android.tools.r8.graph.DexCode build():197 -> a
    658:658:com.android.tools.r8.graph.DexCode build():201:201 -> a
    659:664:void com.android.tools.r8.ir.conversion.DexBuilder.reset():173:178 -> a
    659:664:com.android.tools.r8.graph.DexCode build():204 -> a
    665:665:int com.android.tools.r8.ir.conversion.DexBuilder.instructionNumberToIndex(int):674:674 -> a
    665:665:void com.android.tools.r8.ir.conversion.DexBuilder.reset():178 -> a
    665:665:com.android.tools.r8.graph.DexCode build():204 -> a
    666:669:void com.android.tools.r8.ir.conversion.DexBuilder.reset():178:181 -> a
    666:669:com.android.tools.r8.graph.DexCode build():204 -> a
    670:755:com.android.tools.r8.graph.DexCode build():209:294 -> a
    756:775:com.android.tools.r8.code.Nop com.android.tools.r8.ir.conversion.DexBuilder.createSwitchPayload(com.android.tools.r8.ir.conversion.DexBuilder$SwitchPayloadInfo,int):726:745 -> a
    756:775:com.android.tools.r8.graph.DexCode build():297 -> a
    776:790:com.android.tools.r8.graph.DexCode build():298:312 -> a
    791:791:com.android.tools.r8.code.FillArrayDataPayload com.android.tools.r8.ir.code.NewArrayFilledData.createPayload():54:54 -> a
    791:791:com.android.tools.r8.graph.DexCode build():312 -> a
    792:795:com.android.tools.r8.graph.DexCode build():313:316 -> a
    796:798:com.android.tools.r8.ir.conversion.DexBuilder$TryInfo com.android.tools.r8.ir.conversion.DexBuilder.computeTryInfo():752:754 -> a
    796:798:com.android.tools.r8.graph.DexCode build():320 -> a
    799:804:com.android.tools.r8.graph.DexCode$Try[] com.android.tools.r8.ir.conversion.DexBuilder.getDexTryItems(java.util.List,java.util.Map):855:860 -> a
    799:804:com.android.tools.r8.ir.conversion.DexBuilder$TryInfo com.android.tools.r8.ir.conversion.DexBuilder.computeTryInfo():756 -> a
    799:804:com.android.tools.r8.graph.DexCode build():320 -> a
    805:805:com.android.tools.r8.ir.conversion.DexBuilder$TryInfo com.android.tools.r8.ir.conversion.DexBuilder.computeTryInfo():757:757 -> a
    805:805:com.android.tools.r8.graph.DexCode build():320 -> a
    806:823:com.android.tools.r8.graph.DexCode$TryHandler[] com.android.tools.r8.ir.conversion.DexBuilder.getDexTryHandlers(java.util.Map):866:883 -> a
    806:823:com.android.tools.r8.ir.conversion.DexBuilder$TryInfo com.android.tools.r8.ir.conversion.DexBuilder.computeTryInfo():757 -> a
    806:823:com.android.tools.r8.graph.DexCode build():320 -> a
    824:833:com.android.tools.r8.graph.DexCode build():323:332 -> a
    834:835:void requestOutgoingRegisters(int):528:529 -> a
    836:836:int allocatedRegister(com.android.tools.r8.ir.code.Value,int):534:534 -> a
    837:840:void addGoto(com.android.tools.r8.ir.code.Goto):544:547 -> a
    841:855:boolean com.android.tools.r8.ir.conversion.DexBuilder.needsNopBetweenMoveAndInstanceOf(com.android.tools.r8.code.InstanceOf):552:566 -> a
    841:855:void addInstanceOf(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.code.InstanceOf):576 -> a
    856:858:void addInstanceOf(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.code.InstanceOf):577:579 -> a
    859:860:void addIf(com.android.tools.r8.ir.code.If):584:585 -> a
    861:861:void addMove(com.android.tools.r8.ir.code.Move):589:589 -> a
    862:862:void addNop(com.android.tools.r8.ir.code.Instruction):612:612 -> a
    863:865:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.code.Instruction):622:624 -> a
    866:867:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.code.Instruction[]):628:629 -> a
    868:870:void addSwitch(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.code.Format31t):633:635 -> a
    871:872:void addFillArrayData(com.android.tools.r8.ir.code.NewArrayFilledData,com.android.tools.r8.code.FillArrayData):639:640 -> a
    873:874:void addArgument(com.android.tools.r8.ir.code.Argument):644:645 -> a
    875:879:void addReturn(com.android.tools.r8.ir.code.Return,com.android.tools.r8.code.Instruction):649:653 -> a
    880:880:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):658:658 -> a
    881:882:void com.android.tools.r8.ir.conversion.DexBuilder.setSingleInfo(com.android.tools.r8.ir.conversion.DexBuilder$Info):692:693 -> a
    881:882:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):660 -> a
    883:889:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):663:669 -> a
    890:894:void com.android.tools.r8.ir.conversion.DexBuilder.setInfo(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):684:688 -> a
    890:894:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):670 -> a
    895:895:int com.android.tools.r8.ir.conversion.DexBuilder.instructionNumberToIndex(int):674:674 -> a
    895:895:void com.android.tools.r8.ir.conversion.DexBuilder.setInfo(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):688 -> a
    895:895:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):670 -> a
    896:896:void com.android.tools.r8.ir.conversion.DexBuilder.setInfo(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):688:688 -> a
    896:896:void add(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.conversion.DexBuilder$Info):670 -> a
    897:908:com.android.tools.r8.ir.conversion.DexBuilder$Info getTargetInfo(com.android.tools.r8.ir.code.BasicBlock):697:708 -> a
    909:914:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.conversion.DexBuilder.computeNextBlock(com.android.tools.r8.ir.code.BasicBlock):716:721 -> a
    909:914:com.android.tools.r8.ir.conversion.DexBuilder$Info getTargetInfo(com.android.tools.r8.ir.code.BasicBlock):709 -> a
    915:918:com.android.tools.r8.ir.conversion.DexBuilder$Info getTargetInfo(com.android.tools.r8.ir.code.BasicBlock):709:712 -> a
    919:931:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):763:775 -> a
    932:932:boolean com.android.tools.r8.ir.code.CatchHandlers.isEmpty():55:55 -> a
    932:932:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):775 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    933:933:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):775:775 -> a
    934:934:boolean com.android.tools.r8.ir.code.CatchHandlers.isEmpty():55:55 -> a
    934:934:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):776 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    935:969:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):777:811 -> a
    970:974:int com.android.tools.r8.ir.conversion.DexBuilder.trimEnd(com.android.tools.r8.ir.code.BasicBlock):843:847 -> a
    970:974:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):811 -> a
    975:975:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):811:811 -> a
    976:976:int com.android.tools.r8.ir.conversion.DexBuilder.trimEnd(com.android.tools.r8.ir.code.BasicBlock):850:850 -> a
    976:976:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):811 -> a
    977:1001:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):813:837 -> a
    1002:1006:int com.android.tools.r8.ir.conversion.DexBuilder.trimEnd(com.android.tools.r8.ir.code.BasicBlock):843:847 -> a
    1002:1006:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):837 -> a
    1007:1007:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):837:837 -> a
    1008:1008:int com.android.tools.r8.ir.conversion.DexBuilder.trimEnd(com.android.tools.r8.ir.code.BasicBlock):850:850 -> a
    1008:1008:java.util.List computeTryItems(com.android.tools.r8.com.google.common.collect.BiMap):837 -> a
    1:1:void com.android.tools.r8.ir.conversion.DexBuilder.needsIfRewriting(com.android.tools.r8.ir.code.BasicBlock):524:524 -> b
    1:1:void access$300(com.android.tools.r8.ir.conversion.DexBuilder,com.android.tools.r8.ir.code.BasicBlock):84 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void com.android.tools.r8.ir.conversion.DexBuilder.needsIfRewriting(com.android.tools.r8.ir.code.BasicBlock):524:524 -> b
    2:2:void access$300(com.android.tools.r8.ir.conversion.DexBuilder,com.android.tools.r8.ir.code.BasicBlock):84 -> b
    3:3:int argumentOrAllocateRegister(com.android.tools.r8.ir.code.Value,int):540:540 -> b
    4:4:void addNothing(com.android.tools.r8.ir.code.Instruction):593:593 -> b
    5:5:com.android.tools.r8.utils.InternalOptions getOptions():889:889 -> b
    1:2:com.android.tools.r8.ir.conversion.DexBuilder$Info getInfo(com.android.tools.r8.ir.code.Instruction):679:680 -> c
    3:3:int com.android.tools.r8.ir.conversion.DexBuilder.instructionNumberToIndex(int):674:674 -> c
    3:3:com.android.tools.r8.ir.conversion.DexBuilder$Info getInfo(com.android.tools.r8.ir.code.Instruction):680 -> c
    4:4:com.android.tools.r8.ir.conversion.DexBuilder$Info getInfo(com.android.tools.r8.ir.code.Instruction):680:680 -> c
    5:5:com.android.tools.r8.ir.regalloc.RegisterAllocator getRegisterAllocator():893:893 -> c
    1:1:boolean isBuildingForComparison():169:169 -> d
com.android.tools.r8.ir.conversion.DexBuilder$1 -> com.android.tools.r8.internal.hg:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():1293:1293 -> <clinit>
com.android.tools.r8.ir.conversion.DexBuilder$FallThroughInfo -> com.android.tools.r8.internal.ig:
    1:1:void <init>(com.android.tools.r8.ir.code.Instruction):1062:1062 -> <init>
    void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List) -> a
    int computeSize(com.android.tools.r8.ir.conversion.DexBuilder) -> a
    1:1:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1091:1091 -> a
    int getSize() -> d
    int maxSize() -> e
    int minSize() -> f
com.android.tools.r8.ir.conversion.DexBuilder$FillArrayDataInfo -> com.android.tools.r8.internal.jg:
    com.android.tools.r8.code.FillArrayData dex -> b
    com.android.tools.r8.ir.code.NewArrayFilledData ir -> a
    1:3:void <init>(com.android.tools.r8.ir.code.NewArrayFilledData,com.android.tools.r8.code.FillArrayData):1539:1541 -> <init>
com.android.tools.r8.ir.conversion.DexBuilder$FixedSizeInfo -> com.android.tools.r8.internal.kg:
    com.android.tools.r8.code.Instruction instruction -> e
    1:2:void <init>(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.code.Instruction):969:970 -> <init>
    1:2:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):990:991 -> a
    3:3:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):996:996 -> a
    4:5:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1001:1002 -> a
    1:1:int getSize():975:975 -> d
    1:1:int maxSize():985:985 -> e
    1:1:int minSize():980:980 -> f
com.android.tools.r8.ir.conversion.DexBuilder$GotoInfo -> com.android.tools.r8.internal.lg:
    boolean $assertionsDisabled -> f
    int size -> e
    1:1:void <clinit>():1095:1095 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Goto):1100:1100 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Goto):1097:1097 -> <init>
    1:1:com.android.tools.r8.ir.code.Goto com.android.tools.r8.ir.conversion.DexBuilder$GotoInfo.getJump():1104:1104 -> a
    1:1:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1168 -> a
    2:46:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1169:1213 -> a
    47:47:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1286,"2":1287,"3":1288}}
    1286:1286:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1213:1213 -> a
    1287:1287:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1213:1213 -> a
    1288:1288:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1213:1213 -> a
    1260:1260:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1213:1213 -> a
    1261:1265:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1202:1206 -> a
    1266:1285:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1197:1216 -> a
    1289:1289:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1127:1127 -> a
    1290:1290:com.android.tools.r8.ir.code.Goto com.android.tools.r8.ir.conversion.DexBuilder$GotoInfo.getJump():1104:1104 -> a
    1290:1290:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1128 -> a
    1291:1325:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1129:1163 -> a
    1326:1326:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1222:1222 -> a
    1:2:int getSize():1109:1110 -> d
    1:1:int maxSize():1121:1121 -> e
    1:1:int minSize():1115:1115 -> f
com.android.tools.r8.ir.conversion.DexBuilder$IfInfo -> com.android.tools.r8.internal.mg:
    boolean $assertionsDisabled -> f
    int size -> e
    1:1:void <clinit>():1226:1226 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.If):1231:1231 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.If):1228:1228 -> <init>
    1:1:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    1:1:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    1:1:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1274 -> a
    2:2:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    2:2:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1274 -> a
    3:4:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1275:1276 -> a
    5:5:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    5:5:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    5:5:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    5:5:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1278 -> a
    6:6:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    6:6:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    6:6:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1278 -> a
    7:7:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    7:7:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1278 -> a
    8:12:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1281:1285 -> a
    13:13:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    13:13:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    13:13:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.branchesToSelf(com.android.tools.r8.ir.conversion.DexBuilder):1251 -> a
    13:13:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1285 -> a
    14:14:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    14:14:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.branchesToSelf(com.android.tools.r8.ir.conversion.DexBuilder):1251 -> a
    14:14:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1285 -> a
    15:16:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.branchesToSelf(com.android.tools.r8.ir.conversion.DexBuilder):1252:1253 -> a
    15:16:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1285 -> a
    17:25:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1285:1293 -> a
    26:26:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    26:26:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    26:26:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1293 -> a
    27:27:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    27:27:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1293 -> a
    28:45:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1293:1310 -> a
    46:46:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1307:1307 -> a
    47:47:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1304:1304 -> a
    48:48:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1301:1301 -> a
    49:49:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1298:1298 -> a
    50:50:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1295:1295 -> a
    51:51:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    51:51:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    51:51:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    51:51:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1314 -> a
    52:52:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    52:52:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    52:52:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1314 -> a
    53:53:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    53:53:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1314 -> a
    54:54:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1315:1315 -> a
    55:55:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    55:55:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    55:55:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1315 -> a
    56:56:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    56:56:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1315 -> a
    57:74:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1315:1332 -> a
    75:75:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1329:1329 -> a
    76:76:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1326:1326 -> a
    77:77:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1323:1323 -> a
    78:78:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1320:1320 -> a
    79:79:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1317:1317 -> a
    80:80:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getOffset():1226:1226 -> a
    80:80:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1336 -> a
    81:82:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1336:1337 -> a
    83:83:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    83:83:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    83:83:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1257 -> a
    83:83:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    84:84:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    84:84:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1257 -> a
    84:84:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    85:85:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1257:1257 -> a
    85:85:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    86:86:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getMaxOffset():1226:1226 -> a
    86:86:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1258 -> a
    86:86:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    87:89:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1259:1261 -> a
    87:89:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    90:90:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getOffset():1226:1226 -> a
    90:90:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1261 -> a
    90:90:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    91:91:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1262:1262 -> a
    91:91:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    92:92:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getOffset():1226:1226 -> a
    92:92:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1268 -> a
    92:92:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    93:93:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getOffset():1226:1226 -> a
    93:93:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.offsetOutOfRange(com.android.tools.r8.ir.conversion.DexBuilder):1269 -> a
    93:93:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1342 -> a
    94:94:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    94:94:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    94:94:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1343 -> a
    95:95:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    95:95:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1343 -> a
    96:96:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1343:1343 -> a
    97:97:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    97:97:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    97:97:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.branchesToSelf(com.android.tools.r8.ir.conversion.DexBuilder):1251 -> a
    97:97:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1345 -> a
    98:98:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    98:98:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.branchesToSelf(com.android.tools.r8.ir.conversion.DexBuilder):1251 -> a
    98:98:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1345 -> a
    99:100:boolean com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.branchesToSelf(com.android.tools.r8.ir.conversion.DexBuilder):1252:1253 -> a
    99:100:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1345 -> a
    101:101:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1345:1345 -> a
    102:105:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1366:1369 -> a
    106:106:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    106:106:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    106:106:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1370 -> a
    107:107:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    107:107:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1370 -> a
    108:108:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1370:1370 -> a
    109:109:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    109:109:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    109:109:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1370 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    110:110:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    110:110:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1370 -> a
    111:111:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1370:1370 -> a
    112:112:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    112:112:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    112:112:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1240 -> a
    112:112:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    113:113:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    113:113:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1240 -> a
    113:113:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    114:115:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1240:1241 -> a
    114:115:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    116:116:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    116:116:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    116:116:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    116:116:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241 -> a
    116:116:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    117:117:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    117:117:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    117:117:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241 -> a
    117:117:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    118:118:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    118:118:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241 -> a
    118:118:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    119:121:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241:1243 -> a
    119:121:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    122:122:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    122:122:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    122:122:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    122:122:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    122:122:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    123:123:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    123:123:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    123:123:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    123:123:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    124:124:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    124:124:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    124:124:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    125:125:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243:1243 -> a
    125:125:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    126:126:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    126:126:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    126:126:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    126:126:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    126:126:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    127:127:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    127:127:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    127:127:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    127:127:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    128:128:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    128:128:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    128:128:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    129:129:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243:1243 -> a
    129:129:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    130:130:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    130:130:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    130:130:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1240 -> a
    130:130:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    131:131:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    131:131:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1240 -> a
    131:131:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    132:133:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1240:1241 -> a
    132:133:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    134:134:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    134:134:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    134:134:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    134:134:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241 -> a
    134:134:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    135:135:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    135:135:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    135:135:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241 -> a
    135:135:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    136:136:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    136:136:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241 -> a
    136:136:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    137:139:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1241:1243 -> a
    137:139:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    140:140:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    140:140:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    140:140:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    140:140:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    140:140:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    141:141:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    141:141:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    141:141:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    141:141:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    142:142:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    142:142:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    142:142:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    143:143:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243:1243 -> a
    143:143:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    144:144:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getIR():1226:1226 -> a
    144:144:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247 -> a
    144:144:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    144:144:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    144:144:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    145:145:com.android.tools.r8.ir.code.If com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getBranch():1247:1247 -> a
    145:145:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1235 -> a
    145:145:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    145:145:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    146:146:int com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegister(int,com.android.tools.r8.ir.conversion.DexBuilder):1236:1236 -> a
    146:146:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243 -> a
    146:146:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    147:147:int[] com.android.tools.r8.ir.conversion.DexBuilder$IfInfo.getRegisters(com.android.tools.r8.ir.conversion.DexBuilder):1243:1243 -> a
    147:147:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371 -> a
    148:148:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1371:1371 -> a
    1:1:int getSize():1361:1361 -> d
    int maxSize() -> e
    int minSize() -> f
com.android.tools.r8.ir.conversion.DexBuilder$Info -> com.android.tools.r8.internal.ng:
    com.android.tools.r8.ir.code.Instruction ir -> a
    int offset -> b
    int maxOffset -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():897:897 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Instruction):906:906 -> <init>
    2:9:void <init>(com.android.tools.r8.ir.code.Instruction):901:908 -> <init>
    void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List) -> a
    int computeSize(com.android.tools.r8.ir.conversion.DexBuilder) -> a
    boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder) -> a
    1:2:void setMaxOffset(int):953:954 -> a
    3:3:com.android.tools.r8.ir.code.Instruction getIR():958:958 -> a
    1:1:void setMinOffset(int):943:943 -> b
    2:3:int getMaxOffset():948:949 -> b
    1:2:int getOffset():928:929 -> c
    3:4:void setOffset(int):933:934 -> c
    int getSize() -> d
    int maxSize() -> e
    int minSize() -> f
com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo -> com.android.tools.r8.internal.og:
    boolean $assertionsDisabled -> f
    int size -> e
    1:1:void <clinit>():1375:1375 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Move):1380:1380 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Move):1377:1377 -> <init>
    1:1:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getIR():1375:1375 -> a
    1:1:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384 -> a
    1:1:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1423 -> a
    2:2:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384:1384 -> a
    2:2:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1423 -> a
    3:42:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1424:1463 -> a
    43:43:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5916,"2":5917,"3":5918}}
    5916:5916:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1463:1463 -> a
    5917:5917:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1463:1463 -> a
    5918:5918:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1463:1463 -> a
    1506:1510:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1463:1467 -> a
    1511:1511:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5922,"2":5923,"3":5924}}
    5922:5922:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1467:1467 -> a
    5923:5923:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1467:1467 -> a
    5924:5924:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1467:1467 -> a
    2978:2978:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1467:1467 -> a
    2979:2986:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1445:1452 -> a
    2987:2987:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5925,"2":5926,"3":5927}}
    5925:5925:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1452:1452 -> a
    5926:5926:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1452:1452 -> a
    5927:5927:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1452:1452 -> a
    4439:4439:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1452:1452 -> a
    4440:4448:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1431:1439 -> a
    4449:4449:int com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getOffset():1375:1375 -> a
    4449:4449:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1469 -> a
    4450:4451:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1469:1470 -> a
    4452:4452:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1441:1441 -> a
    4453:4453:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5928,"2":5929,"3":5930}}
    5928:5928:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1441:1441 -> a
    5929:5929:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1441:1441 -> a
    5930:5930:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1441:1441 -> a
    5894:5894:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1441:1441 -> a
    5931:5936:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1397:1402 -> a
    5937:5948:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1407:1418 -> a
    1:1:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getIR():1375:1375 -> b
    1:1:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384 -> b
    1:1:int destRegister(com.android.tools.r8.ir.conversion.DexBuilder):1392 -> b
    2:2:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384:1384 -> b
    2:2:int destRegister(com.android.tools.r8.ir.conversion.DexBuilder):1392 -> b
    3:3:int destRegister(com.android.tools.r8.ir.conversion.DexBuilder):1392:1392 -> b
    4:4:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getIR():1375:1375 -> b
    4:4:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384 -> b
    4:4:int destRegister(com.android.tools.r8.ir.conversion.DexBuilder):1392 -> b
    5:5:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384:1384 -> b
    5:5:int destRegister(com.android.tools.r8.ir.conversion.DexBuilder):1392 -> b
    6:6:int destRegister(com.android.tools.r8.ir.conversion.DexBuilder):1392:1392 -> b
    1:1:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getIR():1375:1375 -> c
    1:1:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384 -> c
    1:1:int srcRegister(com.android.tools.r8.ir.conversion.DexBuilder):1388 -> c
    2:2:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384:1384 -> c
    2:2:int srcRegister(com.android.tools.r8.ir.conversion.DexBuilder):1388 -> c
    3:3:int srcRegister(com.android.tools.r8.ir.conversion.DexBuilder):1388:1388 -> c
    4:4:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getIR():1375:1375 -> c
    4:4:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384 -> c
    4:4:int srcRegister(com.android.tools.r8.ir.conversion.DexBuilder):1388 -> c
    5:5:com.android.tools.r8.ir.code.Move com.android.tools.r8.ir.conversion.DexBuilder$MoveInfo.getMove():1384:1384 -> c
    5:5:int srcRegister(com.android.tools.r8.ir.conversion.DexBuilder):1388 -> c
    6:6:int srcRegister(com.android.tools.r8.ir.conversion.DexBuilder):1388:1388 -> c
    1:2:int getSize():1487:1488 -> d
    1:1:int maxSize():1481:1481 -> e
    1:1:int minSize():1475:1475 -> f
com.android.tools.r8.ir.conversion.DexBuilder$MultiFixedSizeInfo -> com.android.tools.r8.internal.pg:
    int size -> f
    com.android.tools.r8.code.Instruction[] instructions -> e
    1:7:void <init>(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.code.Instruction[]):1013:1019 -> <init>
    1:1:int computeSize(com.android.tools.r8.ir.conversion.DexBuilder):1024:1024 -> a
    2:6:void addInstructions(com.android.tools.r8.ir.conversion.DexBuilder,java.util.List):1029:1033 -> a
    7:8:boolean identicalInstructions(com.android.tools.r8.ir.conversion.DexBuilder$Info,com.android.tools.r8.ir.conversion.DexBuilder):1054:1055 -> a
    1:1:int getSize():1049:1049 -> d
    1:1:int maxSize():1044:1044 -> e
    1:1:int minSize():1039:1039 -> f
com.android.tools.r8.ir.conversion.DexBuilder$SwitchPayloadInfo -> com.android.tools.r8.internal.qg:
    com.android.tools.r8.ir.code.IntSwitch ir -> a
    com.android.tools.r8.code.Format31t dex -> b
    1:3:void <init>(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.code.Format31t):1528:1530 -> <init>
com.android.tools.r8.ir.conversion.DexBuilder$TryItem -> com.android.tools.r8.internal.rg:
    com.android.tools.r8.ir.code.CatchHandlers handlers -> b
    int end -> d
    int start -> c
    1:4:void <init>(com.android.tools.r8.ir.code.CatchHandlers,int,int):1511:1514 -> <init>
    1:1:int compareTo(com.android.tools.r8.ir.conversion.DexBuilder$TryItem):1519:1519 -> a
    1:1:int compareTo(java.lang.Object):1505:1505 -> compareTo
com.android.tools.r8.ir.conversion.DexSourceCode -> com.android.tools.r8.internal.gh:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.ir.code.Position currentPosition -> j
    com.android.tools.r8.graph.DexMethod originalMethod -> m
    com.android.tools.r8.ir.conversion.ArrayFilledDataPayloadResolver arrayFilledDataPayloadResolver -> e
    boolean isBuildingPrelude -> i
    com.android.tools.r8.graph.ProgramMethod method -> b
    com.android.tools.r8.ir.code.CanonicalPositions canonicalPositions -> k
    com.android.tools.r8.graph.DexCode code -> a
    com.android.tools.r8.graph.DexCode$Try currentTryRange -> f
    com.android.tools.r8.ir.code.CatchHandlers currentCatchHandlers -> g
    java.util.Map offsetToInstructionIndex -> c
    com.android.tools.r8.code.Instruction currentDexInstruction -> h
    com.android.tools.r8.ir.conversion.SwitchPayloadResolver switchPayloadResolver -> d
    java.util.List debugEntries -> l
    1:1:void <clinit>():56:56 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexItemFactory):85:85 -> <init>
    2:38:void <init>(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexItemFactory):62:98 -> <init>
    void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean) -> a
    void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    void doNothingWriteConsumer(java.lang.Integer,com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int) -> a
    boolean verifyLocalInScope(com.android.tools.r8.graph.DebugLocalInfo) -> a
    1:1:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174:174 -> a
    2:2:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):220:220 -> a
    2:2:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174 -> a
    3:3:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):404:404 -> a
    3:3:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):220 -> a
    3:3:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174 -> a
    4:4:boolean com.android.tools.r8.ir.conversion.DexSourceCode.inTryRange(com.android.tools.r8.graph.DexCode$Try,int):399:399 -> a
    4:4:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):405 -> a
    4:4:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):220 -> a
    4:4:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174 -> a
    5:12:void com.android.tools.r8.ir.conversion.DexSourceCode.updateCurrentCatchHandlers(int,com.android.tools.r8.graph.DexItemFactory):221:228 -> a
    5:12:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):174 -> a
    13:16:void com.android.tools.r8.ir.conversion.DexSourceCode.updateDebugPosition(int,com.android.tools.r8.ir.conversion.IRBuilder):246:249 -> a
    13:16:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):175 -> a
    17:19:com.android.tools.r8.graph.DexDebugEntry com.android.tools.r8.ir.conversion.DexSourceCode.getDebugEntryAtOffset(int):234:236 -> a
    17:19:void com.android.tools.r8.ir.conversion.DexSourceCode.updateDebugPosition(int,com.android.tools.r8.ir.conversion.IRBuilder):250 -> a
    17:19:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):175 -> a
    20:24:void com.android.tools.r8.ir.conversion.DexSourceCode.updateDebugPosition(int,com.android.tools.r8.ir.conversion.IRBuilder):252:256 -> a
    20:24:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):175 -> a
    25:26:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):176:177 -> a
    27:29:com.android.tools.r8.graph.DexDebugEntry com.android.tools.r8.ir.conversion.DexSourceCode.getDebugEntryAtOffset(int):234:236 -> a
    27:29:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):197 -> a
    30:31:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):199:200 -> a
    32:34:com.android.tools.r8.ir.code.Position getCanonicalPositionAppendCaller(com.android.tools.r8.graph.DexDebugEntry):263:263 -> a
    37:44:com.android.tools.r8.ir.code.Position getCanonicalPositionAppendCaller(com.android.tools.r8.graph.DexDebugEntry):266:266 -> a
    45:47:void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder):294:294 -> a
    48:52:void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder):301:301 -> a
    53:68:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):334:349 -> a
    69:69:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):404:404 -> a
    69:69:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):352 -> a
    70:70:boolean com.android.tools.r8.ir.conversion.DexSourceCode.inTryRange(com.android.tools.r8.graph.DexCode$Try,int):399:399 -> a
    70:70:com.android.tools.r8.graph.DexCode$Try com.android.tools.r8.ir.conversion.DexSourceCode.getTryForOffset(int):405 -> a
    70:70:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):352 -> a
    71:72:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):355:356 -> a
    73:73:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isMoveResult(com.android.tools.r8.code.Instruction):327:327 -> a
    73:73:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):356 -> a
    74:77:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):363:366 -> a
    78:78:java.util.Set com.android.tools.r8.ir.conversion.DexSourceCode.getUniqueTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):441:441 -> a
    78:78:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):366 -> a
    79:83:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):366:370 -> a
    84:84:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isMoveResult(com.android.tools.r8.code.Instruction):327:327 -> a
    84:84:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):370 -> a
    85:85:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):371:371 -> a
    86:86:boolean com.android.tools.r8.ir.conversion.DexSourceCode.isInvoke(com.android.tools.r8.code.Instruction):308:308 -> a
    86:86:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):371 -> a
    87:104:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):371:388 -> a
    105:106:int[] com.android.tools.r8.ir.conversion.SwitchPayloadResolver.absoluteTargets(com.android.tools.r8.code.Instruction):63:64 -> a
    105:106:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):388 -> a
    107:110:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):388:391 -> a
    111:113:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):413:415 -> a
    114:122:void com.android.tools.r8.ir.conversion.DexSourceCode.forEachTryRange(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):427:435 -> a
    114:122:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):415 -> a
    123:123:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexCode$Try):422:422 -> a
    124:125:void lambda$getCurrentCatchHandlers$0(java.util.List,java.util.List,com.android.tools.r8.graph.DexType,java.lang.Integer):419:420 -> a
    126:126:void lambda$getTryHandlerOffsets$1(java.util.List,com.android.tools.r8.graph.DexType,java.lang.Integer):446:446 -> a
    1:1:boolean verifyRegister(int):103:103 -> b
    2:8:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):144:150 -> b
    9:14:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):148:153 -> b
    15:15:boolean verifyCurrentInstructionCanThrow():211:211 -> b
    16:17:java.util.List getTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):445:446 -> b
    18:26:void com.android.tools.r8.ir.conversion.DexSourceCode.forEachTryRange(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):427:435 -> b
    18:26:java.util.List getTryHandlerOffsets(com.android.tools.r8.graph.DexCode$Try,com.android.tools.r8.graph.DexItemFactory):446 -> b
    1:8:void setUp():129:136 -> c
    9:9:com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder):182:182 -> c
    10:10:int instructionIndex(int):283:283 -> c
    1:2:void clear():277:278 -> clear
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int) -> d
    1:1:int instructionCount():108:108 -> d
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> e
    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():205:205 -> e
    1:4:int getMoveExceptionRegister(int):187:190 -> f
    1:1:int instructionOffset(int):288:288 -> g
com.android.tools.r8.ir.conversion.ExtraConstantIntParameter -> com.android.tools.r8.internal.uj:
    long value -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():13:13 -> <clinit>
    1:2:void <init>(long):17:18 -> <init>
    1:1:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):23:23 -> a
    2:3:com.android.tools.r8.ir.analysis.type.TypeElement getTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):28:29 -> a
    4:4:com.android.tools.r8.ir.analysis.value.SingleNumberValue getValue(com.android.tools.r8.graph.AppView):34:34 -> a
    1:5:boolean equals(java.lang.Object):39:43 -> equals
    1:1:int hashCode():48:48 -> hashCode
com.android.tools.r8.ir.conversion.ExtraParameter -> com.android.tools.r8.internal.vj:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory) -> a
    com.android.tools.r8.ir.analysis.type.TypeElement getTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.ir.analysis.value.SingleNumberValue getValue(com.android.tools.r8.graph.AppView) -> a
com.android.tools.r8.ir.conversion.ExtraUnusedNullParameter -> com.android.tools.r8.internal.wj:
    com.android.tools.r8.graph.DexType type -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType):22:23 -> <init>
    1:11:java.util.List computeExtraUnusedNullParameters(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):28:38 -> a
    12:13:com.android.tools.r8.graph.DexType getType(com.android.tools.r8.graph.DexItemFactory):45:46 -> a
    14:14:com.android.tools.r8.ir.analysis.type.TypeElement getTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):51:51 -> a
    15:15:com.android.tools.r8.ir.analysis.value.SingleNumberValue getValue(com.android.tools.r8.graph.AppView):56:56 -> a
    1:1:boolean equals(java.lang.Object):61:61 -> equals
com.android.tools.r8.ir.conversion.FieldOptimizationFeedback -> com.android.tools.r8.internal.Zj:
    void markFieldBitsRead(com.android.tools.r8.graph.DexEncodedField,int) -> a
    void markFieldHasDynamicType(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.type.DynamicType) -> a
    void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue) -> a
com.android.tools.r8.ir.conversion.IRBuilder -> com.android.tools.r8.internal.sn:
    java.util.Queue ssaWorklist -> f
    int currentInstructionOffset -> j
    com.android.tools.r8.ir.code.Value previousLocalValue -> w
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap uninitializedDebugLocalValues -> y
    java.util.List argumentValues -> t
    com.android.tools.r8.ir.code.BasicBlock currentBlock -> i
    java.util.List impreciseInstructions -> z
    com.android.tools.r8.ir.code.Value receiverValue -> s
    java.util.List debugLocalEnds -> x
    com.android.tools.r8.graph.AppView appView -> o
    com.android.tools.r8.ir.code.IRMetadata metadata -> C
    java.util.Set processedSubroutineInstructions -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap offsets -> b
    boolean[] processedInstructions -> d
    com.android.tools.r8.ir.code.NumberGenerator valueNumberGenerator -> k
    com.android.tools.r8.graph.ProgramMethod method -> m
    java.util.LinkedList blocks -> g
    boolean hasImpreciseValues -> A
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap targets -> a
    com.android.tools.r8.ir.code.BasicBlock entryBlock -> h
    com.android.tools.r8.ir.conversion.SourceCode source -> u
    com.android.tools.r8.origin.Origin origin -> q
    java.util.Queue traceBlocksWorklist -> c
    boolean throwingInstructionInCurrentBlock -> v
    com.android.tools.r8.graph.GraphLens codeLens -> p
    com.android.tools.r8.ir.code.NumberGenerator basicBlockNumberGenerator -> l
    com.android.tools.r8.graph.proto.RewrittenPrototypeDescription prototypeChanges -> r
    com.android.tools.r8.graph.ProgramMethod context -> n
    boolean hasIncorrectStackMapTypes -> B
    boolean $assertionsDisabled -> D
    1:1:void <clinit>():155:155 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.SourceCode,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.ir.code.NumberGenerator):469:469 -> <init>
    2:108:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.SourceCode,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.ir.code.NumberGenerator):373:479 -> <init>
    1:4:com.android.tools.r8.ir.conversion.IRBuilder create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.SourceCode,com.android.tools.r8.origin.Origin):435:438 -> a
    5:5:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.ir.conversion.IRBuilder.lookupPrototypeChanges(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):459:459 -> a
    5:5:com.android.tools.r8.ir.conversion.IRBuilder create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.SourceCode,com.android.tools.r8.origin.Origin):441 -> a
    6:6:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.GraphLens.lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod):461:461 -> a
    6:6:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.ir.conversion.IRBuilder.lookupPrototypeChanges(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):459 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.ir.conversion.IRBuilder create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.SourceCode,com.android.tools.r8.origin.Origin):441 -> a
    7:7:com.android.tools.r8.ir.conversion.IRBuilder create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.SourceCode,com.android.tools.r8.origin.Origin):441:441 -> a
    8:8:com.android.tools.r8.ir.conversion.IRBuilder createForInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.conversion.SourceCode,com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):453:453 -> a
    9:10:void addToWorklist(com.android.tools.r8.ir.code.BasicBlock,int):520:521 -> a
    11:19:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):531:539 -> a
    20:23:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int):971:974 -> a
    20:23:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):540 -> a
    24:24:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2352:2352 -> a
    24:24:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):979 -> a
    24:24:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int):975 -> a
    24:24:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):540 -> a
    25:28:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):980:983 -> a
    25:28:void com.android.tools.r8.ir.conversion.IRBuilder.addThisArgument(int):975 -> a
    25:28:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):540 -> a
    29:43:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):546:560 -> a
    44:51:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):559:566 -> a
    52:52:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    52:52:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):567 -> a
    53:78:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):568:593 -> a
    79:84:void com.android.tools.r8.ir.conversion.IRBuilder.addExtraUnusedArgument(com.android.tools.r8.graph.DexType):990:995 -> a
    79:84:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):594 -> a
    85:89:void com.android.tools.r8.ir.conversion.IRBuilder.addNonThisArgument(com.android.tools.r8.ir.code.Argument):1011:1015 -> a
    85:89:void com.android.tools.r8.ir.conversion.IRBuilder.addExtraUnusedArgument(com.android.tools.r8.graph.DexType):995 -> a
    85:89:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):594 -> a
    90:93:void buildArgumentsWithRewrittenPrototypeChanges(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiConsumer):596:599 -> a
    94:110:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):610:626 -> a
    111:112:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2471:2472 -> a
    111:112:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):628 -> a
    113:114:void com.android.tools.r8.ir.conversion.IRBuilder.ensureSubroutineProcessedInstructions():2489:2490 -> a
    113:114:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2474 -> a
    113:114:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):628 -> a
    115:115:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2475:2475 -> a
    115:115:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):628 -> a
    116:116:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2479:2479 -> a
    116:116:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    117:118:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2471:2472 -> a
    117:118:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2479 -> a
    117:118:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    119:120:void com.android.tools.r8.ir.conversion.IRBuilder.ensureSubroutineProcessedInstructions():2489:2490 -> a
    119:120:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2474 -> a
    119:120:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2479 -> a
    119:120:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    121:121:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2475:2475 -> a
    121:121:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2479 -> a
    121:121:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    122:124:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2479:2481 -> a
    122:124:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    125:126:void com.android.tools.r8.ir.conversion.IRBuilder.ensureSubroutineProcessedInstructions():2489:2490 -> a
    125:126:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2484 -> a
    125:126:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    127:127:void com.android.tools.r8.ir.conversion.IRBuilder.markIndexProcessed(int):2485:2485 -> a
    127:127:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):633 -> a
    128:138:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):634:644 -> a
    139:139:void com.android.tools.r8.ir.conversion.IRBuilder.ensureNormalSuccessorBlock(int,int):2510:2510 -> a
    139:139:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):645 -> a
    140:142:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):651:653 -> a
    143:143:void com.android.tools.r8.ir.conversion.IRBuilder.setCurrentBlock(com.android.tools.r8.ir.code.BasicBlock):526:526 -> a
    143:143:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):653 -> a
    144:149:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):654:659 -> a
    150:155:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():868:873 -> a
    150:155:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    156:156:void com.android.tools.r8.ir.conversion.IRBuilder.setCurrentBlock(com.android.tools.r8.ir.code.BasicBlock):526:526 -> a
    156:156:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():873 -> a
    156:156:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    157:161:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():874:878 -> a
    157:161:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    162:186:void com.android.tools.r8.ir.conversion.IRBuilder.processMoveExceptionItem(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):919:943 -> a
    162:186:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():878 -> a
    162:186:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    187:191:void com.android.tools.r8.ir.conversion.IRBuilder.processMoveExceptionItem(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):942:946 -> a
    187:191:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():878 -> a
    187:191:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    192:193:void com.android.tools.r8.ir.conversion.IRBuilder.addToWorklist(com.android.tools.r8.ir.code.BasicBlock,int):520:521 -> a
    192:193:void com.android.tools.r8.ir.conversion.IRBuilder.processMoveExceptionItem(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):947 -> a
    192:193:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():878 -> a
    192:193:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    194:201:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():879:886 -> a
    194:201:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    202:225:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():885:908 -> a
    202:225:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    226:229:void com.android.tools.r8.ir.conversion.IRBuilder.closeCurrentBlockWithFallThrough(com.android.tools.r8.ir.code.BasicBlock):2555:2558 -> a
    226:229:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():908 -> a
    226:229:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    230:231:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():911:912 -> a
    230:231:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    232:232:void com.android.tools.r8.ir.conversion.IRBuilder.processWorklist():868:868 -> a
    232:232:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):660 -> a
    233:233:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):663:663 -> a
    234:235:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():807:808 -> a
    234:235:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    236:241:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):814:819 -> a
    236:241:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    236:241:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    242:242:int com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.predecessorCount():304:304 -> a
    242:242:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    242:242:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    242:242:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    243:249:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):836:842 -> a
    243:249:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    243:249:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    243:249:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    250:251:boolean com.android.tools.r8.ir.conversion.IRBuilder.trivialGotoBlockPotentiallyWithMoveException(com.android.tools.r8.ir.code.BasicBlock):859:860 -> a
    250:251:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):843 -> a
    250:251:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    250:251:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    250:251:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    252:252:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    252:252:boolean com.android.tools.r8.ir.conversion.IRBuilder.trivialGotoBlockPotentiallyWithMoveException(com.android.tools.r8.ir.code.BasicBlock):860 -> a
    252:252:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):843 -> a
    252:252:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    252:252:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    252:252:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    253:254:boolean com.android.tools.r8.ir.conversion.IRBuilder.trivialGotoBlockPotentiallyWithMoveException(com.android.tools.r8.ir.code.BasicBlock):861:862 -> a
    253:254:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):843 -> a
    253:254:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    253:254:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    253:254:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    255:255:boolean com.android.tools.r8.ir.conversion.IRBuilder.trivialGotoBlockPotentiallyWithMoveException(com.android.tools.r8.ir.code.BasicBlock):860:860 -> a
    255:255:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):843 -> a
    255:255:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    255:255:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    255:255:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    256:263:int com.android.tools.r8.ir.conversion.IRBuilder.nonSplitPredecessorCount(com.android.tools.r8.ir.code.BasicBlock):847:854 -> a
    256:263:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819 -> a
    256:263:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    256:263:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    264:270:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):819:825 -> a
    264:270:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    264:270:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    271:271:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors(com.android.tools.r8.ir.code.BasicBlock):822:822 -> a
    271:271:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyFilledPredecessors():808 -> a
    271:271:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):668 -> a
    272:278:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():774:780 -> a
    272:278:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    279:279:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.next():39:39 -> a
    279:279:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():781 -> a
    279:279:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    280:280:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():782:782 -> a
    280:280:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    281:281:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    281:281:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():783 -> a
    281:281:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    282:282:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():784:784 -> a
    282:282:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    283:283:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    283:283:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():786 -> a
    283:283:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    284:289:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():787:792 -> a
    284:289:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    290:290:boolean com.android.tools.r8.ir.code.Position.isSyntheticPosition():0:0 -> a
    290:290:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():793 -> a
    290:290:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    291:293:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():794:796 -> a
    291:293:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    294:294:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    294:294:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():797 -> a
    294:294:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    295:295:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    295:295:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():798 -> a
    295:295:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    296:296:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.next():39:39 -> a
    296:296:void com.android.tools.r8.ir.conversion.IRBuilder.insertDebugPositions():799 -> a
    296:296:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):671 -> a
    297:298:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):674:675 -> a
    299:299:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    299:299:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):675 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    300:300:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    300:300:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):675 -> a
    301:302:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):676:677 -> a
    303:303:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    303:303:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):678 -> a
    304:309:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):679:684 -> a
    310:310:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    310:310:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):685 -> a
    311:312:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):692:693 -> a
    313:343:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2643:2673 -> a
    313:343:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    344:344:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    344:344:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2673 -> a
    344:344:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    345:345:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2673:2673 -> a
    345:345:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    346:360:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2672:2686 -> a
    346:360:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    361:372:void com.android.tools.r8.ir.code.BasicBlock.removePredecessorsByIndex(java.util.List):572:583 -> a
    361:372:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2690 -> a
    361:372:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    373:373:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2691:2691 -> a
    373:373:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    374:374:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2649:2649 -> a
    374:374:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    375:375:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    375:375:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2649 -> a
    375:375:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    376:376:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    376:376:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    376:376:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2649 -> a
    376:376:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    377:421:void com.android.tools.r8.ir.conversion.IRBuilder.joinPredecessorsWithIdenticalPhis():2649:2693 -> a
    377:421:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):698 -> a
    422:436:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):701:715 -> a
    437:437:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(com.android.tools.r8.ir.conversion.IRBuilder):1246:1246 -> a
    437:437:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):718 -> a
    438:441:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):719:722 -> a
    442:442:boolean com.android.tools.r8.ir.conversion.IRBuilder.canUseStackMapTypes():750:750 -> a
    442:442:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):726 -> a
    443:448:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):726:731 -> a
    449:449:boolean com.android.tools.r8.ir.conversion.IRBuilder.canUseStackMapTypes():750:750 -> a
    449:449:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):731 -> a
    450:452:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):731:733 -> a
    453:453:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    453:453:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):733 -> a
    454:454:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):733:733 -> a
    455:455:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):729:729 -> a
    456:456:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    456:456:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):729 -> a
    457:457:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):729:729 -> a
    458:471:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):724:737 -> a
    472:483:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):127:138 -> a
    472:483:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    472:483:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    484:485:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):817:818 -> a
    484:485:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    484:485:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):138 -> a
    484:485:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    484:485:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    486:491:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.graph.DexItemFactory):827:832 -> a
    486:491:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):818 -> a
    486:491:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    486:491:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):138 -> a
    486:491:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    486:491:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    492:493:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):820:821 -> a
    492:493:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    492:493:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):138 -> a
    492:493:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    492:493:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    494:495:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromSwitch(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.graph.DexItemFactory):840:841 -> a
    494:495:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):821 -> a
    494:495:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    494:495:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):138 -> a
    494:495:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    494:495:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    496:504:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):147:155 -> a
    496:504:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    496:504:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    505:506:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):817:818 -> a
    505:506:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    505:506:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):155 -> a
    505:506:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    505:506:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    507:512:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.graph.DexItemFactory):827:832 -> a
    507:512:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):818 -> a
    507:512:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    507:512:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):155 -> a
    507:512:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    507:512:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    513:514:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):820:821 -> a
    513:514:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    513:514:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):155 -> a
    513:514:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    513:514:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    515:516:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromSwitch(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.graph.DexItemFactory):840:841 -> a
    515:516:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):821 -> a
    515:516:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isComparisonOfStringHashValue(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):854 -> a
    515:516:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):155 -> a
    515:516:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    515:516:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    517:521:java.util.List com.android.tools.r8.ir.conversion.StringSwitchConverter.getRewritingCandidates(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):168:172 -> a
    517:521:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):110 -> a
    517:521:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    522:522:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):113:113 -> a
    522:522:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    523:523:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo$Builder com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo.builder(com.android.tools.r8.graph.DexItemFactory):271:271 -> a
    523:523:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter.convertRewritingCandidateToStringSwitchInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexItemFactory):178 -> a
    523:523:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):114 -> a
    523:523:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    524:526:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter.convertRewritingCandidateToStringSwitchInstruction(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexItemFactory):178:180 -> a
    524:526:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):114 -> a
    524:526:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    527:528:void com.android.tools.r8.ir.conversion.StringSwitchConverter.convertToStringSwitchInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):119:120 -> a
    527:528:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):737 -> a
    529:533:com.android.tools.r8.ir.code.IRCode build(com.android.tools.r8.graph.ProgramMethod):740:744 -> a
    534:535:boolean allPhisAreStackMapPhis(com.android.tools.r8.ir.code.IRCode):754:755 -> a
    536:536:void constrainType(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.ValueTypeConstraint):763:763 -> a
    537:537:void resolveAndBuildSwitch(int,int,int):952:952 -> a
    538:539:void add(com.android.tools.r8.ir.code.Instruction):966:967 -> a
    540:541:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1044:1045 -> a
    542:544:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterForDebugLocal(int,com.android.tools.r8.graph.DebugLocalInfo):2132:2134 -> a
    542:544:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1048 -> a
    545:545:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():538:538 -> a
    545:545:boolean com.android.tools.r8.ir.conversion.IRBuilder.isValidFor(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DebugLocalInfo):1021 -> a
    545:545:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1049 -> a
    546:546:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalUninitialized():0:0 -> a
    546:546:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():538 -> a
    546:546:boolean com.android.tools.r8.ir.conversion.IRBuilder.isValidFor(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DebugLocalInfo):1021 -> a
    546:546:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1049 -> a
    547:547:boolean com.android.tools.r8.ir.conversion.IRBuilder.isValidFor(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DebugLocalInfo):1021:1021 -> a
    547:547:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1049 -> a
    548:548:void addDebugLocalEnd(int,com.android.tools.r8.graph.DebugLocalInfo):1050:1050 -> a
    549:566:void addDebugPosition(com.android.tools.r8.ir.code.Position):1055:1072 -> a
    567:570:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1116:1119 -> a
    571:571:boolean com.android.tools.r8.ir.conversion.IRBuilder.canUseStackMapTypes():750:750 -> a
    571:571:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1119 -> a
    572:577:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1120:1125 -> a
    578:578:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    578:578:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1125 -> a
    579:579:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1125:1125 -> a
    580:600:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):160:180 -> a
    580:600:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1126 -> a
    601:601:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):175:175 -> a
    601:601:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1126 -> a
    602:606:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):169:173 -> a
    602:606:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1126 -> a
    607:607:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):171:171 -> a
    607:607:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1126 -> a
    608:608:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):167:167 -> a
    608:608:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1126 -> a
    609:622:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):165:178 -> a
    609:622:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1126 -> a
    623:643:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):160:180 -> a
    623:643:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1129 -> a
    644:644:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):175:175 -> a
    644:644:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1129 -> a
    645:649:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):169:173 -> a
    645:649:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1129 -> a
    650:650:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):171:171 -> a
    650:650:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1129 -> a
    651:651:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):167:167 -> a
    651:651:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1129 -> a
    652:665:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.IRBuilder.fromMemberType(com.android.tools.r8.ir.code.MemberType):165:178 -> a
    652:665:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1129 -> a
    666:669:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1131:1134 -> a
    670:673:void com.android.tools.r8.ir.conversion.IRBuilder.addImpreciseInstruction(com.android.tools.r8.ir.code.ImpreciseMemberTypeInstruction):767:770 -> a
    670:673:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1135 -> a
    674:674:void addArrayGet(com.android.tools.r8.ir.code.MemberType,int,int,int):1137:1137 -> a
    675:679:void addArrayLength(int,int):1141:1145 -> a
    680:685:void com.android.tools.r8.ir.conversion.IRBuilder.internalAddCheckCast(int,com.android.tools.r8.graph.DexType,boolean):1168:1173 -> a
    680:685:void addCheckCast(int,com.android.tools.r8.graph.DexType):1160 -> a
    686:686:void com.android.tools.r8.ir.code.CheckCast.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):40:40 -> a
    686:686:void com.android.tools.r8.ir.conversion.IRBuilder.internalAddCheckCast(int,com.android.tools.r8.graph.DexType,boolean):1173 -> a
    686:686:void addCheckCast(int,com.android.tools.r8.graph.DexType):1160 -> a
    687:688:void com.android.tools.r8.ir.conversion.IRBuilder.internalAddCheckCast(int,com.android.tools.r8.graph.DexType,boolean):1174:1175 -> a
    687:688:void addCheckCast(int,com.android.tools.r8.graph.DexType):1160 -> a
    689:692:void addConst(com.android.tools.r8.ir.analysis.type.TypeElement,int,long):1188:1191 -> a
    693:694:void addMove(com.android.tools.r8.ir.code.ValueTypeConstraint,int,int):1305:1306 -> a
    695:695:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2352:2352 -> a
    695:695:void addMove(com.android.tools.r8.ir.code.ValueTypeConstraint,int,int):1308 -> a
    696:707:void addMove(com.android.tools.r8.ir.code.ValueTypeConstraint,int,int):1309:1320 -> a
    708:709:void addNop():1346:1347 -> a
    710:720:void com.android.tools.r8.ir.conversion.IRBuilder.addTrivialIf(int,int):1383:1393 -> a
    710:720:void addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int,int):1426 -> a
    721:724:void addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int,int):1428:1431 -> a
    725:730:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1397:1402 -> a
    725:730:void addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int,int):1432 -> a
    731:732:void com.android.tools.r8.ir.conversion.IRBuilder.addToWorklist(com.android.tools.r8.ir.code.BasicBlock,int):520:521 -> a
    731:732:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1402 -> a
    731:732:void addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int,int):1432 -> a
    733:733:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1403:1403 -> a
    733:733:void addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int,int):1432 -> a
    734:735:void com.android.tools.r8.ir.conversion.IRBuilder.addToWorklist(com.android.tools.r8.ir.code.BasicBlock,int):520:521 -> a
    734:735:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1403 -> a
    734:735:void addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int,int):1432 -> a
    736:736:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1404:1404 -> a
    736:736:void addIf(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int,int):1432 -> a
    737:747:void com.android.tools.r8.ir.conversion.IRBuilder.addTrivialIf(int,int):1383:1393 -> a
    737:747:void addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int):1453 -> a
    748:748:void addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int):1455:1455 -> a
    749:754:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1397:1402 -> a
    749:754:void addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int):1456 -> a
    755:756:void com.android.tools.r8.ir.conversion.IRBuilder.addToWorklist(com.android.tools.r8.ir.code.BasicBlock,int):520:521 -> a
    755:756:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1402 -> a
    755:756:void addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int):1456 -> a
    757:757:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1403:1403 -> a
    757:757:void addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int):1456 -> a
    758:759:void com.android.tools.r8.ir.conversion.IRBuilder.addToWorklist(com.android.tools.r8.ir.code.BasicBlock,int):520:521 -> a
    758:759:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1403 -> a
    758:759:void addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int):1456 -> a
    760:760:void com.android.tools.r8.ir.conversion.IRBuilder.addNonTrivialIf(com.android.tools.r8.ir.code.If,int,int):1404:1404 -> a
    760:760:void addIfZero(com.android.tools.r8.ir.code.If$Type,com.android.tools.r8.ir.code.ValueTypeConstraint,int,int,int):1456 -> a
    761:765:void addInstanceGet(int,int,com.android.tools.r8.graph.DexField):1461:1465 -> a
    766:772:void addInstanceGet(int,int,com.android.tools.r8.graph.DexField):1463:1469 -> a
    773:777:void addInstanceOf(int,int,com.android.tools.r8.graph.DexType):1473:1477 -> a
    778:787:void addInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,java.util.List,boolean):1503:1512 -> a
    788:800:void addInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,java.util.List,boolean):1506:1518 -> a
    801:805:void addInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,java.util.List,java.util.List,boolean):1528:1532 -> a
    806:809:void addInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,java.util.List,java.util.List,boolean):1531:1534 -> a
    810:811:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1561:1562 -> a
    812:812:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    812:812:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1565 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    813:813:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    813:813:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1565 -> a
    814:814:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isStaticPut():129:129 -> a
    814:814:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298 -> a
    814:814:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1565 -> a
    815:815:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    815:815:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1565 -> a
    816:816:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isStaticGet():133:133 -> a
    816:816:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298 -> a
    816:816:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1565 -> a
    817:817:boolean com.android.tools.r8.graph.DexMethodHandle.isStaticHandle():298:298 -> a
    817:817:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1565 -> a
    818:830:void addInvokeCustomRange(com.android.tools.r8.graph.DexCallSite,int,int):1566:1578 -> a
    831:835:void addInvokeCustom(com.android.tools.r8.graph.DexCallSite,java.util.List,java.util.List):1583:1587 -> a
    836:839:void addInvokeCustom(com.android.tools.r8.graph.DexCallSite,java.util.List,java.util.List):1586:1589 -> a
    840:863:void addInvokeRegisters(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto,int,int[]):1600:1623 -> a
    864:872:void addInvokeNewArray(com.android.tools.r8.graph.DexType,int,int[]):1627:1635 -> a
    873:873:boolean com.android.tools.r8.ir.code.ValueTypeConstraint.isWide():32:32 -> a
    873:873:void addInvokeNewArray(com.android.tools.r8.graph.DexType,int,int[]):1636 -> a
    874:880:void addInvokeNewArray(com.android.tools.r8.graph.DexType,int,int[]):1637:1643 -> a
    881:905:void addInvokeRange(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProto,int,int):1664:1688 -> a
    906:906:boolean lambda$addMoveException$2(com.android.tools.r8.ir.code.BasicBlock):1719:1719 -> a
    907:907:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    907:907:boolean lambda$addMoveException$2(com.android.tools.r8.ir.code.BasicBlock):1719 -> a
    908:912:void addNewArrayFilledData(int,int,long,short[]):1790:1794 -> a
    913:916:void addStaticGet(int,com.android.tools.r8.graph.DexField):1848:1851 -> a
    917:923:void addStaticGet(int,com.android.tools.r8.graph.DexField):1849:1855 -> a
    924:967:void addSwitch(int,int[],int,int[]):1887:1930 -> a
    968:968:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray(int[]):167:167 -> a
    968:968:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray():155 -> a
    968:968:void addSwitch(int,int[],int,int[]):1935 -> a
    969:969:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray(int[]):167:167 -> a
    969:969:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray():155 -> a
    969:969:void addSwitch(int,int[],int,int[]):1936 -> a
    970:978:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.IRBuilder.createSwitch(com.android.tools.r8.ir.code.Value,int[],int,int[]):1943:1951 -> a
    970:978:void addSwitch(int,int[],int,int[]):1937 -> a
    979:980:void com.android.tools.r8.ir.conversion.IRBuilder.addToWorklist(com.android.tools.r8.ir.code.BasicBlock,int):520:521 -> a
    979:980:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.IRBuilder.createSwitch(com.android.tools.r8.ir.code.Value,int[],int,int[]):1951 -> a
    979:980:void addSwitch(int,int[],int,int[]):1937 -> a
    981:991:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.IRBuilder.createSwitch(com.android.tools.r8.ir.code.Value,int[],int,int[]):1952:1962 -> a
    981:991:void addSwitch(int,int[],int,int[]):1937 -> a
    992:993:void com.android.tools.r8.ir.conversion.IRBuilder.addToWorklist(com.android.tools.r8.ir.code.BasicBlock,int):520:521 -> a
    992:993:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.IRBuilder.createSwitch(com.android.tools.r8.ir.code.Value,int[],int,int[]):1962 -> a
    992:993:void addSwitch(int,int[],int,int[]):1937 -> a
    994:1004:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.IRBuilder.createSwitch(com.android.tools.r8.ir.code.Value,int[],int,int[]):1963:1973 -> a
    994:1004:void addSwitch(int,int[],int,int[]):1937 -> a
    1005:1005:void addSwitch(int,int[],int,int[]):1938:1938 -> a
    1006:1007:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2143:2144 -> a
    1008:1027:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2159:2178 -> a
    1008:1027:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1028:1038:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2250:2260 -> a
    1028:1038:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1028:1038:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1039:1039:boolean com.android.tools.r8.ir.code.ValueTypeConstraint.isPrecise():36:36 -> a
    1039:1039:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2260 -> a
    1039:1039:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1039:1039:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1040:1041:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2260:2261 -> a
    1040:1041:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1040:1041:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1042:1042:boolean com.android.tools.r8.ir.code.ValueTypeConstraint.isObject():24:24 -> a
    1042:1042:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2261 -> a
    1042:1042:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1042:1042:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1043:1043:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2261:2261 -> a
    1043:1043:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1043:1043:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1044:1054:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.code.ValueTypeConstraint.toPrimitiveType():161:171 -> a
    1044:1054:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2261 -> a
    1044:1054:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1044:1054:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1055:1055:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.code.ValueTypeConstraint.toPrimitiveType():167:167 -> a
    1055:1055:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2261 -> a
    1055:1055:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1055:1055:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1056:1056:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.code.ValueTypeConstraint.toPrimitiveType():165:165 -> a
    1056:1056:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2261 -> a
    1056:1056:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1056:1056:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1057:1057:com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement com.android.tools.r8.ir.code.ValueTypeConstraint.toPrimitiveType():163:163 -> a
    1057:1057:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2261 -> a
    1057:1057:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1057:1057:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1058:1059:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2262:2263 -> a
    1058:1059:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1058:1059:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1060:1060:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    1060:1060:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2263 -> a
    1060:1060:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1060:1060:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1061:1078:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2263:2280 -> a
    1061:1078:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1061:1078:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1079:1079:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.getUninitializedDebugLocalValue(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2251:2251 -> a
    1079:1079:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2183 -> a
    1079:1079:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1080:1082:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getIncomingLocalAtBlock(int,com.android.tools.r8.ir.code.BasicBlock):2242:2244 -> a
    1080:1082:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2185 -> a
    1080:1082:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1083:1105:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):68:90 -> a
    1083:1105:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1083:1105:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1106:1106:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):88:88 -> a
    1106:1106:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1106:1106:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1107:1107:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):86:86 -> a
    1107:1107:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1107:1107:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1108:1108:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):84:84 -> a
    1108:1108:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1108:1108:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1109:1121:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):70:82 -> a
    1109:1121:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1109:1121:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1122:1122:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):80:80 -> a
    1122:1122:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1122:1122:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1123:1123:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):78:78 -> a
    1123:1123:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1123:1123:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1124:1124:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.TypeConstraintResolver.typeForConstraint(com.android.tools.r8.ir.code.ValueTypeConstraint):76:76 -> a
    1124:1124:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2186 -> a
    1124:1124:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1125:1125:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2187:2187 -> a
    1125:1125:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1126:1126:boolean com.android.tools.r8.ir.conversion.IRBuilder.canUseStackMapTypes():750:750 -> a
    1126:1126:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2189 -> a
    1126:1126:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1127:1148:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2189:2210 -> a
    1127:1148:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1149:1185:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterRecursive(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType):2201:2237 -> a
    1149:1185:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock$EdgeType,com.android.tools.r8.ir.code.Phi$RegisterReadType):2147 -> a
    1186:1186:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> a
    1186:1186:void addAdd(com.android.tools.r8.ir.code.NumericType,int,int,int):1077 -> a
    1187:1187:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> a
    1187:1187:void addAdd(com.android.tools.r8.ir.code.NumericType,int,int,int):1078 -> a
    1188:1188:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> a
    1188:1188:void addAdd(com.android.tools.r8.ir.code.NumericType,int,int,int):1079 -> a
    1189:1191:void addAdd(com.android.tools.r8.ir.code.NumericType,int,int,int):1080:1082 -> a
    1192:1192:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> a
    1192:1192:void addCmp(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Cmp$Bias,int,int,int):1179 -> a
    1193:1193:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> a
    1193:1193:void addCmp(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Cmp$Bias,int,int,int):1180 -> a
    1194:1197:void addCmp(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.Cmp$Bias,int,int,int):1181:1184 -> a
    1198:1198:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> a
    1198:1198:void addConversion(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType,int,int):2099 -> a
    1199:1199:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> a
    1199:1199:void addConversion(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType,int,int):2100 -> a
    1200:1202:void addConversion(com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.NumericType,int,int):2101:2103 -> a
    1203:1203:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> a
    1203:1203:void addNeg(com.android.tools.r8.ir.code.NumericType,int,int):1758 -> a
    1204:1204:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> a
    1204:1204:void addNeg(com.android.tools.r8.ir.code.NumericType,int,int):1759 -> a
    1205:1207:void addNeg(com.android.tools.r8.ir.code.NumericType,int,int):1760:1762 -> a
    1208:1211:com.android.tools.r8.ir.code.Value readIntLiteral(long):2305:2308 -> a
    1212:1213:com.android.tools.r8.ir.code.Value writeRegister(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo,com.android.tools.r8.graph.DebugLocalInfo):2315:2316 -> a
    1214:1215:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeRegister(int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2320:2321 -> a
    1214:1215:com.android.tools.r8.ir.code.Value writeRegister(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo,com.android.tools.r8.graph.DebugLocalInfo):2315 -> a
    1216:1216:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getIncomingLocal(int):2348:2348 -> a
    1216:1216:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2109 -> a
    1217:1221:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2110:2114 -> a
    1222:1222:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():538:538 -> a
    1222:1222:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2114 -> a
    1223:1223:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalUninitialized():0:0 -> a
    1223:1223:boolean com.android.tools.r8.ir.code.Value.isUninitializedLocal():538 -> a
    1223:1223:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2114 -> a
    1224:1234:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2115:2125 -> a
    1235:1239:com.android.tools.r8.ir.code.Value readRegister(int,com.android.tools.r8.ir.code.ValueTypeConstraint):2123:2127 -> a
    1240:1240:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getIncomingLocal(int):2348:2348 -> a
    1240:1240:com.android.tools.r8.ir.code.Value writeRegister(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2326 -> a
    1241:1241:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2352:2352 -> a
    1241:1241:com.android.tools.r8.ir.code.Value writeRegister(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2327 -> a
    1242:1244:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterForDebugLocal(int,com.android.tools.r8.graph.DebugLocalInfo):2132:2134 -> a
    1242:1244:com.android.tools.r8.ir.code.Value writeRegister(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2339 -> a
    1245:1246:com.android.tools.r8.ir.code.Value writeRegister(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2339:2340 -> a
    1247:1247:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2352:2352 -> a
    1247:1247:void addBooleanNonThisArgument(int):1005 -> a
    1248:1249:void addBooleanNonThisArgument(int):1006:1007 -> a
    1250:1254:void com.android.tools.r8.ir.conversion.IRBuilder.addNonThisArgument(com.android.tools.r8.ir.code.Argument):1011:1015 -> a
    1250:1254:void addBooleanNonThisArgument(int):1007 -> a
    1255:1255:com.android.tools.r8.graph.DebugLocalInfo com.android.tools.r8.ir.conversion.IRBuilder.getOutgoingLocal(int):2352:2352 -> a
    1255:1255:void addNonThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):999 -> a
    1256:1257:void addNonThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):1000:1001 -> a
    1258:1262:void com.android.tools.r8.ir.conversion.IRBuilder.addNonThisArgument(com.android.tools.r8.ir.code.Argument):1011:1015 -> a
    1258:1262:void addNonThisArgument(int,com.android.tools.r8.ir.analysis.type.TypeElement):1001 -> a
    1263:1263:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2370:2370 -> a
    1264:1268:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyOutValueType(com.android.tools.r8.ir.code.Instruction):2402:2406 -> a
    1264:1268:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2370 -> a
    1269:1269:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    1269:1269:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyOutValueType(com.android.tools.r8.ir.code.Instruction):2406 -> a
    1269:1269:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2370 -> a
    1270:1270:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyOutValueType(com.android.tools.r8.ir.code.Instruction):2406:2406 -> a
    1270:1270:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2370 -> a
    1271:1271:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyOutValueType(com.android.tools.r8.ir.code.Instruction):2403:2403 -> a
    1271:1271:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2370 -> a
    1272:1297:void addInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Position):2371:2396 -> a
    1298:1302:void lambda$addInstruction$3(java.util.List,java.util.Set,com.android.tools.r8.graph.DexType,java.lang.Integer):2385:2389 -> a
    1303:1309:void lambda$addInstruction$3(java.util.List,java.util.Set,com.android.tools.r8.graph.DexType,java.lang.Integer):2387:2393 -> a
    1310:1313:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.ensureBlock(int):2460:2463 -> a
    1310:1313:void ensureSuccessorBlock(int,int,boolean):2496 -> a
    1314:1317:int com.android.tools.r8.ir.conversion.IRBuilder.getBlockStartOffset(int):2451:2454 -> a
    1314:1317:void ensureSuccessorBlock(int,int,boolean):2497 -> a
    1318:1318:void ensureSuccessorBlock(int,int,boolean):2498:2498 -> a
    1319:1319:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addNormalSuccessor(int):287:287 -> a
    1319:1319:void ensureSuccessorBlock(int,int,boolean):2500 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1320:1320:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addNormalSuccessor(int):287:287 -> a
    1320:1320:void ensureSuccessorBlock(int,int,boolean):2500 -> a
    1321:1321:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addNormalPredecessor(int):283:283 -> a
    1321:1321:void ensureSuccessorBlock(int,int,boolean):2501 -> a
    1322:1322:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalSuccessor(int):300:300 -> a
    1322:1322:void ensureSuccessorBlock(int,int,boolean):2503 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1323:1323:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalSuccessor(int):300:300 -> a
    1323:1323:void ensureSuccessorBlock(int,int,boolean):2503 -> a
    1324:1324:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalPredecessor(int):296:296 -> a
    1324:1324:void ensureSuccessorBlock(int,int,boolean):2504 -> a
    1325:1325:void ensureSuccessorBlock(int,int,boolean):2506:2506 -> a
    1326:1329:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2545:2548 -> a
    1330:1330:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2547:2547 -> a
    1331:1333:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2562:2564 -> a
    1331:1333:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1334:1334:int com.android.tools.r8.ir.conversion.IRBuilder.getOffset(com.android.tools.r8.ir.code.BasicBlock):2532:2532 -> a
    1334:1334:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.getBlockInfo(com.android.tools.r8.ir.code.BasicBlock):2524 -> a
    1334:1334:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2564 -> a
    1334:1334:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1335:1335:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.getBlockInfo(int):2520:2520 -> a
    1335:1335:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.getBlockInfo(com.android.tools.r8.ir.code.BasicBlock):2524 -> a
    1335:1335:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2564 -> a
    1335:1335:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1336:1336:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2565:2565 -> a
    1336:1336:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1337:1337:boolean com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.hasMoreThanASingleNormalExit():315:315 -> a
    1337:1337:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2566 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1337:1337:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1338:1339:boolean com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.hasMoreThanASingleNormalExit():315:316 -> a
    1338:1339:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2566 -> a
    1338:1339:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1340:1340:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2569:2569 -> a
    1340:1340:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1341:1341:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder.getBlockInfo(int):2520:2520 -> a
    1341:1341:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2570 -> a
    1341:1341:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1342:1342:int com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.predecessorCount():304:304 -> a
    1342:1342:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2571 -> a
    1342:1342:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    1343:1343:int com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.predecessorCount():304:304 -> a
    1343:1343:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2571 -> a
    1343:1343:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1344:1354:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2574:2584 -> a
    1344:1354:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1355:1363:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2581:2589 -> a
    1355:1363:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1364:1369:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.conversion.IRBuilder.createSplitEdgeBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):2605:2610 -> a
    1364:1369:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2589 -> a
    1364:1369:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1370:1377:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2590:2597 -> a
    1370:1377:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1378:1380:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.allSuccessors():308:310 -> a
    1378:1380:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2600 -> a
    1378:1380:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1381:1381:void com.android.tools.r8.ir.conversion.IRBuilder.generateSplitEdgeBlocks():2600:2600 -> a
    1381:1381:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2549 -> a
    1382:1383:void closeCurrentBlock(com.android.tools.r8.ir.code.JumpInstruction):2550:2551 -> a
    1384:1384:boolean isIntegerType(com.android.tools.r8.ir.code.NumericType):2699:2699 -> a
    1:20:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromMemberType(com.android.tools.r8.ir.code.MemberType):63:82 -> b
    1:20:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1149 -> b
    21:21:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromMemberType(com.android.tools.r8.ir.code.MemberType):78:78 -> b
    21:21:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1149 -> b
    22:26:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromMemberType(com.android.tools.r8.ir.code.MemberType):72:76 -> b
    22:26:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1149 -> b
    27:27:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromMemberType(com.android.tools.r8.ir.code.MemberType):74:74 -> b
    27:27:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1149 -> b
    28:28:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromMemberType(com.android.tools.r8.ir.code.MemberType):70:70 -> b
    28:28:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1149 -> b
    29:41:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromMemberType(com.android.tools.r8.ir.code.MemberType):68:80 -> b
    29:41:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1149 -> b
    42:46:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1149:1153 -> b
    47:50:void com.android.tools.r8.ir.conversion.IRBuilder.addImpreciseInstruction(com.android.tools.r8.ir.code.ImpreciseMemberTypeInstruction):767:770 -> b
    47:50:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1154 -> b
    51:51:void addArrayPut(com.android.tools.r8.ir.code.MemberType,int,int,int):1156:1156 -> b
    52:53:void addDebugLocalStart(int,com.android.tools.r8.graph.DebugLocalInfo):1025:1026 -> b
    54:56:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readRegisterForDebugLocal(int,com.android.tools.r8.graph.DebugLocalInfo):2132:2134 -> b
    54:56:void addDebugLocalStart(int,com.android.tools.r8.graph.DebugLocalInfo):1030 -> b
    57:65:void addDebugLocalStart(int,com.android.tools.r8.graph.DebugLocalInfo):1031:1039 -> b
    66:66:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1086:1086 -> b
    67:67:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> b
    67:67:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1087 -> b
    68:68:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1088:1088 -> b
    69:69:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> b
    69:69:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1089 -> b
    70:72:void addAddLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1090:1092 -> b
    73:73:void addConstClass(int,com.android.tools.r8.graph.DexType):1215:1215 -> b
    74:74:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.classClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):436:436 -> b
    74:74:void addConstClass(int,com.android.tools.r8.graph.DexType):1215 -> b
    75:76:void addConstClass(int,com.android.tools.r8.graph.DexType):1216:1217 -> b
    77:77:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> b
    77:77:void addConstClass(int,com.android.tools.r8.graph.DexType):1217 -> b
    78:78:void addConstClass(int,com.android.tools.r8.graph.DexType):1219:1219 -> b
    79:83:void addGoto(int):1375:1379 -> b
    84:87:void addInstancePut(int,int,com.android.tools.r8.graph.DexField):1481:1484 -> b
    88:88:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1647:1647 -> b
    89:89:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> b
    89:89:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1647 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    90:90:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> b
    90:90:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1647 -> b
    91:97:void addMultiNewArray(com.android.tools.r8.graph.DexType,int,int[]):1647:1653 -> b
    98:112:void addInvokeRangeNewArray(com.android.tools.r8.graph.DexType,int,int):1692:1706 -> b
    113:113:void checkInvokeArgumentRegisters(int,int):1711:1711 -> b
    114:114:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    114:114:void checkInvokeArgumentRegisters(int,int):1711 -> b
    115:115:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    115:115:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    115:115:void checkInvokeArgumentRegisters(int,int):1711 -> b
    116:116:void checkInvokeArgumentRegisters(int,int):1711:1711 -> b
    117:117:void addReturn():1830:1830 -> b
    118:120:void com.android.tools.r8.ir.conversion.IRBuilder.addReturn(com.android.tools.r8.ir.code.Return):1835:1837 -> b
    118:120:void addReturn():1830 -> b
    121:124:void addStaticPut(int,com.android.tools.r8.graph.DexField):1859:1862 -> b
    125:125:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> b
    125:125:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1766 -> b
    126:126:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> b
    126:126:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1767 -> b
    127:130:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1769:1772 -> b
    131:134:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readLiteral(com.android.tools.r8.ir.code.ValueTypeConstraint,long):2289:2292 -> b
    131:134:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1772 -> b
    135:138:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readLongLiteral(long):2298:2301 -> b
    135:138:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readLiteral(com.android.tools.r8.ir.code.ValueTypeConstraint,long):2293 -> b
    135:138:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1772 -> b
    139:142:void addNot(com.android.tools.r8.ir.code.NumericType,int,int):1773:1776 -> b
    143:143:void addInstruction(com.android.tools.r8.ir.code.Instruction):2366:2366 -> b
    144:144:boolean isNonLongIntegerType(com.android.tools.r8.ir.code.NumericType):2703:2703 -> b
    1:1:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1096:1096 -> c
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> c
    2:2:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1097 -> c
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> c
    3:3:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1098 -> c
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> c
    4:4:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1099 -> c
    5:7:void addAnd(com.android.tools.r8.ir.code.NumericType,int,int,int):1100:1102 -> c
    8:12:void addMoveException(int):1718:1722 -> c
    13:15:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyValueIsMoveException(com.android.tools.r8.ir.code.Value):1727:1729 -> c
    13:15:void addMoveException(int):1723 -> c
    16:16:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> c
    16:16:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyValueIsMoveException(com.android.tools.r8.ir.code.Value):1729 -> c
    16:16:void addMoveException(int):1723 -> c
    17:20:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyValueIsMoveException(com.android.tools.r8.ir.code.Value):1729:1732 -> c
    17:20:void addMoveException(int):1723 -> c
    21:21:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> c
    21:21:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyValueIsMoveException(com.android.tools.r8.ir.code.Value):1732 -> c
    21:21:void addMoveException(int):1723 -> c
    22:22:boolean com.android.tools.r8.ir.conversion.IRBuilder.verifyValueIsMoveException(com.android.tools.r8.ir.code.Value):1732:1732 -> c
    22:22:void addMoveException(int):1723 -> c
    23:29:void addNewArrayEmpty(int,int,com.android.tools.r8.graph.DexType):1780:1786 -> c
    30:33:void addInitClass(int,com.android.tools.r8.graph.DexType):1841:1844 -> c
    34:49:void attachLocalValues(com.android.tools.r8.ir.code.Instruction):2411:2426 -> c
    50:50:void ensureExceptionalSuccessorBlock(int,int):2514:2514 -> c
    51:52:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2536:2537 -> c
    53:53:void com.android.tools.r8.ir.conversion.IRBuilder.setCurrentBlock(com.android.tools.r8.ir.code.BasicBlock):526:526 -> c
    53:53:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2538 -> c
    54:56:void closeCurrentBlockGuaranteedNotToNeedEdgeSplitting():2539:2541 -> c
    1:1:java.util.List getArgumentValues():511:511 -> d
    2:2:void lambda$allPhisAreStackMapPhis$1(com.android.tools.r8.ir.code.Instruction):757:757 -> d
    3:3:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1106:1106 -> d
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> d
    4:4:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1107 -> d
    5:5:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1108:1108 -> d
    6:6:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> d
    6:6:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1109 -> d
    7:9:void addAndLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1110:1112 -> d
    10:14:void addMoveResult(int):1738:1742 -> d
    15:15:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> d
    15:15:void addMoveResult(int):1744 -> d
    16:16:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMultiNewArray():0:0 -> d
    16:16:void addMoveResult(int):1744 -> d
    17:17:void addMoveResult(int):1746:1746 -> d
    18:18:void addMoveResult(int):1745:1745 -> d
    19:19:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> d
    19:19:void addMoveResult(int):1750 -> d
    20:23:void addMoveResult(int):1751:1754 -> d
    24:28:void addNewInstance(int,com.android.tools.r8.graph.DexType):1798:1802 -> d
    29:33:void addNewUnboxedEnumInstance(int,com.android.tools.r8.graph.DexType,int):1806:1810 -> d
    34:34:void ensureNormalSuccessorBlock(int,int):2510:2510 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap getCFG():507:507 -> e
    2:2:boolean lambda$build$0(com.android.tools.r8.ir.code.Instruction):677:677 -> e
    3:3:void resolveAndBuildNewArrayFilledData(int,int):957:957 -> e
    4:11:void com.android.tools.r8.ir.conversion.IRBuilder.internalAddCheckCast(int,com.android.tools.r8.graph.DexType,boolean):1168:1175 -> e
    4:11:void addSafeCheckCast(int,com.android.tools.r8.graph.DexType):1164 -> e
    12:12:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1271:1271 -> e
    13:13:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> e
    13:13:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1272 -> e
    14:14:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> e
    14:14:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1273 -> e
    15:15:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> e
    15:15:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1274 -> e
    16:18:void addDiv(com.android.tools.r8.ir.code.NumericType,int,int,int):1276:1278 -> e
    19:27:void addReturn(int):1814:1822 -> e
    28:28:void addReturn(int):1821:1821 -> e
    29:29:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.code.ValueTypeConstraint.fromDexType(com.android.tools.r8.graph.DexType):111:111 -> e
    29:29:void addReturn(int):1823 -> e
    30:31:void addReturn(int):1824:1825 -> e
    32:34:void com.android.tools.r8.ir.conversion.IRBuilder.addReturn(com.android.tools.r8.ir.code.Return):1835:1837 -> e
    32:34:void addReturn(int):1825 -> e
    1:1:com.android.tools.r8.graph.GraphLens getCodeLens():487:487 -> f
    2:3:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1282:1283 -> f
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> f
    4:4:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1284 -> f
    5:5:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1285:1285 -> f
    6:6:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> f
    6:6:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1286 -> f
    7:9:void addDivLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1288:1290 -> f
    10:15:void addThrow(int):1977:1982 -> f
    1:1:com.android.tools.r8.graph.DexEncodedMethod getMethod():491:491 -> g
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> g
    2:2:void addMul(com.android.tools.r8.ir.code.NumericType,int,int,int):1324 -> g
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> g
    3:3:void addMul(com.android.tools.r8.ir.code.NumericType,int,int,int):1325 -> g
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> g
    4:4:void addMul(com.android.tools.r8.ir.code.NumericType,int,int,int):1326 -> g
    5:7:void addMul(com.android.tools.r8.ir.code.NumericType,int,int,int):1327:1329 -> g
    8:9:void checkRegister(int):2359:2360 -> g
    10:10:void checkRegister(int):0:0 -> g
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16,"2":17,"3":18,"4":19,"5":20}}
    16:16:void checkRegister(int):2360:2360 -> g
    17:17:void checkRegister(int):2360:2360 -> g
    18:18:void checkRegister(int):2360:2360 -> g
    19:19:void checkRegister(int):2360:2360 -> g
    20:20:void checkRegister(int):2360:2360 -> g
    11:11:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> g
    11:11:void checkRegister(int):2360 -> g
    12:12:void checkRegister(int):2360:2360 -> g
    13:13:void checkRegister(int):2357:2357 -> g
    1:1:com.android.tools.r8.graph.ProgramMethod getProgramMethod():495:495 -> h
    2:2:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1333:1333 -> h
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> h
    3:3:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1334 -> h
    4:4:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1335:1335 -> h
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> h
    5:5:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1336 -> h
    6:8:void addMulLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1337:1339 -> h
    9:13:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2433:2437 -> h
    14:17:int com.android.tools.r8.ir.conversion.IRBuilder.getBlockStartOffset(int):2451:2454 -> h
    14:17:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2438 -> h
    18:19:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2439:2440 -> h
    20:26:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):321:327 -> h
    20:26:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
    27:27:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.replaceNormalPredecessor(int,int):291:291 -> h
    27:27:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):328 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
    28:29:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.replaceNormalPredecessor(int,int):291:292 -> h
    28:29:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):328 -> h
    28:29:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
    30:35:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):330:335 -> h
    30:35:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
    36:36:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalPredecessor(int):296:296 -> h
    36:36:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):336 -> h
    36:36:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    37:37:void com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.addExceptionalPredecessor(int):296:296 -> h
    37:37:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):336 -> h
    37:37:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
    38:38:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo.split(int,int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):338:338 -> h
    38:38:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2440 -> h
    39:42:com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo ensureBlockWithoutEnqueuing(int):2442:2445 -> h
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription getPrototypeChanges():499:499 -> i
    2:2:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1986:1986 -> i
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> i
    3:3:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1987 -> i
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> i
    4:4:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1988 -> i
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> i
    5:5:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1989 -> i
    6:8:void addOr(com.android.tools.r8.ir.code.NumericType,int,int,int):1990:1992 -> i
    9:9:com.android.tools.r8.ir.code.BasicBlock getTarget(int):2528:2528 -> i
    1:1:com.android.tools.r8.ir.code.Value getReceiverValue():515:515 -> j
    2:2:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1996:1996 -> j
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> j
    3:3:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1997 -> j
    4:4:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1998:1998 -> j
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> j
    5:5:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1999 -> j
    6:8:void addOrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2000:2002 -> j
    9:9:boolean isOffsetProcessed(int):2467:2467 -> j
    10:11:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2471:2472 -> j
    10:11:boolean isOffsetProcessed(int):2467 -> j
    12:13:void com.android.tools.r8.ir.conversion.IRBuilder.ensureSubroutineProcessedInstructions():2489:2490 -> j
    12:13:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2474 -> j
    12:13:boolean isOffsetProcessed(int):2467 -> j
    14:14:boolean com.android.tools.r8.ir.conversion.IRBuilder.isIndexProcessed(int):2475:2475 -> j
    14:14:boolean isOffsetProcessed(int):2467 -> j
    1:1:boolean isDebugMode():503:503 -> k
    2:2:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1352:1352 -> k
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> k
    3:3:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1353 -> k
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> k
    4:4:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1354 -> k
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> k
    5:5:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1355 -> k
    6:8:void addRem(com.android.tools.r8.ir.code.NumericType,int,int,int):1357:1359 -> k
    1:2:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1363:1364 -> l
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> l
    3:3:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1365 -> l
    4:4:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1366:1366 -> l
    5:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> l
    5:5:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1367 -> l
    6:8:void addRemLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1369:1371 -> l
    1:1:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1875:1875 -> m
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> m
    2:2:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1876 -> m
    3:3:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1877:1877 -> m
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> m
    4:4:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1878 -> m
    5:7:void addRsubLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):1881:1883 -> m
    1:1:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2006:2006 -> n
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> n
    2:2:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2007 -> n
    3:3:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2008:2008 -> n
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> n
    4:4:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2009 -> n
    5:7:void addShl(com.android.tools.r8.ir.code.NumericType,int,int,int):2010:2012 -> n
    1:1:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2016:2016 -> o
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> o
    2:2:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2017 -> o
    3:3:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2018:2018 -> o
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> o
    4:4:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2019 -> o
    5:7:void addShlLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2020:2022 -> o
    1:1:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2026:2026 -> p
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> p
    2:2:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2027 -> p
    3:3:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2028:2028 -> p
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> p
    4:4:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2029 -> p
    5:7:void addShr(com.android.tools.r8.ir.code.NumericType,int,int,int):2030:2032 -> p
    1:1:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2036:2036 -> q
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> q
    2:2:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2037 -> q
    3:3:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2038:2038 -> q
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> q
    4:4:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2039 -> q
    5:7:void addShrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2040:2042 -> q
    1:1:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> r
    1:1:void addSub(com.android.tools.r8.ir.code.NumericType,int,int,int):1866 -> r
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> r
    2:2:void addSub(com.android.tools.r8.ir.code.NumericType,int,int,int):1867 -> r
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> r
    3:3:void addSub(com.android.tools.r8.ir.code.NumericType,int,int,int):1868 -> r
    4:6:void addSub(com.android.tools.r8.ir.code.NumericType,int,int,int):1869:1871 -> r
    1:1:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2046:2046 -> s
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> s
    2:2:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2047 -> s
    3:3:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2048:2048 -> s
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> s
    4:4:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2049 -> s
    5:7:void addUshr(com.android.tools.r8.ir.code.NumericType,int,int,int):2050:2052 -> s
    1:1:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2056:2056 -> t
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> t
    2:2:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2057 -> t
    3:3:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2058:2058 -> t
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> t
    4:4:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2059 -> t
    5:7:void addUshrLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2060:2062 -> t
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2720,"2":2721,"3":2722}}
    2720:2720:java.lang.String toString():2712:2712 -> toString
    2721:2721:java.lang.String toString():2712:2712 -> toString
    2722:2722:java.lang.String toString():2713:2713 -> toString
    2715:2719:java.lang.String toString():2714:2718 -> toString
    1:1:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2066:2066 -> u
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> u
    2:2:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2067 -> u
    3:3:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> u
    3:3:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2068 -> u
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> u
    4:4:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2069 -> u
    5:13:void addXor(com.android.tools.r8.ir.code.NumericType,int,int,int):2071:2079 -> u
    1:1:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2083:2083 -> v
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.readNumericRegister(int,com.android.tools.r8.ir.code.NumericType):2285:2285 -> v
    2:2:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2084 -> v
    3:3:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2086:2086 -> v
    4:4:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> v
    4:4:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2087 -> v
    5:7:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2088:2090 -> v
    8:8:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.IRBuilder.writeNumericRegister(int,com.android.tools.r8.ir.code.NumericType,com.android.tools.r8.ir.code.BasicBlock$ThrowingInfo):2344:2344 -> v
    8:8:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2091 -> v
    9:12:void addXorLiteral(com.android.tools.r8.ir.code.NumericType,int,int,int):2092:2095 -> v
com.android.tools.r8.ir.conversion.IRBuilder$BlockInfo -> com.android.tools.r8.internal.nn:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet exceptionalPredecessors -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet exceptionalSuccessors -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet normalPredecessors -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet normalSuccessors -> c
    com.android.tools.r8.ir.code.BasicBlock block -> a
    1:7:void <init>():274:280 -> <init>
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":376,"2":377,"3":379}}
    376:376:java.lang.String toString():344:344 -> toString
    377:377:java.lang.String toString():344:344 -> toString
    379:379:java.lang.String toString():346:346 -> toString
    347:351:java.lang.String toString():346:350 -> toString
    352:352:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> toString
    352:352:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> toString
    352:352:java.lang.String toString():350 -> toString
    353:357:java.lang.String toString():350:354 -> toString
    358:358:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> toString
    358:358:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> toString
    358:358:java.lang.String toString():354 -> toString
    359:369:java.lang.String toString():354:364 -> toString
    370:370:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> toString
    370:370:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> toString
    370:370:java.lang.String toString():364 -> toString
    371:375:java.lang.String toString():364:368 -> toString
com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem -> com.android.tools.r8.internal.on:
    com.android.tools.r8.graph.DexType guard -> d
    int targetOffset -> f
    int sourceOffset -> e
    1:1:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,int,int,com.android.tools.r8.ir.conversion.IRBuilder$1):198:198 -> <init>
    2:5:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,int,int):206:209 -> <init>
    1:1:int access$600(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):198:198 -> a
    1:1:com.android.tools.r8.graph.DexType access$700(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):198:198 -> b
    1:1:int access$800(com.android.tools.r8.ir.conversion.IRBuilder$MoveExceptionWorklistItem):198:198 -> c
com.android.tools.r8.ir.conversion.IRBuilder$SplitBlockWorklistItem -> com.android.tools.r8.internal.pn:
    int sourceOffset -> d
    int targetOffset -> e
    com.android.tools.r8.ir.code.Position position -> f
    1:4:void <init>(int,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position,int,int):225:228 -> <init>
    1:1:int access$200(com.android.tools.r8.ir.conversion.IRBuilder$SplitBlockWorklistItem):213:213 -> a
    1:1:int access$300(com.android.tools.r8.ir.conversion.IRBuilder$SplitBlockWorklistItem):213:213 -> b
    1:1:com.android.tools.r8.ir.code.Position access$500(com.android.tools.r8.ir.conversion.IRBuilder$SplitBlockWorklistItem):213:213 -> c
com.android.tools.r8.ir.conversion.IRBuilder$ValueList -> com.android.tools.r8.internal.qn:
    java.util.List values -> a
    1:3:void <init>():236:238 -> <init>
    1:3:com.android.tools.r8.ir.conversion.IRBuilder$ValueList fromPhis(java.util.List,int):244:246 -> a
    1:9:boolean equals(java.lang.Object):258:266 -> equals
    1:1:int hashCode():253:253 -> hashCode
com.android.tools.r8.ir.conversion.IRBuilder$WorklistItem -> com.android.tools.r8.internal.rn:
    int firstInstructionIndex -> b
    boolean $assertionsDisabled -> c
    com.android.tools.r8.ir.code.BasicBlock block -> a
    1:1:void <clinit>():186:186 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.ir.conversion.IRBuilder$1):186:186 -> <init>
    2:5:void <init>(com.android.tools.r8.ir.code.BasicBlock,int):191:194 -> <init>
    1:1:com.android.tools.r8.ir.code.BasicBlock access$100(com.android.tools.r8.ir.conversion.IRBuilder$WorklistItem):186:186 -> a
    1:1:int access$400(com.android.tools.r8.ir.conversion.IRBuilder$WorklistItem):186:186 -> b
com.android.tools.r8.ir.conversion.IRConverter -> com.android.tools.r8.internal.Bn:
    com.android.tools.r8.ir.optimize.enums.EnumUnboxer enumUnboxer -> A
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.ConstantCanonicalizer constantCanonicalizer -> p
    boolean $assertionsDisabled -> P
    com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization classInitializerDefaultsOptimization -> d
    com.android.tools.r8.ir.conversion.StringSwitchRemover stringSwitchRemover -> w
    com.android.tools.r8.ir.optimize.DeadCodeRemover deadCodeRemover -> F
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback simpleOptimizationFeedback -> I
    com.android.tools.r8.ir.optimize.DynamicTypeOptimization dynamicTypeOptimization -> D
    com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis libraryMethodOverrideAnalysis -> g
    com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer enumValueOptimizer -> z
    com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer idempotentFunctionCallCanonicalizer -> j
    com.android.tools.r8.ir.optimize.NaturalIntLoopRemover naturalIntLoopRemover -> o
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer stringBuilderOptimizer -> i
    com.android.tools.r8.ir.optimize.Inliner inliner -> s
    com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysis openClosedInterfacesAnalysis -> B
    com.android.tools.r8.naming.IdentifierNameStringMarker identifierNameStringMarker -> t
    com.android.tools.r8.ir.optimize.AssertionsRewriter assertionsRewriter -> E
    com.android.tools.r8.utils.Timing timing -> b
    com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection instructionDesugaring -> e
    com.android.tools.r8.ir.optimize.ServiceLoaderRewriter serviceLoaderRewriter -> y
    com.android.tools.r8.ir.optimize.outliner.Outliner outliner -> c
    com.android.tools.r8.ir.analysis.fieldaccess.FieldAccessAnalysis fieldAccessAnalysis -> f
    java.util.concurrent.atomic.AtomicBoolean seenNotNeverMergePrefix -> N
    com.android.tools.r8.ir.optimize.AssumeInserter assumeInserter -> C
    java.util.Set prunedMethodsInWave -> L
    java.util.List neverMergePrefixes -> M
    com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer covariantReturnTypeAnnotationTransformer -> v
    java.util.List onWaveDoneActions -> K
    com.android.tools.r8.utils.CfgPrinter printer -> m
    com.android.tools.r8.ir.optimize.classinliner.ClassInliner classInliner -> k
    com.android.tools.r8.ir.optimize.MemberValuePropagation memberValuePropagation -> q
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed delayedOptimizationFeedback -> H
    com.android.tools.r8.utils.InternalOptions options -> l
    com.android.tools.r8.ir.analysis.TypeChecker typeChecker -> x
    com.android.tools.r8.ir.conversion.LensCodeRewriter lensCodeRewriter -> r
    com.android.tools.r8.ir.optimize.CodeRewriter codeRewriter -> n
    com.android.tools.r8.graph.DexString highestSortingString -> J
    java.util.concurrent.atomic.AtomicBoolean seenNeverMergePrefix -> O
    com.android.tools.r8.ir.optimize.string.StringOptimizer stringOptimizer -> h
    com.android.tools.r8.ir.optimize.Devirtualizer devirtualizer -> u
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector methodOptimizationInfoCollector -> G
    1:1:void <clinit>():129:129 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter):189:189 -> <init>
    2:172:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.CfgPrinter):148:318 -> <init>
    173:173:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.Timing):323:323 -> <init>
    boolean lambda$materializeInstructionBeforeLongOperationsWorkaround$24(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
    1:1:java.lang.String lambda$new$0(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":212,"2":213,"3":214}}
    212:212:java.lang.String lambda$new$0(java.lang.String):208:208 -> a
    213:213:java.lang.String lambda$new$0(java.lang.String):208:208 -> a
    214:214:java.lang.String lambda$new$0(java.lang.String):208:208 -> a
    209:209:java.lang.String lambda$new$0(java.lang.String):208:208 -> a
    210:210:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getPackageBinaryNameFromJavaType(java.lang.String):380:380 -> a
    210:210:java.lang.String lambda$new$0(java.lang.String):208 -> a
    211:211:java.lang.String lambda$new$0(java.lang.String):208:208 -> a
    215:216:void com.android.tools.r8.ir.desugar.lambda.LambdaDeserializationMethodRemover.run(com.android.tools.r8.graph.AppView):17:18 -> a
    215:216:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):362 -> a
    217:230:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):363:376 -> a
    231:235:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsD8(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):403:407 -> a
    231:235:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):378 -> a
    236:240:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsD8(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):404:408 -> a
    236:240:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):378 -> a
    241:241:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):380:380 -> a
    242:246:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsD8(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):403:407 -> a
    242:246:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):382 -> a
    247:251:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsD8(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication):404:408 -> a
    247:251:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):382 -> a
    252:254:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):385:387 -> a
    255:255:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    255:255:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):387 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    256:256:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    256:256:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):387 -> a
    257:257:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):388:388 -> a
    258:259:void com.android.tools.r8.ir.conversion.IRConverter.processCovariantReturnTypeAnnotations(com.android.tools.r8.graph.DexApplication$Builder):355:356 -> a
    258:259:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):390 -> a
    260:266:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):392:398 -> a
    267:267:void convert(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):395:395 -> a
    268:272:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.ir.conversion.D8MethodProcessor,java.util.concurrent.ExecutorService):337:341 -> a
    273:273:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$1(com.android.tools.r8.ir.conversion.D8MethodProcessor,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring):339:339 -> a
    274:274:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):453:453 -> a
    275:278:com.android.tools.r8.ir.conversion.ClassConverter com.android.tools.r8.ir.conversion.ClassConverter.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):49:52 -> a
    275:278:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):454 -> a
    279:289:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):455:465 -> a
    290:298:void com.android.tools.r8.ir.desugar.lambda.D8LambdaDesugaring.rewriteEnclosingLambdaMethodAttributes(com.android.tools.r8.graph.AppView,java.util.Map):17:25 -> a
    290:298:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):464 -> a
    299:299:void convertClasses(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):467:467 -> a
    300:302:void prepareDesugaringForD8(java.util.concurrent.ExecutorService):473:475 -> a
    303:311:void prepareDesugaringForD8(java.util.concurrent.ExecutorService):474:482 -> a
    312:312:void lambda$prepareDesugaringForD8$5(com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.graph.DexProgramClass):477:477 -> a
    313:313:void lambda$prepareDesugaringForD8$4(com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.graph.ProgramMethod):479:479 -> a
    314:314:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):490:490 -> a
    315:315:boolean com.android.tools.r8.graph.DexProgramClass.hasReachabilitySensitiveAnnotation(com.android.tools.r8.graph.DexItemFactory):767:767 -> a
    315:315:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):490 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    316:318:boolean com.android.tools.r8.graph.DexProgramClass.hasReachabilitySensitiveAnnotation(com.android.tools.r8.graph.DexItemFactory):767:769 -> a
    316:318:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):490 -> a
    319:350:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):492:523 -> a
    351:351:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):2016:2016 -> a
    351:351:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):523 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    355:355:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):2020:2020 -> a
    355:355:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):523 -> a
    356:356:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
    356:356:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):2021 -> a
    356:356:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):523 -> a
    357:357:void convertMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):522:522 -> a
    358:361:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):532:535 -> a
    362:362:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):2016:2016 -> a
    362:362:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):535 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    366:366:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):2020:2020 -> a
    366:366:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):535 -> a
    367:367:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
    367:367:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):2021 -> a
    367:367:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):535 -> a
    368:374:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):534:540 -> a
    375:379:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):575:579 -> a
    375:379:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):543 -> a
    380:380:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    380:380:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):579 -> a
    380:380:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):543 -> a
    381:404:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):580:603 -> a
    381:404:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):543 -> a
    405:405:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    405:405:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):603 -> a
    405:405:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):543 -> a
    406:408:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):611:613 -> a
    406:408:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):543 -> a
    409:421:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):605:617 -> a
    409:421:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):543 -> a
    422:422:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    422:422:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):617 -> a
    422:422:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):543 -> a
    423:423:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    423:423:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    423:423:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):617 -> a
    423:423:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):543 -> a
    424:424:void com.android.tools.r8.ir.conversion.IRConverter.checkPrefixMerging(com.android.tools.r8.graph.ProgramMethod):617:617 -> a
    424:424:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):543 -> a
    425:425:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):544:544 -> a
    426:426:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    426:426:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):544 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    427:427:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    427:427:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):544 -> a
    428:438:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):544:554 -> a
    439:448:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):547:556 -> a
    449:449:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    449:449:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):556 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    450:450:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    450:450:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):556 -> a
    451:451:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):557:557 -> a
    452:458:void com.android.tools.r8.ir.conversion.IRConverter.updateHighestSortingStrings(com.android.tools.r8.graph.DexEncodedMethod):1719:1725 -> a
    452:458:void convertMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):557 -> a
    459:459:void lambda$optimize$8(java.util.concurrent.ExecutorService,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):662:662 -> a
    460:460:com.android.tools.r8.utils.Timing lambda$optimize$9(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):684:684 -> a
    461:461:void lambda$optimize$10(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):722:722 -> a
    462:462:com.android.tools.r8.utils.Timing lambda$optimize$11(com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.ir.conversion.PostMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):752:752 -> a
    463:463:void waveStart(com.android.tools.r8.utils.collections.ProgramMethodSet):818:818 -> a
    464:470:void addWaveDoneAction(com.android.tools.r8.utils.Action):855:861 -> a
    471:471:void addWaveDoneAction(com.android.tools.r8.utils.Action):859:859 -> a
    472:472:void addWaveDoneAction(com.android.tools.r8.utils.Action):856:856 -> a
    473:474:void computeReachabilitySensitivity(com.android.tools.r8.graph.DexApplication):870:871 -> a
    475:475:void lambda$computeReachabilitySensitivity$12(com.android.tools.r8.graph.DexEncodedMethod):875:875 -> a
    476:479:void forEachSynthesizedServiceLoaderMethod(com.android.tools.r8.graph.ProgramMethod):888:891 -> a
    480:480:void clearDexMethodCompilationState():895:895 -> a
    481:481:void clearDexMethodCompilationState(com.android.tools.r8.graph.DexProgramClass):899:899 -> a
    482:491:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):912:921 -> a
    492:497:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):920:925 -> a
    498:498:java.lang.String com.android.tools.r8.ir.conversion.IRConverter.logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):962:962 -> a
    498:498:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):925 -> a
    499:499:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):925:925 -> a
    500:500:void replaceCodeForTesting(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):924:924 -> a
    501:502:void optimizeSynthesizedMethods(java.util.List,java.util.concurrent.ExecutorService):933:934 -> a
    503:503:void lambda$optimizeSynthesizedMethod$14(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):944:944 -> a
    504:506:void processMethodsConcurrently(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):951:953 -> a
    507:507:com.android.tools.r8.utils.Timing lambda$rewriteDesugaredCode$17(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1018:1018 -> a
    508:513:boolean com.android.tools.r8.ir.conversion.IRConverter.desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1077:1082 -> a
    508:513:com.android.tools.r8.utils.Timing com.android.tools.r8.ir.conversion.IRConverter.rewriteNonDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1028 -> a
    508:513:com.android.tools.r8.utils.Timing lambda$rewriteNonDesugaredCode$16(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1001 -> a
    514:519:com.android.tools.r8.utils.Timing com.android.tools.r8.ir.conversion.IRConverter.rewriteNonDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1029:1034 -> a
    514:519:com.android.tools.r8.utils.Timing lambda$rewriteNonDesugaredCode$16(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1001 -> a
    520:520:java.lang.String com.android.tools.r8.ir.conversion.IRConverter.logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):962:962 -> a
    520:520:com.android.tools.r8.utils.Timing com.android.tools.r8.ir.conversion.IRConverter.rewriteNonDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1034 -> a
    520:520:com.android.tools.r8.utils.Timing lambda$rewriteNonDesugaredCode$16(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1001 -> a
    521:521:com.android.tools.r8.utils.Timing com.android.tools.r8.ir.conversion.IRConverter.rewriteNonDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1034:1034 -> a
    521:521:com.android.tools.r8.utils.Timing lambda$rewriteNonDesugaredCode$16(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1001 -> a
    522:528:com.android.tools.r8.utils.Timing com.android.tools.r8.ir.conversion.IRConverter.rewriteNonDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1030:1036 -> a
    522:528:com.android.tools.r8.utils.Timing lambda$rewriteNonDesugaredCode$16(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1001 -> a
    529:539:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1094:1104 -> a
    540:545:void com.android.tools.r8.ir.conversion.IRConverter.printC1VisualizerHeader(com.android.tools.r8.graph.DexEncodedMethod):1934:1939 -> a
    540:545:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1107 -> a
    546:560:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1108:1122 -> a
    561:561:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3793:3793 -> a
    561:561:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1122 -> a
    562:562:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    562:562:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3794 -> a
    562:562:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1122 -> a
    563:565:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3795:3797 -> a
    563:565:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1122 -> a
    566:566:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    566:566:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3797 -> a
    566:566:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1122 -> a
    567:569:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3798:3800 -> a
    567:569:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1122 -> a
    570:570:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory$ObjectMembers.matchingPublicObjectMember(com.android.tools.r8.graph.DexMethod):1438:1438 -> a
    570:570:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3800 -> a
    570:570:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1122 -> a
    571:571:byte com.android.tools.r8.graph.DexString.byteAt(int):54:54 -> a
    571:571:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory$ObjectMembers.matchingPublicObjectMember(com.android.tools.r8.graph.DexMethod):1438 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    571:571:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3800 -> a
    571:571:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1122 -> a
    572:572:byte com.android.tools.r8.graph.DexString.byteAt(int):54:54 -> a
    572:572:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory$ObjectMembers.matchingPublicObjectMember(com.android.tools.r8.graph.DexMethod):1438 -> a
    572:572:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3800 -> a
    572:572:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1122 -> a
    573:603:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory$ObjectMembers.matchingPublicObjectMember(com.android.tools.r8.graph.DexMethod):1445:1475 -> a
    573:603:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3800 -> a
    573:603:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1122 -> a
    604:628:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory$ObjectMembers.matchingPublicObjectMember(com.android.tools.r8.graph.DexMethod):1440:1464 -> a
    604:628:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3800 -> a
    604:628:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1122 -> a
    629:630:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory$ObjectMembers.matchingPublicObjectMember(com.android.tools.r8.graph.DexMethod):1450:1451 -> a
    629:630:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3800 -> a
    629:630:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1122 -> a
    631:633:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3801:3803 -> a
    631:633:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1122 -> a
    634:634:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    634:634:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteJdk8272564Fix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):3802 -> a
    634:634:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1122 -> a
    635:651:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1123:1139 -> a
    652:652:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4547,"2":4548,"3":4549}}
    4547:4547:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1139:1139 -> a
    4548:4548:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1139:1139 -> a
    4549:4549:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1139:1139 -> a
    1793:1798:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1141:1146 -> a
    1799:1799:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1144:1144 -> a
    1800:1800:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4554,"2":4555,"3":4556}}
    4554:4554:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1144:1144 -> a
    4555:4555:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1144:1144 -> a
    4556:4556:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1144:1144 -> a
    2947:2952:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1147:1152 -> a
    2953:2953:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4564,"2":4565,"3":4566}}
    4564:4564:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1152:1152 -> a
    4565:4565:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1152:1152 -> a
    4566:4566:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1152:1152 -> a
    4108:4122:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1155:1169 -> a
    4123:4127:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldPassThrough(com.android.tools.r8.graph.ProgramMethod):1540:1544 -> a
    4123:4127:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1171 -> a
    4128:4128:boolean com.android.tools.r8.graph.Code.isThrowNullCode():0:0 -> a
    4128:4128:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldPassThrough(com.android.tools.r8.graph.ProgramMethod):1544 -> a
    4128:4128:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1171 -> a
    4129:4130:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldPassThrough(com.android.tools.r8.graph.ProgramMethod):1544:1545 -> a
    4129:4130:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1171 -> a
    4131:4131:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    4131:4131:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldPassThrough(com.android.tools.r8.graph.ProgramMethod):1545 -> a
    4131:4131:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1171 -> a
    4132:4141:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1173:1182 -> a
    4142:4167:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1175:1200 -> a
    4168:4168:void com.android.tools.r8.naming.IdentifierNameStringMarker.decoupleIdentifierNameStringsInMethod(com.android.tools.r8.ir.code.IRCode):94:94 -> a
    4168:4168:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1200 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4169:4195:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1201:1227 -> a
    4196:4196:boolean com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.isConcreteCallSiteOptimizationInfo():0:0 -> a
    4196:4196:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1227 -> a
    4197:4197:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1227:1227 -> a
    4198:4198:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    4198:4198:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1227 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4199:4199:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    4199:4199:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1227 -> a
    4200:4204:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1228:1228 -> a
    4210:4228:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1234:1252 -> a
    4229:4229:void com.android.tools.r8.ir.optimize.Inliner.performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):875:875 -> a
    4229:4229:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1252 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4230:4230:void com.android.tools.r8.ir.optimize.Inliner.performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):869:869 -> a
    4230:4230:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1252 -> a
    4231:4339:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1253:1361 -> a
    4340:4343:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.shouldRun(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):95:98 -> a
    4340:4343:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1361 -> a
    4344:4349:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1362:1367 -> a
    4350:4352:void com.android.tools.r8.ir.conversion.IRConverter.invertConditionalsForTesting(com.android.tools.r8.ir.code.IRCode):984:986 -> a
    4350:4352:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1368 -> a
    4353:4367:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1372:1386 -> a
    4368:4399:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1385:1416 -> a
    4400:4447:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1405:1452 -> a
    4448:4448:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    4448:4448:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1452 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4449:4449:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    4449:4449:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1452 -> a
    4450:4472:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1453:1475 -> a
    4473:4473:boolean com.android.tools.r8.utils.InternalOptions.methodMatchesLogArgumentsFilter(com.android.tools.r8.graph.DexEncodedMethod):1227:1227 -> a
    4473:4473:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1475 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4474:4479:boolean com.android.tools.r8.utils.InternalOptions.methodMatchesLogArgumentsFilter(com.android.tools.r8.graph.DexEncodedMethod):1227:1232 -> a
    4474:4479:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1475 -> a
    4480:4538:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1475:1533 -> a
    4539:4546:com.android.tools.r8.utils.Timing optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1528:1535 -> a
    4567:4567:void lambda$optimize$18(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1241:1241 -> a
    4568:4568:void lambda$optimize$19(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):1245:1245 -> a
    4569:4570:com.android.tools.r8.ir.optimize.InliningOracle lambda$optimize$20(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1418:1419 -> a
    4571:4571:com.android.tools.r8.ir.optimize.DefaultInliningOracle com.android.tools.r8.ir.optimize.Inliner.createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int):916:916 -> a
    4571:4571:com.android.tools.r8.ir.optimize.InliningOracle lambda$optimize$20(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1418 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4572:4572:com.android.tools.r8.ir.optimize.DefaultInliningOracle com.android.tools.r8.ir.optimize.Inliner.createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int):912:912 -> a
    4572:4572:com.android.tools.r8.ir.optimize.InliningOracle lambda$optimize$20(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):1418 -> a
    4573:4618:void collectOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.utils.Timing):1559:1604 -> a
    4619:4619:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1649:1649 -> a
    4619:4619:void collectOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.utils.Timing):1604 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4620:4625:void collectOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider$Builder,com.android.tools.r8.utils.Timing):1605:1610 -> a
    4626:4626:void lambda$collectOptimizationInfo$21(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):1560:1560 -> a
    4627:4636:void removeDeadCodeAndFinalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1622:1631 -> a
    4637:4637:void removeDeadCodeAndFinalizeIR(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1626:1626 -> a
    4638:4639:void finalizeIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1642:1643 -> a
    4640:4640:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    4640:4640:void finalizeIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1643 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4641:4641:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    4641:4641:void finalizeIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1643 -> a
    4642:4647:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToCf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider):1656:1661 -> a
    4642:4647:void finalizeIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1644 -> a
    4648:4648:void finalizeIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1646:1646 -> a
    4649:4660:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1670:1681 -> a
    4649:4660:void finalizeIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1647 -> a
    4661:4667:void com.android.tools.r8.ir.conversion.IRConverter.updateHighestSortingStrings(com.android.tools.r8.graph.DexEncodedMethod):1719:1725 -> a
    4661:4667:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1681 -> a
    4661:4667:void finalizeIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1647 -> a
    4668:4670:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1682:1684 -> a
    4668:4670:void finalizeIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1647 -> a
    4671:4671:java.lang.String com.android.tools.r8.ir.conversion.IRConverter.logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):962:962 -> a
    4671:4671:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1684 -> a
    4671:4671:void finalizeIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1647 -> a
    4672:4672:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1684:1684 -> a
    4672:4672:void finalizeIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1647 -> a
    4673:4679:void com.android.tools.r8.ir.conversion.IRConverter.finalizeToDex(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1683:1689 -> a
    4673:4679:void finalizeIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.graph.bytecodemetadata.BytecodeMetadataProvider,com.android.tools.r8.utils.Timing):1647 -> a
    4680:4680:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1694:1694 -> a
    4681:4690:boolean com.android.tools.r8.ir.conversion.IRConverter.shouldComputeInliningConstraint(com.android.tools.r8.graph.ProgramMethod):1703:1712 -> a
    4681:4690:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1696 -> a
    4691:4693:void markProcessed(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1697:1699 -> a
    4694:4702:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.utils.Timing):1737:1745 -> a
    4703:4715:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):3927:3939 -> a
    4703:4715:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.utils.Timing):1745 -> a
    4716:4716:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    4716:4716:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):3940 -> a
    4716:4716:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.utils.Timing):1745 -> a
    4717:4718:void com.android.tools.r8.ir.optimize.CodeRewriter.workaroundExceptionTargetingLoopHeaderBug(com.android.tools.r8.ir.code.IRCode):3940:3941 -> a
    4717:4718:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.utils.Timing):1745 -> a
    4719:4734:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.utils.Timing):1747:1762 -> a
    4735:4735:com.android.tools.r8.ir.regalloc.RegisterAllocator performRegisterAllocation(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.conversion.MethodConversionOptions,com.android.tools.r8.utils.Timing):1761:1761 -> a
    4736:4750:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1819:1833 -> a
    4751:4751:boolean com.android.tools.r8.ir.code.Instruction.isMul():0:0 -> a
    4751:4751:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongMul(com.android.tools.r8.ir.code.Instruction):1879 -> a
    4751:4751:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1834 -> a
    4752:4753:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongMul(com.android.tools.r8.ir.code.Instruction):1880:1881 -> a
    4752:4753:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1834 -> a
    4754:4754:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1837:1837 -> a
    4755:4755:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongAddOrSub(com.android.tools.r8.ir.code.Instruction):1886:1886 -> a
    4755:4755:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1838 -> a
    4756:4756:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> a
    4756:4756:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongAddOrSub(com.android.tools.r8.ir.code.Instruction):1886 -> a
    4756:4756:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1838 -> a
    4757:4757:boolean com.android.tools.r8.ir.conversion.IRConverter.isLongAddOrSub(com.android.tools.r8.ir.code.Instruction):1887:1887 -> a
    4757:4757:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1838 -> a
    4758:4759:boolean com.android.tools.r8.ir.conversion.IRConverter.isFallthoughTarget(com.android.tools.r8.ir.code.BasicBlock):1891:1892 -> a
    4758:4759:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1841 -> a
    4760:4761:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1844:1845 -> a
    4762:4766:boolean com.android.tools.r8.ir.conversion.IRConverter.isAliasOf(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):1865:1869 -> a
    4762:4766:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1846 -> a
    4767:4772:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1847:1852 -> a
    4773:4784:void com.android.tools.r8.ir.conversion.IRConverter.ensureThrowingInstructionBefore(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction):1901:1912 -> a
    4773:4784:void materializeInstructionBeforeLongOperationsWorkaround(com.android.tools.r8.ir.code.IRCode):1853 -> a
    4785:4786:com.android.tools.r8.graph.DexMethod lambda$materializeInstructionBeforeLongOperationsWorkaround$23(com.android.tools.r8.graph.DexItemFactory):1827:1828 -> a
    4787:4787:com.android.tools.r8.graph.DexMethod lambda$materializeInstructionBeforeLongOperationsWorkaround$23(com.android.tools.r8.graph.DexItemFactory):1826:1826 -> a
    4788:4788:boolean isNotPseudoInstruction(com.android.tools.r8.ir.code.Instruction):1874:1874 -> a
    4789:4789:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1950:1950 -> a
    4790:4790:void com.android.tools.r8.utils.CfgPrinter.resetUnusedValue():24:24 -> a
    4790:4790:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1951 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4791:4808:java.lang.String printMethod(com.android.tools.r8.ir.code.IRCode,java.lang.String,java.lang.String):1952:1969 -> a
    4809:4809:void lambda$onMethodCodePruned$26(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):1999:1999 -> a
    boolean lambda$postProcessingDesugaringForD8$2(com.android.tools.r8.graph.ProgramMethod) -> b
    1:1:void clearNestAttributes():350:350 -> b
    2:10:void postProcessingDesugaringForD8(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):435:443 -> b
    11:14:void postProcessingDesugaringForD8(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor,java.util.concurrent.ExecutorService):442:445 -> b
    15:15:boolean lambda$prepareDesugaringForD8$3(com.android.tools.r8.graph.DexEncodedMethod):478:478 -> b
    16:21:void workaroundAbstractMethodOnNonAbstractClassVerificationBug(java.util.concurrent.ExecutorService):624:629 -> b
    22:22:void workaroundAbstractMethodOnNonAbstractClassVerificationBug(java.util.concurrent.ExecutorService):628:628 -> b
    23:23:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):643:643 -> b
    24:24:boolean com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection.isEmpty():0:0 -> b
    24:24:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):643 -> b
    25:64:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):643:682 -> b
    65:68:void com.android.tools.r8.ir.conversion.IRConverter.lastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService):848:851 -> b
    65:68:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):690 -> b
    69:83:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):691:705 -> b
    84:88:void com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsR8(com.android.tools.r8.graph.AppView):414:418 -> b
    84:88:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):708 -> b
    89:89:void com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsR8(com.android.tools.r8.graph.AppView):415:415 -> b
    89:89:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):708 -> b
    90:147:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):713:770 -> b
    148:152:void com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsR8(com.android.tools.r8.graph.AppView):414:418 -> b
    148:152:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):774 -> b
    153:153:void com.android.tools.r8.ir.conversion.IRConverter.commitPendingSyntheticItemsR8(com.android.tools.r8.graph.AppView):415:415 -> b
    153:153:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):774 -> b
    154:159:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):777:782 -> b
    160:193:com.android.tools.r8.graph.DexApplication optimize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):781:814 -> b
    194:198:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):823:827 -> b
    199:199:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1649:1649 -> b
    199:199:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):827 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    200:211:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):828:839 -> b
    212:218:void waveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService):835:841 -> b
    219:219:void lambda$computeReachabilitySensitivity$13(com.android.tools.r8.graph.DexProgramClass):873:873 -> b
    220:220:boolean com.android.tools.r8.graph.DexProgramClass.hasReachabilitySensitiveAnnotation(com.android.tools.r8.graph.DexItemFactory):767:767 -> b
    220:220:void lambda$computeReachabilitySensitivity$13(com.android.tools.r8.graph.DexProgramClass):873 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    221:223:boolean com.android.tools.r8.graph.DexProgramClass.hasReachabilitySensitiveAnnotation(com.android.tools.r8.graph.DexItemFactory):767:769 -> b
    221:223:void lambda$computeReachabilitySensitivity$13(com.android.tools.r8.graph.DexProgramClass):873 -> b
    224:225:void lambda$computeReachabilitySensitivity$13(com.android.tools.r8.graph.DexProgramClass):874:875 -> b
    226:226:void processSynthesizedServiceLoaderMethods(java.util.List,java.util.concurrent.ExecutorService):883:883 -> b
    227:227:void lambda$processMethodsConcurrently$15(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):955:955 -> b
    228:237:com.android.tools.r8.utils.Timing processDesugaredMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):971:980 -> b
    238:239:com.android.tools.r8.utils.Timing rewriteNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):998:999 -> b
    240:240:com.android.tools.r8.utils.Timing rewriteNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):997:997 -> b
    241:261:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1768:1788 -> b
    262:265:void com.android.tools.r8.ir.conversion.IRConverter.ensureInstructionBefore(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):1918:1921 -> b
    262:265:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1799 -> b
    266:266:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> b
    266:266:void com.android.tools.r8.ir.conversion.IRConverter.ensureInstructionBefore(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):1921 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    266:266:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1799 -> b
    267:275:void com.android.tools.r8.ir.conversion.IRConverter.ensureInstructionBefore(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):1922:1930 -> b
    267:275:void workaroundForwardingInitializerBug(com.android.tools.r8.ir.code.IRCode):1799 -> b
    276:280:boolean lambda$workaroundForwardingInitializerBug$22(com.android.tools.r8.ir.code.Instruction):1790:1794 -> b
    281:282:void printPhase(java.lang.String):1944:1945 -> b
    283:283:void lambda$onMethodPruned$25(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):1982:1982 -> b
    1:1:com.android.tools.r8.ir.optimize.Inliner getInliner():331:331 -> c
    2:3:void lambda$workaroundAbstractMethodOnNonAbstractClassVerificationBug$7(com.android.tools.r8.graph.DexProgramClass):631:632 -> c
    4:4:void lambda$workaroundAbstractMethodOnNonAbstractClassVerificationBug$6(com.android.tools.r8.graph.ProgramMethod):633:633 -> c
    5:6:com.android.tools.r8.utils.Timing rewriteDesugaredCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1015:1016 -> c
    7:7:com.android.tools.r8.utils.Timing rewriteDesugaredCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1014:1014 -> c
    1:1:boolean isInWave():865:865 -> d
    2:11:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1044:1053 -> d
    12:12:java.lang.String com.android.tools.r8.ir.conversion.IRConverter.logCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexEncodedMethod):962:962 -> d
    12:12:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1053 -> d
    13:13:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1053:1053 -> d
    14:21:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1049:1056 -> d
    22:22:boolean com.android.tools.r8.ir.conversion.IRConverter.needsIRConversion(com.android.tools.r8.graph.ProgramMethod):562:562 -> d
    22:22:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1059 -> d
    23:23:boolean com.android.tools.r8.graph.Code.isThrowNullCode():0:0 -> d
    23:23:boolean com.android.tools.r8.ir.conversion.IRConverter.needsIRConversion(com.android.tools.r8.graph.ProgramMethod):562 -> d
    23:23:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1059 -> d
    24:30:boolean com.android.tools.r8.ir.conversion.IRConverter.needsIRConversion(com.android.tools.r8.graph.ProgramMethod):565:571 -> d
    24:30:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1059 -> d
    31:41:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1059:1069 -> d
    42:43:com.android.tools.r8.utils.Timing rewriteDesugaredCodeInternal(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1060:1061 -> d
    44:51:void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1996:2003 -> d
    1:1:void reportNestDesugarDependencies():345:345 -> e
    2:10:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1980:1988 -> e
    1:5:void optimizeSynthesizedMethod(com.android.tools.r8.graph.ProgramMethod):938:942 -> f
com.android.tools.r8.ir.conversion.LensCodeRewriter -> com.android.tools.r8.internal.kB:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.enums.EnumUnboxer enumUnboxer -> c
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():122:122 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumUnboxer):154:158 -> <init>
    boolean lambda$insertCastForFieldAssignmentIfNeeded$14(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
    boolean lambda$removeUnusedArguments$13(com.android.tools.r8.ir.code.UnusedArgument,com.android.tools.r8.ir.code.Instruction) -> a
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.ir.conversion.LensCodeRewriter):122:122 -> a
    2:2:com.android.tools.r8.ir.code.Value access$100(com.android.tools.r8.ir.conversion.LensCodeRewriter,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):122:122 -> a
    3:5:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):163:165 -> a
    3:5:com.android.tools.r8.ir.code.Value access$100(com.android.tools.r8.ir.conversion.LensCodeRewriter,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):122 -> a
    6:6:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    6:6:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):165 -> a
    6:6:com.android.tools.r8.ir.code.Value access$100(com.android.tools.r8.ir.conversion.LensCodeRewriter,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):122 -> a
    7:7:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):166:166 -> a
    7:7:com.android.tools.r8.ir.code.Value access$100(com.android.tools.r8.ir.conversion.LensCodeRewriter,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):122 -> a
    8:19:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):235:246 -> a
    20:40:boolean com.android.tools.r8.ir.conversion.LensCodeRewriter.unlinkDeadCatchHandlers(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1234:1254 -> a
    20:40:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):248 -> a
    41:578:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):251:788 -> a
    579:579:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    579:579:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):788 -> a
    580:581:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):790:791 -> a
    582:592:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):575:585 -> a
    593:597:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):584:588 -> a
    598:690:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):587:679 -> a
    691:691:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):678:678 -> a
    692:695:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):539:542 -> a
    696:699:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField):172:175 -> a
    696:699:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):545 -> a
    700:702:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):546:546 -> a
    706:709:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):550:553 -> a
    710:710:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):552:552 -> a
    711:711:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    711:711:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):554 -> a
    712:714:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):555:557 -> a
    715:715:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    715:715:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):557 -> a
    716:725:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):558:567 -> a
    726:729:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):291:294 -> a
    730:1140:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):293:703 -> a
    1141:1141:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):702:702 -> a
    1142:1145:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):688:691 -> a
    1146:1146:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):690:690 -> a
    1147:1173:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):308:334 -> a
    1174:1207:void com.android.tools.r8.ir.conversion.LensCodeRewriter.checkInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeDirect):1188:1221 -> a
    1174:1207:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):334 -> a
    1208:1208:void com.android.tools.r8.ir.conversion.LensCodeRewriter.checkInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeDirect):1212:1212 -> a
    1208:1208:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):334 -> a
    1209:1209:void com.android.tools.r8.ir.conversion.LensCodeRewriter.checkInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeDirect):1211:1211 -> a
    1209:1209:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):334 -> a
    1210:1210:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):338:338 -> a
    1211:1216:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):337:342 -> a
    1217:1217:boolean com.android.tools.r8.ir.code.Invoke$Type.isStatic():189:189 -> a
    1217:1217:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):342 -> a
    1218:1218:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> a
    1218:1218:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):342 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1219:1219:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> a
    1219:1219:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):342 -> a
    1220:1250:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):345:375 -> a
    1251:1251:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    1251:1251:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):378 -> a
    1252:1259:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):379:386 -> a
    1260:1275:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):381:396 -> a
    1276:1276:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Instruction.clearOutValue():157:157 -> a
    1276:1276:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):397 -> a
    1277:1293:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):398:414 -> a
    1294:1298:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):413:417 -> a
    1299:1312:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):416:429 -> a
    1313:1328:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):428:443 -> a
    1329:1331:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):163:165 -> a
    1329:1331:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):448 -> a
    1332:1332:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    1332:1332:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):165 -> a
    1332:1332:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):448 -> a
    1333:1333:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):166:166 -> a
    1333:1333:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):448 -> a
    1334:1340:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):451:457 -> a
    1341:1341:boolean com.android.tools.r8.ir.code.Invoke$Type.isStatic():189:189 -> a
    1341:1341:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):460 -> a
    1342:1374:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):459:491 -> a
    1375:1375:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    1375:1375:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):491 -> a
    1376:1376:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    1376:1376:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    1376:1376:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):491 -> a
    1377:1389:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):491:503 -> a
    1390:1418:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):502:530 -> a
    1419:1421:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):257:259 -> a
    1422:1424:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):163:165 -> a
    1422:1424:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):261 -> a
    1425:1425:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    1425:1425:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):165 -> a
    1425:1425:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):261 -> a
    1426:1426:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):166:166 -> a
    1426:1426:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):261 -> a
    1427:1808:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):262:643 -> a
    1809:1813:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):642:646 -> a
    1814:1817:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):598:601 -> a
    1818:1821:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField):172:175 -> a
    1818:1821:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):604 -> a
    1822:1828:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):605:611 -> a
    1829:1829:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):610:610 -> a
    1830:1830:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    1830:1830:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):612 -> a
    1831:1833:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):613:615 -> a
    1834:1834:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    1834:1834:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):615 -> a
    1835:1957:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):616:738 -> a
    1958:1962:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):274:278 -> a
    1963:1965:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):163:165 -> a
    1963:1965:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):280 -> a
    1966:1966:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    1966:1966:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):165 -> a
    1966:1966:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):280 -> a
    1967:1967:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.LensCodeRewriter.makeOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):166:166 -> a
    1967:1967:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):280 -> a
    1968:2357:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):281:670 -> a
    2358:2358:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):669:669 -> a
    2359:2362:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):654:657 -> a
    2363:2488:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):656:781 -> a
    2489:2514:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):747:772 -> a
    2515:2517:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):724:726 -> a
    2518:2521:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):712:715 -> a
    2522:2620:void rewritePartialDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):714:812 -> a
    2621:2621:com.android.tools.r8.ir.conversion.LensCodeRewriterUtils lambda$rewritePartialDefault$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):237:237 -> a
    2622:2622:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):295:295 -> a
    2623:2629:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):317:323 -> a
    2630:2630:com.android.tools.r8.ir.code.Invoke com.android.tools.r8.ir.code.Invoke.create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List):230:230 -> a
    2630:2630:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):323 -> a
    2631:2631:void lambda$rewritePartialDefault$3(java.util.List,com.android.tools.r8.ir.conversion.ExtraParameter):358:358 -> a
    2632:2632:java.util.Map lambda$rewritePartialDefault$4(com.android.tools.r8.ir.analysis.value.SingleNumberValue):468:468 -> a
    2633:2639:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$5(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.analysis.value.SingleNumberValue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.ExtraParameter,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType):472:478 -> a
    2640:2640:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$5(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.analysis.value.SingleNumberValue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.ExtraParameter,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType):477:477 -> a
    2641:2641:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$5(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.analysis.value.SingleNumberValue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.ExtraParameter,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType):474:474 -> a
    2642:2642:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    2642:2642:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$5(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.analysis.value.SingleNumberValue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.ExtraParameter,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType):474 -> a
    2643:2645:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$5(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.analysis.value.SingleNumberValue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.ExtraParameter,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType):480:482 -> a
    2646:2650:com.android.tools.r8.ir.code.Value lambda$rewritePartialDefault$5(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.analysis.value.SingleNumberValue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.ExtraParameter,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexType):481:485 -> a
    2651:2651:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$6(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):659:659 -> a
    2652:2652:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$8(com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):680:680 -> a
    2653:2653:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$9(com.android.tools.r8.ir.code.InvokeMultiNewArray,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):692:692 -> a
    2654:2654:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$10(com.android.tools.r8.ir.code.InvokeNewArray,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):704:704 -> a
    2655:2655:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$12(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):728:728 -> a
    2656:2662:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):961:967 -> a
    2663:2663:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):963:963 -> a
    2664:2664:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3628,"2":3629,"3":3630}}
    3628:3628:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):963:963 -> a
    3629:3629:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):963:963 -> a
    3630:3630:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):963:963 -> a
    3627:3627:void removeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Set):963:963 -> a
    3631:3655:java.util.Deque com.android.tools.r8.ir.conversion.LensCodeRewriter.getUnappliedLenses(com.android.tools.r8.graph.ProgramMethod):972:996 -> a
    3631:3655:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):182 -> a
    3656:3657:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):183:184 -> a
    3658:3658:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    3658:3658:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):184 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3659:3665:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):185:191 -> a
    3666:3674:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):190:198 -> a
    3675:3676:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):214:215 -> a
    3675:3676:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3677:3697:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):826:846 -> a
    3677:3697:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3677:3697:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3698:3701:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):919:922 -> a
    3698:3701:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3698:3701:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3698:3701:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3702:3702:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    3702:3702:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):922 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3702:3702:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3702:3702:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3702:3702:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3703:3707:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):923:927 -> a
    3703:3707:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3703:3707:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3703:3707:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3708:3708:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):926:926 -> a
    3708:3708:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3708:3708:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3708:3708:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3709:3709:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    3709:3709:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):926 -> a
    3709:3709:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3709:3709:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3709:3709:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3710:3710:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):929:929 -> a
    3710:3710:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3710:3710:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3710:3710:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3711:3715:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):928:932 -> a
    3711:3715:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3711:3715:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3711:3715:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3716:3716:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    3716:3716:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):932 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3716:3716:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3716:3716:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3716:3716:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3717:3724:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteRemovedArgument(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RemovedArgumentInfo,java.util.Set,java.util.List,java.util.Set):932:939 -> a
    3717:3724:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):841 -> a
    3717:3724:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3717:3724:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3725:3725:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):853:853 -> a
    3725:3725:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3725:3725:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3726:3726:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    3726:3726:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):855 -> a
    3726:3726:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3726:3726:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3727:3727:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):860:860 -> a
    3727:3727:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3727:3727:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3728:3730:com.android.tools.r8.ir.code.Argument com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RewrittenTypeInfo,java.util.Set,int):948:950 -> a
    3728:3730:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):857 -> a
    3728:3730:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3728:3730:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3731:3731:com.android.tools.r8.ir.code.Argument$Builder com.android.tools.r8.ir.code.Argument.builder():36:36 -> a
    3731:3731:com.android.tools.r8.ir.code.Argument com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RewrittenTypeInfo,java.util.Set,int):950 -> a
    3731:3731:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):857 -> a
    3731:3731:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3731:3731:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3732:3736:com.android.tools.r8.ir.code.Argument com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArgumentType(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.graph.proto.RewrittenTypeInfo,java.util.Set,int):951:955 -> a
    3732:3736:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):857 -> a
    3732:3736:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3732:3736:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3737:3740:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):863:866 -> a
    3737:3740:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3737:3740:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3741:3741:com.android.tools.r8.ir.code.Argument$Builder com.android.tools.r8.ir.code.Argument.builder():36:36 -> a
    3741:3741:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):866 -> a
    3741:3741:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3741:3741:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3742:3779:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewriteArguments(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,java.util.Set,java.util.Set):867:904 -> a
    3742:3779:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):216 -> a
    3742:3779:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3780:3785:void com.android.tools.r8.ir.conversion.LensCodeRewriter.rewritePartial(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):218:223 -> a
    3780:3785:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):192 -> a
    3786:3786:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):201:201 -> a
    3787:3790:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1006:1009 -> a
    3791:3791:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    3791:3791:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1009 -> a
    3792:3803:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1010:1021 -> a
    3804:3804:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    3804:3804:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1021 -> a
    3805:3811:com.android.tools.r8.ir.code.InstructionListIterator insertCastForFieldAssignmentIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.graph.GraphLens$FieldLookupResult):1022:1028 -> a
    3812:3826:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1039:1053 -> a
    3827:3827:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    3827:3827:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1053 -> a
    3828:3833:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1054:1059 -> a
    3834:3834:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    3834:3834:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1059 -> a
    3835:3849:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1055:1069 -> a
    3850:3850:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    3850:3850:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1069 -> a
    3851:3857:com.android.tools.r8.ir.code.InstructionListIterator insertCastsForInvokeArgumentsIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):1070:1076 -> a
    3858:3868:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1088:1098 -> a
    3869:3869:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    3869:3869:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1098 -> a
    3870:3878:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1099:1107 -> a
    3879:3879:com.android.tools.r8.ir.code.SafeCheckCast$Builder com.android.tools.r8.ir.code.SafeCheckCast.builder():20:20 -> a
    3879:3879:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1107 -> a
    3880:3882:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1108:1110 -> a
    3883:3883:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    3883:3883:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1110 -> a
    3884:3893:com.android.tools.r8.ir.code.InstructionListIterator insertCastForReturnIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1109:1118 -> a
    3894:3901:com.android.tools.r8.graph.DexField rewriteFieldReference(com.android.tools.r8.graph.GraphLens$FieldLookupResult,com.android.tools.r8.graph.ProgramMethod):1123:1130 -> a
    3902:3907:com.android.tools.r8.graph.DexField rewriteFieldReference(com.android.tools.r8.graph.GraphLens$FieldLookupResult,com.android.tools.r8.graph.ProgramMethod):1129:1134 -> a
    3908:3908:com.android.tools.r8.ir.code.Value rewriteValueIfDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):1145:1145 -> a
    3909:3919:boolean com.android.tools.r8.ir.conversion.LensCodeRewriter.defaultValueHasChanged(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1158:1168 -> a
    3909:3919:com.android.tools.r8.ir.code.Value rewriteValueIfDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):1145 -> a
    3920:3922:com.android.tools.r8.ir.code.Value rewriteValueIfDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):1146:1148 -> a
    3923:3926:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.conversion.LensCodeRewriter.defaultValueLatticeElement(com.android.tools.r8.graph.DexType):1173:1176 -> a
    3923:3926:com.android.tools.r8.ir.code.Value rewriteValueIfDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):1150 -> a
    3927:3929:com.android.tools.r8.ir.code.Value rewriteValueIfDefault(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):1149:1151 -> a
    boolean lambda$insertCastForReturnIfNeeded$16(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> b
    1:1:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$11(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):716:716 -> b
    boolean lambda$insertCastsForInvokeArgumentsIfNeeded$15(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> c
    1:1:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$7(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):670:670 -> c
    2:2:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> c
    2:2:com.android.tools.r8.ir.code.Instruction lambda$rewritePartialDefault$7(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Value):670 -> c
com.android.tools.r8.ir.conversion.LensCodeRewriter$1 -> com.android.tools.r8.internal.hB:
    com.android.tools.r8.graph.GraphLens val$codeLens -> e
    com.android.tools.r8.ir.code.InvokeMethod val$invoke -> b
    com.android.tools.r8.ir.conversion.LensCodeRewriter this$0 -> f
    com.android.tools.r8.graph.DexMethod val$invokedMethod -> d
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens val$graphLens -> c
    1:1:void <init>(com.android.tools.r8.ir.conversion.LensCodeRewriter,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):400:400 -> <init>
    1:3:com.android.tools.r8.ir.analysis.type.TypeElement getOutType():408:410 -> c
    1:1:com.android.tools.r8.graph.DebugLocalInfo getLocalInfo():403:403 -> k
com.android.tools.r8.ir.conversion.LensCodeRewriter$GraphLensInterval -> com.android.tools.r8.internal.iB:
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens graphLens -> a
    com.android.tools.r8.graph.DexMethod method -> c
    com.android.tools.r8.graph.GraphLens codeLens -> b
    1:4:void <init>(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexMethod):130:133 -> <init>
    1:1:com.android.tools.r8.graph.GraphLens getCodeLens():141:141 -> a
    1:1:com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens getGraphLens():137:137 -> b
    1:1:com.android.tools.r8.graph.DexMethod getMethod():145:145 -> c
com.android.tools.r8.ir.conversion.LensCodeRewriter$InstructionReplacer -> com.android.tools.r8.internal.jB:
    com.android.tools.r8.ir.code.Instruction current -> b
    java.util.Set affectedPhis -> d
    com.android.tools.r8.ir.conversion.LensCodeRewriter this$0 -> e
    com.android.tools.r8.ir.code.IRCode code -> a
    com.android.tools.r8.ir.code.InstructionListIterator iterator -> c
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():1257:1257 -> <clinit>
    1:5:void <init>(com.android.tools.r8.ir.conversion.LensCodeRewriter,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set):1265:1269 -> <init>
    1:11:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1277:1287 -> a
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    12:12:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1287 -> a
    13:14:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1287:1288 -> a
    15:15:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    15:15:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1288 -> a
    16:17:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1288:1289 -> a
    18:18:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> a
    18:18:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1289 -> a
    19:21:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1289:1291 -> a
    22:22:void replaceInstructionIfTypeChanged(com.android.tools.r8.graph.DexType,java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):1287:1287 -> a
com.android.tools.r8.ir.conversion.LensCodeRewriterUtils -> com.android.tools.r8.internal.lB:
    java.util.Map protoFixupCache -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexDefinitionSupplier definitions -> a
    java.util.Map rewrittenCallSiteCache -> e
    com.android.tools.r8.graph.GraphLens graphLens -> b
    com.android.tools.r8.graph.GraphLens codeLens -> c
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):50:50 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,boolean):53:53 -> <init>
    3:17:void <init>(com.android.tools.r8.graph.AppView,boolean):43:57 -> <init>
    18:18:void <init>(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):61:61 -> <init>
    19:41:void <init>(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):43:65 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():69:69 -> a
    2:5:com.android.tools.r8.graph.DexCallSite rewriteCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):73:76 -> a
    6:6:com.android.tools.r8.graph.DexCallSite lambda$rewriteCallSite$0(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexCallSite):77:77 -> a
    7:9:com.android.tools.r8.graph.DexProto rewriteProto(com.android.tools.r8.graph.DexProto):227:229 -> a
    10:10:com.android.tools.r8.graph.DexType lambda$rewriteProto$1(com.android.tools.r8.graph.DexType):230:230 -> a
    11:11:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    11:11:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):122 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    12:12:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):122 -> a
    13:17:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):123:127 -> a
    18:27:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):126:135 -> a
    28:28:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):201:201 -> a
    28:28:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):135 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):217:217 -> a
    44:44:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):135 -> a
    45:55:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):205:215 -> a
    45:55:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):135 -> a
    56:66:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):203:213 -> a
    56:66:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):135 -> a
    67:70:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):207:210 -> a
    67:70:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):135 -> a
    71:81:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):137:147 -> a
    82:92:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):146:156 -> a
    93:93:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):201:201 -> a
    93:93:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):156 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    109:109:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):217:217 -> a
    109:109:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):156 -> a
    110:120:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):205:215 -> a
    110:120:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):156 -> a
    121:131:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):203:213 -> a
    121:131:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):156 -> a
    132:135:com.android.tools.r8.graph.DexMethodHandle$MethodHandleType com.android.tools.r8.ir.code.Invoke$Type.toMethodHandle(com.android.tools.r8.graph.DexMethod):207:210 -> a
    132:135:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):156 -> a
    136:156:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):157:177 -> a
    157:157:com.android.tools.r8.graph.DexMethodHandle com.android.tools.r8.graph.DexItemFactory.createMethodHandle(com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMember,boolean):2746:2746 -> a
    157:157:com.android.tools.r8.graph.DexMethodHandle rewriteDexMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):178 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:7:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):81:87 -> b
    8:8:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):910:910 -> b
    8:8:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):87 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):910:910 -> b
    9:9:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):87 -> b
    10:11:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):89:90 -> b
    12:13:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):188:189 -> b
    12:13:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    14:22:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):212:220 -> b
    14:22:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):190 -> b
    14:22:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    23:23:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):214:214 -> b
    23:23:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):190 -> b
    23:23:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    24:26:com.android.tools.r8.graph.DexValue$DexValueMethodHandle com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteDexValueMethodHandle(com.android.tools.r8.graph.DexValue$DexValueMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):235:237 -> b
    24:26:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):214 -> b
    24:26:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):190 -> b
    24:26:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    27:27:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):216:216 -> b
    27:27:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):190 -> b
    27:27:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    28:30:com.android.tools.r8.graph.DexValue$DexValueMethodType com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteDexMethodType(com.android.tools.r8.graph.DexValue$DexValueMethodType):205:207 -> b
    28:30:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArgument(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):216 -> b
    28:30:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):190 -> b
    28:30:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    31:36:java.util.List com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.rewriteBootstrapArguments(java.util.List,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):193:198 -> b
    31:36:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):91 -> b
    37:39:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):106:108 -> b
    37:39:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    40:40:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> b
    40:40:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):108 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:40:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    41:41:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):108:108 -> b
    41:41:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    42:42:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> b
    42:42:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):109 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    43:43:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):109:109 -> b
    43:43:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    44:44:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodType():0:0 -> b
    44:44:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):109 -> b
    44:44:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    45:49:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):109:113 -> b
    45:49:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    50:50:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):112:112 -> b
    50:50:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    51:51:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> b
    51:51:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.LambdaDescriptor.getMainFunctionalInterfaceMethodReference(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexItemFactory):263 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    51:51:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):112 -> b
    51:51:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    52:56:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.LambdaDescriptor.getMainFunctionalInterfaceMethodReference(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexItemFactory):263:267 -> b
    52:56:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):112 -> b
    52:56:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    57:60:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.conversion.LensCodeRewriterUtils.computeNewMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod,boolean):114:117 -> b
    57:60:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):92 -> b
    61:65:com.android.tools.r8.graph.DexCallSite rewriteCallSiteInternal(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):93:97 -> b
com.android.tools.r8.ir.conversion.LibraryDesugaredChecker -> com.android.tools.r8.internal.sB:
    com.android.tools.r8.graph.DexString jDollarDescriptorPrefix -> b
    com.android.tools.r8.graph.AppView appView -> a
    1:3:void <init>(com.android.tools.r8.graph.AppView):26:28 -> <init>
    1:4:boolean isClassLibraryDesugared(com.android.tools.r8.graph.DexProgramClass):32:35 -> a
com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer -> com.android.tools.r8.internal.rB:
    com.android.tools.r8.graph.DexString jDollarDescriptorPrefix -> a
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.graph.DexProgramClass clazz -> c
    boolean isLibraryDesugared -> d
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProgramClass):46:46 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProgramClass):43:49 -> <init>
    1:1:com.android.tools.r8.graph.DexString access$000(com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer):38:38 -> a
    2:2:boolean isLibraryDesugared():57:57 -> a
    3:13:void registerClass(com.android.tools.r8.graph.DexProgramClass):61:71 -> a
    14:14:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerMethod(com.android.tools.r8.graph.ProgramMethod):101:101 -> a
    14:14:void registerClass(com.android.tools.r8.graph.DexProgramClass):71 -> a
    15:18:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerMethod(com.android.tools.r8.graph.DexMethod):90:93 -> a
    15:18:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerMethod(com.android.tools.r8.graph.ProgramMethod):101 -> a
    15:18:void registerClass(com.android.tools.r8.graph.DexProgramClass):71 -> a
    19:29:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerMethod(com.android.tools.r8.graph.ProgramMethod):102:112 -> a
    19:29:void registerClass(com.android.tools.r8.graph.DexProgramClass):71 -> a
    30:31:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):124:125 -> a
    30:31:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerMethod(com.android.tools.r8.graph.ProgramMethod):113 -> a
    30:31:void registerClass(com.android.tools.r8.graph.DexProgramClass):71 -> a
    32:32:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerMethod(com.android.tools.r8.graph.ProgramMethod):113:113 -> a
    32:32:void registerClass(com.android.tools.r8.graph.DexProgramClass):71 -> a
    33:37:void registerClass(com.android.tools.r8.graph.DexProgramClass):72:76 -> a
    38:39:void registerType(com.android.tools.r8.graph.DexType):80:81 -> a
    40:40:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    40:40:void registerType(com.android.tools.r8.graph.DexType):81 -> a
    41:41:void registerType(com.android.tools.r8.graph.DexType):81:81 -> a
    42:42:void registerField(com.android.tools.r8.graph.DexEncodedField):97:97 -> a
    43:44:void com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer.registerField(com.android.tools.r8.graph.DexField):85:86 -> a
    43:44:void registerField(com.android.tools.r8.graph.DexEncodedField):97 -> a
    1:1:void run():53:53 -> b
com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer$IsLibraryDesugaredUseRegistry -> com.android.tools.r8.internal.qB:
    com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer this$0 -> f
    1:2:void <init>(com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):121:122 -> <init>
    1:1:boolean com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer$IsLibraryDesugaredUseRegistry.registerField(com.android.tools.r8.graph.DexField):126:126 -> a
    1:1:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):179 -> a
    2:2:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):154:154 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):144:144 -> b
    2:2:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):164:164 -> b
    1:1:boolean com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer$IsLibraryDesugaredUseRegistry.registerField(com.android.tools.r8.graph.DexField):126:126 -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):184 -> c
    2:2:void registerInstanceOf(com.android.tools.r8.graph.DexType):209:209 -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):159:159 -> d
    2:2:void registerNewInstance(com.android.tools.r8.graph.DexType):189:189 -> d
    1:1:boolean com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer$IsLibraryDesugaredUseRegistry.registerField(com.android.tools.r8.graph.DexField):126:126 -> e
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):194 -> e
    2:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod,boolean):169:169 -> e
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):174:174 -> f
    2:2:void registerTypeReference(com.android.tools.r8.graph.DexType):204:204 -> f
    1:1:boolean com.android.tools.r8.ir.conversion.LibraryDesugaredChecker$IsLibraryDesugaredTracer$IsLibraryDesugaredUseRegistry.registerField(com.android.tools.r8.graph.DexField):126:126 -> g
    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):199 -> g
    2:2:boolean registerType(com.android.tools.r8.graph.DexType):135:135 -> g
    3:3:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> g
    3:3:boolean registerType(com.android.tools.r8.graph.DexType):135 -> g
    4:4:boolean registerType(com.android.tools.r8.graph.DexType):136:136 -> g
    5:5:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):149:149 -> g
    1:2:boolean registerMethod(com.android.tools.r8.graph.DexMethod):130:131 -> h
    3:3:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> h
    3:3:boolean registerMethod(com.android.tools.r8.graph.DexMethod):131 -> h
com.android.tools.r8.ir.conversion.MethodConversionOptions -> com.android.tools.r8.internal.xE:
    1:1:void <init>():7:7 -> <init>
    boolean isPeepholeOptimizationsEnabled() -> a
com.android.tools.r8.ir.conversion.MethodConversionOptions$DefaultMethodConversionOptions -> com.android.tools.r8.internal.vE:
    com.android.tools.r8.ir.conversion.MethodConversionOptions$DefaultMethodConversionOptions INSTANCE -> a
    1:1:void <clinit>():34:34 -> <clinit>
    1:1:void <init>():37:37 -> <init>
    boolean isPeepholeOptimizationsEnabled() -> a
    1:1:com.android.tools.r8.ir.conversion.MethodConversionOptions$DefaultMethodConversionOptions getInstance():40:40 -> b
com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions -> com.android.tools.r8.internal.wE:
    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> a
    boolean enablePeepholeOptimizations -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.conversion.MethodProcessor):16:16 -> <init>
    2:5:void <init>(com.android.tools.r8.ir.conversion.MethodProcessor):14:17 -> <init>
    1:2:boolean isPeepholeOptimizationsEnabled():27:28 -> a
    1:2:void disablePeepholeOptimizations():21:22 -> b
com.android.tools.r8.ir.conversion.MethodOptimizationFeedback -> com.android.tools.r8.internal.GE:
    void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget) -> a
    void methodInitializesClassesOnNormalExit(com.android.tools.r8.graph.DexEncodedMethod,java.util.Set) -> a
    void methodReturnsAbstractValue(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue) -> a
    void methodReturnsArgument(com.android.tools.r8.graph.DexEncodedMethod,int) -> a
    void setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo) -> a
    void setClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint) -> a
    void setDynamicReturnType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType) -> a
    void setEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification) -> a
    void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod) -> a
    void setInstanceInitializerInfoCollection(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection) -> a
    void setNonNullParamOrThrow(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet) -> a
    void setSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint) -> a
    void setUnusedArguments(com.android.tools.r8.graph.ProgramMethod,java.util.BitSet) -> a
    void unsetForceInline(com.android.tools.r8.graph.ProgramMethod) -> a
    void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod) -> b
    void methodNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod) -> b
    void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet) -> b
    void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod) -> c
    void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod) -> c
    void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod) -> d
    void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod) -> e
    void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod) -> f
com.android.tools.r8.ir.conversion.MethodProcessor -> com.android.tools.r8.internal.QE:
    1:1:void <init>():10:10 -> <init>
    com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod) -> a
    com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation getCallSiteInformation() -> a
    boolean isPrimaryMethodProcessor() -> b
    boolean isProcessedConcurrently(com.android.tools.r8.graph.ProgramMethod) -> b
    void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod) -> c
    boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod) -> d
com.android.tools.r8.ir.conversion.MethodProcessorWithWave -> com.android.tools.r8.internal.RE:
    com.android.tools.r8.utils.collections.ProgramMethodSet waveExtension -> b
    com.android.tools.r8.utils.collections.ProgramMethodSet wave -> a
    1:4:void <init>():10:13 -> <init>
    1:1:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation getCallSiteInformation():17:17 -> a
    1:1:boolean isProcessedConcurrently(com.android.tools.r8.graph.ProgramMethod):22:22 -> b
    1:1:void scheduleDesugaredMethodForProcessing(com.android.tools.r8.graph.ProgramMethod):27:27 -> c
com.android.tools.r8.ir.conversion.OneTimeMethodProcessor -> com.android.tools.r8.internal.AK:
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> c
    1:3:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.utils.collections.ProgramMethodSet):23:25 -> <init>
    1:1:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder builder(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):29:29 -> a
    2:2:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.AppView):43:43 -> a
    3:3:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor com.android.tools.r8.ir.conversion.OneTimeMethodProcessor.create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):48:48 -> a
    3:3:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.AppView):43 -> a
    4:5:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.utils.collections.ProgramMethodSet.create(com.android.tools.r8.graph.ProgramMethod):44:45 -> a
    4:5:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):33 -> a
    6:6:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor com.android.tools.r8.ir.conversion.OneTimeMethodProcessor.create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.AppView):43:43 -> a
    6:6:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):33 -> a
    7:7:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor com.android.tools.r8.ir.conversion.OneTimeMethodProcessor.create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):48:48 -> a
    7:7:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor com.android.tools.r8.ir.conversion.OneTimeMethodProcessor.create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.AppView):43 -> a
    7:7:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):33 -> a
    8:9:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.utils.collections.ProgramMethodSet.create(com.android.tools.r8.graph.ProgramMethod):44:45 -> a
    8:9:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):38 -> a
    10:10:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor com.android.tools.r8.ir.conversion.OneTimeMethodProcessor.create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):48:48 -> a
    10:10:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):38 -> a
    11:11:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor create(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):48:48 -> a
    12:12:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):53:53 -> a
    13:15:void forEachWaveWithExtension(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction):67:69 -> a
    16:20:void com.android.tools.r8.ir.conversion.MethodProcessorWithWave.prepareForWaveExtensionProcessing():31:35 -> a
    16:20:void forEachWaveWithExtension(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction):71 -> a
    21:22:void forEachWaveWithExtension(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction,java.util.concurrent.ExecutorService):77:78 -> a
    23:27:void com.android.tools.r8.ir.conversion.MethodProcessorWithWave.prepareForWaveExtensionProcessing():31:35 -> a
    23:27:void forEachWaveWithExtension(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction,java.util.concurrent.ExecutorService):82 -> a
    28:28:void lambda$forEachWaveWithExtension$0(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction,com.android.tools.r8.graph.ProgramMethod):80:80 -> a
    boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod) -> d
com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder -> com.android.tools.r8.internal.yK:
    com.android.tools.r8.utils.collections.ProgramMethodSet methodsToProcess -> a
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> b
    1:1:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):91:91 -> <init>
    2:6:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):88:92 -> <init>
    1:1:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder add(com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    2:2:com.android.tools.r8.ir.conversion.OneTimeMethodProcessor build():101:101 -> a
com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$MethodAction -> com.android.tools.r8.internal.zK:
    void accept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
com.android.tools.r8.ir.conversion.PostMethodProcessor -> com.android.tools.r8.internal.hM:
    java.util.Deque waves -> d
    boolean $assertionsDisabled -> f
    com.android.tools.r8.utils.collections.ProgramMethodSet processed -> e
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> c
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph,com.android.tools.r8.ir.conversion.PostMethodProcessor$1):35:35 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):41:41 -> <init>
    3:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):39:43 -> <init>
    1:1:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):48:48 -> a
    2:2:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext com.android.tools.r8.ir.conversion.PostMethodProcessor.createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):48:48 -> a
    2:2:com.android.tools.r8.utils.Timing lambda$forEachMethod$0(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.graph.ProgramMethod):178 -> a
    3:4:com.android.tools.r8.utils.Timing lambda$forEachMethod$0(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.graph.ProgramMethod):178:179 -> a
    5:11:java.util.Deque createWaves(com.android.tools.r8.ir.conversion.callgraph.CallGraph):148:154 -> a
    12:30:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):167:185 -> a
    31:35:void com.android.tools.r8.ir.conversion.MethodProcessorWithWave.prepareForWaveExtensionProcessing() -> a
    31:35:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):186 -> a
    36:38:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):187:189 -> a
    1:2:boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod):58:59 -> d
com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder -> com.android.tools.r8.internal.gM:
    com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder methodsToReprocessBuilder -> a
    1:3:void <init>(com.android.tools.r8.graph.GraphLens):66:68 -> <init>
    1:1:void add(com.android.tools.r8.graph.ProgramMethod):73:73 -> a
    2:2:void add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):77:77 -> a
    3:3:void addAll(java.util.Collection,com.android.tools.r8.graph.GraphLens):81:81 -> a
    4:4:com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder merge(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder):90:90 -> a
    5:5:void put(com.android.tools.r8.utils.collections.ProgramMethodSet):95:95 -> a
    6:6:com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder removeAll(java.util.Collection):103:103 -> a
    7:7:com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder rewrittenWithLens(com.android.tools.r8.graph.AppView):111:111 -> a
    8:8:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    8:8:com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder rewrittenWithLens(com.android.tools.r8.graph.AppView):111 -> a
    9:9:com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder rewrittenWithLens(com.android.tools.r8.graph.GraphLens):116:116 -> a
    10:30:com.android.tools.r8.ir.conversion.PostMethodProcessor build(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):123:143 -> a
    31:31:void lambda$build$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):128:128 -> a
    32:32:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    32:32:void lambda$build$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):128 -> a
    33:36:void lambda$build$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):128:131 -> a
    37:37:boolean com.android.tools.r8.utils.collections.ProgramMethodSet.createAndAdd(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):78:78 -> a
    37:37:void lambda$build$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethod):131 -> a
    1:1:boolean contains(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):85:85 -> b
    1:1:void com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder.add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):77:77 -> c
    1:1:void lambda$addAll$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):81 -> c
    1:1:void remove(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):99:99 -> d
com.android.tools.r8.ir.conversion.PrimaryMethodProcessor -> com.android.tools.r8.internal.LM:
    com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation callSiteInformation -> d
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> f
    com.android.tools.r8.graph.AppView appView -> c
    java.util.Deque waves -> e
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():31:31 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):50:53 -> <init>
    1:1:com.android.tools.r8.ir.conversion.PrimaryMethodProcessor create(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):61:61 -> a
    2:2:com.android.tools.r8.ir.conversion.callgraph.CallGraphBuilder com.android.tools.r8.ir.conversion.callgraph.CallGraph.builder(com.android.tools.r8.graph.AppView):53:53 -> a
    2:2:com.android.tools.r8.ir.conversion.PrimaryMethodProcessor create(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):61 -> a
    3:4:com.android.tools.r8.ir.conversion.PrimaryMethodProcessor create(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):61:62 -> a
    5:5:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):67:67 -> a
    6:6:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext com.android.tools.r8.ir.conversion.PrimaryMethodProcessor.createMethodProcessingContext(com.android.tools.r8.graph.ProgramMethod):67:67 -> a
    6:6:com.android.tools.r8.utils.Timing lambda$forEachMethod$0(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.graph.ProgramMethod):138 -> a
    7:8:com.android.tools.r8.utils.Timing lambda$forEachMethod$0(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.graph.ProgramMethod):138:139 -> a
    9:9:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation getCallSiteInformation():88:88 -> a
    10:21:java.util.Deque createWaves(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):92:103 -> a
    22:40:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveStartAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveDoneAction,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):126:144 -> a
    41:45:void com.android.tools.r8.ir.conversion.MethodProcessorWithWave.prepareForWaveExtensionProcessing():31:35 -> a
    41:45:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveStartAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveDoneAction,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):145 -> a
    46:48:void forEachMethod(com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveStartAction,com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveDoneAction,com.android.tools.r8.utils.Timing,java.util.concurrent.ExecutorService):146:148 -> a
    boolean isPrimaryMethodProcessor() -> b
    1:2:boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod):82:83 -> d
com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$MethodAction -> com.android.tools.r8.internal.IM:
    com.android.tools.r8.utils.Timing apply(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveDoneAction -> com.android.tools.r8.internal.JM:
    void notifyWaveDone(com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.concurrent.ExecutorService) -> a
com.android.tools.r8.ir.conversion.PrimaryMethodProcessor$WaveStartAction -> com.android.tools.r8.internal.KM:
    void notifyWaveStart(com.android.tools.r8.utils.collections.ProgramMethodSet) -> a
com.android.tools.r8.ir.conversion.SourceCode -> com.android.tools.r8.internal.yV:
    void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean) -> a
    void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean) -> a
    void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int) -> a
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int) -> a
    com.android.tools.r8.graph.DexType getPhiTypeForBlock(int,int,com.android.tools.r8.ir.code.ValueTypeConstraint,com.android.tools.r8.ir.code.Phi$RegisterReadType) -> a
    boolean hasValidTypesFromStackMap() -> a
    void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder) -> a
    void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder) -> a
    int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder) -> a
    boolean verifyLocalInScope(com.android.tools.r8.graph.DebugLocalInfo) -> a
    void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder) -> b
    boolean verifyCurrentInstructionCanThrow() -> b
    boolean verifyRegister(int) -> b
    com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder) -> c
    int instructionIndex(int) -> c
    void setUp() -> c
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int) -> d
    int instructionCount() -> d
    com.android.tools.r8.ir.code.Position getCurrentPosition() -> e
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> e
    int getMoveExceptionRegister(int) -> f
    int instructionOffset(int) -> g
com.android.tools.r8.ir.conversion.StringSwitchConverter -> com.android.tools.r8.internal.cX:
    1:7:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter.isDefinedByStringHashCode(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):187:193 -> a
    1:7:boolean access$700(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):107 -> a
com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping -> com.android.tools.r8.internal.WW:
    com.android.tools.r8.ir.code.Phi idValue -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap mapping -> c
    com.android.tools.r8.ir.code.BasicBlock fallthroughBlock -> a
    1:1:void <init>(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.conversion.StringSwitchConverter$1):647:647 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Phi):788:788 -> <init>
    3:6:void <init>(com.android.tools.r8.ir.code.Phi):786:789 -> <init>
    1:1:com.android.tools.r8.ir.code.BasicBlock access$000(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping):647:647 -> a
    2:2:com.android.tools.r8.ir.code.BasicBlock access$002(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):647:647 -> a
    1:1:com.android.tools.r8.ir.code.Phi access$100(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping):647:647 -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap access$300(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping):647:647 -> c
com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder -> com.android.tools.r8.internal.VW:
    1:1:void <init>():649:649 -> <init>
    1:1:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping build(com.android.tools.r8.ir.code.BasicBlock):676:676 -> a
    2:2:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):688:688 -> a
    3:3:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder.setFallthroughBlock(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):682:682 -> a
    3:3:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):691 -> a
    4:18:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):693:707 -> a
    19:19:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder.setFallthroughBlock(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):682:682 -> a
    19:19:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):711 -> a
    20:21:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):716:717 -> a
    22:22:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder.setFallthroughBlock(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):682:682 -> a
    22:22:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):719 -> a
    23:59:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):724:760 -> a
    60:61:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getTrueTarget(com.android.tools.r8.ir.code.If):800:801 -> a
    60:61:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):760 -> a
    62:63:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):760:761 -> a
    64:64:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder.setFallthroughBlock(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):682:682 -> a
    64:64:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):748 -> a
    65:65:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder.setFallthroughBlock(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):682:682 -> a
    65:65:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):736 -> a
    66:80:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.code.BasicBlock):766:780 -> a
    81:81:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder.setFallthroughBlock(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.BasicBlock):682:682 -> a
    81:81:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.code.BasicBlock):769 -> a
com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo -> com.android.tools.r8.internal.YW:
    java.util.Map mapping -> c
    com.android.tools.r8.ir.code.Value value -> d
    com.android.tools.r8.ir.code.BasicBlock insertionBlock -> b
    com.android.tools.r8.ir.code.BasicBlock fallthroughBlock -> a
    1:5:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.Map,com.android.tools.r8.ir.code.Value):263:267 -> <init>
    1:29:void createAndInsertStringSwitch(com.android.tools.r8.ir.code.IRCode):276:304 -> a
    30:30:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    30:30:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    30:30:void createAndInsertStringSwitch(com.android.tools.r8.ir.code.IRCode):304 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    31:31:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    31:31:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    31:31:void createAndInsertStringSwitch(com.android.tools.r8.ir.code.IRCode):304 -> a
com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo$Builder -> com.android.tools.r8.internal.XW:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:1:void <clinit>():198:198 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.conversion.StringSwitchConverter$1):198:198 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexItemFactory):202:203 -> <init>
    1:1:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):207:207 -> a
    2:2:com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping$Builder com.android.tools.r8.ir.conversion.StringSwitchConverter$IdToTargetMapping.builder():793:793 -> a
    2:2:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):208 -> a
    3:13:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):208:218 -> a
    14:15:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):817:818 -> a
    14:15:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):218 -> a
    16:21:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.graph.DexItemFactory):827:832 -> a
    16:21:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):818 -> a
    16:21:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):218 -> a
    22:23:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):820:821 -> a
    22:23:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):218 -> a
    24:25:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromSwitch(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.graph.DexItemFactory):840:841 -> a
    24:25:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromJump(com.android.tools.r8.ir.code.JumpInstruction,com.android.tools.r8.graph.DexItemFactory):821 -> a
    24:25:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):218 -> a
    26:26:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):219:219 -> a
    27:28:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringValueFromHashValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):848:849 -> a
    27:28:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):219 -> a
    29:31:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):220:222 -> a
    32:32:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping.builder(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):643:643 -> a
    32:32:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):221 -> a
    33:48:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):223:238 -> a
    49:49:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.keySet():87:87 -> a
    49:49:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):238 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    50:59:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringSwitchBuilderInfo build(com.android.tools.r8.ir.code.BasicBlock):238:247 -> a
com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping -> com.android.tools.r8.internal.aX:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap mapping -> c
    com.android.tools.r8.ir.code.Value stringHashValue -> b
    com.android.tools.r8.ir.code.BasicBlock insertionBlock -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():308:308 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.conversion.StringSwitchConverter$1):308:308 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):633:633 -> <init>
    3:7:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):631:635 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap access$200(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping):308:308 -> a
    1:1:com.android.tools.r8.ir.code.Value access$500(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping):308:308 -> b
com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder -> com.android.tools.r8.internal.ZW:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.ir.code.Phi intermediateIdValue -> c
    com.android.tools.r8.ir.code.Value stringValue -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.code.BasicBlock continuationBlock -> a
    1:1:void <clinit>():310:310 -> <clinit>
    1:5:void <init>(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):321:325 -> <init>
    1:14:com.android.tools.r8.ir.code.Phi getIntermediateIdValueOrElse(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Phi):339:352 -> a
    15:15:com.android.tools.r8.ir.code.Phi getIntermediateIdValueOrElse(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Phi):351:351 -> a
    16:16:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping build(com.android.tools.r8.ir.code.BasicBlock):387:387 -> a
    17:19:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):391:393 -> a
    20:25:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):435:440 -> a
    20:25:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    26:31:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.graph.DexItemFactory):827:832 -> a
    26:31:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):440 -> a
    26:31:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    32:32:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):443:443 -> a
    32:32:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    33:35:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isSameStringHashValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):858:860 -> a
    33:35:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):443 -> a
    33:35:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    36:50:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):450:464 -> a
    36:50:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    51:51:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.<init>():176:176 -> a
    51:51:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):464 -> a
    51:51:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    52:53:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getTrueTarget(com.android.tools.r8.ir.code.If):800:801 -> a
    52:53:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):465 -> a
    52:53:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    54:54:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.addMappingsForStringsWithHash(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):518:518 -> a
    54:54:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):466 -> a
    54:54:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    55:55:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):472:472 -> a
    55:55:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    56:56:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.keySet():87:87 -> a
    56:56:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):476 -> a
    56:56:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    57:61:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithIf(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.If):476:480 -> a
    57:61:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):393 -> a
    62:63:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):395:396 -> a
    64:64:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):485:485 -> a
    64:64:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    65:66:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.getStringHashValueFromSwitch(com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.graph.DexItemFactory):840:841 -> a
    65:66:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):485 -> a
    65:66:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    67:67:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):488:488 -> a
    67:67:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    68:70:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils.isSameStringHashValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):858:860 -> a
    68:70:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):488 -> a
    68:70:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    71:71:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):494:494 -> a
    71:71:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    72:72:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.<init>():176:176 -> a
    72:72:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):494 -> a
    72:72:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    73:75:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):495:497 -> a
    73:75:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    76:76:boolean com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.addMappingsForStringsWithHash(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):518:518 -> a
    76:76:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):498 -> a
    76:76:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    77:77:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):505:505 -> a
    77:77:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    78:78:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.keySet():87:87 -> a
    78:78:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):509 -> a
    78:78:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    79:83:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping$Builder.extendWithSwitch(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.IntSwitch):509:513 -> a
    79:83:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extend(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):396 -> a
    84:91:boolean addMappingsForStringsWithHash(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.Set):526:533 -> a
    92:92:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    92:92:boolean addMappingsForStringsWithHash(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.Set):540 -> a
    93:141:boolean addMappingsForStringsWithHash(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.Set):541:589 -> a
    142:142:boolean addMappingsForStringsWithHash(com.android.tools.r8.ir.code.BasicBlock,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap,java.util.Set):579:579 -> a
    143:151:boolean addMappingForString(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexString,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):597:605 -> a
    152:152:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.ConstNumber.asConstNumberOrNull(com.android.tools.r8.ir.code.Instruction):53:53 -> a
    152:152:boolean addMappingForString(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexString,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):605 -> a
    153:166:boolean addMappingForString(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexString,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):607:620 -> a
    1:27:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extendWithPredecessor(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):404:430 -> b
    28:30:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.startOfGotoChain():1546:1548 -> b
    28:30:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extendWithPredecessor(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):430 -> b
    31:31:com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping extendWithPredecessor(com.android.tools.r8.ir.conversion.StringSwitchConverter$StringToIdMapping,com.android.tools.r8.ir.code.BasicBlock):431:431 -> b
com.android.tools.r8.ir.conversion.StringSwitchConverter$Utils -> com.android.tools.r8.internal.bX:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():797:797 -> <clinit>
    1:8:com.android.tools.r8.ir.code.BasicBlock fallthroughBlock(com.android.tools.r8.ir.code.JumpInstruction):805:812 -> a
com.android.tools.r8.ir.conversion.StringSwitchRemover -> com.android.tools.r8.internal.gX:
    com.android.tools.r8.ir.analysis.type.ClassTypeElement stringType -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.naming.IdentifierNameStringMarker identifierNameStringMarker -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():47:47 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.IdentifierNameStringMarker):53:56 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.ClassTypeElement access$300(com.android.tools.r8.ir.conversion.StringSwitchRemover):47:47 -> a
    2:29:boolean prepareForStringSwitchRemoval(com.android.tools.r8.ir.code.IRCode):116:143 -> a
    1:1:com.android.tools.r8.graph.AppView access$400(com.android.tools.r8.ir.conversion.StringSwitchRemover):47:47 -> b
    2:20:void run(com.android.tools.r8.ir.code.IRCode):60:78 -> b
    21:22:boolean com.android.tools.r8.ir.conversion.StringSwitchRemover.hashCodeOfKeysMayChangeAfterMinification(com.android.tools.r8.ir.code.StringSwitch):110:111 -> b
    21:22:void run(com.android.tools.r8.ir.code.IRCode):79 -> b
    23:23:void run(com.android.tools.r8.ir.code.IRCode):84:84 -> b
    24:44:void run(com.android.tools.r8.ir.code.IRCode):80:100 -> b
com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleEqualityBasedStringSwitchRemover -> com.android.tools.r8.internal.dX:
    com.android.tools.r8.ir.code.BasicBlock fallthroughBlock -> g
    com.android.tools.r8.ir.code.BasicBlock block -> f
    com.android.tools.r8.ir.conversion.StringSwitchRemover this$0 -> i
    boolean $assertionsDisabled -> j
    java.util.Map structure -> h
    1:1:void <clinit>():177:177 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.conversion.StringSwitchRemover,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.StringSwitch,java.util.Set,com.android.tools.r8.ir.conversion.StringSwitchRemover$1):177:177 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.conversion.StringSwitchRemover,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.StringSwitch,java.util.Set):189:193 -> <init>
    1:2:java.util.Map createStructure(com.android.tools.r8.ir.code.StringSwitch):197:198 -> a
    3:20:void removeStringSwitch():205:222 -> a
    21:21:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    21:21:void removeStringSwitch():222 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:27:void removeStringSwitch():222:227 -> a
    28:28:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    28:28:void removeStringSwitch():227 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    29:37:void removeStringSwitch():227:235 -> a
    38:38:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    38:38:void removeStringSwitch():237 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    39:39:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    39:39:void removeStringSwitch():237 -> a
    40:40:void removeStringSwitch():237:237 -> a
    41:48:void removeStringSwitch():236:243 -> a
    49:49:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    49:49:void removeStringSwitch():245 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    50:50:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    50:50:void removeStringSwitch():245 -> a
    51:53:void removeStringSwitch():245:247 -> a
    54:60:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.createIfBlock(int,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.Instruction[]):1482:1488 -> a
    54:60:void removeStringSwitch():244 -> a
    61:66:void removeStringSwitch():250:255 -> a
    67:68:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> a
    67:68:void removeStringSwitch():255 -> a
    69:69:void removeStringSwitch():255:255 -> a
    70:70:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    70:70:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    70:70:void removeStringSwitch():255 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    71:71:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    71:71:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    71:71:void removeStringSwitch():255 -> a
    72:81:void removeStringSwitch():256:265 -> a
com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover -> com.android.tools.r8.internal.eX:
    com.android.tools.r8.ir.code.BasicBlock idSwitchBlock -> h
    com.android.tools.r8.ir.conversion.StringSwitchRemover this$0 -> l
    boolean $assertionsDisabled -> m
    com.android.tools.r8.ir.code.BasicBlock hashSwitchFallthroughBlock -> g
    com.android.tools.r8.ir.code.BasicBlock hashSwitchBlock -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap structure -> j
    int nextStringId -> k
    com.android.tools.r8.ir.code.BasicBlock idSwitchFallthroughBlock -> i
    1:1:void <clinit>():269:269 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.conversion.StringSwitchRemover,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.StringSwitch,java.util.Set,com.android.tools.r8.ir.conversion.StringSwitchRemover$1):269:269 -> <init>
    2:8:void <init>(com.android.tools.r8.ir.conversion.StringSwitchRemover,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.StringSwitch,java.util.Set):286:292 -> <init>
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap createStructure(com.android.tools.r8.ir.code.StringSwitch):301:302 -> a
    3:9:void lambda$createStructure$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.graph.DexString,com.android.tools.r8.ir.code.BasicBlock):304:310 -> a
    10:20:void removeStringSwitch():319:329 -> a
    21:21:com.android.tools.r8.ir.code.Phi com.android.tools.r8.ir.code.IRCode.createPhi(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.type.TypeElement):1196:1196 -> a
    21:21:void removeStringSwitch():329 -> a
    22:30:void removeStringSwitch():330:338 -> a
    31:31:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    31:31:void removeStringSwitch():338 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    32:35:void removeStringSwitch():338:341 -> a
    36:36:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):406:406 -> a
    36:36:void removeStringSwitch():362 -> a
    37:37:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296:296 -> a
    37:37:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):409 -> a
    37:37:void removeStringSwitch():362 -> a
    38:38:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    38:38:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:38:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):409 -> a
    38:38:void removeStringSwitch():362 -> a
    39:39:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    39:39:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296 -> a
    39:39:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):409 -> a
    39:39:void removeStringSwitch():362 -> a
    40:63:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):409:432 -> a
    40:63:void removeStringSwitch():362 -> a
    64:64:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    64:64:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):432 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    64:64:void removeStringSwitch():362 -> a
    65:68:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):432:435 -> a
    65:68:void removeStringSwitch():362 -> a
    69:69:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296:296 -> a
    69:69:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):440 -> a
    69:69:void removeStringSwitch():362 -> a
    70:70:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    70:70:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    70:70:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):440 -> a
    70:70:void removeStringSwitch():362 -> a
    71:71:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    71:71:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296 -> a
    71:71:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):440 -> a
    71:71:void removeStringSwitch():362 -> a
    72:72:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):440:440 -> a
    72:72:void removeStringSwitch():362 -> a
    73:84:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):439:450 -> a
    73:84:void removeStringSwitch():362 -> a
    85:85:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296:296 -> a
    85:85:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):455 -> a
    85:85:void removeStringSwitch():362 -> a
    86:86:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    86:86:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):455 -> a
    86:86:void removeStringSwitch():362 -> a
    87:87:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    87:87:int com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.getAndIncrementNextBlockNumber():296 -> a
    87:87:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):455 -> a
    87:87:void removeStringSwitch():362 -> a
    88:88:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):455:455 -> a
    88:88:void removeStringSwitch():362 -> a
    89:101:void com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitchTargets(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value):454:466 -> a
    89:101:void removeStringSwitch():362 -> a
    102:105:void removeStringSwitch():363:366 -> a
    106:106:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitch(com.android.tools.r8.ir.code.Value):393:393 -> a
    106:106:void removeStringSwitch():366 -> a
    107:107:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.keySet():43:43 -> a
    107:107:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitch(com.android.tools.r8.ir.code.Value):393 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    107:107:void removeStringSwitch():366 -> a
    108:116:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createHashSwitch(com.android.tools.r8.ir.code.Value):393:401 -> a
    108:116:void removeStringSwitch():366 -> a
    117:133:void removeStringSwitch():367:383 -> a
    134:135:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):471:472 -> a
    134:135:void removeStringSwitch():386 -> a
    136:138:int[] com.android.tools.r8.utils.ArrayUtils.createIdentityArray(int):121:123 -> a
    136:138:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):472 -> a
    136:138:void removeStringSwitch():386 -> a
    139:147:com.android.tools.r8.ir.code.IntSwitch com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleHashBasedStringSwitchRemover.createIdSwitch(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):473:481 -> a
    139:147:void removeStringSwitch():386 -> a
    148:150:void removeStringSwitch():387:389 -> a
com.android.tools.r8.ir.conversion.StringSwitchRemover$SingleStringSwitchRemover -> com.android.tools.r8.internal.fX:
    java.util.ListIterator blockIterator -> b
    java.util.Set newBlocksWithStrings -> c
    com.android.tools.r8.ir.code.Value stringValue -> e
    com.android.tools.r8.ir.code.IRCode code -> a
    com.android.tools.r8.ir.code.Position position -> d
    1:1:void <init>(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.StringSwitch,java.util.Set,com.android.tools.r8.ir.conversion.StringSwitchRemover$1):153:153 -> <init>
    2:7:void <init>(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.StringSwitch,java.util.Set):166:171 -> <init>
    void removeStringSwitch() -> a
com.android.tools.r8.ir.conversion.SwitchPayloadResolver -> com.android.tools.r8.internal.LX:
    java.util.Map unresolvedPayload -> a
    java.util.Map payloadToData -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():16:16 -> <clinit>
    1:17:void <init>():16:32 -> <init>
    1:6:void addPayloadUser(com.android.tools.r8.code.Instruction):35:40 -> a
    7:21:void resolve(com.android.tools.r8.code.SwitchPayload):45:59 -> a
    22:22:int[] absoluteTargets(int):68:68 -> a
    23:23:void clear():84:84 -> a
    1:1:int[] getKeys(int):72:72 -> b
com.android.tools.r8.ir.conversion.SwitchPayloadResolver$PayloadData -> com.android.tools.r8.internal.KX:
    int[] absoluteTargets -> b
    int[] keys -> c
    int userOffset -> a
    1:1:void <init>(int):26:26 -> <init>
    2:7:void <init>(int):22:27 -> <init>
com.android.tools.r8.ir.conversion.SyntheticStraightLineSourceCode -> com.android.tools.r8.internal.eY:
    java.util.List instructionBuilders -> a
    com.android.tools.r8.ir.code.Position position -> b
    1:3:void <init>(java.util.List,com.android.tools.r8.ir.code.Position):21:23 -> <init>
    void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int) -> a
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int) -> a
    int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder) -> a
    1:1:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):51:51 -> a
    2:2:void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean):118:118 -> a
    3:3:void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder):129:129 -> a
    4:4:void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder):135:135 -> a
    5:5:boolean verifyLocalInScope(com.android.tools.r8.graph.DebugLocalInfo):140:140 -> a
    boolean verifyCurrentInstructionCanThrow() -> b
    boolean verifyRegister(int) -> b
    1:1:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):45:45 -> b
    2:2:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):44:44 -> b
    com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder) -> c
    int instructionIndex(int) -> c
    void setUp() -> c
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int) -> d
    1:1:int instructionCount():28:28 -> d
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> e
    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():76:76 -> e
    1:1:int getMoveExceptionRegister(int):123:123 -> f
    int instructionOffset(int) -> g
com.android.tools.r8.ir.conversion.TypeConstraintResolver -> com.android.tools.r8.internal.h00:
    java.util.Map unificationParents -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.conversion.IRBuilder builder -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():51:51 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRBuilder):57:57 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRBuilder):55:59 -> <init>
    1:21:java.util.List com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundOne(com.android.tools.r8.ir.code.IRCode):106:126 -> a
    1:21:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):96 -> a
    22:26:java.util.ArrayList com.android.tools.r8.ir.conversion.TypeConstraintResolver.constrainValues(boolean,java.util.List):160:164 -> a
    22:26:java.util.List com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundOne(com.android.tools.r8.ir.code.IRCode):131 -> a
    22:26:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):96 -> a
    27:27:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):99:99 -> a
    28:29:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):139:140 -> a
    28:29:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    30:34:java.util.ArrayList com.android.tools.r8.ir.conversion.TypeConstraintResolver.constrainValues(boolean,java.util.List):160:164 -> a
    30:34:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):143 -> a
    30:34:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    35:37:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):144:146 -> a
    35:37:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    38:38:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47}}
    45:45:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):146:146 -> a
    45:45:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    46:46:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):146:146 -> a
    46:46:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    47:47:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):146:146 -> a
    47:47:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    39:43:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):151:155 -> a
    39:43:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    44:44:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.resolveRoundTwo(com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):148:148 -> a
    44:44:void resolve(java.util.List,com.android.tools.r8.ir.code.IRCode):102 -> a
    48:48:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):172:172 -> a
    49:51:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.TypeConstraintResolver.canonical(com.android.tools.r8.ir.code.Value):273:275 -> a
    49:51:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):173 -> a
    52:62:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):175:185 -> a
    63:105:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):28:70 -> a
    63:105:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    106:106:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):65:65 -> a
    106:106:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    107:107:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):60:60 -> a
    107:107:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    108:108:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):55:55 -> a
    108:108:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    109:109:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):50:50 -> a
    109:109:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    110:110:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):45:45 -> a
    110:110:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    111:111:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):40:40 -> a
    111:111:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    112:112:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):35:35 -> a
    112:112:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    113:113:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.code.MemberType.constrainedType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.ValueTypeConstraint):30:30 -> a
    113:113:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186 -> a
    114:114:void constrainArrayMemberType(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,java.util.function.Consumer):186:186 -> a
    115:127:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):216:228 -> a
    128:128:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:448 -> a
    128:128:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    128:128:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):228 -> a
    129:129:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    129:129:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):449 -> a
    129:129:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    129:129:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):228 -> a
    130:130:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):228:228 -> a
    131:138:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):226:233 -> a
    139:139:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    139:139:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):233 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    140:140:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    140:140:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):233 -> a
    141:143:boolean verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value,java.util.Set):233:235 -> a
    144:146:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.TypeConstraintResolver.canonical(com.android.tools.r8.ir.code.Value):273:275 -> a
    144:146:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194 -> a
    147:147:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194:194 -> a
    148:148:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    148:148:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194 -> a
    149:149:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    149:149:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64 -> a
    149:149:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194 -> a
    150:150:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    150:150:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):194 -> a
    151:160:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):195:204 -> a
    161:161:boolean com.android.tools.r8.ir.conversion.TypeConstraintResolver.verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value):212:212 -> a
    161:161:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):204 -> a
    162:162:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):205:205 -> a
    163:166:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):198:201 -> a
    167:167:boolean com.android.tools.r8.ir.conversion.TypeConstraintResolver.verifyNoConstrainedUses(com.android.tools.r8.ir.code.Value):212:212 -> a
    167:167:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):201 -> a
    168:168:com.android.tools.r8.ir.code.ValueTypeConstraint getCanonicalTypeConstraint(com.android.tools.r8.ir.code.Value,boolean):202:202 -> a
    169:172:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.TypeConstraintResolver.canonical(com.android.tools.r8.ir.code.Value):273:273 -> a
    169:172:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    174:174:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.conversion.TypeConstraintResolver.canonical(com.android.tools.r8.ir.code.Value):275:275 -> a
    174:174:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    175:177:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):246:248 -> a
    175:177:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    178:178:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    178:178:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64 -> a
    178:178:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):249 -> a
    178:178:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    179:179:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    179:179:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):249 -> a
    179:179:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    180:180:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBottom():0:0 -> a
    180:180:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64 -> a
    180:180:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):249 -> a
    180:180:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    181:181:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.conversion.TypeConstraintResolver.constraintForType(com.android.tools.r8.ir.analysis.type.TypeElement):64:64 -> a
    181:181:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):249 -> a
    181:181:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    182:182:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):250:250 -> a
    182:182:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    183:183:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    183:183:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):250 -> a
    183:183:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    184:184:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    184:184:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    184:184:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):250 -> a
    184:184:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
    185:200:void com.android.tools.r8.ir.conversion.TypeConstraintResolver.link(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):250:265 -> a
    185:200:void merge(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):190 -> a
com.android.tools.r8.ir.conversion.callgraph.CallGraph -> com.android.tools.r8.internal.o6:
    boolean $assertionsDisabled -> b
    int $r8$clinit -> c
    1:1:void <clinit>():39:39 -> <clinit>
    1:1:void <init>(java.util.Map,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult):48:48 -> <init>
    1:5:com.android.tools.r8.ir.conversion.callgraph.CallGraph createForTesting(java.util.Collection):57:61 -> a
    6:6:com.android.tools.r8.ir.conversion.callgraph.CallGraph createForTesting(java.util.Collection):60:60 -> a
    7:7:com.android.tools.r8.ir.conversion.callgraph.CallGraph createForTesting(java.util.Collection):59:59 -> a
    8:8:void com.android.tools.r8.ir.conversion.callgraph.CallGraph.<init>(java.util.Map):44:44 -> a
    8:8:com.android.tools.r8.ir.conversion.callgraph.CallGraph createForTesting(java.util.Collection):59 -> a
    9:9:com.android.tools.r8.graph.DexMethod lambda$createForTesting$0(com.android.tools.r8.ir.conversion.callgraph.Node):61:61 -> a
    10:11:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation createCallSiteInformation(com.android.tools.r8.graph.AppView):66:67 -> a
    12:12:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation.empty():33:33 -> a
    12:12:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation createCallSiteInformation(com.android.tools.r8.graph.AppView):68 -> a
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet extractLeaves():72:72 -> c
    2:14:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.ir.conversion.callgraph.CallGraph.extractNodes(java.util.function.Predicate,java.util.function.Consumer):80:92 -> c
    2:14:com.android.tools.r8.utils.collections.ProgramMethodSet extractLeaves():72 -> c
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet extractRoots():76:76 -> d
    2:14:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.ir.conversion.callgraph.CallGraph.extractNodes(java.util.function.Predicate,java.util.function.Consumer):80:92 -> d
    2:14:com.android.tools.r8.utils.collections.ProgramMethodSet extractRoots():76 -> d
com.android.tools.r8.ir.conversion.callgraph.CallGraphBase -> com.android.tools.r8.internal.p6:
    java.util.Map nodes -> a
    1:2:void <init>(java.util.Map):16:17 -> <init>
    1:1:com.android.tools.r8.ir.conversion.callgraph.NodeBase getNode(com.android.tools.r8.graph.ProgramMethod):25:25 -> a
    2:2:java.util.Collection getNodes():29:29 -> a
    1:1:boolean isEmpty():21:21 -> b
com.android.tools.r8.ir.conversion.callgraph.CallGraphBuilder -> com.android.tools.r8.internal.q6:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):21:21 -> <init>
    1:1:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):18:18 -> a
    2:2:void populateGraph(java.util.concurrent.ExecutorService):26:26 -> a
    3:3:void processClass(com.android.tools.r8.graph.DexProgramClass):30:30 -> a
    4:6:boolean verifyAllMethodsWithCodeExists():46:48 -> a
    1:8:void processMethod(com.android.tools.r8.graph.ProgramMethod):34:41 -> c
com.android.tools.r8.ir.conversion.callgraph.CallGraphBuilderBase -> com.android.tools.r8.internal.r6:
    java.util.Map nodes -> b
    java.util.Map possibleProgramTargetsCache -> c
    com.android.tools.r8.graph.AppView appView -> a
    1:1:void <init>(com.android.tools.r8.graph.AppView):23:23 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView):19:24 -> <init>
    com.android.tools.r8.ir.conversion.callgraph.NodeBase createNode(com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.conversion.callgraph.NodeBase lambda$getOrCreateNode$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):30:30 -> a
    1:1:com.android.tools.r8.ir.conversion.callgraph.NodeBase getOrCreateNode(com.android.tools.r8.graph.ProgramMethod):30:30 -> b
com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation -> com.android.tools.r8.internal.v6:
    1:1:void <init>():18:18 -> <init>
    boolean hasSingleCallSite(com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation empty():33:33 -> a
    boolean isMultiCallerInlineCandidate(com.android.tools.r8.graph.ProgramMethod) -> b
    void unsetCallSiteInformation(com.android.tools.r8.graph.ProgramMethod) -> c
com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$CallGraphBasedCallSiteInformation -> com.android.tools.r8.internal.t6:
    java.util.Set singleCallerMethods -> a
    java.util.Set multiCallerInlineCandidates -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):61:61 -> <init>
    2:11:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):58:67 -> <init>
    12:47:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallGraph):64:99 -> <init>
    1:3:boolean lambda$new$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.ProgramMethod):69:71 -> a
    4:4:boolean hasSingleCallSite(com.android.tools.r8.graph.ProgramMethod):112:112 -> a
    1:1:boolean isMultiCallerInlineCandidate(com.android.tools.r8.graph.ProgramMethod):123:123 -> b
    1:2:void unsetCallSiteInformation(com.android.tools.r8.graph.ProgramMethod):128:129 -> c
com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$EmptyCallSiteInformation -> com.android.tools.r8.internal.u6:
    com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$EmptyCallSiteInformation EMPTY_INFO -> a
    1:1:void <clinit>():38:38 -> <clinit>
    1:1:void <init>():36:36 -> <init>
    boolean hasSingleCallSite(com.android.tools.r8.graph.ProgramMethod) -> a
    boolean isMultiCallerInlineCandidate(com.android.tools.r8.graph.ProgramMethod) -> b
    1:1:com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation$EmptyCallSiteInformation access$000():36:36 -> b
    void unsetCallSiteInformation(com.android.tools.r8.graph.ProgramMethod) -> c
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator -> com.android.tools.r8.internal.be:
    java.util.Deque writerStack -> d
    java.util.Map stackEntryInfo -> b
    java.util.Deque clinitCallStack -> c
    java.util.Deque stack -> a
    boolean $assertionsDisabled -> j
    java.util.Set marked -> e
    java.util.LinkedHashSet revisit -> i
    java.util.Map calleesToBeRemoved -> f
    java.util.Map writersToBeRemoved -> g
    java.util.Map removedCallEdges -> h
    1:1:void <clinit>():25:25 -> <clinit>
    1:81:void <init>():25:105 -> <init>
    1:2:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult breakCycles(java.util.Collection):112:113 -> a
    3:10:void com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.prepareForNewTraversal():126:133 -> a
    3:10:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult breakCycles(java.util.Collection):114 -> a
    11:15:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult breakCycles(java.util.Collection):115:119 -> a
    16:22:void com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.reset():137:143 -> a
    16:22:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult breakCycles(java.util.Collection):121 -> a
    23:24:void lambda$traverse$0(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem,com.android.tools.r8.ir.conversion.callgraph.Node):246:247 -> a
    25:45:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):264:284 -> a
    46:67:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):283:304 -> a
    68:81:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):303:316 -> a
    82:86:java.util.LinkedList com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.extractCycle(com.android.tools.r8.ir.conversion.callgraph.Node):401:405 -> a
    82:86:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):322 -> a
    87:102:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.findCallEdgeForRemoval(java.util.LinkedList):417:432 -> a
    87:102:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):326 -> a
    103:107:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):331:335 -> a
    108:110:void com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.recoverStack(java.util.LinkedList):453:455 -> a
    108:110:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):339 -> a
    111:111:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.findCallEdgeForRemoval(java.util.LinkedList):436:436 -> a
    111:111:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):326 -> a
    112:112:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    112:112:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.findCallEdgeForRemoval(java.util.LinkedList):436 -> a
    112:112:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):326 -> a
    113:113:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    113:113:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    113:113:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.findCallEdgeForRemoval(java.util.LinkedList):436 -> a
    113:113:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):326 -> a
    114:114:com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.findCallEdgeForRemoval(java.util.LinkedList):436:436 -> a
    114:114:com.android.tools.r8.ir.conversion.callgraph.Node iterateCalleesAndWriters(java.util.Iterator,com.android.tools.r8.ir.conversion.callgraph.Node):326 -> a
    115:115:java.util.Set lambda$removeCallEdge$2(com.android.tools.r8.ir.conversion.callgraph.Node):371:371 -> a
    116:120:boolean removeIncomingEdgeOnStack(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo,java.util.function.BiConsumer):383:387 -> a
    121:125:java.util.LinkedList com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.extractCycle(com.android.tools.r8.ir.conversion.callgraph.Node):401:405 -> a
    121:125:boolean com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.verifyCycleSatisfies(com.android.tools.r8.ir.conversion.callgraph.Node,java.util.function.Predicate):410 -> a
    121:125:boolean removeIncomingEdgeOnStack(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo,java.util.function.BiConsumer):387 -> a
    126:126:boolean com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.verifyCycleSatisfies(com.android.tools.r8.ir.conversion.callgraph.Node,java.util.function.Predicate):411:411 -> a
    126:126:boolean removeIncomingEdgeOnStack(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo,java.util.function.BiConsumer):387 -> a
    127:129:void com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.recoverStack(java.util.LinkedList):453:455 -> a
    127:129:boolean com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.verifyCycleSatisfies(com.android.tools.r8.ir.conversion.callgraph.Node,java.util.function.Predicate):412 -> a
    127:129:boolean removeIncomingEdgeOnStack(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo,java.util.function.BiConsumer):387 -> a
    130:133:boolean removeIncomingEdgeOnStack(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo,java.util.function.BiConsumer):390:393 -> a
    134:134:boolean lambda$removeIncomingEdgeOnStack$4(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo,java.util.LinkedList):389:389 -> a
    135:136:boolean callEdgeRemovalIsSafe(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):442:443 -> a
    137:137:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$recordCallEdgeRemoval$5(com.android.tools.r8.graph.DexEncodedMethod):448:448 -> a
    1:7:void traverse(java.util.Collection):203:209 -> b
    8:8:boolean com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$WorkItem.isNode():0:0 -> b
    8:8:void traverse(java.util.Collection):209 -> b
    9:15:void traverse(java.util.Collection):210:216 -> b
    16:23:void com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.push(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):345:352 -> b
    16:23:void traverse(java.util.Collection):217 -> b
    24:25:void traverse(java.util.Collection):223:224 -> b
    26:31:void traverse(java.util.Collection):222:227 -> b
    32:32:boolean com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$WorkItem.isIterator():0:0 -> b
    32:32:void traverse(java.util.Collection):227 -> b
    33:37:void traverse(java.util.Collection):227:231 -> b
    38:46:void traverse(java.util.Collection):230:238 -> b
    47:55:void com.android.tools.r8.ir.conversion.callgraph.CycleEliminator.pop(com.android.tools.r8.ir.conversion.callgraph.Node):358:366 -> b
    47:55:void traverse(java.util.Collection):238 -> b
    56:71:void traverse(java.util.Collection):239:254 -> b
    72:72:void lambda$traverse$1(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem,com.android.tools.r8.ir.conversion.callgraph.Node):255:255 -> b
    73:73:java.util.Set lambda$removeFieldReadEdge$3(com.android.tools.r8.ir.conversion.callgraph.Node):375:375 -> b
    74:76:void recordCallEdgeRemoval(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):447:449 -> b
    1:1:void removeCallEdge(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):371:371 -> c
    1:1:void removeFieldReadEdge(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):375:375 -> d
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge -> com.android.tools.r8.internal.ae:
    com.android.tools.r8.ir.conversion.callgraph.Node callee -> b
    com.android.tools.r8.ir.conversion.callgraph.Node caller -> a
    1:3:void <init>(com.android.tools.r8.ir.conversion.callgraph.Node,com.android.tools.r8.ir.conversion.callgraph.Node):35:37 -> <init>
    1:1:com.android.tools.r8.ir.conversion.callgraph.Node access$400(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge):30:30 -> a
    1:1:com.android.tools.r8.ir.conversion.callgraph.Node access$500(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CallEdge):30:30 -> b
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$CycleEliminationResult -> com.android.tools.r8.internal.be$a:
    java.util.Map removedCallEdges -> a
    1:2:void <init>(java.util.Map):58:59 -> <init>
    1:2:int numberOfRemovedCallEdges():64:65 -> a
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem -> com.android.tools.r8.internal.ce:
    java.util.Iterator calleesAndWriters -> b
    com.android.tools.r8.ir.conversion.callgraph.Node callerOrReader -> a
    1:3:void <init>(com.android.tools.r8.ir.conversion.callgraph.Node,java.util.Iterator):186:188 -> <init>
    com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem asIterator() -> a
    1:1:java.util.Iterator access$200(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem):182:182 -> a
    1:1:com.android.tools.r8.ir.conversion.callgraph.Node access$300(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem):182:182 -> b
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$NodeWorkItem -> com.android.tools.r8.internal.de:
    com.android.tools.r8.ir.conversion.callgraph.Node node -> a
    1:2:void <init>(com.android.tools.r8.ir.conversion.callgraph.Node):167:168 -> <init>
    1:1:com.android.tools.r8.ir.conversion.callgraph.Node access$100(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$NodeWorkItem):164:164 -> a
    com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$NodeWorkItem asNode() -> b
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$StackEntryInfo -> com.android.tools.r8.internal.ee:
    com.android.tools.r8.ir.conversion.callgraph.Node predecessor -> b
    boolean processed -> c
    int index -> a
    1:3:void <init>(int,com.android.tools.r8.ir.conversion.callgraph.Node):48:50 -> <init>
com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$WorkItem -> com.android.tools.r8.internal.fe:
    1:1:void <init>():146:146 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$1):146:146 -> <init>
    com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$IteratorWorkItem asIterator() -> a
    com.android.tools.r8.ir.conversion.callgraph.CycleEliminator$NodeWorkItem asNode() -> b
com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphBuilderBase -> com.android.tools.r8.internal.Gn:
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):19:19 -> <init>
    void populateGraph(java.util.concurrent.ExecutorService) -> a
    boolean verifyAllMethodsWithCodeExists() -> a
    1:4:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):23:26 -> a
    5:7:boolean com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphBuilderBase.verifyNoRedundantFieldReadEdges():56:58 -> a
    5:7:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):26 -> a
    8:16:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):27:35 -> a
    17:17:java.util.TreeSet com.android.tools.r8.com.google.common.collect.Sets.newTreeSet():363:363 -> a
    17:17:java.util.TreeSet com.android.tools.r8.com.google.common.collect.Sets.newTreeSet(java.lang.Iterable):388 -> a
    17:17:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):35 -> a
    18:18:java.util.TreeSet com.android.tools.r8.com.google.common.collect.Sets.newTreeSet(java.lang.Iterable):389:389 -> a
    18:18:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):35 -> a
    19:27:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):36:44 -> a
    28:28:void lambda$build$0(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):31:31 -> a
    29:29:com.android.tools.r8.ir.conversion.callgraph.Node com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphBuilderBase.createNode(com.android.tools.r8.graph.ProgramMethod):49:49 -> a
    29:29:com.android.tools.r8.ir.conversion.callgraph.NodeBase createNode(com.android.tools.r8.graph.ProgramMethod):16 -> a
com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry -> com.android.tools.r8.internal.Hn:
    com.android.tools.r8.graph.FieldAccessInfoCollection fieldAccessInfoCollection -> k
    boolean $assertionsDisabled -> l
    1:1:void <clinit>():25:25 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.NodeBase,java.util.function.Function,java.util.Map,java.util.function.Predicate):35:36 -> <init>
    1:3:void addClassInitializerTarget(com.android.tools.r8.graph.DexProgramClass):40:42 -> a
    4:8:void addFieldReadEdge(com.android.tools.r8.graph.ProgramMethod):55:59 -> a
    9:11:void processSingleTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):121:123 -> a
    12:12:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):134:134 -> a
    13:13:void registerCallSite(com.android.tools.r8.graph.DexCallSite):167:167 -> a
    1:1:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processInitClass(com.android.tools.r8.graph.DexType):104:104 -> b
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):129 -> b
    2:2:void registerInitClass(com.android.tools.r8.graph.DexType):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":15,"2":16,"3":17}}
    15:15:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processInitClass(com.android.tools.r8.graph.DexType):104:104 -> b
    15:15:void registerInitClass(com.android.tools.r8.graph.DexType):129 -> b
    16:16:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    16:16:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processInitClass(com.android.tools.r8.graph.DexType):104 -> b
    16:16:void registerInitClass(com.android.tools.r8.graph.DexType):129 -> b
    17:17:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    17:17:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processInitClass(com.android.tools.r8.graph.DexType):104 -> b
    17:17:void registerInitClass(com.android.tools.r8.graph.DexType):129 -> b
    3:14:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processInitClass(com.android.tools.r8.graph.DexType):105:116 -> b
    3:14:void registerInitClass(com.android.tools.r8.graph.DexType):129 -> b
    void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
    1:13:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processFieldWrite(com.android.tools.r8.graph.DexField):87:99 -> c
    1:13:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):139 -> c
    1:1:void registerNewInstance(com.android.tools.r8.graph.DexType):147:147 -> d
    2:5:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.addClassInitializerTarget(com.android.tools.r8.graph.DexType):47:50 -> d
    2:5:void registerNewInstance(com.android.tools.r8.graph.DexType):148 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):154:154 -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:13:void com.android.tools.r8.ir.conversion.callgraph.IRProcessingCallGraphUseRegistry.processFieldWrite(com.android.tools.r8.graph.DexField):87:99 -> g
    1:13:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):159 -> g
    1:16:void processFieldRead(com.android.tools.r8.graph.DexField):63:78 -> i
    17:17:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> i
    17:17:void processFieldRead(com.android.tools.r8.graph.DexField):78 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:20:void processFieldRead(com.android.tools.r8.graph.DexField):79:81 -> i
com.android.tools.r8.ir.conversion.callgraph.InvokeExtractor -> com.android.tools.r8.internal.Du:
    java.util.function.Function nodeFactory -> g
    boolean $assertionsDisabled -> j
    com.android.tools.r8.ir.conversion.callgraph.NodeBase currentMethod -> f
    com.android.tools.r8.graph.AppView appView -> e
    java.util.Map possibleProgramTargetsCache -> h
    java.util.function.Predicate targetTester -> i
    1:1:void <clinit>():26:26 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.NodeBase,java.util.function.Function,java.util.Map,java.util.function.Predicate):40:45 -> <init>
    void registerInstanceFieldRead(com.android.tools.r8.graph.DexField) -> a
    1:8:void addCallEdge(com.android.tools.r8.graph.ProgramMethod,boolean):49:56 -> a
    9:9:boolean com.android.tools.r8.graph.DexEncodedMethod.isNative():439:439 -> a
    9:9:void addCallEdge(com.android.tools.r8.graph.ProgramMethod,boolean):56 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean com.android.tools.r8.graph.DexEncodedMethod.isNative():439:439 -> a
    10:10:void addCallEdge(com.android.tools.r8.graph.ProgramMethod,boolean):56 -> a
    11:18:void addCallEdge(com.android.tools.r8.graph.ProgramMethod,boolean):60:67 -> a
    19:38:void processInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):71:90 -> a
    39:43:void processInvoke(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):80:84 -> a
    44:46:void processSingleTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    48:48:void processSingleTarget(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):98:98 -> a
    49:52:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):103:106 -> a
    53:53:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    53:53:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):106 -> a
    54:92:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):112:150 -> a
    93:102:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$processInvokeWithDynamicDispatch$2(boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):117:126 -> a
    103:103:void lambda$processInvokeWithDynamicDispatch$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):128:128 -> a
    104:104:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    104:104:void lambda$processInvokeWithDynamicDispatch$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):128 -> a
    105:105:void lambda$processInvokeWithDynamicDispatch$0(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexClassAndMethod):129:129 -> a
    106:107:void lambda$processInvokeWithDynamicDispatch$1(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.LookupLambdaTarget):135:136 -> a
    108:108:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    108:108:void lambda$processInvokeWithDynamicDispatch$1(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.LookupLambdaTarget):136 -> a
    109:109:void lambda$processInvokeWithDynamicDispatch$1(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.LookupLambdaTarget):137:137 -> a
    110:110:void registerCallSite(com.android.tools.r8.graph.DexCallSite):157:157 -> a
    111:111:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):163:163 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    1:1:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):168:168 -> b
    void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField) -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):173:173 -> d
    void registerStaticFieldRead(com.android.tools.r8.graph.DexField) -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):178:178 -> f
    void registerStaticFieldWrite(com.android.tools.r8.graph.DexField) -> g
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):183:183 -> g
com.android.tools.r8.ir.conversion.callgraph.Node -> com.android.tools.r8.internal.qH:
    java.util.Set writers -> g
    java.util.Set callees -> d
    java.util.Set callers -> e
    java.util.Set readers -> f
    boolean $assertionsDisabled -> h
    int numberOfCallSites -> c
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod):32:32 -> <init>
    2:16:void <init>(com.android.tools.r8.graph.ProgramMethod):15:29 -> <init>
    1:1:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase,boolean):11:11 -> a
    2:2:void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase):11:11 -> a
    3:17:void com.android.tools.r8.ir.conversion.callgraph.Node.addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node):64:78 -> a
    3:17:void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase):11 -> a
    18:24:void com.android.tools.r8.ir.conversion.callgraph.Node.addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node):72:78 -> a
    18:24:void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase):11 -> a
    25:25:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node):36:36 -> a
    26:35:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node,boolean):43:52 -> a
    36:36:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node,boolean):50:50 -> a
    37:48:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node,boolean):46:57 -> a
    1:1:boolean hasCallee(com.android.tools.r8.ir.conversion.callgraph.Node):154:154 -> b
    1:9:void cleanCalleesAndWritersForRemoval():108:116 -> c
    10:10:boolean hasCaller(com.android.tools.r8.ir.conversion.callgraph.Node):158:158 -> c
    1:1:int compareTo(java.lang.Object):11:11 -> compareTo
    2:2:int com.android.tools.r8.ir.conversion.callgraph.Node.compareTo(com.android.tools.r8.ir.conversion.callgraph.Node):179:179 -> compareTo
    2:2:int compareTo(java.lang.Object):11 -> compareTo
    1:9:void cleanCallersAndReadersForRemoval():121:129 -> d
    10:10:boolean hasReader(com.android.tools.r8.ir.conversion.callgraph.Node):162:162 -> d
    1:1:java.util.Set getCalleesWithDeterministicOrder():138:138 -> e
    2:2:boolean hasWriter(com.android.tools.r8.ir.conversion.callgraph.Node):166:166 -> e
    1:4:void removeCaller(com.android.tools.r8.ir.conversion.callgraph.Node):92:95 -> f
    5:5:boolean com.android.tools.r8.ir.conversion.callgraph.Node.hasReader(com.android.tools.r8.ir.conversion.callgraph.Node):162:162 -> f
    5:5:void removeCaller(com.android.tools.r8.ir.conversion.callgraph.Node):96 -> f
    6:6:void removeCaller(com.android.tools.r8.ir.conversion.callgraph.Node):96:96 -> f
    7:7:int getNumberOfCallSites():150:150 -> f
    1:4:void removeReader(com.android.tools.r8.ir.conversion.callgraph.Node):100:103 -> g
    5:5:boolean com.android.tools.r8.ir.conversion.callgraph.Node.hasCaller(com.android.tools.r8.ir.conversion.callgraph.Node):158:158 -> g
    5:5:void removeReader(com.android.tools.r8.ir.conversion.callgraph.Node):104 -> g
    6:6:void removeReader(com.android.tools.r8.ir.conversion.callgraph.Node):104:104 -> g
    7:7:java.util.Set getReadersWithDeterministicOrder():142:142 -> g
    1:6:void removeReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node):83:88 -> h
    7:7:void removeReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.Node):85:85 -> h
    8:8:java.util.Set getWritersWithDeterministicOrder():146:146 -> h
    1:1:boolean isLeaf():174:174 -> i
    1:1:boolean isRoot():170:170 -> j
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":215,"2":216,"3":217}}
    215:215:java.lang.String toString():184:184 -> toString
    216:216:java.lang.String toString():184:184 -> toString
    217:217:java.lang.String toString():185:185 -> toString
    187:214:java.lang.String toString():186:213 -> toString
com.android.tools.r8.ir.conversion.callgraph.NodeBase -> com.android.tools.r8.internal.rH:
    com.android.tools.r8.graph.ProgramMethod method -> b
    1:2:void <init>(com.android.tools.r8.graph.ProgramMethod):14:15 -> <init>
    void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase,boolean) -> a
    void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase) -> a
    1:1:com.android.tools.r8.graph.DexEncodedMethod getMethod():23:23 -> a
    1:1:com.android.tools.r8.graph.ProgramMethod getProgramMethod():27:27 -> b
com.android.tools.r8.ir.conversion.callgraph.PartialCallGraphBuilder -> com.android.tools.r8.internal.KL:
    boolean $assertionsDisabled -> f
    com.android.tools.r8.utils.collections.ProgramMethodSet seeds -> e
    1:1:void <clinit>():15:15 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodSet):20:22 -> <init>
    1:1:com.android.tools.r8.ir.conversion.callgraph.CallGraph build(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):15:15 -> a
    2:2:void populateGraph(java.util.concurrent.ExecutorService):27:27 -> a
    3:4:boolean verifyAllMethodsWithCodeExists():43:44 -> a
    1:8:void processMethod(com.android.tools.r8.graph.ProgramMethod):31:38 -> c
com.android.tools.r8.ir.desugar.BackportedMethodRewriter -> com.android.tools.r8.internal.l4:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.BackportedMethodRewriter$RewritableMethods rewritableMethods -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():54:54 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):59:62 -> <init>
    1:8:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):79:86 -> a
    9:12:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):93:96 -> a
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexClassAndMember.getContextType():36:36 -> a
    13:13:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):97 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):97:97 -> a
    15:31:java.util.List generateListOfBackportedMethods(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,java.util.concurrent.ExecutorService):102:118 -> a
    32:32:void registerAssumedLibraryTypes(com.android.tools.r8.utils.InternalOptions):125:125 -> a
    33:91:void com.android.tools.r8.ir.desugar.backports.BackportedMethods.registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):59:117 -> a
    33:91:void registerAssumedLibraryTypes(com.android.tools.r8.utils.InternalOptions):125 -> a
    92:92:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):129:129 -> a
    93:93:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    93:93:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):129 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    94:103:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):130:139 -> a
    104:104:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    104:104:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):139 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    105:105:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    105:105:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):139 -> a
    106:111:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getMethodProviderOrNull(com.android.tools.r8.graph.DexMethod):139:144 -> a
    1:1:boolean hasBackports():66:66 -> b
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$FullMethodInvokeRewriter -> com.android.tools.r8.internal.c4:
    1:1:void <init>():1648:1648 -> <init>
    1:1:com.android.tools.r8.cf.code.CfInstruction rewriteSingle(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):1652:1652 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$InvokeRewriter -> com.android.tools.r8.internal.d4:
    com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriter -> b
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter):1528:1529 -> <init>
    1:1:java.util.Collection rewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.backports.BackportedMethodDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator):1539:1539 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodGenerator -> com.android.tools.r8.internal.e4:
    com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory factory -> b
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory):1549:1549 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory,java.lang.String):1553:1554 -> <init>
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSyntheticKind():1559:1559 -> a
    2:4:java.util.Collection rewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.backports.BackportedMethodDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator):1569:1571 -> a
    5:8:com.android.tools.r8.graph.ProgramMethod getSyntheticMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1577:1580 -> a
    9:9:com.android.tools.r8.graph.ProgramMethod getSyntheticMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1578:1578 -> a
    10:13:void lambda$getSyntheticMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1584:1587 -> a
    14:14:com.android.tools.r8.graph.Code lambda$getSyntheticMethod$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1587:1587 -> a
    15:15:com.android.tools.r8.graph.Code com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodGenerator.generateTemplateMethod(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1595:1595 -> a
    15:15:com.android.tools.r8.graph.Code lambda$getSyntheticMethod$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1587 -> a
    16:16:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1591:1591 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter -> com.android.tools.r8.internal.f4:
    com.android.tools.r8.cf.code.CfInstruction rewriteSingle(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory) -> a
    1:1:java.util.Collection rewrite(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.LocalStackAllocator):1644:1644 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider -> com.android.tools.r8.internal.g4:
    com.android.tools.r8.graph.DexMethod method -> a
    1:2:void <init>(com.android.tools.r8.graph.DexMethod):1511:1512 -> <init>
    java.util.Collection rewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.backports.BackportedMethodDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator) -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$RewritableMethods -> com.android.tools.r8.internal.h4:
    java.util.Map rewritable -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():149:149 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.AppView):156:156 -> <init>
    2:62:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.AppView):154:214 -> <init>
    1:1:boolean isEmpty():218:218 -> a
    2:2:void visit(java.util.function.Consumer):222:222 -> a
    3:133:void initializeAndroidKMethodProviders(com.android.tools.r8.graph.DexItemFactory):227:357 -> a
    134:134:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$0(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):927:927 -> a
    135:156:void addProvider(com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider):1478:1499 -> a
    157:157:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodProvider getProvider(com.android.tools.r8.graph.DexMethod):1503:1503 -> a
    1:338:void initializeAndroidNMethodProviders(com.android.tools.r8.graph.DexItemFactory):363:700 -> b
    339:339:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$1(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):948:948 -> b
    1:6:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators.generateMapOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):68:73 -> c
    1:6:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):968 -> c
    7:40:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators.generateMapOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):71:104 -> c
    7:40:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):968 -> c
    41:41:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators.generateMapOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):99:99 -> c
    41:41:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):968 -> c
    42:54:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators.generateMapOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):96:108 -> c
    42:54:com.android.tools.r8.graph.CfCode lambda$initializeAndroidRMethodProviders$2(int,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):968 -> c
    55:213:void initializeAndroidOMethodProviders(com.android.tools.r8.graph.DexItemFactory):707:865 -> c
    1:109:void initializeAndroidOptionalTMethodProviders(com.android.tools.r8.graph.DexItemFactory):1305:1413 -> d
    1:48:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):877:924 -> e
    49:73:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):921:945 -> e
    74:97:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):942:965 -> e
    98:116:void initializeAndroidRMethodProviders(com.android.tools.r8.graph.DexItemFactory):962:980 -> e
    1:99:void initializeAndroidSMethodProviders(com.android.tools.r8.graph.DexItemFactory):990:1088 -> f
    100:100:void initializeAndroidSMethodProviders(com.android.tools.r8.graph.DexItemFactory):1086:1086 -> f
    1:62:void initializeAndroidSv2MethodProviders(com.android.tools.r8.graph.DexItemFactory):1095:1156 -> g
    1:17:void initializeAndroidTMethodProviders(com.android.tools.r8.graph.DexItemFactory):1169:1185 -> h
    18:67:void initializeAndroidTMethodProviders(com.android.tools.r8.graph.DexItemFactory):1179:1228 -> h
    68:144:void initializeAndroidTMethodProviders(com.android.tools.r8.graph.DexItemFactory):1222:1298 -> h
    1:19:void initializeJava11MethodProviders(com.android.tools.r8.graph.DexItemFactory):1430:1448 -> i
    1:8:void initializeObjectsMethodProviders(com.android.tools.r8.graph.DexItemFactory):1466:1473 -> j
    1:7:void initializeStreamMethodProviders(com.android.tools.r8.graph.DexItemFactory):1454:1460 -> k
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$StatifyingMethodGenerator -> com.android.tools.r8.internal.i4:
    com.android.tools.r8.graph.DexType receiverType -> c
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory,java.lang.String,com.android.tools.r8.graph.DexType):1608:1609 -> <init>
    1:1:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1614:1614 -> a
    2:2:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodGenerator.getProto(com.android.tools.r8.graph.DexItemFactory):1591:1591 -> a
    2:2:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1614 -> a
    3:3:com.android.tools.r8.graph.DexProto getProto(com.android.tools.r8.graph.DexItemFactory):1614:1614 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$StatifyingMethodWithForwardingGenerator -> com.android.tools.r8.internal.j4:
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory,java.lang.String,com.android.tools.r8.graph.DexType):1623:1623 -> <init>
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSyntheticKind():1628:1628 -> a
com.android.tools.r8.ir.desugar.BackportedMethodRewriter$TemplateMethodFactory -> com.android.tools.r8.internal.k4:
    com.android.tools.r8.graph.CfCode create(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod) -> a
com.android.tools.r8.ir.desugar.BufferCovariantReturnTypeRewriter -> com.android.tools.r8.internal.Y5:
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:3:void <init>(com.android.tools.r8.graph.AppView):28:30 -> <init>
    1:15:com.android.tools.r8.graph.DexMethod matchingBufferCovariantMethod(com.android.tools.r8.graph.DexMethod):61:75 -> a
    16:18:boolean com.android.tools.r8.ir.desugar.BufferCovariantReturnTypeRewriter.isInvokeCandidate(com.android.tools.r8.cf.code.CfInstruction):83:85 -> a
    16:18:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):43 -> a
    19:29:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):46:56 -> a
    30:30:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):339:339 -> a
    30:30:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):56 -> a
    31:32:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):56:57 -> a
    33:33:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    33:33:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):57 -> a
    34:34:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):57:57 -> a
    35:37:boolean com.android.tools.r8.ir.desugar.BufferCovariantReturnTypeRewriter.isInvokeCandidate(com.android.tools.r8.cf.code.CfInstruction):83:85 -> a
    35:37:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):90 -> a
    38:39:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):93:94 -> a
com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaring -> com.android.tools.r8.internal.L6:
    void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer) -> a
com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection -> com.android.tools.r8.internal.O6:
    1:1:void <init>():17:17 -> <init>
    void synthesizeClasses(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer) -> a
    1:2:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):20:21 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    3:3:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):21 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    4:4:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):21 -> a
    5:5:com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.create(com.android.tools.r8.graph.AppView):34:34 -> a
    5:5:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):23 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    6:6:com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.create(com.android.tools.r8.graph.AppView):34 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):23 -> a
    7:7:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    7:7:com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.create(com.android.tools.r8.graph.AppView):34 -> a
    7:7:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):23 -> a
    8:11:com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.create(com.android.tools.r8.graph.AppView):35:38 -> a
    8:11:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):23 -> a
    12:28:com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection create(com.android.tools.r8.graph.AppView):25:41 -> a
com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection$EmptyCfClassSynthesizerCollection -> com.android.tools.r8.internal.M6:
    1:1:void <init>():69:69 -> <init>
    void synthesizeClasses(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer) -> a
com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringCollection$NonEmptyCfClassSynthesizerCollection -> com.android.tools.r8.internal.N6:
    java.util.Collection synthesizers -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():48:48 -> <clinit>
    1:3:void <init>(java.util.Collection):53:55 -> <init>
    1:1:void synthesizeClasses(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):62:62 -> a
    2:2:void lambda$synthesizeClasses$0(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaring):64:64 -> a
com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer -> com.android.tools.r8.internal.P6:
    java.util.Set synthesizedClasses -> a
    1:7:void <init>():15:21 -> <init>
    1:1:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):45:45 -> a
    2:2:java.util.Set getSynthesizedClasses():49:49 -> a
    1:1:void acceptDesugaredLibraryRetargeterDispatchProgramClass(com.android.tools.r8.graph.DexProgramClass):40:40 -> b
    1:1:void acceptEnumConversionProgramClass(com.android.tools.r8.graph.DexProgramClass):35:35 -> c
    1:1:void acceptProgramEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):25:25 -> d
    1:1:void acceptWrapperProgramClass(com.android.tools.r8.graph.DexProgramClass):30:30 -> e
com.android.tools.r8.ir.desugar.CfInstructionDesugaring -> com.android.tools.r8.internal.A7:
    java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory) -> a
    boolean hasPreciseNeedsDesugaring() -> a
    boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod) -> a
    void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions) -> a
    void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection -> com.android.tools.r8.internal.B7:
    1:1:void <init>():28:28 -> <init>
    void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
    java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getInterfaceMethodPostProcessingDesugaringD8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor) -> a
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getInterfaceMethodPostProcessingDesugaringR8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,java.util.function.Predicate,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor) -> a
    boolean needsDesugaring(com.android.tools.r8.graph.ProgramMethod) -> a
    void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions) -> a
    void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
    void withD8NestBasedAccessDesugaring(com.android.tools.r8.utils.ThrowingConsumer) -> a
    void withDesugaredLibraryAPIConverter(java.util.function.Consumer) -> a
    1:6:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):32:37 -> a
    7:7:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    7:7:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    8:8:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):37 -> a
    9:11:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):38:40 -> a
    12:12:com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection empty():44:44 -> a
com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.E7:
    1:1:void <init>():49:49 -> <init>
    void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer.acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod) -> a
    void com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer.acceptInvokeSpecialBridgeInfo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo) -> a
    void com.android.tools.r8.ir.desugar.lambda.LambdaDesugaringEventConsumer.acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer createForD8(com.android.tools.r8.ir.conversion.D8MethodProcessor):64:64 -> a
    void com.android.tools.r8.ir.desugar.backports.BackportedMethodDesugaringEventConsumer.acceptBackportedMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> b
    void com.android.tools.r8.ir.desugar.twr.TwrCloseResourceDesugaringEventConsumer.acceptTwrCloseResourceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> c
    void com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer.acceptClasspathEmulatedInterface(com.android.tools.r8.graph.DexClasspathClass) -> d
    void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryAPIConverterEventConsumer.acceptAPIConversion(com.android.tools.r8.graph.ProgramMethod) -> e
    void com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer.acceptInvokeStaticInterfaceOutliningMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> f
    void com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer.acceptRecordMethod(com.android.tools.r8.graph.ProgramMethod) -> g
    void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer.acceptThrowMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> h
com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.C7:
    java.util.Map pendingInvokeSpecialBridges -> b
    java.util.List synthesizedConstantDynamicClasses -> d
    java.util.List synthesizedLambdaClasses -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.conversion.D8MethodProcessor methodProcessor -> a
    1:1:void <clinit>():83:83 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$1):83:83 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor):93:93 -> <init>
    3:9:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor):88:94 -> <init>
    void acceptCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> a
    void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> a
    1:4:void acceptInvokeSpecialBridgeInfo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):124:127 -> a
    5:5:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):132:132 -> a
    6:6:java.lang.Iterable com.android.tools.r8.graph.DexProgramClass.programMethods():231:231 -> a
    6:6:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):132 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:java.lang.Iterable com.android.tools.r8.graph.DexProgramClass.programMethods():231:231 -> a
    7:7:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):132 -> a
    8:8:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    8:8:java.lang.Iterable com.android.tools.r8.graph.DexProgramClass.programMethods():231 -> a
    8:8:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):132 -> a
    9:9:void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass):132:132 -> a
    10:12:void acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):137:139 -> a
    13:15:void acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):145:147 -> a
    16:16:void acceptCompanionClassClinit(com.android.tools.r8.graph.ProgramMethod):198:198 -> a
    17:20:java.util.List finalizeDesugaring(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.ClassConverterResult$Builder):203:206 -> a
    21:25:void com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$D8CfInstructionDesugaringEventConsumer.finalizeConstantDynamicDesugaring(java.util.function.Consumer):253:257 -> a
    21:25:java.util.List finalizeDesugaring(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.ClassConverterResult$Builder):206 -> a
    26:48:void finalizeInvokeSpecialDesugaring(com.android.tools.r8.graph.AppView,java.util.function.Consumer):213:235 -> a
    49:52:void lambda$finalizeInvokeSpecialDesugaring$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):217:220 -> a
    53:56:void lambda$finalizeInvokeSpecialDesugaring$1(com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):229:232 -> a
    57:63:void finalizeLambdaDesugaring(com.android.tools.r8.ir.conversion.ClassConverterResult$Builder,java.util.function.Consumer):243:249 -> a
    64:66:boolean verifyNothingToFinalize():261:263 -> a
    void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> b
    1:1:void acceptBackportedMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):114:114 -> b
    2:2:void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):152:152 -> b
    void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> c
    1:1:void acceptNestMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):162:162 -> c
    2:2:void acceptTwrCloseResourceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):167:167 -> c
    void acceptClasspathEmulatedInterface(com.android.tools.r8.graph.DexClasspathClass) -> d
    1:1:void acceptNestFieldPutBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):157:157 -> d
    1:1:void acceptAPIConversion(com.android.tools.r8.graph.ProgramMethod):193:193 -> e
    1:1:void acceptInvokeStaticInterfaceOutliningMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):178:178 -> f
    1:1:void acceptRecordMethod(com.android.tools.r8.graph.ProgramMethod):119:119 -> g
    1:1:void acceptThrowMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):172:172 -> h
com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$R8CfInstructionDesugaringEventConsumer -> com.android.tools.r8.internal.D7:
    java.util.function.BiConsumer onCompanionMethodCallback -> i
    com.android.tools.r8.graph.AppView appView -> a
    java.util.function.BiConsumer twrCloseResourceMethodConsumer -> d
    boolean $assertionsDisabled -> j
    java.util.function.BiConsumer lambdaClassConsumer -> b
    com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions additions -> e
    java.util.List synthesizedConstantDynamicClasses -> h
    java.util.function.BiConsumer constantDynamicClassConsumer -> c
    java.util.List pendingInvokeSpecialBridges -> g
    java.util.Map synthesizedLambdaClasses -> f
    1:1:void <clinit>():268:268 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,java.util.function.BiConsumer):294:294 -> <init>
    2:21:void <init>(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,java.util.function.BiConsumer):281:300 -> <init>
    void acceptCompanionClassClinit(com.android.tools.r8.graph.ProgramMethod) -> a
    void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass) -> a
    1:1:void acceptCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):305:305 -> a
    2:2:void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass):310:310 -> a
    3:5:void acceptInvokeSpecialBridgeInfo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):367:369 -> a
    6:11:void acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):374:379 -> a
    12:12:void acceptLambdaClass(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):376:376 -> a
    13:18:void acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):385:390 -> a
    19:19:void acceptConstantDynamicClass(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):387:387 -> a
    20:21:void finalizeDesugaring():416:417 -> a
    22:22:com.android.tools.r8.graph.DexType lambda$finalizeLambdaDesugaring$1(java.util.Map$Entry):435:435 -> a
    23:23:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaClass.getType():104:104 -> a
    23:23:com.android.tools.r8.graph.DexType lambda$finalizeLambdaDesugaring$1(java.util.Map$Entry):435 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:27:void lambda$finalizeLambdaDesugaring$2(java.util.Set,java.util.Map$Entry):440:443 -> a
    28:28:void com.android.tools.r8.ir.desugar.LambdaClass$Target.ensureAccessibilityIfNeeded():462:462 -> a
    28:28:void lambda$finalizeLambdaDesugaring$2(java.util.Set,java.util.Map$Entry):443 -> a
    29:31:void lambda$finalizeLambdaDesugaring$2(java.util.Set,java.util.Map$Entry):446:446 -> a
    33:33:void lambda$finalizeLambdaDesugaring$2(java.util.Set,java.util.Map$Entry):448:448 -> a
    void acceptBackportedMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> b
    1:1:void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass):347:347 -> b
    2:2:void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):395:395 -> b
    3:4:void finalizeInvokeSpecialDesugaring():422:423 -> b
    5:7:void lambda$finalizeInvokeSpecialDesugaring$0(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):425:427 -> b
    1:1:void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass):352:352 -> c
    2:2:void acceptNestMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):405:405 -> c
    3:3:void acceptTwrCloseResourceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):412:412 -> c
    4:24:void finalizeLambdaDesugaring():433:453 -> c
    1:1:void acceptClasspathEmulatedInterface(com.android.tools.r8.graph.DexClasspathClass):315:315 -> d
    2:2:void acceptNestFieldPutBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):400:400 -> d
    void acceptAPIConversion(com.android.tools.r8.graph.ProgramMethod) -> e
    1:1:void acceptInvokeStaticInterfaceOutliningMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):342:342 -> f
    void acceptRecordMethod(com.android.tools.r8.graph.ProgramMethod) -> g
    void acceptThrowMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> h
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaring -> com.android.tools.r8.internal.e8:
    void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService) -> a
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.h8:
    1:1:void <init>():20:20 -> <init>
    void postProcessingDesugaring(java.util.Collection,java.util.function.Predicate,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService) -> a
    1:1:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):24:24 -> a
    2:4:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):54:56 -> a
    2:4:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):25 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    5:5:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):56 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):25 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    6:6:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):56 -> a
    6:6:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):25 -> a
    7:25:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):57:75 -> a
    7:25:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):25 -> a
    26:26:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection.empty():32:32 -> a
    26:26:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):76 -> a
    26:26:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):25 -> a
    27:27:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):78:78 -> a
    27:27:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):25 -> a
    28:28:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection.empty():32:32 -> a
    28:28:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade):28 -> a
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$EmptyCfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.f8:
    com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$EmptyCfPostProcessingDesugaringCollection INSTANCE -> a
    1:1:void <clinit>():97:97 -> <clinit>
    1:1:void <init>():100:100 -> <init>
    void postProcessingDesugaring(java.util.Collection,java.util.function.Predicate,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService) -> a
    1:1:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$EmptyCfPostProcessingDesugaringCollection access$000():94:94 -> a
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringCollection$NonEmptyCfPostProcessingDesugaringCollection -> com.android.tools.r8.internal.g8:
    java.util.List desugarings -> a
    1:2:void <init>(java.util.List):48:49 -> <init>
    1:2:void postProcessingDesugaring(java.util.Collection,java.util.function.Predicate,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):88:89 -> a
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer -> com.android.tools.r8.internal.k8:
    1:1:void <init>():26:26 -> <init>
    void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryAPICallbackSynthesizorEventConsumer.acceptAPIConversionCallback(com.android.tools.r8.graph.ProgramMethod) -> a
    void com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer.acceptEmulatedInterfaceMarkerInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClasspathClass) -> a
    void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer.acceptInterfaceInjection(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass) -> a
    void com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer.warnMissingInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper) -> a
    1:1:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$D8CfPostProcessingDesugaringEventConsumer createForD8(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection):33:33 -> a
    2:2:com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$R8PostProcessingDesugaringEventConsumer createForR8(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,java.util.function.BiConsumer):40:40 -> a
    void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer.acceptForwardingMethod(com.android.tools.r8.graph.ProgramMethod) -> b
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$D8CfPostProcessingDesugaringEventConsumer -> com.android.tools.r8.internal.i8:
    com.android.tools.r8.utils.collections.ProgramMethodSet methodsToReprocess -> b
    com.android.tools.r8.ir.conversion.D8MethodProcessor methodProcessor -> a
    com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection instructionDesugaring -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():45:45 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$1):45:45 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection):56:56 -> <init>
    3:10:void <init>(com.android.tools.r8.ir.conversion.D8MethodProcessor,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection):51:58 -> <init>
    void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> a
    void acceptEmulatedInterfaceMarkerInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClasspathClass) -> a
    void acceptInterfaceInjection(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass) -> a
    1:3:void com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$D8CfPostProcessingDesugaringEventConsumer.addMethodToReprocess(com.android.tools.r8.graph.ProgramMethod):62:64 -> a
    1:3:void acceptAPIConversionCallback(com.android.tools.r8.graph.ProgramMethod):104 -> a
    4:4:void warnMissingInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper):70:70 -> a
    5:8:void finalizeDesugaring():96:99 -> a
    void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> b
    1:3:void com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$D8CfPostProcessingDesugaringEventConsumer.addMethodToReprocess(com.android.tools.r8.graph.ProgramMethod):62:64 -> b
    1:3:void acceptForwardingMethod(com.android.tools.r8.graph.ProgramMethod):91 -> b
    void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> c
com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer$R8PostProcessingDesugaringEventConsumer -> com.android.tools.r8.internal.j8:
    com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection desugaring -> b
    java.util.function.BiConsumer missingClassConsumer -> c
    com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions additions -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():118:118 -> <clinit>
    1:4:void <init>(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,java.util.function.BiConsumer):128:131 -> <init>
    1:1:void warnMissingInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper):137:137 -> a
    2:3:void acceptEmulatedInterfaceMarkerInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClasspathClass):148:149 -> a
    4:4:void acceptInterfaceInjection(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass):154:154 -> a
    5:5:void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass):159:159 -> a
    6:7:void acceptAPIConversionCallback(com.android.tools.r8.graph.ProgramMethod):169:170 -> a
    1:1:void acceptForwardingMethod(com.android.tools.r8.graph.ProgramMethod):164:164 -> b
    2:2:void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass):175:175 -> b
    1:1:void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass):180:180 -> c
com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer -> com.android.tools.r8.internal.Xd:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.ir.conversion.IRConverter converter -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():53:53 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexItemFactory):57:59 -> <init>
    1:14:void process(com.android.tools.r8.graph.DexApplication$Builder):64:77 -> a
    15:15:void buildCovariantReturnTypeMethodsForClass(com.android.tools.r8.graph.DexProgramClass,java.util.List,java.util.List):112:112 -> a
    16:16:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    16:16:void buildCovariantReturnTypeMethodsForClass(com.android.tools.r8.graph.DexProgramClass,java.util.List,java.util.List):112 -> a
    17:17:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    17:17:void buildCovariantReturnTypeMethodsForClass(com.android.tools.r8.graph.DexProgramClass,java.util.List,java.util.List):112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:18:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):114:114 -> a
    19:20:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.methodHasCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedMethod):122:123 -> a
    19:20:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):114 -> a
    21:21:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):115:115 -> a
    22:22:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):135:135 -> a
    22:22:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    23:24:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.methodHasCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedMethod):122:123 -> a
    23:24:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):135 -> a
    23:24:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    25:25:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):135:135 -> a
    25:25:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    26:31:java.util.Set com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.getCovariantReturnTypes(com.android.tools.r8.graph.ProgramMethod):196:201 -> a
    26:31:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):136 -> a
    26:31:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    32:32:java.util.Set com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.getCovariantReturnTypes(com.android.tools.r8.graph.ProgramMethod):199:199 -> a
    32:32:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):136 -> a
    32:32:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    33:36:void com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.buildCovariantReturnTypeMethodsForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.List):136:139 -> a
    33:36:void lambda$buildCovariantReturnTypeMethodsForClass$1(java.util.List,java.util.List,com.android.tools.r8.graph.ProgramMethod):116 -> a
    37:61:com.android.tools.r8.graph.DexEncodedMethod buildCovariantReturnTypeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):150:174 -> a
    62:62:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.keepIf(java.util.function.Predicate):200:200 -> a
    62:62:com.android.tools.r8.graph.DexEncodedMethod buildCovariantReturnTypeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):174 -> a
    63:68:com.android.tools.r8.graph.DexEncodedMethod buildCovariantReturnTypeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):171:176 -> a
    69:77:com.android.tools.r8.graph.DexEncodedMethod buildCovariantReturnTypeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):175:183 -> a
    78:78:boolean lambda$buildCovariantReturnTypeMethod$2(com.android.tools.r8.graph.DexAnnotation):174:174 -> a
    79:79:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):214:214 -> a
    80:80:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):264:264 -> a
    80:80:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):214 -> a
    81:81:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):268:268 -> a
    81:81:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):264 -> a
    81:81:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):214 -> a
    82:96:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):214:228 -> a
    97:101:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):222:226 -> a
    102:102:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):223:223 -> a
    103:103:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    103:103:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):223 -> a
    104:104:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    104:104:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    104:104:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):223 -> a
    105:127:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):223:245 -> a
    128:128:boolean com.android.tools.r8.graph.DexValue.isDexValueAnnotation():0:0 -> a
    128:128:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):245 -> a
    129:131:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):245:247 -> a
    132:136:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):236:240 -> a
    137:137:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):237:237 -> a
    138:138:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    138:138:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):237 -> a
    139:139:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    139:139:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    139:139:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):237 -> a
    140:162:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):237:259 -> a
    163:163:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):256:256 -> a
    164:164:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    164:164:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):256 -> a
    165:165:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    165:165:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    165:165:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):256 -> a
    166:166:void getCovariantReturnTypesFromAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedAnnotation,java.util.Set):256:256 -> a
    167:167:boolean isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):264:264 -> a
    168:168:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):268:268 -> a
    168:168:boolean isCovariantReturnTypeAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):264 -> a
    1:1:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):87:87 -> b
    2:3:boolean com.android.tools.r8.ir.desugar.CovariantReturnTypeAnnotationTransformer.hasVirtualMethodWithSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):273:274 -> b
    2:3:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):88 -> b
    4:8:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):89:93 -> b
    9:9:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):90:90 -> b
    10:10:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    10:10:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):90 -> b
    11:11:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    11:11:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    11:11:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):90 -> b
    12:21:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):90:99 -> b
    22:22:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.keepIf(java.util.function.Predicate):200:200 -> b
    22:22:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):99 -> b
    23:27:void updateClass(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):98:102 -> b
    28:28:boolean lambda$updateClass$0(com.android.tools.r8.graph.DexAnnotation):99:99 -> b
com.android.tools.r8.ir.desugar.DesugarDescription -> com.android.tools.r8.internal.Af:
    com.android.tools.r8.ir.desugar.DesugarDescription NOTHING -> a
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.desugar.DesugarDescription$1):23:23 -> <init>
    2:2:void <init>():27:27 -> <init>
    java.util.Collection desugarInstruction(com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory) -> a
    1:1:com.android.tools.r8.ir.desugar.DesugarDescription access$000():23:23 -> a
    1:1:com.android.tools.r8.ir.desugar.DesugarDescription$Builder builder():51:51 -> b
    boolean needsDesugaring() -> c
    1:1:com.android.tools.r8.ir.desugar.DesugarDescription nothing():47:47 -> d
    void scan() -> e
com.android.tools.r8.ir.desugar.DesugarDescription$Builder -> com.android.tools.r8.internal.uf:
    1:1:void <init>():70:70 -> <init>
    com.android.tools.r8.ir.desugar.DesugarDescription$Builder addScanEffect(com.android.tools.r8.ir.desugar.DesugarDescription$ScanCallback) -> a
    com.android.tools.r8.ir.desugar.DesugarDescription build() -> a
    com.android.tools.r8.ir.desugar.DesugarDescription$Builder setDesugarRewrite(com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback) -> a
com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback -> com.android.tools.r8.internal.vf:
    java.util.Collection desugarInstruction(com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory) -> a
com.android.tools.r8.ir.desugar.DesugarDescription$InitialBuilder -> com.android.tools.r8.internal.wf:
    com.android.tools.r8.ir.desugar.DesugarDescription$InitialBuilder INSTANCE -> a
    1:1:void <clinit>():83:83 -> <clinit>
    1:1:void <init>():82:82 -> <init>
    1:1:com.android.tools.r8.ir.desugar.DesugarDescription build():91:91 -> a
    2:2:com.android.tools.r8.ir.desugar.DesugarDescription$Builder addScanEffect(com.android.tools.r8.ir.desugar.DesugarDescription$ScanCallback):96:96 -> a
    3:3:com.android.tools.r8.ir.desugar.DesugarDescription$Builder setDesugarRewrite(com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback):101:101 -> a
com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder -> com.android.tools.r8.internal.yf:
    java.util.List scanEffects -> a
    com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback desugarRewrite -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():105:105 -> <clinit>
    1:4:void <init>():105:108 -> <init>
    1:2:com.android.tools.r8.ir.desugar.DesugarDescription$Builder addScanEffect(com.android.tools.r8.ir.desugar.DesugarDescription$ScanCallback):112:113 -> a
    3:5:com.android.tools.r8.ir.desugar.DesugarDescription$Builder setDesugarRewrite(com.android.tools.r8.ir.desugar.DesugarDescription$DesugarCallback):119:121 -> a
    6:6:com.android.tools.r8.ir.desugar.DesugarDescription build():127:127 -> a
com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder$1 -> com.android.tools.r8.internal.xf:
    com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder this$0 -> b
    1:1:void <init>(com.android.tools.r8.ir.desugar.DesugarDescription$NonEmptyBuilder):127:127 -> <init>
    1:3:java.util.Collection desugarInstruction(com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):146:148 -> a
    1:1:boolean needsDesugaring():135:135 -> c
    1:1:void scan():130:130 -> e
com.android.tools.r8.ir.desugar.DesugarDescription$ScanCallback -> com.android.tools.r8.internal.zf:
    void scan() -> a
com.android.tools.r8.ir.desugar.EmptyCfInstructionDesugaringCollection -> com.android.tools.r8.internal.Sh:
    com.android.tools.r8.ir.desugar.EmptyCfInstructionDesugaringCollection INSTANCE -> a
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>():25:25 -> <init>
    void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
    java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getInterfaceMethodPostProcessingDesugaringD8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor) -> a
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getInterfaceMethodPostProcessingDesugaringR8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,java.util.function.Predicate,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor) -> a
    boolean needsDesugaring(com.android.tools.r8.graph.ProgramMethod) -> a
    void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions) -> a
    void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
    void withD8NestBasedAccessDesugaring(com.android.tools.r8.utils.ThrowingConsumer) -> a
    void withDesugaredLibraryAPIConverter(java.util.function.Consumer) -> a
    1:1:com.android.tools.r8.ir.desugar.EmptyCfInstructionDesugaringCollection getInstance():29:29 -> b
com.android.tools.r8.ir.desugar.FreshLocalProvider -> com.android.tools.r8.internal.il:
    int getFreshLocal(int) -> a
com.android.tools.r8.ir.desugar.InvokeToPrivateRewriter -> com.android.tools.r8.internal.Ru:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>():28:28 -> <init>
    1:5:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):40:44 -> a
    6:12:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.InvokeToPrivateRewriter.privateMethodInvokedOnSelf(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):61:67 -> a
    6:12:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):45 -> a
    13:13:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):49:49 -> a
    14:17:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):54:57 -> a
    18:24:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.InvokeToPrivateRewriter.privateMethodInvokedOnSelf(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):61:67 -> a
    18:24:boolean com.android.tools.r8.ir.desugar.InvokeToPrivateRewriter.isInvokingPrivateMethodOnSelf(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):74 -> a
    18:24:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):57 -> a
com.android.tools.r8.ir.desugar.LambdaClass -> com.android.tools.r8.internal.IA:
    com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring desugaring -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.LambdaDescriptor descriptor -> d
    com.android.tools.r8.ir.desugar.LambdaClass$Target target -> f
    com.android.tools.r8.graph.DexType type -> c
    com.android.tools.r8.graph.DexMethod constructor -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.graph.DexProgramClass clazz -> g
    1:1:void <clinit>():57:57 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):79:79 -> <init>
    2:26:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):71:95 -> <init>
    1:4:void setClass(com.android.tools.r8.graph.DexProgramClass):108:111 -> a
    5:5:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):116:116 -> a
    6:14:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):192:200 -> a
    6:14:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):117 -> a
    15:15:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPublicFinalSynthetic():80:80 -> a
    15:15:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):201 -> a
    15:15:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):117 -> a
    16:16:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPublicSynthetic():85:85 -> a
    16:16:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):202 -> a
    16:16:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):117 -> a
    17:17:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):199:199 -> a
    17:17:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):117 -> a
    18:18:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    18:18:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):204 -> a
    18:18:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):117 -> a
    19:19:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):205:205 -> a
    19:19:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):117 -> a
    20:31:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeInstanceFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):196:207 -> a
    20:31:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):117 -> a
    32:37:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):177:182 -> a
    32:37:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):118 -> a
    38:46:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):26:34 -> a
    38:46:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):183 -> a
    38:46:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):118 -> a
    47:61:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):31:45 -> a
    47:61:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):183 -> a
    47:61:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):118 -> a
    62:62:void com.android.tools.r8.cf.code.CfInstanceFieldWrite.<init>(com.android.tools.r8.graph.DexField):16:16 -> a
    62:62:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):45 -> a
    62:62:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):183 -> a
    62:62:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):118 -> a
    63:73:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):45:55 -> a
    63:73:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):183 -> a
    63:73:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):118 -> a
    74:74:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    74:74:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):55 -> a
    74:74:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):183 -> a
    74:74:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):118 -> a
    75:75:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a
    75:75:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    75:75:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):55 -> a
    75:75:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):183 -> a
    75:75:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):118 -> a
    76:76:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a
    76:76:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    76:76:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass):55 -> a
    76:76:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):183 -> a
    76:76:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):118 -> a
    77:81:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):183:187 -> a
    77:81:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):118 -> a
    82:92:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):134:144 -> a
    82:92:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):119 -> a
    93:99:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):143:149 -> a
    93:99:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):119 -> a
    100:119:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):140:159 -> a
    100:119:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):119 -> a
    120:120:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):158:158 -> a
    120:120:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):119 -> a
    121:126:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaBridgeMethodSourceCode.build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):17:22 -> a
    121:126:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):165 -> a
    121:126:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):119 -> a
    127:130:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):165:168 -> a
    127:130:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):119 -> a
    131:146:void com.android.tools.r8.ir.desugar.LambdaClass.synthesizeVirtualMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):155:170 -> a
    131:146:void synthesizeLambdaClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):119 -> a
    147:152:com.android.tools.r8.graph.DexField getCaptureField(int):123:128 -> a
    153:153:com.android.tools.r8.graph.DexField getCaptureField(int):125:125 -> a
    154:155:boolean canAccessModifyLambdaImplMethod():249:250 -> a
    156:156:boolean com.android.tools.r8.utils.InternalOptions.canAccessModifyLambdaImplementationMethods(com.android.tools.r8.graph.AppView):1867:1867 -> a
    156:156:boolean canAccessModifyLambdaImplMethod():250 -> a
    157:160:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():242:245 -> a
    157:160:boolean canAccessModifyLambdaImplMethod():251 -> a
    161:162:boolean canAccessModifyLambdaImplMethod():252:253 -> a
    163:163:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183:183 -> a
    163:163:boolean canAccessModifyLambdaImplMethod():253 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    164:164:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183:183 -> a
    164:164:boolean canAccessModifyLambdaImplMethod():253 -> a
    165:165:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    165:165:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183 -> a
    165:165:boolean canAccessModifyLambdaImplMethod():253 -> a
    166:167:boolean canAccessModifyLambdaImplMethod():253:254 -> a
    168:168:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):321:321 -> a
    169:169:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInstance():153:153 -> a
    169:169:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):321 -> a
    170:172:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):321:321 -> a
    173:173:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):236:236 -> a
    173:173:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):324 -> a
    174:177:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():242:245 -> a
    174:177:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):237 -> a
    174:177:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):324 -> a
    178:179:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):237:238 -> a
    178:179:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):324 -> a
    180:207:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):325:352 -> a
    208:209:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():432:433 -> a
    208:209:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):352 -> a
    210:210:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":218,"2":219,"3":220}}
    218:218:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():433:433 -> a
    218:218:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):352 -> a
    219:219:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():433:433 -> a
    219:219:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):352 -> a
    220:220:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():433:433 -> a
    220:220:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):352 -> a
    211:212:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():433:434 -> a
    211:212:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):352 -> a
    213:217:com.android.tools.r8.ir.desugar.LambdaClass$Target createInstanceMethodTarget(com.android.tools.r8.graph.ProgramMethod):351:355 -> a
    1:2:com.android.tools.r8.graph.DexProgramClass getLambdaProgramClass():99:100 -> b
    3:8:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):258:263 -> b
    9:9:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183:183 -> b
    9:9:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):263 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183:183 -> b
    10:10:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):263 -> b
    11:11:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> b
    11:11:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.delegatesToLambdaImplMethod(com.android.tools.r8.graph.DexItemFactory):183 -> b
    11:11:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):263 -> b
    12:62:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):263:313 -> b
    63:65:com.android.tools.r8.graph.DexString com.android.tools.r8.utils.DesugarUtils.appendFullyQualifiedHolderToMethodName(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):14:14 -> b
    63:65:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):313 -> b
    66:66:com.android.tools.r8.ir.desugar.LambdaClass$Target createLambdaImplMethodTarget(com.android.tools.r8.graph.ProgramMethod):310:310 -> b
    1:1:com.android.tools.r8.graph.DexType getType():104:104 -> c
    2:20:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):213:231 -> c
    21:21:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":343,"2":344,"3":345}}
    343:343:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):231:231 -> c
    344:344:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):231:231 -> c
    345:345:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):231:231 -> c
    252:252:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):231:231 -> c
    253:253:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):215:215 -> c
    254:254:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):425:425 -> c
    254:254:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):217 -> c
    255:255:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInterface():157:157 -> c
    255:255:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):425 -> c
    255:255:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):217 -> c
    256:256:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):425:425 -> c
    256:256:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):217 -> c
    257:257:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):236:236 -> c
    257:257:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):426 -> c
    257:257:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):217 -> c
    258:261:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():242:245 -> c
    258:261:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):237 -> c
    258:261:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):426 -> c
    258:261:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):217 -> c
    262:263:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):237:238 -> c
    262:263:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):426 -> c
    262:263:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):217 -> c
    264:266:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createInterfaceMethodTarget(com.android.tools.r8.graph.ProgramMethod):426:428 -> c
    264:266:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):217 -> c
    267:269:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):225:227 -> c
    270:272:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):393:395 -> c
    270:272:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):219 -> c
    273:273:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeConstructor():165:165 -> c
    273:273:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):395 -> c
    273:273:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):219 -> c
    274:274:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):395:395 -> c
    274:274:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):219 -> c
    275:275:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):236:236 -> c
    275:275:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):397 -> c
    275:275:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):219 -> c
    276:279:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():242:245 -> c
    276:279:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):237 -> c
    276:279:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):397 -> c
    276:279:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):219 -> c
    280:281:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):237:238 -> c
    280:281:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):397 -> c
    280:281:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):219 -> c
    282:298:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):398:414 -> c
    282:298:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):219 -> c
    299:300:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():432:433 -> c
    299:300:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):414 -> c
    299:300:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):219 -> c
    301:301:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":346,"2":347,"3":348}}
    346:346:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():433:433 -> c
    346:346:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):414 -> c
    346:346:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):219 -> c
    347:347:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():433:433 -> c
    347:347:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):414 -> c
    347:347:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):219 -> c
    348:348:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():433:433 -> c
    348:348:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):414 -> c
    348:348:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):219 -> c
    302:303:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():433:434 -> c
    302:303:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):414 -> c
    302:303:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):219 -> c
    304:307:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createConstructorTarget(com.android.tools.r8.graph.ProgramMethod):413:416 -> c
    304:307:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):219 -> c
    308:308:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):229:229 -> c
    309:310:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):221:222 -> c
    311:311:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):365:365 -> c
    311:311:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):223 -> c
    312:312:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):236:236 -> c
    312:312:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):367 -> c
    312:312:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):223 -> c
    313:316:boolean com.android.tools.r8.ir.desugar.LambdaClass.isPrivateOrStaticInterfaceMethodInvokeThatWillBeDesugared():242:245 -> c
    313:316:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):237 -> c
    313:316:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):367 -> c
    313:316:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):223 -> c
    317:318:boolean com.android.tools.r8.ir.desugar.LambdaClass.doesNotNeedAccessor(com.android.tools.r8.graph.ProgramMethod):237:238 -> c
    317:318:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):367 -> c
    317:318:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):223 -> c
    319:331:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):368:380 -> c
    319:331:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):223 -> c
    332:333:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():432:433 -> c
    332:333:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):381 -> c
    332:333:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):223 -> c
    334:334:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":349,"2":350,"3":351}}
    349:349:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():433:433 -> c
    349:349:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):381 -> c
    349:349:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):223 -> c
    350:350:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():433:433 -> c
    350:350:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):381 -> c
    350:350:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):223 -> c
    351:351:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():433:433 -> c
    351:351:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):381 -> c
    351:351:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):223 -> c
    335:336:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.LambdaClass.generateUniqueLambdaMethodName():433:434 -> c
    335:336:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):381 -> c
    335:336:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):223 -> c
    337:342:com.android.tools.r8.ir.desugar.LambdaClass$Target com.android.tools.r8.ir.desugar.LambdaClass.createStaticMethodTarget(com.android.tools.r8.graph.ProgramMethod):378:383 -> c
    337:342:com.android.tools.r8.ir.desugar.LambdaClass$Target createTarget(com.android.tools.r8.graph.ProgramMethod):223 -> c
com.android.tools.r8.ir.desugar.LambdaClass$ClassMethodWithAccessorTarget -> com.android.tools.r8.internal.AA:
    com.android.tools.r8.graph.DexMethodHandle$MethodHandleType type -> h
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.AppView appView -> f
    com.android.tools.r8.graph.DexMethod implMethod -> g
    1:1:void <clinit>():690:690 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):702:705 -> <init>
    1:20:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):714:733 -> a
    21:46:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.AccessorMethodSourceCode.build(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):24:49 -> a
    21:46:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):735 -> a
    47:47:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.AccessorMethodSourceCode.build(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView) -> a
    47:47:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):735 -> a
    48:53:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.AccessorMethodSourceCode.build(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):38:43 -> a
    48:53:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):735 -> a
    54:77:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.AccessorMethodSourceCode.build(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethodHandle$MethodHandleType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):28:51 -> a
    54:77:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):735 -> a
    78:85:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):734:741 -> a
    86:86:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    86:86:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):741 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    87:87:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    87:87:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):741 -> a
    88:90:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):741:743 -> a
com.android.tools.r8.ir.desugar.LambdaClass$D8SpecificTarget -> com.android.tools.r8.internal.BA:
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean):482:482 -> <init>
com.android.tools.r8.ir.desugar.LambdaClass$InstanceLambdaImplTarget -> com.android.tools.r8.internal.CA:
    com.android.tools.r8.graph.DexMethod implMethod -> f
    com.android.tools.r8.graph.AppView appView -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():619:619 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):626:628 -> <init>
    1:33:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):638:670 -> a
    34:34:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    34:34:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):670 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    35:35:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):670 -> a
    36:39:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):670:673 -> a
    40:40:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    40:40:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):673 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    41:41:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    41:41:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):673 -> a
    42:42:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):674:674 -> a
    43:43:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    43:43:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):674 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    44:44:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):674 -> a
    45:54:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):674:683 -> a
    55:73:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):646:664 -> a
    74:74:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):663:663 -> a
com.android.tools.r8.ir.desugar.LambdaClass$InterfaceLambdaImplTarget -> com.android.tools.r8.internal.DA:
    com.android.tools.r8.graph.AppView appView -> f
    com.android.tools.r8.graph.DexMethod implMethod -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():527:527 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.AppView):534:536 -> <init>
    1:38:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):545:582 -> a
    39:39:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    39:39:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):582 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:40:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    40:40:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):582 -> a
    41:44:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):582:585 -> a
    45:45:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    45:45:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):585 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    46:46:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    46:46:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):585 -> a
    47:47:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):586:586 -> a
    48:48:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    48:48:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):586 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    49:49:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    49:49:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):586 -> a
    50:59:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):586:595 -> a
    60:78:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):555:573 -> a
    79:83:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):572:576 -> a
    84:84:com.android.tools.r8.graph.DexEncodedMethod lambda$ensureAccessibility$0(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,com.android.tools.r8.graph.DexEncodedMethod):575:575 -> a
com.android.tools.r8.ir.desugar.LambdaClass$InvalidLambdaImplTarget -> com.android.tools.r8.internal.EA:
    com.android.tools.r8.graph.DexType exceptionType -> f
    1:608:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexType,boolean):0:607 -> <init>
    com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer) -> a
com.android.tools.r8.ir.desugar.LambdaClass$NoAccessorMethodTarget -> com.android.tools.r8.internal.FA:
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean):490:490 -> <init>
    com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer) -> a
com.android.tools.r8.ir.desugar.LambdaClass$StaticLambdaImplTarget -> com.android.tools.r8.internal.GA:
    com.android.tools.r8.graph.ProgramMethod target -> f
    1:2:void <init>(com.android.tools.r8.graph.ProgramMethod,boolean):507:508 -> <init>
    1:4:com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):516:519 -> a
com.android.tools.r8.ir.desugar.LambdaClass$Target -> com.android.tools.r8.internal.HA:
    com.android.tools.r8.ir.code.Invoke$Type invokeType -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexMethod callTarget -> a
    boolean isInterface -> c
    boolean hasEnsuredAccessibility -> d
    1:1:void <clinit>():440:440 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean):448:453 -> <init>
    com.android.tools.r8.graph.ProgramMethod ensureAccessibility(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer) -> a
    1:3:void ensureAccessibilityIfNeeded(com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer,java.util.function.Consumer):469:471 -> b
com.android.tools.r8.ir.desugar.LambdaConstructorSourceCode -> com.android.tools.r8.internal.JA:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():22:22 -> <clinit>
com.android.tools.r8.ir.desugar.LambdaDescriptor -> com.android.tools.r8.internal.KA:
    com.android.tools.r8.graph.MethodAccessFlags targetAccessFlags -> j
    boolean $assertionsDisabled -> m
    int $r8$clinit -> n
    com.android.tools.r8.graph.DexType targetHolder -> k
    com.android.tools.r8.graph.DexMethod mainMethod -> b
    java.util.Set bridges -> h
    com.android.tools.r8.graph.DexString name -> c
    com.android.tools.r8.graph.DexProto erasedProto -> d
    com.android.tools.r8.graph.DexProto enforcedProto -> e
    java.lang.String uniqueId -> a
    com.android.tools.r8.graph.DexMethodHandle implHandle -> f
    java.util.List interfaces -> g
    com.android.tools.r8.ir.desugar.LambdaDescriptor MATCH_FAILED -> l
    com.android.tools.r8.graph.DexTypeList captures -> i
    1:8:void <clinit>():30:37 -> <clinit>
    1:1:void <init>():54:54 -> <init>
    2:19:void <init>():46:63 -> <init>
    20:20:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):79:79 -> <init>
    21:78:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexTypeList):46:103 -> <init>
    1:4:com.android.tools.r8.graph.DexType getImplReceiverType():110:113 -> a
    5:45:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):118:158 -> a
    46:46:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":250,"2":251,"3":252}}
    250:250:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):158:158 -> a
    251:251:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):158:158 -> a
    252:252:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):158:158 -> a
    204:204:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):158:158 -> a
    205:206:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):152:153 -> a
    207:208:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):145:146 -> a
    209:215:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):126:132 -> a
    216:216:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInstance():153:153 -> a
    216:216:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):132 -> a
    217:218:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):132:133 -> a
    219:219:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isPrivateInstanceMethod(com.android.tools.r8.graph.DexEncodedMethod):169:169 -> a
    219:219:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):133 -> a
    220:221:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):133:134 -> a
    222:222:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isPublicizedInstanceMethod(com.android.tools.r8.graph.DexEncodedMethod):174:174 -> a
    222:222:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):134 -> a
    223:232:com.android.tools.r8.graph.DexEncodedMethod lookupTargetMethod(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):131:140 -> a
    253:254:boolean isInstanceMethod(com.android.tools.r8.graph.DexEncodedMethod):163:164 -> a
    255:255:boolean verifyTargetFoundInClass(com.android.tools.r8.graph.DexType):178:178 -> a
    256:257:void forEachErasedAndEnforcedTypes(java.util.function.BiConsumer):187:188 -> a
    258:258:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    258:258:void forEachErasedAndEnforcedTypes(java.util.function.BiConsumer):188 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    259:259:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    259:259:void forEachErasedAndEnforcedTypes(java.util.function.BiConsumer):188 -> a
    260:260:void forEachErasedAndEnforcedTypes(java.util.function.BiConsumer):189:189 -> a
    261:261:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):195:195 -> a
    262:262:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInterface():157:157 -> a
    262:262:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):195 -> a
    263:264:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):200:201 -> a
    265:265:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeInstance():153:153 -> a
    265:265:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):201 -> a
    266:267:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):201:202 -> a
    268:268:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInvokeConstructor():165:165 -> a
    268:268:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):202 -> a
    269:273:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):203:207 -> a
    274:318:boolean needsAccessor(com.android.tools.r8.graph.ProgramMethod):204:248 -> a
    319:322:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):272:275 -> a
    319:322:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):284 -> a
    323:323:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):910:910 -> a
    323:323:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):275 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    323:323:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):284 -> a
    324:324:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):910:910 -> a
    324:324:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):275 -> a
    324:324:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):284 -> a
    325:349:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):285:309 -> a
    350:360:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isEnforcedSignatureValid(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexProto):422:432 -> a
    350:360:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):309 -> a
    361:382:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):317:338 -> a
    383:383:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1096,"2":1097,"3":1098}}
    1096:1096:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):338:338 -> a
    1097:1097:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):338:338 -> a
    1098:1098:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):338:338 -> a
    722:725:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):339:342 -> a
    726:756:void com.android.tools.r8.ir.desugar.LambdaDescriptor.extractAltMetafactory(com.android.tools.r8.graph.DexItemFactory,java.util.List,java.util.function.Consumer,java.util.function.Consumer):363:393 -> a
    726:756:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):342 -> a
    757:757:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):311:311 -> a
    758:758:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1099,"2":1100,"3":1101}}
    1099:1099:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):311:311 -> a
    1100:1100:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):311:311 -> a
    1101:1101:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):311:311 -> a
    1070:1070:com.android.tools.r8.ir.desugar.LambdaDescriptor infer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):312:312 -> a
    1102:1103:void lambda$infer$0(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.DexType):346:347 -> a
    1104:1108:java.util.List getInterfaces(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy):400:404 -> a
    1109:1115:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):409:415 -> a
    1116:1116:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1948,"2":1949,"3":1950,"4":1951,"5":1952,"6":1953}}
    1948:1948:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):415:415 -> a
    1949:1949:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):415:415 -> a
    1950:1950:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):415:415 -> a
    1951:1951:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):415:415 -> a
    1952:1952:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):415:415 -> a
    1953:1953:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):415:415 -> a
    1531:1531:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):415:415 -> a
    1532:1532:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):410:410 -> a
    1533:1533:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1954,"2":1955,"3":1956,"4":1957,"5":1958,"6":1959}}
    1954:1954:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):410:410 -> a
    1955:1955:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):410:410 -> a
    1956:1956:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):410:410 -> a
    1957:1957:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):410:410 -> a
    1958:1958:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):410:410 -> a
    1959:1959:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):410:410 -> a
    1943:1943:java.lang.Object getBootstrapArgument(java.util.List,int,java.lang.Class):410:410 -> a
    1960:1968:boolean isSameOrDerived(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):444:452 -> a
    1969:1972:boolean isSameOrDerived(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):451:454 -> a
    1:1:com.android.tools.r8.graph.DexMethod getMainMethod():67:67 -> b
    2:3:com.android.tools.r8.ir.desugar.LambdaDescriptor tryInfer(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.ProgramMethod):257:258 -> b
com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode -> com.android.tools.r8.internal.PA:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():44:44 -> <clinit>
    1:15:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):97:111 -> a
    16:27:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):76:87 -> a
    16:27:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    28:28:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":55,"2":56,"3":57,"4":58,"5":59}}
    55:55:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    55:55:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    56:56:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    56:56:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    57:57:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    57:57:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    58:58:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    58:58:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    59:59:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    59:59:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    29:29:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    29:29:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    30:30:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):85:85 -> a
    30:30:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):115 -> a
    31:43:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):116:128 -> a
    44:44:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):779:779 -> a
    44:44:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):135 -> a
    45:54:boolean isSameOrAdaptableTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):136:145 -> a
    60:60:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    61:61:boolean isSameOrAdaptableTo(byte,byte):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":232,"2":233,"3":234,"4":235,"5":236}}
    232:232:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    233:233:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    234:234:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    235:235:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    236:236:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    231:231:boolean isSameOrAdaptableTo(byte,byte):170:170 -> a
    237:241:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):176:180 -> a
    242:256:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.buildThrowingCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):312:326 -> a
    242:256:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):181 -> a
    257:257:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    257:257:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.buildThrowingCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):326 -> a
    257:257:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):181 -> a
    258:258:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a
    258:258:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    258:258:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.buildThrowingCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):326 -> a
    258:258:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):181 -> a
    259:259:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a
    259:259:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    259:259:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.buildThrowingCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):326 -> a
    259:259:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):181 -> a
    260:292:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):184:216 -> a
    293:310:boolean com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.checkSignatures(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):53:70 -> a
    293:310:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):211 -> a
    311:327:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):220:236 -> a
    328:328:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> a
    328:328:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):236 -> a
    329:340:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):236:247 -> a
    341:342:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.enforceParameterType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):376:377 -> a
    341:342:int com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.prepareParameterValue(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):363 -> a
    341:342:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):248 -> a
    343:343:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    343:343:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.enforceParameterType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):377 -> a
    343:343:int com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.prepareParameterValue(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):363 -> a
    343:343:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):248 -> a
    344:344:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.enforceParameterType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):377:377 -> a
    344:344:int com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.prepareParameterValue(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):363 -> a
    344:344:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):248 -> a
    345:345:int com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.prepareParameterValue(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):364:364 -> a
    345:345:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):248 -> a
    346:346:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):252:252 -> a
    347:347:int com.android.tools.r8.ir.code.Invoke$Type.getCfOpcode():150:150 -> a
    347:347:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):253 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    363:363:int com.android.tools.r8.ir.code.Invoke$Type.getCfOpcode():166:166 -> a
    363:363:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):253 -> a
    364:364:boolean com.android.tools.r8.ir.desugar.LambdaClass$Target.isInterface():476:476 -> a
    364:364:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):253 -> a
    365:391:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):253:279 -> a
    392:405:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):278:291 -> a
    406:407:int com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.prepareReturnValue(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):346:347 -> a
    406:407:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):288 -> a
    408:426:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):286:304 -> a
    427:427:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    427:427:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):304 -> a
    428:428:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a
    428:428:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    428:428:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):304 -> a
    429:429:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a
    429:429:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    429:429:com.android.tools.r8.graph.CfCode build(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):304 -> a
    430:444:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):412:426 -> a
    430:444:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    445:456:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):76:87 -> a
    445:456:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    445:456:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    457:457:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":525,"2":526,"3":527,"4":528,"5":529}}
    525:525:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    525:525:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    525:525:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    526:526:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    526:526:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    526:526:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    527:527:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    527:527:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    527:527:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    528:528:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    528:528:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    528:528:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    529:529:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    529:529:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    529:529:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    458:458:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    458:458:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    458:458:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    459:459:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):85:85 -> a
    459:459:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):429 -> a
    459:459:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    460:460:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):430:430 -> a
    460:460:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    461:461:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    461:461:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):430 -> a
    461:461:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    462:462:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):430:430 -> a
    462:462:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    463:463:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):779:779 -> a
    463:463:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):432 -> a
    463:463:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    464:465:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):754:755 -> a
    464:465:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    464:465:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    464:465:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    466:466:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):545:545 -> a
    466:466:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    466:466:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    467:467:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):435:435 -> a
    467:467:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    468:468:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    468:468:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    468:468:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    468:468:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    469:469:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":530,"2":531,"3":532,"4":533,"5":534}}
    530:530:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    530:530:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    530:530:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    530:530:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    531:531:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    531:531:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    531:531:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    531:531:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    532:532:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    532:532:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    532:532:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    532:532:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    533:533:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    533:533:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    533:533:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    533:533:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    534:534:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    534:534:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    534:534:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    534:534:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    470:470:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    470:470:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveUnboxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):544 -> a
    470:470:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):434 -> a
    470:470:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    471:482:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):76:87 -> a
    471:482:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    471:482:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    483:483:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":535,"2":536,"3":537,"4":538,"5":539}}
    535:535:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    535:535:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    535:535:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    536:536:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    536:536:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    536:536:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    537:537:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    537:537:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    537:537:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    538:538:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    538:538:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    538:538:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    539:539:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    539:539:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    539:539:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    484:484:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):87:87 -> a
    484:484:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    484:484:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    485:485:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.getBoxedForPrimitiveType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):85:85 -> a
    485:485:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):443 -> a
    485:485:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    486:486:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):444:444 -> a
    486:486:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    487:487:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):764:764 -> a
    487:487:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    487:487:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    487:487:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    488:488:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):779:779 -> a
    488:488:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765 -> a
    488:488:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    488:488:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    488:488:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    489:490:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):769:770 -> a
    489:490:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    489:490:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    489:490:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    491:491:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):553:553 -> a
    491:491:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    491:491:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    492:492:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    492:492:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    492:492:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    492:492:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    493:493:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":540,"2":541,"3":542,"4":543,"5":544}}
    540:540:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    540:540:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    540:540:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    540:540:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    541:541:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    541:541:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    541:541:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    541:541:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    542:542:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    542:542:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    542:542:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    542:542:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    543:543:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    543:543:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    543:543:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    543:543:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    544:544:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    544:544:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    544:544:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    544:544:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    494:494:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    494:494:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.addPrimitiveBoxing(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):552 -> a
    494:494:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):451 -> a
    494:494:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    495:509:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):456:470 -> a
    495:509:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    510:510:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    510:510:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):470 -> a
    510:510:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    511:511:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):470:470 -> a
    511:511:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    512:512:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):389:389 -> a
    513:513:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):779:779 -> a
    513:513:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):392 -> a
    514:519:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):394:399 -> a
    520:520:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):395:395 -> a
    521:521:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):393:393 -> a
    522:522:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):475:475 -> a
    522:522:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    523:523:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":545,"2":546,"3":547}}
    545:545:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):475:475 -> a
    545:545:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    546:546:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):475:475 -> a
    546:546:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    547:547:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):475:475 -> a
    547:547:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    524:524:void com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode.internalAdjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):476:476 -> a
    524:524:int adjustType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexItemFactory):387 -> a
    548:594:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):481:527 -> a
    595:599:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):516:520 -> a
    600:603:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):508:511 -> a
    604:604:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):502:502 -> a
    605:647:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):494:536 -> a
    648:648:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1188,"2":1189,"3":1190}}
    1188:1188:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):536:536 -> a
    1189:1189:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):536:536 -> a
    1190:1190:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):536:536 -> a
    649:649:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1191,"2":1192,"3":1193}}
    1191:1191:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):536:536 -> a
    1192:1192:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):536:536 -> a
    1193:1193:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):536:536 -> a
    650:650:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1194,"2":1195,"3":1196,"4":1197}}
    1194:1194:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):537:537 -> a
    1195:1195:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):537:537 -> a
    1196:1196:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):537:537 -> a
    1197:1197:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):537:537 -> a
    1187:1187:void addPrimitiveWideningConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):537:537 -> a
com.android.tools.r8.ir.desugar.LambdaMainMethodSourceCode$1 -> com.android.tools.r8.internal.OA:
    int[] $SwitchMap$com$android$tools$r8$ir$code$NumericType -> a
    1:1:void <clinit>():492:492 -> <clinit>
com.android.tools.r8.ir.desugar.LocalStackAllocator -> com.android.tools.r8.internal.xC:
    void allocateLocalStack(int) -> a
com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection -> com.android.tools.r8.internal.uH:
    java.util.List desugarings -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter desugaredLibraryAPIConverter -> f
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter interfaceMethodRewriter -> e
    java.util.List yieldingDesugarings -> c
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring nestBasedAccessDesugaring -> d
    1:1:void <clinit>():48:48 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):63:63 -> <init>
    2:47:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):51:96 -> <init>
    48:93:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):95:140 -> <init>
    1:2:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):145:146 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    3:3:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):146 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    4:4:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):146 -> a
    5:6:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):146:147 -> a
    7:7:com.android.tools.r8.androidapi.AndroidApiLevelCompute com.android.tools.r8.androidapi.AndroidApiLevelCompute.noAndroidApiLevelCompute():54:54 -> a
    7:7:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):148 -> a
    8:11:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToCfNonDesugar(com.android.tools.r8.graph.AppView):148:151 -> a
    12:20:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):166:174 -> a
    12:20:void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):195 -> a
    21:21:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):170:170 -> a
    21:21:void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):195 -> a
    22:35:void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):196:209 -> a
    36:67:void desugar(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):208:239 -> a
    68:76:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):166:174 -> a
    68:76:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):180 -> a
    77:77:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):170:170 -> a
    77:77:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):180 -> a
    78:78:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):181:181 -> a
    79:87:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):166:174 -> a
    79:87:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):186 -> a
    88:88:void com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.ensureCfCode(com.android.tools.r8.graph.ProgramMethod):170:170 -> a
    88:88:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):186 -> a
    89:89:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):187:187 -> a
    90:90:void lambda$prepare$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):181:181 -> a
    91:91:void lambda$scan$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):187:187 -> a
    92:103:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):211:222 -> a
    104:104:void com.android.tools.r8.utils.IntBox.setMax(int):61:61 -> a
    104:104:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):222 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    105:105:void com.android.tools.r8.utils.IntBox.setMax(int):62:62 -> a
    105:105:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):222 -> a
    106:106:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):223:223 -> a
    107:107:void com.android.tools.r8.utils.IntBox.setMax(int):61:61 -> a
    107:107:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):223 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    108:108:void com.android.tools.r8.utils.IntBox.setMax(int):62:62 -> a
    108:108:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):223 -> a
    109:110:java.util.Collection lambda$desugar$2(com.android.tools.r8.utils.IntBox,com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.CfCode,com.android.tools.r8.utils.IntBox,com.android.tools.r8.cf.code.CfInstruction):226:227 -> a
    111:111:boolean lambda$noDesugaringBecauseOfImpreciseDesugaring$3(com.android.tools.r8.ir.desugar.CfInstructionDesugaring):244:244 -> a
    112:120:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):274:282 -> a
    121:132:java.util.Collection com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.applyDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,java.util.Iterator):306:317 -> a
    121:132:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):275 -> a
    133:144:java.util.Collection com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.applyDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,java.util.Iterator):309:320 -> a
    133:144:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):275 -> a
    145:152:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):288:295 -> a
    153:164:java.util.Collection com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.applyDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,java.util.Iterator):306:317 -> a
    153:164:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):288 -> a
    165:176:java.util.Collection com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection.applyDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,java.util.Iterator):309:320 -> a
    165:176:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):288 -> a
    177:191:boolean needsDesugaring(com.android.tools.r8.graph.ProgramMethod):329:343 -> a
    192:192:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    192:192:boolean needsDesugaring(com.android.tools.r8.graph.ProgramMethod):342 -> a
    193:193:boolean needsDesugaring(com.android.tools.r8.graph.ProgramMethod):339:339 -> a
    194:194:boolean lambda$needsDesugaring$6(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfInstruction):343:343 -> a
    195:195:boolean lambda$needsDesugaring$7(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):348:348 -> a
    196:196:boolean verifyNoOtherDesugaringNeeded(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,java.util.Iterator,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):358:358 -> a
    197:213:void lambda$verifyNoOtherDesugaringNeeded$9(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaring,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):360:376 -> a
    214:216:void withD8NestBasedAccessDesugaring(com.android.tools.r8.utils.ThrowingConsumer):384:386 -> a
    217:218:com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getInterfaceMethodPostProcessingDesugaringD8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):393:394 -> a
    219:220:com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getInterfaceMethodPostProcessingDesugaringR8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,java.util.function.Predicate,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):401:402 -> a
    221:222:void withDesugaredLibraryAPIConverter(java.util.function.Consumer):408:409 -> a
    1:3:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToDexNonDesugar(com.android.tools.r8.graph.AppView):156:158 -> b
    4:4:com.android.tools.r8.androidapi.AndroidApiLevelCompute com.android.tools.r8.androidapi.AndroidApiLevelCompute.noAndroidApiLevelCompute():54:54 -> b
    4:4:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToDexNonDesugar(com.android.tools.r8.graph.AppView):159 -> b
    5:7:com.android.tools.r8.ir.desugar.NonEmptyCfInstructionDesugaringCollection createForCfToDexNonDesugar(com.android.tools.r8.graph.AppView):159:161 -> b
    8:25:boolean noDesugaringBecauseOfImpreciseDesugaring(com.android.tools.r8.graph.ProgramMethod):244:261 -> b
    26:26:boolean lambda$noDesugaringBecauseOfImpreciseDesugaring$4(com.android.tools.r8.ir.desugar.CfInstructionDesugaring):251:251 -> b
    27:27:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):347:347 -> b
    28:28:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> b
    28:28:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):347 -> b
    29:29:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):347:347 -> b
    30:30:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> b
    30:30:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):349 -> b
    31:31:boolean lambda$needsDesugaring$8(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):350:350 -> b
    1:1:boolean lambda$noDesugaringBecauseOfImpreciseDesugaring$5(com.android.tools.r8.ir.desugar.CfInstructionDesugaring):257:257 -> c
com.android.tools.r8.ir.desugar.ProgramAdditions -> com.android.tools.r8.internal.RM:
    java.util.Map additions -> b
    java.util.Set added -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():25:25 -> <clinit>
    1:3:void <init>():25:27 -> <init>
    1:9:void accept(com.android.tools.r8.graph.DexMember,java.util.function.Supplier):32:40 -> a
    10:10:java.util.List lambda$accept$0(com.android.tools.r8.graph.DexProgramClass):35:35 -> a
    11:11:void apply(java.util.concurrent.ExecutorService):45:45 -> a
    12:13:void lambda$apply$1(com.android.tools.r8.graph.DexProgramClass,java.util.List):48:49 -> a
    1:1:void accept(java.lang.Object,java.lang.Object):25:25 -> accept
com.android.tools.r8.ir.desugar.TypeRewriter -> com.android.tools.r8.internal.p00:
    1:1:void <init>():15:15 -> <init>
    void forAllRewrittenTypes(java.util.function.Consumer) -> a
    boolean isRewriting() -> a
    void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType) -> a
    1:1:boolean hasRewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):28:28 -> a
    2:6:boolean hasRewrittenTypeInSignature(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.AppView):32:36 -> a
    com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView) -> b
com.android.tools.r8.ir.desugar.TypeRewriter$EmptyPrefixRewritingMapper -> com.android.tools.r8.internal.n00:
    1:1:void <init>():102:102 -> <init>
    void forAllRewrittenTypes(java.util.function.Consumer) -> a
    boolean isRewriting() -> a
    void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView) -> b
com.android.tools.r8.ir.desugar.TypeRewriter$MachineDesugarPrefixRewritingMapper -> com.android.tools.r8.internal.o00:
    java.util.Map rewriteType -> a
    java.util.Map rewriteDerivedTypeOnly -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():47:47 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification):52:54 -> <init>
    boolean isRewriting() -> a
    1:5:com.android.tools.r8.graph.DexType rewrittenContextType(com.android.tools.r8.graph.DexType):74:78 -> a
    6:6:void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):83:83 -> a
    7:7:com.android.tools.r8.graph.DexType lambda$rewriteType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):86:86 -> a
    8:8:void forAllRewrittenTypes(java.util.function.Consumer):98:98 -> a
    1:11:com.android.tools.r8.graph.DexType rewrittenType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):59:69 -> b
com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring -> com.android.tools.r8.internal.e2:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():42:42 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):49:52 -> <init>
    1:5:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):65:69 -> a
    6:9:java.util.Collection com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring.desugarLibraryCall(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory):139:142 -> a
    6:9:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):67 -> a
    10:14:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):78:82 -> a
    15:26:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):87:98 -> a
    27:27:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    27:27:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):99 -> a
    28:30:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):102:104 -> a
    31:33:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):103:105 -> a
    34:35:boolean com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring.isApiLevelLessThanOrEqualTo9(com.android.tools.r8.androidapi.ComputedApiLevel):130:131 -> a
    34:35:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):106 -> a
    36:52:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):107:123 -> a
    53:53:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    53:53:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):123 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    54:54:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    54:54:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):123 -> a
    55:55:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):125:125 -> a
    56:56:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):108:108 -> a
    57:57:com.android.tools.r8.androidapi.ComputedApiLevel getComputedApiLevelForMethodOnHolderWithMinApi(com.android.tools.r8.cf.code.CfInstruction):100:100 -> a
    58:60:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):151:153 -> a
    61:63:boolean com.android.tools.r8.ir.desugar.apimodel.ApiInvokeOutlinerDesugaring.verifyLibraryHolderAndInvoke(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,boolean):193:195 -> a
    61:63:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):154 -> a
    64:65:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):154:155 -> a
    66:66:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2644:2644 -> a
    66:66:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProtoIf(com.android.tools.r8.graph.DexMethod,boolean):2648 -> a
    66:66:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):155 -> a
    67:67:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProtoIf(com.android.tools.r8.graph.DexMethod,boolean):2648:2648 -> a
    67:67:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):155 -> a
    68:70:com.android.tools.r8.graph.ProgramMethod ensureOutlineMethod(com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.cf.code.CfInvoke):156:158 -> a
    71:73:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):164:166 -> a
    74:74:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPublic():355:355 -> a
    74:74:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):167 -> a
    75:79:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):167:171 -> a
    80:89:void lambda$ensureOutlineMethod$1(com.android.tools.r8.graph.DexProto,com.android.tools.r8.androidapi.ComputedApiLevel,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):165:174 -> a
    90:98:com.android.tools.r8.graph.Code lambda$ensureOutlineMethod$0(boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):177:185 -> a
com.android.tools.r8.ir.desugar.backports.BackportedMethods -> com.android.tools.r8.internal.m4:
    1:23:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2291:2313 -> A
    24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A
    24:24:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2313 -> A
    25:39:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2313:2327 -> A
    40:40:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A
    40:40:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2327 -> A
    41:51:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2327:2337 -> A
    52:52:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A
    52:52:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2337 -> A
    53:56:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2337:2340 -> A
    57:101:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2300:2344 -> A
    102:102:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> A
    102:102:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2344 -> A
    103:103:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> A
    103:103:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> A
    103:103:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2344 -> A
    104:104:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> A
    104:104:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> A
    104:104:com.android.tools.r8.graph.CfCode IntegerMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2344 -> A
    1:25:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6827:6851 -> A0
    26:39:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6847:6860 -> A0
    40:40:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A0
    40:40:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6860 -> A0
    41:52:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6860:6871 -> A0
    53:53:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A0
    53:53:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6871 -> A0
    54:64:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6871:6881 -> A0
    65:65:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> A0
    65:65:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6881 -> A0
    66:69:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6881:6884 -> A0
    70:122:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6836:6888 -> A0
    123:123:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> A0
    123:123:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6888 -> A0
    124:124:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> A0
    124:124:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> A0
    124:124:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6888 -> A0
    125:125:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> A0
    125:125:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> A0
    125:125:com.android.tools.r8.graph.CfCode ObjectsMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6888 -> A0
    1:31:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2348:2378 -> B
    32:32:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2372:2372 -> B
    33:60:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2356:2383 -> B
    61:61:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> B
    61:61:com.android.tools.r8.graph.CfCode IntegerMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2383 -> B
    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6892:6910 -> B0
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> B0
    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6910 -> B0
    21:29:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6910:6918 -> B0
    30:39:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6915:6924 -> B0
    40:40:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> B0
    40:40:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6924 -> B0
    41:43:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6924:6926 -> B0
    44:74:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6900:6930 -> B0
    75:75:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> B0
    75:75:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6930 -> B0
    76:76:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> B0
    76:76:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> B0
    76:76:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6930 -> B0
    77:77:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> B0
    77:77:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> B0
    77:77:com.android.tools.r8.graph.CfCode ObjectsMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6930 -> B0
    1:30:com.android.tools.r8.graph.CfCode IntegerMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2387:2416 -> C
    31:31:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> C
    31:31:com.android.tools.r8.graph.CfCode IntegerMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2416 -> C
    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6934:6952 -> C0
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> C0
    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6952 -> C0
    21:28:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6952:6959 -> C0
    29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> C0
    29:29:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6959 -> C0
    30:32:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6959:6961 -> C0
    33:56:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6942:6965 -> C0
    57:57:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> C0
    57:57:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6965 -> C0
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> C0
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> C0
    58:58:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6965 -> C0
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> C0
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> C0
    59:59:com.android.tools.r8.graph.CfCode ObjectsMethods_isNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6965 -> C0
    1:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2421:2440 -> D
    21:34:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2434:2447 -> D
    35:49:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2444:2458 -> D
    50:50:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2452:2452 -> D
    51:87:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2427:2463 -> D
    88:88:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> D
    88:88:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2463 -> D
    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6969:6987 -> D0
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> D0
    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6987 -> D0
    21:28:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6987:6994 -> D0
    29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> D0
    29:29:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6994 -> D0
    30:32:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6994:6996 -> D0
    33:56:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6977:7000 -> D0
    57:57:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> D0
    57:57:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7000 -> D0
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> D0
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> D0
    58:58:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7000 -> D0
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> D0
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> D0
    59:59:com.android.tools.r8.graph.CfCode ObjectsMethods_nonNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7000 -> D0
    1:27:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2468:2494 -> E
    28:47:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2490:2509 -> E
    48:63:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2505:2520 -> E
    64:83:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2514:2533 -> E
    84:84:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> E
    84:84:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2533 -> E
    85:99:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2533:2547 -> E
    100:113:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2541:2554 -> E
    114:128:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2551:2565 -> E
    129:129:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2559:2559 -> E
    130:222:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2478:2570 -> E
    223:223:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> E
    223:223:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2570 -> E
    224:224:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> E
    224:224:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> E
    224:224:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2570 -> E
    225:225:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> E
    225:225:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> E
    225:225:com.android.tools.r8.graph.CfCode IntegerMethods_parseIntSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2570 -> E
    1:20:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7005:7024 -> E0
    21:21:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> E0
    21:21:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7024 -> E0
    22:35:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7024:7037 -> E0
    36:36:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7031:7031 -> E0
    37:67:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7012:7042 -> E0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> E0
    68:68:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7042 -> E0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> E0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> E0
    69:69:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7042 -> E0
    70:70:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> E0
    70:70:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> E0
    70:70:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7042 -> E0
    1:19:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2574:2592 -> F
    20:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2586:2586 -> F
    21:38:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2580:2597 -> F
    39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> F
    39:39:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2597 -> F
    1:22:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7047:7068 -> F0
    23:23:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7067:7067 -> F0
    24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> F0
    24:24:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7067 -> F0
    25:39:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7067:7081 -> F0
    40:48:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7075:7083 -> F0
    49:49:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> F0
    49:49:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7083 -> F0
    50:56:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7083:7089 -> F0
    57:74:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7086:7103 -> F0
    75:75:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7097:7097 -> F0
    76:129:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7055:7108 -> F0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> F0
    130:130:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7108 -> F0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> F0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> F0
    131:131:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7108 -> F0
    132:132:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> F0
    132:132:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> F0
    132:132:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullElseGet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7108 -> F0
    1:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2602:2621 -> G
    21:34:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2615:2628 -> G
    35:49:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2625:2639 -> G
    50:50:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2633:2633 -> G
    51:87:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2608:2644 -> G
    88:88:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> G
    88:88:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2644 -> G
    1:23:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7113:7135 -> G0
    24:37:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7131:7144 -> G0
    38:38:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> G0
    38:38:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7144 -> G0
    39:41:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7144:7146 -> G0
    42:72:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7121:7151 -> G0
    73:73:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> G0
    73:73:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7151 -> G0
    74:74:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> G0
    74:74:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> G0
    74:74:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7151 -> G0
    75:75:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> G0
    75:75:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> G0
    75:75:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7151 -> G0
    1:20:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2649:2668 -> H
    21:36:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2665:2680 -> H
    37:54:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2676:2693 -> H
    55:68:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2689:2702 -> H
    69:69:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H
    69:69:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2702 -> H
    70:83:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2702:2715 -> H
    84:110:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2709:2735 -> H
    111:123:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2732:2744 -> H
    124:137:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2740:2753 -> H
    138:151:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2749:2762 -> H
    152:165:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2758:2771 -> H
    166:180:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2767:2781 -> H
    181:192:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2777:2788 -> H
    193:204:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2785:2796 -> H
    205:219:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2792:2806 -> H
    220:220:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H
    220:220:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2806 -> H
    221:223:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2806:2808 -> H
    224:378:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2660:2814 -> H
    379:379:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> H
    379:379:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2814 -> H
    380:380:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> H
    380:380:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> H
    380:380:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2814 -> H
    381:381:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> H
    381:381:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> H
    381:381:com.android.tools.r8.graph.CfCode IntegerMethods_parseUnsignedIntWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2814 -> H
    1:25:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7156:7180 -> H0
    26:26:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7177:7177 -> H0
    27:27:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> H0
    27:27:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7177 -> H0
    28:42:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7177:7191 -> H0
    43:43:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7190:7190 -> H0
    44:44:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H0
    44:44:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7190 -> H0
    45:57:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7190:7202 -> H0
    58:58:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7201:7201 -> H0
    59:59:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H0
    59:59:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7201 -> H0
    60:76:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7201:7217 -> H0
    77:91:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7213:7227 -> H0
    92:92:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7226:7226 -> H0
    93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> H0
    93:93:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7226 -> H0
    94:97:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7226:7229 -> H0
    98:165:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7167:7234 -> H0
    166:166:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> H0
    166:166:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7234 -> H0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> H0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> H0
    167:167:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7234 -> H0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> H0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> H0
    168:168:com.android.tools.r8.graph.CfCode ObjectsMethods_requireNonNullSupplier(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7234 -> H0
    1:30:com.android.tools.r8.graph.CfCode IntegerMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2818:2847 -> I
    31:31:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> I
    31:31:com.android.tools.r8.graph.CfCode IntegerMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2847 -> I
    1:19:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7238:7256 -> I0
    20:20:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7250:7250 -> I0
    21:38:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7244:7261 -> I0
    39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> I0
    39:39:com.android.tools.r8.graph.CfCode ObjectsMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7261 -> I0
    1:16:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2851:2866 -> J
    17:17:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> J
    17:17:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2866 -> J
    1:21:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7265:7285 -> J0
    22:22:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> J0
    22:22:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7285 -> J0
    23:32:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7285:7294 -> J0
    33:44:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7291:7302 -> J0
    45:45:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> J0
    45:45:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7302 -> J0
    46:49:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7302:7305 -> J0
    50:86:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7273:7309 -> J0
    87:87:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> J0
    87:87:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7309 -> J0
    88:88:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> J0
    88:88:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> J0
    88:88:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7309 -> J0
    89:89:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> J0
    89:89:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> J0
    89:89:com.android.tools.r8.graph.CfCode ObjectsMethods_toStringDefault(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7309 -> J0
    1:19:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2870:2888 -> K
    20:20:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2882:2882 -> K
    21:38:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2876:2893 -> K
    39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> K
    39:39:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2893 -> K
    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7313:7330 -> K0
    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7327:7341 -> K0
    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7338:7349 -> K0
    46:60:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7345:7359 -> K0
    61:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7358:7360 -> K0
    64:64:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> K0
    64:64:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7360 -> K0
    65:74:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7360:7369 -> K0
    75:87:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7366:7378 -> K0
    88:90:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7377:7379 -> K0
    91:91:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> K0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7379 -> K0
    92:94:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7379:7381 -> K0
    95:158:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7322:7385 -> K0
    159:159:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> K0
    159:159:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7385 -> K0
    160:160:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> K0
    160:160:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> K0
    160:160:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7385 -> K0
    161:161:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> K0
    161:161:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> K0
    161:161:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElse(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7385 -> K0
    1:26:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2898:2923 -> L
    27:27:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2917:2917 -> L
    28:51:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2905:2928 -> L
    52:52:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> L
    52:52:com.android.tools.r8.graph.CfCode IntegerMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2928 -> L
    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7390:7407 -> L0
    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7404:7418 -> L0
    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7415:7426 -> L0
    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7422:7435 -> L0
    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7434:7437 -> L0
    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7436:7438 -> L0
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> L0
    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7438 -> L0
    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7438:7447 -> L0
    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7444:7455 -> L0
    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7454:7457 -> L0
    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7456:7458 -> L0
    97:97:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> L0
    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7458 -> L0
    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7458:7460 -> L0
    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7399:7464 -> L0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> L0
    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7464 -> L0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> L0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> L0
    168:168:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7464 -> L0
    169:169:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> L0
    169:169:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> L0
    169:169:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7464 -> L0
    1:31:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2932:2962 -> M
    32:32:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2956:2956 -> M
    33:60:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2940:2967 -> M
    61:61:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> M
    61:61:com.android.tools.r8.graph.CfCode LongMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2967 -> M
    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7469:7486 -> M0
    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7483:7497 -> M0
    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7494:7505 -> M0
    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7501:7514 -> M0
    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7513:7516 -> M0
    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7515:7517 -> M0
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> M0
    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7517 -> M0
    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7517:7526 -> M0
    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7523:7534 -> M0
    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7533:7536 -> M0
    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7535:7537 -> M0
    97:97:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> M0
    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7537 -> M0
    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7537:7539 -> M0
    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7478:7543 -> M0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> M0
    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7543 -> M0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> M0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> M0
    168:168:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7543 -> M0
    169:169:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> M0
    169:169:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> M0
    169:169:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7543 -> M0
    1:53:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2971:3023 -> N
    54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N
    54:54:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3023 -> N
    55:66:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3023:3034 -> N
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N
    67:67:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3034 -> N
    68:86:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3034:3052 -> N
    87:87:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N
    87:87:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3052 -> N
    88:134:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3052:3098 -> N
    135:135:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N
    135:135:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3098 -> N
    136:151:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3098:3113 -> N
    152:152:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N
    152:152:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3113 -> N
    153:158:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3113:3118 -> N
    159:159:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3116:3116 -> N
    160:293:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2991:3124 -> N
    294:294:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> N
    294:294:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3124 -> N
    295:295:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> N
    295:295:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> N
    295:295:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3124 -> N
    296:296:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> N
    296:296:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> N
    296:296:com.android.tools.r8.graph.CfCode LongMethods_divideUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3124 -> N
    1:18:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7548:7565 -> N0
    19:33:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7562:7576 -> N0
    34:45:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7573:7584 -> N0
    46:59:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7580:7593 -> N0
    60:63:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7592:7595 -> N0
    64:66:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7594:7596 -> N0
    67:67:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N0
    67:67:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7596 -> N0
    68:77:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7596:7605 -> N0
    78:89:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7602:7613 -> N0
    90:93:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7612:7615 -> N0
    94:96:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7614:7616 -> N0
    97:97:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> N0
    97:97:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7616 -> N0
    98:100:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7616:7618 -> N0
    101:166:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7557:7622 -> N0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> N0
    167:167:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7622 -> N0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> N0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> N0
    168:168:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7622 -> N0
    169:169:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> N0
    169:169:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> N0
    169:169:com.android.tools.r8.graph.CfCode OptionalMethods_ifPresentOrElseLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7622 -> N0
    1:18:com.android.tools.r8.graph.CfCode LongMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3128:3145 -> O
    19:19:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> O
    19:19:com.android.tools.r8.graph.CfCode LongMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3145 -> O
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7626:7642 -> O0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7639:7652 -> O0
    32:32:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> O0
    32:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7652 -> O0
    33:42:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7652:7661 -> O0
    43:43:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> O0
    43:43:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7661 -> O0
    44:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7661:7664 -> O0
    48:82:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7634:7668 -> O0
    83:83:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> O0
    83:83:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7668 -> O0
    84:84:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> O0
    84:84:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> O0
    84:84:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7668 -> O0
    85:85:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> O0
    85:85:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> O0
    85:85:com.android.tools.r8.graph.CfCode OptionalMethods_isEmpty(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7668 -> O0
    1:20:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3150:3169 -> P
    21:34:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3163:3176 -> P
    35:49:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3173:3187 -> P
    50:50:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3181:3181 -> P
    51:87:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3156:3192 -> P
    88:88:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> P
    88:88:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3192 -> P
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7672:7688 -> P0
    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7685:7699 -> P0
    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7698:7698 -> P0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> P0
    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7698 -> P0
    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7698:7709 -> P0
    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7708:7708 -> P0
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> P0
    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7708 -> P0
    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7708:7712 -> P0
    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7680:7716 -> P0
    91:91:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> P0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7716 -> P0
    92:92:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> P0
    92:92:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> P0
    92:92:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7716 -> P0
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> P0
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> P0
    93:93:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7716 -> P0
    1:27:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3197:3223 -> Q
    28:47:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3219:3238 -> Q
    48:63:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3234:3249 -> Q
    64:83:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3243:3262 -> Q
    84:84:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Q
    84:84:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3262 -> Q
    85:99:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3262:3276 -> Q
    100:113:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3270:3283 -> Q
    114:128:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3280:3294 -> Q
    129:129:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3288:3288 -> Q
    130:222:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3207:3299 -> Q
    223:223:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> Q
    223:223:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3299 -> Q
    224:224:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> Q
    224:224:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> Q
    224:224:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3299 -> Q
    225:225:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> Q
    225:225:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> Q
    225:225:com.android.tools.r8.graph.CfCode LongMethods_parseLongSubsequenceWithRadixDalvik(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3299 -> Q
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7720:7736 -> Q0
    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7733:7747 -> Q0
    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7746:7746 -> Q0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Q0
    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7746 -> Q0
    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7746:7757 -> Q0
    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7756:7756 -> Q0
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Q0
    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7756 -> Q0
    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7756:7760 -> Q0
    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7728:7764 -> Q0
    91:91:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> Q0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7764 -> Q0
    92:92:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> Q0
    92:92:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> Q0
    92:92:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7764 -> Q0
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> Q0
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> Q0
    93:93:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7764 -> Q0
    1:19:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3303:3321 -> R
    20:20:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3315:3315 -> R
    21:38:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3309:3326 -> R
    39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> R
    39:39:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3326 -> R
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7768:7784 -> R0
    18:32:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7781:7795 -> R0
    33:33:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7794:7794 -> R0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> R0
    34:34:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7794 -> R0
    35:46:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7794:7805 -> R0
    47:47:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7804:7804 -> R0
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> R0
    48:48:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7804 -> R0
    49:53:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7804:7808 -> R0
    54:90:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7776:7812 -> R0
    91:91:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> R0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7812 -> R0
    92:92:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> R0
    92:92:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> R0
    92:92:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7812 -> R0
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> R0
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> R0
    93:93:com.android.tools.r8.graph.CfCode OptionalMethods_isEmptyLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7812 -> R0
    1:46:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3331:3376 -> S
    47:94:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3372:3419 -> S
    95:107:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3415:3427 -> S
    108:120:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3423:3435 -> S
    121:151:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3431:3461 -> S
    152:170:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3455:3473 -> S
    171:249:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3469:3547 -> S
    250:265:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3543:3558 -> S
    266:288:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3552:3574 -> S
    289:300:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3571:3582 -> S
    301:350:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3578:3627 -> S
    351:387:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3621:3657 -> S
    388:399:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3654:3665 -> S
    400:412:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3661:3673 -> S
    413:462:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3669:3718 -> S
    463:829:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongSubsequenceWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3357:3723 -> S
    1:20:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7816:7835 -> S0
    21:35:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7831:7845 -> S0
    36:52:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7842:7858 -> S0
    53:53:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7857:7857 -> S0
    54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> S0
    54:54:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7857 -> S0
    55:65:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7857:7867 -> S0
    66:71:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7864:7869 -> S0
    72:72:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> S0
    72:72:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7869 -> S0
    73:83:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7869:7879 -> S0
    84:90:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7875:7881 -> S0
    91:91:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> S0
    91:91:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7881 -> S0
    92:92:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7881:7881 -> S0
    93:152:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7826:7885 -> S0
    153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> S0
    153:153:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7885 -> S0
    154:154:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> S0
    154:154:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> S0
    154:154:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7885 -> S0
    155:155:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> S0
    155:155:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> S0
    155:155:com.android.tools.r8.graph.CfCode OptionalMethods_or(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7885 -> S0
    1:17:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3728:3744 -> T
    18:34:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3741:3757 -> T
    35:35:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3749:3749 -> T
    36:64:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3734:3762 -> T
    65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> T
    65:65:com.android.tools.r8.graph.CfCode LongMethods_parseUnsignedLongWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3762 -> T
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7889:7905 -> T0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7902:7915 -> T0
    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7912:7922 -> T0
    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7921:7924 -> T0
    47:60:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7919:7932 -> T0
    61:61:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> T0
    61:61:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7932 -> T0
    62:70:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7932:7940 -> T0
    71:73:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7939:7941 -> T0
    74:74:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7937:7937 -> T0
    75:124:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7897:7946 -> T0
    125:125:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> T0
    125:125:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7946 -> T0
    126:126:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> T0
    126:126:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> T0
    126:126:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7946 -> T0
    127:127:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> T0
    127:127:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> T0
    127:127:com.android.tools.r8.graph.CfCode OptionalMethods_stream(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7946 -> T0
    1:53:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3766:3818 -> U
    54:54:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
    54:54:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3818 -> U
    55:68:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3818:3831 -> U
    69:69:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
    69:69:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3831 -> U
    70:88:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3831:3849 -> U
    89:89:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
    89:89:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3849 -> U
    90:136:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3849:3895 -> U
    137:137:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
    137:137:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3895 -> U
    138:153:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3895:3910 -> U
    154:154:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U
    154:154:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3910 -> U
    155:160:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3910:3915 -> U
    161:161:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3913:3913 -> U
    162:296:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3786:3920 -> U
    297:297:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> U
    297:297:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3920 -> U
    298:298:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> U
    298:298:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> U
    298:298:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3920 -> U
    299:299:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> U
    299:299:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> U
    299:299:com.android.tools.r8.graph.CfCode LongMethods_remainderUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3920 -> U
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7950:7966 -> U0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7963:7976 -> U0
    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7973:7983 -> U0
    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7982:7985 -> U0
    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7980:7994 -> U0
    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7993:7993 -> U0
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> U0
    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7993 -> U0
    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7993:8002 -> U0
    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8001:8003 -> U0
    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7999:7999 -> U0
    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):7958:8008 -> U0
    129:129:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> U0
    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8008 -> U0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> U0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> U0
    130:130:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8008 -> U0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> U0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> U0
    131:131:com.android.tools.r8.graph.CfCode OptionalMethods_streamDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8008 -> U0
    1:19:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3924:3942 -> V
    20:20:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3936:3936 -> V
    21:38:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3930:3947 -> V
    39:39:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> V
    39:39:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3947 -> V
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8012:8028 -> V0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8025:8038 -> V0
    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8035:8045 -> V0
    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8044:8047 -> V0
    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8042:8056 -> V0
    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8055:8055 -> V0
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> V0
    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8055 -> V0
    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8055:8064 -> V0
    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8063:8065 -> V0
    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8061:8061 -> V0
    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8020:8070 -> V0
    129:129:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> V0
    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8070 -> V0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> V0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> V0
    130:130:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8070 -> V0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> V0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> V0
    131:131:com.android.tools.r8.graph.CfCode OptionalMethods_streamInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8070 -> V0
    1:47:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3952:3998 -> W
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    48:48:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3998 -> W
    49:67:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3998:4016 -> W
    68:83:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4010:4025 -> W
    84:84:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    84:84:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4025 -> W
    85:100:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4025:4040 -> W
    101:101:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    101:101:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4040 -> W
    102:113:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4040:4051 -> W
    114:114:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    114:114:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4051 -> W
    115:140:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4051:4076 -> W
    141:163:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4072:4094 -> W
    164:164:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    164:164:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4094 -> W
    165:184:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4094:4113 -> W
    185:214:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4107:4136 -> W
    215:215:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    215:215:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4136 -> W
    216:243:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4136:4163 -> W
    244:244:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    244:244:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4163 -> W
    245:259:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4163:4177 -> W
    260:278:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4171:4189 -> W
    279:279:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    279:279:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4189 -> W
    280:305:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4189:4214 -> W
    306:328:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4208:4230 -> W
    329:329:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    329:329:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4230 -> W
    330:355:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4230:4255 -> W
    356:380:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4249:4273 -> W
    381:381:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W
    381:381:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4273 -> W
    382:402:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4273:4293 -> W
    403:403:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4286:4286 -> W
    404:719:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):3983:4298 -> W
    720:720:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> W
    720:720:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4298 -> W
    721:721:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> W
    721:721:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> W
    721:721:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4298 -> W
    722:722:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> W
    722:722:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> W
    722:722:com.android.tools.r8.graph.CfCode LongMethods_toUnsignedStringWithRadix(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4298 -> W
    1:17:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8074:8090 -> W0
    18:31:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8087:8100 -> W0
    32:42:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8097:8107 -> W0
    43:46:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8106:8109 -> W0
    47:61:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8104:8118 -> W0
    62:62:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8117:8117 -> W0
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> W0
    63:63:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8117 -> W0
    64:73:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8117:8126 -> W0
    74:76:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8125:8127 -> W0
    77:77:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8123:8123 -> W0
    78:128:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8082:8132 -> W0
    129:129:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> W0
    129:129:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8132 -> W0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> W0
    130:130:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> W0
    130:130:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8132 -> W0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> W0
    131:131:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> W0
    131:131:com.android.tools.r8.graph.CfCode OptionalMethods_streamLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8132 -> W0
    1:40:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4302:4341 -> X
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> X
    41:41:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4341 -> X
    42:52:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4341:4351 -> X
    53:53:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4348:4348 -> X
    54:98:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4312:4356 -> X
    99:99:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> X
    99:99:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4356 -> X
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> X
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> X
    100:100:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4356 -> X
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> X
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> X
    101:101:com.android.tools.r8.graph.CfCode MathMethods_addExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4356 -> X
    1:15:com.android.tools.r8.graph.CfCode ShortMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8136:8150 -> X0
    16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> X0
    16:16:com.android.tools.r8.graph.CfCode ShortMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8150 -> X0
    1:36:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4360:4395 -> Y
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
    37:37:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4395 -> Y
    38:49:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4395:4406 -> Y
    50:50:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
    50:50:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4406 -> Y
    51:70:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4406:4425 -> Y
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
    71:71:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4425 -> Y
    72:84:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4425:4437 -> Y
    85:85:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
    85:85:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4437 -> Y
    86:91:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4437:4442 -> Y
    92:107:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4440:4455 -> Y
    108:108:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Y
    108:108:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4455 -> Y
    109:119:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4455:4465 -> Y
    120:120:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4462:4462 -> Y
    121:218:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4373:4470 -> Y
    219:219:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> Y
    219:219:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4470 -> Y
    220:220:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> Y
    220:220:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> Y
    220:220:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4470 -> Y
    221:221:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> Y
    221:221:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> Y
    221:221:com.android.tools.r8.graph.CfCode MathMethods_addExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4470 -> Y
    1:19:com.android.tools.r8.graph.CfCode ShortMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8154:8172 -> Y0
    20:20:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> Y0
    20:20:com.android.tools.r8.graph.CfCode ShortMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8172 -> Y0
    1:22:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4474:4495 -> Z
    23:33:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4492:4502 -> Z
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> Z
    34:34:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4502 -> Z
    35:36:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4502:4503 -> Z
    37:65:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4482:4510 -> Z
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> Z
    66:66:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4510 -> Z
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> Z
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> Z
    67:67:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4510 -> Z
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> Z
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> Z
    68:68:com.android.tools.r8.graph.CfCode MathMethods_decrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4510 -> Z
    1:15:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8176:8190 -> Z0
    16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> Z0
    16:16:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8190 -> Z0
    1:17:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):122:138 -> a
    18:23:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):137:142 -> a
    24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
    24:24:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):142 -> a
    25:42:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):142:159 -> a
    43:63:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):151:171 -> a
    64:69:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):170:175 -> a
    70:70:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
    70:70:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):175 -> a
    71:83:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):175:187 -> a
    84:84:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):182:182 -> a
    85:150:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):131:196 -> a
    151:151:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    151:151:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):196 -> a
    152:152:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a
    152:152:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    152:152:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):196 -> a
    153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a
    153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    153:153:com.android.tools.r8.graph.CfCode AtomicReferenceArrayMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):196 -> a
    1:23:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4514:4536 -> a0
    24:34:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4533:4543 -> a0
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a0
    35:35:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4543 -> a0
    36:37:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4543:4544 -> a0
    38:67:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4522:4551 -> a0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a0
    68:68:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4551 -> a0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a0
    69:69:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4551 -> a0
    70:70:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a0
    70:70:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a0
    70:70:com.android.tools.r8.graph.CfCode MathMethods_decrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4551 -> a0
    1:16:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8194:8209 -> a1
    17:17:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a1
    17:17:com.android.tools.r8.graph.CfCode ShortMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8209 -> a1
    1:17:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):201:217 -> b
    18:23:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):216:221 -> b
    24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    24:24:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):221 -> b
    25:42:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):221:238 -> b
    43:63:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):230:250 -> b
    64:69:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):249:254 -> b
    70:70:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    70:70:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):254 -> b
    71:83:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):254:266 -> b
    84:84:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):261:261 -> b
    85:150:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):210:275 -> b
    151:151:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> b
    151:151:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):275 -> b
    152:152:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> b
    152:152:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> b
    152:152:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):275 -> b
    153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> b
    153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> b
    153:153:com.android.tools.r8.graph.CfCode AtomicReferenceFieldUpdaterMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):275 -> b
    1:41:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4555:4595 -> b0
    42:42:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b0
    42:42:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4595 -> b0
    43:70:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4595:4622 -> b0
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b0
    71:71:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4622 -> b0
    72:85:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4622:4635 -> b0
    86:86:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b0
    86:86:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4635 -> b0
    87:90:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4635:4638 -> b0
    91:165:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4568:4642 -> b0
    166:166:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> b0
    166:166:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4642 -> b0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> b0
    167:167:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> b0
    167:167:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4642 -> b0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> b0
    168:168:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> b0
    168:168:com.android.tools.r8.graph.CfCode MathMethods_floorDivInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4642 -> b0
    1:18:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8213:8230 -> b1
    19:21:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8229:8231 -> b1
    22:33:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8227:8238 -> b1
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
    34:34:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8238 -> b1
    35:43:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8238:8246 -> b1
    44:47:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8245:8248 -> b1
    48:59:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8243:8254 -> b1
    60:60:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b1
    60:60:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8254 -> b1
    61:65:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8254:8258 -> b1
    66:66:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8257:8257 -> b1
    67:67:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8256:8256 -> b1
    68:109:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8221:8262 -> b1
    110:110:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> b1
    110:110:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8262 -> b1
    111:111:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> b1
    111:111:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> b1
    111:111:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8262 -> b1
    112:112:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> b1
    112:112:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> b1
    112:112:com.android.tools.r8.graph.CfCode StreamMethods_ofNullable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8262 -> b1
    1:17:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):280:296 -> c
    18:22:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):295:299 -> c
    23:23:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c
    23:23:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):299 -> c
    24:38:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):299:313 -> c
    39:57:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):307:325 -> c
    58:62:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):324:328 -> c
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c
    63:63:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):328 -> c
    64:73:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):328:337 -> c
    74:74:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):334:334 -> c
    75:132:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):289:346 -> c
    133:133:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> c
    133:133:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):346 -> c
    134:134:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> c
    134:134:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> c
    134:134:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):346 -> c
    135:135:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> c
    135:135:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> c
    135:135:com.android.tools.r8.graph.CfCode AtomicReferenceMethods_compareAndSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):346 -> c
    1:43:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4646:4688 -> c0
    44:44:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c0
    44:44:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4688 -> c0
    45:74:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4688:4717 -> c0
    75:75:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c0
    75:75:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4717 -> c0
    76:89:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4717:4730 -> c0
    90:90:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c0
    90:90:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4730 -> c0
    91:94:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4730:4733 -> c0
    95:173:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4659:4737 -> c0
    174:174:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> c0
    174:174:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4737 -> c0
    175:175:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> c0
    175:175:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> c0
    175:175:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4737 -> c0
    176:176:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> c0
    176:176:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> c0
    176:176:com.android.tools.r8.graph.CfCode MathMethods_floorDivLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4737 -> c0
    1:26:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8266:8291 -> c1
    27:40:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8288:8301 -> c1
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
    41:41:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8301 -> c1
    42:57:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8301:8316 -> c1
    58:73:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8312:8327 -> c1
    74:92:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8323:8341 -> c1
    93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
    93:93:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8341 -> c1
    94:105:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8341:8352 -> c1
    106:120:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8348:8362 -> c1
    121:121:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c1
    121:121:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8362 -> c1
    122:123:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8362:8363 -> c1
    124:212:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8280:8368 -> c1
    213:213:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> c1
    213:213:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8368 -> c1
    214:214:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> c1
    214:214:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> c1
    214:214:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8368 -> c1
    215:215:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> c1
    215:215:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> c1
    215:215:com.android.tools.r8.graph.CfCode StringMethods_isBlank(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8368 -> c1
    1:23:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):350:372 -> d
    24:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d
    24:24:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):372 -> d
    25:38:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):372:385 -> d
    39:39:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d
    39:39:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):385 -> d
    40:50:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):385:395 -> d
    51:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d
    51:51:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):395 -> d
    52:55:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):395:398 -> d
    56:99:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):359:402 -> d
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> d
    100:100:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):402 -> d
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> d
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> d
    101:101:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):402 -> d
    102:102:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> d
    102:102:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> d
    102:102:com.android.tools.r8.graph.CfCode BooleanMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):402 -> d
    1:20:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4741:4760 -> d0
    21:21:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4754:4754 -> d0
    22:40:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4747:4765 -> d0
    41:41:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> d0
    41:41:com.android.tools.r8.graph.CfCode MathMethods_floorDivLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4765 -> d0
    1:29:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8372:8400 -> d1
    30:44:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8396:8410 -> d1
    45:45:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8409:8409 -> d1
    46:46:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
    46:46:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8409 -> d1
    47:58:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8409:8420 -> d1
    59:81:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8417:8439 -> d1
    82:100:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8434:8452 -> d1
    101:104:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8451:8454 -> d1
    105:105:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
    105:105:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8454 -> d1
    106:123:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8454:8471 -> d1
    124:144:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8466:8486 -> d1
    145:163:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8481:8499 -> d1
    164:166:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8498:8500 -> d1
    167:167:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d1
    167:167:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8500 -> d1
    168:177:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8500:8509 -> d1
    178:178:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8506:8506 -> d1
    179:306:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8387:8514 -> d1
    307:307:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> d1
    307:307:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8514 -> d1
    308:308:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> d1
    308:308:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> d1
    308:308:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8514 -> d1
    309:309:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> d1
    309:309:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> d1
    309:309:com.android.tools.r8.graph.CfCode StringMethods_joinArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8514 -> d1
    1:19:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):406:424 -> e
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e
    20:20:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):424 -> e
    21:28:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):424:431 -> e
    29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e
    29:29:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):431 -> e
    30:32:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):431:433 -> e
    33:56:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):414:437 -> e
    57:57:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> e
    57:57:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):437 -> e
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> e
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> e
    58:58:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):437 -> e
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> e
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> e
    59:59:com.android.tools.r8.graph.CfCode BooleanMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):437 -> e
    1:32:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4769:4800 -> e0
    33:33:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e0
    33:33:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4800 -> e0
    34:58:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4800:4824 -> e0
    59:59:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e0
    59:59:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4824 -> e0
    60:74:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4824:4838 -> e0
    75:75:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e0
    75:75:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4838 -> e0
    76:79:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4838:4841 -> e0
    80:144:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4781:4845 -> e0
    145:145:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> e0
    145:145:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4845 -> e0
    146:146:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> e0
    146:146:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> e0
    146:146:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4845 -> e0
    147:147:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> e0
    147:147:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> e0
    147:147:com.android.tools.r8.graph.CfCode MathMethods_floorModInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4845 -> e0
    1:28:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8518:8545 -> e1
    29:42:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8541:8554 -> e1
    43:43:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e1
    43:43:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8554 -> e1
    44:54:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8554:8564 -> e1
    55:68:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8561:8574 -> e1
    69:71:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8573:8575 -> e1
    72:86:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8571:8585 -> e1
    87:101:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8582:8596 -> e1
    102:102:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8593:8593 -> e1
    103:103:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> e1
    103:103:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8593 -> e1
    104:117:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8593:8606 -> e1
    118:134:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8601:8617 -> e1
    135:135:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e1
    135:135:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8617 -> e1
    136:145:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8617:8626 -> e1
    146:162:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8623:8639 -> e1
    163:179:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8634:8650 -> e1
    180:180:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8647:8647 -> e1
    181:181:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> e1
    181:181:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8647 -> e1
    182:195:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8647:8660 -> e1
    196:213:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8655:8672 -> e1
    214:214:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e1
    214:214:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8672 -> e1
    215:224:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8672:8681 -> e1
    225:225:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8678:8678 -> e1
    226:380:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8532:8686 -> e1
    381:381:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> e1
    381:381:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8686 -> e1
    382:382:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> e1
    382:382:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> e1
    382:382:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8686 -> e1
    383:383:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> e1
    383:383:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> e1
    383:383:com.android.tools.r8.graph.CfCode StringMethods_joinIterable(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8686 -> e1
    1:15:com.android.tools.r8.graph.CfCode ByteMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):441:455 -> f
    16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> f
    16:16:com.android.tools.r8.graph.CfCode ByteMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):455 -> f
    1:34:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4849:4882 -> f0
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f0
    35:35:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4882 -> f0
    36:62:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4882:4908 -> f0
    63:63:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f0
    63:63:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4908 -> f0
    64:78:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4908:4922 -> f0
    79:79:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f0
    79:79:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4922 -> f0
    80:83:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4922:4925 -> f0
    84:152:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4861:4929 -> f0
    153:153:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> f0
    153:153:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4929 -> f0
    154:154:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> f0
    154:154:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> f0
    154:154:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4929 -> f0
    155:155:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> f0
    155:155:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> f0
    155:155:com.android.tools.r8.graph.CfCode MathMethods_floorModLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4929 -> f0
    1:36:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8690:8725 -> f1
    37:49:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8722:8734 -> f1
    50:63:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8730:8743 -> f1
    64:75:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8739:8750 -> f1
    76:87:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8747:8758 -> f1
    88:101:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8754:8767 -> f1
    102:102:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    102:102:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8767 -> f1
    103:112:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8767:8776 -> f1
    113:131:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8773:8791 -> f1
    132:132:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    132:132:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8791 -> f1
    133:145:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8791:8803 -> f1
    146:146:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    146:146:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8803 -> f1
    147:163:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8803:8819 -> f1
    164:164:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    164:164:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8819 -> f1
    165:174:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8819:8828 -> f1
    175:194:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8825:8844 -> f1
    195:207:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8841:8853 -> f1
    208:221:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8849:8862 -> f1
    222:233:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8859:8870 -> f1
    234:247:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8866:8879 -> f1
    248:261:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8875:8888 -> f1
    262:277:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8884:8899 -> f1
    278:289:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8895:8906 -> f1
    290:301:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8903:8914 -> f1
    302:316:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8910:8924 -> f1
    317:317:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    317:317:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8924 -> f1
    318:332:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8924:8938 -> f1
    333:352:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8934:8953 -> f1
    353:353:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    353:353:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8953 -> f1
    354:369:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8953:8968 -> f1
    370:388:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8964:8982 -> f1
    389:389:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> f1
    389:389:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8982 -> f1
    390:399:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8982:8991 -> f1
    400:400:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8988:8988 -> f1
    401:686:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8711:8996 -> f1
    687:687:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> f1
    687:687:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8996 -> f1
    688:688:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> f1
    688:688:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> f1
    688:688:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8996 -> f1
    689:689:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> f1
    689:689:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> f1
    689:689:com.android.tools.r8.graph.CfCode StringMethods_repeat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):8996 -> f1
    1:19:com.android.tools.r8.graph.CfCode ByteMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):459:477 -> g
    20:20:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> g
    20:20:com.android.tools.r8.graph.CfCode ByteMethods_compareUnsigned(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):477 -> g
    1:20:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4933:4952 -> g0
    21:21:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4946:4946 -> g0
    22:41:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4939:4958 -> g0
    42:42:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> g0
    42:42:com.android.tools.r8.graph.CfCode MathMethods_floorModLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4958 -> g0
    1:32:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9000:9031 -> g1
    33:46:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9028:9041 -> g1
    47:47:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g1
    47:47:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9041 -> g1
    48:63:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9041:9056 -> g1
    64:79:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9052:9067 -> g1
    80:97:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9063:9080 -> g1
    98:98:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g1
    98:98:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9080 -> g1
    99:110:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9080:9091 -> g1
    111:128:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9087:9104 -> g1
    129:129:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g1
    129:129:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9104 -> g1
    130:147:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9104:9121 -> g1
    148:165:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9115:9132 -> g1
    166:183:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9128:9145 -> g1
    184:184:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g1
    184:184:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9145 -> g1
    185:196:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9145:9156 -> g1
    197:214:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9152:9169 -> g1
    215:215:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> g1
    215:215:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9169 -> g1
    216:230:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9169:9183 -> g1
    231:231:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9177:9177 -> g1
    232:400:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9020:9188 -> g1
    401:401:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> g1
    401:401:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9188 -> g1
    402:402:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> g1
    402:402:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> g1
    402:402:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9188 -> g1
    403:403:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> g1
    403:403:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> g1
    403:403:com.android.tools.r8.graph.CfCode StringMethods_strip(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9188 -> g1
    1:15:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):481:495 -> h
    16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> h
    16:16:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):495 -> h
    1:22:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4962:4983 -> h0
    23:33:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4980:4990 -> h0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h0
    34:34:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4990 -> h0
    35:36:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4990:4991 -> h0
    37:65:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4970:4998 -> h0
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> h0
    66:66:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4998 -> h0
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> h0
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> h0
    67:67:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4998 -> h0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> h0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> h0
    68:68:com.android.tools.r8.graph.CfCode MathMethods_incrementExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):4998 -> h0
    1:26:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9192:9217 -> h1
    27:40:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9214:9227 -> h1
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h1
    41:41:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9227 -> h1
    42:57:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9227:9242 -> h1
    58:73:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9238:9253 -> h1
    74:91:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9249:9266 -> h1
    92:92:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h1
    92:92:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9266 -> h1
    93:104:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9266:9277 -> h1
    105:122:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9273:9290 -> h1
    123:123:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> h1
    123:123:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9290 -> h1
    124:138:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9290:9304 -> h1
    139:139:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9298:9298 -> h1
    140:243:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9206:9309 -> h1
    244:244:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> h1
    244:244:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9309 -> h1
    245:245:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> h1
    245:245:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> h1
    245:245:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9309 -> h1
    246:246:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> h1
    246:246:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> h1
    246:246:com.android.tools.r8.graph.CfCode StringMethods_stripLeading(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9309 -> h1
    1:16:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):499:514 -> i
    17:17:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> i
    17:17:com.android.tools.r8.graph.CfCode ByteMethods_toUnsignedLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):514 -> i
    1:23:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5002:5024 -> i0
    24:34:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5021:5031 -> i0
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> i0
    35:35:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5031 -> i0
    36:37:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5031:5032 -> i0
    38:67:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5010:5039 -> i0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> i0
    68:68:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5039 -> i0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> i0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> i0
    69:69:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5039 -> i0
    70:70:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> i0
    70:70:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> i0
    70:70:com.android.tools.r8.graph.CfCode MathMethods_incrementExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5039 -> i0
    1:22:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9313:9334 -> i1
    23:35:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9331:9343 -> i1
    36:36:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> i1
    36:36:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9343 -> i1
    37:53:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9343:9359 -> i1
    54:71:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9353:9370 -> i1
    72:88:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9366:9382 -> i1
    89:89:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> i1
    89:89:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9382 -> i1
    90:101:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9382:9393 -> i1
    102:118:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9389:9405 -> i1
    119:119:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> i1
    119:119:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9405 -> i1
    120:134:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9405:9419 -> i1
    135:135:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9413:9413 -> i1
    136:234:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9326:9424 -> i1
    235:235:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> i1
    235:235:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9424 -> i1
    236:236:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> i1
    236:236:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> i1
    236:236:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9424 -> i1
    237:237:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> i1
    237:237:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> i1
    237:237:com.android.tools.r8.graph.CfCode StringMethods_stripTrailing(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9424 -> i1
    1:27:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):518:544 -> j
    28:41:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):541:554 -> j
    42:63:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):551:572 -> j
    64:64:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
    64:64:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):572 -> j
    65:81:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):572:588 -> j
    82:101:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):582:601 -> j
    102:102:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
    102:102:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):601 -> j
    103:118:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):601:616 -> j
    119:135:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):612:628 -> j
    136:162:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):624:650 -> j
    163:163:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
    163:163:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):650 -> j
    164:177:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):650:663 -> j
    178:178:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j
    178:178:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):663 -> j
    179:181:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):663:665 -> j
    182:318:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):536:672 -> j
    319:319:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> j
    319:319:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):672 -> j
    320:320:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> j
    320:320:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> j
    320:320:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):672 -> j
    321:321:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> j
    321:321:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> j
    321:321:com.android.tools.r8.graph.CfCode CharSequenceMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):672 -> j
    1:40:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5043:5082 -> j0
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j0
    41:41:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5082 -> j0
    42:52:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5082:5092 -> j0
    53:53:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5089:5089 -> j0
    54:98:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5053:5097 -> j0
    99:99:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> j0
    99:99:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5097 -> j0
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> j0
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> j0
    100:100:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5097 -> j0
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> j0
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> j0
    101:101:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5097 -> j0
    1:7:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9428:9434 -> j1
    8:8:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):37:37 -> j1
    8:8:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9434 -> j1
    9:18:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9434:9443 -> j1
    19:19:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):37:37 -> j1
    19:19:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9443 -> j1
    20:32:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9443:9455 -> j1
    33:37:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9452:9456 -> j1
    38:63:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9450:9475 -> j1
    64:68:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9472:9476 -> j1
    69:86:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9470:9487 -> j1
    87:87:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j1
    87:87:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9487 -> j1
    88:93:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9487:9492 -> j1
    94:94:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9491:9491 -> j1
    95:105:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9490:9500 -> j1
    106:106:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> j1
    106:106:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9500 -> j1
    107:109:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9500:9502 -> j1
    110:182:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9438:9510 -> j1
    183:189:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9505:9511 -> j1
    190:190:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> j1
    190:190:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9511 -> j1
    191:191:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> j1
    191:191:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> j1
    191:191:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9511 -> j1
    192:192:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> j1
    192:192:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> j1
    192:192:com.android.tools.r8.graph.CfCode ThrowableMethods_addSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9511 -> j1
    1:15:com.android.tools.r8.graph.CfCode CharacterMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):676:690 -> k
    16:16:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> k
    16:16:com.android.tools.r8.graph.CfCode CharacterMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):690 -> k
    1:32:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5101:5132 -> k0
    33:49:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5128:5144 -> k0
    50:65:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5140:5155 -> k0
    66:83:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5151:5168 -> k0
    84:108:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5164:5188 -> k0
    109:109:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    109:109:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5188 -> k0
    110:129:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5188:5207 -> k0
    130:130:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    130:130:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5207 -> k0
    131:142:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5207:5218 -> k0
    143:143:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    143:143:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5218 -> k0
    144:161:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5218:5235 -> k0
    162:162:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    162:162:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5235 -> k0
    163:175:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5235:5247 -> k0
    176:176:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    176:176:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5247 -> k0
    177:182:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5247:5252 -> k0
    183:212:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5250:5279 -> k0
    213:213:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    213:213:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5279 -> k0
    214:226:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5279:5291 -> k0
    227:227:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k0
    227:227:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5291 -> k0
    228:238:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5291:5301 -> k0
    239:239:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5298:5298 -> k0
    240:424:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5122:5306 -> k0
    425:425:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> k0
    425:425:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5306 -> k0
    426:426:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> k0
    426:426:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> k0
    426:426:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5306 -> k0
    427:427:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> k0
    427:427:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> k0
    427:427:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5306 -> k0
    1:7:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9515:9521 -> k1
    8:8:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):37:37 -> k1
    8:8:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9521 -> k1
    9:26:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9521:9538 -> k1
    27:31:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9535:9539 -> k1
    32:53:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9533:9554 -> k1
    54:58:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9551:9555 -> k1
    59:67:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9549:9557 -> k1
    68:68:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> k1
    68:68:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9557 -> k1
    69:76:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9557:9564 -> k1
    77:77:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> k1
    77:77:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9564 -> k1
    78:82:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9564:9568 -> k1
    83:83:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9567:9567 -> k1
    84:90:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9566:9572 -> k1
    91:146:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9525:9580 -> k1
    147:153:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9575:9581 -> k1
    154:154:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> k1
    154:154:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9581 -> k1
    155:155:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> k1
    155:155:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> k1
    155:155:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9581 -> k1
    156:156:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> k1
    156:156:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> k1
    156:156:com.android.tools.r8.graph.CfCode ThrowableMethods_getSuppressed(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9581 -> k1
    1:18:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):695:712 -> l
    19:31:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):708:720 -> l
    32:32:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):716:716 -> l
    33:57:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):701:725 -> l
    58:58:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> l
    58:58:com.android.tools.r8.graph.CfCode CharacterMethods_toStringCodepoint(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):725 -> l
    1:20:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5310:5329 -> l0
    21:21:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5323:5323 -> l0
    22:40:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5316:5334 -> l0
    41:41:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> l0
    41:41:com.android.tools.r8.graph.CfCode MathMethods_multiplyExactLongInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5334 -> l0
    1:20:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9586:9605 -> l1
    21:21:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> l1
    21:21:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9605 -> l1
    22:40:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9605:9623 -> l1
    41:64:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9615:9638 -> l1
    65:65:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> l1
    65:65:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9638 -> l1
    66:80:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9638:9652 -> l1
    81:81:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9646:9646 -> l1
    82:148:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9595:9661 -> l1
    149:149:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> l1
    149:149:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9661 -> l1
    150:150:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> l1
    150:150:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> l1
    150:150:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9661 -> l1
    151:151:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> l1
    151:151:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> l1
    151:151:com.android.tools.r8.graph.CfCode UnsafeMethods_compareAndSwapObject(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):9661 -> l1
    1:23:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):730:752 -> m
    24:24:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> m
    24:24:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):752 -> m
    25:42:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):752:769 -> m
    43:55:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):766:778 -> m
    56:56:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    56:56:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):778 -> m
    57:66:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):778:787 -> m
    67:82:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):784:799 -> m
    83:87:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):796:800 -> m
    88:109:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):794:815 -> m
    110:114:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):812:816 -> m
    115:132:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):810:827 -> m
    133:133:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    133:133:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):827 -> m
    134:139:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):827:832 -> m
    140:140:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):831:831 -> m
    141:155:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):830:844 -> m
    156:167:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):841:852 -> m
    168:179:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):849:860 -> m
    180:193:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):856:869 -> m
    194:205:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):865:876 -> m
    206:220:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):873:887 -> m
    221:236:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):881:896 -> m
    237:237:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    237:237:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):896 -> m
    238:253:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):896:911 -> m
    254:266:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):908:920 -> m
    267:279:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):916:928 -> m
    280:291:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):925:936 -> m
    292:303:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):932:943 -> m
    304:318:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):940:954 -> m
    319:334:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):948:963 -> m
    335:335:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    335:335:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):963 -> m
    336:341:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):963:968 -> m
    342:342:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):967:967 -> m
    343:355:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):966:978 -> m
    356:368:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):975:987 -> m
    369:369:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    369:369:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):987 -> m
    370:380:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):987:997 -> m
    381:381:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    381:381:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):997 -> m
    382:385:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):997:1000 -> m
    386:386:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):37:37 -> m
    386:386:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1000 -> m
    387:396:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1000:1009 -> m
    397:397:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):37:37 -> m
    397:397:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1009 -> m
    398:410:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1009:1021 -> m
    411:415:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1018:1022 -> m
    416:441:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1016:1041 -> m
    442:446:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1038:1042 -> m
    447:465:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1036:1054 -> m
    466:466:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    466:466:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1054 -> m
    467:472:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1054:1059 -> m
    473:473:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1058:1058 -> m
    474:485:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1057:1068 -> m
    486:486:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    486:486:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1068 -> m
    487:499:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1068:1080 -> m
    500:500:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    500:500:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1080 -> m
    501:512:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1080:1091 -> m
    513:513:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> m
    513:513:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1091 -> m
    514:516:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1091:1093 -> m
    517:862:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):756:1101 -> m
    863:875:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1100:1112 -> m
    876:883:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1111:1118 -> m
    884:891:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1117:1124 -> m
    892:899:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1123:1130 -> m
    900:913:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1129:1142 -> m
    914:961:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1096:1143 -> m
    962:962:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> m
    962:962:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1143 -> m
    963:963:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> m
    963:963:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> m
    963:963:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1143 -> m
    964:964:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> m
    964:964:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> m
    964:964:com.android.tools.r8.graph.CfCode CloseResourceMethod_closeResourceImpl(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1143 -> m
    1:17:com.android.tools.r8.graph.CfCode MathMethods_multiplyFull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5338:5354 -> m0
    18:18:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> m0
    18:18:com.android.tools.r8.graph.CfCode MathMethods_multiplyFull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5354 -> m0
    1:24:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1147:1170 -> n
    25:47:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1166:1188 -> n
    48:52:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1187:1191 -> n
    53:53:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> n
    53:53:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1191 -> n
    54:73:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1191:1210 -> n
    74:86:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1206:1218 -> n
    87:103:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1214:1230 -> n
    104:104:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> n
    104:104:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1230 -> n
    105:115:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1230:1240 -> n
    116:119:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1238:1241 -> n
    120:120:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1236:1236 -> n
    121:209:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1158:1246 -> n
    210:210:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> n
    210:210:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1246 -> n
    211:211:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> n
    211:211:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> n
    211:211:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1246 -> n
    212:212:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> n
    212:212:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> n
    212:212:com.android.tools.r8.graph.CfCode CollectionMethods_listOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1246 -> n
    1:101:com.android.tools.r8.graph.CfCode MathMethods_multiplyHigh(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5358:5458 -> n0
    102:102:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> n0
    102:102:com.android.tools.r8.graph.CfCode MathMethods_multiplyHigh(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5458 -> n0
    1:23:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1250:1272 -> o
    24:38:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1268:1282 -> o
    39:53:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1278:1292 -> o
    54:54:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1286:1286 -> o
    55:94:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1259:1298 -> o
    95:95:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> o
    95:95:com.android.tools.r8.graph.CfCode CollectionMethods_mapEntry(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1298 -> o
    1:22:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5462:5483 -> o0
    23:33:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5480:5490 -> o0
    34:34:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> o0
    34:34:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5490 -> o0
    35:36:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5490:5491 -> o0
    37:64:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5470:5497 -> o0
    65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> o0
    65:65:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5497 -> o0
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> o0
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> o0
    66:66:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5497 -> o0
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> o0
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> o0
    67:67:com.android.tools.r8.graph.CfCode MathMethods_negateExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5497 -> o0
    1:27:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1302:1328 -> p
    28:49:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1324:1345 -> p
    50:54:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1344:1348 -> p
    55:58:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1347:1350 -> p
    59:59:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p
    59:59:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1350 -> p
    60:77:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1350:1367 -> p
    78:89:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1364:1375 -> p
    90:104:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1371:1385 -> p
    105:116:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1382:1393 -> p
    117:136:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1389:1408 -> p
    137:156:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1402:1421 -> p
    157:169:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1418:1430 -> p
    170:183:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1426:1439 -> p
    184:195:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1435:1446 -> p
    196:207:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1443:1454 -> p
    208:221:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1450:1463 -> p
    222:226:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1462:1466 -> p
    227:230:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1465:1468 -> p
    231:231:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p
    231:231:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1468 -> p
    232:243:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1468:1479 -> p
    244:246:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1478:1480 -> p
    247:247:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p
    247:247:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1480 -> p
    248:258:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1480:1490 -> p
    259:262:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1488:1491 -> p
    263:263:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1486:1486 -> p
    264:444:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1316:1496 -> p
    445:445:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> p
    445:445:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1496 -> p
    446:446:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> p
    446:446:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> p
    446:446:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1496 -> p
    447:447:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> p
    447:447:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> p
    447:447:com.android.tools.r8.graph.CfCode CollectionMethods_mapOfEntries(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1496 -> p
    1:23:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5501:5523 -> p0
    24:34:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5520:5530 -> p0
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> p0
    35:35:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5530 -> p0
    36:37:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5530:5531 -> p0
    38:66:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5509:5537 -> p0
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> p0
    67:67:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5537 -> p0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> p0
    68:68:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> p0
    68:68:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5537 -> p0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> p0
    69:69:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> p0
    69:69:com.android.tools.r8.graph.CfCode MathMethods_negateExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5537 -> p0
    1:25:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1500:1524 -> q
    26:50:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1520:1544 -> q
    51:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q
    51:51:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1544 -> q
    52:71:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1544:1563 -> q
    72:84:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1559:1571 -> q
    85:102:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1567:1584 -> q
    103:115:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1581:1593 -> q
    116:129:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1589:1602 -> q
    130:141:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1598:1609 -> q
    142:153:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1606:1617 -> q
    154:170:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1613:1629 -> q
    171:171:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q
    171:171:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1629 -> q
    172:183:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1629:1640 -> q
    184:184:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> q
    184:184:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1640 -> q
    185:195:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1640:1650 -> q
    196:199:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1648:1651 -> q
    200:200:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1646:1646 -> q
    201:345:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1512:1656 -> q
    346:346:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> q
    346:346:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1656 -> q
    347:347:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> q
    347:347:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> q
    347:347:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1656 -> q
    348:348:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> q
    348:348:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> q
    348:348:com.android.tools.r8.graph.CfCode CollectionMethods_setOfArray(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1656 -> q
    1:17:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5541:5557 -> q0
    18:18:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5553:5553 -> q0
    19:35:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5547:5563 -> q0
    36:36:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> q0
    36:36:com.android.tools.r8.graph.CfCode MathMethods_nextDownDouble(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5563 -> q0
    1:22:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1660:1681 -> r
    23:34:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1678:1689 -> r
    35:49:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1685:1699 -> r
    50:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1698:1700 -> r
    53:66:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1696:1709 -> r
    67:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1708:1711 -> r
    71:73:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1710:1712 -> r
    74:74:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> r
    74:74:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1712 -> r
    75:84:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1712:1721 -> r
    85:97:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1718:1730 -> r
    98:113:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1727:1742 -> r
    114:126:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1738:1750 -> r
    127:142:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1746:1761 -> r
    143:145:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1760:1762 -> r
    146:146:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> r
    146:146:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1762 -> r
    147:157:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1762:1772 -> r
    158:161:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1770:1773 -> r
    162:162:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1768:1768 -> r
    163:270:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1671:1778 -> r
    271:271:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> r
    271:271:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1778 -> r
    272:272:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> r
    272:272:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> r
    272:272:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1778 -> r
    273:273:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> r
    273:273:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> r
    273:273:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfList(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1778 -> r
    1:17:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5567:5583 -> r0
    18:18:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5579:5579 -> r0
    19:35:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5573:5589 -> r0
    36:36:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> r0
    36:36:com.android.tools.r8.graph.CfCode MathMethods_nextDownFloat(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5589 -> r0
    1:25:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1782:1806 -> s
    26:37:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1803:1814 -> s
    38:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1810:1824 -> s
    53:55:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1823:1825 -> s
    56:67:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1821:1832 -> s
    68:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1831:1833 -> s
    71:85:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1829:1843 -> s
    86:86:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> s
    86:86:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1843 -> s
    87:96:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1843:1852 -> s
    97:109:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1849:1861 -> s
    110:115:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1858:1863 -> s
    116:116:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> s
    116:116:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1863 -> s
    117:128:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1863:1874 -> s
    129:140:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1871:1882 -> s
    141:154:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1878:1891 -> s
    155:166:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1888:1899 -> s
    167:182:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1895:1910 -> s
    183:200:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1904:1921 -> s
    201:201:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> s
    201:201:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1921 -> s
    202:212:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1921:1931 -> s
    213:216:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1929:1932 -> s
    217:217:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1927:1927 -> s
    218:359:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1796:1937 -> s
    360:360:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> s
    360:360:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1937 -> s
    361:361:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> s
    361:361:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> s
    361:361:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1937 -> s
    362:362:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> s
    362:362:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> s
    362:362:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfMap(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1937 -> s
    1:40:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5593:5632 -> s0
    41:41:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> s0
    41:41:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5632 -> s0
    42:52:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5632:5642 -> s0
    53:53:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5639:5639 -> s0
    54:98:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5603:5647 -> s0
    99:99:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> s0
    99:99:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5647 -> s0
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> s0
    100:100:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> s0
    100:100:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5647 -> s0
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> s0
    101:101:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> s0
    101:101:com.android.tools.r8.graph.CfCode MathMethods_subtractExactInt(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5647 -> s0
    1:22:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1941:1962 -> t
    23:34:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1959:1970 -> t
    35:49:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1966:1980 -> t
    50:52:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1979:1981 -> t
    53:66:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1977:1990 -> t
    67:70:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1989:1992 -> t
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t
    71:71:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1992 -> t
    72:81:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1992:2001 -> t
    82:94:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1998:2010 -> t
    95:110:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2007:2022 -> t
    111:123:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2018:2030 -> t
    124:139:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2026:2041 -> t
    140:142:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2040:2042 -> t
    143:143:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t
    143:143:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2042 -> t
    144:154:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2042:2052 -> t
    155:158:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2050:2053 -> t
    159:159:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2048:2048 -> t
    160:266:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):1952:2058 -> t
    267:267:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> t
    267:267:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2058 -> t
    268:268:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> t
    268:268:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> t
    268:268:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2058 -> t
    269:269:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> t
    269:269:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> t
    269:269:com.android.tools.r8.graph.CfCode CollectionsMethods_copyOfSet(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2058 -> t
    1:36:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5651:5686 -> t0
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
    37:37:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5686 -> t0
    38:49:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5686:5697 -> t0
    50:50:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
    50:50:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5697 -> t0
    51:70:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5697:5716 -> t0
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
    71:71:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5716 -> t0
    72:84:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5716:5728 -> t0
    85:85:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
    85:85:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5728 -> t0
    86:91:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5728:5733 -> t0
    92:107:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5731:5746 -> t0
    108:108:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> t0
    108:108:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5746 -> t0
    109:119:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5746:5756 -> t0
    120:120:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5753:5753 -> t0
    121:218:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5664:5761 -> t0
    219:219:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> t0
    219:219:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5761 -> t0
    220:220:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> t0
    220:220:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> t0
    220:220:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5761 -> t0
    221:221:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> t0
    221:221:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> t0
    221:221:com.android.tools.r8.graph.CfCode MathMethods_subtractExactLong(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5761 -> t0
    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2063:2075 -> u
    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2074:2076 -> u
    17:29:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2072:2084 -> u
    30:33:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2082:2085 -> u
    34:34:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2080:2080 -> u
    35:56:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2068:2089 -> u
    57:57:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> u
    57:57:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyEnumeration(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2089 -> u
    1:29:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5765:5793 -> u0
    30:42:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5790:5802 -> u0
    43:43:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> u0
    43:43:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5802 -> u0
    44:46:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5802:5804 -> u0
    47:82:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5774:5809 -> u0
    83:83:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> u0
    83:83:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5809 -> u0
    84:84:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> u0
    84:84:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> u0
    84:84:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5809 -> u0
    85:85:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> u0
    85:85:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> u0
    85:85:com.android.tools.r8.graph.CfCode MathMethods_toIntExact(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5809 -> u0
    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2093:2105 -> v
    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2104:2106 -> v
    17:28:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2102:2113 -> v
    29:31:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2112:2114 -> v
    32:32:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2110:2110 -> v
    33:53:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2098:2118 -> v
    54:54:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> v
    54:54:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2118 -> v
    1:29:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5814:5842 -> v0
    30:30:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> v0
    30:30:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5842 -> v0
    31:43:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5842:5854 -> v0
    44:56:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5851:5863 -> v0
    57:70:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5859:5872 -> v0
    71:84:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5868:5881 -> v0
    85:98:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5877:5890 -> v0
    99:112:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5886:5899 -> v0
    113:126:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5895:5908 -> v0
    127:140:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5904:5917 -> v0
    141:154:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5913:5926 -> v0
    155:166:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5922:5933 -> v0
    167:178:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5930:5941 -> v0
    179:193:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5937:5951 -> v0
    194:194:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> v0
    194:194:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5951 -> v0
    195:197:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5951:5953 -> v0
    198:334:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5822:5958 -> v0
    335:335:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> v0
    335:335:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5958 -> v0
    336:336:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> v0
    336:336:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> v0
    336:336:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5958 -> v0
    337:337:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> v0
    337:337:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> v0
    337:337:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromIndexSize(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5958 -> v0
    1:13:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2123:2135 -> w
    14:16:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2134:2136 -> w
    17:28:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2132:2143 -> w
    29:31:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2142:2144 -> w
    32:32:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2140:2140 -> w
    33:53:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2128:2148 -> w
    54:54:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> w
    54:54:com.android.tools.r8.graph.CfCode CollectionsMethods_emptyListIterator(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2148 -> w
    1:26:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5962:5987 -> w0
    27:27:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> w0
    27:27:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5987 -> w0
    28:40:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5987:5999 -> w0
    41:53:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5996:6008 -> w0
    54:67:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6004:6017 -> w0
    68:81:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6013:6026 -> w0
    82:95:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6022:6035 -> w0
    96:109:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6031:6044 -> w0
    110:123:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6040:6053 -> w0
    124:135:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6049:6060 -> w0
    136:147:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6057:6068 -> w0
    148:162:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6064:6078 -> w0
    163:163:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> w0
    163:163:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6078 -> w0
    164:166:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6078:6080 -> w0
    167:282:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):5970:6085 -> w0
    283:283:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> w0
    283:283:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6085 -> w0
    284:284:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> w0
    284:284:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> w0
    284:284:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6085 -> w0
    285:285:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> w0
    285:285:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> w0
    285:285:com.android.tools.r8.graph.CfCode ObjectsMethods_checkFromToIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6085 -> w0
    1:17:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2152:2168 -> x
    18:18:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2164:2164 -> x
    19:41:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2159:2181 -> x
    42:42:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> x
    42:42:com.android.tools.r8.graph.CfCode DoubleMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2181 -> x
    1:22:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6089:6110 -> x0
    23:23:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x0
    23:23:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6110 -> x0
    24:36:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6110:6122 -> x0
    37:49:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6119:6131 -> x0
    50:63:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6127:6140 -> x0
    64:77:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6136:6149 -> x0
    78:91:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6145:6158 -> x0
    92:103:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6154:6165 -> x0
    104:115:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6162:6173 -> x0
    116:129:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6169:6182 -> x0
    130:130:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> x0
    130:130:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6182 -> x0
    131:133:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6182:6184 -> x0
    134:226:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6097:6189 -> x0
    227:227:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> x0
    227:227:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6189 -> x0
    228:228:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> x0
    228:228:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> x0
    228:228:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6189 -> x0
    229:229:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> x0
    229:229:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> x0
    229:229:com.android.tools.r8.graph.CfCode ObjectsMethods_checkIndex(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6189 -> x0
    1:18:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2185:2202 -> y
    19:33:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2198:2212 -> y
    34:47:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2208:2221 -> y
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y
    48:48:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2221 -> y
    49:56:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2221:2228 -> y
    57:57:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y
    57:57:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2228 -> y
    58:60:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2228:2230 -> y
    61:102:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2193:2234 -> y
    103:103:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> y
    103:103:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2234 -> y
    104:104:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> y
    104:104:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> y
    104:104:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2234 -> y
    105:105:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> y
    105:105:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> y
    105:105:com.android.tools.r8.graph.CfCode DoubleMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2234 -> y
    1:24:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6193:6216 -> y0
    25:25:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6215:6215 -> y0
    26:26:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y0
    26:26:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6215 -> y0
    27:42:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6215:6230 -> y0
    43:59:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6224:6240 -> y0
    60:60:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6239:6239 -> y0
    61:61:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> y0
    61:61:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6239 -> y0
    62:66:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6239:6243 -> y0
    67:113:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6201:6247 -> y0
    114:114:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> y0
    114:114:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6247 -> y0
    115:115:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> y0
    115:115:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> y0
    115:115:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6247 -> y0
    116:116:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> y0
    116:116:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> y0
    116:116:com.android.tools.r8.graph.CfCode ObjectsMethods_compare(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6247 -> y0
    1:18:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2238:2255 -> z
    19:33:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2251:2265 -> z
    34:47:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2261:2274 -> z
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> z
    48:48:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2274 -> z
    49:56:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2274:2281 -> z
    57:57:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> z
    57:57:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2281 -> z
    58:60:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2281:2283 -> z
    61:102:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2246:2287 -> z
    103:103:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> z
    103:103:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2287 -> z
    104:104:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> z
    104:104:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> z
    104:104:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2287 -> z
    105:105:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> z
    105:105:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> z
    105:105:com.android.tools.r8.graph.CfCode FloatMethods_isFinite(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):2287 -> z
    1:93:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6251:6343 -> z0
    94:154:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6337:6397 -> z0
    155:215:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6391:6451 -> z0
    216:276:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6445:6505 -> z0
    277:337:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6499:6559 -> z0
    338:398:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6553:6613 -> z0
    399:459:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6607:6667 -> z0
    460:520:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6661:6721 -> z0
    521:580:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6715:6774 -> z0
    581:585:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6771:6775 -> z0
    586:635:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6769:6818 -> z0
    636:636:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6814:6814 -> z0
    637:1165:com.android.tools.r8.graph.CfCode ObjectsMethods_deepEquals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):6295:6823 -> z0
com.android.tools.r8.ir.desugar.backports.BooleanMethodRewrites -> com.android.tools.r8.internal.z5:
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter createRewriter(com.android.tools.r8.cf.code.CfLogicalBinop$Opcode):15:15 -> a
    2:2:com.android.tools.r8.cf.code.CfInstruction lambda$createRewriter$0(com.android.tools.r8.cf.code.CfLogicalBinop$Opcode,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):15:15 -> a
    3:3:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteLogicalAnd():19:19 -> a
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteLogicalOr():23:23 -> b
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteLogicalXor():27:27 -> c
com.android.tools.r8.ir.desugar.backports.CollectionMethodGenerators -> com.android.tools.r8.internal.Xb:
    1:1:com.android.tools.r8.graph.CfCode generateListOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):31:31 -> a
    2:21:com.android.tools.r8.graph.CfCode generateFixedMethods(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.graph.DexType):40:59 -> a
    22:22:com.android.tools.r8.graph.CfCode generateFixedMethods(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.graph.DexType):56:56 -> a
    23:33:com.android.tools.r8.graph.CfCode generateFixedMethods(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.graph.DexType):53:63 -> a
    1:1:com.android.tools.r8.graph.CfCode generateSetOf(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod,int):35:35 -> b
com.android.tools.r8.ir.desugar.backports.CollectionMethodRewrites -> com.android.tools.r8.internal.Yb:
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteListOfEmpty():16:16 -> a
    2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteToCollectionMethod(java.lang.String):28:28 -> a
    3:5:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteToCollectionMethod$0(java.lang.String,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):29:31 -> a
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteMapOfEmpty():24:24 -> b
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteSetOfEmpty():20:20 -> c
com.android.tools.r8.ir.desugar.backports.FloatMethodRewrites -> com.android.tools.r8.internal.Nk:
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteHashCode():16:16 -> a
    2:5:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteHashCode$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):17:20 -> a
    6:6:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteHashCode$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):19:19 -> a
com.android.tools.r8.ir.desugar.backports.LongMethodRewrites -> com.android.tools.r8.internal.aD:
    1:1:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteCompare$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):17:17 -> a
    2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteCompare():17:17 -> a
com.android.tools.r8.ir.desugar.backports.NumericMethodRewrites -> com.android.tools.r8.internal.bI:
    1:2:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteToAddInstruction$1(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):30:31 -> a
    3:3:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteAsIdentity():36:36 -> a
    1:4:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteToInvokeMath$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):20:23 -> b
    5:5:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteToAddInstruction():29:29 -> b
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteToInvokeMath():19:19 -> c
com.android.tools.r8.ir.desugar.backports.NumericMethodRewrites$1 -> com.android.tools.r8.internal.aI:
    1:1:void <init>():36:36 -> <init>
    1:1:java.util.Collection rewrite(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.LocalStackAllocator):41:41 -> a
com.android.tools.r8.ir.desugar.backports.ObjectsMethodRewrites -> com.android.tools.r8.internal.vK:
    1:4:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteToArraysHashCode$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):24:27 -> a
    5:5:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteRequireNonNull():33:33 -> a
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteToArraysHashCode():23:23 -> b
com.android.tools.r8.ir.desugar.backports.ObjectsMethodRewrites$1 -> com.android.tools.r8.internal.uK:
    1:1:void <init>():33:33 -> <init>
    1:2:java.util.Collection rewrite(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.LocalStackAllocator):39:40 -> a
com.android.tools.r8.ir.desugar.backports.OptionalMethodRewrites -> com.android.tools.r8.internal.QK:
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter createRewriter(java.util.function.Function,java.lang.String):20:20 -> a
    2:5:com.android.tools.r8.cf.code.CfInstruction lambda$createRewriter$0(java.util.function.Function,java.lang.String,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):21:24 -> a
    6:6:com.android.tools.r8.cf.code.CfInstruction lambda$createRewriter$0(java.util.function.Function,java.lang.String,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):23:23 -> a
    7:7:com.android.tools.r8.graph.DexType lambda$rewriteDoubleOrElseGet$2(com.android.tools.r8.graph.DexItemFactory):33:33 -> a
    8:8:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteDoubleOrElseGet():33:33 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$rewriteIntOrElseGet$3(com.android.tools.r8.graph.DexItemFactory):37:37 -> b
    2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteIntOrElseGet():37:37 -> b
    1:1:com.android.tools.r8.graph.DexType lambda$rewriteLongOrElseGet$4(com.android.tools.r8.graph.DexItemFactory):41:41 -> c
    2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteLongOrElseGet():41:41 -> c
    1:1:com.android.tools.r8.graph.DexType lambda$rewriteOrElseGet$1(com.android.tools.r8.graph.DexItemFactory):29:29 -> d
    2:2:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteOrElseGet():29:29 -> d
com.android.tools.r8.ir.desugar.backports.SparseArrayMethodRewrites -> com.android.tools.r8.internal.CV:
    1:1:com.android.tools.r8.ir.desugar.BackportedMethodRewriter$MethodInvokeRewriter rewriteSet():17:17 -> a
    2:2:com.android.tools.r8.cf.code.CfInstruction lambda$rewriteSet$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexItemFactory):18:18 -> a
com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass -> com.android.tools.r8.internal.wd:
    com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicReference reference -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean isFinalBootstrapMethodReferenceOnInterface -> i
    com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass$Behaviour behaviour -> f
    boolean $assertionsDisabled -> k
    com.android.tools.r8.graph.DexMethod finalBootstrapMethodReference -> h
    com.android.tools.r8.graph.DexMethod bootstrapMethodReference -> g
    com.android.tools.r8.graph.DexField constantValueField -> d
    com.android.tools.r8.graph.DexMethod getConstMethod -> e
    com.android.tools.r8.graph.DexField initializedValueField -> c
    com.android.tools.r8.graph.DexProgramClass clazz -> j
    1:1:void <clinit>():70:70 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):100:100 -> <init>
    2:17:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):93:108 -> <init>
    18:22:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):107:111 -> <init>
    23:29:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):110:116 -> <init>
    30:49:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):113:132 -> <init>
    50:50:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):131:131 -> <init>
    51:67:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):130:146 -> <init>
    68:73:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):145:150 -> <init>
    74:98:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):143:167 -> <init>
    99:102:void <init>(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic):166:169 -> <init>
    1:8:java.util.Collection desugarConstDynamicInstruction(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):186:193 -> a
    9:13:java.util.Collection com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.desugarToThrow(com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$MethodSynthesizerConsumer,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):204:208 -> a
    9:13:java.util.Collection desugarConstDynamicInstruction(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):190 -> a
    14:15:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):240:241 -> a
    14:15:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    16:16:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPrivateStaticSynthetic():75:75 -> a
    16:16:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):242 -> a
    16:16:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    17:17:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):242:242 -> a
    17:17:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    18:18:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    18:18:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):243 -> a
    18:18:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    19:21:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):244:246 -> a
    19:21:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    22:22:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPrivateStaticSynthetic():75:75 -> a
    22:22:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):247 -> a
    22:22:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    23:23:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):247:247 -> a
    23:23:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    24:24:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    24:24:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):248 -> a
    24:24:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    25:25:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):249:249 -> a
    25:25:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    26:26:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):239:239 -> a
    26:26:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    27:27:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeStaticFields(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):238:238 -> a
    27:27:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):233 -> a
    28:30:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):255:257 -> a
    28:30:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    31:44:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):281:294 -> a
    31:44:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    31:44:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    45:45:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    45:45:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):294 -> a
    45:45:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    45:45:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    46:53:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):294:301 -> a
    46:53:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    46:53:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    54:58:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):264:268 -> a
    54:58:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):303 -> a
    54:58:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    54:58:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    59:59:void com.android.tools.r8.cf.code.CfConstClass.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    59:59:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):268 -> a
    59:59:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):303 -> a
    59:59:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    59:59:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    60:66:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):268:274 -> a
    60:66:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):303 -> a
    60:66:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    60:66:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    67:67:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    67:67:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):274 -> a
    67:67:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):303 -> a
    67:67:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    67:67:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    68:68:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.invokeBootstrapMethod(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):274:274 -> a
    68:68:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):303 -> a
    68:68:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    68:68:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    69:78:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):304:313 -> a
    69:78:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    69:78:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    79:82:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):311:314 -> a
    79:82:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    79:82:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    83:99:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):309:325 -> a
    83:99:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    83:99:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    100:103:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):323:326 -> a
    100:103:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    100:103:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    104:133:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):321:350 -> a
    104:133:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    104:133:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    134:149:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):340:355 -> a
    134:149:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    134:149:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    150:150:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    150:150:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):355 -> a
    150:150:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    150:150:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    151:151:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a
    151:151:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    151:151:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):355 -> a
    151:151:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    151:151:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    152:152:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a
    152:152:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    152:152:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.generateGetterCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):355 -> a
    152:152:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258 -> a
    152:152:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    153:155:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):258:260 -> a
    153:155:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    156:156:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):254:254 -> a
    156:156:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    157:157:void com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass.synthesizeDirectMethods(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):253:253 -> a
    157:157:void synthesizeConstantDynamicClass(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):234 -> a
    158:159:com.android.tools.r8.graph.DexProgramClass getConstantDynamicProgramClass():361:362 -> a
    160:162:void setClass(com.android.tools.r8.graph.DexProgramClass):366:368 -> a
    163:163:com.android.tools.r8.graph.DexType mapLookupTypeToObject(com.android.tools.r8.graph.DexType):416:416 -> a
    164:171:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):420:427 -> a
    172:172:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
    172:172:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):426 -> a
    173:180:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):432:439 -> a
    181:181:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    181:181:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):439 -> a
    182:182:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a
    182:182:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    182:182:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):439 -> a
    183:183:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a
    183:183:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    183:183:com.android.tools.r8.graph.Code adaptCode(com.android.tools.r8.graph.DexEncodedMethod):439 -> a
    184:185:com.android.tools.r8.cf.code.CfInstruction lambda$adaptCode$1(com.android.tools.r8.cf.code.CfInstruction):429:430 -> a
    1:33:void rewriteBootstrapMethodSignatureIfNeeded():372:404 -> b
    34:34:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> b
    34:34:void rewriteBootstrapMethodSignatureIfNeeded():404 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> b
    35:35:void rewriteBootstrapMethodSignatureIfNeeded():404 -> b
    36:44:void rewriteBootstrapMethodSignatureIfNeeded():404:412 -> b
    45:60:com.android.tools.r8.graph.DexEncodedMethod lambda$rewriteBootstrapMethodSignatureIfNeeded$0(com.android.tools.r8.graph.DexEncodedMethod):383:398 -> b
    1:2:boolean shouldRewriteBootstrapMethodSignature():175:176 -> c
com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring -> com.android.tools.r8.internal.xd:
    java.util.Map dynamicConstantSyntheticsPerClass -> b
    com.android.tools.r8.graph.AppView appView -> a
    1:1:void <init>(com.android.tools.r8.graph.AppView):33:33 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView):30:34 -> <init>
    1:1:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):39:39 -> a
    2:2:boolean com.android.tools.r8.cf.code.CfInstruction.isConstDynamic():0:0 -> a
    2:2:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):39 -> a
    3:3:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):52:52 -> a
    4:4:boolean com.android.tools.r8.cf.code.CfInstruction.isConstDynamic():0:0 -> a
    4:4:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):52 -> a
    5:5:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):54:54 -> a
    6:7:java.util.Collection com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicInstructionDesugaring.desugarConstDynamicInstruction(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):72:73 -> a
    6:7:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):53 -> a
    8:8:java.util.Map lambda$ensureConstantDynamicClass$0(com.android.tools.r8.graph.DexType):92:92 -> a
    9:15:com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass createConstantDynamicClass(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer):115:121 -> a
    16:27:com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass createConstantDynamicClass(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer):119:130 -> a
    28:28:void lambda$createConstantDynamicClass$1(com.android.tools.r8.utils.Box,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):124:124 -> a
    1:3:com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass ensureConstantDynamicClass(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer):90:92 -> b
    4:17:com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass ensureConstantDynamicClass(com.android.tools.r8.cf.code.CfConstDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicDesugaringEventConsumer):91:104 -> b
com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicReference -> com.android.tools.r8.internal.yd:
    java.lang.Object[] bootstrapMethodArguments -> d
    com.android.tools.r8.graph.DexString name -> a
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexType type -> b
    com.android.tools.r8.graph.DexMethodHandle bootstrapMethod -> c
    1:1:void <clinit>():11:11 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethodHandle,java.lang.Object[]):21:26 -> <init>
    1:1:com.android.tools.r8.graph.DexMethodHandle getBootstrapMethod():38:38 -> a
    1:1:java.lang.Object[] getBootstrapMethodArguments():42:42 -> b
    1:1:com.android.tools.r8.graph.DexString getName():30:30 -> c
    1:1:com.android.tools.r8.graph.DexType getType():34:34 -> d
    1:7:boolean equals(java.lang.Object):48:54 -> equals
    1:1:int hashCode():59:59 -> hashCode
com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibraryAmender -> com.android.tools.r8.internal.Nf:
    com.android.tools.r8.androidapi.ComputedApiLevel minAPILevel -> c
    com.android.tools.r8.graph.DexDefinitionSupplier definitions -> a
    com.android.tools.r8.utils.Reporter reporter -> b
    1:4:void <init>(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,com.android.tools.r8.androidapi.ComputedApiLevel):48:51 -> <init>
    1:4:void run(java.util.Map,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.Reporter,com.android.tools.r8.androidapi.ComputedApiLevel):41:44 -> a
    5:5:void run(java.util.Map):55:55 -> a
    6:6:void amendLibraryMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):59:59 -> a
    7:7:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    7:7:void amendLibraryMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):60 -> a
    8:18:void amendLibraryMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):69:79 -> a
    19:24:void amendLibraryMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):62:62 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification -> com.android.tools.r8.internal.Yf:
    1:1:void <clinit>():16:16 -> <clinit>
    java.lang.String getJsonSource() -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.Timing) -> a
    1:2:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,java.nio.file.Path,com.android.tools.r8.utils.Timing):47:48 -> a
    boolean isLibraryCompilation() -> b
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,java.nio.file.Path,com.android.tools.r8.utils.Timing,java.nio.file.Path) -> b
    com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationApiLevel() -> c
    java.util.List getExtraKeepRules() -> d
    java.lang.String getSynthesizedLibraryClassesPackagePrefix() -> e
com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification$1 -> com.android.tools.r8.internal.Xf:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():47:47 -> <clinit>
com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.Zf:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:20:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification parseDesugaredLibrarySpecification(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int):30:49 -> a
    21:21:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification parseDesugaredLibrarySpecification(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int):39:39 -> a
    22:40:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification parseDesugaredLibrarySpecificationforTesting(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int,java.util.function.Consumer):59:77 -> a
    41:41:com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification parseDesugaredLibrarySpecificationforTesting(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int,java.util.function.Consumer):68:68 -> a
    42:51:boolean isHumanSpecification(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):82:91 -> a
    52:52:boolean isHumanSpecification(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):83:83 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder -> com.android.tools.r8.internal.LY:
    com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder setSupportAllCallbacksFromLibrary(boolean) -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer -> com.android.tools.r8.internal.Bf:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer wrapperSynthesizor -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set trackedCallBackAPIs -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():33:33 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView):41:48 -> <init>
    1:1:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):58:58 -> a
    2:3:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():88:89 -> a
    2:3:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):58 -> a
    4:5:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isAPIConversionSyntheticType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,com.android.tools.r8.graph.AppView):128:129 -> a
    4:5:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():89 -> a
    4:5:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):58 -> a
    6:6:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():89:89 -> a
    6:6:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):58 -> a
    7:12:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):59:64 -> a
    13:37:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):102:126 -> a
    13:37:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    38:38:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    38:38:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:38:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    39:39:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    39:39:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):126 -> a
    39:39:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    40:41:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):130:131 -> a
    40:41:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    42:42:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    42:42:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):131 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    43:43:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    43:43:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):131 -> a
    43:43:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    44:44:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldRegisterCallback(com.android.tools.r8.graph.ProgramMethod):134:134 -> a
    44:44:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):65 -> a
    45:51:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):66:72 -> a
    52:68:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.generateCallbackMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryAPICallbackSynthesizorEventConsumer):195:211 -> a
    52:68:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):70 -> a
    69:77:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):74:82 -> a
    78:79:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():88:89 -> a
    78:79:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):82 -> a
    80:81:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isAPIConversionSyntheticType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,com.android.tools.r8.graph.AppView):128:129 -> a
    80:81:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():89 -> a
    80:81:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):82 -> a
    82:82:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.noPendingWrappersOrConversions():89:89 -> a
    82:82:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):82 -> a
    83:83:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.generateTrackingWarnings():216:216 -> a
    83:83:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):83 -> a
    84:86:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):139:141 -> a
    87:88:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    87:88:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):141 -> a
    89:98:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):144:153 -> a
    99:100:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    99:100:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):153 -> a
    101:102:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):154:155 -> a
    103:103:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    103:103:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):157 -> a
    104:104:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):157:157 -> a
    105:105:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    105:105:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):157 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    106:106:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    106:106:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):157 -> a
    107:113:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPICallbackSynthesizer.shouldGenerateCallbacksForEmulateInterfaceAPIs(com.android.tools.r8.graph.DexClass):181:187 -> a
    107:113:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):160 -> a
    114:120:boolean overridesNonFinalLibraryMethod(com.android.tools.r8.graph.ProgramMethod):163:169 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter -> com.android.tools.r8.internal.Mf:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set precedingDesugarings -> c
    java.util.Set emulatedMethods -> d
    java.util.Set trackedAPIs -> f
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer wrapperSynthesizor -> e
    1:1:void <clinit>():64:64 -> <clinit>
    1:10:void <init>(com.android.tools.r8.graph.AppView,java.util.Set,java.util.Set):80:89 -> <init>
    1:4:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):103:106 -> a
    5:7:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):327:329 -> a
    5:7:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    8:11:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldOutlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):346:349 -> a
    8:11:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):331 -> a
    8:11:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    12:15:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):137:140 -> a
    12:15:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldOutlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):352 -> a
    12:15:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):331 -> a
    12:15:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    16:16:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> a
    16:16:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):140 -> a
    16:16:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldOutlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):352 -> a
    16:16:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):331 -> a
    16:16:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    17:17:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):144:144 -> a
    17:17:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldOutlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):352 -> a
    17:17:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):331 -> a
    17:17:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    18:20:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):142:144 -> a
    18:20:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldOutlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):352 -> a
    18:20:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):331 -> a
    18:20:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    21:22:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldOutlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):353:354 -> a
    21:22:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):331 -> a
    21:22:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    23:24:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):333:334 -> a
    23:24:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    25:25:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvokeToInlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):364:364 -> a
    25:25:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):337 -> a
    25:25:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    26:29:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeReturnConversion(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer,com.android.tools.r8.graph.ProgramMethod):294:297 -> a
    26:29:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvokeToInlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):365 -> a
    26:29:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):337 -> a
    26:29:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    30:37:com.android.tools.r8.graph.DexMethod[] com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversions(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer,com.android.tools.r8.graph.ProgramMethod):307:314 -> a
    30:37:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvokeToInlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):367 -> a
    30:37:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):337 -> a
    30:37:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    38:43:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvokeToInlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):375:380 -> a
    38:43:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):337 -> a
    38:43:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    44:56:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.addInlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList):492:504 -> a
    44:56:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvokeToInlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):388 -> a
    44:56:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):337 -> a
    44:56:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    57:62:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvokeToInlineAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):391:396 -> a
    57:62:java.util.Collection com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.rewriteLibraryInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):337 -> a
    57:62:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):105 -> a
    63:66:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):117:120 -> a
    67:68:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isAPIConversionSyntheticType(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,com.android.tools.r8.graph.AppView):128:129 -> a
    67:68:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):120 -> a
    69:69:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123:123 -> a
    70:73:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):137:140 -> a
    70:73:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):149 -> a
    70:73:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    74:74:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> a
    74:74:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):140 -> a
    74:74:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):149 -> a
    74:74:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    75:75:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):144:144 -> a
    75:75:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):149 -> a
    75:75:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    76:78:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.getMethodForDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):142:144 -> a
    76:78:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):149 -> a
    76:78:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    79:83:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):154:158 -> a
    79:83:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    84:84:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    84:84:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):159 -> a
    84:84:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    85:85:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isEmulatedInterfaceOverride(com.android.tools.r8.graph.DexClassAndMethod):174:174 -> a
    85:85:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):162 -> a
    85:85:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    86:86:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    86:86:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isEmulatedInterfaceOverride(com.android.tools.r8.graph.DexClassAndMethod):174 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):162 -> a
    86:86:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    87:87:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    87:87:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isEmulatedInterfaceOverride(com.android.tools.r8.graph.DexClassAndMethod):174 -> a
    87:87:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):162 -> a
    87:87:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    88:100:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isEmulatedInterfaceOverride(com.android.tools.r8.graph.DexClassAndMethod):174:186 -> a
    88:100:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):162 -> a
    88:100:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    101:104:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.shouldRewriteInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):165:168 -> a
    101:104:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):123 -> a
    105:105:boolean isAlreadyDesugared(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):190:190 -> a
    106:106:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    106:106:boolean isAlreadyDesugared(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):190 -> a
    107:107:boolean lambda$isAlreadyDesugared$0(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):191:191 -> a
    108:122:com.android.tools.r8.graph.DexMethod methodWithVivifiedTypeInSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):196:210 -> a
    123:133:void generateTrackDesugaredAPIWarnings(java.util.Set,java.lang.String,com.android.tools.r8.graph.AppView):219:229 -> a
    134:134:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):235:235 -> a
    135:135:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":377,"2":378,"3":379}}
    377:377:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):235:235 -> a
    378:378:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):235:235 -> a
    379:379:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):235:235 -> a
    372:372:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):237:237 -> a
    373:376:com.android.tools.r8.graph.DexType vivifiedTypeFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):236:239 -> a
    380:393:com.android.tools.r8.graph.DexMethod getConvertedAPI(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.AppView):269:282 -> a
    394:399:com.android.tools.r8.graph.DexMethod getConvertedAPI(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.AppView):280:285 -> a
    400:409:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.invalidType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.AppView):248:257 -> a
    400:409:com.android.tools.r8.graph.DexMethod getConvertedAPI(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.AppView):286 -> a
    410:410:com.android.tools.r8.graph.DexMethod getConvertedAPI(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.AppView):284:284 -> a
    411:416:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer) -> a
    417:424:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):415:422 -> a
    425:441:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):420:436 -> a
    442:453:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):435:446 -> a
    454:454:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    454:454:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):446 -> a
    455:456:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):446:447 -> a
    457:457:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):754:754 -> a
    457:457:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    458:459:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):754:755 -> a
    458:459:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    460:460:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):448:448 -> a
    461:461:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    461:461:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    462:462:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":471,"2":472,"3":473,"4":474,"5":475}}
    471:471:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    471:471:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    472:472:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    472:472:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    473:473:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    473:473:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    474:474:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    474:474:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    475:475:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    475:475:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    463:463:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getUnboxPrimitiveMethod(com.android.tools.r8.graph.DexType):757:757 -> a
    463:463:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):447 -> a
    464:464:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):450:450 -> a
    465:465:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    465:465:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):450 -> a
    466:470:void addOutlineParameterConversionInstructions(com.android.tools.r8.graph.DexMethod[],java.util.ArrayList,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):450:454 -> a
    476:480:void lambda$addOutlineParameterConversionInstructions$2(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.synthesis.SyntheticMethodBuilder):426:430 -> a
    481:481:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432:432 -> a
    482:495:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):459:472 -> a
    482:495:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    496:496:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):764:764 -> a
    496:496:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    496:496:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    497:497:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):764:764 -> a
    497:497:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    497:497:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    498:498:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexItemFactory.getPrimitiveFromBoxed(com.android.tools.r8.graph.DexType):779:779 -> a
    498:498:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):765 -> a
    498:498:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    498:498:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    499:500:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):769:770 -> a
    499:500:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    499:500:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    501:501:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):473:473 -> a
    501:501:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    502:502:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    502:502:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    502:502:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    503:503:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":517,"2":518,"3":519,"4":520,"5":521}}
    517:517:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    517:517:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    517:517:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    518:518:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    518:518:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    518:518:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    519:519:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    519:519:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    519:519:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    520:520:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    520:520:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    520:520:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    521:521:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    521:521:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    521:521:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    504:504:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.getBoxPrimitiveMethod(com.android.tools.r8.graph.DexType):767:767 -> a
    504:504:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):472 -> a
    504:504:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    505:516:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversionCfCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):475:486 -> a
    505:516:com.android.tools.r8.graph.Code lambda$addOutlineParameterConversionInstructions$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):432 -> a
    522:526:com.android.tools.r8.graph.DexMethod createOutlinedAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):513:517 -> a
    527:530:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeReturnConversion(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer,com.android.tools.r8.graph.ProgramMethod):294:297 -> a
    527:530:com.android.tools.r8.graph.DexMethod createOutlinedAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):518 -> a
    531:538:com.android.tools.r8.graph.DexMethod[] com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.computeParameterConversions(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer,com.android.tools.r8.graph.ProgramMethod):307:314 -> a
    531:538:com.android.tools.r8.graph.DexMethod createOutlinedAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):520 -> a
    539:544:com.android.tools.r8.graph.DexMethod createOutlinedAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):521:526 -> a
    545:565:com.android.tools.r8.graph.DexMethod createOutlinedAPIConversion(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):524:544 -> a
    566:570:void lambda$createOutlinedAPIConversion$4(com.android.tools.r8.graph.DexProto,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.synthesis.SyntheticMethodBuilder):530:534 -> a
    571:577:com.android.tools.r8.graph.Code lambda$createOutlinedAPIConversion$3(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[],com.android.tools.r8.graph.DexMethod):536:542 -> a
    1:1:void generateTrackingWarnings():214:214 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryEnumConversionSynthesizer -> com.android.tools.r8.internal.Of:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():29:29 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):34:36 -> <init>
    com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithoutCode$10(com.android.tools.r8.graph.DexMethod) -> a
    1:5:void buildEnumConvert(com.android.tools.r8.synthesis.SyntheticMethodBuilder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):44:48 -> a
    6:11:void buildEnumConvert(com.android.tools.r8.synthesis.SyntheticMethodBuilder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):47:52 -> a
    12:53:void buildEnumMethodsWithCode(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,java.lang.Iterable,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):60:101 -> a
    54:54:void lambda$buildEnumMethodsWithCode$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.Iterable,com.android.tools.r8.synthesis.SyntheticMethodBuilder):65:65 -> a
    55:61:com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithCode$0(java.lang.Iterable,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):70:76 -> a
    62:62:void lambda$buildEnumMethodsWithCode$5(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):93:93 -> a
    63:65:com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithCode$4(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):98:100 -> a
    66:78:void buildEnumMethodsWithoutCode(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):115:127 -> a
    79:79:void lambda$buildEnumMethodsWithoutCode$11(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):123:123 -> a
    80:83:com.android.tools.r8.graph.DexMethod ensureEnumConversionMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):137:140 -> a
    84:86:com.android.tools.r8.graph.DexMethod ensureEnumConversionMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):139:141 -> a
    87:93:com.android.tools.r8.graph.DexMethod getExistingProgramEnumConversionMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):147:153 -> a
    94:96:com.android.tools.r8.graph.DexMethod getExistingProgramEnumConversionMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):152:154 -> a
    97:101:com.android.tools.r8.graph.DexProgramClass ensureProgramEnumConversionClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):160:164 -> a
    102:102:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    102:102:com.android.tools.r8.graph.DexProgramClass ensureProgramEnumConversionClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):164 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    103:103:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    103:103:com.android.tools.r8.graph.DexProgramClass ensureProgramEnumConversionClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):164 -> a
    104:110:com.android.tools.r8.graph.DexProgramClass ensureProgramEnumConversionClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):164:170 -> a
    111:123:com.android.tools.r8.graph.DexClass ensureEnumConversionClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):180:192 -> a
    124:124:com.android.tools.r8.graph.DexClass ensureEnumConversionClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):190:190 -> a
    com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithoutCode$12(com.android.tools.r8.graph.DexMethod) -> b
    1:1:void lambda$buildEnumMethodsWithCode$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.Iterable,com.android.tools.r8.synthesis.SyntheticMethodBuilder):79:79 -> b
    2:8:com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithCode$2(java.lang.Iterable,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):84:90 -> b
    9:9:void lambda$buildEnumMethodsWithCode$7(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):103:103 -> b
    10:12:com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithCode$6(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):108:110 -> b
    13:13:void lambda$buildEnumMethodsWithoutCode$13(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):126:126 -> b
    14:14:void lambda$ensureProgramEnumConversionClass$16(java.lang.Iterable,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):174:174 -> b
    15:15:void lambda$ensureEnumConversionClass$17(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder):194:194 -> b
    com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithoutCode$14(com.android.tools.r8.graph.DexMethod) -> c
    1:1:void lambda$buildEnumMethodsWithoutCode$15(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):129:129 -> c
    com.android.tools.r8.graph.Code lambda$buildEnumMethodsWithoutCode$8(com.android.tools.r8.graph.DexMethod) -> d
    1:1:void lambda$buildEnumMethodsWithoutCode$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):120:120 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer -> com.android.tools.r8.internal.bg:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryEnumConversionSynthesizer enumConverter -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():94:94 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):100:103 -> <init>
    com.android.tools.r8.graph.Code lambda$buildConversionMethod$7(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod) -> a
    void lambda$getExistingProgramConversionMethod$5(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder) -> a
    1:4:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):116:119 -> a
    5:9:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.canConvert(com.android.tools.r8.graph.DexType):191:195 -> a
    5:9:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):122 -> a
    10:10:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.canGenerateWrapper(com.android.tools.r8.graph.DexType):223:223 -> a
    10:10:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.canConvert(com.android.tools.r8.graph.DexType):196 -> a
    10:10:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):122 -> a
    11:15:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):200:204 -> a
    11:15:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    16:16:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":33,"2":34,"3":35}}
    33:33:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):204:204 -> a
    33:33:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    34:34:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):204:204 -> a
    34:34:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    35:35:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):204:204 -> a
    35:35:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    17:28:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):204:215 -> a
    17:28:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    29:29:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    29:29:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):215 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    29:29:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    30:30:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    30:30:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):215 -> a
    30:30:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    31:31:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):218:218 -> a
    31:31:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    32:32:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.reportInvalidInvoke(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):216:216 -> a
    32:32:boolean shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):125 -> a
    36:44:com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):134:142 -> a
    45:45:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.canGenerateWrapper(com.android.tools.r8.graph.DexType):223:223 -> a
    45:45:com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):142 -> a
    46:53:com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):142:149 -> a
    54:64:com.android.tools.r8.graph.DexMethod getCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):175:185 -> a
    65:69:com.android.tools.r8.graph.DexMethod getCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):183:187 -> a
    70:70:com.android.tools.r8.graph.DexMethod getCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):186:186 -> a
    71:77:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):227:233 -> a
    78:78:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    78:78:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):233 -> a
    79:79:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):233:233 -> a
    80:80:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    80:80:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):233 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    81:81:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    81:81:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):233 -> a
    82:83:com.android.tools.r8.graph.DexClass getValidClassToWrap(com.android.tools.r8.graph.DexType):233:234 -> a
    84:85:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):263:264 -> a
    86:86:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299:299 -> a
    86:86:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    87:87:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    87:87:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    87:87:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    88:88:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    88:88:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299 -> a
    88:88:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    89:90:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299:300 -> a
    89:90:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    91:91:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):310:310 -> a
    91:91:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):300 -> a
    91:91:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    92:92:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):301:301 -> a
    92:92:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    93:93:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):310:310 -> a
    93:93:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):301 -> a
    93:93:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    94:94:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):326:326 -> a
    94:94:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):302 -> a
    94:94:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    95:95:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):326:326 -> a
    95:95:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):303 -> a
    95:95:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    96:98:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):304:306 -> a
    96:98:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):265 -> a
    99:104:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):267:272 -> a
    105:105:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.vivifiedTypeFor(com.android.tools.r8.graph.DexType):239:239 -> a
    105:105:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):273 -> a
    106:125:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions ensureWrappers(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):274:293 -> a
    126:126:java.util.Collection lambda$ensureWrappers$0(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):281:281 -> a
    127:129:com.android.tools.r8.graph.DexMethod getConversion(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):314:316 -> a
    130:132:com.android.tools.r8.graph.DexMethod getConversion(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):315:317 -> a
    133:134:com.android.tools.r8.graph.DexEncodedField getWrapperUniqueEncodedField(com.android.tools.r8.graph.DexClass):321:322 -> a
    135:135:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):326:326 -> a
    135:135:void getExistingProgramConversionMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):378 -> a
    136:136:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):326:326 -> a
    136:136:void getExistingProgramConversionMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):379 -> a
    137:140:void getExistingProgramConversionMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):380:383 -> a
    141:141:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.synthesis.SyntheticItems.ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):585:585 -> a
    141:141:void getExistingProgramConversionMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):383 -> a
    142:142:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.synthesis.SyntheticItems.ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):577:577 -> a
    142:142:void getExistingProgramConversionMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):383 -> a
    143:143:com.android.tools.r8.graph.DexProgramClass ensureProgramWrapper(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):335:335 -> a
    144:144:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    144:144:com.android.tools.r8.graph.DexProgramClass ensureProgramWrapper(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):335 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    145:145:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    145:145:com.android.tools.r8.graph.DexProgramClass ensureProgramWrapper(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):335 -> a
    146:150:com.android.tools.r8.graph.DexProgramClass ensureProgramWrapper(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):335:339 -> a
    151:151:void lambda$ensureProgramWrapper$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):343:343 -> a
    152:155:com.android.tools.r8.graph.DexClasspathClass ensureClasspathWrapper(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer,java.util.function.Function):356:359 -> a
    156:156:void lambda$ensureClasspathWrapper$4(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryClass,java.util.function.Function,com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder):366:366 -> a
    157:163:void lambda$ensureClasspathWrapper$4(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryClass,java.util.function.Function,com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder):365:371 -> a
    164:166:void lambda$ensureClasspathWrapper$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):369:369 -> a
    167:170:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.computeProgramConversionMethodCode(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexClass):400:403 -> a
    167:170:void lambda$getExistingProgramConversionMethod$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):394 -> a
    171:171:void lambda$getExistingProgramConversionMethod$6(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):391:391 -> a
    172:176:void buildConversionMethod(com.android.tools.r8.synthesis.SyntheticMethodBuilder,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.CfCode):408:412 -> a
    177:182:void buildConversionMethod(com.android.tools.r8.synthesis.SyntheticMethodBuilder,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.CfCode):411:416 -> a
    183:188:com.android.tools.r8.graph.DexEncodedField buildWrapper(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticClassBuilder):424:429 -> a
    189:189:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.wrappedValueField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):553:553 -> a
    189:189:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.synthesizeWrappedValueEncodedField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):557 -> a
    189:189:com.android.tools.r8.graph.DexEncodedField buildWrapper(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticClassBuilder):429 -> a
    190:193:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.synthesizeWrappedValueEncodedField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):560:563 -> a
    190:193:com.android.tools.r8.graph.DexEncodedField buildWrapper(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticClassBuilder):429 -> a
    194:194:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    194:194:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.synthesizeWrappedValueEncodedField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):565 -> a
    194:194:com.android.tools.r8.graph.DexEncodedField buildWrapper(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticClassBuilder):429 -> a
    195:195:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.synthesizeWrappedValueEncodedField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):566:566 -> a
    195:195:com.android.tools.r8.graph.DexEncodedField buildWrapper(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticClassBuilder):429 -> a
    196:199:com.android.tools.r8.graph.DexEncodedField buildWrapper(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticClassBuilder):431:434 -> a
    200:204:void buildWrapperConstructor(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.synthesis.SyntheticMethodBuilder):440:444 -> a
    205:210:void buildWrapperConstructor(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.synthesis.SyntheticMethodBuilder):443:448 -> a
    211:212:com.android.tools.r8.graph.Code lambda$buildWrapperConstructor$9(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexMethod):450:451 -> a
    213:220:com.android.tools.r8.graph.DexEncodedMethod newSynthesizedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.Code):532:539 -> a
    221:222:com.android.tools.r8.graph.DexEncodedMethod newSynthesizedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.Code):538:539 -> a
    223:223:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.androidapi.AndroidApiLevelCompute.computeApiLevelForDefinition(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.androidapi.ComputedApiLevel):44:44 -> a
    223:223:com.android.tools.r8.graph.DexEncodedMethod newSynthesizedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.Code):539 -> a
    224:230:com.android.tools.r8.graph.DexEncodedMethod newSynthesizedMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.Code):543:549 -> a
    231:252:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):575:596 -> a
    253:262:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):582:591 -> a
    263:266:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):603:606 -> a
    263:266:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    267:267:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    267:267:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):606 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    267:267:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    268:268:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    268:268:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):606 -> a
    268:268:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    269:271:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):606:608 -> a
    269:271:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    272:272:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.vivifiedTypeFor(com.android.tools.r8.graph.DexType):239:239 -> a
    272:272:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):610 -> a
    272:272:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    273:275:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):609:611 -> a
    273:275:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    276:276:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.vivifiedTypeFor(com.android.tools.r8.graph.DexType):239:239 -> a
    276:276:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):615 -> a
    276:276:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    277:285:void com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.ensureProgramWrappersWithoutVirtualMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryL8ProgramWrapperSynthesizerEventConsumer):612:620 -> a
    277:285:void lambda$synthesizeClasses$10(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):592 -> a
    286:287:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):625:626 -> a
    288:288:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):310:310 -> a
    288:288:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):626 -> a
    289:289:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):629:629 -> a
    290:290:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):628:628 -> a
    291:294:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):627:630 -> a
    295:295:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):310:310 -> a
    295:295:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):631 -> a
    296:296:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):634:634 -> a
    297:297:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):633:633 -> a
    298:298:void ensureProgramWrappersVirtualMethods(com.android.tools.r8.graph.DexClass,java.lang.Iterable):632:632 -> a
    1:2:boolean isSyntheticWrapper(com.android.tools.r8.graph.DexType):107:108 -> b
    3:9:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):155:161 -> b
    10:10:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299:299 -> b
    10:10:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    11:11:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> b
    11:11:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    12:12:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> b
    12:12:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299 -> b
    12:12:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    13:14:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):299:300 -> b
    13:14:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    15:15:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):310:310 -> b
    15:15:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):300 -> b
    15:15:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    16:16:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):301:301 -> b
    16:16:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    17:17:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapper(com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):310:310 -> b
    17:17:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):301 -> b
    17:17:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    18:18:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):326:326 -> b
    18:18:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):302 -> b
    18:18:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    19:19:com.android.tools.r8.graph.DexField com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getWrapperUniqueField(com.android.tools.r8.graph.DexClass):326:326 -> b
    19:19:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):303 -> b
    19:19:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    20:22:com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.getExistingProgramWrapperConversions(com.android.tools.r8.graph.DexClass):304:306 -> b
    20:22:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):163 -> b
    23:25:com.android.tools.r8.graph.DexMethod getExistingProgramConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):166:168 -> b
    26:26:java.util.Collection lambda$ensureWrappers$1(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):290:290 -> b
    27:27:void lambda$buildWrapper$8(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.synthesis.SyntheticMethodBuilder):434:434 -> b
    1:14:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):497:510 -> c
    15:15:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> c
    15:15:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):510 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> c
    16:16:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):510 -> c
    17:21:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):510:514 -> c
    22:34:java.util.Collection synthesizeVirtualMethodsForTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):513:525 -> c
    1:18:java.util.Collection synthesizeVirtualMethodsForVivifiedTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):456:473 -> d
    19:39:java.util.Collection synthesizeVirtualMethodsForVivifiedTypeWrapper(com.android.tools.r8.graph.DexClass,java.lang.Iterable,com.android.tools.r8.graph.DexEncodedField):470:490 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer$WrapperConversions -> com.android.tools.r8.internal.ag:
    com.android.tools.r8.graph.DexMethod vivifiedConversion -> b
    com.android.tools.r8.graph.DexMethod conversion -> a
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):247:249 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod getConversion():253:253 -> a
    1:1:com.android.tools.r8.graph.DexMethod getVivifiedConversion():257:257 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer -> com.android.tools.r8.internal.cg:
    void acceptWrapperClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> b
    void acceptEnumConversionClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.AbstractMethodParser -> com.android.tools.r8.internal.C0:
    java.util.Map modifiers -> b
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:8:void <clinit>():22:29 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexItemFactory):33:34 -> <init>
    void argType(com.android.tools.r8.graph.DexType) -> a
    void methodEnd() -> a
    void methodName(com.android.tools.r8.graph.DexString) -> a
    void modifier(int) -> a
    1:5:void parseMethod(java.lang.String):40:44 -> a
    6:7:int com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.AbstractMethodParser.parseModifiers(java.lang.String[]):61:62 -> a
    6:7:void parseMethod(java.lang.String):45 -> a
    8:8:void parseMethod(java.lang.String):46:46 -> a
    9:9:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.AbstractMethodParser.stringTypeToDexType(java.lang.String):56:56 -> a
    9:9:void parseMethod(java.lang.String):46 -> a
    10:11:void parseMethod(java.lang.String):46:47 -> a
    12:12:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.AbstractMethodParser.stringTypeToDexType(java.lang.String):56:56 -> a
    12:12:void parseMethod(java.lang.String):47 -> a
    13:16:void parseMethod(java.lang.String):47:50 -> a
    17:17:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.AbstractMethodParser.stringTypeToDexType(java.lang.String):56:56 -> a
    17:17:void parseMethod(java.lang.String):50 -> a
    18:20:void parseMethod(java.lang.String):50:52 -> a
    21:21:void parseMethod(java.lang.String):42:42 -> a
    22:22:void parseMethod(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":26,"2":27,"3":28,"4":29,"5":30}}
    26:26:void parseMethod(java.lang.String):42:42 -> a
    27:27:void parseMethod(java.lang.String):42:42 -> a
    28:28:void parseMethod(java.lang.String):42:42 -> a
    29:29:void parseMethod(java.lang.String):42:42 -> a
    30:30:void parseMethod(java.lang.String):42:42 -> a
    23:23:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    23:23:void parseMethod(java.lang.String):42 -> a
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    24:24:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    24:24:void parseMethod(java.lang.String):42 -> a
    25:25:void parseMethod(java.lang.String):42:42 -> a
    void holderType(com.android.tools.r8.graph.DexType) -> b
    void methodStart() -> b
    void returnType(com.android.tools.r8.graph.DexType) -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification -> com.android.tools.r8.internal.bn:
    com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags topLevelFlags -> b
    com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags rewritingFlags -> c
    boolean libraryCompilation -> a
    1:4:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,boolean):26:29 -> <init>
    1:1:java.lang.String getJsonSource():85:85 -> a
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.Timing):95:95 -> a
    1:1:boolean isLibraryCompilation():58:58 -> b
    2:3:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,java.nio.file.Path,com.android.tools.r8.utils.Timing,java.nio.file.Path):102:103 -> b
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationApiLevel():53:53 -> c
    1:1:java.util.List getExtraKeepRules():80:80 -> d
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():63:63 -> e
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification empty():33:33 -> f
    2:3:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags.empty():44:45 -> f
    2:3:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification empty():34 -> f
    4:15:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags.empty():64:75 -> f
    4:15:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification empty():34 -> f
    16:16:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification empty():34:34 -> f
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags getRewritingFlags():71:71 -> g
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags getTopLevelFlags():67:67 -> h
    1:1:boolean isEmpty():39:39 -> isEmpty
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.cn:
    com.android.tools.r8.com.google.gson.JsonObject jsonConfig -> g
    com.android.tools.r8.origin.Origin origin -> f
    int minAPILevel -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanMethodParser methodParser -> b
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    com.android.tools.r8.utils.Reporter reporter -> c
    boolean libraryCompilation -> d
    1:1:void <clinit>():33:33 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int):76:81 -> <init>
    void lambda$parse$1(com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder) -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags.builder():54:54 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):175 -> a
    2:20:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):177:195 -> a
    21:27:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):194:200 -> a
    28:47:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):199:218 -> a
    48:48:com.android.tools.r8.com.google.gson.JsonObject getJsonConfig():93:93 -> a
    49:55:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):102:108 -> a
    56:56:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):103:103 -> a
    57:57:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":161,"2":162,"3":163,"4":164,"5":165,"6":166}}
    161:161:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):103:103 -> a
    162:162:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):103:103 -> a
    163:163:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):103:103 -> a
    164:164:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):103:103 -> a
    165:165:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):103:103 -> a
    166:166:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):103:103 -> a
    160:160:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):103:103 -> a
    167:167:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject):118:118 -> a
    168:174:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):126:132 -> a
    175:179:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseRewritingFlags():162:166 -> a
    175:179:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):134 -> a
    180:184:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseFlagsList(com.android.tools.r8.com.google.gson.JsonArray,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):222:226 -> a
    180:184:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseRewritingFlags():166 -> a
    180:184:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):134 -> a
    185:185:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseRewritingFlags():168:168 -> a
    185:185:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):134 -> a
    186:190:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseFlagsList(com.android.tools.r8.com.google.gson.JsonArray,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):222:226 -> a
    186:190:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseRewritingFlags():167 -> a
    186:190:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):134 -> a
    191:191:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseRewritingFlags():170:170 -> a
    191:191:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):134 -> a
    192:195:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):136:139 -> a
    196:197:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.setOrigin(com.android.tools.r8.StringResource):157:158 -> a
    196:197:java.lang.String parseJson(com.android.tools.r8.StringResource):144 -> a
    198:202:java.lang.String parseJson(com.android.tools.r8.StringResource):147:151 -> a
    203:215:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):232:244 -> a
    216:225:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):243:252 -> a
    226:227:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseMethod(java.lang.String):331:332 -> a
    226:227:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):252 -> a
    228:228:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):253:253 -> a
    229:238:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):251:260 -> a
    239:240:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseMethod(java.lang.String):331:332 -> a
    239:240:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):260 -> a
    241:241:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):261:261 -> a
    242:252:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):259:269 -> a
    253:263:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):267:277 -> a
    264:274:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):275:285 -> a
    275:282:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):283:290 -> a
    283:283:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder.addWrapperConversion(com.android.tools.r8.graph.DexType):271:271 -> a
    283:283:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):290 -> a
    284:289:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):293:298 -> a
    290:292:java.util.Set com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseMethods(com.android.tools.r8.com.google.gson.JsonArray):323:325 -> a
    290:292:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):298 -> a
    293:294:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseMethod(java.lang.String):331:332 -> a
    293:294:java.util.Set com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseMethods(com.android.tools.r8.com.google.gson.JsonArray):325 -> a
    293:294:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):298 -> a
    295:295:java.util.Set com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseMethods(com.android.tools.r8.com.google.gson.JsonArray):325:325 -> a
    295:295:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):298 -> a
    296:304:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder) -> a
    305:306:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecificationParser.parseMethod(java.lang.String):331:332 -> a
    305:306:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):304 -> a
    307:320:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):304:317 -> a
    321:321:com.android.tools.r8.graph.DexType stringDescriptorToDexType(java.lang.String):336:336 -> a
    1:2:com.android.tools.r8.origin.Origin getOrigin():97:98 -> b
    1:1:com.android.tools.r8.utils.Reporter reporter():89:89 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanMethodParser -> com.android.tools.r8.internal.dn:
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.DexString methodName -> f
    com.android.tools.r8.graph.DexMethod method -> h
    com.android.tools.r8.graph.DexType returnType -> d
    java.util.List argTypes -> g
    com.android.tools.r8.graph.MethodAccessFlags$Builder flagBuilder -> c
    com.android.tools.r8.graph.DexType holder -> e
    com.android.tools.r8.graph.MethodAccessFlags flags -> i
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory):29:29 -> <init>
    1:2:void modifier(int):48:49 -> a
    3:4:void methodName(com.android.tools.r8.graph.DexString):60:61 -> a
    5:7:void methodEnd():77:79 -> a
    8:9:void argType(com.android.tools.r8.graph.DexType):90:91 -> a
    1:2:void holderType(com.android.tools.r8.graph.DexType):54:55 -> b
    3:9:void methodStart():66:72 -> b
    1:2:com.android.tools.r8.graph.MethodAccessFlags getFlags():42:43 -> c
    3:4:void returnType(com.android.tools.r8.graph.DexType):84:85 -> c
    1:2:com.android.tools.r8.graph.DexMethod getMethod():37:38 -> d
    1:1:boolean parsingFinished():33:33 -> e
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags -> com.android.tools.r8.internal.fn:
    java.util.Map rewritePrefix -> a
    java.util.Map rewriteDerivedPrefix -> b
    java.util.Set dontRewriteInvocation -> h
    java.util.Map emulatedInterfaces -> c
    java.util.Set dontRetarget -> i
    java.util.Map retargetMethod -> d
    java.util.Map wrapperConversions -> j
    java.util.Map amendLibraryMethod -> k
    java.util.Map retargetMethodEmulatedDispatch -> e
    java.util.Map legacyBackport -> f
    java.util.Map customConversions -> g
    1:12:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Map,java.util.Map):49:60 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder builder(com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):79:79 -> a
    2:14:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder.<init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):168:168 -> a
    2:14:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder builder(com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):79 -> a
    15:15:java.util.Map getAmendLibraryMethod():140:140 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder newBuilder(com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):83:83 -> b
    2:2:java.util.Map getCustomConversions():124:124 -> b
    1:1:java.util.Set getDontRetarget():132:132 -> c
    1:1:java.util.Set getDontRewriteInvocation():128:128 -> d
    1:1:java.util.Map getEmulatedInterfaces():108:108 -> e
    1:1:java.util.Map getLegacyBackport():120:120 -> f
    1:1:java.util.Map getRetargetMethod():112:112 -> g
    1:1:java.util.Map getRetargetMethodEmulatedDispatch():116:116 -> h
    1:1:java.util.Map getRewriteDerivedPrefix():104:104 -> i
    1:1:java.util.Map getRewritePrefix():100:100 -> j
    1:1:java.util.Map getWrapperConversions():136:136 -> k
    1:4:boolean isEmpty():144:147 -> l
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder -> com.android.tools.r8.internal.en:
    java.util.Map amendLibraryMethod -> m
    com.android.tools.r8.utils.Reporter reporter -> a
    java.util.Map rewritePrefix -> c
    java.util.Map rewriteDerivedPrefix -> d
    java.util.Set dontRewriteInvocation -> j
    com.android.tools.r8.origin.Origin origin -> b
    java.util.Map customConversions -> i
    java.util.Map wrapperConversions -> l
    java.util.Map emulatedInterfaces -> e
    java.util.Set dontRetarget -> k
    java.util.Map retargetMethod -> f
    java.util.Map retargetMethodEmulatedDispatch -> g
    java.util.Map legacyBackport -> h
    1:16:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Map,java.util.Map):197:212 -> <init>
    1:12:void put(java.util.Map,java.lang.Object,java.lang.Object,java.lang.String):217:228 -> a
    13:13:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putRewritePrefix(java.lang.String,java.lang.String):232:232 -> a
    14:16:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putRewriteDerivedPrefix(java.lang.String,java.lang.String,java.lang.String):242:244 -> a
    17:17:java.util.Map lambda$putRewriteDerivedPrefix$0(java.lang.String):243:243 -> a
    18:18:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):262:262 -> a
    19:19:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addWrapperConversion(com.android.tools.r8.graph.DexType,java.util.Set):275:275 -> a
    20:20:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder retargetMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):280:280 -> a
    21:21:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addDontRewriteInvocation(com.android.tools.r8.graph.DexMethod):307:307 -> a
    22:22:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addDontRetargetLibMember(com.android.tools.r8.graph.DexType):312:312 -> a
    23:23:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder amendLibraryMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):317:317 -> a
    24:36:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags build():322:334 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putEmulatedInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):253:253 -> b
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder addWrapperConversion(com.android.tools.r8.graph.DexType):271:271 -> b
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder retargetMethodEmulatedDispatch(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):289:289 -> b
    4:7:void validate():338:341 -> b
    8:8:void validate():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":357,"2":358,"3":359}}
    357:357:void validate():341:341 -> b
    358:358:void validate():341:341 -> b
    359:359:void validate():341:341 -> b
    354:354:void validate():346:346 -> b
    355:355:void validate():345:345 -> b
    356:356:void validate():341:341 -> b
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder putLegacyBackport(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):298:298 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags -> com.android.tools.r8.internal.mn:
    java.util.List extraKeepRules -> f
    boolean supportAllCallbacksFromLibrary -> e
    java.lang.String identifier -> c
    java.lang.String synthesizedLibraryClassesPackagePrefix -> b
    com.android.tools.r8.utils.AndroidApiLevel requiredCompilationAPILevel -> a
    java.lang.String jsonSource -> d
    1:7:void <init>(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String,java.lang.String,boolean,java.util.List):34:40 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder builder():54:54 -> a
    1:1:java.util.List getExtraKeepRules():78:78 -> b
    1:1:java.lang.String getIdentifier():66:66 -> c
    1:1:java.lang.String getJsonSource():70:70 -> d
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationAPILevel():58:58 -> e
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():62:62 -> f
    1:1:boolean supportAllCallbacksFromLibrary():74:74 -> g
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder -> com.android.tools.r8.internal.ln:
    java.lang.Boolean supportAllCallbacksFromLibrary -> e
    java.util.List extraKeepRules -> f
    boolean $assertionsDisabled -> g
    java.lang.String identifier -> c
    java.lang.String synthesizedLibraryClassesPackagePrefix -> b
    com.android.tools.r8.utils.AndroidApiLevel requiredCompilationAPILevel -> a
    java.lang.String jsonSource -> d
    1:1:void <clinit>():81:81 -> <clinit>
    1:1:void <init>():90:90 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setRequiredCompilationAPILevel(com.android.tools.r8.utils.AndroidApiLevel):93:93 -> a
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setDesugaredLibraryIdentifier(java.lang.String):103:103 -> a
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder.setSupportAllCallbacksFromLibrary(boolean):114:114 -> a
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder setSupportAllCallbacksFromLibrary(boolean):81 -> a
    4:4:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setExtraKeepRules(java.util.List):119:119 -> a
    5:12:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags build():124:131 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setJsonSource(java.lang.String):108:108 -> b
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setSupportAllCallbacksFromLibrary(boolean):114:114 -> b
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags$Builder setSynthesizedLibraryClassesPackagePrefix(java.lang.String):98:98 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification -> com.android.tools.r8.internal.GF:
    com.android.tools.r8.origin.Origin origin -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags topLevelFlags -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap commonFlags -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap libraryFlags -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap programFlags -> e
    1:6:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):24:29 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getCommonFlags():41:41 -> a
    1:1:java.util.Map getCommonFlagsForTesting():53:53 -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getLibraryFlags():45:45 -> c
    1:1:java.util.Map getLibraryFlagsForTesting():57:57 -> d
    1:1:com.android.tools.r8.origin.Origin getOrigin():33:33 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getProgramFlags():49:49 -> f
    1:1:java.util.Map getProgramFlagsForTesting():61:61 -> g
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags getTopLevelFlags():37:37 -> h
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator -> com.android.tools.r8.internal.HF:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():20:20 -> <clinit>
    1:6:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):26:31 -> a
    7:7:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    7:7:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    7:7:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):31 -> a
    8:8:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):32:32 -> a
    9:31:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter,int):41:63 -> a
    9:31:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):32 -> a
    32:36:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.putNewFlags(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):72:76 -> a
    32:36:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter,int):65 -> a
    32:36:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):32 -> a
    37:41:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.putNewFlags(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):72:76 -> a
    37:41:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter,int):66 -> a
    37:41:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):32 -> a
    42:46:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.putNewFlags(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):72:76 -> a
    42:46:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationFlagDeduplicator.deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter,int):67 -> a
    42:46:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.utils.Reporter):32 -> a
    47:51:void lambda$deduplicateWrapperFlags$0(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexType,java.util.Set):140:144 -> a
    52:55:void deduplicateAmendLibraryMemberFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):154:157 -> a
    56:59:void lambda$deduplicateAmendLibraryMemberFlags$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):159:162 -> a
    60:66:void lambda$deduplicateRewriteDifferentPrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.util.Map):176:182 -> a
    67:67:void lambda$deduplicateRewriteDifferentPrefix$2(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String,java.lang.String):178:178 -> a
    68:71:void lambda$deduplicateRewriteDifferentPrefix$3(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):184:187 -> a
    72:76:void lambda$deduplicateRewritePrefix$5(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):203:207 -> a
    77:77:void deduplicateFlags(java.util.Map,java.util.Map,java.util.function.BiConsumer,java.util.function.BiConsumer):217:217 -> a
    78:81:void lambda$deduplicateFlags$6(java.util.Map,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexType):219:222 -> a
    82:82:void deduplicateFlags(java.util.Set,java.util.Set,java.util.function.Consumer,java.util.function.Consumer):229:229 -> a
    83:86:void lambda$deduplicateFlags$7(java.util.Set,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.graph.DexItem):231:234 -> a
    1:6:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):85:90 -> b
    7:14:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):88:95 -> b
    15:22:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):93:100 -> b
    23:30:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):98:105 -> b
    31:38:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):103:110 -> b
    39:47:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):108:116 -> b
    48:55:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):114:121 -> b
    56:64:void deduplicateFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):119:127 -> b
    1:2:void deduplicateRewriteDifferentPrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):173:174 -> c
    1:2:void deduplicateRewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):200:201 -> d
    1:4:void deduplicateWrapperFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):135:138 -> e
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter -> com.android.tools.r8.internal.JF:
    1:1:void <init>():49:49 -> <init>
    1:1:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):53:53 -> a
    2:7:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):59:64 -> a
    2:7:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):54 -> a
    8:13:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):62:67 -> a
    8:13:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):54 -> a
    14:19:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):65:70 -> a
    14:19:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):54 -> a
    20:30:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):68:78 -> a
    20:30:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):54 -> a
    31:31:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583:583 -> a
    31:31:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):79 -> a
    31:31:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):54 -> a
    32:32:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type):602:602 -> a
    32:32:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583 -> a
    32:32:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):79 -> a
    32:32:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):54 -> a
    33:34:void com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type,java.lang.Appendable):647:648 -> a
    33:34:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type):603 -> a
    33:34:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583 -> a
    33:34:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):79 -> a
    33:34:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):54 -> a
    35:35:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type):604:604 -> a
    35:35:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583 -> a
    35:35:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):79 -> a
    35:35:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):54 -> a
    36:36:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):80:80 -> a
    36:36:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):54 -> a
    37:37:void com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type,java.lang.Appendable):650:650 -> a
    37:37:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object,java.lang.reflect.Type):603 -> a
    37:37:java.lang.String com.android.tools.r8.com.google.gson.Gson.toJson(java.lang.Object):583 -> a
    37:37:void com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter.internalExport(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):79 -> a
    37:37:void export(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification,com.android.tools.r8.StringConsumer):54 -> a
    38:67:java.util.List rewritingFlagsToString(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):85:114 -> a
    68:87:java.util.List rewritingFlagsToString(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):112:131 -> a
    88:88:void lambda$rewritingFlagsToString$0(java.util.TreeMap,java.lang.String,java.util.Map):99:99 -> a
    89:100:void registerWrapperConversions(java.util.Map,java.util.Map):138:149 -> a
    101:104:void lambda$registerWrapperConversions$1(java.util.List,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set):142:145 -> a
    105:106:java.util.List amendLibraryToString(java.util.Map):153:154 -> a
    107:107:void lambda$amendLibraryToString$2(java.util.List,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):155:155 -> a
    108:109:java.util.List setToString(java.util.Set):160:161 -> a
    110:110:void lambda$setToString$3(java.util.List,com.android.tools.r8.graph.DexItem):161:161 -> a
    111:111:void lambda$mapToString$4(java.util.Map,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexItem):167:167 -> a
    112:134:java.lang.String toString(com.android.tools.r8.graph.DexItem):172:194 -> a
    1:2:java.util.Map mapToString(java.util.Map):166:167 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter$1 -> com.android.tools.r8.internal.IF:
    1:1:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationJsonExporter):80:80 -> <init>
com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.KF:
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):20:20 -> <init>
    void lambda$parseMultiLevelConfiguration$0(com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder) -> b
    1:10:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification parseMultiLevelConfiguration(com.android.tools.r8.StringResource):26:35 -> b
    11:21:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap parseAllFlags(java.lang.String):39:49 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification -> com.android.tools.r8.internal.bB:
    com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags rewritingFlags -> c
    boolean libraryCompilation -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags topLevelFlags -> b
    1:4:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags,boolean):34:37 -> <init>
    1:1:java.lang.String getJsonSource():117:117 -> a
    2:4:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.Timing):123:125 -> a
    1:1:boolean isLibraryCompilation():69:69 -> b
    2:4:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification toMachineSpecification(com.android.tools.r8.utils.InternalOptions,java.nio.file.Path,com.android.tools.r8.utils.Timing,java.nio.file.Path):132:134 -> b
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationApiLevel():64:64 -> c
    1:1:java.util.List getExtraKeepRules():112:112 -> d
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():74:74 -> e
    1:1:java.util.Map getCustomConversions():102:102 -> f
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags getRewritingFlags():55:55 -> g
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags getTopLevelFlags():51:51 -> h
    1:1:boolean isEmpty():42:42 -> isEmpty
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.cB:
    com.android.tools.r8.com.google.gson.JsonObject jsonConfig -> f
    com.android.tools.r8.utils.SemanticVersion MIN_SUPPORTED_VERSION -> g
    com.android.tools.r8.origin.Origin origin -> e
    int minAPILevel -> d
    boolean $assertionsDisabled -> h
    com.android.tools.r8.utils.Reporter reporter -> b
    boolean libraryCompilation -> c
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:4:void <clinit>():28:31 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean,int):68:72 -> <init>
    void lambda$parse$0(com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder) -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags.builder():67:67 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):167 -> a
    2:32:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):169:199 -> a
    33:39:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):198:204 -> a
    40:59:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):203:222 -> a
    60:60:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):184:184 -> a
    61:61:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags parseTopLevelFlags(java.lang.String,java.util.function.Consumer):174:174 -> a
    62:62:com.android.tools.r8.graph.DexItemFactory dexItemFactory():76:76 -> a
    63:69:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):93:99 -> a
    70:70:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    71:71:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":166,"2":167,"3":168,"4":169,"5":170,"6":171}}
    166:166:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    167:167:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    168:168:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    169:169:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    170:170:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    171:171:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    165:165:com.android.tools.r8.com.google.gson.JsonElement required(com.android.tools.r8.com.google.gson.JsonObject,java.lang.String):94:94 -> a
    172:173:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.StringResource):103:104 -> a
    174:174:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject):109:109 -> a
    175:181:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):117:123 -> a
    182:187:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():153:158 -> a
    182:187:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):125 -> a
    188:192:void com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseFlagsList(com.android.tools.r8.com.google.gson.JsonArray,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder):226:230 -> a
    188:192:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():158 -> a
    188:192:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):125 -> a
    193:193:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():160:160 -> a
    193:193:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):125 -> a
    194:198:void com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseFlagsList(com.android.tools.r8.com.google.gson.JsonArray,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder):226:230 -> a
    194:198:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():159 -> a
    194:198:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):125 -> a
    199:199:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.parseRewritingFlags():162:162 -> a
    199:199:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):125 -> a
    200:203:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification parse(com.android.tools.r8.origin.Origin,java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):127:130 -> a
    204:248:void parseFlags(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder):236:280 -> a
    void lambda$parse$1(com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder) -> b
    1:1:com.android.tools.r8.com.google.gson.JsonObject getJsonConfig():84:84 -> b
    2:3:void com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecificationParser.setOrigin(com.android.tools.r8.StringResource):148:149 -> b
    2:3:java.lang.String parseJson(com.android.tools.r8.StringResource):135 -> b
    4:8:java.lang.String parseJson(com.android.tools.r8.StringResource):138:142 -> b
    1:2:com.android.tools.r8.origin.Origin getOrigin():88:89 -> c
    1:1:com.android.tools.r8.utils.Reporter reporter():80:80 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags -> com.android.tools.r8.internal.dB:
    java.util.Map rewritePrefix -> a
    java.util.Set dontRetargetLibMember -> g
    java.util.Map emulateLibraryInterface -> b
    java.util.Set wrapperConversions -> h
    java.util.Map retargetCoreLibMember -> c
    java.util.Map backportCoreLibraryMember -> d
    java.util.List dontRewriteInvocation -> f
    java.util.Map customConversions -> e
    1:9:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.List,java.util.Set,java.util.Set):48:56 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder builder(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):72:72 -> a
    2:14:void com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.<init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):144:144 -> a
    2:14:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder builder(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):72 -> a
    15:15:java.util.Map getBackportCoreLibraryMember():103:103 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder newBuilder(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin):76:76 -> b
    2:2:java.util.Map getCustomConversions():107:107 -> b
    1:1:java.util.Set getDontRetargetLibMember():115:115 -> c
    1:1:java.util.List getDontRewriteInvocation():111:111 -> d
    1:1:java.util.Map getEmulateLibraryInterface():95:95 -> e
    1:1:java.util.Map getRetargetCoreLibMember():99:99 -> f
    1:1:java.util.Map getRewritePrefix():91:91 -> g
    1:1:java.util.Set getWrapperConversions():119:119 -> h
    1:3:boolean isEmpty():123:125 -> i
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder -> com.android.tools.r8.internal.dB$a:
    java.util.Map rewritePrefix -> d
    java.util.Set dontRetargetLibMember -> j
    com.android.tools.r8.origin.Origin origin -> c
    boolean $assertionsDisabled -> l
    java.util.List dontRewriteInvocation -> i
    java.util.Map emulateLibraryInterface -> e
    java.util.Set wrapperConversions -> k
    java.util.Map retargetCoreLibMember -> f
    com.android.tools.r8.utils.Reporter reporter -> b
    java.util.Map backportCoreLibraryMember -> g
    com.android.tools.r8.graph.DexItemFactory factory -> a
    java.util.Map customConversions -> h
    1:1:void <clinit>():128:128 -> <clinit>
    1:14:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.origin.Origin,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.List,java.util.Set,java.util.Set):169:182 -> <init>
    1:12:void put(java.util.Map,java.lang.Object,java.lang.Object,java.lang.String):187:198 -> a
    13:13:void put(java.util.Map,java.lang.Object,java.lang.Object,java.lang.String):188:188 -> a
    14:16:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putBackportCoreLibraryMember(java.lang.String,java.lang.String):256:258 -> a
    17:17:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRetargetLibMember(java.lang.String):276:276 -> a
    18:27:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags build():294:303 -> a
    1:3:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putCustomConversion(java.lang.String,java.lang.String):223:225 -> b
    4:4:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):267:267 -> b
    5:6:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):281:282 -> b
    5:6:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):267 -> b
    7:11:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):268:268 -> b
    12:12:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283:283 -> b
    12:12:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):267 -> b
    13:13:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    13:13:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283 -> b
    13:13:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):267 -> b
    14:14:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    14:14:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> b
    14:14:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283 -> b
    14:14:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):267 -> b
    15:15:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283:283 -> b
    15:15:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addDontRewriteInvocation(java.lang.String):267 -> b
    16:18:void validate():307:309 -> b
    19:19:void validate():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":336,"2":337,"3":338}}
    336:336:void validate():309:309 -> b
    337:337:void validate():309:309 -> b
    338:338:void validate():309:309 -> b
    333:333:void validate():314:314 -> b
    334:334:void validate():313:313 -> b
    335:335:void validate():309:309 -> b
    1:3:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putEmulateLibraryInterface(java.lang.String,java.lang.String):212:214 -> c
    4:5:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder addWrapperConversion(java.lang.String):234:235 -> c
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):240:240 -> d
    2:3:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):281:282 -> d
    2:3:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):240 -> d
    4:10:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):241:247 -> d
    11:11:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283:283 -> d
    11:11:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):240 -> d
    12:12:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> d
    12:12:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283 -> d
    12:12:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):240 -> d
    13:13:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> d
    13:13:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> d
    13:13:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283 -> d
    13:13:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):240 -> d
    14:14:int com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder.sharpIndex(java.lang.String,java.lang.String):283:283 -> d
    14:14:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRetargetCoreLibMember(java.lang.String,java.lang.String):240 -> d
    15:15:com.android.tools.r8.graph.DexType stringClassToDexType(java.lang.String):290:290 -> d
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags$Builder putRewritePrefix(java.lang.String,java.lang.String):202:202 -> e
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags -> com.android.tools.r8.internal.gB:
    java.util.List extraKeepRules -> f
    boolean supportAllCallbacksFromLibrary -> e
    java.lang.String identifier -> c
    java.lang.String synthesizedLibraryClassesPackagePrefix -> b
    com.android.tools.r8.utils.AndroidApiLevel requiredCompilationAPILevel -> a
    java.lang.String jsonSource -> d
    1:7:void <init>(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String,java.lang.String,boolean,java.util.List):37:43 -> <init>
    1:1:java.util.List getExtraKeepRules():91:91 -> a
    1:1:java.lang.String getIdentifier():79:79 -> b
    1:1:java.lang.String getJsonSource():83:83 -> c
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationAPILevel():71:71 -> d
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():75:75 -> e
    1:1:boolean supportAllCallbacksFromLibrary():87:87 -> f
    1:7:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags testing():57:63 -> g
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder -> com.android.tools.r8.internal.fB:
    java.util.List extraKeepRules -> f
    boolean supportAllCallbacksFromLibrary -> e
    java.lang.String identifier -> c
    java.lang.String synthesizedLibraryClassesPackagePrefix -> b
    com.android.tools.r8.utils.AndroidApiLevel requiredCompilationAPILevel -> a
    java.lang.String jsonSource -> d
    1:1:void <init>():104:104 -> <init>
    2:6:void <init>():97:101 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setRequiredCompilationAPILevel(com.android.tools.r8.utils.AndroidApiLevel):107:107 -> a
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setDesugaredLibraryIdentifier(java.lang.String):117:117 -> a
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder.setSupportAllCallbacksFromLibrary(boolean):128:128 -> a
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder setSupportAllCallbacksFromLibrary(boolean):94 -> a
    4:4:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setExtraKeepRules(java.util.List):133:133 -> a
    5:5:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags build():138:138 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setJsonSource(java.lang.String):122:122 -> b
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setSupportAllCallbacksFromLibrary(boolean):128:128 -> b
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags$Builder setSynthesizedLibraryClassesPackagePrefix(java.lang.String):112:112 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification -> com.android.tools.r8.internal.LF:
    com.android.tools.r8.origin.Origin origin -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap commonFlags -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap libraryFlags -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap programFlags -> e
    com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags topLevelFlags -> b
    1:6:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):23:28 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getCommonFlags():40:40 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getLibraryFlags():44:44 -> b
    1:1:com.android.tools.r8.origin.Origin getOrigin():32:32 -> c
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap getProgramFlags():48:48 -> d
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags getTopLevelFlags():36:36 -> e
com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecificationParser -> com.android.tools.r8.internal.MF:
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):20:20 -> <init>
    1:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap parseAllFlags(java.lang.String):39:51 -> a
    void lambda$parseMultiLevelConfiguration$0(com.android.tools.r8.ir.desugar.desugaredlibrary.TopLevelFlagsBuilder) -> c
    1:10:com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification parseMultiLevelConfiguration(com.android.tools.r8.StringResource):26:35 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.CustomConversionDescriptor -> com.android.tools.r8.internal.Zd:
    com.android.tools.r8.graph.DexMethod from -> b
    com.android.tools.r8.graph.DexMethod to -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():9:9 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):13:17 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod getFrom():25:25 -> a
    1:1:com.android.tools.r8.graph.DexMethod getTo():21:21 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod -> com.android.tools.r8.internal.qf:
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind holderKind -> b
    com.android.tools.r8.graph.DexMethod method -> a
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):28:30 -> <init>
    1:1:com.android.tools.r8.graph.DexType getHolderContext():38:38 -> a
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getHolderKind():34:34 -> b
    1:1:com.android.tools.r8.graph.DexMethod getMethod():42:42 -> c
    1:1:com.android.tools.r8.graph.DexString getName():46:46 -> d
    1:1:com.android.tools.r8.graph.DexProto getProto():50:50 -> e
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor -> com.android.tools.r8.internal.hi:
    java.util.LinkedHashMap dispatchCases -> d
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod emulatedDispatchMethod -> b
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod interfaceMethod -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod forwardingMethod -> c
    1:5:void <init>(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,java.util.LinkedHashMap):48:52 -> <init>
    1:1:java.util.LinkedHashMap getDispatchCases():68:68 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod getEmulatedDispatchMethod():60:60 -> b
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod getForwardingMethod():64:64 -> c
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod getInterfaceMethod():56:56 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor -> com.android.tools.r8.internal.ji:
    java.util.Map emulatedMethods -> b
    com.android.tools.r8.graph.DexType rewrittenType -> a
    1:3:void <init>(com.android.tools.r8.graph.DexType,java.util.Map):16:18 -> <init>
    1:1:java.util.Map getEmulatedMethods():26:26 -> a
    1:1:com.android.tools.r8.graph.DexType getRewrittenType():22:22 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification -> com.android.tools.r8.internal.hD:
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags rewritingFlags -> c
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags topLevelFlags -> b
    boolean libraryCompilation -> a
    1:4:void <init>(boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags):44:47 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags.builder():23:23 -> a
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification withOnlyRewriteTypeForTesting(java.util.Map):35 -> a
    2:3:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification withOnlyRewriteTypeForTesting(java.util.Map):36:37 -> a
    4:5:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags.empty():28:29 -> a
    4:5:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification withOnlyRewriteTypeForTesting(java.util.Map):38 -> a
    6:6:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification withOnlyRewriteTypeForTesting(java.util.Map):38:38 -> a
    7:7:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification empty():24:24 -> a
    8:9:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags.empty():28:29 -> a
    8:9:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification empty():25 -> a
    10:10:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags.builder():23:23 -> a
    10:10:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification empty():25 -> a
    11:11:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification empty():25:25 -> a
    12:12:void forEachRetargetMethod(java.util.function.Consumer):103:103 -> a
    13:13:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedInterfaceEmulatedDispatchMethodDescriptor(com.android.tools.r8.graph.DexMethod):112:112 -> a
    14:14:boolean isCustomConversionRewrittenType(com.android.tools.r8.graph.DexType):116:116 -> a
    15:22:boolean isSupported(com.android.tools.r8.graph.DexReference):153:160 -> a
    23:23:java.util.Map com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification.getStaticRetarget():87:87 -> a
    23:23:boolean isSupported(com.android.tools.r8.graph.DexReference):161 -> a
    24:24:boolean isSupported(com.android.tools.r8.graph.DexReference):161:161 -> a
    25:25:java.util.Map com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification.getNonEmulatedVirtualRetarget():91:91 -> a
    25:25:boolean isSupported(com.android.tools.r8.graph.DexReference):162 -> a
    26:26:boolean isSupported(com.android.tools.r8.graph.DexReference):162:162 -> a
    27:27:java.util.Map com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification.getEmulatedVirtualRetarget():95:95 -> a
    27:27:boolean isSupported(com.android.tools.r8.graph.DexReference):163 -> a
    28:28:boolean isSupported(com.android.tools.r8.graph.DexReference):163:163 -> a
    29:29:java.util.Map com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification.getEmulatedInterfaces():107:107 -> a
    29:29:boolean isSupported(com.android.tools.r8.graph.DexReference):167 -> a
    30:31:boolean isSupported(com.android.tools.r8.graph.DexReference):167:168 -> a
    1:1:boolean isEmulatedInterfaceRewrittenType(com.android.tools.r8.graph.DexType):120:120 -> b
    2:2:java.util.Map getAmendLibraryMethods():140:140 -> b
    1:1:java.util.Map getCustomConversions():136:136 -> c
    1:1:java.util.Set getDontRetarget():132:132 -> d
    1:1:java.util.Map getEmulatedInterfaces():107:107 -> e
    1:1:java.util.Map getEmulatedVirtualRetarget():95:95 -> f
    1:1:java.util.Map getEmulatedVirtualRetargetThroughEmulatedInterface():99:99 -> g
    1:1:java.lang.String getIdentifier():63:63 -> h
    1:1:java.util.Map getLegacyBackport():128:128 -> i
    1:1:java.util.Map getNonEmulatedVirtualRetarget():91:91 -> j
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationApiLevel():176:176 -> k
    1:1:java.util.Map getRewriteDerivedTypeOnly():83:83 -> l
    1:1:java.util.Map getRewriteType():79:79 -> m
    1:1:java.util.Map getStaticRetarget():87:87 -> n
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():59:59 -> o
    1:1:java.util.Map getWrappers():124:124 -> p
    1:1:boolean hasEmulatedInterfaces():148:148 -> q
    1:1:boolean hasRetargeting():144:144 -> r
    1:1:boolean isLibraryCompilation():51:51 -> s
    1:1:boolean supportAllCallbacksFromLibrary():71:71 -> t
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification$1 -> com.android.tools.r8.internal.gD:
    1:1:void <init>(boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags):25:25 -> <init>
    boolean isSupported(com.android.tools.r8.graph.DexReference) -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags -> com.android.tools.r8.internal.jD:
    java.util.Map rewriteType -> a
    java.util.Map rewriteDerivedTypeOnly -> b
    java.util.Map staticRetarget -> c
    java.util.Map nonEmulatedVirtualRetarget -> d
    java.util.Set dontRetarget -> j
    java.util.Map legacyBackport -> i
    java.util.Map customConversions -> k
    java.util.Map amendLibraryMethod -> l
    java.util.Map emulatedVirtualRetarget -> e
    java.util.Map emulatedVirtualRetargetThroughEmulatedInterface -> f
    java.util.Map emulatedInterfaces -> g
    java.util.Map wrappers -> h
    1:14:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Map,java.util.Map):38:51 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder builder():23:23 -> a
    2:4:void forEachRetargetMethod(java.util.function.Consumer):112:114 -> a
    5:6:boolean isCustomConversionRewrittenType(com.android.tools.r8.graph.DexType):134:135 -> a
    7:7:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    7:7:boolean isCustomConversionRewrittenType(com.android.tools.r8.graph.DexType):134 -> a
    8:9:boolean lambda$isCustomConversionRewrittenType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.CustomConversionDescriptor):137:138 -> a
    10:10:boolean lambda$isEmulatedInterfaceRewrittenType$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):157:157 -> a
    11:14:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedInterfaceEmulatedDispatchMethodDescriptor(com.android.tools.r8.graph.DexMethod):166:169 -> a
    1:1:java.util.Map getAmendLibraryMethod():146:146 -> b
    2:3:boolean isEmulatedInterfaceRewrittenType(com.android.tools.r8.graph.DexType):156:157 -> b
    4:4:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> b
    4:4:boolean isEmulatedInterfaceRewrittenType(com.android.tools.r8.graph.DexType):156 -> b
    1:1:java.util.Map getCustomConversions():142:142 -> c
    1:1:java.util.Set getDontRetarget():130:130 -> d
    1:1:java.util.Map getEmulatedInterfaces():118:118 -> e
    1:1:java.util.Map getEmulatedVirtualRetarget():104:104 -> f
    1:1:java.util.Map getEmulatedVirtualRetargetThroughEmulatedInterface():108:108 -> g
    1:1:java.util.Map getLegacyBackport():126:126 -> h
    1:1:java.util.Map getNonEmulatedVirtualRetarget():100:100 -> i
    1:1:java.util.Map getRewriteDerivedTypeOnly():92:92 -> j
    1:1:java.util.Map getRewriteType():88:88 -> k
    1:1:java.util.Map getStaticRetarget():96:96 -> l
    1:1:java.util.Map getWrappers():122:122 -> m
    1:1:boolean hasEmulatedInterfaces():161:161 -> n
    1:3:boolean hasRetargeting():150:152 -> o
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder -> com.android.tools.r8.internal.iD:
    boolean $assertionsDisabled -> m
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder dontRetarget -> j
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder amendLibraryMethod -> l
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder customConversions -> k
    java.util.Map rewriteType -> a
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder legacyBackport -> i
    java.util.Map rewriteDerivedTypeOnly -> b
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder wrappers -> h
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder emulatedInterfaces -> g
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder emulatedVirtualRetargetThroughEmulatedInterface -> f
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder emulatedVirtualRetarget -> e
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder nonEmulatedVirtualRetarget -> d
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder staticRetarget -> c
    1:1:void <clinit>():172:172 -> <clinit>
    1:21:void <init>():174:194 -> <init>
    1:1:void putEmulatedInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):217:217 -> a
    2:2:void putEmulatedVirtualRetarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):221:221 -> a
    3:3:void putEmulatedVirtualRetargetThroughEmulatedInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):225:225 -> a
    4:4:void addWrapper(com.android.tools.r8.graph.DexType,java.util.List):229:229 -> a
    5:5:void putLegacyBackport(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):233:233 -> a
    6:6:void addDontRetarget(com.android.tools.r8.graph.DexType):237:237 -> a
    7:7:void putCustomConversion(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.CustomConversionDescriptor):241:241 -> a
    8:8:void amendLibraryMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags):245:245 -> a
    9:21:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags build():253:265 -> a
    1:1:void rewriteDerivedTypeOnly(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):205:205 -> b
    2:2:void putNonEmulatedVirtualRetarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):213:213 -> b
    3:3:com.android.tools.r8.graph.DexType getRewrittenType(com.android.tools.r8.graph.DexType):249:249 -> b
    1:5:void rewriteType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):197:201 -> c
    6:6:void putStaticRetarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):209:209 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags -> com.android.tools.r8.internal.kD:
    java.lang.String identifier -> c
    java.lang.String synthesizedLibraryClassesPackagePrefix -> b
    com.android.tools.r8.utils.AndroidApiLevel requiredCompilationAPILevel -> a
    boolean supportAllCallbacksFromLibrary -> d
    1:6:void <init>(com.android.tools.r8.utils.AndroidApiLevel,java.lang.String,java.lang.String,java.lang.String,boolean,java.util.List):38:43 -> <init>
    1:1:java.lang.String getIdentifier():56:56 -> a
    1:1:com.android.tools.r8.utils.AndroidApiLevel getRequiredCompilationAPILevel():48:48 -> b
    1:1:java.lang.String getSynthesizedLibraryClassesPackagePrefix():52:52 -> c
    1:1:boolean supportAllCallbacksFromLibrary():64:64 -> d
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter -> com.android.tools.r8.internal.Sf:
    java.util.Map staticRetarget -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map nonEmulatedVirtualRetarget -> d
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper syntheticHelper -> b
    boolean $assertionsDisabled -> f
    java.util.Map emulatedVirtualRetarget -> e
    1:1:void <clinit>():34:34 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView):43:50 -> <init>
    1:3:void visit(java.util.function.Consumer):55:57 -> a
    4:12:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):70:78 -> a
    13:13:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):77:77 -> a
    14:14:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    15:17:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult ensureInvokeRetargetingResult(com.android.tools.r8.graph.DexMethod):88:90 -> a
    18:18:com.android.tools.r8.graph.DexMethod lambda$ensureInvokeRetargetingResult$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):93:93 -> a
    19:28:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNonStaticRetarget(com.android.tools.r8.graph.DexMethod,boolean):168:177 -> a
    29:30:com.android.tools.r8.graph.DexMethod lambda$computeNonStaticRetarget$1(boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):174:174 -> a
    31:32:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.forwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):63:64 -> a
    31:32:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.ensureForwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):70 -> a
    31:32:com.android.tools.r8.graph.DexMethod lambda$computeNonStaticRetarget$1(boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):174 -> a
    33:33:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.ensureForwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):70:70 -> a
    33:33:com.android.tools.r8.graph.DexMethod lambda$computeNonStaticRetarget$1(boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):174 -> a
    34:34:com.android.tools.r8.graph.DexMethod lambda$computeNonStaticRetarget$1(boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):175:175 -> a
    1:7:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):128:134 -> b
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexClassAndMember.getContextType():36:36 -> b
    8:8:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):135 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:30:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):135:156 -> b
    31:31:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> b
    31:31:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):157 -> b
    32:33:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult computeNewInvokeTarget(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):159:160 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult -> com.android.tools.r8.internal.Rf:
    boolean hasNewInvokeTarget -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult NO_REWRITING -> c
    java.util.function.Function newInvokeTargetSupplier -> b
    boolean $assertionsDisabled -> d
    1:3:void <clinit>():98:100 -> <clinit>
    1:1:void <init>(boolean,java.util.function.Function,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$1):98:98 -> <init>
    2:4:void <init>(boolean,java.util.function.Function):110:112 -> <init>
    1:1:boolean hasNewInvokeTarget():116:116 -> a
    2:2:com.android.tools.r8.graph.DexMethod getNewInvokeTarget(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):121:121 -> a
    3:3:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeter$InvokeRetargetingResult.hasNewInvokeTarget():116:116 -> a
    3:3:com.android.tools.r8.graph.DexMethod getNewInvokeTarget(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):121 -> a
    4:5:com.android.tools.r8.graph.DexMethod getNewInvokeTarget(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):121:122 -> a
    com.android.tools.r8.graph.DexMethod lambda$static$0(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer) -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer -> com.android.tools.r8.internal.Tf:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper syntheticHelper -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):30:32 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView):19:19 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    2:2:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView):19 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    3:3:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView):19 -> a
    4:12:com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterL8Synthesizer create(com.android.tools.r8.graph.AppView):19:27 -> a
    13:17:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):37:41 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor -> com.android.tools.r8.internal.Uf:
    java.util.Map emulatedDispatchMethods -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper syntheticHelper -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():33:33 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView):39:43 -> <init>
    1:1:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):52:52 -> a
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    2:2:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):52 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    3:3:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):52 -> a
    4:5:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):52:53 -> a
    6:6:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):59:59 -> a
    7:7:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    7:7:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):59 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    8:8:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):59 -> a
    9:9:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):59:59 -> a
    10:10:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():431:431 -> a
    10:10:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):60 -> a
    11:21:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):61:71 -> a
    22:22:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    22:22:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):75 -> a
    23:25:void ensureInterfacesAndForwardingMethodsSynthesized(java.util.Collection,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer):75:77 -> a
    26:27:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$0(java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):63:64 -> a
    28:28:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79:79 -> a
    29:33:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):92:96 -> a
    29:33:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    34:34:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    34:34:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):97 -> a
    34:34:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    35:39:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):100:104 -> a
    35:39:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    40:40:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98:98 -> a
    40:40:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    41:44:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):167:170 -> a
    41:44:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    41:44:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    45:45:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    45:45:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):171 -> a
    45:45:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    45:45:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    46:52:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):172:178 -> a
    46:52:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    46:52:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    53:53:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    53:53:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):180 -> a
    53:53:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    53:53:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    54:54:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):180:180 -> a
    54:54:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    54:54:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    55:55:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):179:179 -> a
    55:55:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    55:55:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    56:56:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.reportInvalidLibrarySupertype(com.android.tools.r8.graph.DexLibraryClass,java.util.Set):175:175 -> a
    56:56:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.inherit(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexType,java.util.Map):98 -> a
    56:56:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):79 -> a
    57:76:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):117:136 -> a
    57:76:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
    77:82:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):135:140 -> a
    77:82:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
    83:83:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.createForwardingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass):153:153 -> a
    83:83:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):141 -> a
    83:83:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
    84:85:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.forwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):63:64 -> a
    84:85:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.createForwardingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass):153 -> a
    84:85:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):141 -> a
    84:85:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
    86:92:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.createForwardingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass):154:160 -> a
    86:92:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):141 -> a
    86:92:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
    93:95:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.createForwardingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass):159:161 -> a
    93:95:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):141 -> a
    93:95:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
    96:97:void com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterPostProcessor.ensureInterfacesAndForwardingMethodsSynthesized(com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):142:143 -> a
    96:97:void lambda$ensureInterfacesAndForwardingMethodsSynthesized$1(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterPostProcessingEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.List):80 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer -> com.android.tools.r8.internal.Vf:
    void acceptDesugaredLibraryRetargeterDispatchClasspathClass(com.android.tools.r8.graph.DexClasspathClass) -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper -> com.android.tools.r8.internal.Wf:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():25:25 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):29:30 -> <init>
    void lambda$ensureRetargetMethod$0(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder) -> a
    1:1:com.android.tools.r8.graph.DexMethod ensureRetargetMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):35:35 -> a
    2:2:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    2:2:com.android.tools.r8.graph.DexMethod ensureRetargetMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):36 -> a
    3:14:com.android.tools.r8.graph.DexMethod ensureRetargetMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):39:50 -> a
    15:27:com.android.tools.r8.graph.DexMethod ensureRetargetMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):46:58 -> a
    28:29:void lambda$ensureRetargetMethod$1(com.android.tools.r8.synthesis.SyntheticMethodBuilder):56:57 -> a
    30:32:com.android.tools.r8.graph.DexMethod emulatedHolderDispatchMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):74:76 -> a
    33:34:com.android.tools.r8.graph.DexMethod emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):86:87 -> a
    35:36:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):80:81 -> a
    35:36:com.android.tools.r8.graph.DexMethod emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):87 -> a
    37:37:com.android.tools.r8.graph.DexMethod emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):88:88 -> a
    38:43:com.android.tools.r8.graph.DexMethod ensureEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):95:100 -> a
    44:44:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    44:44:com.android.tools.r8.graph.DexMethod ensureEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):100 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    45:45:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    45:45:com.android.tools.r8.graph.DexMethod ensureEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):100 -> a
    46:50:com.android.tools.r8.graph.DexMethod ensureEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):101:105 -> a
    51:74:com.android.tools.r8.graph.DexMethod ensureEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):104:127 -> a
    75:75:void lambda$ensureEmulatedHolderDispatchMethod$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder):122:122 -> a
    76:76:void lambda$ensureProgramEmulatedHolderDispatchMethod$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):146:146 -> a
    77:77:void lambda$ensureEmulatedInterfaceDispatchMethod$4(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder):169:169 -> a
    78:78:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):176:176 -> a
    79:79:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    79:79:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):176 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    80:80:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    80:80:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):176 -> a
    81:88:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):176:183 -> a
    89:89:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):182:182 -> a
    90:90:void lambda$ensureEmulatedInterfaceDispatchMethod$5(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):186:186 -> a
    91:92:void buildInterfaceDispatchMethod(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):193:194 -> a
    93:93:void lambda$buildInterfaceDispatchMethod$6(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticMethodBuilder):198:198 -> a
    94:95:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):80:81 -> a
    94:95:void lambda$buildInterfaceDispatchMethod$6(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticMethodBuilder):197 -> a
    96:104:void lambda$buildInterfaceDispatchMethod$6(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.synthesis.SyntheticMethodBuilder):200:208 -> a
    105:105:void buildHolderDispatchMethod(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):217:217 -> a
    106:106:void lambda$buildHolderDispatchMethod$8(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.synthesis.SyntheticMethodBuilder):221:221 -> a
    107:115:void lambda$buildHolderDispatchMethod$8(com.android.tools.r8.synthesis.SyntheticClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.synthesis.SyntheticMethodBuilder):220:228 -> a
    116:116:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):230:230 -> a
    117:117:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    117:117:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):230 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    118:118:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    118:118:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):230 -> a
    119:120:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.forwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):63:64 -> a
    119:120:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.ensureForwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):70 -> a
    119:120:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.generateEmulatedDispatchCfCode(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):242 -> a
    119:120:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):231 -> a
    121:121:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.ensureForwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):70:70 -> a
    121:121:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.generateEmulatedDispatchCfCode(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):242 -> a
    121:121:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):231 -> a
    122:123:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):86:87 -> a
    122:123:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.generateEmulatedDispatchCfCode(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):243 -> a
    122:123:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):231 -> a
    124:125:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):80:81 -> a
    124:125:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):87 -> a
    124:125:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.generateEmulatedDispatchCfCode(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):243 -> a
    124:125:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):231 -> a
    126:126:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.emulatedInterfaceDispatchMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):88:88 -> a
    126:126:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.generateEmulatedDispatchCfCode(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):243 -> a
    126:126:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):231 -> a
    127:130:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSyntheticHelper.generateEmulatedDispatchCfCode(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):244:247 -> a
    127:130:com.android.tools.r8.graph.Code lambda$buildHolderDispatchMethod$7(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer,com.android.tools.r8.graph.DexMethod):231 -> a
    1:2:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):134:135 -> b
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> b
    3:3:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):135 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> b
    4:4:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):135 -> b
    5:13:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):135:143 -> b
    14:14:void ensureProgramEmulatedHolderDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterL8SynthesizerEventConsumer):142:142 -> b
    15:18:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):153:156 -> b
    19:19:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> b
    19:19:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):156 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> b
    20:20:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):156 -> b
    21:29:com.android.tools.r8.graph.DexClass ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.ir.desugar.desugaredlibrary.retargeter.DesugaredLibraryRetargeterSynthesizerEventConsumer$DesugaredLibraryRetargeterInstructionEventConsumer):157:165 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.AppForSpecConversion -> com.android.tools.r8.internal.n2:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():17:17 -> <clinit>
    1:7:com.android.tools.r8.graph.DexApplication readAppForTesting(java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions,boolean,com.android.tools.r8.utils.Timing):26:32 -> a
    8:15:com.android.tools.r8.graph.DexApplication com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.AppForSpecConversion.internalReadApp(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.utils.Timing):40:47 -> a
    8:15:com.android.tools.r8.graph.DexApplication readAppForTesting(java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions,boolean,com.android.tools.r8.utils.Timing):33 -> a
    16:16:com.android.tools.r8.graph.DexApplication readAppForTesting(java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions,boolean,com.android.tools.r8.utils.Timing):34:34 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter -> com.android.tools.r8.internal.gn:
    java.util.Map emulatedInterfaceHierarchy -> b
    java.util.Set missingEmulatedInterface -> c
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():31:31 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):37:37 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):34:38 -> <init>
    1:19:void convertEmulatedInterfaces(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):46:64 -> a
    20:23:void convertEmulatedInterfaces(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):63:66 -> a
    24:24:boolean lambda$convertEmulatedInterfaces$0(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):57:57 -> a
    25:27:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):60:62 -> a
    28:35:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):71:78 -> a
    28:35:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    36:40:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):75:79 -> a
    36:40:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    41:41:void com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod.<init>(com.android.tools.r8.graph.DexMethod):25:25 -> a
    41:41:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):79 -> a
    41:41:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    42:42:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):80:80 -> a
    42:42:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    43:51:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):93:101 -> a
    43:51:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    43:51:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    52:53:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):132:133 -> a
    52:53:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):101 -> a
    52:53:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    52:53:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    54:54:boolean com.android.tools.r8.utils.WorkList.isEmpty():112:112 -> a
    54:54:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):134 -> a
    54:54:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):101 -> a
    54:54:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    54:54:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    55:61:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):135:141 -> a
    55:61:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):101 -> a
    55:61:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    55:61:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    62:63:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    62:63:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.implementsInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):141 -> a
    62:63:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):101 -> a
    62:63:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    62:63:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    64:64:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):102:102 -> a
    64:64:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    64:64:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    65:65:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.prependHolderToProto(com.android.tools.r8.graph.DexMethod):2644:2644 -> a
    65:65:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):102 -> a
    65:65:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    65:65:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    66:70:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):103:107 -> a
    66:70:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    66:70:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    71:71:void com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod.<init>(com.android.tools.r8.graph.DexMethod):25:25 -> a
    71:71:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):107 -> a
    71:71:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    71:71:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    72:91:java.util.LinkedHashMap com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.getDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod):107:126 -> a
    72:91:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):82 -> a
    72:91:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    92:92:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineEmulatedInterfaceConverter.computeEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy):83:83 -> a
    92:92:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):61 -> a
    93:93:void lambda$convertEmulatedInterfaces$1(java.util.Map,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClassAndMethod):59:59 -> a
    94:98:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map):149:153 -> a
    99:109:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set):162:172 -> a
    110:110:boolean com.android.tools.r8.utils.WorkList.isEmpty():112:112 -> a
    110:110:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set):173 -> a
    111:117:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set):174:180 -> a
    118:119:void com.android.tools.r8.utils.WorkList.addIfNotSeen(java.lang.Object[]):82:83 -> a
    118:119:void processEmulatedInterfaceHierarchy(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set):180 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter -> com.android.tools.r8.internal.hn:
    java.util.Set usedPrefix -> g
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> a
    java.lang.String synthesizedPrefix -> c
    java.util.Map descriptorPrefix -> e
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder builder -> b
    java.util.Map descriptorDifferentPrefix -> f
    boolean libraryCompilation -> d
    1:1:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):35:35 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):29:42 -> <init>
    1:2:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):47:48 -> a
    3:3:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):88:88 -> a
    3:3:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):48 -> a
    4:4:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):143:143 -> a
    4:4:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    4:4:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    4:4:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):48 -> a
    5:6:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):133:134 -> a
    5:6:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):143 -> a
    5:6:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    5:6:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    5:6:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):48 -> a
    7:7:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    7:7:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):135 -> a
    7:7:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):143 -> a
    7:7:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    7:7:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    7:7:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):48 -> a
    8:10:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):147:149 -> a
    8:10:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    8:10:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    8:10:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):48 -> a
    11:14:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):148:151 -> a
    11:14:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    11:14:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    11:14:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):48 -> a
    15:15:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):108:108 -> a
    15:15:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    15:15:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):48 -> a
    16:16:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49:49 -> a
    17:17:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):88:88 -> a
    17:17:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    18:18:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):143:143 -> a
    18:18:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    18:18:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    18:18:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    19:20:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):133:134 -> a
    19:20:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):143 -> a
    19:20:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    19:20:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    19:20:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    21:21:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    21:21:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):135 -> a
    21:21:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):143 -> a
    21:21:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    21:21:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    21:21:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    22:24:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):147:149 -> a
    22:24:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    22:24:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    22:24:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    25:28:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):148:151 -> a
    25:28:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    25:28:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    25:28:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    29:29:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):108:108 -> a
    29:29:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    29:29:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):49 -> a
    30:30:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):50:50 -> a
    31:31:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):88:88 -> a
    31:31:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):50 -> a
    32:32:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):143:143 -> a
    32:32:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    32:32:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    32:32:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):50 -> a
    33:34:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):133:134 -> a
    33:34:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):143 -> a
    33:34:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    33:34:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    33:34:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):50 -> a
    35:35:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    35:35:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):135 -> a
    35:35:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):143 -> a
    35:35:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    35:35:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    35:35:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):50 -> a
    36:38:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):147:149 -> a
    36:38:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    36:38:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    36:38:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):50 -> a
    39:42:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):148:151 -> a
    39:42:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    39:42:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    39:42:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):50 -> a
    43:43:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):108:108 -> a
    43:43:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteValues(java.util.Map):89 -> a
    43:43:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):50 -> a
    44:45:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):51:52 -> a
    46:47:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):76:77 -> a
    46:47:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):52 -> a
    48:52:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):65:69 -> a
    48:52:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):77 -> a
    48:52:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):52 -> a
    53:53:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":63,"2":64,"3":65}}
    63:63:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):69:69 -> a
    63:63:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):77 -> a
    63:63:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):52 -> a
    64:64:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):69:69 -> a
    64:64:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):77 -> a
    64:64:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):52 -> a
    65:65:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):69:69 -> a
    65:65:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):77 -> a
    65:65:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):52 -> a
    54:54:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):72:72 -> a
    54:54:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):77 -> a
    54:54:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):52 -> a
    55:55:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):71:71 -> a
    55:55:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):77 -> a
    55:55:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):52 -> a
    56:56:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.convertJavaNameToDesugaredLibrary(com.android.tools.r8.graph.DexType):70:70 -> a
    56:56:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):77 -> a
    56:56:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):52 -> a
    57:57:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewriteRetargetKeys(java.util.Map):78:78 -> a
    57:57:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):52 -> a
    58:62:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.warnIfUnusedPrefix(java.util.function.BiConsumer):57:61 -> a
    58:62:void convertPrefixFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,java.util.function.BiConsumer):53 -> a
    66:68:void rewriteClasses():94:96 -> a
    69:75:void lambda$registerDifferentType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):121:127 -> a
    76:76:void lambda$registerDifferentType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):125:125 -> a
    77:77:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):143:143 -> a
    77:77:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    77:77:void registerClassType(com.android.tools.r8.graph.DexType):101 -> a
    78:79:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):133:134 -> a
    78:79:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):143 -> a
    78:79:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    78:79:void registerClassType(com.android.tools.r8.graph.DexType):101 -> a
    80:80:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    80:80:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):135 -> a
    80:80:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):143 -> a
    80:80:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    80:80:void registerClassType(com.android.tools.r8.graph.DexType):101 -> a
    81:83:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):147:149 -> a
    81:83:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    81:83:void registerClassType(com.android.tools.r8.graph.DexType):101 -> a
    84:87:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.rewrittenType(com.android.tools.r8.graph.DexType):148:151 -> a
    84:87:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):106 -> a
    84:87:void registerClassType(com.android.tools.r8.graph.DexType):101 -> a
    88:88:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.registerType(com.android.tools.r8.graph.DexType):108:108 -> a
    88:88:void registerClassType(com.android.tools.r8.graph.DexType):101 -> a
    89:89:void registerClassType(com.android.tools.r8.graph.DexType):102:102 -> a
    90:91:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):156:157 -> a
    92:93:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):173:174 -> a
    92:93:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):158 -> a
    94:94:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":99,"2":100,"3":101}}
    99:99:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):174:174 -> a
    99:99:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):158 -> a
    100:100:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):174:174 -> a
    100:100:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):158 -> a
    101:101:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):174:174 -> a
    101:101:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):158 -> a
    95:95:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):175:175 -> a
    95:95:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):158 -> a
    96:98:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewriteDifferentPrefix(java.util.Map):158:160 -> a
    1:1:void registerDifferentType(com.android.tools.r8.graph.DexType):113:113 -> b
    2:4:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):133:135 -> b
    2:4:void registerDifferentType(com.android.tools.r8.graph.DexType):113 -> b
    5:5:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> b
    5:5:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.prefixMatching(com.android.tools.r8.graph.DexType,java.util.Set):135 -> b
    5:5:void registerDifferentType(com.android.tools.r8.graph.DexType):113 -> b
    6:18:void registerDifferentType(com.android.tools.r8.graph.DexType):117:129 -> b
    19:20:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):165:166 -> b
    21:22:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):173:174 -> b
    21:22:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):167 -> b
    23:23:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":33,"2":34,"3":35}}
    33:33:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):174:174 -> b
    33:33:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):167 -> b
    34:34:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):174:174 -> b
    34:34:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):167 -> b
    35:35:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):174:174 -> b
    35:35:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):167 -> b
    24:24:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):175:175 -> b
    24:24:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):167 -> b
    25:25:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):167:167 -> b
    26:27:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):173:174 -> b
    26:27:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):167 -> b
    28:28:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":36,"2":37,"3":38}}
    36:36:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):174:174 -> b
    36:36:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):167 -> b
    37:37:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):174:174 -> b
    37:37:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):167 -> b
    38:38:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):174:174 -> b
    38:38:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):167 -> b
    29:29:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachinePrefixConverter.toDescriptorPrefix(java.lang.String):175:175 -> b
    29:29:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):167 -> b
    30:32:com.android.tools.r8.com.google.common.collect.ImmutableMap convertRewritePrefix(java.util.Map):167:169 -> b
    1:1:void rewriteEmulatedInterface(java.util.Map):83:83 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter -> com.android.tools.r8.internal.in:
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> a
    java.util.Set missingMethods -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):31:31 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):29:32 -> <init>
    1:8:void convertRetargetFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):40:47 -> a
    9:20:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethodEmulatedDispatch(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):55:66 -> a
    9:20:void lambda$convertRetargetFlags$1(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):46 -> a
    21:21:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.seemsToNeedEmulatedDispatch(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):107:107 -> a
    21:21:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethodEmulatedDispatch(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):69 -> a
    21:21:void lambda$convertRetargetFlags$1(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):46 -> a
    22:22:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    22:22:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.seemsToNeedEmulatedDispatch(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):108 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethodEmulatedDispatch(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):69 -> a
    22:22:void lambda$convertRetargetFlags$1(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):46 -> a
    23:23:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    23:23:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.seemsToNeedEmulatedDispatch(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):108 -> a
    23:23:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethodEmulatedDispatch(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):69 -> a
    23:23:void lambda$convertRetargetFlags$1(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):46 -> a
    24:24:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.seemsToNeedEmulatedDispatch(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):108:108 -> a
    24:24:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethodEmulatedDispatch(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):69 -> a
    24:24:void lambda$convertRetargetFlags$1(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):46 -> a
    25:29:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethodEmulatedDispatch(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):70:74 -> a
    25:29:void lambda$convertRetargetFlags$1(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):46 -> a
    30:36:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):116:122 -> a
    30:36:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethodEmulatedDispatch(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):78 -> a
    30:36:void lambda$convertRetargetFlags$1(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):46 -> a
    37:42:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):121:126 -> a
    37:42:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethodEmulatedDispatch(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):78 -> a
    37:42:void lambda$convertRetargetFlags$1(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):46 -> a
    43:43:void com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod.<init>(com.android.tools.r8.graph.DexMethod):25:25 -> a
    43:43:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):126 -> a
    43:43:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethodEmulatedDispatch(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):78 -> a
    43:43:void lambda$convertRetargetFlags$1(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):46 -> a
    44:50:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):127:133 -> a
    44:50:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethodEmulatedDispatch(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):78 -> a
    44:50:void lambda$convertRetargetFlags$1(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):46 -> a
    51:51:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):132:132 -> a
    51:51:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethodEmulatedDispatch(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):78 -> a
    51:51:void lambda$convertRetargetFlags$1(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):46 -> a
    52:59:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):83:90 -> a
    52:59:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):41 -> a
    60:60:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.seemsToNeedEmulatedDispatch(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):107:107 -> a
    60:60:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):93 -> a
    60:60:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):41 -> a
    61:61:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    61:61:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.seemsToNeedEmulatedDispatch(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):108 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    61:61:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):93 -> a
    61:61:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):41 -> a
    62:62:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    62:62:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.seemsToNeedEmulatedDispatch(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):108 -> a
    62:62:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):93 -> a
    62:62:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):41 -> a
    63:63:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.seemsToNeedEmulatedDispatch(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):108:108 -> a
    63:63:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):93 -> a
    63:63:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):41 -> a
    64:73:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertRetargetMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):94:103 -> a
    64:73:void lambda$convertRetargetFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):41 -> a
    74:92:boolean isEmulatedInterfaceDispatch(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags):143:161 -> a
    93:95:com.android.tools.r8.utils.TraversalContinuation lambda$isEmulatedInterfaceDispatch$2(java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):158:160 -> a
    96:96:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.continueIf(boolean):17:17 -> a
    96:96:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.breakIf(boolean):13 -> a
    96:96:com.android.tools.r8.utils.TraversalContinuation lambda$isEmulatedInterfaceDispatch$2(java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):157 -> a
    97:97:void convertNonEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):176:176 -> a
    98:100:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertNonEmulatedRetarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.BiConsumer):169:171 -> a
    98:100:void convertNonEmulatedVirtualRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):176 -> a
    101:101:void lambda$convertNonEmulatedVirtualRetarget$3(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):184:184 -> a
    102:102:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withExtraArgumentPrepended(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):317:317 -> a
    102:102:void lambda$convertNonEmulatedVirtualRetarget$3(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):183 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    103:105:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withExtraArgumentPrepended(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):317:317 -> a
    103:105:void lambda$convertNonEmulatedVirtualRetarget$3(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):183 -> a
    106:106:void lambda$convertNonEmulatedVirtualRetarget$3(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):181:181 -> a
    1:1:void convertStaticRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):189:189 -> b
    2:4:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineRetargetConverter.convertNonEmulatedRetarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.function.BiConsumer):169:171 -> b
    2:4:void convertStaticRetarget(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):189 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineSpecificationConverter -> com.android.tools.r8.internal.jn:
    java.util.Set missingCustomConversions -> c
    com.android.tools.r8.utils.Timing timing -> d
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> a
    com.android.tools.r8.utils.Reporter reporter -> b
    1:1:void <init>(com.android.tools.r8.utils.Timing):41:41 -> <init>
    2:6:void <init>(com.android.tools.r8.utils.Timing):38:42 -> <init>
    1:1:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification convertForTesting(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):53:53 -> a
    2:4:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification convertForTesting(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):52:54 -> a
    5:11:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,com.android.tools.r8.graph.DexApplication):59:65 -> a
    12:17:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,com.android.tools.r8.graph.DexApplication):62:67 -> a
    18:24:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineSpecificationConverter.convertTopLevelFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags):74:80 -> a
    18:24:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,com.android.tools.r8.graph.DexApplication):67 -> a
    25:27:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification,com.android.tools.r8.graph.DexApplication):68:70 -> a
    28:32:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags convertRewritingFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification):85:89 -> a
    33:54:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags convertRewritingFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification):88:109 -> a
    55:55:void lambda$convertRewritingFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):103:103 -> a
    56:71:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineSpecificationConverter.convertCustomConversion(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):118:133 -> a
    56:71:void lambda$convertRewritingFlags$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):103 -> a
    72:73:void warnMissingDexString(java.lang.String,java.util.Set):143:144 -> a
    74:77:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineSpecificationConverter.warn(java.lang.String,java.util.List):149:152 -> a
    74:77:void warnMissingDexString(java.lang.String,java.util.Set):145 -> a
    1:2:void warnMissingReferences(java.lang.String,java.util.Set):137:138 -> b
    3:6:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineSpecificationConverter.warn(java.lang.String,java.util.List):149:152 -> b
    3:6:void warnMissingReferences(java.lang.String,java.util.Set):139 -> b
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter -> com.android.tools.r8.internal.kn:
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> a
    java.util.Set missingClasses -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):28:28 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppInfoWithClassHierarchy):26:29 -> <init>
    1:18:void convertWrappers(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,java.util.function.BiConsumer):37:54 -> a
    19:26:void lambda$convertWrappers$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexType,java.util.Set):40:47 -> a
    27:61:java.util.List com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter.allImplementedMethods(com.android.tools.r8.graph.DexClass,java.util.Set):59:93 -> a
    27:61:void lambda$convertWrappers$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexType,java.util.Set):49 -> a
    62:62:void lambda$convertWrappers$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexType,java.util.Set):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":69,"2":70,"3":71}}
    69:69:java.util.List com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter.allImplementedMethods(com.android.tools.r8.graph.DexClass,java.util.Set):93:93 -> a
    69:69:void lambda$convertWrappers$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexType,java.util.Set):49 -> a
    70:70:java.util.List com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter.allImplementedMethods(com.android.tools.r8.graph.DexClass,java.util.Set):93:93 -> a
    70:70:void lambda$convertWrappers$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexType,java.util.Set):49 -> a
    71:71:java.util.List com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter.allImplementedMethods(com.android.tools.r8.graph.DexClass,java.util.Set):93:93 -> a
    71:71:void lambda$convertWrappers$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexType,java.util.Set):49 -> a
    63:65:java.util.List com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.HumanToMachineWrapperConverter.allImplementedMethods(com.android.tools.r8.graph.DexClass,java.util.Set):93:95 -> a
    63:65:void lambda$convertWrappers$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexType,java.util.Set):49 -> a
    66:68:void lambda$convertWrappers$0(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineRewritingFlags$Builder,com.android.tools.r8.graph.DexType,java.util.Set):50:52 -> a
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter -> com.android.tools.r8.internal.eB:
    com.android.tools.r8.utils.Timing timing -> a
    com.android.tools.r8.utils.AndroidApiLevel LEGACY_HACK_LEVEL -> b
    boolean $assertionsDisabled -> c
    1:4:void <clinit>():46:49 -> <clinit>
    1:2:void <init>(com.android.tools.r8.utils.Timing):52:53 -> <init>
    1:6:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):78:83 -> a
    7:14:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.convertTopLevelFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags):310:317 -> a
    7:14:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):83 -> a
    15:17:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.convertTopLevelFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags):316:318 -> a
    15:17:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):83 -> a
    18:22:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):85:89 -> a
    23:30:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.legacyLibraryFlagHacks(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.origin.Origin):146:153 -> a
    23:30:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):91 -> a
    31:31:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.DexApplication.dexItemFactory():62:62 -> a
    31:31:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.legacyLibraryFlagHacks(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.origin.Origin):154 -> a
    31:31:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):91 -> a
    32:33:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.legacyLibraryFlagHacks(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.origin.Origin):154:155 -> a
    32:33:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):91 -> a
    34:39:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.MultiAPILevelHumanDesugaredLibrarySpecification convertAllAPILevels(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.MultiAPILevelLegacyDesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):93:98 -> a
    40:40:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convertForTesting(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):110:110 -> a
    41:43:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convertForTesting(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,java.nio.file.Path,java.nio.file.Path,com.android.tools.r8.utils.InternalOptions):109:111 -> a
    44:48:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.graph.DexApplication):116:120 -> a
    49:53:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.graph.DexApplication):117:121 -> a
    54:61:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.convertTopLevelFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags):310:317 -> a
    54:61:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.graph.DexApplication):121 -> a
    62:64:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanTopLevelFlags com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.convertTopLevelFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyTopLevelFlags):316:318 -> a
    62:64:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.graph.DexApplication):121 -> a
    65:72:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.graph.DexApplication):126:133 -> a
    73:73:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.DexApplication.dexItemFactory():62:62 -> a
    73:73:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.graph.DexApplication):134 -> a
    74:81:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanDesugaredLibrarySpecification convert(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyDesugaredLibrarySpecification,com.android.tools.r8.graph.DexApplication):134:141 -> a
    82:93:void legacyLibraryFlagHacks(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):163:174 -> a
    94:105:void legacyLibraryFlagHacks(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):172:183 -> a
    106:111:void legacyLibraryFlagHacks(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder):181:186 -> a
    112:113:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap convertRewritingFlagMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.origin.Origin):191:192 -> a
    114:114:void lambda$convertRewritingFlagMap$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.origin.Origin,java.lang.Integer,com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags):192:192 -> a
    115:132:com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags convertRewritingFlags(com.android.tools.r8.ir.desugar.desugaredlibrary.legacyspecification.LegacyRewritingFlags,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.origin.Origin):198:215 -> a
    133:133:void lambda$convertRewritingFlags$1(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):202:202 -> a
    134:139:void com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LegacyToHumanSpecificationConverter.convertDontRewriteInvocation(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.Pair):243:248 -> a
    134:139:void lambda$convertRewritingFlags$3(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.Pair):213 -> a
    140:140:void convertRetargetCoreLibMember(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.Map):257:257 -> a
    141:149:void lambda$convertRetargetCoreLibMember$5(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):259:267 -> a
    150:150:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    150:150:void lambda$convertRetargetCoreLibMember$5(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):267 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    151:151:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    151:151:void lambda$convertRetargetCoreLibMember$5(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):267 -> a
    152:152:void lambda$convertRetargetCoreLibMember$5(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):271:271 -> a
    153:153:void lambda$convertRetargetCoreLibMember$5(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):270:270 -> a
    154:154:void lambda$convertRetargetCoreLibMember$5(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):268:268 -> a
    155:159:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication):282:286 -> a
    160:160:com.android.tools.r8.graph.DexItemFactory com.android.tools.r8.graph.DexApplication.dexItemFactory():62:62 -> a
    160:160:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication):289 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    161:171:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication):290:300 -> a
    172:172:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":475,"2":476,"3":477}}
    475:475:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication):300:300 -> a
    476:476:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication):300:300 -> a
    477:477:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication):300:300 -> a
    474:474:java.util.List findMethodsWithName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication):302:302 -> a
    478:478:boolean lambda$findMethodsWithName$6(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):283:283 -> a
    1:1:void lambda$convertRewritingFlags$2(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.Map):210:210 -> b
    2:3:void lambda$rewritePrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):233:234 -> b
    4:4:void lambda$rewritePrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":239,"2":240,"3":241}}
    239:239:void lambda$rewritePrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):234:234 -> b
    240:240:void lambda$rewritePrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):234:234 -> b
    241:241:void lambda$rewritePrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):234:234 -> b
    238:238:void lambda$rewritePrefix$4(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):234:234 -> b
    1:17:void rewritePrefix(com.android.tools.r8.ir.desugar.desugaredlibrary.humanspecification.HumanRewritingFlags$Builder,java.lang.String,java.lang.String):222:238 -> c
com.android.tools.r8.ir.desugar.desugaredlibrary.specificationconversion.LibraryValidator -> com.android.tools.r8.internal.EB:
    1:12:void validate(com.android.tools.r8.graph.DexApplication,boolean,com.android.tools.r8.utils.AndroidApiLevel):25:36 -> a
    13:13:void validate(com.android.tools.r8.graph.DexApplication,boolean,com.android.tools.r8.utils.AndroidApiLevel):30:30 -> a
com.android.tools.r8.ir.desugar.icce.AlwaysThrowingInstructionDesugaring -> com.android.tools.r8.internal.I1:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():35:35 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):39:40 -> <init>
    1:2:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):53:54 -> a
    3:3:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):65:65 -> a
    4:8:com.android.tools.r8.ir.desugar.DesugarDescription computeDesugarDescription(com.android.tools.r8.cf.code.CfInstruction):69:73 -> a
    9:9:boolean com.android.tools.r8.ir.desugar.icce.AlwaysThrowingInstructionDesugaring.shouldRewriteInvokeToThrow(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult):83:83 -> a
    9:9:com.android.tools.r8.ir.desugar.DesugarDescription computeDesugarDescription(com.android.tools.r8.cf.code.CfInstruction):74 -> a
    10:10:boolean com.android.tools.r8.graph.MethodResolutionResult.isArrayCloneMethodResult():0:0 -> a
    10:10:boolean com.android.tools.r8.ir.desugar.icce.AlwaysThrowingInstructionDesugaring.shouldRewriteInvokeToThrow(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult):83 -> a
    10:10:com.android.tools.r8.ir.desugar.DesugarDescription computeDesugarDescription(com.android.tools.r8.cf.code.CfInstruction):74 -> a
    11:16:boolean com.android.tools.r8.ir.desugar.icce.AlwaysThrowingInstructionDesugaring.shouldRewriteInvokeToThrow(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult):86:91 -> a
    11:16:com.android.tools.r8.ir.desugar.DesugarDescription computeDesugarDescription(com.android.tools.r8.cf.code.CfInstruction):74 -> a
    17:20:com.android.tools.r8.ir.desugar.DesugarDescription computeDesugarDescription(com.android.tools.r8.cf.code.CfInstruction):75:78 -> a
    21:37:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeAsThrowRewrite(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult):96:112 -> a
    38:38:java.util.Collection lambda$computeInvokeAsThrowRewrite$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):104:104 -> a
    39:53:java.util.Collection getThrowInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):125:139 -> a
    54:54:boolean com.android.tools.r8.graph.MethodResolutionResult.isIncompatibleClassChangeErrorResult():0:0 -> a
    54:54:java.util.Collection getThrowInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):141 -> a
    55:87:java.util.Collection getThrowInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):142:174 -> a
    88:110:java.util.Collection getThrowInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):170:192 -> a
    111:118:java.util.Collection getThrowInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):189:196 -> a
com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo -> com.android.tools.r8.internal.Mu:
    com.android.tools.r8.graph.CfCode virtualMethodCode -> d
    com.android.tools.r8.graph.ProgramMethod newDirectMethod -> b
    com.android.tools.r8.graph.ProgramMethod virtualMethod -> c
    1:4:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.CfCode):17:20 -> <init>
    1:1:com.android.tools.r8.graph.ProgramMethod getNewDirectMethod():24:24 -> a
    1:1:com.android.tools.r8.graph.ProgramMethod getVirtualMethod():28:28 -> b
    1:1:com.android.tools.r8.graph.CfCode getVirtualMethodCode():32:32 -> c
    1:1:int compareTo(java.lang.Object):10:10 -> compareTo
    2:2:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo.getNewDirectMethod():24:24 -> compareTo
    2:2:int com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo.compareTo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):37 -> compareTo
    2:2:int compareTo(java.lang.Object):10 -> compareTo
    3:3:int com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo.compareTo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):37:37 -> compareTo
    3:3:int compareTo(java.lang.Object):10 -> compareTo
    4:4:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo.getNewDirectMethod():24:24 -> compareTo
    4:4:int com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo.compareTo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):37 -> compareTo
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:int compareTo(java.lang.Object):10 -> compareTo
    5:5:int com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo.compareTo(com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialBridgeInfo):37:37 -> compareTo
    5:5:int compareTo(java.lang.Object):10 -> compareTo
com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring -> com.android.tools.r8.internal.Nu:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:2:void <init>(com.android.tools.r8.graph.AppView):35:36 -> <init>
    1:2:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):41:42 -> a
    3:3:com.android.tools.r8.graph.ProgramMethod needsDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):49:49 -> a
    4:4:boolean com.android.tools.r8.cf.code.CfInvoke.isInvokeConstructor(com.android.tools.r8.graph.DexItemFactory):141:141 -> a
    4:4:com.android.tools.r8.graph.ProgramMethod needsDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):49 -> a
    5:14:com.android.tools.r8.graph.ProgramMethod needsDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):53:62 -> a
    15:15:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> a
    15:15:com.android.tools.r8.graph.ProgramMethod needsDesugaring(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):62 -> a
    16:17:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):79:80 -> a
    18:26:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):89:97 -> a
    18:26:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    27:27:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    27:27:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    28:28:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):136:136 -> a
    28:28:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    28:28:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    28:28:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    29:29:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":59,"2":60,"3":61}}
    59:59:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):136:136 -> a
    59:59:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    59:59:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    59:59:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    60:60:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):136:136 -> a
    60:60:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    60:60:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    60:60:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    61:61:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):136:136 -> a
    61:61:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    61:61:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    61:61:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    30:30:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    30:30:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):138 -> a
    30:30:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    30:30:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    30:30:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    31:31:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):138:138 -> a
    31:31:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    31:31:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    31:31:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    32:32:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):335:335 -> a
    32:32:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):137 -> a
    32:32:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    32:32:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    32:32:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(4)"]}
    33:33:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):335:335 -> a
    33:33:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.getInvokeSpecialBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):137 -> a
    33:33:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):109 -> a
    33:33:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    33:33:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    34:54:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):110:130 -> a
    34:54:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    34:54:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    55:57:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):103:103 -> a
    55:57:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
    58:58:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.ensureInvokeSpecialBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer):130:130 -> a
    58:58:java.util.List com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.invokespecial.InvokeSpecialToSelfDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):102 -> a
    58:58:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor -> com.android.tools.r8.internal.Fa:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper helper -> c
    com.android.tools.r8.utils.MethodSignatureEquivalence equivalence -> d
    boolean $assertionsDisabled -> l
    boolean needsLibraryInfo -> e
    java.util.Map interfaceInfo -> i
    java.util.Map newSyntheticMethods -> j
    java.util.Map newExtraInterfaceSignatures -> k
    java.util.function.Predicate isLiveMethod -> f
    java.util.Map classInfo -> g
    java.util.Map libraryClassInfo -> h
    1:1:void <clinit>():66:66 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Predicate):374:374 -> <init>
    2:29:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Predicate):353:380 -> <init>
    1:1:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.isLiveMethod(com.android.tools.r8.graph.DexClassAndMethod):384:384 -> a
    1:1:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):673 -> a
    2:2:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    2:2:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.isLiveMethod(com.android.tools.r8.graph.DexClassAndMethod):384 -> a
    2:2:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):673 -> a
    3:3:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.isLiveMethod(com.android.tools.r8.graph.DexClassAndMethod):385:385 -> a
    3:3:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):673 -> a
    4:5:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):673:674 -> a
    6:24:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):806:824 -> a
    6:24:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):675 -> a
    25:31:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):823:829 -> a
    25:31:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):675 -> a
    32:32:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):812:812 -> a
    32:32:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):675 -> a
    33:33:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    33:33:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):815 -> a
    33:33:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):675 -> a
    34:35:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addForwardingMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):815:816 -> a
    34:35:void lambda$resolveForwardingMethods$8(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexMethod):675 -> a
    36:37:void process(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer):400:401 -> a
    38:38:void lambda$process$0(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):406:406 -> a
    39:48:void finalizeProcessing(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer):413:422 -> a
    49:53:void lambda$finalizeProcessing$1(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.ProgramMethodSet):415:419 -> a
    54:57:void lambda$finalizeProcessing$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):424:427 -> a
    58:61:void lambda$finalizeProcessing$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass,java.util.List):426:429 -> a
    62:68:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures getDefaultMethods(com.android.tools.r8.graph.DexClass):460:466 -> a
    69:69:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.create(java.util.Set):74:74 -> a
    69:69:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures getDefaultMethods(com.android.tools.r8.graph.DexClass):466 -> a
    70:73:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):503:506 -> a
    74:74:java.util.Set com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.getEmulatedInterfaces():239:239 -> a
    74:74:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):506 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    75:76:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):506:507 -> a
    77:77:java.util.Set com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.getEmulatedInterfaces():239:239 -> a
    77:77:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):508 -> a
    78:81:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):508:511 -> a
    82:82:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    82:82:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):511 -> a
    83:85:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):511:511 -> a
    87:97:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):513:523 -> a
    98:98:java.util.Set com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.getEmulatedInterfaces():239:239 -> a
    98:98:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):526 -> a
    99:142:void duplicateEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):526:569 -> a
    143:152:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):555:564 -> a
    153:153:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):558:558 -> a
    154:154:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":719,"2":720,"3":721}}
    719:719:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):558:558 -> a
    720:720:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):558:558 -> a
    721:721:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):558:558 -> a
    714:716:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):560:562 -> a
    717:717:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    717:717:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):562 -> a
    718:718:void lambda$duplicateEmulatedInterfaces$3(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):562:562 -> a
    722:735:void collectEmulatedInterfaces(com.android.tools.r8.graph.DexClass,java.util.Set,java.util.Map):577:590 -> a
    736:740:void lambda$collectEmulatedInterfaces$4(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):580:584 -> a
    741:747:void lambda$collectEmulatedInterfaces$4(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):581:587 -> a
    748:748:void lambda$collectEmulatedInterfaces$4(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.GenericSignature$ClassTypeSignature):586:586 -> a
    749:751:void lambda$collectEmulatedInterfaces$5(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType):592:594 -> a
    752:755:void lambda$collectEmulatedInterfaces$5(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType):593:596 -> a
    756:777:void collectEmulatedInterfacesWithPropagatedTypeArguments(com.android.tools.r8.graph.DexType,java.util.List,java.util.Set,java.util.Map):607:628 -> a
    778:782:void lambda$collectEmulatedInterfacesWithPropagatedTypeArguments$6(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):617:621 -> a
    783:788:void lambda$collectEmulatedInterfacesWithPropagatedTypeArguments$6(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):618:623 -> a
    789:795:void resolveForwardingMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):665:671 -> a
    796:796:void resolveForwardingMethods(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):669:669 -> a
    797:809:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):685:697 -> a
    810:810:boolean com.android.tools.r8.graph.MethodResolutionResult.isSuccessfulMemberResolutionResult():0:0 -> a
    810:810:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):698 -> a
    811:811:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):700:700 -> a
    812:818:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):699:705 -> a
    819:819:boolean com.android.tools.r8.graph.MethodResolutionResult.isIncompatibleClassChangeErrorResult():0:0 -> a
    819:819:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):706 -> a
    820:820:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addICCEThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):751:751 -> a
    820:820:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):707 -> a
    821:821:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):710:710 -> a
    822:822:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addNoSuchMethodErrorThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):759:759 -> a
    822:822:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):711 -> a
    823:823:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):714:714 -> a
    824:824:void com.android.tools.r8.ir.desugar.itf.ClassProcessor.addIllegalAccessErrorThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):755:755 -> a
    824:824:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):715 -> a
    825:825:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):719:719 -> a
    826:826:boolean com.android.tools.r8.graph.MethodResolutionResult.isSuccessfulMemberResolutionResult():0:0 -> a
    826:826:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):719 -> a
    827:830:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):719:722 -> a
    831:831:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> a
    831:831:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):725 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    832:832:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> a
    832:832:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):725 -> a
    833:836:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):726:726 -> a
    842:844:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):732:734 -> a
    845:850:void resolveForwardForSignature(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,java.util.function.BiConsumer):733:738 -> a
    851:851:void lambda$resolveForwardForSignature$9(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.DexEncodedMethod):697:697 -> a
    852:854:void addSyntheticMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):745:747 -> a
    855:855:boolean com.android.tools.r8.utils.collections.ProgramMethodSet.createAndAdd(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):78:78 -> a
    855:855:void addSyntheticMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):747 -> a
    856:856:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$addSyntheticMethod$10(com.android.tools.r8.graph.DexProgramClass):746:746 -> a
    857:860:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):763:766 -> a
    861:861:com.android.tools.r8.graph.AccessFlags$BuilderBase com.android.tools.r8.graph.AccessFlags$BuilderBase.setPublic():355:355 -> a
    861:861:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):766 -> a
    862:867:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):766:771 -> a
    868:871:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.itf.ClassProcessor.createExceptionThrowingCfCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):784:787 -> a
    868:871:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):773 -> a
    872:882:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.itf.ClassProcessor.createExceptionThrowingCfCode(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodAccessFlags,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):785:795 -> a
    872:882:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):773 -> a
    883:887:void addThrowingMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):772:776 -> a
    888:889:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):883:884 -> a
    888:889:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    890:895:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):836:841 -> a
    890:895:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):868 -> a
    890:895:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):884 -> a
    890:895:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    896:896:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):869:869 -> a
    896:896:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):884 -> a
    896:896:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    897:897:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):885:885 -> a
    897:897:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    898:898:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.ignoreLibraryInfo():395:395 -> a
    898:898:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):898 -> a
    898:898:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):885 -> a
    898:898:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    899:899:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType) -> a
    899:899:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):885 -> a
    899:899:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    900:903:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):836:839 -> a
    900:903:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):901 -> a
    900:903:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):885 -> a
    900:903:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    904:904:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor$LibraryReportingContext.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):341:341 -> a
    904:904:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):839 -> a
    904:904:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):901 -> a
    904:904:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):885 -> a
    904:904:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    905:905:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):902:902 -> a
    905:905:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):885 -> a
    905:905:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    906:906:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888:888 -> a
    906:906:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    907:907:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo.isEmpty():143:143 -> a
    907:907:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    907:907:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    908:908:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195:195 -> a
    908:908:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    908:908:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    909:909:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    909:909:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    909:909:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    909:909:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    910:910:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    910:910:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195 -> a
    910:910:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    910:910:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    911:911:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195:195 -> a
    911:911:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888 -> a
    911:911:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    912:914:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):888:890 -> a
    912:914:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    915:920:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):836:841 -> a
    915:920:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):923 -> a
    915:920:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):891 -> a
    915:920:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    921:921:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):924:924 -> a
    921:921:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):891 -> a
    921:921:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    922:922:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):891:891 -> a
    922:922:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    923:928:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):479:484 -> a
    923:928:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):893 -> a
    923:928:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    929:937:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.shouldResolveForwardingMethodsForEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):644:652 -> a
    929:937:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):484 -> a
    929:937:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):893 -> a
    929:937:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    938:938:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    938:938:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.shouldResolveForwardingMethodsForEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):652 -> a
    938:938:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):484 -> a
    938:938:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):893 -> a
    938:938:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    939:939:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.shouldResolveForwardingMethodsForEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):652:652 -> a
    939:939:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):484 -> a
    939:939:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):893 -> a
    939:939:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    940:940:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo.contains(com.android.tools.r8.graph.DexType):287:287 -> a
    940:940:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.shouldResolveForwardingMethodsForEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):653 -> a
    940:940:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):484 -> a
    940:940:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):893 -> a
    940:940:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    941:941:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.contains(com.android.tools.r8.graph.DexType):235:235 -> a
    941:941:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo.contains(com.android.tools.r8.graph.DexType):287 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    941:941:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.shouldResolveForwardingMethodsForEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):653 -> a
    941:941:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):484 -> a
    941:941:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):893 -> a
    941:941:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    942:942:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.contains(com.android.tools.r8.graph.DexType):235:235 -> a
    942:942:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo.contains(com.android.tools.r8.graph.DexType):287 -> a
    942:942:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.shouldResolveForwardingMethodsForEmulatedInterfaces(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):653 -> a
    942:942:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):484 -> a
    942:942:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):893 -> a
    942:942:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    943:943:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.emulatedInterfaceSignaturesToForward():191:191 -> a
    943:943:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):489 -> a
    943:943:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):893 -> a
    943:943:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    944:946:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.withoutAll(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):100:102 -> a
    944:946:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.emulatedInterfaceSignaturesToForward():191 -> a
    944:946:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):489 -> a
    944:946:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):893 -> a
    944:946:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    947:953:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):486:492 -> a
    947:953:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):893 -> a
    947:953:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    954:956:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo.create(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):137:139 -> a
    954:956:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):492 -> a
    954:956:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):893 -> a
    954:956:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    957:957:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):495:495 -> a
    957:957:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):893 -> a
    957:957:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    958:960:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo.create(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):137:139 -> a
    958:960:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):494 -> a
    958:960:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitClassInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):893 -> a
    958:960:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo lambda$visitClassInfo$11(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):877 -> a
    961:961:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):914:914 -> a
    962:962:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.ignoreLibraryInfo():395:395 -> a
    962:962:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):898 -> a
    962:962:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):914 -> a
    963:963:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):899:899 -> a
    963:963:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):914 -> a
    964:967:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):836:839 -> a
    964:967:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):901 -> a
    964:967:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):914 -> a
    968:968:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor$LibraryReportingContext.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):341:341 -> a
    968:968:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):839 -> a
    968:968:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):901 -> a
    968:968:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):914 -> a
    969:969:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitLibraryClassInfo(com.android.tools.r8.graph.DexType):902:902 -> a
    969:969:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):914 -> a
    970:971:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):915:916 -> a
    972:975:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):836:839 -> a
    972:975:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):923 -> a
    972:975:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):917 -> a
    976:976:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):924:924 -> a
    976:976:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):917 -> a
    977:977:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfoRaw(com.android.tools.r8.graph.DexLibraryClass):917:917 -> a
    1:4:void lambda$collectEmulatedInterfacesWithPropagatedTypeArguments$7(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType):630:633 -> b
    5:9:void lambda$collectEmulatedInterfacesWithPropagatedTypeArguments$7(java.util.Set,java.util.Map,com.android.tools.r8.graph.DexType):631:635 -> b
    10:10:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):906:906 -> b
    11:11:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> b
    11:11:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):907 -> b
    12:13:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):908:909 -> b
    14:25:java.lang.Object com.android.tools.r8.ir.desugar.itf.ClassProcessor.reentrantComputeIfAbsent(java.util.Map,com.android.tools.r8.graph.DexClass,java.util.function.Function):852:863 -> b
    14:25:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):908 -> b
    26:26:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):908:908 -> b
    27:27:java.lang.Object com.android.tools.r8.ir.desugar.itf.ClassProcessor.reentrantComputeIfAbsent(java.util.Map,com.android.tools.r8.graph.DexClass,java.util.function.Function):864:864 -> b
    27:27:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):908 -> b
    28:28:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitLibraryClassInfo(com.android.tools.r8.graph.DexClass):910:910 -> b
    29:31:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):936:938 -> b
    29:31:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):932 -> b
    32:37:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.ClassProcessor.definitionOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):836:841 -> b
    32:37:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):923 -> b
    32:37:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):939 -> b
    32:37:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):932 -> b
    38:38:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):924:924 -> b
    38:38:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):939 -> b
    38:38:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):932 -> b
    39:41:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):939:941 -> b
    39:41:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):932 -> b
    42:44:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeEmulatedInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):449:451 -> b
    42:44:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):942 -> b
    42:44:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):932 -> b
    45:45:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.needsLibraryInfo():391:391 -> b
    45:45:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeEmulatedInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):452 -> b
    45:45:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):942 -> b
    45:45:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):932 -> b
    46:50:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeEmulatedInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):452:456 -> b
    46:50:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):942 -> b
    46:50:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):932 -> b
    51:53:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):436:438 -> b
    51:53:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):943 -> b
    51:53:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):932 -> b
    54:54:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> b
    54:54:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):440 -> b
    54:54:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):943 -> b
    54:54:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):932 -> b
    55:55:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.needsLibraryInfo():391:391 -> b
    55:55:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):440 -> b
    55:55:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):943 -> b
    55:55:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):932 -> b
    56:58:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.computeInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):440:442 -> b
    56:58:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo com.android.tools.r8.ir.desugar.itf.ClassProcessor.visitInterfaceInfoRaw(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):943 -> b
    56:58:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo lambda$visitInterfaceInfo$12(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext,com.android.tools.r8.graph.DexClass):932 -> b
    1:2:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo visitClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):873:874 -> c
    3:3:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> c
    3:3:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo visitClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):874 -> c
    4:6:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo visitClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):875:877 -> c
    7:18:java.lang.Object com.android.tools.r8.ir.desugar.itf.ClassProcessor.reentrantComputeIfAbsent(java.util.Map,com.android.tools.r8.graph.DexClass,java.util.function.Function):852:863 -> c
    7:18:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo visitClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):877 -> c
    19:19:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo visitClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):877:877 -> c
    20:20:java.lang.Object com.android.tools.r8.ir.desugar.itf.ClassProcessor.reentrantComputeIfAbsent(java.util.Map,com.android.tools.r8.graph.DexClass,java.util.function.Function):864:864 -> c
    20:20:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo visitClassInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):877 -> c
    1:1:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> d
    1:1:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):928 -> d
    2:2:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor.ignoreLibraryInfo():395:395 -> d
    2:2:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):928 -> d
    3:5:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):929:931 -> d
    6:17:java.lang.Object com.android.tools.r8.ir.desugar.itf.ClassProcessor.reentrantComputeIfAbsent(java.util.Map,com.android.tools.r8.graph.DexClass,java.util.function.Function):852:863 -> d
    6:17:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):931 -> d
    18:18:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):931:931 -> d
    19:19:java.lang.Object com.android.tools.r8.ir.desugar.itf.ClassProcessor.reentrantComputeIfAbsent(java.util.Map,com.android.tools.r8.graph.DexClass,java.util.function.Function):864:864 -> d
    19:19:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo visitInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext):931 -> d
com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo -> com.android.tools.r8.internal.ya:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo parent -> a
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo EMPTY -> d
    com.android.tools.r8.com.google.common.collect.ImmutableList forwardedMethodTargets -> b
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo emulatedInterfaceInfo -> c
    1:2:void <clinit>():111:112 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.desugar.itf.ClassProcessor$ClassInfo,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):127:130 -> <init>
    1:5:boolean isTargetedByForwards(com.android.tools.r8.graph.DexClassAndMethod):147:151 -> a
    6:6:boolean lambda$isTargetedByForwards$0(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexEncodedMethod):150:150 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo -> com.android.tools.r8.internal.za:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures signatures -> a
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces emulatedInterfaces -> b
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo EMPTY -> c
    boolean $assertionsDisabled -> d
    1:3:void <clinit>():256:258 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces,com.android.tools.r8.ir.desugar.itf.ClassProcessor$1):256:256 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):265:267 -> <init>
    1:8:com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):271:278 -> a
    9:9:boolean isEmpty():282:282 -> a
    10:10:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.isEmpty():231:231 -> a
    10:10:boolean isEmpty():282 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.isEmpty():231:231 -> a
    11:11:boolean isEmpty():282 -> a
    12:12:boolean isEmpty():282:282 -> a
    13:13:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    13:13:boolean isEmpty():282 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    14:14:boolean isEmpty():282 -> a
    15:16:boolean isEmpty():282:283 -> a
    17:17:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.isEmpty():231:231 -> a
    17:17:boolean isEmpty():283 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:18:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces.isEmpty():231:231 -> a
    18:18:boolean isEmpty():283 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces -> com.android.tools.r8.internal.Aa:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces EMPTY -> b
    java.util.Set emulatedInterfaces -> a
    1:1:void <clinit>():218:218 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexType):222:223 -> <init>
    3:4:void <init>(java.util.Set):226:227 -> <init>
    1:4:com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaces):243:246 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$LibraryReportingContext -> com.android.tools.r8.internal.Ba:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$LibraryReportingContext LIBRARY_CONTEXT -> d
    1:1:void <clinit>():328:328 -> <clinit>
    1:1:void <init>():331:331 -> <init>
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext forClass(com.android.tools.r8.graph.DexClass) -> a
    void reportMissingType(com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):341:341 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures -> com.android.tools.r8.internal.Ca:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures EMPTY -> b
    java.util.Set signatures -> a
    1:1:void <clinit>():71:71 -> <clinit>
    1:2:void <init>(java.util.Set):79:80 -> <init>
    1:1:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    1:1:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):84 -> a
    2:2:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    2:2:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    3:3:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):87 -> a
    4:6:com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):90:92 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext -> com.android.tools.r8.internal.Da:
    com.android.tools.r8.graph.DexClass directSubClass -> a
    com.android.tools.r8.graph.DexProgramClass closestProgramSubClass -> b
    java.util.function.BiConsumer reportMissingTypeCallback -> c
    1:4:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.BiConsumer):301:304 -> <init>
    1:5:com.android.tools.r8.ir.desugar.itf.ClassProcessor$ReportingContext forClass(com.android.tools.r8.graph.DexClass):308:312 -> a
    6:6:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):317:317 -> a
    7:10:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):162:165 -> a
    7:10:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):317 -> a
    11:11:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    11:11:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):166 -> a
    11:11:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):317 -> a
    12:12:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):167:167 -> a
    12:12:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):317 -> a
    13:13:void reportMissingType(com.android.tools.r8.graph.DexType):321:321 -> a
com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo -> com.android.tools.r8.internal.Ea:
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo EMPTY -> c
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures signatures -> a
    com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo emulatedInterfaceInfo -> b
    1:1:void <clinit>():159:159 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures,com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):166:168 -> <init>
    1:1:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    1:1:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo withSignatures(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):199 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    2:2:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo withSignatures(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):199 -> a
    3:4:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo withSignatures(com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures):202:203 -> a
    5:5:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195:195 -> a
    5:5:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):179 -> a
    6:6:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    6:6:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):179 -> a
    7:7:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    7:7:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195 -> a
    7:7:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):179 -> a
    8:8:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195:195 -> a
    8:8:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):179 -> a
    9:9:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195:195 -> a
    9:9:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):182 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    10:10:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):182 -> a
    11:11:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$MethodSignatures.isEmpty():96:96 -> a
    11:11:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195 -> a
    11:11:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):182 -> a
    12:12:boolean com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo.isEmpty():195:195 -> a
    12:12:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):182 -> a
    13:15:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo merge(com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo):185:187 -> a
    16:20:com.android.tools.r8.ir.desugar.itf.ClassProcessor$SignaturesInfo withEmulatedInterfaceInfo(com.android.tools.r8.ir.desugar.itf.ClassProcessor$EmulatedInterfaceInfo):208:212 -> a
com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper -> com.android.tools.r8.internal.Ze:
    java.util.Set candidates -> a
    java.util.Set hidden -> b
    1:5:void <init>():17:21 -> <init>
    1:2:void merge(com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection):60:61 -> a
    3:8:void hideMatches(com.android.tools.r8.graph.DexMethod):65:70 -> a
    9:9:void addDefaultMethod(com.android.tools.r8.graph.DexEncodedMethod):76:76 -> a
    10:13:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection wrapInCollection():81:84 -> a
com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection -> com.android.tools.r8.internal.Ye:
    java.util.List hidden -> b
    java.util.List live -> a
    com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection EMPTY -> c
    1:2:void <clinit>():29:30 -> <clinit>
    1:1:void <init>(java.util.List,java.util.List,com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$1):28:28 -> <init>
    2:4:void <init>(java.util.List,java.util.List):37:39 -> <init>
    1:1:java.util.List access$000(com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection):28:28 -> a
    2:4:com.android.tools.r8.graph.DexMethod getSingleCandidate(com.android.tools.r8.graph.DexMethod):46:48 -> a
    1:1:java.util.List access$100(com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection):28:28 -> b
com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter -> com.android.tools.r8.internal.ii:
    java.util.Map emulatedInterfaces -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():22:22 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView):27:34 -> <init>
    1:1:void lambda$new$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):36:36 -> a
    2:2:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):41:41 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    3:3:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    4:4:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):41 -> a
    5:8:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):41:44 -> a
    9:15:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):56:62 -> a
    9:15:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    16:19:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.renameHolder(java.lang.Iterable,com.android.tools.r8.graph.DexType):119:122 -> a
    16:19:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):62 -> a
    16:19:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    20:20:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):63:63 -> a
    20:20:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    21:24:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.renameHolder(java.lang.Iterable,com.android.tools.r8.graph.DexType):119:122 -> a
    21:24:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):63 -> a
    21:24:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    25:33:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):64:72 -> a
    25:33:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    34:34:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    34:34:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):73 -> a
    34:34:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    35:50:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):74:89 -> a
    35:50:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    51:66:java.util.List com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.getRewrittenInterfacesOfEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):97:112 -> a
    51:66:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):91 -> a
    51:66:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    67:67:java.util.List com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.getRewrittenInterfacesOfEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):111:111 -> a
    67:67:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):91 -> a
    67:67:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    68:68:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceApplicationRewriter.rewriteEmulatedInterface(com.android.tools.r8.graph.DexProgramClass):90:90 -> a
    68:68:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45 -> a
    69:74:void rewriteApplication(com.android.tools.r8.graph.DexApplication$Builder):45:50 -> a
com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringForTesting -> com.android.tools.r8.internal.Kt:
    1:1:java.lang.String getCompanionClassNameSuffix():16:16 -> a
    2:2:java.lang.String getCompanionClassDescriptor(java.lang.String):28:28 -> a
    3:3:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassDescriptor(java.lang.String):135:135 -> a
    3:3:java.lang.String getCompanionClassDescriptor(java.lang.String):28 -> a
    1:1:java.lang.String getDefaultMethodPrefix():20:20 -> b
    1:1:java.lang.String getEmulateLibraryClassNameSuffix():12:12 -> c
    1:1:java.lang.String getPrivateMethodPrefix():24:24 -> d
com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper -> com.android.tools.r8.internal.Lt:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.cf.CfVersion MAX_INTERFACE_DESUGARED_CF_VERSION -> c
    java.util.function.Predicate shouldIgnoreFromReportsPredicate -> b
    boolean $assertionsDisabled -> d
    1:5:void <clinit>():51:55 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):69:71 -> <init>
    void lambda$ensureEmulatedInterfaceDispatchMethod$1(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder) -> a
    void lambda$ensureEmulatedInterfaceMarkerInterface$0(com.android.tools.r8.graph.DexClasspathClass) -> a
    1:1:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):96:96 -> a
    2:2:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    2:2:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):96 -> a
    3:3:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):96:96 -> a
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    4:4:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):96 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    5:5:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):96 -> a
    6:10:boolean isInDesugaredLibrary(com.android.tools.r8.graph.DexClass):96:100 -> a
    11:25:boolean isCompatibleDefaultMethod(com.android.tools.r8.graph.DexEncodedMethod):104:118 -> a
    26:26:boolean isCompatibleDefaultMethod(com.android.tools.r8.graph.DexEncodedMethod):111:111 -> a
    27:29:com.android.tools.r8.graph.DexMethod emulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.graph.DexType):124:126 -> a
    30:31:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):140:141 -> a
    32:32:java.lang.String com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getCompanionClassDescriptor(java.lang.String):135:135 -> a
    32:32:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):142 -> a
    33:33:com.android.tools.r8.graph.DexType getCompanionClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):143:143 -> a
    34:36:com.android.tools.r8.graph.DexClasspathClass ensureEmulatedInterfaceMarkerInterface(com.android.tools.r8.graph.DexType):168:170 -> a
    37:44:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod computeEmulatedInterfaceForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):232:239 -> a
    45:45:void com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod.<init>(com.android.tools.r8.graph.DexMethod):25:25 -> a
    45:45:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod computeEmulatedInterfaceForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):239 -> a
    46:47:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod computeEmulatedInterfaceForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):242:243 -> a
    48:54:com.android.tools.r8.graph.DexMethod ensureEmulatedInterfaceForwardingMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):247:253 -> a
    55:62:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):259:266 -> a
    63:63:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    63:63:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):266 -> a
    64:64:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):267:267 -> a
    65:65:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    65:65:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):267 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:66:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    66:66:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):267 -> a
    67:73:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):267:273 -> a
    74:86:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):271:283 -> a
    87:95:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):282:290 -> a
    96:96:com.android.tools.r8.graph.DexClassAndMethod ensureEmulatedInterfaceDispatchMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$ClasspathEmulatedInterfaceSynthesizerEventConsumer):286:286 -> a
    97:98:void lambda$ensureEmulatedInterfaceDispatchMethod$3(com.android.tools.r8.synthesis.SyntheticMethodBuilder):296:297 -> a
    99:99:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):301:301 -> a
    100:100:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    100:100:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):301 -> a
    101:105:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):302:306 -> a
    106:106:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.defaultAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):403:403 -> a
    106:106:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):306 -> a
    107:107:com.android.tools.r8.graph.DexClassAndMethod ensureDefaultAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod):307:307 -> a
    108:108:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):312:312 -> a
    109:109:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    109:109:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):312 -> a
    110:110:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):314:314 -> a
    111:114:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):313:316 -> a
    115:117:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):379:381 -> a
    115:117:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):317 -> a
    118:118:com.android.tools.r8.graph.DexClassAndMethod ensureStaticAsMethodOfCompanionClassStub(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):318:318 -> a
    119:121:com.android.tools.r8.graph.ProgramMethod ensureDefaultAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):323:325 -> a
    122:122:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.defaultAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):403:403 -> a
    122:122:com.android.tools.r8.graph.ProgramMethod ensureDefaultAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):325 -> a
    123:125:com.android.tools.r8.graph.ProgramMethod ensureDefaultAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):327:329 -> a
    126:126:com.android.tools.r8.graph.ProgramMethod ensureDefaultAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):326:326 -> a
    127:137:void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$5(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):332:342 -> a
    138:143:void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$5(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):339:344 -> a
    144:146:void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$5(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):343:345 -> a
    147:147:com.android.tools.r8.graph.Code lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$4(com.android.tools.r8.graph.DexMethod):345:345 -> a
    148:160:void lambda$ensurePrivateAsMethodOfProgramCompanionClassStub$8(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):360:372 -> a
    161:169:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):388:396 -> a
    170:170:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":570,"2":571,"3":572}}
    570:570:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):396:396 -> a
    571:571:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):396:396 -> a
    572:572:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):396:396 -> a
    566:567:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):396:397 -> a
    568:568:com.android.tools.r8.graph.DexMethod instanceAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.graph.DexItemFactory):394:394 -> a
    573:573:com.android.tools.r8.graph.DexMethod defaultAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):403:403 -> a
    574:577:com.android.tools.r8.graph.DexClassAndMethod ensureMethodOfClasspathCompanionClassStub(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView):419:422 -> a
    578:578:com.android.tools.r8.graph.DexClassAndMethod ensureMethodOfClasspathCompanionClassStub(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView):420:420 -> a
    579:579:void lambda$ensureStaticAsMethodOfProgramCompanionClassStub$16(com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):459:459 -> a
    580:591:com.android.tools.r8.graph.ProgramMethod ensureMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):464:475 -> a
    592:596:void ensureCompanionClassInitializesInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):480:484 -> a
    597:597:void ensureCompanionClassInitializesInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):481:481 -> a
    598:598:boolean lambda$findExistingStaticClinitFieldToTriggerInterfaceInitialization$19(com.android.tools.r8.graph.DexEncodedField):513:513 -> a
    599:602:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):521:524 -> a
    603:611:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):523:531 -> a
    612:612:com.android.tools.r8.graph.FieldAccessFlags$Builder com.android.tools.r8.graph.FieldAccessFlags.builder():48:48 -> a
    612:612:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):531 -> a
    613:613:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):531:531 -> a
    614:616:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):530:532 -> a
    617:617:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    617:617:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):534 -> a
    618:618:com.android.tools.r8.graph.DexEncodedField createStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):535:535 -> a
    619:619:boolean lambda$createStaticClinitFieldToTriggerInterfaceInitialization$20(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexField):527:527 -> a
    620:620:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):542:542 -> a
    621:623:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):541:543 -> a
    624:624:com.android.tools.r8.cf.CfVersion com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getInterfaceDesugaredCfVersion(com.android.tools.r8.cf.CfVersion):58:58 -> a
    624:624:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):543 -> a
    625:625:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
    625:625:com.android.tools.r8.cf.CfVersion com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.getInterfaceDesugaredCfVersion(com.android.tools.r8.cf.CfVersion):58 -> a
    625:625:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):543 -> a
    626:627:void createCompanionClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):543:544 -> a
    628:634:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$21(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):546:552 -> a
    635:635:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$21(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):551:551 -> a
    636:639:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.ensureStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):493:496 -> a
    636:639:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$21(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):557 -> a
    640:649:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$21(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):558:567 -> a
    650:650:com.android.tools.r8.graph.Code lambda$createCompanionClassInitializer$21(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):563:563 -> a
    651:657:java.util.function.Predicate getShouldIgnoreFromReportsPredicate(com.android.tools.r8.graph.AppView):573:579 -> a
    658:660:boolean lambda$getShouldIgnoreFromReportsPredicate$22(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):580:582 -> a
    661:664:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isRewrittenEmulatedInterface(com.android.tools.r8.graph.DexType):83:86 -> a
    661:664:boolean lambda$getShouldIgnoreFromReportsPredicate$22(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):583 -> a
    665:667:boolean lambda$getShouldIgnoreFromReportsPredicate$22(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexType):583:585 -> a
    668:668:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.shouldIgnoreFromReports(com.android.tools.r8.graph.DexType):590:590 -> a
    668:668:void warnMissingInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):597 -> a
    669:669:void warnMissingInterface(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):600:600 -> a
    void lambda$ensureMethodOfClasspathCompanionClassStub$10(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder) -> b
    void lambda$ensureMethodOfClasspathCompanionClassStub$11(com.android.tools.r8.graph.DexClasspathClass) -> b
    1:3:com.android.tools.r8.graph.DexType getEmulatedInterface(com.android.tools.r8.graph.DexType):90:92 -> b
    4:4:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):158:158 -> b
    5:5:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):148:148 -> b
    5:5:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):158 -> b
    6:11:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):158:163 -> b
    12:12:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):194:194 -> b
    13:13:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> b
    13:13:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.requiresEmulatedDispatch(com.android.tools.r8.graph.DexClassAndMethod):211 -> b
    13:13:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):195 -> b
    14:19:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.requiresEmulatedDispatch(com.android.tools.r8.graph.DexClassAndMethod):212:217 -> b
    14:19:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):195 -> b
    20:26:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.lookupMaximallySpecificIncludingSelf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):180:186 -> b
    20:26:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):199 -> b
    27:31:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):203:207 -> b
    32:32:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor getEmulatedDispatchDescriptor(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod):206:206 -> b
    33:33:com.android.tools.r8.graph.Code lambda$ensureEmulatedInterfaceDispatchMethod$2(com.android.tools.r8.graph.DexMethod):297:297 -> b
    34:34:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):352:352 -> b
    35:35:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):409:409 -> b
    35:35:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):352 -> b
    36:40:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):353:357 -> b
    41:41:com.android.tools.r8.graph.ProgramMethod ensurePrivateAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod):354:354 -> b
    42:42:com.android.tools.r8.graph.DexMethod privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):413:413 -> b
    43:43:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):409:409 -> b
    43:43:com.android.tools.r8.graph.DexMethod privateAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):413 -> b
    44:45:void lambda$ensureMethodOfClasspathCompanionClassStub$13(com.android.tools.r8.synthesis.SyntheticMethodBuilder):430:431 -> b
    46:48:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):436:438 -> b
    49:51:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.staticAsMethodOfCompanionClass(com.android.tools.r8.graph.DexClassAndMethod):379:381 -> b
    49:51:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):440 -> b
    52:56:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):441:445 -> b
    57:57:com.android.tools.r8.graph.ProgramMethod ensureStaticAsMethodOfProgramCompanionClassStub(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):442:442 -> b
    58:67:void lambda$ensureStaticAsMethodOfProgramCompanionClassStub$15(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):448:457 -> b
    68:68:void lambda$ensureCompanionClassInitializesInterface$17(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodBuilder):486:486 -> b
    69:69:boolean lambda$hasStaticMethodThatTriggersNonTrivialClassInitializer$18(com.android.tools.r8.graph.DexEncodedMethod):505:505 -> b
    70:70:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):513:513 -> b
    71:71:java.lang.Iterable com.android.tools.r8.graph.DexClass.staticFields(java.util.function.Predicate):377:377 -> b
    71:71:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):513 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    72:72:java.lang.Iterable com.android.tools.r8.graph.DexClass.staticFields(java.util.function.Predicate):377:377 -> b
    72:72:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):513 -> b
    73:73:com.android.tools.r8.graph.DexEncodedField findExistingStaticClinitFieldToTriggerInterfaceInitialization(com.android.tools.r8.graph.DexProgramClass):513:513 -> b
    void lambda$ensureDefaultAsMethodOfProgramCompanionClassStub$6(com.android.tools.r8.graph.ProgramMethod) -> c
    1:1:com.android.tools.r8.graph.DexType getInterfaceClassType(com.android.tools.r8.graph.DexType):153:153 -> c
    2:2:com.android.tools.r8.graph.Code lambda$ensureMethodOfClasspathCompanionClassStub$12(com.android.tools.r8.graph.DexMethod):431:431 -> c
    3:6:boolean hasStaticMethodThatTriggersNonTrivialClassInitializer(com.android.tools.r8.graph.DexProgramClass):502:505 -> c
    void lambda$ensurePrivateAsMethodOfProgramCompanionClassStub$9(com.android.tools.r8.graph.ProgramMethod) -> d
    1:5:boolean isEmulatedInterface(com.android.tools.r8.graph.DexType):75:79 -> d
    6:6:com.android.tools.r8.graph.Code lambda$ensurePrivateAsMethodOfProgramCompanionClassStub$7(com.android.tools.r8.graph.DexMethod):372:372 -> d
    1:1:com.android.tools.r8.graph.Code lambda$ensureStaticAsMethodOfProgramCompanionClassStub$14(com.android.tools.r8.graph.DexMethod):457:457 -> e
    2:2:boolean shouldIgnoreFromReports(com.android.tools.r8.graph.DexType):590:590 -> e
com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer -> com.android.tools.r8.internal.Nt:
    void acceptCompanionClassClinit(com.android.tools.r8.graph.ProgramMethod) -> a
    void acceptCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> a
com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade -> com.android.tools.r8.internal.Ot:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.itf.ClassProcessor classProcessor -> d
    com.android.tools.r8.ir.desugar.itf.InterfaceProcessor interfaceProcessor -> c
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor flavour -> b
    1:36:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,java.util.function.Predicate,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):0:35 -> <init>
    1:1:boolean lambda$processClassesConcurrently$0(com.android.tools.r8.graph.DexProgramClass):51:51 -> a
    2:5:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade.shouldProcess(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor):39:42 -> a
    2:5:boolean lambda$processClassesConcurrently$0(com.android.tools.r8.graph.DexProgramClass):51 -> a
    6:6:void lambda$processClassesConcurrently$1(com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,com.android.tools.r8.graph.DexProgramClass):52:52 -> a
    7:7:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):64:64 -> a
    1:3:void processClassesConcurrently(java.util.Collection,com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):50:50 -> b
    7:8:void processClassesConcurrently(java.util.Collection,com.android.tools.r8.ir.desugar.itf.InterfaceProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):54:55 -> b
com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter -> com.android.tools.r8.internal.Qt:
    com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper helper -> d
    com.android.tools.r8.graph.DexItemFactory factory -> c
    java.util.Set precedingDesugarings -> h
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> i
    com.android.tools.r8.utils.InternalOptions options -> b
    java.util.Set emulatedMethods -> e
    com.android.tools.r8.utils.collections.ProgramMethodSet synthesizedMethods -> f
    java.util.Map cache -> g
    1:1:void <clinit>():85:85 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Set):112:112 -> <init>
    2:28:void <init>(com.android.tools.r8.graph.AppView,java.util.Set):92:118 -> <init>
    boolean hasPreciseNeedsDesugaring() -> a
    1:12:void checkForAssumedLibraryTypes(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.utils.InternalOptions):122:133 -> a
    13:14:void lambda$checkForAssumedLibraryTypes$0(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):128:129 -> a
    15:17:void lambda$checkForAssumedLibraryTypes$1(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.CustomConversionDescriptor):135:137 -> a
    18:19:void registerType(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType):142:143 -> a
    20:20:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    20:20:void registerType(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType):144 -> a
    21:22:void registerType(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexType):144:145 -> a
    23:28:void lambda$registerType$2(com.android.tools.r8.graph.AppInfo,com.android.tools.r8.graph.DexEncodedMethod):147:152 -> a
    29:29:boolean isAlreadyDesugared(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):178:178 -> a
    30:30:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    30:30:boolean isAlreadyDesugared(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):178 -> a
    31:31:boolean lambda$isAlreadyDesugared$3(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaring):179:179 -> a
    32:32:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):227:227 -> a
    33:33:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):605:605 -> a
    33:33:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):227 -> a
    34:36:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):227:229 -> a
    37:37:void lambda$computeInvokeStatic$5(com.android.tools.r8.graph.ProgramMethod):338:338 -> a
    38:43:java.util.Collection lambda$computeInvokeStatic$9(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):381:386 -> a
    44:64:java.util.Collection lambda$computeInvokeStatic$9(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):384:404 -> a
    65:67:void lambda$computeInvokeStatic$8(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.synthesis.SyntheticMethodBuilder):390:392 -> a
    68:71:com.android.tools.r8.graph.Code lambda$computeInvokeStatic$7(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexMethod):394:397 -> a
    72:75:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceVirtualDispatchOrNull(com.android.tools.r8.cf.code.CfInvoke):457:460 -> a
    76:76:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.computeEmulatedInterfaceDispatchMethod(com.android.tools.r8.graph.MethodResolutionResult):223:223 -> a
    76:76:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceVirtualDispatchOrNull(com.android.tools.r8.cf.code.CfInvoke):460 -> a
    77:79:com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.computeEmulatedInterfaceDispatchMethod(com.android.tools.r8.graph.MethodResolutionResult):222:224 -> a
    77:79:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceVirtualDispatchOrNull(com.android.tools.r8.cf.code.CfInvoke):460 -> a
    80:93:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceVirtualDispatchOrNull(com.android.tools.r8.cf.code.CfInvoke):464:477 -> a
    94:96:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):482:484 -> a
    97:97:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    97:97:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):487 -> a
    98:154:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):495:551 -> a
    155:178:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):550:573 -> a
    179:179:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):570:570 -> a
    180:180:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):488:488 -> a
    181:181:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":684,"2":685,"3":686}}
    684:684:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):488:488 -> a
    685:685:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):488:488 -> a
    686:686:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):488:488 -> a
    672:673:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):491:492 -> a
    674:675:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):809:810 -> a
    674:675:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):492 -> a
    676:676:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):148:148 -> a
    676:676:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):810 -> a
    676:676:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):492 -> a
    677:680:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):811:814 -> a
    677:680:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):492 -> a
    681:681:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    681:681:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):814 -> a
    681:681:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):492 -> a
    682:682:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    682:682:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    682:682:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):492 -> a
    683:683:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeDirect(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):492:492 -> a
    687:688:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeAsThrowRewrite(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod):578:579 -> a
    689:689:java.util.Collection getInvokeStaticInstructions(com.android.tools.r8.graph.DexMethod):584:584 -> a
    690:690:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):605:605 -> a
    690:690:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):211 -> a
    691:691:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):214:214 -> a
    692:692:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):605:605 -> a
    692:692:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):193 -> a
    693:698:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):194:199 -> a
    699:699:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    699:699:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):199 -> a
    700:700:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):199:199 -> a
    701:702:boolean com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring.isLambdaInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):183:184 -> a
    701:702:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):200 -> a
    703:703:boolean com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring.isLambdaInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):182:182 -> a
    703:703:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):200 -> a
    704:706:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):200:202 -> a
    707:716:boolean com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.isStringConcatInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexItemFactory):225:234 -> a
    707:716:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):201 -> a
    717:717:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203:203 -> a
    718:718:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):611:611 -> a
    718:718:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    719:726:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):771:778 -> a
    719:726:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):611 -> a
    719:726:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    727:727:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":744,"2":745,"3":746}}
    744:744:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):778:778 -> a
    744:744:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):611 -> a
    744:744:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    745:745:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):778:778 -> a
    745:745:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):611 -> a
    745:745:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    746:746:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):778:778 -> a
    746:746:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):611 -> a
    746:746:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    728:728:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):780:780 -> a
    728:728:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):611 -> a
    728:728:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    729:730:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):612:613 -> a
    729:730:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    731:731:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> a
    731:731:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):613 -> a
    731:731:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    732:732:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):614:614 -> a
    732:732:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    733:740:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):771:778 -> a
    733:740:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):614 -> a
    733:740:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    741:741:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":747,"2":748,"3":749}}
    747:747:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):778:778 -> a
    747:747:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):614 -> a
    747:747:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    748:748:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):778:778 -> a
    748:748:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):614 -> a
    748:748:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    749:749:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):778:778 -> a
    749:749:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):614 -> a
    749:749:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    742:742:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportStaticInterfaceMethodHandle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethodHandle):780:780 -> a
    742:742:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportInterfaceMethodHandleCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):614 -> a
    742:742:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):203 -> a
    743:743:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):205:205 -> a
    750:750:void acceptCompanionMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer):623:623 -> a
    751:751:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    751:751:void acceptCompanionMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer):623 -> a
    752:753:void acceptCompanionMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer):623:624 -> a
    754:754:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    754:754:void acceptCompanionMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer):624 -> a
    755:755:void acceptCompanionMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringEventConsumer):625:625 -> a
    756:756:void lambda$rewriteInvokeSuper$14(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):637:637 -> a
    757:757:java.util.Collection lambda$rewriteInvokeSuper$15(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):670:670 -> a
    758:758:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    758:758:java.util.Collection lambda$rewriteInvokeSuper$15(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):672 -> a
    759:761:java.util.Collection lambda$rewriteInvokeSuper$15(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):673:675 -> a
    762:766:java.util.Collection lambda$rewriteInvokeSuper$15(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):674:678 -> a
    767:772:java.util.Collection lambda$rewriteInvokeSuper$15(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):677:682 -> a
    773:778:java.util.Collection lambda$rewriteInvokeSuper$16(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):694:699 -> a
    779:781:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.amendDefaultMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):790:792 -> a
    779:781:java.util.Collection lambda$rewriteInvokeSuper$16(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):699 -> a
    782:786:java.util.Collection lambda$rewriteInvokeSuper$16(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):700:704 -> a
    787:788:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceInvokeSpecial(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):715:716 -> a
    789:789:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> a
    789:789:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceInvokeSpecial(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):716 -> a
    790:793:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceInvokeSpecial(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):717:720 -> a
    794:794:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    794:794:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceInvokeSpecial(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):720 -> a
    795:832:com.android.tools.r8.ir.desugar.DesugarDescription computeEmulatedInterfaceInvokeSpecial(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):720:757 -> a
    833:836:java.util.Collection lambda$computeEmulatedInterfaceInvokeSpecial$17(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):729:732 -> a
    837:839:java.util.Collection lambda$computeEmulatedInterfaceInvokeSpecial$18(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):755:755 -> a
    840:840:com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getPostProcessingDesugaringD8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):798:798 -> a
    841:841:com.android.tools.r8.ir.desugar.itf.InterfaceMethodProcessorFacade getPostProcessingDesugaringR8(com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor,java.util.function.Predicate,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor):805:805 -> a
    842:842:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):819:819 -> a
    843:849:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):830:836 -> a
    843:849:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    850:850:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    850:850:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isNonDesugaredLibraryClass(com.android.tools.r8.graph.DexClass):767 -> a
    850:850:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):845 -> a
    850:850:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    851:851:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isNonDesugaredLibraryClass(com.android.tools.r8.graph.DexClass):767:767 -> a
    851:851:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):845 -> a
    851:851:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    852:878:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):850:876 -> a
    852:878:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    879:879:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):824:824 -> a
    880:880:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):837:837 -> a
    880:880:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    881:881:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":887,"2":888,"3":889}}
    887:887:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):837:837 -> a
    887:887:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    888:888:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):837:837 -> a
    888:888:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    889:889:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):837:837 -> a
    889:889:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    882:882:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":891,"2":892,"3":893}}
    891:891:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):839:839 -> a
    891:891:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    892:892:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):839:839 -> a
    892:892:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    893:893:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):839:839 -> a
    893:893:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    883:883:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):841:841 -> a
    883:883:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    884:884:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    884:884:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):841 -> a
    884:884:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    885:885:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    885:885:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    885:885:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):841 -> a
    885:885:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    886:886:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.createInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):841:841 -> a
    886:886:com.android.tools.r8.ir.desugar.itf.DefaultMethodsHelper$Collection getOrCreateInterfaceInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):823 -> a
    894:897:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):882:885 -> a
    898:898:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    898:898:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):885 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    899:900:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):809:810 -> a
    899:900:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):886 -> a
    901:901:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):148:148 -> a
    901:901:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):810 -> a
    901:901:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):886 -> a
    902:905:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):811:814 -> a
    902:905:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):886 -> a
    906:906:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    906:906:com.android.tools.r8.origin.Origin com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.getMethodOrigin(com.android.tools.r8.graph.DexMethod):814 -> a
    906:906:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):886 -> a
    907:908:void warnMissingType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):887:888 -> a
    909:909:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):893:893 -> a
    910:910:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    910:910:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):893 -> a
    911:912:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):893:894 -> a
    913:913:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    913:913:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):894 -> a
    914:915:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):894:895 -> a
    916:916:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    916:916:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):897 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    917:918:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):899:900 -> a
    919:919:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    919:919:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportDependencyEdge(com.android.tools.r8.DesugarGraphConsumer,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexClass):912 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    919:919:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):901 -> a
    920:920:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportDependencyEdge(com.android.tools.r8.DesugarGraphConsumer,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexClass):914:914 -> a
    920:920:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):901 -> a
    921:922:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):903:904 -> a
    923:923:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    923:923:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportDependencyEdge(com.android.tools.r8.DesugarGraphConsumer,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexClass):912 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    923:923:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):904 -> a
    924:924:void com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.reportDependencyEdge(com.android.tools.r8.DesugarGraphConsumer,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexClass):914:914 -> a
    924:924:void reportDependencyEdge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppInfo):904 -> a
    1:1:java.util.Set getEmulatedMethods():160:160 -> b
    2:11:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):240:249 -> b
    12:12:boolean com.android.tools.r8.cf.code.CfInvoke.isInvokeConstructor(com.android.tools.r8.graph.DexItemFactory):141:141 -> b
    12:12:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):249 -> b
    13:18:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):250:255 -> b
    19:22:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):290:293 -> b
    19:22:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    23:23:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> b
    23:23:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):293 -> b
    23:23:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    24:45:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):295:316 -> b
    24:45:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    46:46:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod) -> b
    46:46:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):316 -> b
    46:46:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    47:47:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):317:317 -> b
    47:47:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    48:48:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> b
    48:48:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):318 -> b
    48:48:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    49:51:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):321:323 -> b
    49:51:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    52:52:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeNonInterfaceInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):314:314 -> b
    52:52:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):256 -> b
    53:53:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):259:259 -> b
    54:54:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> b
    54:54:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):259 -> b
    55:68:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):261:274 -> b
    69:86:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):263:280 -> b
    87:90:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeInvokeSpecial(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):328:331 -> b
    87:90:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):281 -> b
    91:94:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):283:286 -> b
    95:110:com.android.tools.r8.ir.desugar.DesugarDescription com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.computeInvokeVirtualDispatch(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):438:453 -> b
    95:110:com.android.tools.r8.ir.desugar.DesugarDescription computeDescription(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):284 -> b
    111:114:void lambda$computeDescription$4(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):269:272 -> b
    115:123:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeStatic(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):336:344 -> b
    124:124:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> b
    124:124:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isNonDesugaredLibraryClass(com.android.tools.r8.graph.DexClass):767 -> b
    124:124:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeStatic(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):346 -> b
    125:125:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.isNonDesugaredLibraryClass(com.android.tools.r8.graph.DexClass):767:767 -> b
    125:125:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeStatic(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):346 -> b
    126:184:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeStatic(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):356:414 -> b
    185:185:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.shouldRewriteToInvokeToThrow(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,boolean):763:763 -> b
    185:185:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeStatic(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):414 -> b
    186:204:com.android.tools.r8.ir.desugar.DesugarDescription computeInvokeStatic(com.android.tools.r8.graph.DexClass,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):415:433 -> b
    205:205:void lambda$computeInvokeStatic$6(com.android.tools.r8.graph.ProgramMethod):359:359 -> b
    206:211:java.util.Collection lambda$computeEmulatedInterfaceVirtualDispatchOrNull$11(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):472:472 -> b
    212:212:java.util.Collection lambda$computeInvokeDirect$12(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):523:523 -> b
    213:213:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> b
    213:213:java.util.Collection lambda$computeInvokeDirect$12(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):524 -> b
    214:216:java.util.Collection lambda$computeInvokeDirect$12(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):525:527 -> b
    217:232:java.util.Collection lambda$computeInvokeDirect$12(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):526:541 -> b
    boolean lambda$getPostProcessingDesugaringD8$19(com.android.tools.r8.graph.ProgramMethod) -> c
    1:8:void initializeEmulatedInterfaceVariables():164:171 -> c
    9:12:java.util.Collection lambda$computeInvokeDirect$13(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):561:564 -> c
    13:14:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):630:631 -> c
    15:15:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> c
    15:15:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):631 -> c
    16:23:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):636:643 -> c
    24:24:boolean com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter.shouldRewriteToInvokeToThrow(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,boolean):763:763 -> c
    24:24:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):643 -> c
    25:28:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):644:647 -> c
    29:29:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> c
    29:29:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):647 -> c
    30:83:com.android.tools.r8.ir.desugar.DesugarDescription rewriteInvokeSuper(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.ProgramMethod):657:710 -> c
    1:3:java.util.Collection lambda$computeInvokeStatic$10(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.graph.DexItemFactory):429:431 -> d
    4:8:void leavingStaticInvokeToInterface(com.android.tools.r8.graph.ProgramMethod):594:598 -> d
    9:9:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> d
    9:9:void leavingStaticInvokeToInterface(com.android.tools.r8.graph.ProgramMethod):598 -> d
    10:13:void leavingStaticInvokeToInterface(com.android.tools.r8.graph.ProgramMethod):597:600 -> d
com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor -> com.android.tools.r8.internal.Pt:
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor ExcludeDexResources -> c
    com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriter$Flavor IncludeAllResources -> b
    1:3:void <clinit>():106:108 -> <clinit>
    1:1:void <init>(java.lang.String,int):104:104 -> <init>
com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup -> com.android.tools.r8.internal.Rt:
    com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens graphLens -> b
    com.android.tools.r8.graph.AppView appView -> a
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens):17:19 -> <init>
    1:11:void run():23:33 -> a
    12:12:com.android.tools.r8.graph.EnclosingMethodAttribute com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup.fixupEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):41:41 -> a
    12:12:void run():33 -> a
    13:18:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup.fixupDexMethodForEnclosingMethod(com.android.tools.r8.graph.DexMethod):53:58 -> a
    13:18:com.android.tools.r8.graph.EnclosingMethodAttribute com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup.fixupEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):42 -> a
    13:18:void run():33 -> a
    19:19:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    19:19:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup.fixupDexMethodForEnclosingMethod(com.android.tools.r8.graph.DexMethod):58 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:com.android.tools.r8.graph.EnclosingMethodAttribute com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup.fixupEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):42 -> a
    19:19:void run():33 -> a
    20:20:com.android.tools.r8.graph.EnclosingMethodAttribute com.android.tools.r8.ir.desugar.itf.InterfaceMethodRewriterFixup.fixupEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):44:44 -> a
    20:20:void run():33 -> a
    21:21:void run():32:32 -> a
com.android.tools.r8.ir.desugar.itf.InterfaceProcessor -> com.android.tools.r8.internal.Vt:
    com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper helper -> b
    java.util.Map postProcessingInterfaceInfos -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():54:54 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):61:61 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView):58:63 -> <init>
    1:5:void processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):72:76 -> a
    6:10:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.processDirectInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):124:128 -> a
    6:10:void processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):77 -> a
    11:11:void processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):79:79 -> a
    12:15:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.processVirtualInterfaceMethod(com.android.tools.r8.graph.ProgramMethod):115:118 -> a
    12:15:void processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):80 -> a
    16:17:void processMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.itf.InterfaceMethodDesugaringBaseEventConsumer):81:82 -> a
    18:19:com.android.tools.r8.graph.ProgramMethod ensureCompanionMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):95:96 -> a
    20:20:void lambda$ensureCompanionMethod$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):105:105 -> a
    21:26:void lambda$ensureCompanionMethod$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):104:109 -> a
    27:27:void lambda$ensureCompanionMethod$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):108:108 -> a
    28:28:void lambda$ensureCompanionMethod$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):105:105 -> a
    29:30:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):133:134 -> a
    31:42:boolean com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.canMoveToCompanionClass(com.android.tools.r8.graph.ProgramMethod):194:205 -> a
    31:42:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):141 -> a
    43:46:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):148:151 -> a
    47:47:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    47:47:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151 -> a
    48:48:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
    49:49:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":545,"2":546,"3":547}}
    545:545:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
    546:546:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
    547:547:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):151:151 -> a
    202:214:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):153:165 -> a
    215:230:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):159:174 -> a
    231:235:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):173:177 -> a
    236:240:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):176:180 -> a
    241:241:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
    242:242:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":548,"2":549,"3":550}}
    548:548:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
    549:549:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
    550:550:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):142:142 -> a
    387:388:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):145:146 -> a
    389:389:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    389:389:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    389:389:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):146 -> a
    390:390:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):146:146 -> a
    391:391:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
    392:392:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":551,"2":552,"3":553}}
    551:551:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
    552:552:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
    553:553:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135:135 -> a
    530:531:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):138:139 -> a
    532:532:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    532:532:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    532:532:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):139 -> a
    533:533:void finalizeMoveToCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):139:139 -> a
    554:562:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):224:232 -> a
    563:567:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.addSuperTypes(com.android.tools.r8.graph.DexClass,java.util.Deque):250:254 -> a
    563:567:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):233 -> a
    568:570:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):234:236 -> a
    571:572:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):214:215 -> a
    571:572:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
    573:576:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):162:165 -> a
    573:576:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):215 -> a
    573:576:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
    577:577:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    577:577:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):166 -> a
    577:577:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):215 -> a
    577:577:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
    578:578:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.AppInfo.definitionForDesugarDependency(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):167:167 -> a
    578:578:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):215 -> a
    578:578:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
    579:579:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.definitionForDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):216:216 -> a
    579:579:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):236 -> a
    580:583:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):237:240 -> a
    584:588:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.addSuperTypes(com.android.tools.r8.graph.DexClass,java.util.Deque):250:254 -> a
    584:588:boolean interfaceMethodRemovalChangesApi(com.android.tools.r8.graph.ProgramMethod):243 -> a
    589:589:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):263:263 -> a
    590:593:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.clearDirectMethods(com.android.tools.r8.graph.DexProgramClass):184:187 -> a
    590:593:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):264 -> a
    594:594:void com.android.tools.r8.graph.MethodCollection.setSingleDirectMethod(com.android.tools.r8.graph.DexEncodedMethod):314:314 -> a
    594:594:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.clearDirectMethods(com.android.tools.r8.graph.DexProgramClass):187 -> a
    594:594:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):264 -> a
    595:595:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.clearDirectMethods(com.android.tools.r8.graph.DexProgramClass):189:189 -> a
    595:595:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):264 -> a
    596:613:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):266:283 -> a
    614:627:void com.android.tools.r8.ir.desugar.itf.InterfaceProcessor.removeBridges(com.android.tools.r8.graph.DexProgramClass):291:304 -> a
    614:627:void lambda$postProcessInterfaces$2(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):284 -> a
    628:633:void lambda$postProcessInterfaces$1(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):270:275 -> a
    634:634:void lambda$postProcessInterfaces$1(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):274:274 -> a
    635:637:void finalizeProcessing():314:316 -> a
    638:638:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo getPostProcessingInterfaceInfo(com.android.tools.r8.graph.DexProgramClass):321:321 -> a
    639:639:void forEachMethodToMove(java.util.function.BiConsumer):326:326 -> a
    640:641:void lambda$forEachMethodToMove$4(java.util.function.BiConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):328:329 -> a
    1:1:com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper getHelper():67:67 -> b
    2:2:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo lambda$getPostProcessingInterfaceInfo$3(com.android.tools.r8.graph.DexProgramClass):322:322 -> b
    1:1:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens postProcessInterfaces():260:260 -> c
    2:2:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens.builder():429:429 -> c
    2:2:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens postProcessInterfaces():260 -> c
    3:29:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens postProcessInterfaces():261:287 -> c
com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens -> com.android.tools.r8.internal.Tt:
    int $r8$clinit -> o
    com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap extraNewMethodSignatures -> n
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap):402:403 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):418:418 -> e
    2:2:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> e
    2:2:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):419 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):419:419 -> e
    4:4:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> e
    4:4:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):418 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):418:418 -> e
    1:1:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):424:424 -> f
    2:2:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeValueOrDefault(java.lang.Object,java.lang.Object):29:29 -> f
    2:2:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):425 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):425:425 -> f
    4:4:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeValueOrDefault(java.lang.Object,java.lang.Object):29:29 -> f
    4:4:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):424 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):424:424 -> f
    1:1:com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap getExtraNewMethodSignatures():408:408 -> n
com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens$Builder -> com.android.tools.r8.internal.St:
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap extraNewMethodSignatures -> d
    1:3:void <init>():432:434 -> <init>
    1:4:com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$InterfaceProcessorNestedGraphLens build(com.android.tools.r8.graph.AppView):443:446 -> a
    1:1:void recordCodeMovedToCompanionClass(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):438:438 -> b
com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo -> com.android.tools.r8.internal.Ut:
    java.util.Map defaultMethodsToImplementation -> a
    java.util.Map methodsToMove -> b
    boolean hasNonClinitDirectMethods -> c
    boolean hasBridgesToRemove -> d
    1:1:void <init>():334:334 -> <init>
    1:1:java.util.Map access$000(com.android.tools.r8.ir.desugar.itf.InterfaceProcessor$PostProcessingInterfaceInfo):334:334 -> a
    2:5:void mapDefaultMethodToCompanionMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):342:345 -> a
    6:6:java.util.Map getDefaultMethodsToImplementation():349:349 -> a
    7:10:void moveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):357:360 -> a
    1:1:java.util.Map getMethodsToMove():364:364 -> b
    1:1:boolean hasBridgesToRemove():380:380 -> c
    1:1:boolean hasDefaultMethodsToImplementationMap():353:353 -> d
    1:1:boolean hasMethodsToMove():368:368 -> e
    1:1:boolean hasNonClinitDirectMethods():372:372 -> f
    1:1:void setHasBridgesToRemove():384:384 -> g
    1:1:void setHasNonClinitDirectMethods():376:376 -> h
com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer -> com.android.tools.r8.internal.YM:
    com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper helper -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():28:28 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):41:43 -> <init>
    1:3:com.android.tools.r8.graph.DexProgramClass synthesizeProgramEmulatedInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.ir.desugar.itf.EmulatedInterfaceSynthesizerEventConsumer$L8ProgramEmulatedInterfaceSynthesizerEventConsumer):50:52 -> a
    4:4:void lambda$synthesizeProgramEmulatedInterface$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):57:57 -> a
    5:5:boolean lambda$synthesizeEmulateInterfaceMethods$1(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.graph.DexEncodedMethod):67:67 -> a
    6:6:void lambda$synthesizeEmulateInterfaceMethods$3(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.graph.ProgramMethod):69:69 -> a
    7:8:void lambda$synthesizeEmulateInterfaceMethods$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.synthesis.SyntheticMethodBuilder):73:74 -> a
    9:9:void lambda$synthesizeEmulateInterfaceMethods$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder,com.android.tools.r8.synthesis.SyntheticMethodBuilder):71:71 -> a
    10:13:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):94:97 -> a
    14:16:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):96:98 -> a
    17:18:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.emulatedInterfaceInterfaceMethod(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):130:131 -> a
    17:18:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):98 -> a
    19:26:void synthesizeEmulatedInterfaceMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):99:106 -> a
    27:33:com.android.tools.r8.graph.Code lambda$synthesizeEmulatedInterfaceMethod$4(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.LinkedHashMap,com.android.tools.r8.graph.DexMethod):108:114 -> a
    34:37:java.util.LinkedHashMap resolveDispatchCases(com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedDispatchMethodDescriptor):119:122 -> a
    38:40:void lambda$resolveDispatchCases$5(java.util.LinkedHashMap,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.DerivedMethod):124:124 -> a
    41:41:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):131:131 -> a
    42:42:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    42:42:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):131 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    43:43:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    43:43:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):131 -> a
    44:49:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):131:136 -> a
    50:59:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):138:147 -> a
    60:60:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):154:154 -> a
    60:60:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):140 -> a
    61:61:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":65,"2":66,"3":67}}
    65:65:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):154:154 -> a
    65:65:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):140 -> a
    66:66:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):154:154 -> a
    66:66:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):140 -> a
    67:67:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):154:154 -> a
    67:67:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):140 -> a
    62:64:void com.android.tools.r8.ir.desugar.itf.ProgramEmulatedInterfaceSynthesizer.warnMissingEmulatedInterface(com.android.tools.r8.graph.DexType):157:159 -> a
    62:64:void lambda$synthesizeClasses$6(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor):140 -> a
    1:1:void synthesizeEmulateInterfaceMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.EmulatedInterfaceDescriptor,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):66:66 -> b
com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer -> com.android.tools.r8.internal.Xk:
    void lambda$emptyForcefullyMovedLambdaMethodConsumer$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod) -> a
    1:1:com.android.tools.r8.ir.desugar.lambda.ForcefullyMovedLambdaMethodConsumer emptyForcefullyMovedLambdaMethodConsumer():14:14 -> a
    void acceptForcefullyMovedLambdaMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod) -> b
com.android.tools.r8.ir.desugar.lambda.LambdaDeserializationMethodRemover -> com.android.tools.r8.internal.LA:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:4:void run(com.android.tools.r8.graph.AppView,java.util.Collection):24:27 -> a
com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring -> com.android.tools.r8.internal.NA:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set directTargetedLambdaImplementationMethods -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView):52:52 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.AppView):45:53 -> <init>
    1:2:boolean isDirectTargetedLambdaImplementationMethod(com.android.tools.r8.graph.DexMethodHandle):48:49 -> a
    3:7:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):58:62 -> a
    8:8:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    8:8:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):62 -> a
    9:9:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):63:63 -> a
    10:10:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):79:79 -> a
    11:11:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    11:11:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):79 -> a
    12:12:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):81:81 -> a
    13:13:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):80:80 -> a
    14:14:java.util.Collection lambda$desugarInstruction$0(com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator):88:88 -> a
    15:24:java.util.Collection desugarInvokeDynamicInstruction(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.lambda.LambdaDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):115:124 -> a
    25:25:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.desugar.LambdaClass.getType():104:104 -> a
    25:25:java.util.Collection desugarInvokeDynamicInstruction(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.lambda.LambdaDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):124 -> a
    26:41:java.util.Collection desugarInvokeDynamicInstruction(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.lambda.LambdaDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):124:139 -> a
    42:45:void lambda$desugarInvokeDynamicInstruction$1(com.android.tools.r8.ir.desugar.FreshLocalProvider,java.util.Deque,com.android.tools.r8.graph.DexType):128:131 -> a
    46:57:com.android.tools.r8.ir.desugar.LambdaClass createLambdaClass(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):151:162 -> a
    58:68:com.android.tools.r8.ir.desugar.LambdaClass createLambdaClass(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke):160:170 -> a
    69:69:void lambda$createLambdaClass$2(com.android.tools.r8.utils.Box,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):165:165 -> a
    70:70:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):176:176 -> a
    71:71:boolean com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring.isLambdaInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):181:181 -> a
    71:71:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):176 -> a
    72:72:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    72:72:boolean com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring.isLambdaInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):181 -> a
    72:72:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):176 -> a
    73:74:boolean com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring.isLambdaInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):183:184 -> a
    73:74:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):176 -> a
    75:75:boolean com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring.isLambdaInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):182:182 -> a
    75:75:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):176 -> a
com.android.tools.r8.ir.desugar.lambda.LambdaInstructionDesugaring$DesugarInvoke -> com.android.tools.r8.internal.MA:
    java.util.Collection desugarInvoke(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator) -> a
com.android.tools.r8.ir.desugar.nest.AccessBridgeFactory -> com.android.tools.r8.internal.v1:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:12:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):20:31 -> a
    13:26:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):25:38 -> a
    27:35:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):32:40 -> a
    36:36:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.graph.DexEncodedField.getApiLevel():112:112 -> a
    36:36:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):40 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    37:38:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):40:41 -> a
    39:39:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.graph.DexEncodedField.getApiLevel():112:112 -> a
    39:39:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:41:com.android.tools.r8.graph.ProgramMethod createFieldAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramField,boolean):41:42 -> a
    42:54:com.android.tools.r8.graph.ProgramMethod createInitializerAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):47:59 -> a
    55:55:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.setConstructorTarget(com.android.tools.r8.graph.DexMethod):125:125 -> a
    55:55:com.android.tools.r8.graph.ProgramMethod createInitializerAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):59 -> a
    56:56:com.android.tools.r8.graph.ProgramMethod createInitializerAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):60:60 -> a
    57:65:com.android.tools.r8.graph.ProgramMethod createInitializerAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):56:64 -> a
    66:66:void lambda$createMethodAccessorBridge$0(com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):88:88 -> a
    1:14:com.android.tools.r8.graph.ProgramMethod createMethodAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):69:82 -> b
    15:26:com.android.tools.r8.graph.ProgramMethod createMethodAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):76:87 -> b
    27:31:com.android.tools.r8.graph.ProgramMethod createMethodAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):86:90 -> b
    32:43:com.android.tools.r8.graph.ProgramMethod createMethodAccessorBridge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexItemFactory):83:94 -> b
    44:44:void lambda$createMethodAccessorBridge$1(com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.ir.synthetic.ForwardMethodBuilder):89:89 -> b
com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring -> com.android.tools.r8.internal.je:
    1:1:void <init>(com.android.tools.r8.graph.AppView):36:36 -> <init>
    void lambda$clearNestAttributes$3(com.android.tools.r8.graph.DexClass) -> a
    1:2:void lambda$clearNestAttributes$2(com.android.tools.r8.ir.desugar.nest.Nest):61:62 -> a
    3:4:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.ir.conversion.MethodProcessor,java.util.concurrent.ExecutorService):71:72 -> a
    5:5:void com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.forEachNest(java.util.function.Consumer):87:87 -> a
    5:5:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.ir.conversion.MethodProcessor,java.util.concurrent.ExecutorService):72 -> a
    6:24:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.ir.conversion.MethodProcessor,java.util.concurrent.ExecutorService):80:98 -> a
    25:25:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$4(java.util.List,com.android.tools.r8.ir.desugar.nest.Nest):74:74 -> a
    26:26:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    26:26:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$4(java.util.List,com.android.tools.r8.ir.desugar.nest.Nest):74 -> a
    27:29:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$4(java.util.List,com.android.tools.r8.ir.desugar.nest.Nest):75:77 -> a
    30:30:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$5(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.DexClasspathClass):100:100 -> a
    31:31:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$6(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.ClasspathMethod):108:108 -> a
    32:32:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):17:17 -> a
    32:32:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$6(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.ClasspathMethod):108 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:35:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):17:19 -> a
    33:35:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$6(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.ClasspathMethod):108 -> a
    36:36:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    36:36:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):20 -> a
    36:36:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$6(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.ClasspathMethod):108 -> a
    37:37:void com.android.tools.r8.graph.ClasspathMethod.registerCodeReferencesForDesugaring(com.android.tools.r8.graph.UseRegistry):22:22 -> a
    37:37:void lambda$synthesizeBridgesForNestBasedAccessesOnClasspath$6(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer,com.android.tools.r8.graph.ClasspathMethod):108 -> a
    1:8:void lambda$reportDesugarDependencies$0(com.android.tools.r8.ir.desugar.nest.Nest):42:49 -> b
    9:9:void lambda$reportDesugarDependencies$0(com.android.tools.r8.ir.desugar.nest.Nest):43:43 -> b
    10:10:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54:54 -> b
    11:11:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):977:977 -> b
    11:11:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):977:977 -> b
    12:12:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    13:13:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> b
    13:13:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):979 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    14:14:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):979:979 -> b
    14:14:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    15:15:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):983:983 -> b
    15:15:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):979 -> b
    15:15:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    16:16:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":21,"2":22,"3":23}}
    21:21:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):984:984 -> b
    21:21:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):979 -> b
    21:21:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    22:22:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):984:984 -> b
    22:22:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):979 -> b
    22:22:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    23:23:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):984:984 -> b
    23:23:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):979 -> b
    23:23:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    17:18:java.lang.String com.android.tools.r8.utils.InternalOptions.messageErrorMissingNestHost(com.android.tools.r8.graph.DexClass):984:985 -> b
    17:18:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):979 -> b
    17:18:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    19:19:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):979:979 -> b
    19:19:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    20:20:java.lang.RuntimeException com.android.tools.r8.utils.InternalOptions.errorMissingNestHost(com.android.tools.r8.graph.DexClass):977:977 -> b
    20:20:void lambda$reportDesugarDependencies$1(com.android.tools.r8.graph.DexClass):54 -> b
    24:24:void clearNestAttributes():59:59 -> b
    25:25:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):106:106 -> b
    26:26:void com.android.tools.r8.graph.DexClasspathClass.forEachClasspathMethod(java.util.function.Consumer):76:76 -> b
    26:26:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):106 -> b
    27:27:void com.android.tools.r8.graph.DexClasspathClass.forEachClasspathMethod(java.util.function.Consumer):76:76 -> b
    27:27:void synthesizeBridgesForNestBasedAccessesOnClasspath(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):106 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:void reportDesugarDependencies():40:40 -> c
com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring$1 -> com.android.tools.r8.internal.he:
    com.android.tools.r8.ir.conversion.MethodProcessor val$methodProcessor -> a
    1:1:void <init>(com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring,com.android.tools.r8.ir.conversion.MethodProcessor):81:81 -> <init>
    1:1:void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):85:85 -> b
    1:1:void acceptNestMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):95:95 -> c
    1:1:void acceptNestFieldPutBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):90:90 -> d
com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring$NestBasedAccessDesugaringUseRegistry -> com.android.tools.r8.internal.ie:
    com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring this$0 -> f
    com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer eventConsumer -> e
    1:3:void <init>(com.android.tools.r8.ir.desugar.nest.D8NestBasedAccessDesugaring,com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):117:119 -> <init>
    1:2:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):123:124 -> a
    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    3:3:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):124 -> a
    4:4:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551:551 -> a
    4:4:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    4:4:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):124 -> a
    5:5:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.toClassFieldOrNull(com.android.tools.r8.graph.DexEncodedField):555:555 -> a
    5:5:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551 -> a
    5:5:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    5:5:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):124 -> a
    6:7:void registerFieldAccess(com.android.tools.r8.graph.DexField,boolean):125:126 -> a
    8:8:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):143:143 -> a
    9:9:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):173:173 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    1:1:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):148:148 -> b
    void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):168:168 -> c
    void registerNewInstance(com.android.tools.r8.graph.DexType) -> d
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):153:153 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):178:178 -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):158:158 -> f
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):163:163 -> g
    2:2:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):183:183 -> g
    1:5:void registerInvoke(com.android.tools.r8.graph.DexMethod):131:135 -> h
    6:6:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> h
    6:6:void registerInvoke(com.android.tools.r8.graph.DexMethod):135 -> h
    7:9:void registerInvoke(com.android.tools.r8.graph.DexMethod):135:137 -> h
com.android.tools.r8.ir.desugar.nest.Nest -> com.android.tools.r8.internal.wG:
    com.android.tools.r8.graph.DexClass hostClass -> a
    java.util.List members -> b
    java.util.List missingMembers -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexClass,java.util.List,java.util.List):22:25 -> <init>
    1:23:com.android.tools.r8.ir.desugar.nest.Nest create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass,java.util.function.Consumer):34:56 -> a
    24:28:void lambda$create$0(com.android.tools.r8.graph.AppView,java.util.List,java.util.List,com.android.tools.r8.graph.DexType):49:53 -> a
    29:31:java.lang.Iterable getClasspathMembers():60:60 -> a
    1:1:com.android.tools.r8.graph.DexClass getHostClass():65:65 -> b
    1:1:java.util.List getMembers():69:69 -> c
    1:1:java.util.List getMissingMembers():73:73 -> d
    1:1:boolean hasMissingMembers():81:81 -> e
com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring -> com.android.tools.r8.internal.yG:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    java.util.Map syntheticNestConstructorTypes -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():54:54 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):72:72 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView):70:74 -> <init>
    1:1:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    1:1:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):342 -> a
    2:2:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):343:343 -> a
    3:18:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.ensureFieldAccessBridge(com.android.tools.r8.graph.ProgramField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):354:369 -> a
    3:18:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):343 -> a
    19:19:boolean com.android.tools.r8.graph.Definition.isClasspathField():0:0 -> a
    19:19:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):345 -> a
    20:22:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):346:348 -> a
    23:23:boolean com.android.tools.r8.graph.Definition.isLibraryField():0:0 -> a
    23:23:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):348 -> a
    24:25:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):348:349 -> a
    26:26:java.lang.RuntimeException com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.reportIncompleteNest(com.android.tools.r8.graph.LibraryMember):335:335 -> a
    26:26:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):349 -> a
    27:27:com.android.tools.r8.ir.desugar.nest.Nest com.android.tools.r8.ir.desugar.nest.Nest.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):29:29 -> a
    27:27:java.lang.RuntimeException com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.reportIncompleteNest(com.android.tools.r8.graph.LibraryMember):335 -> a
    27:27:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):349 -> a
    28:29:java.lang.RuntimeException com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.reportIncompleteNest(com.android.tools.r8.graph.LibraryMember):336:337 -> a
    28:29:com.android.tools.r8.graph.DexMethod ensureFieldAccessBridge(com.android.tools.r8.graph.DexClassAndField,boolean,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):349 -> a
    30:30:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    30:30:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):405 -> a
    31:31:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):406:406 -> a
    32:48:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.ensureMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):417:433 -> a
    32:48:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):406 -> a
    49:49:boolean com.android.tools.r8.graph.Definition.isClasspathMethod():0:0 -> a
    49:49:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):408 -> a
    50:52:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):409:411 -> a
    53:53:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
    53:53:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):411 -> a
    54:55:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):411:412 -> a
    56:56:java.lang.RuntimeException com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.reportIncompleteNest(com.android.tools.r8.graph.LibraryMember):335:335 -> a
    56:56:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):412 -> a
    57:57:com.android.tools.r8.ir.desugar.nest.Nest com.android.tools.r8.ir.desugar.nest.Nest.create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):29:29 -> a
    57:57:java.lang.RuntimeException com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.reportIncompleteNest(com.android.tools.r8.graph.LibraryMember):335 -> a
    57:57:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):412 -> a
    58:59:java.lang.RuntimeException com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.reportIncompleteNest(com.android.tools.r8.graph.LibraryMember):336:337 -> a
    58:59:com.android.tools.r8.graph.DexMethod ensureMethodBridge(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):412 -> a
    void lambda$getMethodBridgeReference$4(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder) -> a
    void lambda$getMethodBridgeReference$5(com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder) -> a
    void lambda$getMethodBridgeReference$6(com.android.tools.r8.graph.DexClasspathClass) -> a
    60:60:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring create(com.android.tools.r8.graph.AppView):78:78 -> a
    61:61:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1921:1921 -> a
    61:61:boolean com.android.tools.r8.utils.InternalOptions.shouldDesugarNests():523 -> a
    61:61:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring create(com.android.tools.r8.graph.AppView):78 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    62:64:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring create(com.android.tools.r8.graph.AppView):79:81 -> a
    65:73:void forEachNest(java.util.function.Consumer,java.util.function.Consumer):91:99 -> a
    74:78:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):130:134 -> a
    79:84:void lambda$prepare$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.cf.code.CfInstruction):136:141 -> a
    85:94:void lambda$prepare$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.cf.code.CfInstruction):139:148 -> a
    95:95:com.android.tools.r8.graph.ProgramMethod lambda$prepareDesugarFieldInstruction$1(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget,boolean):166:166 -> a
    96:96:com.android.tools.r8.graph.ProgramMethod lambda$prepareDesugarFieldInstruction$1(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget,boolean):165:165 -> a
    97:100:com.android.tools.r8.graph.ProgramMethod lambda$prepareDesugarMethodInstruction$2(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget):179:182 -> a
    101:107:com.android.tools.r8.graph.ProgramMethod lambda$prepareDesugarMethodInstruction$2(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget):180:186 -> a
    108:108:com.android.tools.r8.graph.ProgramMethod lambda$prepareDesugarMethodInstruction$2(com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget):184:184 -> a
    109:115:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):192:198 -> a
    109:115:void prepareDesugarMethodInstruction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):172 -> a
    116:116:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    116:116:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):198 -> a
    116:116:void prepareDesugarMethodInstruction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):172 -> a
    117:121:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):199:203 -> a
    117:121:void prepareDesugarMethodInstruction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):172 -> a
    122:126:void prepareDesugarMethodInstruction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):173:177 -> a
    127:127:void prepareDesugarMethodInstruction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):176:176 -> a
    128:128:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):211:211 -> a
    128:128:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):157 -> a
    129:129:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    129:129:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):211 -> a
    129:129:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):157 -> a
    130:130:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551:551 -> a
    130:130:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    130:130:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):212 -> a
    130:130:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):157 -> a
    131:131:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.toClassFieldOrNull(com.android.tools.r8.graph.DexEncodedField):555:555 -> a
    131:131:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551 -> a
    131:131:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    131:131:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):212 -> a
    131:131:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):157 -> a
    132:135:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):213:216 -> a
    132:135:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):157 -> a
    136:141:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):158:163 -> a
    142:142:void prepareDesugarFieldInstruction(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):162:162 -> a
    143:147:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):239:243 -> a
    148:151:boolean needsDesugaring(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):249:252 -> a
    152:152:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    152:152:boolean needsDesugaring(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):252 -> a
    153:154:boolean needsDesugaring(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):253:254 -> a
    155:158:boolean needsDesugaring(com.android.tools.r8.graph.DexClassAndMember,com.android.tools.r8.graph.DexClassAndMethod):258:261 -> a
    159:160:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):274:275 -> a
    161:161:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):290:290 -> a
    161:161:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    162:162:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):211:211 -> a
    162:162:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):290 -> a
    162:162:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    163:163:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    163:163:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):211 -> a
    163:163:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):290 -> a
    163:163:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    164:164:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551:551 -> a
    164:164:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    164:164:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):212 -> a
    164:164:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):290 -> a
    164:164:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    165:165:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.toClassFieldOrNull(com.android.tools.r8.graph.DexEncodedField):555:555 -> a
    165:165:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551 -> a
    165:165:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    165:165:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):212 -> a
    165:165:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):290 -> a
    165:165:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    166:169:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexField,boolean,com.android.tools.r8.graph.ProgramMethod):213:216 -> a
    166:169:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):290 -> a
    166:169:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    170:170:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):295:295 -> a
    170:170:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    171:171:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    171:171:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):295 -> a
    171:171:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    172:172:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):296:296 -> a
    172:172:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    173:180:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):295:302 -> a
    173:180:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    181:181:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarFieldInstruction(com.android.tools.r8.cf.code.CfFieldInstruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):298:298 -> a
    181:181:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):275 -> a
    182:184:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):277:279 -> a
    185:185:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):310:310 -> a
    185:185:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    186:192:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):192:198 -> a
    186:192:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):313 -> a
    186:192:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    193:193:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    193:193:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):198 -> a
    193:193:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):313 -> a
    193:193:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    194:198:com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.bridgeAndTargetForDesugaring(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):199:203 -> a
    194:198:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):313 -> a
    194:198:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    199:199:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):318:318 -> a
    199:199:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    200:200:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    200:200:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):318 -> a
    200:200:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    201:201:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):319:319 -> a
    201:201:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    202:211:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):318:327 -> a
    202:211:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    212:218:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):325:331 -> a
    212:218:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    219:219:java.util.List com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.desugarInvokeInstruction(com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer):330:330 -> a
    219:219:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):278 -> a
    220:231:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):374:385 -> a
    232:241:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):390:399 -> a
    232:241:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    242:242:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":247,"2":248,"3":249}}
    247:247:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):399:399 -> a
    247:247:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    248:248:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):399:399 -> a
    248:248:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    249:249:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):399:399 -> a
    249:249:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    243:243:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    243:243:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):399 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    243:243:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    244:244:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    244:244:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):399 -> a
    244:244:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    245:245:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getFieldAccessBridgeName(com.android.tools.r8.graph.DexClassAndField,boolean):399:399 -> a
    245:245:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):385 -> a
    246:246:com.android.tools.r8.graph.DexMethod getFieldAccessBridgeReference(com.android.tools.r8.graph.DexClassAndField,boolean):384:384 -> a
    250:253:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):438:441 -> a
    254:279:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):440:465 -> a
    280:282:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2660:2662 -> a
    280:282:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):465 -> a
    283:286:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexItemFactory.appendTypeToProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType):2661:2664 -> a
    283:286:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):465 -> a
    287:287:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):466:466 -> a
    288:288:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):339:339 -> a
    288:288:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):466 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    289:289:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):339:339 -> a
    289:289:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):466 -> a
    290:293:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):469:472 -> a
    294:297:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):477:480 -> a
    294:297:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    298:298:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":302,"2":303,"3":304}}
    302:302:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):480:480 -> a
    302:302:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    303:303:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):480:480 -> a
    303:303:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    304:304:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):480:480 -> a
    304:304:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    299:299:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    299:299:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):480 -> a
    299:299:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    300:300:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring.getMethodBridgeName(com.android.tools.r8.graph.DexClassAndMethod):480:480 -> a
    300:300:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472 -> a
    301:301:com.android.tools.r8.graph.DexMethod getMethodBridgeReference(com.android.tools.r8.graph.DexClassAndMethod):472:472 -> a
    305:305:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):443:443 -> a
    306:306:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    306:306:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):443 -> a
    307:311:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):444:448 -> a
    312:319:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):446:453 -> a
    320:320:boolean com.android.tools.r8.graph.Definition.isClasspathMethod():0:0 -> a
    320:320:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):453 -> a
    321:326:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):453:458 -> a
    327:333:com.android.tools.r8.graph.DexType lambda$getMethodBridgeReference$7(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexType):456:462 -> a
com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaring$BridgeAndTarget -> com.android.tools.r8.internal.xG:
    com.android.tools.r8.graph.DexClassAndMember target -> b
    com.android.tools.r8.graph.DexMethod bridge -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():104:104 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMember):108:111 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod getBridge():115:115 -> a
    1:1:com.android.tools.r8.graph.DexClassAndMember getTarget():119:119 -> b
    1:1:boolean shouldAddBridge():123:123 -> c
com.android.tools.r8.ir.desugar.nest.NestBasedAccessDesugaringEventConsumer -> com.android.tools.r8.internal.zG:
    void acceptNestFieldGetBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod) -> b
    void acceptNestMethodBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> c
    void acceptNestFieldPutBridge(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod) -> d
com.android.tools.r8.ir.desugar.records.RecordCfMethods -> com.android.tools.r8.internal.dQ:
    1:17:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):52:68 -> a
    18:21:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):66:69 -> a
    22:36:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):64:78 -> a
    37:37:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):75:75 -> a
    38:64:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):58:84 -> a
    65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    65:65:com.android.tools.r8.graph.CfCode RecordMethods_hashCode(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):84 -> a
    1:27:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):88:114 -> b
    28:44:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):111:127 -> b
    45:45:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    45:45:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):127 -> b
    46:56:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):127:137 -> b
    57:60:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):136:139 -> b
    61:75:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):134:148 -> b
    76:76:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    76:76:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):148 -> b
    77:82:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):148:153 -> b
    83:83:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):152:152 -> b
    84:96:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):151:163 -> b
    97:111:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):160:174 -> b
    112:123:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):171:182 -> b
    124:137:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):178:191 -> b
    138:158:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):187:207 -> b
    159:159:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    159:159:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):207 -> b
    160:178:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):207:225 -> b
    179:192:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):221:234 -> b
    193:208:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):230:245 -> b
    209:232:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):241:264 -> b
    233:250:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):260:277 -> b
    251:251:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    251:251:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):277 -> b
    252:266:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):277:291 -> b
    267:267:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    267:267:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):291 -> b
    268:279:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):291:302 -> b
    280:294:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):298:312 -> b
    295:295:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):309:309 -> b
    296:507:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):106:317 -> b
    508:508:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> b
    508:508:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):317 -> b
    509:509:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> b
    509:509:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> b
    509:509:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):317 -> b
    510:510:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> b
    510:510:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> b
    510:510:com.android.tools.r8.graph.CfCode RecordMethods_toString(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):317 -> b
com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter -> com.android.tools.r8.internal.eQ:
    com.android.tools.r8.graph.AppView appView -> a
    1:2:void <init>(com.android.tools.r8.graph.AppView):42:43 -> <init>
    1:2:com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter create(com.android.tools.r8.graph.AppView):34:35 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    3:3:com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter create(com.android.tools.r8.graph.AppView):35 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    4:4:com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter create(com.android.tools.r8.graph.AppView):35 -> a
    5:6:com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter create(com.android.tools.r8.graph.AppView):36:37 -> a
    7:7:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):49:49 -> a
    8:8:boolean com.android.tools.r8.ir.desugar.records.RecordRewriterHelper.isInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):28:28 -> a
    8:8:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):49 -> a
    9:15:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):52:58 -> a
    16:18:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):57:59 -> a
    19:23:com.android.tools.r8.graph.DexField[] com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter.computePresentFields(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):66:70 -> a
    19:23:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):59 -> a
    24:24:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    24:24:com.android.tools.r8.graph.DexField[] com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter.computePresentFields(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):71 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):59 -> a
    25:32:com.android.tools.r8.graph.DexField[] com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter.computePresentFields(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):71:78 -> a
    25:32:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):59 -> a
    33:33:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):61:61 -> a
    34:49:com.android.tools.r8.cf.code.CfInvokeDynamic com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter.writeRecordInvokeDynamic(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):84:99 -> a
    34:49:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):60 -> a
    50:50:com.android.tools.r8.cf.code.CfInvokeDynamic com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter.writeRecordInvokeDynamic(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):97:97 -> a
    50:50:com.android.tools.r8.cf.code.CfInvokeDynamic rewriteRecordInvokeDynamic(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.naming.NamingLens):60 -> a
com.android.tools.r8.ir.desugar.records.RecordDesugaring -> com.android.tools.r8.internal.iQ:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexProto recordToStringHelperProto -> c
    com.android.tools.r8.graph.DexProto recordHashCodeHelperProto -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():65:65 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView):86:93 -> <init>
    1:3:void com.android.tools.r8.ir.desugar.records.RecordCfMethods.registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):46:48 -> a
    1:3:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):81 -> a
    4:4:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):82:82 -> a
    5:6:void com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordEqualsCfCodeProvider.registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):151:152 -> a
    5:6:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):83 -> a
    7:7:com.android.tools.r8.ir.desugar.records.RecordDesugaring create(com.android.tools.r8.graph.AppView):77:77 -> a
    8:10:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):98:100 -> a
    11:11:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    11:11:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):100 -> a
    12:13:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):100:101 -> a
    14:25:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.prepareInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.graph.ProgramMethod):108:119 -> a
    14:25:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):101 -> a
    26:26:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.prepareInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.graph.ProgramMethod):112:112 -> a
    26:26:void prepare(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.ProgramAdditions):101 -> a
    27:28:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):125:126 -> a
    29:29:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.scanInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):137:137 -> a
    29:29:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):127 -> a
    30:30:boolean com.android.tools.r8.cf.code.CfInstruction.isInitClass():0:0 -> a
    30:30:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.scanInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):137 -> a
    30:30:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):127 -> a
    31:48:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.scanInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):137:154 -> a
    31:48:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):127 -> a
    49:49:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):429:429 -> a
    49:49:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.scanInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):154 -> a
    49:49:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):127 -> a
    50:50:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.scanInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):155:155 -> a
    50:50:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer):127 -> a
    51:51:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):172:172 -> a
    52:52:boolean com.android.tools.r8.cf.code.CfInstruction.isInitClass():0:0 -> a
    52:52:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):172 -> a
    53:54:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):172:173 -> a
    55:55:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    55:55:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):176 -> a
    56:56:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):178:178 -> a
    57:67:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):199:209 -> a
    57:67:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):177 -> a
    68:68:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeRecordEquals(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):322:322 -> a
    68:68:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):210 -> a
    68:68:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):177 -> a
    69:72:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.equalsRecordMethod(com.android.tools.r8.graph.DexType):274:274 -> a
    69:72:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeRecordEquals(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):322 -> a
    69:72:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):210 -> a
    69:72:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):177 -> a
    73:74:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeRecordEquals(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic):323:324 -> a
    73:74:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):210 -> a
    73:74:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):177 -> a
    75:75:java.util.List com.android.tools.r8.ir.desugar.records.RecordDesugaring.desugarInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):212:212 -> a
    75:75:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):177 -> a
    76:82:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):184:190 -> a
    83:83:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):189:189 -> a
    84:84:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeEqualsRecordMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):217:217 -> a
    84:84:com.android.tools.r8.graph.ProgramMethod lambda$ensureEqualsRecord$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):253 -> a
    85:96:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.synthetic.SyntheticCfCodeProvider,com.android.tools.r8.graph.DexMethod):232:243 -> a
    85:96:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeEqualsRecordMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):217 -> a
    85:96:com.android.tools.r8.graph.ProgramMethod lambda$ensureEqualsRecord$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):253 -> a
    97:99:com.android.tools.r8.graph.DexMethod ensureEqualsRecord(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions):248:250 -> a
    100:103:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.equalsRecordMethod(com.android.tools.r8.graph.DexType):274:274 -> a
    100:103:com.android.tools.r8.graph.DexMethod ensureEqualsRecord(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions):250 -> a
    104:105:com.android.tools.r8.graph.DexMethod ensureEqualsRecord(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions):251:252 -> a
    106:106:com.android.tools.r8.graph.ProgramMethod lambda$ensureGetFieldsAsObjects$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.graph.DexMethod):264:264 -> a
    107:107:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeGetFieldsAsObjectsMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexField[],com.android.tools.r8.graph.DexMethod):223:223 -> a
    107:107:com.android.tools.r8.graph.ProgramMethod lambda$ensureGetFieldsAsObjects$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.graph.DexMethod):264 -> a
    108:119:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.synthetic.SyntheticCfCodeProvider,com.android.tools.r8.graph.DexMethod):232:243 -> a
    108:119:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeGetFieldsAsObjectsMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexField[],com.android.tools.r8.graph.DexMethod):223 -> a
    108:119:com.android.tools.r8.graph.ProgramMethod lambda$ensureGetFieldsAsObjects$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.graph.DexMethod):264 -> a
    120:124:com.android.tools.r8.graph.ProgramMethod synthesizeRecordHelper(com.android.tools.r8.graph.DexProto,java.util.function.BiFunction,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):284:288 -> a
    125:125:com.android.tools.r8.graph.ProgramMethod synthesizeRecordHelper(com.android.tools.r8.graph.DexProto,java.util.function.BiFunction,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):286:286 -> a
    126:129:void lambda$synthesizeRecordHelper$3(com.android.tools.r8.graph.DexProto,java.util.function.BiFunction,com.android.tools.r8.synthesis.SyntheticMethodBuilder):292:295 -> a
    130:130:com.android.tools.r8.graph.Code lambda$synthesizeRecordHelper$2(java.util.function.BiFunction,com.android.tools.r8.graph.DexMethod):294:294 -> a
    131:132:java.util.List desugarInvokeRecordHashCode(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):303:304 -> a
    133:135:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.getFieldsAsObjectsMethod(com.android.tools.r8.graph.DexType):269:269 -> a
    133:135:java.util.List desugarInvokeRecordHashCode(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):304 -> a
    136:148:java.util.List desugarInvokeRecordHashCode(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):305:317 -> a
    149:149:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):360:360 -> a
    150:150:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    150:150:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):360 -> a
    151:151:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):361:361 -> a
    152:152:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.needsDesugaring(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod):437:437 -> a
    152:152:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):361 -> a
    153:153:boolean com.android.tools.r8.ir.desugar.records.RecordRewriterHelper.isInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):28:28 -> a
    153:153:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.needsDesugaring(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.ProgramMethod):437 -> a
    153:153:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):361 -> a
    154:156:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):363:365 -> a
    157:157:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.needsDesugaring(com.android.tools.r8.graph.DexMethod,boolean):433:433 -> a
    157:157:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):365 -> a
    158:158:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):371:371 -> a
    159:163:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.checkRecordTagNotPresent(com.android.tools.r8.graph.DexItemFactory):387:391 -> a
    159:163:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):372 -> a
    164:164:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":171,"2":172,"3":173}}
    171:171:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.checkRecordTagNotPresent(com.android.tools.r8.graph.DexItemFactory):391:391 -> a
    171:171:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):372 -> a
    172:172:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.checkRecordTagNotPresent(com.android.tools.r8.graph.DexItemFactory):391:391 -> a
    172:172:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):372 -> a
    173:173:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.checkRecordTagNotPresent(com.android.tools.r8.graph.DexItemFactory):391:391 -> a
    173:173:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):372 -> a
    165:167:void com.android.tools.r8.ir.desugar.records.RecordDesugaring.checkRecordTagNotPresent(com.android.tools.r8.graph.DexItemFactory):391:393 -> a
    165:167:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):372 -> a
    168:170:void ensureRecordClass(com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer):373:375 -> a
    174:174:boolean refersToRecord(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexItemFactory):401:401 -> a
    175:175:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):429:429 -> a
    175:175:boolean refersToRecord(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexItemFactory):401 -> a
    176:177:boolean refersToRecord(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexItemFactory):401:402 -> a
    178:178:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):429:429 -> a
    178:178:boolean refersToRecord(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexItemFactory):402 -> a
    179:179:boolean refersToRecord(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):406:406 -> a
    180:180:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):429:429 -> a
    180:180:boolean refersToRecord(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):406 -> a
    181:181:boolean refersToRecord(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):409:409 -> a
    182:182:boolean refersToRecord(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):413:413 -> a
    183:183:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):429:429 -> a
    183:183:boolean refersToRecord(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):413 -> a
    184:184:boolean refersToRecord(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):416:416 -> a
    185:185:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexItemFactory):420:420 -> a
    185:185:boolean refersToRecord(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):416 -> a
    186:186:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):429:429 -> a
    186:186:boolean com.android.tools.r8.ir.desugar.records.RecordDesugaring.refersToRecord(com.android.tools.r8.graph.DexType[],com.android.tools.r8.graph.DexItemFactory):421 -> a
    186:186:boolean refersToRecord(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):416 -> a
    187:203:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.DexMethod,boolean):442:458 -> a
    204:204:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.DexMethod,boolean):449:449 -> a
    205:205:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    205:205:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.DexMethod,boolean):449 -> a
    206:206:com.android.tools.r8.graph.DexMethod rewriteMethod(com.android.tools.r8.graph.DexMethod,boolean):449:449 -> a
    207:218:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeRecordInitMethod():463:474 -> a
    207:218:void lambda$ensureRecordClass$4(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):380 -> a
    219:219:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.synthesizeRecordInitMethod():473:473 -> a
    219:219:void lambda$ensureRecordClass$4(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):380 -> a
    220:220:void lambda$ensureRecordClass$4(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):381:381 -> a
    221:222:void synthesizeClasses(com.android.tools.r8.ir.desugar.CfClassSynthesizerDesugaringEventConsumer):480:481 -> a
    223:226:void postProcessingDesugaring(java.util.Collection,com.android.tools.r8.ir.desugar.CfPostProcessingDesugaringEventConsumer,java.util.concurrent.ExecutorService):491:494 -> a
    1:2:com.android.tools.r8.graph.DexMethod ensureGetFieldsAsObjects(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions):259:260 -> b
    3:5:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.getFieldsAsObjectsMethod(com.android.tools.r8.graph.DexType):269:269 -> b
    3:5:com.android.tools.r8.graph.DexMethod ensureGetFieldsAsObjects(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions):260 -> b
    6:7:com.android.tools.r8.graph.DexMethod ensureGetFieldsAsObjects(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.ProgramAdditions):261:262 -> b
    8:9:java.util.List desugarInvokeRecordToString(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):332:333 -> b
    10:12:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.desugar.records.RecordDesugaring.getFieldsAsObjectsMethod(com.android.tools.r8.graph.DexType):269:269 -> b
    10:12:java.util.List desugarInvokeRecordToString(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):333 -> b
    13:23:java.util.List desugarInvokeRecordToString(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):334:344 -> b
    24:37:java.util.List desugarInvokeRecordToString(com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer$RecordInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):341:354 -> b
com.android.tools.r8.ir.desugar.records.RecordDesugaringEventConsumer -> com.android.tools.r8.internal.jQ:
    void acceptRecordClass(com.android.tools.r8.graph.DexProgramClass) -> a
com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter -> com.android.tools.r8.internal.oQ:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    com.android.tools.r8.ir.conversion.IRConverter irConverter -> b
    1:1:void <clinit>():32:32 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):46:48 -> <init>
    1:4:com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter create(com.android.tools.r8.graph.AppView):38:41 -> a
    5:11:void rewriteRecordFieldValues():54:60 -> a
    12:22:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):68:78 -> a
    12:22:void rewriteRecordFieldValues():61 -> a
    23:23:boolean com.android.tools.r8.ir.code.Instruction.isRecordFieldValues():0:0 -> a
    23:23:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):78 -> a
    23:23:void rewriteRecordFieldValues():61 -> a
    24:24:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):80:80 -> a
    24:24:void rewriteRecordFieldValues():61 -> a
    25:25:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):95:95 -> a
    25:25:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    25:25:void rewriteRecordFieldValues():61 -> a
    26:34:java.util.List com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.computePresentFields(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.graph.ProgramMethod):159:167 -> a
    26:34:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):95 -> a
    26:34:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    26:34:void rewriteRecordFieldValues():61 -> a
    35:35:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    35:35:java.util.List com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.computePresentFields(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.graph.ProgramMethod):167 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):95 -> a
    35:35:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    35:35:void rewriteRecordFieldValues():61 -> a
    36:36:java.util.List com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.computePresentFields(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.graph.ProgramMethod):167:167 -> a
    36:36:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):95 -> a
    36:36:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    36:36:void rewriteRecordFieldValues():61 -> a
    37:37:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> a
    37:37:java.util.List com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.computePresentFields(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.graph.ProgramMethod):167 -> a
    37:37:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):95 -> a
    37:37:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    37:37:void rewriteRecordFieldValues():61 -> a
    38:39:java.util.List com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.computePresentFields(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.graph.ProgramMethod):168:169 -> a
    38:39:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):95 -> a
    38:39:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    38:39:void rewriteRecordFieldValues():61 -> a
    40:40:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):96:96 -> a
    40:40:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    40:40:void rewriteRecordFieldValues():61 -> a
    41:41:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    41:41:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):96 -> a
    41:41:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    41:41:void rewriteRecordFieldValues():61 -> a
    42:54:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):98:110 -> a
    42:54:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    42:54:void rewriteRecordFieldValues():61 -> a
    55:55:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    55:55:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):111 -> a
    55:55:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    55:55:void rewriteRecordFieldValues():61 -> a
    56:68:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldArray(com.android.tools.r8.ir.code.RecordFieldValues,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator):112:124 -> a
    56:68:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):79 -> a
    56:68:void rewriteRecordFieldValues():61 -> a
    69:71:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):85:87 -> a
    69:71:void rewriteRecordFieldValues():61 -> a
    72:72:void com.android.tools.r8.ir.desugar.records.RecordFieldValuesRewriter.rewriteRecordFieldValues(com.android.tools.r8.graph.ProgramMethod):86:86 -> a
    72:72:void rewriteRecordFieldValues():61 -> a
    73:90:void splitIfCatchHandlers(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.ListIterator):133:150 -> a
com.android.tools.r8.ir.desugar.records.RecordRewriterHelper -> com.android.tools.r8.internal.qQ:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():24:24 -> <clinit>
    1:31:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):33:63 -> a
    32:32:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> a
    32:32:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):63 -> a
    33:44:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):64:75 -> a
    45:51:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):74:80 -> a
    52:52:boolean com.android.tools.r8.graph.DexMethodHandle$MethodHandleType.isInstanceGet():141:141 -> a
    52:52:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):80 -> a
    53:71:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):80:98 -> a
    72:72:boolean isInvokeDynamicOnRecord(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):97:97 -> a
    73:73:com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic parseInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):106:106 -> a
    74:74:boolean com.android.tools.r8.ir.desugar.records.RecordRewriterHelper.isInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):28:28 -> a
    74:74:com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic parseInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):106 -> a
    75:87:com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic parseInvokeDynamicOnRecord(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):106:118 -> a
com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic -> com.android.tools.r8.internal.pQ:
    com.android.tools.r8.graph.DexString methodName -> a
    com.android.tools.r8.graph.DexString fieldNames -> c
    com.android.tools.r8.graph.DexField[] fields -> d
    com.android.tools.r8.graph.DexProto methodProto -> b
    com.android.tools.r8.graph.DexProgramClass recordClass -> e
    1:1:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexField[],com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$1):122:122 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexField[],com.android.tools.r8.graph.DexProgramClass):135:140 -> <init>
    1:1:com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic withFieldNamesAndFields(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexField[]):144:144 -> a
    2:2:com.android.tools.r8.graph.DexString com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic.getFieldNames():160:160 -> a
    2:2:com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo computeRecordFieldNamesComputationInfo():172 -> a
    3:3:com.android.tools.r8.graph.DexField[] com.android.tools.r8.ir.desugar.records.RecordRewriterHelper$RecordInvokeDynamic.getFields():148:148 -> a
    3:3:com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo computeRecordFieldNamesComputationInfo():172 -> a
    4:4:com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo computeRecordFieldNamesComputationInfo():172:172 -> a
    1:1:com.android.tools.r8.graph.DexString getFieldNames():160:160 -> b
    1:1:com.android.tools.r8.graph.DexField[] getFields():148:148 -> c
    1:1:com.android.tools.r8.graph.DexString getMethodName():164:164 -> d
    1:1:com.android.tools.r8.graph.DexProto getMethodProto():168:168 -> e
    1:1:com.android.tools.r8.graph.DexProgramClass getRecordClass():156:156 -> f
    1:1:com.android.tools.r8.graph.DexType getRecordType():152:152 -> g
com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring -> com.android.tools.r8.internal.NW:
    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBuilderMethods -> b
    java.util.Map paramTypeToAppendMethod -> c
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:1:void <init>(com.android.tools.r8.graph.AppView):56:56 -> <init>
    2:17:void <init>(com.android.tools.r8.graph.AppView):54:69 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory access$000(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring):49:49 -> a
    2:2:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):82:82 -> a
    3:3:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    3:3:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):82 -> a
    4:8:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):85:89 -> a
    9:19:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcat(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator):105:115 -> a
    9:19:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):90 -> a
    20:27:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcat(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator):112:119 -> a
    20:27:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):90 -> a
    28:28:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):92:92 -> a
    29:30:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):127:128 -> a
    29:30:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    31:31:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    31:31:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):129 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    31:31:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    32:65:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):130:163 -> a
    32:65:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    66:78:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):162:174 -> a
    66:78:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    79:79:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):171:171 -> a
    79:79:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    80:94:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):167:181 -> a
    80:94:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    95:96:java.lang.String com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.convertToString(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.ProgramMethod):241:242 -> a
    95:96:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181 -> a
    95:96:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    97:97:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181:181 -> a
    97:97:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    98:98:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":154,"2":155,"3":156}}
    154:154:java.lang.String com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.convertToString(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.ProgramMethod):244:244 -> a
    154:154:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181 -> a
    154:154:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    155:155:java.lang.String com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.convertToString(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.ProgramMethod):244:244 -> a
    155:155:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181 -> a
    155:155:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    156:156:java.lang.String com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.convertToString(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.ProgramMethod):244:244 -> a
    156:156:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181 -> a
    156:156:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    99:99:java.lang.String com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.convertToString(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.ProgramMethod):246:246 -> a
    99:99:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181 -> a
    99:99:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    100:100:java.lang.String com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.convertToString(com.android.tools.r8.graph.DexValue,com.android.tools.r8.graph.ProgramMethod):244:244 -> a
    100:100:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):181 -> a
    100:100:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    101:134:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):179:212 -> a
    101:134:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    135:140:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):211:216 -> a
    135:140:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    141:141:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":157,"2":158,"3":159}}
    157:157:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):198:198 -> a
    157:157:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    158:158:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):198:198 -> a
    158:158:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    159:159:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):198:198 -> a
    159:159:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    142:145:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):202:205 -> a
    142:145:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    146:146:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):198:198 -> a
    146:146:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    147:147:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":160,"2":161,"3":162}}
    160:160:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):188:188 -> a
    160:160:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    161:161:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):188:188 -> a
    161:161:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    162:162:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):188:188 -> a
    162:162:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    148:150:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):192:194 -> a
    148:150:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    151:151:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):188:188 -> a
    151:151:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    152:152:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):140:140 -> a
    152:152:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    153:153:java.util.Collection com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.desugarMakeConcatWithConstants(com.android.tools.r8.cf.code.CfInvokeDynamic,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.graph.ProgramMethod):134:134 -> a
    153:153:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):93 -> a
    163:163:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):221:221 -> a
    164:173:boolean com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring.isStringConcatInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexItemFactory):225:234 -> a
    164:173:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):221 -> a
    174:174:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):420:420 -> a
    175:175:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":599,"2":600,"3":601}}
    599:599:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):420:420 -> a
    600:600:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):420:420 -> a
    601:601:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):420:420 -> a
    597:597:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):422:422 -> a
    598:598:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    598:598:com.android.tools.r8.errors.CompilationError error(com.android.tools.r8.graph.ProgramMethod,java.lang.String):422 -> a
    1:1:com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods access$100(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring):49:49 -> b
com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk -> com.android.tools.r8.internal.JW:
    int variableIndex -> c
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,int):376:377 -> <init>
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk asArgumentChunk() -> a
    1:1:int getVariableIndex():381:381 -> d
com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$Chunk -> com.android.tools.r8.internal.KW:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.graph.DexMethod method -> a
    1:1:void <clinit>():337:337 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexMethod):341:342 -> <init>
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk asArgumentChunk() -> a
    1:1:com.android.tools.r8.graph.DexMethod access$200(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$Chunk):337:337 -> a
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConstantChunk asConstantChunk() -> b
    1:1:com.android.tools.r8.ir.code.ValueType getValueType():350:350 -> c
    2:2:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> c
    2:2:com.android.tools.r8.ir.code.ValueType getValueType():350 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> c
    3:3:com.android.tools.r8.ir.code.ValueType getValueType():350 -> c
    4:5:com.android.tools.r8.ir.code.ValueType getValueType():350:351 -> c
com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConcatBuilder -> com.android.tools.r8.internal.LW:
    java.util.List chunks -> a
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring this$0 -> e
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk biggestArgumentChunk -> b
    boolean $assertionsDisabled -> f
    int argumentChunksStackSize -> d
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConstantChunk firstConstantChunk -> c
    1:1:void <clinit>():249:249 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring):257:257 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring):251:255 -> <init>
    1:6:void addChunk(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ArgumentChunk):260:265 -> a
    7:9:void addChunk(com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConstantChunk):270:272 -> a
    10:12:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):294:296 -> a
    13:13:boolean com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$Chunk.isArgumentChunk():0:0 -> a
    13:13:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):296 -> a
    14:16:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):297:299 -> a
    17:24:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):298:305 -> a
    25:28:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):304:307 -> a
    29:29:boolean com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$Chunk.isArgumentChunk():0:0 -> a
    29:29:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):307 -> a
    30:32:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):308:310 -> a
    33:36:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):309:312 -> a
    37:37:boolean com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$Chunk.isConstantChunk():0:0 -> a
    37:37:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):312 -> a
    38:54:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):312:328 -> a
    55:59:java.util.Collection desugar(com.android.tools.r8.ir.desugar.LocalStackAllocator):326:330 -> a
com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConstantChunk -> com.android.tools.r8.internal.MW:
    com.android.tools.r8.graph.DexString stringConstant -> c
    1:2:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexString):400:401 -> <init>
    com.android.tools.r8.ir.desugar.stringconcat.StringConcatInstructionDesugaring$ConstantChunk asConstantChunk() -> b
    1:1:com.android.tools.r8.graph.DexString getStringConstant():405:405 -> d
com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring -> com.android.tools.r8.internal.kZ:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexProto twrCloseResourceProto -> c
    com.android.tools.r8.graph.DexMethod getSuppressed -> e
    com.android.tools.r8.graph.DexMethod addSuppressed -> d
    1:8:void <init>(com.android.tools.r8.graph.AppView):41:48 -> <init>
    1:1:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):61:61 -> a
    2:3:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isTwrCloseResourceInvoke(com.android.tools.r8.cf.code.CfInstruction):187:188 -> a
    2:3:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):64 -> a
    4:4:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isTwrCloseResourceMethod(com.android.tools.r8.graph.DexMethod):192:192 -> a
    4:4:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isTwrCloseResourceInvoke(com.android.tools.r8.cf.code.CfInstruction):188 -> a
    4:4:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):64 -> a
    5:12:java.util.Collection desugarInstruction(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.ir.desugar.FreshLocalProvider,com.android.tools.r8.ir.desugar.LocalStackAllocator,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection,com.android.tools.r8.graph.DexItemFactory):65:72 -> a
    13:22:java.util.Collection rewriteTwrAddSuppressedInvoke(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):81:90 -> a
    23:23:java.util.Collection rewriteTwrAddSuppressedInvoke(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):84:84 -> a
    24:24:com.android.tools.r8.com.google.common.collect.ImmutableList rewriteTwrCloseResourceInvoke(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):114:114 -> a
    25:30:com.android.tools.r8.com.google.common.collect.ImmutableList createAndCallSyntheticMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProto,java.util.function.BiFunction,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,java.util.function.BiConsumer,com.android.tools.r8.graph.ProgramMethod):130:135 -> a
    31:43:com.android.tools.r8.com.google.common.collect.ImmutableList createAndCallSyntheticMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProto,java.util.function.BiFunction,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,java.util.function.BiConsumer,com.android.tools.r8.graph.ProgramMethod):133:145 -> a
    44:47:void lambda$createAndCallSyntheticMethod$1(com.android.tools.r8.graph.DexProto,java.util.function.BiFunction,com.android.tools.r8.synthesis.SyntheticMethodBuilder):140:143 -> a
    48:48:com.android.tools.r8.graph.Code lambda$createAndCallSyntheticMethod$0(java.util.function.BiFunction,com.android.tools.r8.graph.DexMethod):143:143 -> a
    49:49:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):150:150 -> a
    50:51:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isTwrCloseResourceInvoke(com.android.tools.r8.cf.code.CfInstruction):187:188 -> a
    50:51:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):153 -> a
    52:52:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isTwrCloseResourceMethod(com.android.tools.r8.graph.DexMethod):192:192 -> a
    52:52:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isTwrCloseResourceInvoke(com.android.tools.r8.cf.code.CfInstruction):188 -> a
    52:52:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):153 -> a
    53:55:boolean needsDesugaring(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.ProgramMethod):153:155 -> a
    56:57:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):159:160 -> a
    58:58:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):164:164 -> a
    58:58:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    59:70:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):170:181 -> a
    59:70:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    59:70:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    71:71:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):176:176 -> a
    71:71:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    71:71:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    72:72:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":76,"2":77,"3":78}}
    76:76:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):176:176 -> a
    76:76:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    76:76:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    77:77:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):176:176 -> a
    77:77:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    77:77:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    78:78:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):176:176 -> a
    78:78:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    78:78:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    73:73:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82,"4":83}}
    80:80:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):178:178 -> a
    80:80:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    80:80:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    81:81:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):178:178 -> a
    81:81:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    81:81:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    82:82:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):178:178 -> a
    82:82:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    82:82:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    83:83:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):178:178 -> a
    83:83:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    83:83:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    74:74:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    74:74:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):178 -> a
    74:74:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    74:74:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    75:75:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.isSubtypeOfThrowable(com.android.tools.r8.graph.DexType):178:178 -> a
    75:75:boolean com.android.tools.r8.ir.desugar.twr.TwrInstructionDesugaring.matchesMethodOfThrowable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):166 -> a
    75:75:boolean isTwrSuppressedInvoke(com.android.tools.r8.cf.code.CfInstruction,com.android.tools.r8.graph.DexMethod):160 -> a
    1:4:java.util.Collection rewriteTwrGetSuppressedInvoke(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):96:99 -> b
    5:13:java.util.Collection rewriteTwrGetSuppressedInvoke(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):98:106 -> b
    14:14:java.util.Collection rewriteTwrGetSuppressedInvoke(com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):100:100 -> b
com.android.tools.r8.ir.optimize.AssertionsRewriter -> com.android.tools.r8.internal.D3:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString kotlinTransformation -> e
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString defaultConfiguration -> c
    java.util.List configuration -> d
    boolean enabled -> f
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():43:43 -> <clinit>
    1:20:void <init>(com.android.tools.r8.graph.AppView):117:136 -> <init>
    1:1:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString lambda$new$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.AssertionsConfiguration):133:133 -> a
    2:2:boolean isEnabled(com.android.tools.r8.utils.InternalOptions):142:142 -> a
    3:8:boolean com.android.tools.r8.utils.AssertionConfigurationWithDefault.isPassthroughAll():31:36 -> a
    3:8:boolean isEnabled(com.android.tools.r8.utils.InternalOptions):143 -> a
    9:9:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString com.android.tools.r8.ir.optimize.AssertionsRewriter.getTransformationForMethod(com.android.tools.r8.graph.DexEncodedMethod):147:147 -> a
    9:9:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):349 -> a
    10:31:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):350:371 -> a
    32:32:java.util.LinkedList com.android.tools.r8.ir.code.IRCode.getBlocks():1350:1350 -> a
    32:32:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):372 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:62:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):372:401 -> a
    63:63:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    63:63:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):403 -> a
    64:69:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):404:409 -> a
    70:83:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):479:492 -> a
    70:83:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    84:84:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    84:84:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):493 -> a
    84:84:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    85:86:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):494:495 -> a
    85:86:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    87:87:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    87:87:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):497 -> a
    87:87:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    88:88:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):498:498 -> a
    88:88:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    89:89:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    89:89:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):499 -> a
    89:89:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    90:92:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):500:502 -> a
    90:92:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    93:93:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    93:93:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):503 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    93:93:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    94:94:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    94:94:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):503 -> a
    94:94:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    95:95:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):507:507 -> a
    95:95:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    96:96:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    96:96:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):507 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    96:96:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    97:97:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    97:97:void com.android.tools.r8.ir.optimize.AssertionsRewriter.rewriteKotlinAssertionEnable(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):506 -> a
    97:97:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):410 -> a
    98:98:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):412:412 -> a
    99:99:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    99:99:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):412 -> a
    100:104:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):415:419 -> a
    105:105:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    105:105:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):421 -> a
    106:114:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):422:430 -> a
    115:115:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):429:429 -> a
    116:116:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    116:116:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):428 -> a
    117:122:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):434:439 -> a
    123:123:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):438:438 -> a
    124:124:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    124:124:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):437 -> a
    125:133:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):445:453 -> a
    134:134:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    134:134:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):453 -> a
    135:143:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):455:463 -> a
    144:144:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    144:144:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):459 -> a
    145:145:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):464:464 -> a
    146:147:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> a
    146:147:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):464 -> a
    148:150:void runInternal(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):465:467 -> a
    151:175:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType) -> a
    176:179:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):167:170 -> a
    180:203:boolean com.android.tools.r8.ir.optimize.AssertionsRewriter.isDescriptorForClassOrInnerClass(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):191:214 -> a
    180:203:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):170 -> a
    204:205:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):158:159 -> a
    206:206:boolean com.android.tools.r8.graph.DexString.contains(com.android.tools.r8.graph.DexString):466:466 -> a
    206:206:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):159 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    207:212:boolean com.android.tools.r8.graph.DexString.contains(com.android.tools.r8.graph.DexString):466:471 -> a
    207:212:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):159 -> a
    213:213:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):162:162 -> a
    214:214:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    214:214:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):162 -> a
    215:215:com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString getTransformationForType(com.android.tools.r8.graph.DexType):178:178 -> a
    216:220:void run(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):340:344 -> a
    221:221:com.android.tools.r8.ir.code.DominatorTree lambda$runInternal$1(com.android.tools.r8.ir.code.IRCode):371:371 -> a
    222:222:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> a
    222:222:com.android.tools.r8.ir.code.DominatorTree lambda$runInternal$1(com.android.tools.r8.ir.code.IRCode):371 -> a
    223:230:void lambda$runInternal$2(com.android.tools.r8.utils.LazyBox,java.util.Map,java.util.Map,com.android.tools.r8.ir.code.BasicBlock):375:382 -> a
    231:236:void lambda$runInternal$2(com.android.tools.r8.utils.LazyBox,java.util.Map,java.util.Map,com.android.tools.r8.ir.code.BasicBlock):381:386 -> a
    237:237:java.util.List com.android.tools.r8.ir.code.DominatorTree.dominatedBlocks(com.android.tools.r8.ir.code.BasicBlock):171:171 -> a
    237:237:void lambda$runInternal$2(com.android.tools.r8.utils.LazyBox,java.util.Map,java.util.Map,com.android.tools.r8.ir.code.BasicBlock):386 -> a
    238:253:com.android.tools.r8.ir.code.Throw com.android.tools.r8.ir.optimize.AssertionsRewriter.isAlwaysThrowingEntry(com.android.tools.r8.ir.code.BasicBlock,java.util.List):545:560 -> a
    238:253:void lambda$runInternal$2(com.android.tools.r8.utils.LazyBox,java.util.Map,java.util.Map,com.android.tools.r8.ir.code.BasicBlock):387 -> a
    254:256:void lambda$runInternal$2(com.android.tools.r8.utils.LazyBox,java.util.Map,java.util.Map,com.android.tools.r8.ir.code.BasicBlock):389:391 -> a
    257:257:void lambda$runInternal$2(com.android.tools.r8.utils.LazyBox,java.util.Map,java.util.Map,com.android.tools.r8.ir.code.BasicBlock):390:390 -> a
    258:259:boolean isUsingJavaAssertionsDisabledField(com.android.tools.r8.ir.code.FieldInstruction):519:520 -> a
    260:268:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):528:536 -> a
    269:269:boolean com.android.tools.r8.ir.optimize.AssertionsRewriter.isUsingAssertionsControlField(com.android.tools.r8.ir.code.FieldInstruction):512:512 -> a
    269:269:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):537 -> a
    270:270:boolean com.android.tools.r8.ir.optimize.AssertionsRewriter.isUsingKotlinAssertionsEnabledField(com.android.tools.r8.ir.code.FieldInstruction):524:524 -> a
    270:270:boolean com.android.tools.r8.ir.optimize.AssertionsRewriter.isUsingAssertionsControlField(com.android.tools.r8.ir.code.FieldInstruction):513 -> a
    270:270:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):537 -> a
    271:271:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):538:538 -> a
    272:272:boolean com.android.tools.r8.ir.code.Value.hasSingleUniqueUser():353:353 -> a
    272:272:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):538 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    273:273:boolean com.android.tools.r8.ir.code.Value.hasSingleUniqueUser():353:353 -> a
    273:273:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):538 -> a
    274:274:com.android.tools.r8.ir.code.If isCheckAssertionsEnabledBlock(com.android.tools.r8.ir.code.BasicBlock):539:539 -> a
com.android.tools.r8.ir.optimize.AssertionsRewriter$1 -> com.android.tools.r8.internal.B3:
    int[] $SwitchMap$com$android$tools$r8$AssertionsConfiguration$AssertionTransformationScope -> a
    1:1:void <clinit>():53:53 -> <clinit>
com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString -> com.android.tools.r8.internal.C3:
    com.android.tools.r8.graph.DexString value -> b
    com.android.tools.r8.AssertionsConfiguration entry -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():45:45 -> <clinit>
    1:1:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.optimize.AssertionsRewriter$1):45:45 -> <init>
    2:35:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):51:84 -> <init>
    36:36:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":190,"2":191,"3":192}}
    190:190:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):70:70 -> <init>
    191:191:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):70:70 -> <init>
    192:192:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):70:70 -> <init>
    110:111:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):74:75 -> <init>
    112:112:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):71:71 -> <init>
    113:114:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):55:56 -> <init>
    115:115:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":193,"2":194,"3":195}}
    193:193:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):58:58 -> <init>
    194:194:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):58:58 -> <init>
    195:195:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):58:58 -> <init>
    177:178:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):62:63 -> <init>
    179:179:void <init>(com.android.tools.r8.AssertionsConfiguration,com.android.tools.r8.graph.DexItemFactory):59:59 -> <init>
    1:1:com.android.tools.r8.AssertionsConfiguration access$100(com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString):45:45 -> a
    2:2:com.android.tools.r8.references.MethodReference getAssertionHandler():105:105 -> a
    3:3:boolean com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString.isAssertionHandler():101:101 -> a
    3:3:com.android.tools.r8.references.MethodReference getAssertionHandler():105 -> a
    4:5:com.android.tools.r8.references.MethodReference getAssertionHandler():105:106 -> a
    1:1:com.android.tools.r8.graph.DexString access$200(com.android.tools.r8.ir.optimize.AssertionsRewriter$ConfigurationEntryWithDexString):45:45 -> b
    2:2:boolean isAssertionHandler():101:101 -> b
    1:1:boolean isCompileTimeDisabled():93:93 -> c
    1:1:boolean isCompileTimeEnabled():89:89 -> d
    1:1:boolean isPassthrough():97:97 -> e
com.android.tools.r8.ir.optimize.AssumeInserter -> com.android.tools.r8.internal.U3:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():62:62 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):66:67 -> <init>
    boolean lambda$computeDominanceForAssumedValues$2(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
    boolean lambda$computeDominanceForAssumedValues$4(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> a
    1:1:void insertAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):71:71 -> a
    2:2:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):79:79 -> a
    3:3:void com.android.tools.r8.ir.optimize.AssumeInserter.internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):89:89 -> a
    3:3:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):80 -> a
    4:11:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate):122:129 -> a
    4:11:void com.android.tools.r8.ir.optimize.AssumeInserter.internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):90 -> a
    4:11:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):80 -> a
    12:12:void com.android.tools.r8.ir.optimize.AssumeInserter.internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):91:91 -> a
    12:12:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):80 -> a
    13:13:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.isEmpty():803:803 -> a
    13:13:void com.android.tools.r8.ir.optimize.AssumeInserter.internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):92 -> a
    13:13:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):80 -> a
    14:21:void com.android.tools.r8.ir.optimize.AssumeInserter.internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):96:103 -> a
    14:21:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):80 -> a
    22:22:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.isEmpty():803:803 -> a
    22:22:void com.android.tools.r8.ir.optimize.AssumeInserter.internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):104 -> a
    22:22:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):80 -> a
    23:23:void com.android.tools.r8.ir.optimize.AssumeInserter.internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):108:108 -> a
    23:23:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):80 -> a
    24:24:void com.android.tools.r8.ir.optimize.AssumeInserter.removeRedundantDominatedAssumeInstructions(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,java.util.Map):489:489 -> a
    24:24:void com.android.tools.r8.ir.optimize.AssumeInserter.internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):109 -> a
    24:24:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):80 -> a
    25:25:void com.android.tools.r8.ir.optimize.AssumeInserter.internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):110:110 -> a
    25:25:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):80 -> a
    26:26:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.isEmpty():803:803 -> a
    26:26:void com.android.tools.r8.ir.optimize.AssumeInserter.internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):111 -> a
    26:26:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):80 -> a
    27:29:void com.android.tools.r8.ir.optimize.AssumeInserter.internalInsertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):115:117 -> a
    27:29:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):80 -> a
    30:30:void insertAssumeInstructionsInBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.function.Predicate,com.android.tools.r8.utils.Timing):81:81 -> a
    31:50:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):142:161 -> a
    51:56:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):160:165 -> a
    57:73:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):284:300 -> a
    57:73:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):165 -> a
    74:74:boolean com.android.tools.r8.shaking.ProguardMemberRuleReturnValue.isNonNull():64:64 -> a
    74:74:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):300 -> a
    74:74:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):165 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    75:75:boolean com.android.tools.r8.shaking.ProguardMemberRuleReturnValue.isNonNull():64:64 -> a
    75:75:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):300 -> a
    75:75:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):165 -> a
    76:82:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):301:307 -> a
    76:82:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):165 -> a
    83:83:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesForFieldGet(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):306:306 -> a
    83:83:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):165 -> a
    84:89:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):174:179 -> a
    90:90:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.peekPrevious():28:28 -> a
    90:90:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):179 -> a
    91:101:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):179:189 -> a
    102:102:boolean com.android.tools.r8.ir.code.If.isNullTest():94:94 -> a
    102:102:boolean com.android.tools.r8.ir.code.If.isNonTrivialNullTest():98 -> a
    102:102:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):190 -> a
    103:103:boolean com.android.tools.r8.ir.code.If.isNonTrivialNullTest():98:98 -> a
    103:103:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):190 -> a
    104:108:void computeAssumedValuesInBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):191:195 -> a
    109:115:boolean computeAssumedValuesForInvokeMethod(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):202:208 -> a
    116:122:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesFromArrayClone(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):217:223 -> a
    116:122:boolean computeAssumedValuesForInvokeMethod(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):209 -> a
    123:123:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    123:123:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    123:123:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesFromArrayClone(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):223 -> a
    123:123:boolean computeAssumedValuesForInvokeMethod(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):209 -> a
    124:124:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65:65 -> a
    124:124:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesFromArrayClone(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):223 -> a
    124:124:boolean computeAssumedValuesForInvokeMethod(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):209 -> a
    125:125:boolean com.android.tools.r8.ir.optimize.AssumeInserter.computeAssumedValuesFromArrayClone(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):224:224 -> a
    125:125:boolean computeAssumedValuesForInvokeMethod(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):209 -> a
    126:126:boolean computeAssumedValuesForInvokeMethod(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):212:212 -> a
    127:150:boolean computeAssumedValuesForOutValue(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):314:337 -> a
    151:151:void removeRedundantAssumeInstructions(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):344:344 -> a
    152:155:java.util.Map computeDominanceForAssumedValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):384:387 -> a
    156:158:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):390:392 -> a
    159:159:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.hasDynamicTypeInfo():700:700 -> a
    159:159:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isSubsumedBy(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):733 -> a
    159:159:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):394 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    160:160:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isSubsumedBy(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):733:733 -> a
    160:160:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):394 -> a
    161:161:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.unknown():954:954 -> a
    161:161:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.redundant():945 -> a
    161:161:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):397 -> a
    162:162:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):737:737 -> a
    162:162:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):401 -> a
    163:163:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setNotNull():729:729 -> a
    163:163:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):738 -> a
    163:163:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):401 -> a
    164:164:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.hasDynamicTypeInfo():700:700 -> a
    164:164:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):740 -> a
    164:164:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):401 -> a
    165:165:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption):708:708 -> a
    165:165:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.strengthenWith(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):741 -> a
    165:165:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):401 -> a
    166:166:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):406:406 -> a
    167:167:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everything():933:933 -> a
    167:167:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):407 -> a
    168:184:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):414:430 -> a
    185:185:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everythingElse():937:937 -> a
    185:185:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):436 -> a
    186:190:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):626:630 -> a
    186:190:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):441 -> a
    191:191:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":688,"2":689,"3":690}}
    688:688:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):631:631 -> a
    688:688:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):441 -> a
    689:689:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):631:631 -> a
    689:689:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):441 -> a
    690:690:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):631:631 -> a
    690:690:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):441 -> a
    634:637:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):443:443 -> a
    644:646:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):450:452 -> a
    647:647:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance$Builder com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.builder(com.android.tools.r8.ir.code.Value):929:929 -> a
    647:647:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):455 -> a
    648:666:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):456:474 -> a
    667:672:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.ir.optimize.AssumeInserter.findDominatedPredecessorIndexesInPhi(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value,java.util.Set):638:643 -> a
    667:672:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):476 -> a
    673:673:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    673:673:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.ir.optimize.AssumeInserter.findDominatedPredecessorIndexesInPhi(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value,java.util.Set):643 -> a
    673:673:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):476 -> a
    674:682:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.ir.optimize.AssumeInserter.findDominatedPredecessorIndexesInPhi(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.code.Value,java.util.Set):645:653 -> a
    674:682:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):476 -> a
    683:687:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance lambda$computeDominanceForAssumedValues$6(java.util.Map,com.android.tools.r8.ir.code.LazyDominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):477:481 -> a
    691:691:boolean lambda$computeDominanceForAssumedValues$1(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):420:420 -> a
    692:692:java.util.Set lambda$computeDominanceForAssumedValues$3(com.android.tools.r8.ir.code.DominatorTree,com.android.tools.r8.ir.code.BasicBlock):453:453 -> a
    693:693:java.util.Map lambda$computeDominanceForAssumedValues$5(com.android.tools.r8.ir.code.Instruction):470:470 -> a
    694:694:boolean lambda$materializeAssumeInstructions$7(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):524:524 -> a
    695:695:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverything():0:0 -> a
    695:695:boolean lambda$materializeAssumeInstructions$7(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):524 -> a
    696:702:void lambda$materializeAssumeInstructions$9(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.Map):533:539 -> a
    703:703:void materializeSelectedAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,java.util.Set,java.util.Map,java.util.function.Predicate):554:554 -> a
    704:708:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):556:560 -> a
    709:713:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):626:630 -> a
    709:713:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):561 -> a
    714:714:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":784,"2":785,"3":786}}
    784:784:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):631:631 -> a
    784:784:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):561 -> a
    785:785:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):631:631 -> a
    785:785:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):561 -> a
    786:786:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.AssumeInserter.getInsertionBlock(com.android.tools.r8.ir.code.Instruction):631:631 -> a
    786:786:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):561 -> a
    715:715:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.getDominance():692:692 -> a
    715:715:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):563 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    716:717:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isNull():720:721 -> a
    716:717:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):565 -> a
    718:718:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):566:566 -> a
    719:719:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    719:719:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):566 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    720:723:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):568:571 -> a
    724:729:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):567:572 -> a
    730:730:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverything():0:0 -> a
    730:730:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):572 -> a
    731:731:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):573:573 -> a
    732:732:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverythingElse():0:0 -> a
    732:732:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):574 -> a
    733:733:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):575:575 -> a
    734:737:void com.android.tools.r8.ir.code.Value.replacePhiUsers(com.android.tools.r8.ir.code.Value):620:623 -> a
    734:737:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):576 -> a
    738:738:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isSomething():0:0 -> a
    738:738:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):577 -> a
    739:756:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):578:595 -> a
    757:762:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):592:597 -> a
    763:764:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.isNull():720:721 -> a
    763:764:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):600 -> a
    765:783:boolean lambda$materializeSelectedAssumeInstructions$14(java.util.function.Predicate,com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Map,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):601:619 -> a
    787:792:void lambda$materializeSelectedAssumeInstructions$11(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):583:588 -> a
    793:793:java.util.Map lambda$materializeSelectedAssumeInstructions$12(com.android.tools.r8.ir.code.BasicBlock):617:617 -> a
    794:795:boolean com.android.tools.r8.ir.optimize.AssumeInserter.isNullableReferenceType(com.android.tools.r8.ir.code.Value):662:663 -> a
    794:795:boolean isNullableReferenceTypeWithOtherNonDebugUsers(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):668 -> a
    796:799:boolean isNullableReferenceTypeWithOtherNonDebugUsers(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):669:672 -> a
    800:800:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.hasDynamicTypeInfo():700:700 -> a
    800:800:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):347 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    801:809:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):351:359 -> a
    810:810:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.getAssumedValueInfo(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):798:798 -> a
    810:810:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):365 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    811:812:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues.getAssumedValueInfo(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):798:799 -> a
    811:812:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):365 -> a
    813:813:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):370:370 -> a
    814:814:com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.getDynamicTypeAssumption():704:704 -> a
    814:814:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):374 -> a
    815:815:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption):708:708 -> a
    815:815:boolean lambda$removeRedundantAssumeInstructions$0(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):373 -> a
    boolean lambda$materializeSelectedAssumeInstructions$10(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction) -> b
    1:12:boolean computeAssumedValuesFromSingleTarget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):230:241 -> b
    13:20:com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfoLookup.lookupAssumeInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClassAndMethod):22:29 -> b
    13:20:boolean computeAssumedValuesFromSingleTarget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):242 -> b
    21:22:boolean computeAssumedValuesFromSingleTarget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):244:245 -> b
    23:23:boolean com.android.tools.r8.shaking.ProguardMemberRuleReturnValue.isNonNull():64:64 -> b
    23:23:boolean computeAssumedValuesFromSingleTarget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):245 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:boolean com.android.tools.r8.shaking.ProguardMemberRuleReturnValue.isNonNull():64:64 -> b
    24:24:boolean computeAssumedValuesFromSingleTarget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):245 -> b
    25:40:boolean computeAssumedValuesFromSingleTarget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):246:261 -> b
    41:54:boolean computeAssumedValuesFromSingleTarget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder):260:273 -> b
    55:106:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):493:544 -> b
    107:107:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> b
    107:107:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):544 -> b
    108:108:void materializeAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues):544:544 -> b
    109:109:boolean lambda$materializeAssumeInstructions$8(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):530:530 -> b
    110:110:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverything():0:0 -> b
    110:110:boolean lambda$materializeAssumeInstructions$8(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):530 -> b
    111:111:java.util.List lambda$materializeSelectedAssumeInstructions$13(com.android.tools.r8.ir.code.Instruction):618:618 -> b
com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance -> com.android.tools.r8.internal.L3:
    1:1:void <init>():902:902 -> <init>
    com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance asSomething() -> a
com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance$Builder -> com.android.tools.r8.internal.K3:
    java.util.Map dominatedPhiUsers -> c
    com.android.tools.r8.ir.code.Value assumedValue -> a
    java.util.Set dominatedUsers -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():957:957 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$1):957:957 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Value):964:964 -> <init>
    3:7:void <init>(com.android.tools.r8.ir.code.Value):961:965 -> <init>
    1:3:void addDominatedUser(com.android.tools.r8.ir.code.Instruction):969:971 -> a
    4:6:void addDominatedPhiUser(com.android.tools.r8.ir.code.Phi,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):975:977 -> a
    7:7:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():981:981 -> a
    8:8:com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.nothing():941:941 -> a
    8:8:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():982 -> a
    9:11:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():984:984 -> a
    13:13:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():986:986 -> a
    14:14:com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.something(java.util.Set,java.util.Map):950:950 -> a
    14:14:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance build():986 -> a
com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo -> com.android.tools.r8.internal.M3:
    com.android.tools.r8.ir.code.Assume$NonNullAssumption nonNullAssumption -> c
    com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance dominance -> a
    com.android.tools.r8.ir.code.Assume$DynamicTypeAssumption dynamicTypeAssumption -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():681:681 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance):687:688 -> <init>
    1:1:boolean isNonNull():725:725 -> a
    1:1:void setNotNull():729:729 -> b
com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues -> com.android.tools.r8.internal.O3:
    java.util.Map assumedValues -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():746:746 -> <clinit>
    1:2:void <init>(java.util.Map):755:756 -> <init>
    1:14:void computeDominance(com.android.tools.r8.utils.TriFunction):765:778 -> a
    15:15:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverything():0:0 -> a
    15:15:void computeDominance(com.android.tools.r8.utils.TriFunction):778 -> a
    16:20:void computeDominance(com.android.tools.r8.utils.TriFunction):779:783 -> a
    21:21:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isUnknown():0:0 -> a
    21:21:void computeDominance(com.android.tools.r8.utils.TriFunction):783 -> a
    22:24:void computeDominance(com.android.tools.r8.utils.TriFunction):783:785 -> a
    25:25:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isNothing():0:0 -> a
    25:25:void computeDominance(com.android.tools.r8.utils.TriFunction):785 -> a
    26:26:void computeDominance(com.android.tools.r8.utils.TriFunction):785:785 -> a
    27:27:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isUnknown():0:0 -> a
    27:27:void computeDominance(com.android.tools.r8.utils.TriFunction):785 -> a
    28:28:void computeDominance(com.android.tools.r8.utils.TriFunction):786:786 -> a
    29:29:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDominance(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance):696:696 -> a
    29:29:void computeDominance(com.android.tools.r8.utils.TriFunction):788 -> a
    30:31:void computeDominance(com.android.tools.r8.utils.TriFunction):791:792 -> a
    32:32:boolean lambda$computeDominance$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):780:780 -> a
    33:33:void removeAll(java.util.Map):815:815 -> a
    34:38:void lambda$removeAll$3(com.android.tools.r8.ir.code.Instruction,java.util.Map):817:821 -> a
    39:56:void removeIf(com.android.tools.r8.utils.TriPredicate):828:845 -> a
com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues$Builder -> com.android.tools.r8.internal.N3:
    java.util.Map assumedValues -> a
    java.util.Set nonNullValuesKnownToDominateAllUsers -> b
    1:7:void <init>():850:856 -> <init>
    1:5:void updateAssumedValueInfo(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance,java.util.function.Consumer):863:867 -> a
    6:6:boolean com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.isEverything():0:0 -> a
    6:6:void updateAssumedValueInfo(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance,java.util.function.Consumer):868 -> a
    7:8:void updateAssumedValueInfo(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance,java.util.function.Consumer):868:869 -> a
    9:9:java.util.Map lambda$updateAssumedValueInfo$0(com.android.tools.r8.ir.code.Instruction):865:865 -> a
    10:10:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo lambda$updateAssumedValueInfo$1(com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance,com.android.tools.r8.ir.code.Value):866:866 -> a
    11:11:void lambda$addAssumedValueKnownToDominateAllUsers$2(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):879:879 -> a
    12:14:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):712:714 -> a
    12:14:void lambda$addAssumedValueKnownToDominateAllUsers$2(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):879 -> a
    15:15:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setNotNull():729:729 -> a
    15:15:void com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo.setDynamicTypeAssumption(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):715 -> a
    15:15:void lambda$addAssumedValueKnownToDominateAllUsers$2(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValueInfo):879 -> a
    16:16:boolean isMaybeNull(com.android.tools.r8.ir.code.Value):893:893 -> a
    17:17:com.android.tools.r8.ir.optimize.AssumeInserter$AssumedValues build():897:897 -> a
    18:18:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everything():933:933 -> a
    18:18:void addAssumedValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):878 -> a
    19:19:void addAssumedValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):878:878 -> a
    20:20:void addAssumedValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):875:875 -> a
    21:21:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.everything():933:933 -> a
    21:21:void addNonNullValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):884 -> a
    22:22:void addNonNullValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):884:884 -> a
    23:23:void addNonNullValueKnownToDominateAllUsers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):883:883 -> a
    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance com.android.tools.r8.ir.optimize.AssumeInserter$AssumedDominance.unknown():954:954 -> b
    1:1:void addNonNullValueWithUnknownDominance(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):889 -> b
    2:2:void addNonNullValueWithUnknownDominance(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):889:889 -> b
    3:3:void addNonNullValueWithUnknownDominance(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):888:888 -> b
com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance -> com.android.tools.r8.internal.P3:
    com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance INSTANCE -> a
    1:1:void <clinit>():993:993 -> <clinit>
    1:1:void <init>():995:995 -> <init>
    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingAssumedDominance getInstance():998:998 -> b
com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance -> com.android.tools.r8.internal.Q3:
    com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance INSTANCE -> a
    1:1:void <clinit>():1009:1009 -> <clinit>
    1:1:void <init>():1012:1012 -> <init>
    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$EverythingElseAssumedDominance getInstance():1015:1015 -> b
com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance -> com.android.tools.r8.internal.R3:
    com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance INSTANCE -> a
    1:1:void <clinit>():1026:1026 -> <clinit>
    1:1:void <init>():1028:1028 -> <init>
    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$NothingAssumedDominance getInstance():1031:1031 -> b
com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance -> com.android.tools.r8.internal.S3:
    java.util.Map dominatedPhiUsers -> b
    java.util.Set dominatedUsers -> a
    1:3:void <init>(java.util.Set,java.util.Map):1046:1048 -> <init>
    com.android.tools.r8.ir.optimize.AssumeInserter$SomethingAssumedDominance asSomething() -> a
    1:1:java.util.Map getDominatedPhiUsers():1056:1056 -> b
    1:1:java.util.Set getDominatedUsers():1052:1052 -> c
com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance -> com.android.tools.r8.internal.T3:
    com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance INSTANCE -> a
    1:1:void <clinit>():1072:1072 -> <clinit>
    1:1:void <init>():1074:1074 -> <init>
    1:1:com.android.tools.r8.ir.optimize.AssumeInserter$UnknownAssumedDominance getInstance():1077:1077 -> b
com.android.tools.r8.ir.optimize.AssumeRemover -> com.android.tools.r8.internal.V3:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set affectedValues -> c
    java.util.Set assumeInstructionsToRemove -> d
    boolean mayHaveIntroducedTrivialPhi -> e
    com.android.tools.r8.ir.code.IRCode code -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.Set):45:45 -> <init>
    2:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.Set):37:48 -> <init>
    1:3:void markUnusedAssumeValuesForRemoval(java.util.Collection):72:74 -> a
    4:4:void com.android.tools.r8.ir.optimize.AssumeRemover.markForRemoval(com.android.tools.r8.ir.code.Assume):80:80 -> a
    4:4:void markUnusedAssumeValuesForRemoval(java.util.Collection):74 -> a
    5:19:void removeIfMarked(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.ir.code.InstructionListIterator):85:99 -> a
    20:28:com.android.tools.r8.ir.optimize.AssumeRemover removeMarkedInstructions(java.util.Set):108:116 -> a
    29:29:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    29:29:com.android.tools.r8.ir.optimize.AssumeRemover removeMarkedInstructions(java.util.Set):116 -> a
    30:30:com.android.tools.r8.ir.optimize.AssumeRemover removeMarkedInstructions(java.util.Set):117:117 -> a
    31:32:void finish():126:127 -> a
    33:33:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    33:33:void finish():127 -> a
    34:34:void finish():127:127 -> a
    35:35:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    35:35:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):60 -> a
    36:36:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    36:36:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):60 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    37:38:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):60:61 -> a
    39:39:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    39:39:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):61 -> a
    40:42:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):62:64 -> a
    43:43:void com.android.tools.r8.ir.optimize.AssumeRemover.markForRemoval(com.android.tools.r8.ir.code.Assume):80:80 -> a
    43:43:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.Value):65 -> a
    1:1:java.util.Set getAffectedValues():52:52 -> b
    1:1:boolean mayHaveIntroducedTrivialPhi():56:56 -> c
com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence -> com.android.tools.r8.internal.E4:
    com.android.tools.r8.ir.regalloc.RegisterAllocator allocator -> a
    int[] hashes -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():16:16 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):22:25 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):16:16 -> a
    2:2:int doHash(java.lang.Object):16:16 -> a
    3:9:int com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence.doHash(com.android.tools.r8.ir.code.BasicBlock):79:85 -> a
    3:9:int doHash(java.lang.Object):16 -> a
    10:33:boolean com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence.hasIdenticalInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):29:52 -> a
    10:33:boolean doEquivalent(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):70 -> a
    34:38:boolean com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence.verifyAllSuccessors(java.util.List,java.util.List):57:61 -> a
    34:38:boolean com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence.hasIdenticalInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):52 -> a
    34:38:boolean doEquivalent(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):70 -> a
    39:39:boolean com.android.tools.r8.ir.optimize.BasicBlockInstructionsEquivalence.hasIdenticalInstructions(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):52:52 -> a
    39:39:boolean doEquivalent(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):70 -> a
    40:40:void clearComputedHash(com.android.tools.r8.ir.code.BasicBlock):74:74 -> a
    1:12:int computeHash(com.android.tools.r8.ir.code.BasicBlock):90:101 -> b
com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization -> com.android.tools.r8.internal.Z9:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$WaveDoneAction waveDoneAction -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.conversion.IRConverter converter -> b
    1:1:void <clinit>():62:62 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):128:128 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):126:131 -> <init>
    1:71:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):135:205 -> a
    72:72:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    72:72:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):209 -> a
    73:99:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):210:236 -> a
    100:100:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    100:100:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):237 -> a
    101:101:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):237:237 -> a
    102:105:void com.android.tools.r8.utils.IteratorUtils.removeIf(java.util.Iterator,java.util.function.Predicate):140:143 -> a
    102:105:void com.android.tools.r8.utils.IteratorUtils.removeIf(com.android.tools.r8.ir.code.InstructionListIterator,java.util.function.Predicate):155 -> a
    102:105:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):237 -> a
    106:159:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):243:296 -> a
    160:164:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):167:171 -> a
    165:189:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):300:324 -> a
    165:189:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):171 -> a
    190:227:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):328:365 -> a
    190:227:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):324 -> a
    190:227:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):171 -> a
    228:228:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping.map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory):38:38 -> a
    228:228:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):365 -> a
    228:228:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):324 -> a
    228:228:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):171 -> a
    229:231:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):365:367 -> a
    229:231:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):324 -> a
    229:231:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):171 -> a
    232:232:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):171:171 -> a
    233:233:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValueForInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):367:367 -> a
    233:233:com.android.tools.r8.graph.DexValue com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.getDexStringValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):324 -> a
    233:233:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):171 -> a
    234:242:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):172:180 -> a
    243:243:boolean com.android.tools.r8.ir.code.ConstNumber.getBooleanValue():82:82 -> a
    243:243:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):181 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    244:260:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):181:197 -> a
    261:264:void lambda$optimize$0(java.util.Set,java.util.Map,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.StaticPut):173:176 -> a
    265:265:com.android.tools.r8.graph.DexField lambda$optimize$1(com.android.tools.r8.graph.DexEncodedField):256:256 -> a
    266:266:void lambda$optimize$2(java.util.Set,com.android.tools.r8.shaking.AppInfoWithLivenessModifier):274:274 -> a
    267:268:void lambda$optimize$3():282:283 -> a
    269:269:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():431:431 -> a
    269:269:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):373 -> a
    270:270:java.util.IdentityHashMap com.android.tools.r8.com.google.common.collect.Maps.newIdentityHashMap():431:431 -> a
    270:270:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):374 -> a
    271:281:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):375:385 -> a
    282:282:boolean com.android.tools.r8.ir.code.Instruction.instructionInstanceCanThrow(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):629:629 -> a
    282:282:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):386 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    283:388:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):387:492 -> a
    389:389:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    389:389:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):389 -> a
    390:492:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set) -> a
    493:587:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):398:492 -> a
    588:593:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):405:410 -> a
    594:598:boolean com.android.tools.r8.ir.code.Value.isDexItemBasedConstStringThatNeedsToComputeClassName():820:824 -> a
    594:598:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):415 -> a
    599:624:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):418:443 -> a
    625:632:boolean com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization.isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.StaticPut):526:533 -> a
    625:632:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):443 -> a
    633:680:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):445:492 -> a
    681:706:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):467:492 -> a
    707:726:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):473:492 -> a
    727:734:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):487:494 -> a
    735:735:java.util.Map findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set):492:492 -> a
    736:736:java.util.Set lambda$findFinalFieldPutsWhileCollectingUnnecessaryStaticPuts$4(com.android.tools.r8.graph.DexField):461:461 -> a
    737:737:java.util.Map validateFinalFieldPuts(java.util.Map,java.util.Map):519:519 -> a
    738:740:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):537:539 -> a
    741:741:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1636:1636 -> a
    741:741:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):539 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    742:742:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1636:1636 -> a
    742:742:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):539 -> a
    743:745:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):542:544 -> a
    746:746:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    746:746:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):544 -> a
    747:748:boolean isClassNameConstantOf(com.android.tools.r8.graph.DexClass,com.android.tools.r8.ir.code.Instruction):544:545 -> a
com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult -> com.android.tools.r8.internal.X9:
    java.util.Map fieldsWithStaticValues -> a
    com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult EMPTY -> b
    boolean $assertionsDisabled -> c
    1:3:void <clinit>():64:66 -> <clinit>
    1:2:void <init>(java.util.Map):71:72 -> <init>
    1:1:com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$ClassInitializerDefaultsResult empty():76:76 -> a
    2:3:void forEachOptimizedField(java.util.function.BiConsumer):80:81 -> a
    4:9:com.android.tools.r8.graph.DexValue getStaticValue(com.android.tools.r8.graph.DexEncodedField):94:99 -> a
    1:3:boolean hasStaticValue(com.android.tools.r8.graph.DexEncodedField):86:88 -> b
com.android.tools.r8.ir.optimize.ClassInitializerDefaultsOptimization$WaveDoneAction -> com.android.tools.r8.internal.Y9:
    java.util.Map fieldsWithStaticValues -> b
    1:1:void <init>(java.util.Map):107:107 -> <init>
    2:5:void <init>(java.util.Map):105:108 -> <init>
    1:1:void join(java.util.Map):112:112 -> a
    2:2:void execute():118:118 -> a
com.android.tools.r8.ir.optimize.CodeRewriter -> com.android.tools.r8.internal.Fb:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> c
    int $r8$clinit -> e
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():150:150 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):167:170 -> <init>
    boolean lambda$computeConstantArrayValues$8(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.Instruction) -> a
    1:1:boolean lambda$removedTrivialGotos$0(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):244:244 -> a
    2:2:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):496:496 -> a
    3:3:boolean com.android.tools.r8.ir.code.IRCode.hasCatchHandlers():677:677 -> a
    3:3:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):496 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:boolean com.android.tools.r8.ir.code.IRCode.hasCatchHandlers():677:678 -> a
    4:5:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):496 -> a
    6:17:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):503:514 -> a
    18:18:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    18:18:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):515 -> a
    19:26:void disableDex2OatInliningForSelfRecursiveMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):516:523 -> a
    27:61:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):675:709 -> a
    62:62:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    62:62:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):709 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    63:63:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    63:63:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):709 -> a
    64:64:java.lang.Object com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder.setBlockNumber(int):539:539 -> a
    64:64:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):709 -> a
    65:79:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):710:724 -> a
    80:80:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    80:80:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):725 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    81:81:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    81:81:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):725 -> a
    82:82:java.lang.Object com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder.setBlockNumber(int):539:539 -> a
    82:82:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):725 -> a
    83:92:void convertSwitchToSwitchAndIfs(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):726:735 -> a
    93:106:com.android.tools.r8.ir.optimize.CodeRewriter$Interval combineOrAddInterval(java.util.List,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,com.android.tools.r8.ir.optimize.CodeRewriter$Interval):785:798 -> a
    107:107:com.android.tools.r8.ir.optimize.CodeRewriter$Interval combineOrAddInterval(java.util.List,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,com.android.tools.r8.ir.optimize.CodeRewriter$Interval):795:795 -> a
    108:119:void tryAddToBiggestSavings(java.util.Set,java.util.PriorityQueue,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,int):808:819 -> a
    120:120:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):824:824 -> a
    121:121:int com.android.tools.r8.ir.code.If.estimatedSize(com.android.tools.r8.utils.InternalOutputMode):160:160 -> a
    121:121:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):824 -> a
    122:125:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):824:827 -> a
    126:126:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    126:126:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> a
    126:126:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():32 -> a
    126:126:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):829 -> a
    127:127:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):829:829 -> a
    128:128:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    128:128:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    128:128:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):829 -> a
    129:131:int sizeForKeysWrittenAsIfs(com.android.tools.r8.ir.code.ValueType,java.util.Collection):829:831 -> a
    132:139:void rewriteSingleKeySwitchToIf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1051:1058 -> a
    140:140:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.IntSwitch.materializeFirstKey(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):56:56 -> a
    140:140:void rewriteSingleKeySwitchToIf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1060 -> a
    141:141:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    141:141:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.code.IntSwitch.materializeFirstKey(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):56 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    141:141:void rewriteSingleKeySwitchToIf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1060 -> a
    142:149:void rewriteSingleKeySwitchToIf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1061:1068 -> a
    150:176:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1077:1103 -> a
    177:177:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    177:177:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1103 -> a
    178:192:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1104:1118 -> a
    193:193:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    193:193:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1118 -> a
    194:229:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1120:1155 -> a
    230:230:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    230:230:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1155 -> a
    231:231:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1157:1157 -> a
    232:242:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):843:853 -> a
    232:242:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    243:243:int com.android.tools.r8.ir.optimize.CodeRewriter.codeUnitMargin():838:838 -> a
    243:243:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):854 -> a
    243:243:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    244:245:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):856:857 -> a
    244:245:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    246:246:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):564:564 -> a
    246:246:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):857 -> a
    246:246:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    247:258:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):863:874 -> a
    247:258:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    259:259:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> a
    259:259:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):874 -> a
    259:259:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    260:265:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):875:880 -> a
    260:265:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    266:266:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    266:266:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    266:266:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):880 -> a
    266:266:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    267:267:int com.android.tools.r8.ir.code.IntSwitch.baseSparseSize(com.android.tools.r8.utils.InternalOutputMode):120:120 -> a
    267:267:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    267:267:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):880 -> a
    267:267:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    268:289:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):883:904 -> a
    268:289:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    290:290:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    290:290:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    290:290:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):904 -> a
    290:290:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    291:291:int com.android.tools.r8.ir.code.IntSwitch.baseSparseSize(com.android.tools.r8.utils.InternalOutputMode):120:120 -> a
    291:291:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    291:291:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):904 -> a
    291:291:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    292:306:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):908:922 -> a
    292:306:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    307:307:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> a
    307:307:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    307:307:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):922 -> a
    307:307:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    308:308:int com.android.tools.r8.ir.code.IntSwitch.baseSparseSize(com.android.tools.r8.utils.InternalOutputMode):120:120 -> a
    308:308:long com.android.tools.r8.ir.code.IntSwitch.estimatedSparseSize(com.android.tools.r8.utils.InternalOutputMode,long):103 -> a
    308:308:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):922 -> a
    308:308:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    309:309:int com.android.tools.r8.ir.optimize.CodeRewriter.codeUnitMargin():838:838 -> a
    309:309:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):923 -> a
    309:309:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    310:310:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):924:924 -> a
    310:310:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    311:311:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):564:564 -> a
    311:311:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):925 -> a
    311:311:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    312:312:int com.android.tools.r8.ir.optimize.CodeRewriter.findIfsForCandidates(java.util.List,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):930:930 -> a
    312:312:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1158 -> a
    313:319:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1162:1168 -> a
    320:320:int com.android.tools.r8.ir.optimize.CodeRewriter.codeUnitMargin():838:838 -> a
    320:320:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1169 -> a
    321:321:void rewriteIntSwitch(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IntSwitch):1170:1170 -> a
    322:322:int lambda$rewriteIntSwitch$1(com.android.tools.r8.utils.InternalOutputMode,com.android.tools.r8.ir.optimize.CodeRewriter$Interval,com.android.tools.r8.ir.optimize.CodeRewriter$Interval):1099:1099 -> a
    323:338:boolean disableSwitchToIfRewritingForClassIdComparisons(com.android.tools.r8.ir.code.IntSwitch):1178:1193 -> a
    339:339:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1251:1251 -> a
    340:340:boolean com.android.tools.r8.ir.code.IRCode.isConsistentGraph():619:619 -> a
    340:340:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1251 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    341:351:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1252:1262 -> a
    352:352:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":417,"2":418,"3":419}}
    417:417:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):406:406 -> a
    417:417:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    418:418:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):406:406 -> a
    418:418:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    419:419:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):406:406 -> a
    419:419:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    353:353:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):410:410 -> a
    353:353:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    354:354:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":430,"2":431,"3":432}}
    430:430:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):417:417 -> a
    430:430:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    431:431:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):417:417 -> a
    431:431:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    432:432:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):417:417 -> a
    432:432:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    355:355:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):424:424 -> a
    355:355:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    356:357:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):394:395 -> a
    356:357:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):424 -> a
    356:357:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    358:359:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):428:429 -> a
    358:359:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1263 -> a
    360:360:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1265:1265 -> a
    361:378:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):449:466 -> a
    361:378:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1266 -> a
    379:379:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":433,"2":434,"3":435}}
    433:433:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):467:467 -> a
    433:433:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1266 -> a
    434:434:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):467:467 -> a
    434:434:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1266 -> a
    435:435:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):467:467 -> a
    435:435:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1266 -> a
    380:380:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseIfTrueTarget(com.android.tools.r8.ir.code.BasicBlock):467:467 -> a
    380:380:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1266 -> a
    381:381:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1268:1268 -> a
    382:395:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseNonFallthroughSwitchTargets(com.android.tools.r8.ir.code.BasicBlock):473:486 -> a
    382:395:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1269 -> a
    396:404:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1273:1281 -> a
    405:405:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":436,"2":437,"3":438}}
    436:436:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):406:406 -> a
    436:436:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    437:437:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):406:406 -> a
    437:437:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    438:438:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):406:406 -> a
    438:438:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    406:406:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):410:410 -> a
    406:406:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    407:407:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":449,"2":450,"3":451}}
    449:449:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):417:417 -> a
    449:449:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    450:450:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):417:417 -> a
    450:450:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    451:451:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):417:417 -> a
    451:451:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    408:408:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):424:424 -> a
    408:408:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    409:410:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isFallthroughBlock(com.android.tools.r8.ir.code.BasicBlock):394:395 -> a
    409:410:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):424 -> a
    409:410:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    411:412:void com.android.tools.r8.ir.optimize.CodeRewriter.collapseTrivialGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.List):428:429 -> a
    411:412:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1282 -> a
    413:415:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1286:1288 -> a
    416:416:boolean com.android.tools.r8.ir.code.IRCode.isConsistentGraph():619:619 -> a
    416:416:void collapseTrivialGotos(com.android.tools.r8.ir.code.IRCode):1289 -> a
    452:485:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1392:1425 -> a
    486:486:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    486:486:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1425 -> a
    487:487:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1426:1426 -> a
    488:488:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    488:488:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1427 -> a
    489:496:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1429:1436 -> a
    497:508:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1482:1493 -> a
    497:508:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    509:509:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):23:23 -> a
    509:509:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1493 -> a
    509:509:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    510:510:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):22:22 -> a
    510:510:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1493 -> a
    510:510:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    511:534:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1494:1517 -> a
    511:534:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    535:535:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    535:535:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1517 -> a
    535:535:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    536:536:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1519:1519 -> a
    536:536:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    537:537:boolean com.android.tools.r8.ir.analysis.type.Nullability.lessThanOrEqual(com.android.tools.r8.ir.analysis.type.Nullability):83:83 -> a
    537:537:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1519 -> a
    537:537:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    538:567:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1519:1548 -> a
    538:567:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    568:568:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    568:568:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1550 -> a
    568:568:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    569:580:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1551:1562 -> a
    569:580:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    581:581:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    581:581:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1562 -> a
    581:581:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    582:582:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1563:1563 -> a
    582:582:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    583:583:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexClassAndMethod):307:307 -> a
    583:583:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1563 -> a
    583:583:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    584:585:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1563:1564 -> a
    584:585:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    586:586:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    586:586:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1564 -> a
    586:586:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    587:589:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1564:1566 -> a
    587:589:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    590:590:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    590:590:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1567 -> a
    590:590:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    591:591:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1568:1568 -> a
    591:591:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    592:592:boolean com.android.tools.r8.ir.code.Instruction.isSafeCheckCast():0:0 -> a
    592:592:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1574 -> a
    592:592:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    593:594:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1576:1577 -> a
    593:594:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    595:595:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    595:595:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1577 -> a
    595:595:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    596:600:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1578:1582 -> a
    596:600:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    601:601:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    601:601:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1592 -> a
    601:601:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    602:603:com.android.tools.r8.ir.optimize.CodeRewriter$RemoveCheckCastInstructionIfTrivialResult com.android.tools.r8.ir.optimize.CodeRewriter.removeCheckCastInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1592:1593 -> a
    602:603:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1434 -> a
    604:607:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1444:1447 -> a
    608:608:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> a
    608:608:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1449 -> a
    609:611:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1450:1452 -> a
    612:612:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1451:1451 -> a
    613:613:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1250:1250 -> a
    613:613:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1464 -> a
    614:618:void removeTrivialCheckCastAndInstanceOfInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):1465:1469 -> a
    619:625:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1603:1609 -> a
    626:626:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):23:23 -> a
    626:626:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1611 -> a
    627:627:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):22:22 -> a
    627:627:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1611 -> a
    628:643:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1612:1627 -> a
    644:644:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    644:644:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1630 -> a
    645:696:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1632:1683 -> a
    697:697:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    697:697:boolean removeInstanceOfInstructionIfTrivial(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InstanceOf,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.IRCode):1684 -> a
    698:698:boolean lambda$removeInstanceOfInstructionIfTrivial$2(com.android.tools.r8.ir.code.Value):1661:1661 -> a
    699:703:boolean isNeverInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexType):1691:1695 -> a
    704:705:void removeOrReplaceByDebugLocalWrite(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):1700:1701 -> a
    706:706:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    706:706:void removeOrReplaceByDebugLocalWrite(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):1702 -> a
    707:713:void removeOrReplaceByDebugLocalWrite(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):1704:1710 -> a
    714:722:boolean isBinopWithLit8OrLit16(com.android.tools.r8.ir.code.Instruction):1831:1839 -> a
    723:723:boolean lambda$shortenLiveRanges$4(com.android.tools.r8.ir.code.ConstInstruction):1926:1926 -> a
    724:724:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    724:724:boolean lambda$shortenLiveRanges$4(com.android.tools.r8.ir.code.ConstInstruction):1927 -> a
    725:725:boolean lambda$shortenLiveRanges$4(com.android.tools.r8.ir.code.ConstInstruction):1927:1927 -> a
    726:732:void lambda$shortenLiveRanges$6(java.util.Map,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):1989:1995 -> a
    733:736:void shortenLiveRangesInsideBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,java.util.Map,java.util.function.Predicate):2023:2026 -> a
    737:737:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    737:737:void shortenLiveRangesInsideBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,java.util.Map,java.util.function.Predicate):2033 -> a
    738:738:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    738:738:void shortenLiveRangesInsideBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,java.util.Map,java.util.function.Predicate):2033 -> a
    739:827:void shortenLiveRangesInsideBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,java.util.Map,java.util.function.Predicate):2034:2122 -> a
    828:830:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.ConstString.copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.ConstString):46:48 -> a
    828:830:void shortenLiveRangesInsideBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,java.util.Map,java.util.function.Predicate):2122 -> a
    831:832:void shortenLiveRangesInsideBlock(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,java.util.Map,java.util.function.Predicate):2123:2124 -> a
    833:878:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2160:2205 -> a
    879:879:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3087,"2":3088,"3":3089}}
    3087:3087:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2205:2205 -> a
    3088:3088:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2205:2205 -> a
    3089:3089:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2205:2205 -> a
    3085:3086:com.android.tools.r8.ir.code.ConstInstruction[] computeConstantArrayValues(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.BasicBlock,int):2206:2207 -> a
    3090:3096:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2718:2724 -> a
    3097:3098:void com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):2855:2856 -> a
    3097:3098:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2724 -> a
    3099:3103:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2728:2732 -> a
    3104:3105:void com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):2855:2856 -> a
    3104:3105:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2732 -> a
    3106:3110:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2736:2740 -> a
    3111:3112:void com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):2855:2856 -> a
    3111:3112:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2741 -> a
    3113:3161:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2745:2793 -> a
    3162:3187:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2782:2807 -> a
    3188:3188:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleConstClassValue():0:0 -> a
    3188:3188:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2807 -> a
    3189:3190:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2808:2809 -> a
    3191:3191:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleConstClassValue():0:0 -> a
    3191:3191:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2809 -> a
    3192:3200:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2810:2818 -> a
    3201:3201:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2817:2817 -> a
    3202:3223:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2813:2834 -> a
    3224:3224:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    3224:3224:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2834 -> a
    3225:3225:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2835:2835 -> a
    3226:3226:boolean com.android.tools.r8.graph.DexEncodedField.isEnum():204:204 -> a
    3226:3226:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2836 -> a
    3227:3227:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2837:2837 -> a
    3228:3228:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    3228:3228:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2837 -> a
    3229:3229:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2839:2839 -> a
    3230:3230:boolean com.android.tools.r8.graph.DexEncodedField.isEnum():204:204 -> a
    3230:3230:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2840 -> a
    3231:3231:boolean simplifyNonIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2841:2841 -> a
    3232:3232:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2860:2860 -> a
    3233:3234:void com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):2855:2856 -> a
    3233:3234:void simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,int):2860 -> a
    3235:3262:boolean replaceDominatedConstNumbers(long,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,com.android.tools.r8.ir.code.IRCode,java.util.function.Supplier):3032:3059 -> a
    3263:3263:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> a
    3263:3263:boolean replaceDominatedConstNumbers(long,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,com.android.tools.r8.ir.code.IRCode,java.util.function.Supplier):3063 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3264:3264:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> a
    3264:3264:boolean replaceDominatedConstNumbers(long,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,com.android.tools.r8.ir.code.IRCode,java.util.function.Supplier):3063 -> a
    3265:3279:boolean replaceDominatedConstNumbers(long,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Supplier,com.android.tools.r8.ir.code.IRCode,java.util.function.Supplier):3078:3092 -> a
    3280:3289:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3312:3321 -> a
    3290:3290:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> a
    3290:3290:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3321 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3291:3291:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> a
    3291:3291:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3321 -> a
    3292:3293:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3327:3328 -> a
    3294:3294:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    3294:3294:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3328 -> a
    3295:3299:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3329:3333 -> a
    3300:3300:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> a
    3300:3300:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3333 -> a
    3301:3301:boolean isBlockSupportedBySimplifyKnownBooleanCondition(com.android.tools.r8.ir.code.BasicBlock):3337:3337 -> a
    3302:3305:void rewriteIfToGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3348:3351 -> a
    3306:3306:void rewriteIfToGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6659,"2":6660,"3":6661}}
    6659:6659:void rewriteIfToGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3352:3352 -> a
    6660:6660:void rewriteIfToGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3352:3352 -> a
    6661:6661:void rewriteIfToGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3352:3352 -> a
    6658:6658:void rewriteIfToGoto(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3352:3352 -> a
    6662:6682:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3472:3492 -> a
    6683:6683:void com.android.tools.r8.ir.code.InvokeDirect.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,java.util.List):37:37 -> a
    6683:6683:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3492 -> a
    6684:6700:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3492:3508 -> a
    6701:6701:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3507:3507 -> a
    6702:6702:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    6702:6702:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3506 -> a
    6703:6714:void rewriteAssertionErrorTwoArgumentConstructor(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):3506:3517 -> a
    6715:6737:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3528:3550 -> a
    6738:6739:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    6738:6739:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    6738:6739:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3550 -> a
    6740:6740:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3551:3551 -> a
    6741:6742:java.util.Set com.android.tools.r8.ir.optimize.CodeRewriter.computeUnneededMoves(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DebugLocalsChange,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3588:3589 -> a
    6741:6742:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3555 -> a
    6743:6743:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> a
    6743:6743:java.util.Set com.android.tools.r8.ir.optimize.CodeRewriter.computeUnneededMoves(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DebugLocalsChange,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3589 -> a
    6743:6743:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3555 -> a
    6744:6744:java.util.Set com.android.tools.r8.ir.optimize.CodeRewriter.computeUnneededMoves(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DebugLocalsChange,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3590:3590 -> a
    6744:6744:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3555 -> a
    6745:6745:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> a
    6745:6745:java.util.Set com.android.tools.r8.ir.optimize.CodeRewriter.computeUnneededMoves(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DebugLocalsChange,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3590 -> a
    6745:6745:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3555 -> a
    6746:6775:java.util.Set com.android.tools.r8.ir.optimize.CodeRewriter.computeUnneededMoves(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.DebugLocalsChange,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3593:3622 -> a
    6746:6775:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3555 -> a
    6776:6779:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3556:3559 -> a
    6780:6780:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.<init>():120:120 -> a
    6780:6780:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3559 -> a
    6781:6781:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3560:3560 -> a
    6782:6782:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.<init>():120:120 -> a
    6782:6782:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3560 -> a
    6783:6793:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3561:3571 -> a
    6794:6794:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    6794:6794:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3573 -> a
    6795:6796:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3574:3575 -> a
    6797:6801:void com.android.tools.r8.ir.optimize.CodeRewriter.updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3633:3637 -> a
    6797:6801:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3575 -> a
    6802:6803:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    6802:6803:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    6802:6803:void com.android.tools.r8.ir.optimize.CodeRewriter.updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3637 -> a
    6802:6803:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3575 -> a
    6804:6808:void com.android.tools.r8.ir.optimize.CodeRewriter.updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3638:3642 -> a
    6804:6808:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3575 -> a
    6809:6809:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3576:3576 -> a
    6810:6814:void com.android.tools.r8.ir.optimize.CodeRewriter.updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3633:3637 -> a
    6810:6814:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3576 -> a
    6815:6816:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    6815:6816:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    6815:6816:void com.android.tools.r8.ir.optimize.CodeRewriter.updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3637 -> a
    6815:6816:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3576 -> a
    6817:6821:void com.android.tools.r8.ir.optimize.CodeRewriter.updateDebugLocalsRegisterMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):3638:3642 -> a
    6817:6821:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3576 -> a
    6822:6822:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3578:3578 -> a
    6823:6823:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):168:168 -> a
    6823:6823:void removeUnneededMovesOnExitingPaths(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):3578 -> a
    6824:6824:com.android.tools.r8.ir.code.Value addConstString(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.lang.String):3647:3647 -> a
    6825:6825:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    6825:6825:com.android.tools.r8.ir.code.Value addConstString(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.lang.String):3648 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6826:6826:com.android.tools.r8.ir.code.Value addConstString(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.lang.String):3649:3649 -> a
    6827:6848:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3659:3680 -> a
    6849:6849:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    6849:6849:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3679 -> a
    6850:6856:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3682:3688 -> a
    6857:6877:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3686:3706 -> a
    6878:6878:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    6878:6878:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3710 -> a
    6879:6893:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3710:3724 -> a
    6894:6894:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    6894:6894:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3726 -> a
    6895:6895:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3726:3726 -> a
    6896:6899:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.createIfBlock(int,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRMetadata):1464:1467 -> a
    6896:6899:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3726 -> a
    6900:6900:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3727:3727 -> a
    6901:6901:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    6901:6901:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3730 -> a
    6902:6903:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3730:3731 -> a
    6904:6904:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    6904:6904:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3733 -> a
    6905:6921:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3733:3749 -> a
    6922:6922:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.classClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):436:436 -> a
    6922:6922:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3749 -> a
    6923:6923:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    6923:6923:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3749 -> a
    6924:6927:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3750:3750 -> a
    6930:6943:void logArgumentTypes(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):3753:3766 -> a
    6944:6951:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3770:3777 -> a
    6952:6962:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3810:3820 -> a
    6952:6962:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3777 -> a
    6963:6968:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3778:3783 -> a
    6969:6969:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3780:3780 -> a
    6970:6970:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    6970:6970:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3780 -> a
    6971:6971:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    6971:6971:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    6971:6971:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3780 -> a
    6972:6972:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3780:3780 -> a
    6973:6973:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3818:3818 -> a
    6973:6973:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3777 -> a
    6974:6974:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    6974:6974:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3818 -> a
    6974:6974:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3777 -> a
    6975:6975:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    6975:6975:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    6975:6975:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3818 -> a
    6975:6975:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3777 -> a
    6976:6976:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3818:3818 -> a
    6976:6976:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3777 -> a
    6977:6977:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3814:3814 -> a
    6977:6977:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3777 -> a
    6978:6978:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    6978:6978:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3814 -> a
    6978:6978:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3777 -> a
    6979:6979:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    6979:6979:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    6979:6979:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3814 -> a
    6979:6979:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3777 -> a
    6980:6980:com.android.tools.r8.ir.code.NewInstance com.android.tools.r8.ir.optimize.CodeRewriter.findNewInstance(com.android.tools.r8.ir.code.Phi):3814:3814 -> a
    6980:6980:void ensureDirectStringNewToInit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexItemFactory):3777 -> a
    6981:6987:void recursiveAddOperands(com.android.tools.r8.ir.code.Phi,java.util.Set,java.util.Set):3824:3830 -> a
    1:3:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):183:185 -> b
    4:4:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> b
    4:4:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):185 -> b
    5:17:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):187:199 -> b
    18:18:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    18:18:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):199 -> b
    19:28:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):200:209 -> b
    29:29:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1250:1250 -> b
    29:29:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):221 -> b
    30:31:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):224:225 -> b
    32:32:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> b
    32:32:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):225 -> b
    33:36:void removeAssumeInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):225:228 -> b
    37:46:void unlinkTrivialGotoBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):434:443 -> b
    47:47:boolean lambda$shortenLiveRanges$5(com.android.tools.r8.ir.code.ConstInstruction):1935:1935 -> b
    48:48:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> b
    48:48:boolean lambda$shortenLiveRanges$5(com.android.tools.r8.ir.code.ConstInstruction):1935 -> b
    49:49:boolean lambda$shortenLiveRanges$5(com.android.tools.r8.ir.code.ConstInstruction):1935:1935 -> b
    50:50:java.util.Map lambda$shortenLiveRangesInsideBlock$7(com.android.tools.r8.ir.code.BasicBlock):2118:2118 -> b
    51:51:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2522:2522 -> b
    52:53:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2510:2511 -> b
    52:53:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2523 -> b
    54:55:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2501:2502 -> b
    54:55:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2512 -> b
    54:55:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2523 -> b
    56:56:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> b
    56:56:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2503 -> b
    56:56:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2512 -> b
    56:56:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2523 -> b
    57:59:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2504:2506 -> b
    57:59:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2512 -> b
    57:59:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2523 -> b
    60:60:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasCSECandidate(com.android.tools.r8.ir.code.IRCode,int):2516:2516 -> b
    60:60:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2523 -> b
    61:63:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2525:2527 -> b
    64:64:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> b
    64:64:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2527 -> b
    65:72:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2528:2535 -> b
    73:74:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2501:2502 -> b
    73:74:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2536 -> b
    75:75:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> b
    75:75:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2503 -> b
    75:75:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2536 -> b
    76:78:boolean com.android.tools.r8.ir.optimize.CodeRewriter.isCSEInstructionCandidate(com.android.tools.r8.ir.code.Instruction):2504:2506 -> b
    76:78:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2536 -> b
    79:83:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2537:2541 -> b
    84:93:boolean com.android.tools.r8.ir.optimize.CodeRewriter.shareCatchHandlers(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2488:2497 -> b
    84:93:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2542 -> b
    94:110:void commonSubexpressionElimination(com.android.tools.r8.ir.code.IRCode):2543:2559 -> b
    111:111:boolean lambda$logArgumentTypes$11(com.android.tools.r8.ir.code.Instruction):3669:3669 -> b
    112:138:void replaceTrivialNewInstancePhis(com.android.tools.r8.ir.code.Value):3843:3869 -> b
    1:1:com.android.tools.r8.ir.code.DominatorTree lambda$redundantConstNumberRemoval$10(com.android.tools.r8.ir.code.IRCode):2893:2893 -> c
    2:2:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> c
    2:2:com.android.tools.r8.ir.code.DominatorTree lambda$redundantConstNumberRemoval$10(com.android.tools.r8.ir.code.IRCode):2893 -> c
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap com.android.tools.r8.ir.optimize.CodeRewriter.getConstantsByValue(com.android.tools.r8.ir.code.IRCode):2997:2997 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2892 -> d
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.<init>():119:119 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap com.android.tools.r8.ir.optimize.CodeRewriter.getConstantsByValue(com.android.tools.r8.ir.code.IRCode):2997 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2892 -> d
    3:16:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap com.android.tools.r8.ir.optimize.CodeRewriter.getConstantsByValue(com.android.tools.r8.ir.code.IRCode):3000:3013 -> d
    3:16:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap lambda$redundantConstNumberRemoval$9(com.android.tools.r8.ir.code.IRCode):2892 -> d
    1:1:com.android.tools.r8.ir.code.DominatorTree lambda$shortenLiveRanges$3(com.android.tools.r8.ir.code.IRCode):1914:1914 -> e
    2:2:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> e
    2:2:com.android.tools.r8.ir.code.DominatorTree lambda$shortenLiveRanges$3(com.android.tools.r8.ir.code.IRCode):1914 -> e
    1:24:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3102:3125 -> f
    25:25:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> f
    25:25:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3127 -> f
    26:28:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3132:3134 -> f
    29:29:java.lang.Object com.android.tools.r8.ir.code.CatchHandlers$CatchHandler.getTarget():30:30 -> f
    29:29:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3135 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:68:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3135:3173 -> f
    69:69:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo.hasNonNullParamOrThrow():44:44 -> f
    69:69:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3177 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    70:96:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3178:3204 -> f
    97:97:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> f
    97:97:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3204 -> f
    98:100:void optimizeAlwaysThrowingInstructions(com.android.tools.r8.ir.code.IRCode):3204:3206 -> f
    1:51:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2881:2931 -> g
    52:52:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> g
    52:52:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2932 -> g
    53:62:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2934:2943 -> g
    63:63:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2942:2942 -> g
    64:64:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> g
    64:64:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2949 -> g
    65:65:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3021:3021 -> g
    65:65:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2952 -> g
    66:66:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> g
    66:66:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3021 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:66:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2952 -> g
    67:68:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3021:3022 -> g
    67:68:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2952 -> g
    69:82:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2951:2964 -> g
    83:83:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2963:2963 -> g
    84:84:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> g
    84:84:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2970 -> g
    85:85:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3021:3021 -> g
    85:85:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2973 -> g
    86:86:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> g
    86:86:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3021 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2973 -> g
    87:88:int com.android.tools.r8.ir.optimize.CodeRewriter.negateBoolean(com.android.tools.r8.ir.code.ConstNumber):3021:3022 -> g
    87:88:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2973 -> g
    89:108:void redundantConstNumberRemoval(com.android.tools.r8.ir.code.IRCode):2972:2991 -> g
    1:10:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):232:241 -> h
    11:11:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":511,"2":512,"3":513}}
    511:511:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):242:242 -> h
    512:512:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):242:242 -> h
    513:513:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):242:242 -> h
    254:255:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):243:244 -> h
    256:262:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):241:247 -> h
    263:263:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":518,"2":519,"3":520}}
    518:518:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):247:247 -> h
    519:519:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):247:247 -> h
    520:520:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):247:247 -> h
    510:510:boolean removedTrivialGotos(com.android.tools.r8.ir.code.IRCode):247:247 -> h
    1:1:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> i
    1:1:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3425 -> i
    2:4:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3426:3428 -> i
    5:5:boolean com.android.tools.r8.ir.code.Instruction.isArrayLength():0:0 -> i
    5:5:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3428 -> i
    6:24:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3432:3450 -> i
    25:25:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> i
    25:25:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3450 -> i
    26:43:void rewriteKnownArrayLengthCalls(com.android.tools.r8.ir.code.IRCode):3451:3468 -> i
    1:1:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1315:1315 -> j
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> j
    2:2:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1315 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> j
    3:3:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1315 -> j
    4:8:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1315:1319 -> j
    9:9:void com.android.tools.r8.ir.optimize.AssumeRemover.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):42:42 -> j
    9:9:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1319 -> j
    10:34:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1322:1346 -> j
    35:35:boolean com.android.tools.r8.ir.optimize.CodeRewriter.checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1295:1295 -> j
    35:35:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1348 -> j
    36:36:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> j
    36:36:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.CodeRewriter.getArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1304 -> j
    36:36:boolean com.android.tools.r8.ir.optimize.CodeRewriter.checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1297 -> j
    36:36:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1348 -> j
    37:42:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.CodeRewriter.getArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1305:1310 -> j
    37:42:boolean com.android.tools.r8.ir.optimize.CodeRewriter.checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1297 -> j
    37:42:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1348 -> j
    43:46:boolean com.android.tools.r8.ir.optimize.CodeRewriter.checkArgumentType(com.android.tools.r8.ir.code.InvokeMethod,int):1297:1300 -> j
    43:46:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1348 -> j
    47:67:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1349:1369 -> j
    68:68:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1250:1250 -> j
    68:68:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1370 -> j
    69:70:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1371:1372 -> j
    71:71:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1250:1250 -> j
    71:71:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1373 -> j
    72:73:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1375:1376 -> j
    74:74:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> j
    74:74:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1376 -> j
    75:77:boolean rewriteMoveResult(com.android.tools.r8.ir.code.IRCode):1376:1378 -> j
    1:1:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):939:939 -> k
    1:1:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isSwitchRewritingEnabled():1986:1986 -> k
    2:2:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):939 -> k
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isSwitchRewritingEnabled():1986:1986 -> k
    3:3:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):939 -> k
    3:3:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    4:4:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):942:942 -> k
    4:4:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    5:13:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1001:1009 -> k
    5:13:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):945 -> k
    5:13:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    14:53:com.android.tools.r8.ir.optimize.SwitchCaseEliminator com.android.tools.r8.ir.optimize.CodeRewriter.removeUnnecessarySwitchCases(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1201:1240 -> k
    14:53:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1011 -> k
    14:53:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):945 -> k
    14:53:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    54:83:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1013:1042 -> k
    54:83:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):945 -> k
    54:83:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    84:84:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> k
    84:84:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1042 -> k
    84:84:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):945 -> k
    84:84:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    85:88:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchFull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):1042:1045 -> k
    85:88:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitch(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer):945 -> k
    85:88:boolean rewriteSwitch(com.android.tools.r8.ir.code.IRCode):935 -> k
    1:1:void rewriteSwitchForMaxInt(com.android.tools.r8.ir.code.IRCode):949:949 -> l
    2:27:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchForMaxIntOnly(com.android.tools.r8.ir.code.IRCode):957:982 -> l
    2:27:void rewriteSwitchForMaxInt(com.android.tools.r8.ir.code.IRCode):951 -> l
    28:47:void com.android.tools.r8.ir.optimize.CodeRewriter.rewriteSwitchForMaxIntOnly(com.android.tools.r8.ir.code.IRCode):976:995 -> l
    28:47:void rewriteSwitchForMaxInt(com.android.tools.r8.ir.code.IRCode):951 -> l
    1:12:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):256:267 -> m
    13:13:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1543:1543 -> m
    13:13:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):267 -> m
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1543:1543 -> m
    14:14:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):267 -> m
    15:33:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):271:289 -> m
    34:34:boolean com.android.tools.r8.ir.code.Value.isConstZero():808:808 -> m
    34:34:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):290 -> m
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:boolean com.android.tools.r8.ir.code.Value.isConstZero():808:808 -> m
    35:35:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):290 -> m
    36:45:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):290:299 -> m
    46:46:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> m
    46:46:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):299 -> m
    47:47:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):303:303 -> m
    48:48:boolean com.android.tools.r8.ir.code.Value.isConstZero():808:808 -> m
    48:48:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):306 -> m
    49:65:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):311:327 -> m
    66:76:void com.android.tools.r8.ir.optimize.CodeRewriter.insertNotNullCheck(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position):3362:3372 -> m
    66:76:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):321 -> m
    77:77:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):0:0 -> m
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":139,"2":140,"3":141}}
    139:139:void com.android.tools.r8.ir.optimize.CodeRewriter.insertNotNullCheck(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position):3373:3373 -> m
    139:139:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):321 -> m
    140:140:void com.android.tools.r8.ir.optimize.CodeRewriter.insertNotNullCheck(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position):3373:3373 -> m
    140:140:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):321 -> m
    141:141:void com.android.tools.r8.ir.optimize.CodeRewriter.insertNotNullCheck(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position):3373:3373 -> m
    141:141:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):321 -> m
    78:78:void com.android.tools.r8.ir.optimize.CodeRewriter.insertNotNullCheck(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Position):3373:3373 -> m
    78:78:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):321 -> m
    79:133:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):333:387 -> m
    134:134:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> m
    134:134:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):387 -> m
    135:138:void rewriteThrowNullPointerException(com.android.tools.r8.ir.code.IRCode):387:390 -> m
    1:43:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1913:1955 -> n
    44:44:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> n
    44:44:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1956 -> n
    45:53:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1957:1965 -> n
    54:54:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> n
    54:54:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1966 -> n
    55:55:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> n
    55:55:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1967 -> n
    56:71:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1968:1983 -> n
    72:72:boolean com.android.tools.r8.ir.code.Instruction.isCmp():0:0 -> n
    72:72:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1983 -> n
    73:73:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1986:1986 -> n
    74:75:void com.android.tools.r8.ir.optimize.CodeRewriter.forEachUse(com.android.tools.r8.ir.code.Instruction,java.util.function.Consumer):2013:2014 -> n
    74:75:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):1986 -> n
    76:85:void shortenLiveRanges(com.android.tools.r8.ir.code.IRCode):2000:2009 -> n
    1:1:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2237:2237 -> o
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> o
    2:2:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2237 -> o
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> o
    3:3:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2237 -> o
    4:12:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2240:2248 -> o
    13:29:boolean com.android.tools.r8.ir.optimize.CodeRewriter.allowNewFilledArrayConstruction(com.android.tools.r8.ir.code.Instruction):2213:2229 -> o
    13:29:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2249 -> o
    30:61:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2252:2283 -> o
    62:78:short[] com.android.tools.r8.ir.optimize.CodeRewriter.computeArrayFilledData(com.android.tools.r8.ir.code.ConstInstruction[],int,int):2133:2149 -> o
    62:78:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2284 -> o
    79:120:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2288:2329 -> o
    121:121:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2456,"2":2457,"3":2458}}
    2456:2456:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2329:2329 -> o
    2457:2457:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2329:2329 -> o
    2458:2458:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2329:2329 -> o
    2451:2455:void simplifyArrayConstruction(com.android.tools.r8.ir.code.IRCode):2330:2334 -> o
    1:2:boolean simplifyControlFlow(com.android.tools.r8.ir.code.IRCode):2582:2583 -> p
    1:6:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2371:2376 -> q
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalWrite():0:0 -> q
    7:7:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2376 -> q
    8:13:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2377:2382 -> q
    14:36:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasLocalOrLineChangeBetween(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):2340:2362 -> q
    14:36:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2384 -> q
    37:49:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2385:2397 -> q
    50:50:boolean com.android.tools.r8.ir.optimize.CodeRewriter.hasLocalOrLineChangeBetween(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):2367:2367 -> q
    50:50:void simplifyDebugLocals(com.android.tools.r8.ir.code.IRCode):2384 -> q
    1:9:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2588:2596 -> r
    10:15:boolean com.android.tools.r8.ir.optimize.CodeRewriter.flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3404:3409 -> r
    10:15:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2597 -> r
    16:26:boolean com.android.tools.r8.ir.code.BasicBlock.isSimpleAlwaysThrowingPath():1580:1590 -> r
    16:26:boolean com.android.tools.r8.ir.optimize.CodeRewriter.flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3409 -> r
    16:26:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2597 -> r
    27:27:boolean com.android.tools.r8.ir.optimize.CodeRewriter.flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3409:3409 -> r
    27:27:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2597 -> r
    28:38:boolean com.android.tools.r8.ir.code.BasicBlock.isSimpleAlwaysThrowingPath():1580:1590 -> r
    28:38:boolean com.android.tools.r8.ir.optimize.CodeRewriter.flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3409 -> r
    28:38:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2597 -> r
    39:42:boolean com.android.tools.r8.ir.optimize.CodeRewriter.flipIfBranchesIfNeeded(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3417:3420 -> r
    39:42:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2597 -> r
    43:61:boolean com.android.tools.r8.ir.optimize.CodeRewriter.rewriteIfWithConstZero(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3377:3395 -> r
    43:61:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2598 -> r
    62:64:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3240:3242 -> r
    62:64:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    65:65:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> r
    65:65:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3242 -> r
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    65:65:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    66:84:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3243:3261 -> r
    66:84:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    85:85:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    85:85:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3262 -> r
    85:85:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    86:86:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    86:86:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3262 -> r
    86:86:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    87:89:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3263:3265 -> r
    87:89:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    90:90:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    90:90:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3266 -> r
    90:90:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    91:91:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    91:91:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3266 -> r
    91:91:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    92:94:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3267:3269 -> r
    92:94:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    95:95:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    95:95:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3270 -> r
    95:95:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    96:96:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    96:96:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3270 -> r
    96:96:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    97:99:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3271:3273 -> r
    97:99:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    100:100:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    100:100:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3274 -> r
    100:100:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    101:101:boolean com.android.tools.r8.ir.code.ConstNumber.isIntegerZero():115:115 -> r
    101:101:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3274 -> r
    101:101:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    102:104:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3275:3277 -> r
    102:104:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    105:105:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> r
    105:105:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3278 -> r
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    105:105:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    106:106:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> r
    106:106:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3278 -> r
    106:106:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    107:128:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyKnownBooleanCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):3280:3301 -> r
    107:128:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2602 -> r
    129:136:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2604:2611 -> r
    137:141:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2640:2644 -> r
    137:141:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2612 -> r
    142:143:void com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):2855:2856 -> r
    142:143:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2645 -> r
    142:143:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2612 -> r
    144:144:boolean com.android.tools.r8.ir.code.If.isNullTest():94:94 -> r
    144:144:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2649 -> r
    144:144:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2612 -> r
    145:148:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2650:2653 -> r
    145:148:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2612 -> r
    149:150:void com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):2855:2856 -> r
    149:150:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2653 -> r
    149:150:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2612 -> r
    151:152:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2657:2658 -> r
    151:152:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2612 -> r
    153:154:void com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):2855:2856 -> r
    153:154:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2658 -> r
    153:154:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2612 -> r
    155:160:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2663:2668 -> r
    155:160:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2612 -> r
    161:162:void com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):2855:2856 -> r
    161:162:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2668 -> r
    161:162:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2612 -> r
    163:200:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2673:2710 -> r
    163:200:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2612 -> r
    201:202:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2700:2701 -> r
    201:202:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2612 -> r
    203:204:boolean com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfZeroTest(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If):2689:2690 -> r
    203:204:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2612 -> r
    205:214:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2617:2626 -> r
    215:216:void com.android.tools.r8.ir.optimize.CodeRewriter.simplifyIfWithKnownCondition(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock):2855:2856 -> r
    215:216:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2626 -> r
    217:219:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2631:2633 -> r
    220:220:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> r
    220:220:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2633 -> r
    221:224:com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult simplifyIf(com.android.tools.r8.ir.code.IRCode):2633:2636 -> r
    1:30:void splitRangeInvokeConstants(com.android.tools.r8.ir.code.IRCode):1718:1747 -> s
    1:14:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1758:1771 -> t
    15:18:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.CodeRewriter.binopWithLit8OrLit16NonConstant(com.android.tools.r8.ir.code.Binop):1858:1861 -> t
    15:18:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1771 -> t
    19:20:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1772:1773 -> t
    21:21:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.CodeRewriter.binopWithLit8OrLit16NonConstant(com.android.tools.r8.ir.code.Binop):1863:1863 -> t
    21:21:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1771 -> t
    22:35:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1775:1788 -> t
    36:36:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> t
    36:36:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1788 -> t
    37:55:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1788:1806 -> t
    56:59:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.CodeRewriter.binopWithLit8OrLit16NonConstant(com.android.tools.r8.ir.code.Binop):1858:1861 -> t
    56:59:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1874 -> t
    56:59:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1807 -> t
    60:72:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1875:1887 -> t
    60:72:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1807 -> t
    73:73:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):434:434 -> t
    73:73:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1887 -> t
    73:73:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1807 -> t
    74:74:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1888:1888 -> t
    74:74:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1807 -> t
    75:75:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> t
    75:75:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1888 -> t
    75:75:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1807 -> t
    76:89:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1889:1902 -> t
    76:89:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1807 -> t
    90:95:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.CodeRewriter.binopWithLit8OrLit16Constant(com.android.tools.r8.ir.code.Instruction):1845:1850 -> t
    90:95:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1809 -> t
    96:106:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1810:1820 -> t
    107:107:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.CodeRewriter.binopWithLit8OrLit16Constant(com.android.tools.r8.ir.code.Instruction):1852:1852 -> t
    107:107:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1809 -> t
    108:108:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.CodeRewriter.binopWithLit8OrLit16NonConstant(com.android.tools.r8.ir.code.Binop):1863:1863 -> t
    108:108:boolean com.android.tools.r8.ir.optimize.CodeRewriter.canBe2AddrInstruction(com.android.tools.r8.ir.code.Binop,int,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1874 -> t
    108:108:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1807 -> t
    109:109:void useDedicatedConstantForLitInstruction(com.android.tools.r8.ir.code.IRCode):1826:1826 -> t
    1:7:void workaroundNumberConversionRegisterAllocationBug(com.android.tools.r8.ir.code.IRCode):3876:3882 -> u
    8:8:boolean com.android.tools.r8.ir.code.Instruction.isNeg():0:0 -> u
    8:8:void workaroundNumberConversionRegisterAllocationBug(com.android.tools.r8.ir.code.IRCode):3882 -> u
    9:41:void workaroundNumberConversionRegisterAllocationBug(com.android.tools.r8.ir.code.IRCode):3883:3915 -> u
com.android.tools.r8.ir.optimize.CodeRewriter$1 -> com.android.tools.r8.internal.yb:
    int[] $SwitchMap$com$android$tools$r8$ir$code$If$Type -> a
    1:1:void <clinit>():2683:2683 -> <clinit>
com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence -> com.android.tools.r8.internal.zb:
    com.android.tools.r8.utils.InternalOptions options -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():2404:2404 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.optimize.CodeRewriter$1):2404:2404 -> <init>
    2:3:void <init>(com.android.tools.r8.utils.InternalOptions):2408:2409 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):2404:2404 -> a
    2:2:boolean com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2417:2417 -> a
    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):2404 -> a
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isCmp():0:0 -> a
    3:3:boolean com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2417 -> a
    3:3:boolean doEquivalent(java.lang.Object,java.lang.Object):2404 -> a
    4:23:boolean com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):2417:2436 -> a
    4:23:boolean doEquivalent(java.lang.Object,java.lang.Object):2404 -> a
    24:24:int doHash(java.lang.Object):2404:2404 -> a
    25:30:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2447:2452 -> a
    25:30:int doHash(java.lang.Object):2404 -> a
    31:36:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2479:2479 -> a
    31:36:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2453 -> a
    31:36:int doHash(java.lang.Object):2404 -> a
    38:40:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2481:2483 -> a
    38:40:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2453 -> a
    38:40:int doHash(java.lang.Object):2404 -> a
    41:45:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2479:2483 -> a
    41:45:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2455 -> a
    41:45:int doHash(java.lang.Object):2404 -> a
    46:50:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2479:2483 -> a
    46:50:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2456 -> a
    46:50:int doHash(java.lang.Object):2404 -> a
    51:51:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2460:2460 -> a
    51:51:int doHash(java.lang.Object):2404 -> a
    52:56:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.getHashCode(com.android.tools.r8.ir.code.Value):2479:2483 -> a
    52:56:int com.android.tools.r8.ir.optimize.CodeRewriter$CSEExpressionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):2461 -> a
    52:56:int doHash(java.lang.Object):2404 -> a
    57:62:boolean identicalValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):2468:2473 -> a
com.android.tools.r8.ir.optimize.CodeRewriter$ControlFlowSimplificationResult -> com.android.tools.r8.internal.Ab:
    boolean anyAffectedValues -> a
    boolean anySimplifications -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():2562:2562 -> <clinit>
    1:1:void <init>(boolean,boolean,com.android.tools.r8.ir.optimize.CodeRewriter$1):2562:2562 -> <init>
    2:5:void <init>(boolean,boolean):2566:2569 -> <init>
    1:1:boolean anyAffectedValues():2573:2573 -> a
    1:1:boolean anySimplifications():2577:2577 -> b
com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder -> com.android.tools.r8.internal.Bb:
    com.android.tools.r8.ir.code.BasicBlock fallthrough -> g
    com.android.tools.r8.ir.code.BasicBlock target -> f
    com.android.tools.r8.ir.code.Value left -> d
    com.android.tools.r8.ir.code.IRCode code -> c
    int right -> e
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():604:604 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.code.Position,com.android.tools.r8.ir.code.IRCode):612:613 -> <init>
    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setLeft(com.android.tools.r8.ir.code.Value):622:622 -> a
    2:2:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setRight(int):627:627 -> a
    3:3:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setFallthrough(com.android.tools.r8.ir.code.BasicBlock):637:637 -> a
    4:9:com.android.tools.r8.ir.code.BasicBlock build():642:647 -> a
    10:10:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    10:10:com.android.tools.r8.ir.code.BasicBlock build():647 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:13:com.android.tools.r8.ir.code.BasicBlock build():648:650 -> a
    14:20:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.createIfBlock(int,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRMetadata,com.android.tools.r8.ir.code.Instruction[]):1482:1488 -> a
    14:20:com.android.tools.r8.ir.code.BasicBlock build():650 -> a
    21:22:com.android.tools.r8.ir.code.BasicBlock build():652:653 -> a
    23:26:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.createIfBlock(int,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRMetadata):1464:1467 -> a
    23:26:com.android.tools.r8.ir.code.BasicBlock build():653 -> a
    27:29:com.android.tools.r8.ir.code.BasicBlock build():655:657 -> a
    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$IfBuilder setTarget(com.android.tools.r8.ir.code.BasicBlock):632:632 -> b
com.android.tools.r8.ir.optimize.CodeRewriter$InstructionBuilder -> com.android.tools.r8.internal.Cb:
    com.android.tools.r8.ir.code.Position position -> b
    int blockNumber -> a
    1:2:void <init>(com.android.tools.r8.ir.code.Position):532:533 -> <init>
com.android.tools.r8.ir.optimize.CodeRewriter$Interval -> com.android.tools.r8.internal.Db:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList keys -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():738:738 -> <clinit>
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList[]):742:742 -> <init>
    2:8:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList[]):740:746 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList access$000(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):738:738 -> a
    2:2:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode):776:776 -> a
    3:3:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray(int[]):167:167 -> a
    3:3:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray():155 -> a
    3:3:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode):776 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    4:4:long estimatedSize(com.android.tools.r8.utils.InternalOutputMode):776:776 -> a
    1:1:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMax():755:755 -> b
    1:1:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):764 -> b
    2:2:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMin():751:751 -> b
    2:2:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):764 -> b
    3:3:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):765:765 -> b
    4:4:int com.android.tools.r8.ir.code.IntSwitch.baseSparseSize(com.android.tools.r8.utils.InternalOutputMode):120:120 -> b
    4:4:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):769 -> b
    5:5:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):769:769 -> b
    6:6:long com.android.tools.r8.ir.code.IntSwitch.sparsePayloadSize(com.android.tools.r8.utils.InternalOutputMode,long):154:154 -> b
    6:6:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):769 -> b
    7:7:int com.android.tools.r8.ir.code.IntSwitch.basePackedSize(com.android.tools.r8.utils.InternalOutputMode):109:109 -> b
    7:7:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):771 -> b
    8:8:long packedSavings(com.android.tools.r8.utils.InternalOutputMode):771:771 -> b
    9:9:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):759:759 -> b
    10:10:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMax():755:755 -> b
    10:10:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):759 -> b
    11:11:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMin():751:751 -> b
    11:11:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):759 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:int com.android.tools.r8.ir.optimize.CodeRewriter$Interval.getMin():751:751 -> b
    12:12:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):759 -> b
    13:14:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):759:760 -> b
    15:15:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):564:564 -> b
    15:15:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):760 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):564:564 -> b
    16:16:void addInterval(com.android.tools.r8.ir.optimize.CodeRewriter$Interval):760 -> b
com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder -> com.android.tools.r8.internal.Eb:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap keyToTarget -> d
    com.android.tools.r8.ir.code.BasicBlock fallthrough -> e
    com.android.tools.r8.ir.code.Value value -> c
    1:1:void <init>(com.android.tools.r8.ir.code.Position):550:550 -> <init>
    2:2:void <init>(com.android.tools.r8.ir.code.Position):546:546 -> <init>
    1:1:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder setValue(com.android.tools.r8.ir.code.Value):559:559 -> a
    2:2:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder addKeyAndTarget(int,com.android.tools.r8.ir.code.BasicBlock):564:564 -> a
    3:3:com.android.tools.r8.ir.optimize.CodeRewriter$SwitchBuilder setFallthrough(com.android.tools.r8.ir.code.BasicBlock):569:569 -> a
    4:4:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):575:575 -> a
    5:5:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.<init>():176:176 -> a
    5:5:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):575 -> a
    6:26:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):576:596 -> a
    27:30:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlock.createSwitchBlock(int,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.code.IRMetadata):1494:1497 -> a
    27:30:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):596 -> a
    31:31:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> a
    31:31:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):597 -> a
    32:33:com.android.tools.r8.ir.code.BasicBlock build(com.android.tools.r8.ir.code.IRMetadata):597:598 -> a
    34:34:java.lang.Integer lambda$build$0(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,com.android.tools.r8.ir.code.BasicBlock):587:587 -> a
    1:1:java.lang.Integer lambda$build$1(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,com.android.tools.r8.ir.code.BasicBlock):593:593 -> b
com.android.tools.r8.ir.optimize.ConstantCanonicalizer -> com.android.tools.r8.internal.ud:
    com.android.tools.r8.ir.optimize.CodeRewriter codeRewriter -> a
    int numberOfEffectivelyFinalFieldCanonicalization -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfCanonicalizationCandidatesPerMethod -> g
    int numberOfDexItemBasedConstStringCanonicalization -> d
    int numberOfConstClassCanonicalization -> e
    boolean $assertionsDisabled -> h
    int numberOfConstNumberCanonicalization -> b
    int numberOfConstStringCanonicalization -> c
    1:1:void <clinit>():46:46 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.CodeRewriter):59:59 -> <init>
    2:14:void <init>(com.android.tools.r8.ir.optimize.CodeRewriter):52:64 -> <init>
    1:3:void logResults():69:71 -> a
    4:7:void logResults():70:73 -> a
    8:12:void logResults():72:76 -> a
    13:17:void logResults():74:78 -> a
    18:23:void logResults():77:82 -> a
    24:30:void logResults():79:85 -> a
    31:33:void lambda$logResults$0(java.lang.Long,java.lang.Integer):86:86 -> a
    34:35:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):92:93 -> a
    36:36:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy):184:184 -> a
    36:36:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):93 -> a
    37:40:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):127:130 -> a
    41:41:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    41:41:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):135 -> a
    42:42:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):135:135 -> a
    43:43:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    43:43:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):141 -> a
    44:44:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    44:44:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):141 -> a
    45:45:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):142:142 -> a
    46:46:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    46:46:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):147 -> a
    47:60:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):148:161 -> a
    61:61:boolean com.android.tools.r8.graph.DexEncodedField.isEnum():204:204 -> a
    61:61:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):163 -> a
    62:68:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):164:170 -> a
    69:70:boolean com.android.tools.r8.ir.optimize.ConstantCanonicalizer.constantUsedByInvokeRange(com.android.tools.r8.ir.code.Instruction):292:293 -> a
    69:70:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):178 -> a
    71:130:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):181:240 -> a
    131:133:com.android.tools.r8.ir.code.ConstString com.android.tools.r8.ir.code.ConstString.copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.ConstString):46:48 -> a
    131:133:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):240 -> a
    134:134:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):257:257 -> a
    135:158:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):231:254 -> a
    159:164:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):243:248 -> a
    165:165:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):247:247 -> a
    166:168:com.android.tools.r8.ir.code.DexItemBasedConstString com.android.tools.r8.ir.code.DexItemBasedConstString.copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.DexItemBasedConstString):48:50 -> a
    166:168:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):247 -> a
    169:172:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):225:228 -> a
    173:175:com.android.tools.r8.ir.code.ConstClass com.android.tools.r8.ir.code.ConstClass.copyOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.ConstClass):60:62 -> a
    173:175:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):228 -> a
    176:176:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):259:259 -> a
    177:188:void com.android.tools.r8.ir.optimize.ConstantCanonicalizer.insertCanonicalizedConstant(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):277:288 -> a
    177:188:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):260 -> a
    189:192:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):261:264 -> a
    193:193:boolean com.android.tools.r8.ir.code.Value.hasUserThatMatches(java.util.function.Predicate):426:426 -> a
    193:193:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):264 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    194:195:boolean com.android.tools.r8.ir.code.Value.hasUserThatMatches(java.util.function.Predicate):426:427 -> a
    194:195:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):264 -> a
    196:204:void canonicalize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):265:273 -> a
    205:205:java.util.List lambda$canonicalize$1(com.android.tools.r8.ir.code.Instruction):182:182 -> a
    206:206:boolean lambda$canonicalize$2(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):199:199 -> a
    207:207:int lambda$canonicalize$4(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):209:209 -> a
    1:1:boolean lambda$canonicalize$3(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):208:208 -> b
com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1 -> com.android.tools.r8.internal.td:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():95:95 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.ConstantCanonicalizer):95:95 -> <init>
    1:1:boolean equals(java.lang.Object,java.lang.Object):95:95 -> a
    2:4:boolean com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1.equals(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):120:122 -> a
    2:4:boolean equals(java.lang.Object,java.lang.Object):95 -> a
    5:5:int hashCode(java.lang.Object):95:95 -> a
    6:20:int com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1.hashCode(com.android.tools.r8.ir.code.Instruction):99:113 -> a
    6:20:int hashCode(java.lang.Object):95 -> a
    21:28:int com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1.hashCode(com.android.tools.r8.ir.code.Instruction):104:111 -> a
    21:28:int hashCode(java.lang.Object):95 -> a
    29:29:int com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1.hashCode(com.android.tools.r8.ir.code.Instruction):109:109 -> a
    29:29:int hashCode(java.lang.Object):95 -> a
    30:30:int com.android.tools.r8.ir.optimize.ConstantCanonicalizer$1.hashCode(com.android.tools.r8.ir.code.Instruction):102:102 -> a
    30:30:int hashCode(java.lang.Object):95 -> a
com.android.tools.r8.ir.optimize.DeadCodeRemover -> com.android.tools.r8.internal.ze:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.CodeRewriter codeRewriter -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():33:33 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter):38:40 -> <init>
    1:13:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):44:56 -> a
    14:20:void com.android.tools.r8.ir.optimize.DeadCodeRemover.removeDeadPhis(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):108:114 -> a
    14:20:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):57 -> a
    21:27:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Value):87:93 -> a
    21:27:void com.android.tools.r8.ir.optimize.DeadCodeRemover.removeDeadPhis(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):115 -> a
    21:27:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):57 -> a
    28:32:void run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):59:63 -> a
    33:48:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):122:137 -> a
    49:49:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    49:49:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):139 -> a
    50:50:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):139:139 -> a
    51:51:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    51:51:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):139 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    52:52:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    52:52:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):139 -> a
    53:57:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):140:144 -> a
    58:75:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):141:158 -> a
    76:76:boolean com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult.isNotDead():0:0 -> a
    76:76:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):158 -> a
    77:77:boolean com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult.isMaybeDead():0:0 -> a
    77:77:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):161 -> a
    78:89:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):163:174 -> a
    90:90:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):99:99 -> a
    90:90:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):177 -> a
    91:97:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Value):87:93 -> a
    91:97:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):100 -> a
    91:97:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):177 -> a
    98:98:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):102:102 -> a
    98:98:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):177 -> a
    99:105:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Value):87:93 -> a
    99:105:void com.android.tools.r8.ir.optimize.DeadCodeRemover.updateWorklist(java.util.Queue,com.android.tools.r8.ir.code.Instruction):103 -> a
    99:105:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):177 -> a
    106:108:void removeDeadInstructions(java.util.Queue,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):181:183 -> a
    109:112:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):189:192 -> a
    113:145:java.util.Collection com.android.tools.r8.ir.optimize.DeadCodeRemover.getDeadCatchHandlers(com.android.tools.r8.ir.code.BasicBlock):221:253 -> a
    113:145:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):193 -> a
    146:165:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):194:213 -> a
    166:166:boolean com.android.tools.r8.ir.code.IRCode.isConsistentGraph():619:619 -> a
    166:166:boolean removeUnneededCatchHandlers(com.android.tools.r8.ir.code.IRCode):213 -> a
    1:9:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):67:75 -> b
    10:14:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):73:77 -> b
    15:15:boolean com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult.isDeadIfOutValueIsDead():0:0 -> b
    15:15:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):77 -> b
    16:16:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):78:78 -> b
    17:17:boolean verifyNoDeadCode(com.android.tools.r8.ir.code.IRCode):77:77 -> b
com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult -> com.android.tools.r8.internal.ye:
    com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult DEFINITELY_DEAD_INSTANCE -> a
    com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult DEFINITELY_NOT_DEAD_INSTANCE -> b
    1:9:void <clinit>():258:266 -> <clinit>
    1:1:void <init>():256:256 -> <init>
    1:1:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult deadIfOutValueIsDead():275:275 -> a
    2:2:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult deadIfInValueIsDead(com.android.tools.r8.ir.code.Value):283:283 -> a
    1:1:java.lang.Iterable getValuesRequiredToBeDead():318:318 -> b
    boolean isMaybeDead() -> c
    boolean isNotDead() -> d
    1:1:com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult notDead():279:279 -> e
com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$1 -> com.android.tools.r8.internal.ve:
    1:1:void <init>():259:259 -> <init>
com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$2 -> com.android.tools.r8.internal.we:
    1:1:void <init>():267:267 -> <init>
com.android.tools.r8.ir.optimize.DeadCodeRemover$DeadInstructionResult$3 -> com.android.tools.r8.internal.xe:
    com.android.tools.r8.ir.code.Value val$inValueRequiredToBeDead -> c
    1:1:void <init>(com.android.tools.r8.ir.code.Value):283:283 -> <init>
    1:1:java.lang.Iterable getValuesRequiredToBeDead():296:296 -> b
    2:2:java.util.Iterator lambda$getValuesRequiredToBeDead$0(com.android.tools.r8.ir.code.Value):296:296 -> b
com.android.tools.r8.ir.optimize.DefaultInliningOracle -> com.android.tools.r8.internal.Se:
    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> e
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> c
    int instructionAllowance -> g
    com.android.tools.r8.utils.InternalOptions$InlinerOptions inlinerOptions -> b
    boolean $assertionsDisabled -> h
    com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy reasonStrategy -> f
    com.android.tools.r8.graph.ProgramMethod method -> d
    1:1:void <clinit>():56:56 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int):71:78 -> <init>
    com.android.tools.r8.ir.analysis.type.ClassTypeElement getReceiverTypeOrDefault(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement) -> a
    boolean isForcedInliningOracle() -> a
    1:18:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):100:117 -> a
    1:18:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):270 -> a
    19:32:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):342:355 -> a
    19:32:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):274 -> a
    33:33:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    33:33:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):355 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:33:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):274 -> a
    34:34:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    34:34:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):355 -> a
    34:34:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):274 -> a
    35:36:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):355:356 -> a
    35:36:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):274 -> a
    37:37:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    37:37:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):356 -> a
    37:37:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):274 -> a
    38:38:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    38:38:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    38:38:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):356 -> a
    38:38:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):274 -> a
    39:39:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.neverInline(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):352:352 -> a
    39:39:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):274 -> a
    40:41:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):275:276 -> a
    42:42:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":485,"2":486,"3":487}}
    485:485:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):276:276 -> a
    486:486:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):276:276 -> a
    487:487:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):276:276 -> a
    320:361:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):278:319 -> a
    362:362:boolean com.android.tools.r8.ir.optimize.InliningStrategy.setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):64:64 -> a
    362:362:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):319 -> a
    363:363:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):23:23 -> a
    363:363:boolean com.android.tools.r8.ir.optimize.InliningStrategy.setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):66 -> a
    363:363:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):319 -> a
    364:364:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):22:22 -> a
    364:364:boolean com.android.tools.r8.ir.optimize.InliningStrategy.setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):66 -> a
    364:364:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):319 -> a
    365:368:boolean com.android.tools.r8.ir.optimize.InliningStrategy.setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):66:69 -> a
    365:368:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):319 -> a
    369:372:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):324:327 -> a
    373:481:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.canInlineInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):481:589 -> a
    373:481:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):325 -> a
    482:482:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):101:101 -> a
    482:482:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):270 -> a
    483:483:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":488,"2":489,"3":490}}
    488:488:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):101:101 -> a
    488:488:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):270 -> a
    489:489:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):101:101 -> a
    489:489:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):270 -> a
    490:490:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):101:101 -> a
    490:490:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):270 -> a
    484:484:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.isSingleTargetInvalid(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):103:103 -> a
    484:484:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):270 -> a
    491:493:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):133:135 -> a
    494:502:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):134:142 -> a
    503:503:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    503:503:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):142 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    504:504:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    504:504:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):142 -> a
    505:509:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):144:148 -> a
    510:510:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    510:510:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):148 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    511:511:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    511:511:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):148 -> a
    512:529:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):151:168 -> a
    530:530:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInSameFeatureOrBothInSameBase(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):199:199 -> a
    530:530:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):168 -> a
    531:531:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    531:531:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInSameFeatureOrBothInSameBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):204 -> a
    531:531:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInSameFeatureOrBothInSameBase(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):199 -> a
    531:531:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):168 -> a
    532:532:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):171:171 -> a
    533:533:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    533:533:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    533:533:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):171 -> a
    534:534:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    534:534:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):171 -> a
    535:540:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):172:177 -> a
    541:541:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    541:541:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):177 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    542:542:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    542:542:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):177 -> a
    543:564:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):177:198 -> a
    565:572:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):197:204 -> a
    573:573:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):203:203 -> a
    574:574:boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):202:202 -> a
    575:576:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeForInvokeWithReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):368:369 -> a
    577:577:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    577:577:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeForInvokeWithReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):369 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    578:578:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    578:578:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeForInvokeWithReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):369 -> a
    579:585:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeForInvokeWithReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):371:377 -> a
    586:586:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    586:586:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeForInvokeWithReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):377 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    587:587:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    587:587:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeForInvokeWithReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):377 -> a
    588:594:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeForInvokeWithReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):377:383 -> a
    595:604:com.android.tools.r8.ir.optimize.Inliner$InlineAction computeForInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):396:405 -> a
    605:619:boolean isTargetClassInitialized(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis):419:433 -> a
    620:635:boolean isTargetClassInitialized(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis):432:447 -> a
    636:636:java.lang.Boolean lambda$isTargetClassInitialized$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.InitializedClassesInInstanceMethodsAnalysis$InitializedClassesInInstanceMethods):426:426 -> a
    637:639:boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):459:461 -> a
    640:640:boolean com.android.tools.r8.ir.optimize.Inliner$Reason.mustBeInlined():496:496 -> a
    640:640:boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):461 -> a
    641:646:boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):465:470 -> a
    647:647:boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):596:596 -> a
    648:648:boolean com.android.tools.r8.ir.optimize.Inliner$Reason.mustBeInlined():496:496 -> a
    648:648:boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):596 -> a
    649:651:boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):599:601 -> a
    652:652:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):613:613 -> a
    653:653:boolean com.android.tools.r8.ir.optimize.Inliner$Reason.mustBeInlined():496:496 -> a
    653:653:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):613 -> a
    654:656:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.willExceedInstructionBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):624:626 -> a
    654:656:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):616 -> a
    657:657:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):617:617 -> a
    658:662:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.willExceedControlFlowResolutionBlocksBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):711:715 -> a
    658:662:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):618 -> a
    663:663:int com.android.tools.r8.ir.code.BasicBlock.numberOfThrowingInstructions():1633:1633 -> a
    663:663:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.willExceedControlFlowResolutionBlocksBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):716 -> a
    663:663:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):618 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    664:665:int com.android.tools.r8.ir.code.BasicBlock.numberOfThrowingInstructions():1633:1634 -> a
    664:665:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.willExceedControlFlowResolutionBlocksBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):716 -> a
    664:665:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):618 -> a
    666:671:boolean com.android.tools.r8.ir.optimize.DefaultInliningOracle.willExceedControlFlowResolutionBlocksBudget(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):722:727 -> a
    666:671:boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):618 -> a
    672:704:boolean willExceedMonitorEnterValuesBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):646:678 -> a
    705:705:void markInlined(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason):737:737 -> a
    1:1:com.android.tools.r8.graph.AppView appView():83:83 -> b
    2:2:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):257:257 -> b
    3:3:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> b
    3:3:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):257 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> b
    4:4:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):257 -> b
    1:6:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):210:215 -> c
    7:9:int com.android.tools.r8.ir.optimize.DefaultInliningOracle.getInliningInstructionLimitIncrement(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):230:232 -> c
    7:9:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):216 -> c
    10:10:int com.android.tools.r8.ir.code.InvokeMethod.getFirstNonReceiverArgumentIndex():79:79 -> c
    10:10:int com.android.tools.r8.ir.optimize.DefaultInliningOracle.getInliningInstructionLimitIncrement(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):233 -> c
    10:10:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):216 -> c
    11:24:int com.android.tools.r8.ir.optimize.DefaultInliningOracle.getInliningInstructionLimitIncrement(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):234:247 -> c
    11:24:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):216 -> c
    25:33:boolean satisfiesRequirementsForSimpleInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):217:225 -> c
com.android.tools.r8.ir.optimize.Devirtualizer -> com.android.tools.r8.internal.eg:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():49:49 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):54:56 -> <init>
    1:2:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):60:61 -> a
    3:3:void com.android.tools.r8.ir.optimize.AssumeRemover.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):42:42 -> a
    3:3:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):61 -> a
    4:6:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):62:64 -> a
    7:7:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> a
    7:7:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):64 -> a
    8:31:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):65:88 -> a
    32:32:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    32:32:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):88 -> a
    33:35:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):89:91 -> a
    36:36:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Assume.getAliasForOutValue():162:162 -> a
    36:36:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):91 -> a
    37:42:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):92:97 -> a
    43:43:boolean com.android.tools.r8.ir.code.Instruction.isSafeCheckCast():0:0 -> a
    43:43:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):97 -> a
    44:64:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):98:118 -> a
    65:65:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):117:117 -> a
    66:66:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> a
    66:66:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):125 -> a
    67:79:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):126:138 -> a
    80:80:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    80:80:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):138 -> a
    81:89:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):135:143 -> a
    90:98:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):142:150 -> a
    99:99:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):323:323 -> a
    99:99:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):151 -> a
    100:100:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> a
    100:100:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):323 -> a
    100:100:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):151 -> a
    101:112:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):328:339 -> a
    101:112:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):151 -> a
    113:113:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    113:113:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):339 -> a
    113:113:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):151 -> a
    114:114:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):343:343 -> a
    114:114:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):151 -> a
    115:115:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> a
    115:115:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):343 -> a
    115:115:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):151 -> a
    116:123:com.android.tools.r8.graph.DexClass com.android.tools.r8.ir.optimize.Devirtualizer.rebindSuperInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):345:352 -> a
    116:123:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):151 -> a
    124:125:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):153:154 -> a
    126:126:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):322:322 -> a
    126:126:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):154 -> a
    127:130:boolean com.android.tools.r8.ir.optimize.Devirtualizer.isRebindingNewClassIntoMainDex(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):415:418 -> a
    127:130:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):156 -> a
    131:137:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):157:157 -> a
    148:152:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):168:172 -> a
    153:182:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.optimize.Devirtualizer.rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):367:396 -> a
    153:182:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):172 -> a
    183:183:boolean com.android.tools.r8.graph.AccessFlags.isAtLeastAsVisibleAs(com.android.tools.r8.graph.AccessFlags):126:126 -> a
    183:183:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.optimize.Devirtualizer.rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):396 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    183:183:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):172 -> a
    184:184:boolean com.android.tools.r8.graph.AccessFlags.isAtLeastAsVisibleAs(com.android.tools.r8.graph.AccessFlags):126:126 -> a
    184:184:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.optimize.Devirtualizer.rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):396 -> a
    184:184:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):172 -> a
    185:187:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.optimize.Devirtualizer.rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):398:400 -> a
    185:187:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):172 -> a
    188:200:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.optimize.Devirtualizer.rebindVirtualInvokeToMostSpecific(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):399:411 -> a
    188:200:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):172 -> a
    201:203:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):174:174 -> a
    204:204:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    204:204:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):180 -> a
    205:222:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):183:200 -> a
    223:226:boolean com.android.tools.r8.ir.optimize.Devirtualizer.isRebindingNewClassIntoMainDex(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):415:418 -> a
    223:226:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):200 -> a
    227:247:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):204:224 -> a
    248:269:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):223:244 -> a
    270:270:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> a
    270:270:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):245 -> a
    271:278:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):246:253 -> a
    279:279:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    279:279:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):260 -> a
    280:305:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):262:287 -> a
    306:306:void com.android.tools.r8.ir.code.DominatorTree.<init>(com.android.tools.r8.ir.code.IRCode):37:37 -> a
    306:306:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):287 -> a
    307:322:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):289:304 -> a
    323:327:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):303:307 -> a
    328:328:com.android.tools.r8.ir.optimize.AssumeRemover com.android.tools.r8.ir.optimize.AssumeRemover.removeMarkedInstructions():104:104 -> a
    328:328:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):313 -> a
    329:331:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):314:316 -> a
    332:332:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    332:332:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):316 -> a
    333:335:void devirtualizeInvokeInterface(com.android.tools.r8.ir.code.IRCode):316:318 -> a
com.android.tools.r8.ir.optimize.DynamicTypeOptimization -> com.android.tools.r8.internal.Kh:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):22:23 -> <init>
    1:2:com.android.tools.r8.ir.analysis.type.DynamicType computeDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):32:33 -> a
    3:3:java.util.LinkedList com.android.tools.r8.ir.code.IRCode.getBlocks():1350:1350 -> a
    3:3:com.android.tools.r8.ir.analysis.type.DynamicType computeDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):34 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:8:com.android.tools.r8.ir.analysis.type.DynamicType computeDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):34:38 -> a
    9:9:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    9:9:com.android.tools.r8.ir.analysis.type.DynamicType computeDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):38 -> a
    10:13:com.android.tools.r8.ir.analysis.type.DynamicType computeDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):38:41 -> a
com.android.tools.r8.ir.optimize.ForcedInliningOracle -> com.android.tools.r8.internal.Wk:
    java.util.Map invokesToInline -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.ProgramMethod method -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():25:25 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.Map):34:37 -> <init>
    boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
    boolean isForcedInliningOracle() -> a
    void markInlined(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason) -> a
    boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
    boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
    boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
    1:8:com.android.tools.r8.ir.optimize.Inliner$InlineAction com.android.tools.r8.ir.optimize.ForcedInliningOracle.computeForInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):93:100 -> a
    1:8:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):79 -> a
    9:9:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):83:83 -> a
    10:10:boolean com.android.tools.r8.ir.optimize.InliningStrategy.setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):64:64 -> a
    10:10:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):83 -> a
    11:11:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):23:23 -> a
    11:11:boolean com.android.tools.r8.ir.optimize.InliningStrategy.setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):66 -> a
    11:11:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):83 -> a
    12:12:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.graph.AccessControl.isClassAccessible(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):22:22 -> a
    12:12:boolean com.android.tools.r8.ir.optimize.InliningStrategy.setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):66 -> a
    12:12:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):83 -> a
    13:16:boolean com.android.tools.r8.ir.optimize.InliningStrategy.setDowncastTypeIfNeeded(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):66:69 -> a
    13:16:com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):83 -> a
    17:21:com.android.tools.r8.ir.analysis.type.ClassTypeElement getReceiverTypeOrDefault(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement):144:148 -> a
    1:1:com.android.tools.r8.graph.AppView appView():42:42 -> b
    2:6:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):62:66 -> b
    7:7:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> b
    7:7:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):66 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> b
    8:8:com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):66 -> b
com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer -> com.android.tools.r8.internal.Kn:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfCanonicalizationCandidatesPerMethod -> e
    boolean $assertionsDisabled -> f
    int numberOfProgramCallCanonicalization -> d
    int numberOfLibraryCallCanonicalization -> c
    1:1:void <clinit>():54:54 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):66:66 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView):62:72 -> <init>
    1:3:void logResults():77:79 -> a
    4:7:void logResults():78:81 -> a
    8:12:void logResults():80:84 -> a
    13:16:void lambda$logResults$0(java.lang.Long,java.lang.Integer):87:90 -> a
    17:17:void lambda$logResults$0(java.lang.Long,java.lang.Integer):86:86 -> a
    18:18:void canonicalize(com.android.tools.r8.ir.code.IRCode):95:95 -> a
    19:19:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy):184:184 -> a
    19:19:void canonicalize(com.android.tools.r8.ir.code.IRCode):95 -> a
    20:33:void canonicalize(com.android.tools.r8.ir.code.IRCode):113:126 -> a
    34:37:boolean com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer.isIdempotentLibraryMethodInvoke(com.android.tools.r8.ir.code.InvokeMethod):278:281 -> a
    34:37:void canonicalize(com.android.tools.r8.ir.code.IRCode):130 -> a
    38:38:boolean com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.isCallToSideEffectFreeFinalMethod(com.android.tools.r8.ir.code.InvokeMethod):119:119 -> a
    38:38:boolean com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer.isIdempotentLibraryMethodInvoke(com.android.tools.r8.ir.code.InvokeMethod):281 -> a
    38:38:void canonicalize(com.android.tools.r8.ir.code.IRCode):130 -> a
    39:40:boolean com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer.isIdempotentLibraryMethodInvoke(com.android.tools.r8.ir.code.InvokeMethod):281:282 -> a
    39:40:void canonicalize(com.android.tools.r8.ir.code.IRCode):130 -> a
    41:110:void canonicalize(com.android.tools.r8.ir.code.IRCode):131:200 -> a
    111:111:java.util.HashMap com.android.tools.r8.com.google.common.collect.Maps.newHashMap():226:226 -> a
    111:111:void canonicalize(com.android.tools.r8.ir.code.IRCode):203 -> a
    112:181:void canonicalize(com.android.tools.r8.ir.code.IRCode):205:274 -> a
    182:182:java.util.List lambda$canonicalize$1(com.android.tools.r8.ir.code.InvokeMethod):190:190 -> a
    183:183:boolean lambda$canonicalize$2(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):207:207 -> a
    184:184:int lambda$canonicalize$4(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):215:215 -> a
    185:188:void lambda$canonicalize$5(com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):219:222 -> a
    189:204:void lambda$canonicalize$5(com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):221:236 -> a
    205:205:com.android.tools.r8.ir.code.Invoke com.android.tools.r8.ir.code.Invoke.create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List):230:230 -> a
    205:205:void lambda$canonicalize$5(com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):231 -> a
    206:209:void lambda$canonicalize$5(com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):242:245 -> a
    210:220:void com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer.insertCanonicalizedInvokeWithoutInValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Invoke):314:324 -> a
    210:220:void lambda$canonicalize$5(com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):247 -> a
    221:222:void lambda$canonicalize$5(com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):249:250 -> a
    223:245:void insertCanonicalizedInvokeWithInValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Invoke):287:309 -> a
    246:246:boolean lambda$insertCanonicalizedInvokeWithInValues$6(com.android.tools.r8.ir.code.Instruction):304:304 -> a
    1:1:boolean lambda$canonicalize$3(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):214:214 -> b
com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer$1 -> com.android.tools.r8.internal.Jn:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():97:97 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer):97:97 -> <init>
    1:1:boolean equals(java.lang.Object,java.lang.Object):97:97 -> a
    2:6:boolean com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer$1.equals(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod):105:109 -> a
    2:6:boolean equals(java.lang.Object,java.lang.Object):97 -> a
    7:7:int hashCode(java.lang.Object):97:97 -> a
    8:8:int com.android.tools.r8.ir.optimize.IdempotentFunctionCallCanonicalizer$1.hashCode(com.android.tools.r8.ir.code.InvokeMethod):100:100 -> a
    8:8:int hashCode(java.lang.Object):97 -> a
com.android.tools.r8.ir.optimize.Inliner -> com.android.tools.r8.internal.Fp:
    java.util.Set singleCallerInlinedPrunedMethodsForTesting -> g
    com.android.tools.r8.ir.optimize.MultiCallerInliner multiCallerInliner -> e
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.conversion.LensCodeRewriter lensCodeRewriter -> c
    boolean $assertionsDisabled -> i
    com.android.tools.r8.androidapi.AvailableApiExceptions availableApiExceptions -> h
    com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder singleInlineCallers -> d
    java.util.Map singleCallerInlinedMethodsInWave -> f
    com.android.tools.r8.ir.conversion.IRConverter converter -> b
    1:1:void <clinit>():86:86 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.LensCodeRewriter):111:111 -> <init>
    2:23:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.LensCodeRewriter):101:122 -> <init>
    boolean lambda$performInliningImpl$1(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
    1:7:boolean returnsIntAsBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):162:168 -> a
    8:8:boolean com.android.tools.r8.ir.code.Value.knownToBeBoolean():899:899 -> a
    8:8:boolean returnsIntAsBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):168 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):179:179 -> a
    10:16:void performForcedInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):851:857 -> a
    17:17:void performForcedInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.Map,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):852:852 -> a
    18:23:void performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):885:890 -> a
    24:32:void performInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):887:895 -> a
    33:35:com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy createDefaultInliningReasonStrategy(com.android.tools.r8.ir.conversion.MethodProcessor):901:903 -> a
    36:36:com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy lambda$createDefaultInliningReasonStrategy$0(com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):904:904 -> a
    37:37:com.android.tools.r8.ir.optimize.DefaultInliningOracle createDefaultOracle(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,int,com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy):924:924 -> a
    38:38:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):941:941 -> a
    39:39:void com.android.tools.r8.ir.optimize.AssumeRemover.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):42:42 -> a
    39:39:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):941 -> a
    40:72:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):942:974 -> a
    73:74:boolean com.android.tools.r8.ir.optimize.Inliner.tryInlineMethodWithoutSideEffects(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.AssumeRemover):1117:1118 -> a
    73:74:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):973 -> a
    75:75:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    75:75:boolean com.android.tools.r8.ir.optimize.Inliner.tryInlineMethodWithoutSideEffects(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.AssumeRemover):1121 -> a
    75:75:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):973 -> a
    76:78:boolean com.android.tools.r8.ir.optimize.Inliner.tryInlineMethodWithoutSideEffects(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.AssumeRemover):1122:1122 -> a
    76:78:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):973 -> a
    87:87:boolean com.android.tools.r8.ir.optimize.Inliner.tryInlineMethodWithoutSideEffects(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.AssumeRemover):1131:1131 -> a
    87:87:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):973 -> a
    88:110:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):979:1001 -> a
    111:111:boolean com.android.tools.r8.ir.optimize.Inliner$InlineResult.isRetryAction():0:0 -> a
    111:111:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1005 -> a
    112:112:void com.android.tools.r8.ir.optimize.Inliner.enqueueMethodForReprocessing(com.android.tools.r8.graph.ProgramMethod):1246:1246 -> a
    112:112:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1006 -> a
    113:121:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1010:1018 -> a
    122:163:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1017:1058 -> a
    164:180:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1052:1068 -> a
    181:210:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1067:1096 -> a
    211:211:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    211:211:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1098 -> a
    212:221:void performInliningImpl(com.android.tools.r8.ir.optimize.InliningStrategy,com.android.tools.r8.ir.optimize.InliningOracle,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):1099:1108 -> a
    222:228:boolean com.android.tools.r8.ir.optimize.Inliner.containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1136:1142 -> a
    222:228:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):135 -> a
    229:229:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    229:229:boolean com.android.tools.r8.ir.optimize.Inliner.containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1143 -> a
    229:229:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):135 -> a
    230:231:boolean com.android.tools.r8.ir.optimize.Inliner.containsPotentialCatchHandlerVerificationError(com.android.tools.r8.ir.code.IRCode):1143:1144 -> a
    230:231:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):135 -> a
    232:244:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):136:148 -> a
    245:247:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget com.android.tools.r8.ir.optimize.Inliner.instructionAllowedForInlining(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.InliningConstraints,com.android.tools.r8.graph.ProgramMethod):127:129 -> a
    245:247:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):150 -> a
    248:248:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget computeInliningConstraint(com.android.tools.r8.ir.code.IRCode):156:156 -> a
    249:262:void postProcessInlineeBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.Set,com.android.tools.r8.utils.Timing):1180:1193 -> a
    263:263:void com.android.tools.r8.ir.optimize.Inliner.rewindBlockIterator(java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock):1227:1227 -> a
    263:263:void postProcessInlineeBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.Set,com.android.tools.r8.utils.Timing):1196 -> a
    264:264:void postProcessInlineeBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.Set,com.android.tools.r8.utils.Timing):1197:1197 -> a
    265:265:void com.android.tools.r8.ir.optimize.Inliner.rewindBlockIterator(java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock):1227:1227 -> a
    265:265:void postProcessInlineeBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.Set,com.android.tools.r8.utils.Timing):1200 -> a
    266:267:void lambda$postProcessInlineeBlocks$2(java.util.Set,java.util.Set,com.android.tools.r8.ir.code.BasicBlock):1189:1190 -> a
    268:270:void insertAssumeInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,java.util.Set,com.android.tools.r8.utils.Timing):1208:1210 -> a
    271:275:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set):1217:1221 -> a
    276:276:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    276:276:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set):1221 -> a
    277:279:void applyMemberValuePropagationToInlinee(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set):1221:1223 -> a
    280:287:void rewindBlockIterator(java.util.ListIterator,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Consumer):1235:1242 -> a
    288:317:void onWaveDone():1259:1288 -> a
    318:336:void lambda$onWaveDone$4(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.ProgramMethodSet):1262:1280 -> a
    337:342:void lambda$onWaveDone$4(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.ProgramMethodSet):1279:1284 -> a
    343:347:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1296:1300 -> a
    348:348:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    348:348:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1300 -> a
    349:350:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1300:1301 -> a
    351:358:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1298:1305 -> a
    359:359:boolean lambda$onLastWaveDone$5(com.android.tools.r8.graph.ProgramMethod):1303:1303 -> a
    360:360:boolean lambda$verifyAllSingleCallerMethodsHaveBeenPruned$6(com.android.tools.r8.graph.DexEncodedMethod):1312:1312 -> a
    361:363:void lambda$verifyAllSingleCallerMethodsHaveBeenPruned$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):1314:1314 -> a
    364:364:boolean verifyIsPrunedDueToSingleCallerInlining(com.android.tools.r8.graph.DexMethod):1322:1322 -> a
    365:367:boolean verifyAllMultiCallerInlinedMethodsHaveBeenPruned(com.android.tools.r8.graph.AppView):1327:1329 -> a
    1:6:int numberOfInstructions(com.android.tools.r8.ir.code.IRCode):800:805 -> b
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    7:7:int numberOfInstructions(com.android.tools.r8.ir.code.IRCode):811 -> b
    8:15:int numberOfInstructions(com.android.tools.r8.ir.code.IRCode):817:824 -> b
    16:19:boolean lambda$onWaveDone$3(com.android.tools.r8.graph.ProgramMethod):1266:1269 -> b
    20:21:boolean verifyAllSingleCallerMethodsHaveBeenPruned(com.android.tools.r8.graph.AppView):1310:1311 -> b
    1:1:void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1255:1255 -> c
    1:1:void com.android.tools.r8.ir.optimize.Inliner.onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1255:1255 -> d
    1:1:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1250 -> d
    2:2:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1251:1251 -> d
com.android.tools.r8.ir.optimize.Inliner$Constraint -> com.android.tools.r8.ir.optimize.a:
    com.android.tools.r8.ir.optimize.Inliner$Constraint SAMENEST -> e
    com.android.tools.r8.ir.optimize.Inliner$Constraint[] $VALUES -> i
    com.android.tools.r8.ir.optimize.Inliner$Constraint SAMECLASS -> d
    com.android.tools.r8.ir.optimize.Inliner$Constraint NEVER -> c
    int value -> b
    com.android.tools.r8.ir.optimize.Inliner$Constraint ALWAYS -> h
    com.android.tools.r8.ir.optimize.Inliner$Constraint SUBCLASS -> g
    com.android.tools.r8.ir.optimize.Inliner$Constraint PACKAGE -> f
    1:18:void <clinit>():189:189 -> <clinit>
    43:47:void <clinit>():214:218 -> <clinit>
    1:2:void <init>(java.lang.String,int,int):209:210 -> <init>
    1:1:com.android.tools.r8.ir.optimize.Inliner$Constraint[] values():189:189 -> a
    2:2:boolean isSet(int):229:229 -> a
com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget -> com.android.tools.r8.ir.optimize.b:
    com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget ALWAYS -> d
    com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget NEVER -> c
    com.android.tools.r8.ir.optimize.Inliner$Constraint constraint -> a
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexType targetHolder -> b
    1:9:void <clinit>():247:255 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.optimize.Inliner$Constraint):257:260 -> <init>
    5:9:void <init>(com.android.tools.r8.ir.optimize.Inliner$Constraint,com.android.tools.r8.graph.DexType):263:267 -> <init>
    1:24:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget deriveConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AccessFlags,com.android.tools.r8.graph.AppView):290:313 -> a
    25:36:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget classIsVisible(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):319:330 -> a
    37:87:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):335:385 -> a
    88:98:boolean verifyAllNestInSamePackage(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):462:472 -> a
    88:98:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):385 -> a
    99:106:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):386:393 -> a
    107:122:boolean allNestMembersSubtypeOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):439:454 -> a
    107:122:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):393 -> a
    123:156:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget meet(com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget,com.android.tools.r8.graph.AppView):397:430 -> a
    1:5:boolean equals(java.lang.Object):280:284 -> equals
    1:4:int hashCode():272:275 -> hashCode
    5:5:int com.android.tools.r8.graph.DexType.computeHashCode():124:124 -> hashCode
    5:5:int hashCode():275 -> hashCode
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:int com.android.tools.r8.graph.DexType.computeHashCode():124:124 -> hashCode
    6:6:int hashCode():275 -> hashCode
com.android.tools.r8.ir.optimize.Inliner$InlineAction -> com.android.tools.r8.internal.zp:
    com.android.tools.r8.ir.optimize.Inliner$Reason reason -> c
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexProgramClass downcastClass -> e
    com.android.tools.r8.graph.ProgramMethod target -> a
    com.android.tools.r8.ir.code.Invoke invoke -> b
    boolean shouldEnsureStaticInitialization -> d
    1:1:void <clinit>():511:511 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.optimize.Inliner$Reason):521:524 -> <init>
    com.android.tools.r8.ir.optimize.Inliner$InlineAction asInlineAction() -> a
    1:1:void setDowncastClass(com.android.tools.r8.graph.DexProgramClass):537:537 -> a
    2:15:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):550:563 -> a
    16:25:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.handleSimpleEffectAnalysisResult(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Consumer,java.util.function.Consumer):716:725 -> a
    16:25:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):559 -> a
    26:26:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.handleSimpleEffectAnalysisResult(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Consumer,java.util.function.Consumer):722:722 -> a
    26:26:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):559 -> a
    27:28:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):574:575 -> a
    29:29:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    29:29:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):575 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:30:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    30:30:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):575 -> a
    31:31:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    31:31:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):575 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    32:32:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    32:32:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):575 -> a
    33:36:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):576:579 -> a
    37:37:boolean com.android.tools.r8.ir.code.Value.isMaybeNull():481:481 -> a
    37:37:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):579 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:39:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):582:583 -> a
    40:49:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.handleSimpleEffectAnalysisResult(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Consumer,java.util.function.Consumer):716:725 -> a
    40:49:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):581 -> a
    50:50:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.handleSimpleEffectAnalysisResult(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult,com.android.tools.r8.ir.code.BasicBlock,java.util.function.Consumer,java.util.function.Consumer):722:722 -> a
    50:50:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):581 -> a
    51:53:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):589:591 -> a
    54:60:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):590:596 -> a
    61:61:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    61:61:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):597 -> a
    62:72:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):597:607 -> a
    73:73:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    73:73:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):612 -> a
    74:74:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):612:612 -> a
    75:80:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):611:616 -> a
    81:81:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    81:81:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):618 -> a
    82:82:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):618:618 -> a
    83:96:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):616:629 -> a
    97:97:com.android.tools.r8.ir.code.Phi com.android.tools.r8.ir.code.IRCode.createPhi(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.type.TypeElement):1196:1196 -> a
    97:97:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):631 -> a
    98:137:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):632:671 -> a
    138:138:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    138:138:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):670 -> a
    139:139:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):672:672 -> a
    140:140:void com.android.tools.r8.ir.code.ConstClass.<init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):32:32 -> a
    140:140:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):672 -> a
    141:177:com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason buildInliningIR(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.conversion.LensCodeRewriter):672:708 -> a
    178:178:com.android.tools.r8.ir.code.Value lambda$buildInliningIR$2(com.android.tools.r8.ir.code.BasicBlock):634:634 -> a
    179:179:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeInitClass(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):732:732 -> a
    179:179:void lambda$buildInliningIR$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):564 -> a
    180:180:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    180:180:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeInitClass(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):735 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    180:180:void lambda$buildInliningIR$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):564 -> a
    181:181:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    181:181:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeInitClass(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):735 -> a
    181:181:void lambda$buildInliningIR$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):564 -> a
    182:188:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeInitClass(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):735:741 -> a
    182:188:void lambda$buildInliningIR$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):564 -> a
    189:189:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    189:189:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeInitClass(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):741 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    189:189:void lambda$buildInliningIR$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):564 -> a
    190:190:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeInitClass(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):741:741 -> a
    190:190:void lambda$buildInliningIR$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):564 -> a
    191:194:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):746:749 -> a
    191:194:void lambda$buildInliningIR$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):585 -> a
    195:195:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    195:195:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):753 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    195:195:void lambda$buildInliningIR$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):585 -> a
    196:196:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    196:196:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):753 -> a
    196:196:void lambda$buildInliningIR$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):585 -> a
    197:205:void com.android.tools.r8.ir.optimize.Inliner$InlineAction.synthesizeNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):753:761 -> a
    197:205:void lambda$buildInliningIR$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.BasicBlock):585 -> a
    206:215:void setRemoveInnerFramePositionForReceiverUse(com.android.tools.r8.ir.code.Instruction):766:775 -> a
    216:216:void setRemoveInnerFramePositionForReceiverUse(com.android.tools.r8.ir.code.Instruction):774:774 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getDowncastClass():533:533 -> b
    1:1:void setShouldEnsureStaticInitialization():541:541 -> c
com.android.tools.r8.ir.optimize.Inliner$InlineResult -> com.android.tools.r8.internal.Ap:
    1:1:void <init>():500:500 -> <init>
    com.android.tools.r8.ir.optimize.Inliner$InlineAction asInlineAction() -> a
com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason -> com.android.tools.r8.internal.Bp:
    com.android.tools.r8.ir.optimize.Inliner$Reason reason -> a
    com.android.tools.r8.ir.code.IRCode code -> b
    1:3:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.Inliner$Reason):792:794 -> <init>
com.android.tools.r8.ir.optimize.Inliner$InliningInfo -> com.android.tools.r8.internal.Cp:
    com.android.tools.r8.graph.DexProgramClass receiverClass -> b
    com.android.tools.r8.graph.ProgramMethod target -> a
    1:3:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):838:840 -> <init>
com.android.tools.r8.ir.optimize.Inliner$Reason -> com.android.tools.r8.internal.Dp:
    com.android.tools.r8.ir.optimize.Inliner$Reason NEVER -> g
    com.android.tools.r8.ir.optimize.Inliner$Reason MULTI_CALLER_CANDIDATE -> e
    com.android.tools.r8.ir.optimize.Inliner$Reason SIMPLE -> f
    com.android.tools.r8.ir.optimize.Inliner$Reason ALWAYS -> c
    com.android.tools.r8.ir.optimize.Inliner$Reason SINGLE_CALLER -> d
    com.android.tools.r8.ir.optimize.Inliner$Reason FORCE -> b
    1:8:void <clinit>():485:492 -> <clinit>
    1:1:void <init>(java.lang.String,int):484:484 -> <init>
com.android.tools.r8.ir.optimize.Inliner$RetryAction -> com.android.tools.r8.internal.Ep:
    1:1:void <init>():779:779 -> <init>
com.android.tools.r8.ir.optimize.InliningConstraints -> com.android.tools.r8.ir.optimize.c:
    com.android.tools.r8.graph.AppView appView -> a
    boolean allowStaticInterfaceMethodCalls -> b
    com.android.tools.r8.graph.GraphLens graphLens -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):48:48 -> <init>
    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):34:50 -> <init>
    1:1:void disallowStaticInterfaceMethodCalls():62:62 -> a
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):98:98 -> a
    3:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):172:173 -> a
    5:5:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):173 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:15:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):173:182 -> a
    16:20:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):231:235 -> a
    21:21:boolean isVerticalClassMerging():66:66 -> a
    21:21:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):236 -> a
    22:22:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):239:239 -> a
    23:23:boolean isVerticalClassMerging():66:66 -> a
    23:23:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):239 -> a
    24:25:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):239:240 -> a
    26:26:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":274,"2":275,"3":276}}
    274:274:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):240:240 -> a
    275:275:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    275:275:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):240 -> a
    276:276:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    276:276:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):240 -> a
    266:268:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):240:242 -> a
    269:269:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):63:63 -> a
    269:269:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):242 -> a
    270:273:com.android.tools.r8.graph.DexEncodedMethod singleTargetWhileVerticalClassMerging(com.android.tools.r8.graph.MethodResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.TriFunction):246:249 -> a
    277:277:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):257:257 -> a
    278:278:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351:351 -> a
    278:278:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstanceGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):134 -> a
    279:279:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    279:279:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    279:279:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstanceGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):134 -> a
    280:284:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):352:356 -> a
    280:284:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstanceGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):134 -> a
    285:285:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):353:353 -> a
    285:285:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstanceGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):134 -> a
    286:294:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):382:390 -> a
    295:295:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):189:189 -> a
    295:295:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):387 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    296:296:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):190:190 -> a
    296:296:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):387 -> a
    297:297:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    297:297:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):190 -> a
    297:297:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):387 -> a
    298:300:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):393:395 -> a
    301:301:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":708,"2":709,"3":710}}
    708:708:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):395:395 -> a
    709:709:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    709:709:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):395 -> a
    710:710:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    710:710:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):395 -> a
    697:700:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):396:399 -> a
    701:707:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forResolvedMember(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMember):398:404 -> a
    1:1:com.android.tools.r8.graph.AppView getAppView():54:54 -> b
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forConstClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):102:102 -> b
    3:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):186:187 -> b
    5:5:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> b
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):187 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):187:187 -> b
    7:19:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forVirtualInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):361:373 -> b
    7:19:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):188 -> b
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forVirtualInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):372:372 -> b
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):188 -> b
    21:21:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351:351 -> b
    21:21:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstancePut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):142 -> b
    22:22:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> b
    22:22:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstancePut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):142 -> b
    23:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):352:356 -> b
    23:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstancePut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):142 -> b
    28:28:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):353:353 -> b
    28:28:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstancePut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):142 -> b
    1:1:com.android.tools.r8.graph.GraphLens getGraphLens():58:58 -> c
    2:2:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):130:130 -> c
    3:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):204:205 -> c
    5:5:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> c
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):205 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:17:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):205:216 -> c
    18:18:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> c
    18:18:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):216 -> c
    19:24:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):216:221 -> c
    25:25:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351:351 -> c
    25:25:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):319 -> c
    26:26:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> c
    26:26:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    26:26:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):319 -> c
    27:31:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):352:356 -> c
    27:31:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):319 -> c
    32:32:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):353:353 -> c
    32:32:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticGet(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):319 -> c
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInstanceOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):138:138 -> d
    2:3:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):261:262 -> d
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> d
    4:4:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):262 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):262:262 -> d
    6:18:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forVirtualInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):361:373 -> d
    6:18:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):263 -> d
    19:19:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forVirtualInvoke(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):372:372 -> d
    19:19:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):263 -> d
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351:351 -> d
    20:20:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticPut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):323 -> d
    21:21:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> d
    21:21:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):351 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    21:21:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticPut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):323 -> d
    22:26:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):352:356 -> d
    22:26:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticPut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):323 -> d
    27:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forFieldInstruction(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):353:353 -> d
    27:27:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forStaticPut(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):323 -> d
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeMultiNewArray(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):192:192 -> e
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forInvokeNewArray(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):196:196 -> f
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forNewArrayEmpty(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):287:287 -> g
    1:1:com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget forNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):299:299 -> h
com.android.tools.r8.ir.optimize.InliningOracle -> com.android.tools.r8.internal.Jp:
    com.android.tools.r8.ir.optimize.Inliner$InlineResult computeInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.ClassInitializationAnalysis,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
    boolean isForcedInliningOracle() -> a
    boolean passesInliningConstraints(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.Inliner$Reason,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
    com.android.tools.r8.graph.ProgramMethod lookupSingleTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod) -> b
com.android.tools.r8.ir.optimize.InliningStrategy -> com.android.tools.r8.internal.Lp:
    boolean allowInliningOfInvokeInInlinee(com.android.tools.r8.ir.optimize.Inliner$InlineAction,int,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
    com.android.tools.r8.ir.analysis.type.ClassTypeElement getReceiverTypeOrDefault(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.analysis.type.ClassTypeElement) -> a
    void markInlined(com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason) -> a
    boolean stillHasBudget(com.android.tools.r8.ir.optimize.Inliner$InlineAction,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
    boolean willExceedBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.optimize.Inliner$InlineeWithReason,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter) -> a
    1:14:com.android.tools.r8.graph.DexProgramClass getDowncastTypeIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):75:88 -> a
    com.android.tools.r8.graph.AppView appView() -> b
com.android.tools.r8.ir.optimize.InstructionEquivalence -> com.android.tools.r8.internal.vq:
    com.android.tools.r8.ir.regalloc.RegisterAllocator allocator -> a
    1:2:void <init>(com.android.tools.r8.ir.regalloc.RegisterAllocator):14:15 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):11:11 -> a
    2:2:int doHash(java.lang.Object):11:11 -> a
    3:12:int com.android.tools.r8.ir.optimize.InstructionEquivalence.doHash(com.android.tools.r8.ir.code.Instruction):27:36 -> a
    3:12:int doHash(java.lang.Object):11 -> a
    13:14:boolean doEquivalent(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):20:21 -> a
com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool -> com.android.tools.r8.internal.SD:
    com.android.tools.r8.graph.DexClass clazz -> a
    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> b
    java.util.Set interfaces -> d
    java.util.Set subTypes -> e
    java.util.Set memberPool -> f
    com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool superType -> c
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():161:161 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.base.Equivalence,com.android.tools.r8.graph.DexClass):170:170 -> <init>
    2:8:void <init>(com.android.tools.r8.com.google.common.base.Equivalence,com.android.tools.r8.graph.DexClass):166:172 -> <init>
    1:2:java.lang.Object below(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):0:0 -> a
    250:252:java.lang.Object below(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):248:250 -> a
    253:253:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.here(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.util.function.BiFunction):240:240 -> a
    253:253:java.lang.Object below(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):251 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    254:255:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.here(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.util.function.BiFunction):240:241 -> a
    254:255:java.lang.Object below(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):251 -> a
    256:257:java.lang.Object below(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):255:256 -> a
    258:259:void linkInterface(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool):186:187 -> a
    260:260:void seen(java.lang.Object):191:191 -> a
    261:261:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200:200 -> a
    262:264:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.above(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,boolean,java.lang.Object,java.lang.Object,java.util.function.BiFunction):221:223 -> a
    262:264:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.fold(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):263 -> a
    262:264:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
    265:265:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.here(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.util.function.BiFunction):240:240 -> a
    265:265:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.above(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,boolean,java.lang.Object,java.lang.Object,java.util.function.BiFunction):225 -> a
    265:265:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.fold(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):263 -> a
    265:265:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    266:267:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.here(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.util.function.BiFunction):240:241 -> a
    266:267:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.above(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,boolean,java.lang.Object,java.lang.Object,java.util.function.BiFunction):225 -> a
    266:267:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.fold(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):263 -> a
    266:267:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
    268:271:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.above(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,boolean,java.lang.Object,java.lang.Object,java.util.function.BiFunction):231:234 -> a
    268:271:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.fold(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):263 -> a
    268:271:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
    272:272:java.lang.Object com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool.fold(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object,java.lang.Object,java.util.function.BiFunction):267:267 -> a
    272:272:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200 -> a
    273:273:boolean hasSeen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):200:200 -> a
    274:274:java.lang.Boolean lambda$hasSeen$0(com.android.tools.r8.graph.DexClass,java.lang.Boolean):200:200 -> a
    1:2:void linkSubtype(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool):181:182 -> b
    3:4:void seen(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):195:196 -> b
    1:2:void linkSupertype(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool):176:177 -> c
com.android.tools.r8.ir.optimize.MemberValuePropagation -> com.android.tools.r8.internal.dE:
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> d
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set warnedFields -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.utils.Reporter reporter -> b
    1:3:void <clinit>():53:55 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):63:63 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView):61:65 -> <init>
    1:14:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):143:156 -> a
    1:14:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    15:15:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    15:15:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):156 -> a
    15:15:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    16:18:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):160:162 -> a
    16:18:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    19:19:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    19:19:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):162 -> a
    19:19:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    20:27:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):165:172 -> a
    20:27:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    28:28:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":108,"2":109,"3":110}}
    108:108:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):172:172 -> a
    108:108:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    109:109:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):172:172 -> a
    109:109:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    110:110:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):172:172 -> a
    110:110:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    29:29:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):175:175 -> a
    29:29:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    30:41:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):172:183 -> a
    30:41:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    42:45:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):182:185 -> a
    42:45:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    46:46:com.android.tools.r8.ir.code.StaticGet$Builder com.android.tools.r8.ir.code.StaticGet.builder():42:42 -> a
    46:46:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):185 -> a
    46:46:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    47:47:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):186:186 -> a
    47:47:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    48:48:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexField.getTypeElement(com.android.tools.r8.graph.AppView):74:74 -> a
    48:48:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):187 -> a
    48:48:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    49:49:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexField.getTypeElement(com.android.tools.r8.graph.AppView):74:74 -> a
    49:49:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):187 -> a
    49:49:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    50:59:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):187:196 -> a
    50:59:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    60:60:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":134,"2":135,"3":136}}
    134:134:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):196:196 -> a
    134:134:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    135:135:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):196:196 -> a
    135:135:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    136:136:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):196:196 -> a
    136:136:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    61:63:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):199:201 -> a
    61:63:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    64:64:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.optimize.MemberValuePropagation.createReplacementFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction):196:196 -> a
    64:64:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):226 -> a
    65:66:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):229:230 -> a
    67:69:void com.android.tools.r8.ir.optimize.MemberValuePropagation.setValueRangeFromAssumeInfo(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo,com.android.tools.r8.ir.code.Value):213:215 -> a
    67:69:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):230 -> a
    70:79:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):234:243 -> a
    80:80:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    80:80:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):245 -> a
    81:81:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):246:246 -> a
    82:82:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    82:82:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):247 -> a
    83:85:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):248:250 -> a
    86:107:boolean applyAssumeInfoIfPossible(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):249:270 -> a
    137:145:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):364:372 -> a
    146:156:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):371:381 -> a
    157:157:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    157:157:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):381 -> a
    158:158:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    158:158:boolean com.android.tools.r8.ir.optimize.MemberValuePropagation.mayPropagateValueFor(com.android.tools.r8.graph.DexClassAndField):126 -> a
    158:158:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):385 -> a
    159:162:boolean com.android.tools.r8.ir.optimize.MemberValuePropagation.mayPropagateValueFor(com.android.tools.r8.graph.DexClassAndField):127:130 -> a
    159:162:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):385 -> a
    163:187:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):390:414 -> a
    188:208:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):412:432 -> a
    209:209:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    209:209:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):433 -> a
    210:211:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):434:435 -> a
    212:212:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    212:212:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):439 -> a
    213:217:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):440:444 -> a
    218:233:void rewriteFieldGetWithConstantValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):443:458 -> a
    234:234:java.lang.Boolean lambda$rewriteFieldGetWithConstantValues$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):372:372 -> a
    235:242:void run(com.android.tools.r8.ir.code.IRCode):504:511 -> a
    243:243:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    243:243:void run(com.android.tools.r8.ir.code.IRCode):511 -> a
    244:247:void run(com.android.tools.r8.ir.code.IRCode):511:514 -> a
    248:259:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):522:533 -> a
    260:294:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteArrayGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.ArrayGet):75:109 -> a
    260:294:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):532 -> a
    295:295:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    295:295:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteArrayGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.ArrayGet):109 -> a
    295:295:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):532 -> a
    296:307:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteArrayGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.ArrayGet):110:121 -> a
    296:307:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):532 -> a
    308:310:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):534:536 -> a
    311:328:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):282:299 -> a
    311:328:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    329:336:com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfoLookup.lookupAssumeInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClassAndMethod):22:29 -> a
    329:336:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):299 -> a
    329:336:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    337:337:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):301:301 -> a
    337:337:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    338:338:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    338:338:boolean com.android.tools.r8.ir.optimize.MemberValuePropagation.mayPropagateValueFor(com.android.tools.r8.graph.DexClassAndMethod):134 -> a
    338:338:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):306 -> a
    338:338:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    339:342:boolean com.android.tools.r8.ir.optimize.MemberValuePropagation.mayPropagateValueFor(com.android.tools.r8.graph.DexClassAndMethod):135:138 -> a
    339:342:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):306 -> a
    339:342:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    343:358:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):311:326 -> a
    343:358:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    359:359:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    359:359:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):327 -> a
    359:359:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    360:366:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):328:334 -> a
    360:366:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    367:367:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    367:367:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):335 -> a
    367:367:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    368:370:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):336:336 -> a
    368:370:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    375:386:void com.android.tools.r8.ir.optimize.MemberValuePropagation.rewriteInvokeMethodWithConstantValues(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Set,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):341:352 -> a
    375:386:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):535 -> a
    387:389:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):537:539 -> a
    390:393:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):538:541 -> a
    394:406:void com.android.tools.r8.ir.optimize.MemberValuePropagation.replaceInstancePutByNullCheckIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstancePut):465:477 -> a
    394:406:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):541 -> a
    407:408:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):542:543 -> a
    409:422:void com.android.tools.r8.ir.optimize.MemberValuePropagation.replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):482:495 -> a
    409:422:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):543 -> a
    423:423:void com.android.tools.r8.ir.optimize.MemberValuePropagation.replaceStaticPutByInitClassIfNeverRead(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticPut):494:494 -> a
    423:423:void run(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,java.util.Set,java.util.function.Predicate):543 -> a
com.android.tools.r8.ir.optimize.MethodPoolCollection -> com.android.tools.r8.internal.PE:
    java.util.Map com.android.tools.r8.ir.optimize.MemberPoolCollection.memberPools -> d
    com.android.tools.r8.graph.AppView com.android.tools.r8.ir.optimize.MemberPoolCollection.appView -> b
    com.android.tools.r8.com.google.common.base.Equivalence com.android.tools.r8.ir.optimize.MemberPoolCollection.equivalence -> a
    boolean com.android.tools.r8.ir.optimize.MemberPoolCollection.$assertionsDisabled -> f
    com.android.tools.r8.graph.SubtypingInfo com.android.tools.r8.ir.optimize.MemberPoolCollection.subtypingInfo -> c
    java.util.function.Predicate methodTester -> e
    1:1:void com.android.tools.r8.ir.optimize.MemberPoolCollection.<clinit>():34:34 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):38:38 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.util.function.Predicate):45:45 -> <init>
    3:3:void com.android.tools.r8.ir.optimize.MemberPoolCollection.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.base.Equivalence,com.android.tools.r8.graph.SubtypingInfo):44:44 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.util.function.Predicate):45 -> <init>
    4:12:void com.android.tools.r8.ir.optimize.MemberPoolCollection.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.base.Equivalence,com.android.tools.r8.graph.SubtypingInfo):39:47 -> <init>
    4:12:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.util.function.Predicate):45 -> <init>
    13:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.util.function.Predicate):46:46 -> <init>
    void com.android.tools.r8.ir.optimize.MemberPoolCollection.buildAll(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean excludesPrivateInstanceMethod(com.android.tools.r8.graph.DexEncodedMethod):50:50 -> a
    2:2:java.lang.Runnable computeMemberPoolForClass(com.android.tools.r8.graph.DexClass):55:55 -> a
    3:4:void lambda$computeMemberPoolForClass$1(com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,com.android.tools.r8.graph.DexEncodedMethod):60:61 -> a
    5:5:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool lambda$computeMemberPoolForClass$2(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):69:69 -> a
    6:6:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.get(com.android.tools.r8.graph.DexClass):87:87 -> a
    6:6:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.get(com.android.tools.r8.graph.DexClass):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    7:7:boolean com.android.tools.r8.ir.optimize.MemberPoolCollection.hasPool(com.android.tools.r8.graph.DexClass):83:83 -> a
    7:7:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.get(com.android.tools.r8.graph.DexClass):87 -> a
    7:7:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.get(com.android.tools.r8.graph.DexClass):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8:9:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.get(com.android.tools.r8.graph.DexClass):87:88 -> a
    8:9:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.get(com.android.tools.r8.graph.DexClass):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    10:15:boolean com.android.tools.r8.ir.optimize.MemberPoolCollection.markIfNotSeen(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMember):92:97 -> a
    10:15:boolean com.android.tools.r8.ir.optimize.MemberPoolCollection.markIfNotSeen(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMember):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    16:16:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submit(com.android.tools.r8.graph.DexClass,java.util.List,java.util.concurrent.ExecutorService):111:111 -> a
    16:16:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$buildAll$0(java.util.List,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.DexClass):60 -> a
    17:19:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):140:142 -> a
    20:20:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):202:202 -> a
    20:20:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):142 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    21:21:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):202:202 -> a
    21:21:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):142 -> a
    22:22:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):144:144 -> a
    23:23:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):226:226 -> a
    23:23:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):144 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):226:226 -> a
    24:24:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):144 -> a
    25:31:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):146:152 -> a
    32:32:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):202:202 -> a
    32:32:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):152 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:33:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):202:202 -> a
    33:33:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):152 -> a
    34:34:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):154:154 -> a
    35:35:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):226:226 -> a
    35:35:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):154 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateImplementsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):226:226 -> a
    36:36:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSubTypesExclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):154 -> a
    37:37:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$1(java.util.Deque,com.android.tools.r8.graph.DexType):143:143 -> a
    38:38:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> a
    38:38:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$1(java.util.Deque,com.android.tools.r8.graph.DexType):143 -> a
    1:13:void com.android.tools.r8.ir.optimize.MemberPoolCollection.buildAll(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):51:63 -> b
    14:14:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool lambda$computeMemberPoolForClass$0(com.android.tools.r8.graph.DexClass):57:57 -> b
    15:19:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):69:73 -> b
    20:20:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submitAll(java.lang.Iterable,java.util.List,java.util.concurrent.ExecutorService):105:105 -> b
    20:20:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):72 -> b
    21:21:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submit(com.android.tools.r8.graph.DexClass,java.util.List,java.util.concurrent.ExecutorService):111:111 -> b
    21:21:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submitAll(java.lang.Iterable,java.util.List,java.util.concurrent.ExecutorService):106 -> b
    21:21:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):72 -> b
    22:22:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74:74 -> b
    23:23:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submitAll(java.lang.Iterable,java.util.List,java.util.concurrent.ExecutorService):105:105 -> b
    23:23:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74 -> b
    24:24:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submit(com.android.tools.r8.graph.DexClass,java.util.List,java.util.concurrent.ExecutorService):111:111 -> b
    24:24:void com.android.tools.r8.ir.optimize.MemberPoolCollection.submitAll(java.lang.Iterable,java.util.List,java.util.concurrent.ExecutorService):106 -> b
    24:24:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):74 -> b
    25:29:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):75:79 -> b
    30:30:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool com.android.tools.r8.ir.optimize.MemberPoolCollection.buildForHierarchy(com.android.tools.r8.graph.DexClass,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):77:77 -> b
    31:31:com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool lambda$computeMemberPoolForClass$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):79:79 -> b
    32:42:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):118:128 -> b
    43:43:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> b
    43:43:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):128 -> b
    44:45:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):130:131 -> b
    46:46:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> b
    46:46:java.util.Set com.android.tools.r8.ir.optimize.MemberPoolCollection.getAllSuperTypesInclusive(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):131 -> b
    47:47:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$2(java.util.Deque,com.android.tools.r8.graph.DexType):145:145 -> b
    48:48:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> b
    48:48:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$2(java.util.Deque,com.android.tools.r8.graph.DexType):145 -> b
    1:26:void lambda$computeMemberPoolForClass$4(com.android.tools.r8.graph.DexClass):56:81 -> c
    27:27:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$3(java.util.Deque,com.android.tools.r8.graph.DexType):153:153 -> c
    28:28:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> c
    28:28:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$3(java.util.Deque,com.android.tools.r8.graph.DexType):153 -> c
    1:1:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$4(java.util.Deque,com.android.tools.r8.graph.DexType):155:155 -> d
    2:2:void com.android.tools.r8.ir.optimize.MemberPoolCollection.addNonNull(java.util.Collection,java.lang.Object):273:273 -> d
    2:2:void com.android.tools.r8.ir.optimize.MemberPoolCollection.lambda$getAllSubTypesExclusive$4(java.util.Deque,com.android.tools.r8.graph.DexType):155 -> d
com.android.tools.r8.ir.optimize.MoveEliminator -> com.android.tools.r8.internal.BF:
    com.android.tools.r8.ir.regalloc.RegisterAllocator allocator -> b
    java.util.Set activeMoves -> a
    1:1:void <init>(com.android.tools.r8.ir.regalloc.RegisterAllocator):17:17 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.regalloc.RegisterAllocator):14:18 -> <init>
    1:12:boolean shouldBeEliminated(com.android.tools.r8.ir.code.Instruction):22:33 -> a
    13:51:boolean shouldBeEliminated(com.android.tools.r8.ir.code.Instruction):32:70 -> a
    52:56:boolean lambda$shouldBeEliminated$0(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.Move):55:59 -> a
com.android.tools.r8.ir.optimize.MultiCallerInliner -> com.android.tools.r8.internal.NF:
    com.android.tools.r8.graph.AppView appView -> a
    int[] multiCallerInliningInstructionLimits -> c
    com.android.tools.r8.utils.collections.ProgramMethodMap multiInlineCallEdges -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():42:42 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):53:53 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView):49:56 -> <init>
    1:5:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):61:65 -> a
    6:10:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):379:383 -> a
    6:10:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):65 -> a
    11:11:void lambda$recordCallEdgesForMultiCallerInlining$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):67:67 -> a
    12:12:com.android.tools.r8.ir.optimize.DefaultInliningOracle lambda$recordCallEdgesForMultiCallerInlining$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):76:76 -> a
    13:15:void recordCallEdgeForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):132:134 -> a
    16:32:void recordCallEdgeForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):133:149 -> a
    33:33:java.util.Optional lambda$recordCallEdgeForMultiCallerInlining$2():134:134 -> a
    34:50:void stopTrackingCallSitesForMethodIfDefinitelyIneligibleForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.collections.ProgramMethodMultiset):160:176 -> a
    51:51:void com.android.tools.r8.ir.optimize.MultiCallerInliner.stopTrackingCallSitesForMethod(com.android.tools.r8.graph.ProgramMethod):182:182 -> a
    51:51:void stopTrackingCallSitesForMethodIfDefinitelyIneligibleForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.collections.ProgramMethodMultiset):177 -> a
    52:53:void lambda$stopTrackingCallSitesForMethodIfDefinitelyIneligibleForMultiCallerInlining$4(com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.ProgramMethod,int):170:171 -> a
    54:64:void onLastWaveDone(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):194:204 -> a
    65:65:com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph lambda$onLastWaveDone$5(java.util.concurrent.ExecutorService):198:198 -> a
    66:122:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder computeMultiInlineCallerMethods(com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph):212:268 -> a
    123:172:void lambda$computeMultiInlineCallerMethods$9(com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph,com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod,java.util.Optional):217:266 -> a
    173:173:boolean lambda$computeMultiInlineCallerMethods$7(com.android.tools.r8.graph.ProgramMethod):232:232 -> a
    174:175:void lambda$computeMultiInlineCallerMethods$8(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod,int):262:263 -> a
    1:30:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):72:101 -> b
    31:31:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> b
    31:31:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):101 -> b
    32:47:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):103:118 -> b
    48:48:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):110:110 -> b
    49:49:boolean com.android.tools.r8.ir.optimize.Inliner$InlineResult.isRetryAction():0:0 -> b
    49:49:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):119 -> b
    50:52:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):124:126 -> b
    53:53:void com.android.tools.r8.ir.optimize.MultiCallerInliner.stopTrackingCallSitesForMethod(com.android.tools.r8.graph.ProgramMethod):182:182 -> b
    53:53:void recordCallEdgesForMultiCallerInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):120 -> b
    54:54:boolean lambda$stopTrackingCallSitesForMethodIfDefinitelyIneligibleForMultiCallerInlining$3(com.android.tools.r8.graph.ProgramMethod):160:160 -> b
    55:55:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder lambda$onLastWaveDone$6(com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph):200:200 -> b
    1:1:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):186:186 -> c
com.android.tools.r8.ir.optimize.NaturalIntLoopRemover -> com.android.tools.r8.internal.tG:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>():29:29 -> <init>
    1:1:void run(com.android.tools.r8.ir.code.IRCode):33:33 -> a
    2:14:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.isComparisonBlock(com.android.tools.r8.ir.code.BasicBlock):45:57 -> a
    2:14:void run(com.android.tools.r8.ir.code.IRCode):34 -> a
    15:15:void run(com.android.tools.r8.ir.code.IRCode):35:35 -> a
    16:27:com.android.tools.r8.ir.code.Phi com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.computeLoopPhi(com.android.tools.r8.ir.code.If):197:208 -> a
    16:27:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):61 -> a
    16:27:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    28:28:com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations$Builder com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.builder(com.android.tools.r8.ir.code.If):321:321 -> a
    28:28:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):67 -> a
    28:28:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    29:37:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.analyzeLoopIterator(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations$Builder):123:131 -> a
    29:37:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):69 -> a
    29:37:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    38:38:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    38:38:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.analyzeLoopIterator(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations$Builder):131 -> a
    38:38:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):69 -> a
    38:38:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    39:52:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.analyzeLoopIterator(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations$Builder):131:144 -> a
    39:52:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):69 -> a
    39:52:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    53:53:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    53:53:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.analyzeLoopIterator(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations$Builder):144 -> a
    53:53:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):69 -> a
    53:53:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    54:68:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.analyzeLoopIterator(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations$Builder):145:159 -> a
    54:68:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):69 -> a
    54:68:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    69:69:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> a
    69:69:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.analyzeLoopIterator(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations$Builder):159 -> a
    69:69:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):69 -> a
    69:69:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    70:79:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.analyzeLoopIterator(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations$Builder):161:170 -> a
    70:79:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):69 -> a
    70:79:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    80:80:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    80:80:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.analyzeLoopIterator(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations$Builder):170 -> a
    80:80:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):69 -> a
    80:80:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    81:98:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.analyzeLoopIterator(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.Phi,com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations$Builder):171:188 -> a
    81:98:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):69 -> a
    81:98:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    99:99:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):73:73 -> a
    99:99:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    100:102:java.util.Set com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.computeLoopBody(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):379:381 -> a
    100:102:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):73 -> a
    100:102:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    103:103:boolean com.android.tools.r8.utils.WorkList.isEmpty():112:112 -> a
    103:103:java.util.Set com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.computeLoopBody(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):382 -> a
    103:103:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):73 -> a
    103:103:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    104:104:java.util.Set com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.computeLoopBody(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):383:383 -> a
    104:104:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):73 -> a
    104:104:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    105:105:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    105:105:java.util.Set com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.computeLoopBody(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):384 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    105:105:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):73 -> a
    105:105:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    106:106:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    106:106:java.util.Set com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.computeLoopBody(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):384 -> a
    106:106:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):73 -> a
    106:106:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    107:111:java.util.Set com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.computeLoopBody(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):389:393 -> a
    107:111:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):73 -> a
    107:111:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    112:116:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):77:81 -> a
    112:116:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    117:126:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.analyzeLoopExit(java.util.Set,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations$Builder):102:111 -> a
    117:126:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):83 -> a
    117:126:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    127:130:boolean com.android.tools.r8.ir.optimize.NaturalIntLoopRemover.tryRemoveLoop(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.If):87:90 -> a
    127:130:void run(com.android.tools.r8.ir.code.IRCode):35 -> a
    131:132:void run(com.android.tools.r8.ir.code.IRCode):39:40 -> a
com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations -> com.android.tools.r8.internal.sG:
    com.android.tools.r8.ir.code.If comparison -> c
    java.util.Set loopBody -> g
    com.android.tools.r8.ir.code.BasicBlock backPredecessor -> f
    com.android.tools.r8.ir.code.BasicBlock loopBodyEntry -> e
    boolean $assertionsDisabled -> h
    int counterIncrement -> b
    com.android.tools.r8.ir.code.BasicBlock loopExit -> d
    int initCounter -> a
    1:1:void <clinit>():229:229 -> <clinit>
    1:8:void <init>(int,int,com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,java.util.Set):246:253 -> <init>
    1:1:boolean has1Iteration():334:334 -> a
    2:7:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.target(int):325:330 -> a
    2:7:boolean has1Iteration():334 -> a
    8:8:boolean has1Iteration():334:334 -> a
    9:14:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.target(int):325:330 -> a
    9:14:boolean has1Iteration():335 -> a
    15:15:boolean has1Iteration():335:335 -> a
    16:16:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.remove1IterationLoop(com.android.tools.r8.ir.code.IRCode):339:339 -> a
    16:16:void access$000(com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations,com.android.tools.r8.ir.code.IRCode):229 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.remove1IterationLoop(com.android.tools.r8.ir.code.IRCode):339:339 -> a
    17:17:void access$000(com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations,com.android.tools.r8.ir.code.IRCode):229 -> a
    18:33:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.updatePhis(com.android.tools.r8.ir.code.BasicBlock):356:371 -> a
    18:33:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.remove1IterationLoop(com.android.tools.r8.ir.code.IRCode):340 -> a
    18:33:void access$000(com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations,com.android.tools.r8.ir.code.IRCode):229 -> a
    34:35:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.patchControlFlow(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):345:346 -> a
    34:35:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.remove1IterationLoop(com.android.tools.r8.ir.code.IRCode):341 -> a
    34:35:void access$000(com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations,com.android.tools.r8.ir.code.IRCode):229 -> a
    36:37:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> a
    36:37:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.patchControlFlow(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):346 -> a
    36:37:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.remove1IterationLoop(com.android.tools.r8.ir.code.IRCode):341 -> a
    36:37:void access$000(com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations,com.android.tools.r8.ir.code.IRCode):229 -> a
    38:42:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.patchControlFlow(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):346:350 -> a
    38:42:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.remove1IterationLoop(com.android.tools.r8.ir.code.IRCode):341 -> a
    38:42:void access$000(com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations,com.android.tools.r8.ir.code.IRCode):229 -> a
    43:44:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> a
    43:44:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.patchControlFlow(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):350 -> a
    43:44:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.remove1IterationLoop(com.android.tools.r8.ir.code.IRCode):341 -> a
    43:44:void access$000(com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations,com.android.tools.r8.ir.code.IRCode):229 -> a
    45:47:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.patchControlFlow(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock):350:352 -> a
    45:47:void com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations.remove1IterationLoop(com.android.tools.r8.ir.code.IRCode):341 -> a
    45:47:void access$000(com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations,com.android.tools.r8.ir.code.IRCode):229 -> a
com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations$Builder -> com.android.tools.r8.internal.rG:
    com.android.tools.r8.ir.code.If comparison -> c
    com.android.tools.r8.ir.code.BasicBlock backPredecessor -> g
    java.util.Set loopBody -> h
    com.android.tools.r8.ir.code.BasicBlock loopEntry -> f
    com.android.tools.r8.ir.code.BasicBlock loopBodyEntry -> e
    int counterIncrement -> b
    com.android.tools.r8.ir.code.BasicBlock loopExit -> d
    int initCounter -> a
    1:2:void <init>(com.android.tools.r8.ir.code.If):267:268 -> <init>
    1:1:void setCounterIncrement(int):280:280 -> a
    2:2:void setBackPredecessor(com.android.tools.r8.ir.code.BasicBlock):296:296 -> a
    3:4:void setLoop(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):300:301 -> a
    5:5:void setLoopBody(java.util.Set):305:305 -> a
    6:6:com.android.tools.r8.ir.optimize.NaturalIntLoopRemover$NaturalIntLoopWithKnowIterations build():309:309 -> a
    1:1:void setInitCounter(int):272:272 -> b
    2:2:void setLoopEntry(com.android.tools.r8.ir.code.BasicBlock):288:288 -> b
    3:3:com.android.tools.r8.ir.code.BasicBlock getBackPredecessor():292:292 -> b
    1:1:int getCounterIncrement():276:276 -> c
    1:1:com.android.tools.r8.ir.code.BasicBlock getLoopEntry():284:284 -> d
com.android.tools.r8.ir.optimize.NestReducer -> com.android.tools.r8.internal.CG:
    com.android.tools.r8.graph.AppView appView -> a
    1:2:void <init>(com.android.tools.r8.graph.AppView):35:36 -> <init>
    1:2:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):40:41 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.canUseNestBasedAccess():1921:1921 -> a
    3:3:boolean com.android.tools.r8.utils.InternalOptions.shouldDesugarNests():523 -> a
    3:3:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    4:9:void com.android.tools.r8.ir.optimize.NestReducer.removeNests():50:55 -> a
    4:9:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):42 -> a
    10:12:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):44:46 -> a
    13:25:void reduceNests(java.util.concurrent.ExecutorService):62:74 -> a
    26:27:boolean lambda$processNestHost$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.NestMemberClassAttribute):84:85 -> a
    28:28:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> a
    28:28:boolean lambda$processNestHost$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.NestMemberClassAttribute):85 -> a
    29:33:boolean lambda$processNestHost$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.NestMemberClassAttribute):85:89 -> a
    34:34:boolean lambda$processNestHost$0(com.android.tools.r8.graph.DexProgramClass):90:90 -> a
    35:35:boolean com.android.tools.r8.utils.IterableUtils.hasNext(java.lang.Iterable):96:96 -> a
    35:35:boolean lambda$processNestHost$0(com.android.tools.r8.graph.DexProgramClass):90 -> a
    1:2:void processNestHost(com.android.tools.r8.graph.DexProgramClass):78:79 -> b
    3:3:boolean com.android.tools.r8.utils.IterableUtils.hasNext(java.lang.Iterable):96:96 -> b
    3:3:void processNestHost(com.android.tools.r8.graph.DexProgramClass):79 -> b
    4:7:void processNestHost(com.android.tools.r8.graph.DexProgramClass):79:82 -> b
    8:8:boolean com.android.tools.r8.utils.BooleanBox.isFalse():31:31 -> b
    8:8:void processNestHost(com.android.tools.r8.graph.DexProgramClass):93 -> b
    9:10:void processNestHost(com.android.tools.r8.graph.DexProgramClass):93:94 -> b
    1:2:void processNestMember(com.android.tools.r8.graph.DexProgramClass):99:100 -> c
    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):42:42 -> c
    3:3:void processNestMember(com.android.tools.r8.graph.DexProgramClass):100 -> c
    4:6:void processNestMember(com.android.tools.r8.graph.DexProgramClass):100:102 -> c
com.android.tools.r8.ir.optimize.NestUtils -> com.android.tools.r8.internal.DG:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():22:22 -> <clinit>
    1:14:boolean sameNest(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):28:41 -> a
    15:15:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):47:47 -> a
    16:16:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    16:16:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):47 -> a
    17:23:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):48:54 -> a
    24:24:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    24:24:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):54 -> a
    25:32:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):55:62 -> a
    33:33:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    33:33:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):61 -> a
    34:35:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):64:65 -> a
    36:36:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    36:36:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):64 -> a
    37:37:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    37:37:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):68 -> a
    38:42:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):68:72 -> a
    43:43:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    43:43:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):72 -> a
    44:54:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):73:83 -> a
    55:55:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    55:55:void rewriteNestCallsForInlining(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView):78 -> a
com.android.tools.r8.ir.optimize.OutlinerImpl -> com.android.tools.r8.internal.tL:
    java.util.Map outlineSites -> b
    java.util.Map generatedOutlines -> c
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> e
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.optimize.outliner.OutlineCollection outlineCollection -> a
    com.android.tools.r8.ir.optimize.InliningConstraints inliningConstraints -> f
    1:1:void <clinit>():120:120 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):1315:1315 -> <init>
    2:1191:void <init>(com.android.tools.r8.graph.AppView):129:1318 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory access$000(com.android.tools.r8.ir.optimize.OutlinerImpl):120:120 -> a
    2:2:void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1328:1328 -> a
    3:5:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):1333:1335 -> a
    6:8:void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1345:1347 -> a
    9:10:com.android.tools.r8.utils.collections.ProgramMethodSet com.android.tools.r8.ir.optimize.OutlinerImpl.selectMethodsForOutlining():1501:1502 -> a
    9:10:void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1348 -> a
    11:35:void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1349:1373 -> a
    36:37:boolean com.android.tools.r8.ir.optimize.OutlinerImpl.checkAllOutlineSitesFoundAgain():1608:1609 -> a
    36:37:void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1374 -> a
    38:40:void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):1375:1377 -> a
    41:42:void lambda$performOutlining$0(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.code.IRCode):1354:1355 -> a
    43:44:void forEachSelectedOutliningMethod(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.utils.collections.ProgramMethodSet,java.util.function.Consumer,java.util.concurrent.ExecutorService):1386:1387 -> a
    45:47:void lambda$forEachSelectedOutliningMethod$3(com.android.tools.r8.ir.conversion.IRConverter,java.util.function.Consumer,com.android.tools.r8.graph.ProgramMethod):1390:1392 -> a
    48:48:boolean com.android.tools.r8.graph.Code.isOutlineCode():0:0 -> a
    48:48:void lambda$forEachSelectedOutliningMethod$3(com.android.tools.r8.ir.conversion.IRConverter,java.util.function.Consumer,com.android.tools.r8.graph.ProgramMethod):1392 -> a
    49:57:void lambda$forEachSelectedOutliningMethod$3(com.android.tools.r8.ir.conversion.IRConverter,java.util.function.Consumer,com.android.tools.r8.graph.ProgramMethod):1392:1400 -> a
    58:63:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1414:1419 -> a
    64:64:boolean com.android.tools.r8.graph.Code.isOutlineCode():0:0 -> a
    64:64:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1419 -> a
    65:67:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1419:1421 -> a
    68:68:com.android.tools.r8.features.ClassToFeatureSplitMap com.android.tools.r8.features.ClassToFeatureSplitMap.getMap(com.android.tools.r8.graph.AppView):239:239 -> a
    68:68:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243 -> a
    68:68:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1421 -> a
    69:69:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243:243 -> a
    69:69:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1421 -> a
    70:70:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    70:70:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> a
    70:70:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    70:70:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243 -> a
    70:70:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1421 -> a
    71:71:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> a
    71:71:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> a
    71:71:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243 -> a
    71:71:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1421 -> a
    72:80:void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):1425:1433 -> a
    81:81:void lambda$collectOutlineSites$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):1431:1431 -> a
    82:105:void getInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer):1439:1462 -> a
    106:133:void getInstructions(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,java.util.function.Consumer):1457:1484 -> a
    134:134:void lambda$identifyOutlineSites$5(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List):1497:1497 -> a
    135:135:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext lambda$buildOutlineMethods$6(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):1523:1523 -> a
    136:136:void lambda$buildOutlineMethods$8(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1534:1534 -> a
    137:146:void lambda$buildOutlineMethods$8(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1533:1542 -> a
    147:147:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    147:147:void lambda$buildOutlineMethods$8(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1542 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    148:148:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    148:148:void lambda$buildOutlineMethods$8(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1542 -> a
    149:149:void lambda$buildOutlineMethods$8(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1544:1544 -> a
    150:150:void lambda$buildOutlineMethods$8(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticMethodBuilder):1543:1543 -> a
    151:151:com.android.tools.r8.graph.Code lambda$buildOutlineMethods$7(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.DexMethod):1541:1541 -> a
    152:152:void applyOutliningCandidate(com.android.tools.r8.ir.code.IRCode):1577:1577 -> a
    153:153:boolean com.android.tools.r8.graph.Code.isOutlineCode():0:0 -> a
    153:153:void applyOutliningCandidate(com.android.tools.r8.ir.code.IRCode):1577 -> a
    154:169:void applyOutliningCandidate(com.android.tools.r8.ir.code.IRCode):1577:1592 -> a
    170:170:void lambda$applyOutliningCandidate$9(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Set,java.util.List):1584:1584 -> a
    171:177:void lambda$applyOutliningCandidate$10(java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.Instruction):1594:1600 -> a
    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.ir.optimize.OutlinerImpl):120:120 -> b
    2:2:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1323:1323 -> b
    3:8:void lambda$performOutlining$1(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.code.IRCode):1365:1370 -> b
    9:9:void lambda$performOutlining$1(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.code.IRCode):1369:1369 -> b
    10:10:void rewriteWithLens():1409:1409 -> b
    11:12:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1491:1492 -> b
    13:13:boolean com.android.tools.r8.graph.Code.isOutlineCode():0:0 -> b
    13:13:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1492 -> b
    14:15:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1492:1493 -> b
    16:16:com.android.tools.r8.features.ClassToFeatureSplitMap com.android.tools.r8.features.ClassToFeatureSplitMap.getMap(com.android.tools.r8.graph.AppView):239:239 -> b
    16:16:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243 -> b
    16:16:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1493 -> b
    17:17:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243:243 -> b
    17:17:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1493 -> b
    18:18:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> b
    18:18:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179 -> b
    18:18:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> b
    18:18:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243 -> b
    18:18:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1493 -> b
    19:19:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):179:179 -> b
    19:19:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):194 -> b
    19:19:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInFeature(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):243 -> b
    19:19:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1493 -> b
    20:21:void identifyOutlineSites(com.android.tools.r8.ir.code.IRCode):1493:1494 -> b
    1:1:com.android.tools.r8.ir.optimize.InliningConstraints access$200(com.android.tools.r8.ir.optimize.OutlinerImpl):120:120 -> c
    2:2:void lambda$performOutlining$2(com.android.tools.r8.graph.ProgramMethod):1375:1375 -> c
    3:5:java.util.List buildOutlineMethods():1507:1509 -> c
    6:10:java.util.List com.android.tools.r8.ir.optimize.OutlinerImpl.selectOutlines():1554:1558 -> c
    6:10:java.util.List buildOutlineMethods():1513 -> c
    11:14:java.util.List buildOutlineMethods():1514:1517 -> c
    15:18:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.OutlinerImpl.findDeterministicRepresentative(java.util.List):1566:1569 -> c
    15:18:java.util.List buildOutlineMethods():1519 -> c
    19:19:java.util.List buildOutlineMethods():1522:1522 -> c
    20:28:java.util.List buildOutlineMethods():1521:1529 -> c
    29:50:java.util.List buildOutlineMethods():1527:1548 -> c
    1:1:java.util.Map access$300(com.android.tools.r8.ir.optimize.OutlinerImpl):120:120 -> d
    1:1:java.util.Map access$400(com.android.tools.r8.ir.optimize.OutlinerImpl):120:120 -> e
com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction -> com.android.tools.r8.internal.hL:
    com.android.tools.r8.ir.code.NumericType numericType -> c
    1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType,com.android.tools.r8.ir.code.NumericType):229:230 -> <init>
    boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):234:234 -> a
    2:2:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):155:155 -> a
    2:2:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isSub():0:0 -> a
    3:3:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):158 -> a
    3:3:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    4:4:boolean com.android.tools.r8.ir.code.Instruction.isMul():0:0 -> a
    4:4:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):161 -> a
    4:4:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    5:5:boolean com.android.tools.r8.ir.code.Instruction.isDiv():0:0 -> a
    5:5:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):164 -> a
    5:5:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    6:6:boolean com.android.tools.r8.ir.code.Instruction.isRem():0:0 -> a
    6:6:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):167 -> a
    6:6:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    7:10:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):170:173 -> a
    7:10:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    11:11:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):236:236 -> a
    12:12:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType.fromInstruction(com.android.tools.r8.ir.code.Instruction):176:176 -> a
    12:12:com.android.tools.r8.ir.optimize.OutlinerImpl$BinOpOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Binop):235 -> a
    13:13:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):255:255 -> a
    14:14:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):203:203 -> a
    14:14:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):256 -> a
    15:20:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):258:263 -> a
    21:21:java.lang.String getDetailsString():268:268 -> a
    22:26:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):288:292 -> a
    27:27:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    27:27:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):294 -> a
    28:30:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):296:296 -> a
    33:33:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):299:299 -> a
    34:34:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    34:34:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):301 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    35:35:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):301 -> a
    36:55:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):301:320 -> a
    56:56:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":401,"2":402,"3":403}}
    401:401:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):320:320 -> a
    402:402:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):320:320 -> a
    403:403:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):320:320 -> a
    376:376:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):320:320 -> a
    377:377:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):317:317 -> a
    378:378:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):314:314 -> a
    379:382:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):308:311 -> a
    383:400:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):305:322 -> a
    1:1:java.lang.String getInstructionName():273:273 -> b
    boolean hasOutValue() -> c
    int numberOfInputs() -> d
    1:5:boolean equals(java.lang.Object):246:250 -> equals
    1:1:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.hashCode():199:199 -> hashCode
    1:1:int hashCode():241 -> hashCode
    2:2:int hashCode():241:241 -> hashCode
com.android.tools.r8.ir.optimize.OutlinerImpl$InvokeOutlineInstruction -> com.android.tools.r8.internal.iL:
    com.android.tools.r8.ir.code.Invoke$Type invokeType -> d
    com.android.tools.r8.graph.DexProto proto -> f
    boolean hasOutValue -> e
    boolean hasReceiver -> g
    boolean $assertionsDisabled -> h
    com.android.tools.r8.graph.DexMethod method -> c
    1:1:void <clinit>():401:401 -> <clinit>
    1:7:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean,com.android.tools.r8.ir.code.ValueType[],com.android.tools.r8.graph.DexProto):414:420 -> <init>
    1:1:java.lang.String getDetailsString():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":490,"2":491,"3":492}}
    490:490:java.lang.String getDetailsString():488:488 -> a
    491:491:java.lang.String getDetailsString():488:488 -> a
    492:492:java.lang.String getDetailsString():488:488 -> a
    489:489:java.lang.String getDetailsString():488:488 -> a
    493:501:com.android.tools.r8.ir.optimize.OutlinerImpl$InvokeOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.InvokeMethod):424:432 -> a
    502:502:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> a
    502:502:com.android.tools.r8.ir.optimize.OutlinerImpl$InvokeOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.InvokeMethod):434 -> a
    503:503:com.android.tools.r8.ir.optimize.OutlinerImpl$InvokeOutlineInstruction fromInstruction(com.android.tools.r8.ir.code.InvokeMethod):434:434 -> a
    504:504:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):460:460 -> a
    505:505:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):203:203 -> a
    505:505:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):461 -> a
    506:525:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):463:482 -> a
    526:528:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):517:519 -> a
    529:529:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    529:529:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):521 -> a
    530:535:com.android.tools.r8.ir.code.ValueTypeConstraint com.android.tools.r8.ir.optimize.OutlinerImpl$InvokeOutlineInstruction.getArgumentConstraint(int):507:512 -> a
    530:535:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):523 -> a
    536:541:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):523:528 -> a
    542:542:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    542:542:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):530 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    543:543:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    543:543:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):530 -> a
    544:547:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):530:533 -> a
    548:548:com.android.tools.r8.ir.code.Invoke com.android.tools.r8.ir.code.Invoke.create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List):230:230 -> a
    548:548:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):533 -> a
    549:549:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):534:534 -> a
    550:550:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):540:540 -> a
    551:551:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    551:551:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):540 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    552:552:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):540:540 -> a
    1:1:java.lang.String getInstructionName():493:493 -> b
    1:1:boolean hasOutValue():498:498 -> c
    1:1:int numberOfInputs():503:503 -> d
    1:8:boolean equals(java.lang.Object):448:455 -> equals
    1:1:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.hashCode():199:199 -> hashCode
    1:1:int hashCode():439 -> hashCode
    2:6:int hashCode():439:443 -> hashCode
com.android.tools.r8.ir.optimize.OutlinerImpl$NewInstanceOutlineInstruction -> com.android.tools.r8.internal.jL:
    com.android.tools.r8.graph.DexType clazz -> c
    1:2:void <init>(com.android.tools.r8.graph.DexType):336:337 -> <init>
    1:1:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):357:357 -> a
    2:2:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):203:203 -> a
    2:2:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):358 -> a
    3:4:int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):360:361 -> a
    5:5:java.lang.String getDetailsString():366:366 -> a
    6:7:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):386:387 -> a
    8:8:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    8:8:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):389 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    9:9:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):389 -> a
    10:12:int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int):389:391 -> a
    13:13:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397:397 -> a
    14:14:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":412,"2":413,"3":414}}
    412:412:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397:397 -> a
    413:413:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    413:413:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397 -> a
    414:414:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    414:414:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397 -> a
    411:411:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):397:397 -> a
    1:1:java.lang.String getInstructionName():371:371 -> b
    boolean hasOutValue() -> c
    int numberOfInputs() -> d
    1:5:boolean equals(java.lang.Object):342:346 -> equals
    1:1:int com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction.hashCode():199:199 -> hashCode
    1:1:int hashCode():352 -> hashCode
    2:2:int hashCode():352:352 -> hashCode
com.android.tools.r8.ir.optimize.OutlinerImpl$Outline -> com.android.tools.r8.internal.kL:
    java.util.List argumentTypes -> b
    java.util.List templateInstructions -> d
    java.util.List argumentMap -> c
    com.android.tools.r8.graph.DexProto proto -> f
    com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> g
    boolean $assertionsDisabled -> h
    com.android.tools.r8.graph.DexType returnType -> e
    1:1:void <clinit>():566:566 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,java.util.List,java.util.List,java.util.List,com.android.tools.r8.graph.DexType,int,int):583:583 -> <init>
    2:29:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,java.util.List,java.util.List,java.util.List,com.android.tools.r8.graph.DexType,int,int):570:597 -> <init>
    30:30:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,java.util.List,java.util.List,java.util.List,com.android.tools.r8.graph.DexType,int,int):591:591 -> <init>
    1:5:com.android.tools.r8.graph.DexProto buildProto():607:611 -> a
    6:6:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):623:623 -> a
    7:7:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1269,"2":1270,"3":1271}}
    1269:1269:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):624:624 -> a
    1270:1270:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1270:1270:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):624 -> a
    1271:1271:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1271:1271:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):624 -> a
    635:635:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):628:628 -> a
    636:636:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1272,"2":1273,"3":1274}}
    1272:1272:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):628:628 -> a
    1273:1273:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1273:1273:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):628 -> a
    1274:1274:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    1274:1274:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):628 -> a
    1264:1267:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):628:631 -> a
    1268:1268:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    1268:1268:boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens):631 -> a
    1275:1275:boolean lambda$needsLensRewriting$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction):633:633 -> a
    1:1:com.android.tools.r8.ir.optimize.OutlinerImpl$Outline rewrittenWithLens(com.android.tools.r8.graph.GraphLens):615:615 -> b
    1:1:int compareTo(java.lang.Object):566:566 -> compareTo
    2:7:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):681:686 -> compareTo
    2:7:int compareTo(java.lang.Object):566 -> compareTo
    8:8:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> compareTo
    8:8:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):686 -> compareTo
    8:8:int compareTo(java.lang.Object):566 -> compareTo
    9:40:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):686:717 -> compareTo
    9:40:int compareTo(java.lang.Object):566 -> compareTo
    1:18:boolean equals(java.lang.Object):638:655 -> equals
    1:6:int hashCode():663:668 -> hashCode
    1:37:java.lang.String toString():724:760 -> toString
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineCode -> com.android.tools.r8.internal.lL:
    com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> e
    com.android.tools.r8.ir.optimize.OutlinerImpl$Outline outline -> d
    1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1772:1773 -> <init>
    java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper) -> a
    1:2:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):1799:1800 -> a
    3:3:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):1810:1810 -> a
    4:4:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):1815:1815 -> a
    1:1:boolean computeEquals(java.lang.Object):1825:1825 -> h
    1:1:int computeHashCode():1820:1820 -> n0
    int estimatedDexCodeSizeUpperBoundInBytes() -> r0
    int estimatedSizeForInlining() -> s0
    1:1:java.lang.String toString():1805:1805 -> toString
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction -> com.android.tools.r8.internal.nL:
    com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType type -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():140:140 -> <clinit>
    1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType):182:183 -> <init>
    int compareTo(com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction) -> a
    int createInstruction(com.android.tools.r8.ir.conversion.IRBuilder,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,int) -> a
    java.lang.String getDetailsString() -> a
    boolean needsLensRewriting(com.android.tools.r8.graph.GraphLens) -> a
    1:8:com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction fromInstruction(com.android.tools.r8.ir.code.Instruction):187:194 -> a
    java.lang.String getInstructionName() -> b
    boolean hasOutValue() -> c
    int numberOfInputs() -> d
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineInstruction$OutlineInstructionType$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.mL:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String name(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> b
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineMethodIdentifier -> com.android.tools.r8.internal.oL:
    java.util.List outlinesForMethod -> p
    1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.List):1189:1190 -> <init>
    1:1:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1195:1195 -> a
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineRewriter -> com.android.tools.r8.internal.pL:
    com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> t
    boolean $assertionsDisabled -> u
    com.android.tools.r8.ir.code.IRCode code -> p
    java.util.Set toRemove -> q
    java.util.Set invokesToOutlineMethods -> r
    int argumentsMapIndex -> s
    1:1:void <clinit>():1215:1215 -> <clinit>
    1:5:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.ir.code.IRCode,java.util.List,java.util.Set,java.util.Set):1226:1230 -> <init>
    1:9:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1235:1243 -> a
    10:10:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    10:10:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1243 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:27:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1243:1259 -> a
    28:33:java.util.List com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.orderedInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):806:811 -> a
    28:33:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1263 -> a
    34:63:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1264:1293 -> a
    64:69:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1290:1295 -> a
    70:70:java.lang.Object com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.previous():39:39 -> a
    70:70:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1296 -> a
    71:73:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1297:1299 -> a
    74:76:boolean removeMethodFromOutlineList(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1305:1307 -> a
    77:81:java.util.Optional com.android.tools.r8.utils.ListUtils.removeFirstMatch(java.util.List,java.util.function.Predicate):233:237 -> a
    77:81:boolean removeMethodFromOutlineList(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1306 -> a
    82:82:boolean removeMethodFromOutlineList(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1309:1309 -> a
    83:87:boolean removeMethodFromOutlineList(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1306:1310 -> a
    88:88:boolean lambda$removeMethodFromOutlineList$0(com.android.tools.r8.graph.ProgramMethod):1308:1308 -> a
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSiteIdentifier -> com.android.tools.r8.internal.qL:
    com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> p
    1:2:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List):1202:1203 -> <init>
    1:3:void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1208:1210 -> a
    4:4:java.util.List lambda$handle$0(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):1209:1209 -> a
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSourceCode -> com.android.tools.r8.internal.rL:
    com.android.tools.r8.ir.optimize.OutlinerImpl$Outline outline -> a
    com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> e
    boolean $assertionsDisabled -> f
    int argumentMapIndex -> d
    com.android.tools.r8.graph.DexMethod method -> b
    int position -> c
    1:1:void <clinit>():1614:1614 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.DexMethod):1621:1621 -> <init>
    2:6:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline,com.android.tools.r8.graph.DexMethod):1619:1623 -> <init>
    void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int) -> a
    boolean verifyLocalInScope(com.android.tools.r8.graph.DebugLocalInfo) -> a
    1:1:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):1659:1659 -> a
    2:2:void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean):1689:1689 -> a
    3:7:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):1700:1704 -> a
    8:8:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    8:8:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):1704 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:int com.android.tools.r8.ir.optimize.OutlinerImpl$Outline.argumentCount():603:603 -> a
    9:9:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):1704 -> a
    10:20:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):1704:1714 -> a
    21:21:void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder):1720:1720 -> a
    22:22:void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder):1726:1726 -> a
    23:23:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):1741:1741 -> a
    boolean verifyCurrentInstructionCanThrow() -> b
    boolean verifyRegister(int) -> b
    1:9:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):1673:1681 -> b
    com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder) -> c
    int instructionIndex(int) -> c
    void setUp() -> c
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int) -> d
    1:1:int instructionCount():1628:1628 -> d
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> e
    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():1748:1748 -> e
    1:1:int getMoveExceptionRegister(int):1736:1736 -> f
    int instructionOffset(int) -> g
com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter -> com.android.tools.r8.internal.sL:
    com.android.tools.r8.graph.DexType returnType -> j
    int returnValueUniqueUsersLeft -> l
    com.android.tools.r8.ir.optimize.OutlinerImpl this$0 -> n
    boolean $assertionsDisabled -> o
    int pendingNewInstanceIndex -> m
    int argumentRegisters -> i
    int index -> d
    int actualInstructions -> e
    com.android.tools.r8.graph.ProgramMethod method -> a
    int start -> c
    java.util.List currentCandidateInstructions -> b
    com.android.tools.r8.ir.code.Value returnValue -> k
    java.util.List arguments -> f
    java.util.List argumentsMap -> h
    java.util.List argumentTypes -> g
    1:1:void <clinit>():768:768 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List):787:787 -> <init>
    2:9:void <init>(com.android.tools.r8.ir.optimize.OutlinerImpl,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,java.util.List):784:791 -> <init>
    void handle(int,int,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline) -> a
    1:2:void process():795:796 -> a
    3:6:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):822:825 -> a
    3:6:void process():796 -> a
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    7:7:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):832 -> a
    7:7:void process():796 -> a
    8:12:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):839:843 -> a
    8:12:void process():796 -> a
    13:13:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    13:13:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1035 -> a
    13:13:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    13:13:void process():796 -> a
    14:16:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1036:1038 -> a
    14:16:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    14:16:void process():796 -> a
    17:21:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.adjustReturnValueUsersLeft(int):1119:1123 -> a
    17:21:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1038 -> a
    17:21:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    17:21:void process():796 -> a
    22:22:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1043:1043 -> a
    22:22:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    22:22:void process():796 -> a
    23:28:java.util.List com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.orderedInValues(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):806:811 -> a
    23:28:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1043 -> a
    23:28:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    23:28:void process():796 -> a
    29:32:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1045:1048 -> a
    29:32:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    29:32:void process():796 -> a
    33:37:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.adjustReturnValueUsersLeft(int):1119:1123 -> a
    33:37:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1049 -> a
    33:37:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    33:37:void process():796 -> a
    38:40:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1054:1056 -> a
    38:40:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    38:40:void process():796 -> a
    41:48:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.updateReturnValueState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):1107:1114 -> a
    41:48:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1056 -> a
    41:48:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    41:48:void process():796 -> a
    49:52:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1060:1060 -> a
    49:52:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    49:52:void process():796 -> a
    55:62:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1063:1070 -> a
    55:62:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    55:62:void process():796 -> a
    63:63:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> a
    63:63:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1070 -> a
    63:63:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    63:63:void process():796 -> a
    64:70:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1082:1088 -> a
    64:70:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    64:70:void process():796 -> a
    71:97:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1071:1097 -> a
    71:97:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    71:97:void process():796 -> a
    98:105:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.updateReturnValueState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):1107:1114 -> a
    98:105:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1095 -> a
    98:105:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    98:105:void process():796 -> a
    106:107:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1100:1101 -> a
    106:107:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    106:107:void process():796 -> a
    108:115:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.updateReturnValueState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):1107:1114 -> a
    108:115:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.includeInstruction(com.android.tools.r8.ir.code.Instruction):1099 -> a
    108:115:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):846 -> a
    108:115:void process():796 -> a
    116:126:void com.android.tools.r8.ir.optimize.OutlinerImpl$OutlineSpotter.processInstruction(com.android.tools.r8.ir.code.Instruction):848:858 -> a
    116:126:void process():796 -> a
    127:128:void process():798:799 -> a
    129:132:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):865:868 -> a
    133:133:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    133:133:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):867 -> a
    134:172:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):874:912 -> a
    173:173:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    173:173:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):915 -> a
    174:201:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):916:943 -> a
    202:202:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    202:202:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):943 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    203:203:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    203:203:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):943 -> a
    204:210:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):946:952 -> a
    211:211:boolean canIncludeInstruction(com.android.tools.r8.ir.code.Instruction):947:947 -> a
    212:212:boolean lambda$canIncludeInstruction$0(com.android.tools.r8.ir.code.Value):868:868 -> a
    213:213:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):958:958 -> a
    214:214:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> a
    214:214:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):958 -> a
    215:215:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):960:960 -> a
    216:216:boolean com.android.tools.r8.ir.code.Instruction.isInvokePolymorphic():0:0 -> a
    216:216:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):963 -> a
    217:222:com.android.tools.r8.graph.DexType argumentTypeFromInvoke(com.android.tools.r8.ir.code.InvokeMethod,int):965:970 -> a
    223:246:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):996:1019 -> a
    247:247:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isBoolean():0:0 -> a
    247:247:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():64 -> a
    247:247:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    248:248:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isByte():0:0 -> a
    248:248:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():65 -> a
    248:248:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    249:249:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isShort():0:0 -> a
    249:249:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():66 -> a
    249:249:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    250:250:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isChar():0:0 -> a
    250:250:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():67 -> a
    250:250:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    251:251:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    251:251:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():68 -> a
    251:251:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    252:252:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isFloat():0:0 -> a
    252:252:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():69 -> a
    252:252:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    253:253:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isLong():0:0 -> a
    253:253:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():70 -> a
    253:253:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    254:254:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDouble():0:0 -> a
    254:254:boolean com.android.tools.r8.ir.analysis.type.PrimitiveTypeElement.hasDexType():71 -> a
    254:254:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019 -> a
    255:256:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1019:1020 -> a
    257:257:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    257:257:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1021 -> a
    258:261:com.android.tools.r8.graph.DexType argumentTypeFromValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.InvokeMethod,int):1024:1027 -> a
    262:291:void candidate(int,int):1130:1159 -> a
    292:302:void reset(int):1164:1174 -> a
    1:7:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):975:981 -> b
    8:8:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> b
    8:8:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):981 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> b
    9:9:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):981 -> b
    10:16:boolean supportedArgumentType(com.android.tools.r8.ir.code.Value):984:990 -> b
com.android.tools.r8.ir.optimize.PeepholeOptimizer -> com.android.tools.r8.internal.OL:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):40:40 -> a
    2:17:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):487:502 -> a
    2:17:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    18:18:boolean com.android.tools.r8.ir.optimize.PeepholeOptimizer.constantSpilledAtDefinition(com.android.tools.r8.ir.code.ConstNumber):549:549 -> a
    18:18:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):502 -> a
    18:18:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    19:19:boolean com.android.tools.r8.ir.code.Value.isFixedRegisterValue():0:0 -> a
    19:19:boolean com.android.tools.r8.ir.optimize.PeepholeOptimizer.constantSpilledAtDefinition(com.android.tools.r8.ir.code.ConstNumber):549 -> a
    19:19:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):502 -> a
    19:19:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    20:21:boolean com.android.tools.r8.ir.optimize.PeepholeOptimizer.constantSpilledAtDefinition(com.android.tools.r8.ir.code.ConstNumber):553:554 -> a
    20:21:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):502 -> a
    20:21:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    22:37:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):505:520 -> a
    22:37:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    38:40:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeWideConstantCovering(java.util.Map,int):542:544 -> a
    38:40:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):522 -> a
    38:40:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    41:43:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):527:529 -> a
    41:43:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    44:46:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeWideConstantCovering(java.util.Map,int):542:544 -> a
    44:46:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.removeRedundantInstructions(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):533 -> a
    44:46:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):41 -> a
    47:53:void com.android.tools.r8.ir.optimize.PeepholeOptimizer.shareIdenticalBlockPrefix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):49:55 -> a
    47:53:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):42 -> a
    54:55:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):43:44 -> a
    56:56:boolean com.android.tools.r8.ir.code.IRCode.isConsistentGraph():619:619 -> a
    56:56:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):44 -> a
    57:187:void shareIdenticalBlockPrefixFromNormalSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Set,com.android.tools.r8.ir.optimize.InstructionEquivalence):63:193 -> a
    188:188:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    188:188:void shareIdenticalBlockPrefixFromNormalSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Set,com.android.tools.r8.ir.optimize.InstructionEquivalence):196 -> a
    189:191:void shareIdenticalBlockPrefixFromNormalSuccessors(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Set,com.android.tools.r8.ir.optimize.InstructionEquivalence):197:199 -> a
    192:194:boolean lambda$shareIdenticalBlockPrefixFromNormalSuccessors$0(com.android.tools.r8.ir.regalloc.RegisterAllocator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction,int,com.android.tools.r8.ir.code.Value):134:136 -> a
    195:213:boolean mayShareIdenticalBlockPrefix(com.android.tools.r8.ir.code.BasicBlock):207:225 -> a
    214:214:boolean mayShareIdenticalBlockPrefix(com.android.tools.r8.ir.code.BasicBlock):224:224 -> a
    215:243:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):235:263 -> a
    244:253:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):262:271 -> a
    254:269:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):270:285 -> a
    270:270:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):407:407 -> a
    270:270:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    271:275:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):392:396 -> a
    271:275:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    271:275:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    276:276:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167:167 -> a
    276:276:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):396 -> a
    276:276:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    276:276:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    277:278:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):397:398 -> a
    277:278:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    277:278:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    279:279:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    279:279:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):398 -> a
    279:279:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    279:279:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    280:280:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):399:399 -> a
    280:280:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    280:280:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    281:285:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):392:396 -> a
    281:285:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    281:285:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    286:286:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167:167 -> a
    286:286:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):396 -> a
    286:286:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    286:286:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    287:288:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):397:398 -> a
    287:288:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    287:288:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    289:289:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    289:289:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):398 -> a
    289:289:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    289:289:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    290:290:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.ir.optimize.PeepholeOptimizer.localsAtBlockExit(com.android.tools.r8.ir.code.BasicBlock):399:399 -> a
    290:290:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409 -> a
    290:290:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    291:300:int com.android.tools.r8.ir.optimize.PeepholeOptimizer.sharedSuffixSize(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):409:418 -> a
    291:300:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287 -> a
    301:304:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):287:290 -> a
    305:305:int com.android.tools.r8.ir.code.IRCode.getNextBlockNumber():1200:1200 -> a
    305:305:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):298 -> a
    306:308:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):324:326 -> a
    306:308:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    309:316:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):325:332 -> a
    309:316:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    317:317:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167:167 -> a
    317:317:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):332 -> a
    317:317:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    318:322:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):333:337 -> a
    318:322:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    323:323:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalsChange():0:0 -> a
    323:323:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):337 -> a
    323:323:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    324:341:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):338:355 -> a
    324:341:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    342:342:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    342:342:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):356 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    342:342:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    343:343:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    343:343:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):356 -> a
    343:343:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    344:373:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.optimize.PeepholeOptimizer.createAndInsertBlockForSuffix(int,int,java.util.List,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.regalloc.RegisterAllocator):357:386 -> a
    344:373:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):297 -> a
    374:386:void shareIdenticalBlockSuffix(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator,int):303:315 -> a
    387:387:java.util.List lambda$shareIdenticalBlockSuffix$1(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):263:263 -> a
    388:408:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):431:451 -> a
    409:409:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    409:409:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):452 -> a
    410:410:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    410:410:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):452 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    411:411:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    411:411:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):452 -> a
    412:412:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):452:452 -> a
    413:427:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):451:465 -> a
    428:428:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    428:428:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):466 -> a
    429:432:void removeIdenticalPredecessorBlocks(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.regalloc.RegisterAllocator):466:469 -> a
    1:1:java.util.List lambda$shareIdenticalBlockSuffix$2(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):271:271 -> b
com.android.tools.r8.ir.optimize.PhiOptimizations -> com.android.tools.r8.internal.RL:
    1:1:boolean optimize(com.android.tools.r8.ir.code.IRCode):24:24 -> a
    1:6:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):112:117 -> b
    7:8:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.predecessorsHaveNormalFlow(com.android.tools.r8.ir.code.BasicBlock):28:29 -> b
    7:8:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):138 -> b
    7:8:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    9:9:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":65,"2":66,"3":67}}
    65:65:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.predecessorsHaveNormalFlow(com.android.tools.r8.ir.code.BasicBlock):29:29 -> b
    65:65:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):138 -> b
    65:65:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    66:66:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.predecessorsHaveNormalFlow(com.android.tools.r8.ir.code.BasicBlock):29:29 -> b
    66:66:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):138 -> b
    66:66:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    67:67:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.predecessorsHaveNormalFlow(com.android.tools.r8.ir.code.BasicBlock):29:29 -> b
    67:67:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):138 -> b
    67:67:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    10:14:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.singleUseOfPhiAndOperands(com.android.tools.r8.ir.code.Phi):37:41 -> b
    10:14:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):138 -> b
    10:14:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    15:16:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):141:142 -> b
    15:16:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    17:30:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):58:71 -> b
    17:30:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
    17:30:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    31:31:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":68,"2":69,"3":70}}
    68:68:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):72:72 -> b
    68:68:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
    68:68:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    69:69:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):72:72 -> b
    69:69:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
    69:69:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    70:70:int com.android.tools.r8.ir.optimize.PhiOptimizations.getRelativeStackHeightForInstruction(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):72:72 -> b
    70:70:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):145 -> b
    70:70:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    32:33:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):148:149 -> b
    32:33:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    34:34:boolean com.android.tools.r8.ir.code.Instruction.isStore():0:0 -> b
    34:34:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):149 -> b
    34:34:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    35:38:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):152:155 -> b
    35:38:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    39:50:int com.android.tools.r8.ir.optimize.PhiOptimizations.getStackHeightAtInstructionBackwards(com.android.tools.r8.ir.code.Instruction):88:99 -> b
    39:50:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):155 -> b
    39:50:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
    51:64:boolean com.android.tools.r8.ir.optimize.PhiOptimizations.tryMovePhiToStack(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Phi,java.util.Set):160:173 -> b
    51:64:boolean tryMovePhisToStack(com.android.tools.r8.ir.code.IRCode):118 -> b
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination -> com.android.tools.r8.internal.AQ:
    com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState activeState -> h
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> j
    java.util.Set affectedValues -> f
    boolean release -> e
    java.util.Map instructionsToRemove -> i
    com.android.tools.r8.ir.code.IRCode code -> c
    int maxCapacityPerBlock -> d
    com.android.tools.r8.graph.ProgramMethod method -> b
    com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates activeStates -> g
    1:1:void <clinit>():63:63 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):86:86 -> <init>
    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):75:91 -> <init>
    1:1:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    1:1:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):277 -> a
    2:2:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):280:280 -> a
    3:3:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    3:3:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):280 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    4:4:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):280 -> a
    5:7:boolean isFinal(com.android.tools.r8.graph.DexClassAndField):281:283 -> a
    8:8:java.util.Set access$000(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):63:63 -> a
    9:11:void lambda$processInstructionsToRemove$1(com.android.tools.r8.ir.code.BasicBlock,java.util.Set):422:422 -> a
    13:20:void lambda$processInstructionsToRemove$1(com.android.tools.r8.ir.code.BasicBlock,java.util.Set):424:431 -> a
    21:21:boolean lambda$processInstructionsToRemove$0(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):423:423 -> a
    22:22:void handleInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect):452:452 -> a
    23:23:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    23:23:void handleInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect):452 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    24:24:void handleInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect):452 -> a
    25:45:void handleInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect):453:473 -> a
    46:46:void handleInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect):461:461 -> a
    47:55:void lambda$handleInvokeDirect$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):477:485 -> a
    56:56:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    56:56:void lambda$handleInvokeDirect$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):486 -> a
    57:65:void lambda$handleInvokeDirect$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):487:495 -> a
    66:66:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    66:66:void lambda$handleInvokeDirect$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):496 -> a
    67:74:void lambda$handleInvokeDirect$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):497:504 -> a
    75:79:void markMostRecentInitClassForRemoval(com.android.tools.r8.graph.DexType):552:556 -> a
    80:89:void markAssumeDynamicTypeUsersForRemoval(com.android.tools.r8.ir.code.FieldGet,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue,com.android.tools.r8.ir.optimize.AssumeRemover):648:657 -> a
    90:92:boolean lambda$markAssumeDynamicTypeUsersForRemoval$3(com.android.tools.r8.ir.code.FieldGet,com.android.tools.r8.ir.code.Instruction):654:656 -> a
    93:106:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):664:677 -> a
    107:107:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    107:107:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):677 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    108:108:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    108:108:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):677 -> a
    109:110:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):677:678 -> a
    111:114:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():440:443 -> a
    111:114:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):679 -> a
    115:119:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():442:446 -> a
    115:119:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):679 -> a
    120:120:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    120:120:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():446 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    120:120:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):679 -> a
    121:121:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():446:446 -> a
    121:121:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):679 -> a
    122:125:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.verifyWasInstanceInitializer():444:447 -> a
    122:125:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):679 -> a
    126:137:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):680:691 -> a
    138:145:void handleInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.graph.DexClassAndField):690:697 -> a
    146:146:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):754:754 -> a
    147:147:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):548:548 -> a
    147:147:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):754 -> a
    148:170:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):757:779 -> a
    171:179:void handleStaticPut(com.android.tools.r8.ir.code.StaticPut,com.android.tools.r8.graph.DexClassAndField):778:786 -> a
    180:181:void applyObjectState(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):790:791 -> a
    182:186:void lambda$applyObjectState$5(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.AbstractValue):793:797 -> a
    187:191:void killAllNonFinalActiveFields():805:809 -> a
    192:192:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):813:813 -> a
    193:193:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    193:193:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):813 -> a
    194:202:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):813:821 -> a
    203:203:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    203:203:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):823 -> a
    204:204:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    204:204:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):823 -> a
    205:205:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    205:205:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):830 -> a
    206:206:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):831:831 -> a
    207:211:void killNonFinalActiveFields(com.android.tools.r8.ir.code.Instruction):824:828 -> a
    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):63:63 -> b
    2:2:void processInstructionsToRemove():420:420 -> b
    3:3:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):768:768 -> b
    4:4:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> b
    4:4:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):768 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> b
    5:5:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):768 -> b
    6:6:java.lang.Boolean lambda$handleStaticPut$4(com.android.tools.r8.graph.DexClassAndField):768:768 -> b
    1:1:com.android.tools.r8.graph.ProgramMethod access$200(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):63:63 -> c
    2:3:void run():299:300 -> c
    4:4:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> c
    4:4:void run():301 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:11:void run():302:308 -> c
    12:12:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> c
    12:12:void run():308 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:23:void run():312:322 -> c
    24:44:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleArrayGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.ArrayGet):561:581 -> c
    24:44:void run():322 -> c
    45:46:void run():324:325 -> c
    47:47:int com.android.tools.r8.ir.code.ArrayAccess.getIndexOrDefault(int):28:28 -> c
    47:47:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleArrayPut(com.android.tools.r8.ir.code.ArrayPut):585 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    47:47:void run():325 -> c
    48:49:int com.android.tools.r8.ir.code.ArrayAccess.getIndexOrDefault(int):28:29 -> c
    48:49:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleArrayPut(com.android.tools.r8.ir.code.ArrayPut):585 -> c
    48:49:void run():325 -> c
    50:65:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleArrayPut(com.android.tools.r8.ir.code.ArrayPut):586:601 -> c
    50:65:void run():325 -> c
    66:67:void run():327:328 -> c
    68:74:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.resolveField(com.android.tools.r8.graph.DexField):287:293 -> c
    68:74:void run():329 -> c
    75:75:void run():330:330 -> c
    76:76:boolean com.android.tools.r8.graph.DexEncodedField.isVolatile():238:238 -> c
    76:76:void run():330 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    77:77:boolean com.android.tools.r8.graph.DexEncodedField.isVolatile():238:238 -> c
    77:77:void run():330 -> c
    78:78:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> c
    78:78:void run():335 -> c
    79:79:void run():336:336 -> c
    80:80:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):609:609 -> c
    80:80:void run():336 -> c
    81:84:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):639:642 -> c
    81:84:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):610 -> c
    81:84:void run():336 -> c
    85:95:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):614:624 -> c
    85:95:void run():336 -> c
    96:99:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentInstanceFieldWrite(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField):639:642 -> c
    96:99:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInstanceGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):625 -> c
    96:99:void run():336 -> c
    100:101:void run():337:338 -> c
    102:102:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> c
    102:102:void run():339 -> c
    103:103:void run():340:340 -> c
    104:104:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):705:705 -> c
    104:104:void run():340 -> c
    105:105:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):548:548 -> c
    105:105:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):705 -> c
    105:105:void run():340 -> c
    106:107:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):707:708 -> c
    106:107:void run():340 -> c
    108:111:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):746:749 -> c
    108:111:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):709 -> c
    108:111:void run():340 -> c
    112:120:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):713:721 -> c
    112:120:void run():340 -> c
    121:124:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.clearMostRecentStaticFieldWrite(com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField):746:749 -> c
    121:124:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):722 -> c
    121:124:void run():340 -> c
    125:132:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):724:731 -> c
    125:132:void run():340 -> c
    133:133:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> c
    133:133:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):731 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    133:133:void run():340 -> c
    134:134:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> c
    134:134:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):731 -> c
    134:134:void run():340 -> c
    135:142:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleStaticGet(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.StaticGet,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.ir.optimize.AssumeRemover):733:740 -> c
    135:142:void run():340 -> c
    143:144:void run():341:342 -> c
    145:145:void run():331:331 -> c
    146:146:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> c
    146:146:void run():344 -> c
    147:147:void run():345:345 -> c
    148:148:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> c
    148:148:void run():346 -> c
    149:149:void run():347:347 -> c
    150:160:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInitClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InitClass):527:537 -> c
    150:160:void run():347 -> c
    161:161:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):548:548 -> c
    161:161:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInitClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InitClass):538 -> c
    161:161:void run():347 -> c
    162:166:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInitClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InitClass):539:543 -> c
    162:166:void run():347 -> c
    167:167:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> c
    167:167:void run():348 -> c
    168:172:void run():349:353 -> c
    173:173:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> c
    173:173:void run():354 -> c
    174:174:void run():355:355 -> c
    175:175:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):510:510 -> c
    175:175:void run():355 -> c
    176:176:boolean com.android.tools.r8.graph.AppView.hasClassHierarchy():650:650 -> c
    176:176:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):510 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    176:176:void run():355 -> c
    177:177:boolean com.android.tools.r8.graph.AppView.hasClassHierarchy():650:650 -> c
    177:177:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):510 -> c
    177:177:void run():355 -> c
    178:185:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):511:518 -> c
    178:185:void run():355 -> c
    186:186:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):548:548 -> c
    186:186:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):518 -> c
    186:186:void run():355 -> c
    187:191:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic):519:523 -> c
    187:191:void run():355 -> c
    192:192:void run():356:356 -> c
    193:193:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> c
    193:193:void run():356 -> c
    194:195:void run():358:359 -> c
    196:196:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleNewInstance(com.android.tools.r8.ir.code.NewInstance):629:629 -> c
    196:196:void run():359 -> c
    197:197:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.markClassAsInitialized(com.android.tools.r8.graph.DexType):548:548 -> c
    197:197:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleNewInstance(com.android.tools.r8.ir.code.NewInstance):629 -> c
    197:197:void run():359 -> c
    198:200:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination.handleNewInstance(com.android.tools.r8.ir.code.NewInstance):630:632 -> c
    198:200:void run():359 -> c
    201:213:void run():363:375 -> c
    214:214:boolean com.android.tools.r8.ir.code.Instruction.isArrayLength():0:0 -> c
    214:214:void run():376 -> c
    215:218:void run():377:380 -> c
    219:219:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> c
    219:219:void run():381 -> c
    220:220:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodHandle():0:0 -> c
    220:220:void run():382 -> c
    221:221:boolean com.android.tools.r8.ir.code.Instruction.isConstMethodType():0:0 -> c
    221:221:void run():383 -> c
    222:222:void run():384:384 -> c
    223:223:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> c
    223:223:void run():385 -> c
    224:224:void run():386:386 -> c
    225:225:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> c
    225:225:void run():387 -> c
    226:227:void run():388:389 -> c
    228:228:boolean com.android.tools.r8.ir.code.Instruction.isInstanceOf():0:0 -> c
    228:228:void run():390 -> c
    229:229:boolean com.android.tools.r8.ir.code.Instruction.isInvokeMultiNewArray():0:0 -> c
    229:229:void run():391 -> c
    230:230:boolean com.android.tools.r8.ir.code.Instruction.isInvokeNewArray():0:0 -> c
    230:230:void run():392 -> c
    231:231:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> c
    231:231:void run():393 -> c
    232:232:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> c
    232:232:void run():394 -> c
    233:237:void run():395:399 -> c
    238:238:boolean com.android.tools.r8.ir.code.Instruction.isRecordFieldValues():0:0 -> c
    238:238:void run():400 -> c
    239:239:void run():374:374 -> c
    240:240:void run():0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":658,"2":659,"3":660}}
    658:658:void run():374:374 -> c
    659:659:void run():374:374 -> c
    660:660:void run():374:374 -> c
    641:641:void run():401:401 -> c
    642:642:void run():357:357 -> c
    643:643:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessor():217:217 -> c
    643:643:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessorWithUniquePredecessor():221 -> c
    643:643:void run():404 -> c
    644:644:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueNormalSuccessorWithUniquePredecessor():221:221 -> c
    644:644:void run():404 -> c
    645:654:void run():405:414 -> c
    655:655:com.android.tools.r8.ir.optimize.AssumeRemover com.android.tools.r8.ir.optimize.AssumeRemover.removeMarkedInstructions():104:104 -> c
    655:655:void run():415 -> c
    656:657:void run():415:416 -> c
    1:1:com.android.tools.r8.ir.code.IRCode access$300(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination):63:63 -> d
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot -> com.android.tools.r8.internal.rQ:
    com.android.tools.r8.ir.code.MemberType memberType -> b
    com.android.tools.r8.ir.code.Value array -> a
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):158:158 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.MemberType):163:165 -> <init>
    boolean maybeHasIndex(int) -> a
    1:5:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot create(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.MemberType):169:173 -> a
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlotWithConstantIndex -> com.android.tools.r8.internal.sQ:
    int index -> c
    1:1:void <init>(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):187:187 -> <init>
    2:3:void <init>(com.android.tools.r8.ir.code.Value,int,com.android.tools.r8.ir.code.MemberType):192:193 -> <init>
    1:1:boolean maybeHasIndex(int):198:198 -> a
    1:5:boolean equals(java.lang.Object):211:215 -> equals
    6:6:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot.baseEquals(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot):183:183 -> equals
    6:6:boolean equals(java.lang.Object):215 -> equals
    1:1:int hashCode():203:203 -> hashCode
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlotWithValueIndex -> com.android.tools.r8.internal.tQ:
    com.android.tools.r8.ir.code.Value index -> c
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):219:219 -> <init>
    2:3:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.MemberType):224:225 -> <init>
    boolean maybeHasIndex(int) -> a
    1:5:boolean equals(java.lang.Object):243:247 -> equals
    6:6:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot.baseEquals(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot):183:183 -> equals
    6:6:boolean equals(java.lang.Object):247 -> equals
    1:1:int hashCode():235:235 -> hashCode
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState -> com.android.tools.r8.internal.uQ:
    java.util.LinkedHashMap arraySlotValues -> a
    java.util.LinkedHashSet initializedClasses -> d
    int maxCapacity -> j
    java.util.LinkedHashMap nonFinalInstanceFieldValues -> e
    java.util.LinkedHashMap finalInstanceFieldValues -> b
    boolean $assertionsDisabled -> k
    java.util.LinkedHashMap finalStaticFieldValues -> c
    com.android.tools.r8.ir.code.InitClass mostRecentInitClass -> g
    java.util.LinkedHashMap mostRecentInstanceFieldWrites -> h
    java.util.LinkedHashMap mostRecentStaticFieldWrites -> i
    java.util.LinkedHashMap nonFinalStaticFieldValues -> f
    1:1:void <clinit>():959:959 -> <clinit>
    1:2:void <init>(int):981:982 -> <init>
    3:39:void <init>(int,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):986:1022 -> <init>
    1:1:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot.getMemberType():177:177 -> a
    1:1:boolean lambda$removeArraySlotValues$2(com.android.tools.r8.ir.code.MemberType,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot):1219 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:com.android.tools.r8.ir.code.MemberType com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot.getMemberType():177:177 -> a
    2:2:boolean lambda$removeArraySlotValues$3(com.android.tools.r8.ir.code.MemberType,int,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot):1229 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean lambda$removeArraySlotValues$3(com.android.tools.r8.ir.code.MemberType,int,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot):1229:1229 -> a
    4:4:int access$1000(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):959:959 -> a
    5:5:void clearArraySlotValues():1028:1028 -> a
    6:7:void clearMostRecentInstanceFieldWrite(com.android.tools.r8.graph.DexField):1037:1038 -> a
    8:8:boolean lambda$clearMostRecentInstanceFieldWrite$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1038:1038 -> a
    9:9:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue getArraySlotValue(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot):1073:1073 -> a
    10:14:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue getInstanceFieldValue(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1078:1082 -> a
    15:15:void intersectFieldValues(java.util.Map,java.util.Map):1132:1132 -> a
    16:16:boolean lambda$intersectFieldValues$1(java.util.Map,java.util.Map$Entry):1132:1132 -> a
    17:17:void intersectInitializedClasses(java.util.Set,java.util.Set):1137:1137 -> a
    18:18:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1162:1162 -> a
    19:19:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    19:19:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1163 -> a
    20:21:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1164:1165 -> a
    22:23:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1240:1241 -> a
    22:23:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1234 -> a
    22:23:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1166 -> a
    24:25:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeNonFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1246:1247 -> a
    24:25:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1235 -> a
    24:25:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1166 -> a
    26:27:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeMostRecentInstanceFieldWrite(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1276:1277 -> a
    26:27:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1236 -> a
    26:27:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1166 -> a
    28:28:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    28:28:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1167 -> a
    29:30:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeFinalStaticField(com.android.tools.r8.graph.DexField):1264:1265 -> a
    29:30:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1258 -> a
    29:30:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1168 -> a
    31:31:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1259:1259 -> a
    31:31:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1168 -> a
    32:33:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField):1282:1283 -> a
    32:33:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.removeStaticField(com.android.tools.r8.graph.DexField):1260 -> a
    32:33:void killActiveFieldsForExceptionalExit(com.android.tools.r8.ir.code.FieldInstruction):1168 -> a
    34:34:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.killActiveInitializedClassesForExceptionalExit(com.android.tools.r8.ir.code.InitClass):1173:1173 -> a
    34:34:void access$900(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState,com.android.tools.r8.ir.code.InitClass):959 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.killActiveInitializedClassesForExceptionalExit(com.android.tools.r8.ir.code.InitClass):1174:1174 -> a
    35:35:void access$900(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState,com.android.tools.r8.ir.code.InitClass):959 -> a
    36:40:boolean markClassAsInitialized(com.android.tools.r8.graph.DexType):1179:1183 -> a
    41:44:void reduceSize(int):1187:1190 -> a
    45:48:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.reduceSize(int,java.util.Set):1204:1207 -> a
    45:48:void reduceSize(int):1190 -> a
    49:55:void reduceSize(int):1191:1197 -> a
    56:56:int reduceSize(int,java.util.Map):1214:1214 -> a
    57:60:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.reduceSize(int,java.util.Set):1204:1207 -> a
    57:60:int reduceSize(int,java.util.Map):1214 -> a
    61:62:void removeArraySlotValues(com.android.tools.r8.ir.code.MemberType):1218:1219 -> a
    63:66:void removeArraySlotValues(com.android.tools.r8.ir.code.MemberType,int):1224:1227 -> a
    67:71:void putArraySlotValue(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ArraySlot,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1288:1292 -> a
    72:76:void putFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1296:1300 -> a
    77:81:void putFinalStaticField(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1304:1308 -> a
    82:86:com.android.tools.r8.ir.code.InstancePut putMostRecentInstanceFieldWrite(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.code.InstancePut):1313:1317 -> a
    87:91:com.android.tools.r8.ir.code.StaticPut putMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.StaticPut):1321:1325 -> a
    92:92:void setMostRecentInitClass(com.android.tools.r8.ir.code.InitClass):1351:1351 -> a
    93:93:int size(java.util.Map):1376:1376 -> a
    1:1:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.clearMostRecentInstanceFieldWrites():1043:1043 -> b
    1:1:void clearMostRecentFieldWrites():1032 -> b
    2:2:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.clearMostRecentStaticFieldWrites():1053:1053 -> b
    2:2:void clearMostRecentFieldWrites():1033 -> b
    3:4:void clearMostRecentStaticFieldWrite(com.android.tools.r8.graph.DexField):1047:1048 -> b
    5:37:void intersect(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):1095:1127 -> b
    38:38:boolean lambda$removeNonFinalInstanceFields$4(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):1253:1253 -> b
    39:44:void putNonFinalInstanceField(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1329:1334 -> b
    45:50:void putNonFinalStaticField(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue):1338:1343 -> b
    1:5:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue getStaticFieldValue(com.android.tools.r8.graph.DexField):1087:1091 -> c
    6:6:com.android.tools.r8.ir.code.InitClass clearMostRecentInitClass():1356:1356 -> c
    1:1:void clearNonFinalInstanceFields():1057:1057 -> d
    2:3:void removeNonFinalInstanceFields(com.android.tools.r8.graph.DexField):1252:1253 -> d
    1:1:void clearNonFinalStaticFields():1061:1061 -> e
    2:3:void removeNonFinalStaticField(com.android.tools.r8.graph.DexField):1270:1271 -> e
    1:4:void ensureCapacityForNewElement():1065:1068 -> f
    1:1:com.android.tools.r8.ir.code.InitClass getMostRecentInitClass():1347:1347 -> g
    1:1:boolean isEmpty():1141:1141 -> h
    2:2:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):1155:1155 -> h
    2:2:boolean isEmpty():1141 -> h
    3:3:boolean isEmpty():1141:1141 -> h
    4:4:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Set):1151:1151 -> h
    4:4:boolean isEmpty():1142 -> h
    5:5:boolean isEmpty():1142:1142 -> h
    6:6:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):1155:1155 -> h
    6:6:boolean isEmpty():1143 -> h
    7:7:boolean isEmpty():1143:1143 -> h
    8:8:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):1155:1155 -> h
    8:8:boolean isEmpty():1144 -> h
    9:9:boolean isEmpty():1144:1144 -> h
    10:10:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Set):1151:1151 -> h
    10:10:boolean isEmpty():1145 -> h
    11:11:boolean isEmpty():1145:1145 -> h
    12:12:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):1155:1155 -> h
    12:12:boolean isEmpty():1146 -> h
    13:13:boolean isEmpty():1146:1146 -> h
    14:14:boolean com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.isEmpty(java.util.Map):1155:1155 -> h
    14:14:boolean isEmpty():1147 -> h
    1:3:int size():1361:1363 -> i
    4:4:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState.size(java.util.Set):1372:1372 -> i
    4:4:int size():1364 -> i
    5:9:int size():1364:1368 -> i
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates -> com.android.tools.r8.internal.vQ:
    java.util.LinkedHashMap activeStateAtExit -> a
    int capacity -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():835:835 -> <clinit>
    1:6:void <init>():835:840 -> <init>
    1:1:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    1:1:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):843 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    2:2:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):843 -> a
    3:25:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):844:866 -> a
    26:26:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    26:26:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):867 -> a
    27:27:com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState computeActiveStateOnBlockEntry(com.android.tools.r8.ir.code.BasicBlock,int):868:868 -> a
    28:29:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):907:908 -> a
    30:34:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.removeState(com.android.tools.r8.ir.code.BasicBlock):940:944 -> a
    30:34:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):909 -> a
    35:38:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):911:914 -> a
    39:43:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.removeState(com.android.tools.r8.ir.code.BasicBlock):940:944 -> a
    39:43:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):915 -> a
    44:44:void removeDeadBlockExitStates(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):917:917 -> a
    45:46:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):925:926 -> a
    47:47:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueSuccessorWithUniquePredecessor():213:213 -> a
    47:47:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):929 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    48:48:boolean com.android.tools.r8.ir.code.BasicBlock.hasUniqueSuccessorWithUniquePredecessor():213:213 -> a
    48:48:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):929 -> a
    49:50:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):930:931 -> a
    51:76:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):877:902 -> a
    51:76:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):933 -> a
    77:79:int com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.size():950:952 -> a
    77:79:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):902 -> a
    77:79:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):933 -> a
    80:80:void com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockStates.ensureCapacity(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):902:902 -> a
    80:80:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):933 -> a
    81:83:void recordActiveStateOnBlockExit(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$BlockState):934:936 -> a
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ExistingValue -> com.android.tools.r8.internal.wQ:
    com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination this$0 -> b
    com.android.tools.r8.ir.code.Value value -> a
    1:1:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):110:110 -> <init>
    2:3:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.code.Value):114:115 -> <init>
    com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ExistingValue asExistingValue() -> a
    1:4:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction):125:128 -> a
    1:1:com.android.tools.r8.ir.code.Value getValue():132:132 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":139,"2":140,"3":141}}
    139:139:java.lang.String toString():137:137 -> toString
    140:140:java.lang.String toString():137:137 -> toString
    141:141:java.lang.String toString():137:137 -> toString
    138:138:java.lang.String toString():137:137 -> toString
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject -> com.android.tools.r8.internal.xQ:
    com.android.tools.r8.graph.DexField field -> a
    com.android.tools.r8.ir.code.Value object -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():251:251 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):251:251 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Value):255:258 -> <init>
    1:1:com.android.tools.r8.graph.DexField access$1100(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldAndObject):251:251 -> a
    1:5:boolean equals(java.lang.Object):268:272 -> equals
    1:1:int hashCode():263:263 -> hashCode
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$FieldValue -> com.android.tools.r8.internal.yQ:
    com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$ExistingValue asExistingValue() -> a
    void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction) -> a
com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$MaterializableValue -> com.android.tools.r8.internal.zQ:
    com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination this$0 -> b
    com.android.tools.r8.ir.analysis.value.SingleValue value -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():141:141 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.analysis.value.SingleValue,com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination$1):141:141 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.optimize.RedundantFieldLoadAndStoreElimination,com.android.tools.r8.ir.analysis.value.SingleValue):145:147 -> <init>
    1:3:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction):152:154 -> a
    4:4:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    4:4:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction):154 -> a
    5:5:void eliminateRedundantRead(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Instruction):153:153 -> a
com.android.tools.r8.ir.optimize.ReflectionOptimizer -> com.android.tools.r8.internal.dS:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():35:35 -> <clinit>
    1:11:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):41:51 -> a
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    12:12:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):56 -> a
    13:14:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):60:61 -> a
    15:32:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):210:227 -> a
    15:32:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    33:33:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    33:33:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):227 -> a
    33:33:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    34:34:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):228:228 -> a
    34:34:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    35:35:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    35:35:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):228 -> a
    35:35:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    36:38:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):229:231 -> a
    36:38:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    39:39:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    39:39:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):231 -> a
    39:39:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    40:40:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):232:232 -> a
    40:40:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    41:42:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    41:42:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):234 -> a
    41:42:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    43:75:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):236:268 -> a
    43:75:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    76:86:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):267:277 -> a
    76:86:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    87:87:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):276:276 -> a
    87:87:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    88:88:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    88:88:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    88:88:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):276 -> a
    88:88:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    89:90:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):189:190 -> a
    89:90:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
    89:90:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):276 -> a
    89:90:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    91:91:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    91:91:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):190 -> a
    91:91:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInBaseOrSameFeatureAs(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):184 -> a
    91:91:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):276 -> a
    91:91:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    92:96:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForClassForNameTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeStatic,java.util.function.BiConsumer):275:279 -> a
    92:96:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):57 -> a
    97:98:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):67:68 -> a
    99:143:void com.android.tools.r8.ir.optimize.ReflectionOptimizer.applyTypeForGetClassTo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeVirtual,java.util.function.BiConsumer):158:202 -> a
    99:143:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):64 -> a
    144:145:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):74:75 -> a
    146:146:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    146:146:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):75 -> a
    147:149:void rewriteGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):75:77 -> a
    150:150:boolean lambda$rewriteGetClassOrForNameToConstClass$0(com.android.tools.r8.ir.code.Instruction):51:51 -> a
    151:151:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    151:151:boolean lambda$rewriteGetClassOrForNameToConstClass$0(com.android.tools.r8.ir.code.Instruction):51 -> a
    152:152:boolean lambda$rewriteGetClassOrForNameToConstClass$0(com.android.tools.r8.ir.code.Instruction):51:51 -> a
    153:153:java.util.function.BiConsumer rewriteSingleGetClassOrForNameToConstClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set):87:87 -> a
    154:161:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):89:96 -> a
    162:199:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):95:132 -> a
    200:214:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):131:145 -> a
    215:215:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    215:215:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):145 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    216:216:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    216:216:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):145 -> a
    217:219:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):146:148 -> a
    220:220:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):147:147 -> a
    221:223:void lambda$rewriteSingleGetClassOrForNameToConstClass$1(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):121:123 -> a
com.android.tools.r8.ir.optimize.ServiceLoaderRewriter -> com.android.tools.r8.internal.kU:
    java.util.List serviceLoadMethods -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> c
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):70:70 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute):66:72 -> <init>
    1:1:java.util.List getServiceLoadMethods():76:76 -> a
    2:2:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):80:80 -> a
    3:3:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    3:3:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):81 -> a
    4:9:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):84:89 -> a
    10:10:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    10:10:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):89 -> a
    11:31:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):90:110 -> a
    32:32:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    32:32:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):110 -> a
    33:95:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):114:176 -> a
    96:109:void rewrite(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):175:188 -> a
    110:111:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):179:180 -> a
    112:112:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    112:112:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):180 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    113:113:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    113:113:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):180 -> a
    114:114:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):182:182 -> a
    115:115:com.android.tools.r8.graph.DexEncodedMethod lambda$rewrite$0(java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexType):181:181 -> a
    116:122:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):196:202 -> a
    123:143:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):200:220 -> a
    144:144:com.android.tools.r8.graph.DexEncodedMethod createSynthesizedMethod(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):219:219 -> a
    145:151:void lambda$createSynthesizedMethod$3(com.android.tools.r8.graph.DexProto,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):206:212 -> a
    152:152:void lambda$createSynthesizedMethod$3(com.android.tools.r8.graph.DexProto,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):210:210 -> a
    153:157:void lambda$createSynthesizedMethod$3(com.android.tools.r8.graph.DexProto,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticMethodBuilder):209:213 -> a
    158:158:com.android.tools.r8.graph.DexType lambda$createSynthesizedMethod$1(com.android.tools.r8.graph.DexClass):211:211 -> a
    159:160:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215:216 -> a
    161:169:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):50:58 -> a
    161:169:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    170:185:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):55:70 -> a
    170:185:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    186:186:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):68:68 -> a
    186:186:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    187:209:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):61:83 -> a
    187:209:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    210:210:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):80:80 -> a
    210:210:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    211:240:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):76:105 -> a
    211:240:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    241:241:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):103:103 -> a
    241:241:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    242:270:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):90:118 -> a
    242:270:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    271:271:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    271:271:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):118 -> a
    271:271:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    272:272:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a
    272:272:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    272:272:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):118 -> a
    272:272:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
    273:273:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a
    273:273:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    273:273:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.desugar.ServiceLoaderSourceCode.generate(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexItemFactory):118 -> a
    273:273:com.android.tools.r8.graph.Code lambda$createSynthesizedMethod$2(com.android.tools.r8.graph.DexType,java.util.List,com.android.tools.r8.graph.DexMethod):215 -> a
com.android.tools.r8.ir.optimize.ServiceLoaderRewriter$Rewriter -> com.android.tools.r8.internal.jU:
    com.android.tools.r8.ir.code.IRCode code -> a
    com.android.tools.r8.ir.code.InstructionListIterator iterator -> c
    com.android.tools.r8.ir.code.InvokeStatic serviceLoaderLoad -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():246:246 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeStatic):253:256 -> <init>
    boolean lambda$perform$2(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.code.Instruction) -> a
    1:11:void perform(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexMethod):262:272 -> a
    12:15:void com.android.tools.r8.ir.optimize.ServiceLoaderRewriter$Rewriter.clearGetClassLoader(com.android.tools.r8.ir.code.InvokeVirtual):291:294 -> a
    12:15:void perform(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexMethod):273 -> a
    16:29:void perform(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexMethod):274:287 -> a
    30:30:void lambda$perform$0(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.ir.code.Instruction):269:269 -> a
    31:31:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    31:31:void lambda$perform$0(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.ir.code.Instruction):269 -> a
    32:33:void lambda$perform$0(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.ir.code.Instruction):269:270 -> a
    34:34:boolean lambda$perform$1(com.android.tools.r8.ir.code.Instruction):274:274 -> a
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis -> com.android.tools.r8.internal.LU:
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult NO_RESULT -> a
    boolean $assertionsDisabled -> b
    1:214:void <clinit>():31:244 -> <clinit>
    1:1:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult access$100():31:31 -> a
    2:8:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult canInlineWithoutSynthesizingNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):312:318 -> a
    9:9:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult.builder():196:196 -> a
    9:9:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):247 -> a
    9:9:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult canInlineWithoutSynthesizingNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):318 -> a
    10:67:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):248:305 -> a
    10:67:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult canInlineWithoutSynthesizingNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):318 -> a
    68:68:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.DepthFirstSearchWorkListBase.run(java.lang.Object[]):125:125 -> a
    68:68:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):305 -> a
    68:68:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult canInlineWithoutSynthesizingNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):318 -> a
    69:69:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):307:307 -> a
    69:69:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult canInlineWithoutSynthesizingNullCheckForReceiver(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):318 -> a
    70:78:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect lambda$canInlineWithoutSynthesizingNullCheckForReceiver$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):321:329 -> a
    79:80:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult triggersClassInitializationBeforeAnyStaticRead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):337:338 -> a
    81:81:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult.builder():196:196 -> a
    81:81:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):247 -> a
    81:81:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult triggersClassInitializationBeforeAnyStaticRead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):338 -> a
    82:139:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):248:305 -> a
    82:139:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult triggersClassInitializationBeforeAnyStaticRead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):338 -> a
    140:140:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.DepthFirstSearchWorkListBase.run(java.lang.Object[]):125:125 -> a
    140:140:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):305 -> a
    140:140:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult triggersClassInitializationBeforeAnyStaticRead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):338 -> a
    141:141:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis.run(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis):307:307 -> a
    141:141:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult triggersClassInitializationBeforeAnyStaticRead(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod):338 -> a
    142:142:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect lambda$triggersClassInitializationBeforeAnyStaticRead$1(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):342:342 -> a
    143:161:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect lambda$triggersClassInitializationBeforeAnyStaticRead$1(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Instruction):341:359 -> a
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$1 -> com.android.tools.r8.internal.EU:
    com.android.tools.r8.utils.IntBox val$visitedInstructions -> e
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder val$builder -> g
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis val$analysis -> f
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():249:249 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.IntBox,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder):249:249 -> <init>
    1:9:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):257:265 -> a
    10:10:void com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder.addSatisfyingInstruction(com.android.tools.r8.ir.code.Instruction):223:223 -> a
    10:10:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):265 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:void com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder.addSatisfyingInstruction(com.android.tools.r8.ir.code.Instruction):223:223 -> a
    11:11:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):265 -> a
    12:24:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):271:283 -> a
    25:31:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect.toResultState():55:61 -> a
    25:31:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):283 -> a
    32:33:com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function):283:284 -> a
    34:42:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):291:299 -> a
    43:43:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    43:43:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):299 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:boolean com.android.tools.r8.ir.code.BasicBlock.isEntry():610:610 -> a
    44:44:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):299 -> a
    45:46:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):300:301 -> a
    47:47:void com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder.setFailingBlocksForPartialResults(java.util.List):227:227 -> a
    47:47:com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List):301 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionAnalysis -> com.android.tools.r8.internal.FU:
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect analyze(com.android.tools.r8.ir.code.Instruction) -> a
    int maxNumberOfInstructions() -> a
    1:1:java.util.List getSuccessors(com.android.tools.r8.ir.code.BasicBlock):161:161 -> a
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.GU:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    boolean com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect.$assertionsDisabled -> a
    1:1:void com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$InstructionEffect.<clinit>():33:33 -> <clinit>
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.HU:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    boolean com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState.isNotComputed() -> a
    boolean com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState.isPartial() -> b
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks -> com.android.tools.r8.internal.IU:
    java.util.List failingBlocks -> b
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState state -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():110:110 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState,java.util.List,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$1):110:110 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState,java.util.List):115:117 -> <init>
    1:1:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState access$400(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks):110:110 -> a
    2:8:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks joinChildren(java.util.List):122:128 -> a
    9:12:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState.join(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState):97:100 -> a
    9:12:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks joinChildren(java.util.List):128 -> a
    13:25:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks joinChildren(java.util.List):130:142 -> a
    1:1:java.util.List access$500(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultStateWithPartialBlocks):110:110 -> b
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult -> com.android.tools.r8.internal.JU:
    java.util.List satisfyingInstructions -> b
    java.util.List topmostNotSatisfiedBlocks -> c
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState result -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():170:170 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState,java.util.List,java.util.List,com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$1):170:170 -> <init>
    2:7:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState,java.util.List,java.util.List):179:184 -> <init>
    8:8:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState,java.util.List,java.util.List):183:183 -> <init>
    1:1:void forEachSatisfyingInstruction(java.util.function.Consumer):188:188 -> a
    2:2:java.util.List getTopmostNotSatisfiedBlocks():192:192 -> a
    1:1:boolean isNotSatisfied():200:200 -> b
    1:1:boolean isPartial():208:208 -> c
com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResultBuilder -> com.android.tools.r8.internal.KU:
    java.util.List failingBlocksForPartialResults -> b
    java.util.List satisfyingInstructions -> a
    com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState result -> c
    1:4:void <init>():212:215 -> <init>
    5:5:void <init>(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$1):212:212 -> <init>
    1:1:void setResult(com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$ResultState):231:231 -> a
    2:4:com.android.tools.r8.ir.optimize.SimpleDominatingEffectAnalysis$SimpleEffectAnalysisResult build():235:237 -> a
    1:1:void fail():219:219 -> b
com.android.tools.r8.ir.optimize.SwitchCaseEliminator -> com.android.tools.r8.internal.IX:
    com.android.tools.r8.ir.code.BasicBlock alwaysHitTarget -> f
    boolean $assertionsDisabled -> j
    com.android.tools.r8.ir.code.InstructionListIterator iterator -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet switchCasesToBeRemoved -> i
    boolean liveFallthrough -> g
    com.android.tools.r8.ir.code.Switch theSwitch -> d
    int alwaysHitCase -> e
    boolean mayHaveIntroducedUnreachableBlocks -> h
    com.android.tools.r8.ir.code.BasicBlock defaultTarget -> b
    com.android.tools.r8.ir.code.BasicBlock block -> a
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.code.InstructionListIterator):36:36 -> <init>
    2:12:void <init>(com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.code.InstructionListIterator):30:40 -> <init>
    1:7:boolean isSwitchCaseLive(int):58:64 -> a
    8:8:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughLive():73:73 -> a
    8:8:boolean isSwitchCaseLive(int):64 -> a
    9:9:boolean isSwitchCaseLive(int):64:64 -> a
    10:14:java.util.function.IntPredicate computeSuccessorHasBecomeDeadPredicate():134:138 -> a
    15:15:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughLive():73:73 -> a
    15:15:java.util.function.IntPredicate computeSuccessorHasBecomeDeadPredicate():141 -> a
    16:21:java.util.function.IntPredicate computeSuccessorHasBecomeDeadPredicate():142:147 -> a
    22:22:boolean lambda$computeSuccessorHasBecomeDeadPredicate$0(int[],int):147:147 -> a
    1:1:boolean hasAlwaysHitCase():77:77 -> b
    2:5:void markSwitchCaseAsAlwaysHit(int):81:84 -> b
    1:1:boolean isFallthroughLive():73:73 -> c
    2:3:void markSwitchCaseForRemoval(int):88:89 -> c
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>():104:104 -> c
    4:4:void markSwitchCaseForRemoval(int):89 -> c
    5:7:void markSwitchCaseForRemoval(int):89:91 -> c
    1:2:void markSwitchFallthroughAsNeverHit():95:96 -> d
    1:1:boolean mayHaveIntroducedUnreachableBlocks():54:54 -> e
    1:2:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.canBeOptimized():49:50 -> f
    1:2:boolean optimize():100 -> f
    3:3:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughLive():73:73 -> f
    3:3:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.canBeOptimized():50 -> f
    3:3:boolean optimize():100 -> f
    4:4:boolean optimize():101:101 -> f
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.ir.optimize.SwitchCaseEliminator.unlinkDeadSuccessors():116:117 -> f
    5:6:boolean optimize():102 -> f
    7:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.<init>():90:90 -> f
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.ir.optimize.SwitchCaseEliminator.unlinkDeadSuccessors():117 -> f
    7:7:boolean optimize():102 -> f
    8:19:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.ir.optimize.SwitchCaseEliminator.unlinkDeadSuccessors():118:129 -> f
    8:19:boolean optimize():102 -> f
    20:20:boolean optimize():103:103 -> f
    21:22:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.allSwitchCasesMarkedForRemoval():44:45 -> f
    21:22:boolean optimize():103 -> f
    23:23:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):158:158 -> f
    23:23:boolean optimize():108 -> f
    24:24:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> f
    24:24:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> f
    24:24:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):159 -> f
    24:24:boolean optimize():108 -> f
    25:25:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):159:159 -> f
    25:25:boolean optimize():108 -> f
    26:26:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> f
    26:26:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> f
    26:26:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):159 -> f
    26:26:boolean optimize():108 -> f
    27:34:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):159:166 -> f
    27:34:boolean optimize():108 -> f
    35:35:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughLive():73:73 -> f
    35:35:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughDead():69 -> f
    35:35:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):167 -> f
    35:35:boolean optimize():108 -> f
    36:47:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):168:179 -> f
    36:47:boolean optimize():108 -> f
    48:48:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughLive():73:73 -> f
    48:48:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughDead():69 -> f
    48:48:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):180 -> f
    48:48:boolean optimize():108 -> f
    49:58:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):180:189 -> f
    49:58:boolean optimize():108 -> f
    59:59:boolean com.android.tools.r8.ir.optimize.SwitchCaseEliminator.isFallthroughLive():73:73 -> f
    59:59:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):195 -> f
    59:59:boolean optimize():108 -> f
    60:95:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByOptimizedSwitch(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):196:231 -> f
    60:95:boolean optimize():108 -> f
    96:98:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByGoto():151:153 -> f
    96:98:boolean optimize():105 -> f
    99:100:void com.android.tools.r8.ir.code.Goto.<init>(com.android.tools.r8.ir.code.BasicBlock):21:22 -> f
    99:100:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByGoto():153 -> f
    99:100:boolean optimize():105 -> f
    101:101:void com.android.tools.r8.ir.optimize.SwitchCaseEliminator.replaceSwitchByGoto():153:153 -> f
    101:101:boolean optimize():105 -> f
com.android.tools.r8.ir.optimize.SwitchMapCollector -> com.android.tools.r8.internal.JX:
    com.android.tools.r8.graph.DexString switchMapPrefix -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexString kotlinSwitchMapPrefix -> c
    com.android.tools.r8.graph.DexType intArrayType -> d
    java.util.Map switchMaps -> e
    1:1:void <init>(com.android.tools.r8.graph.AppView):70:70 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.AppView):68:76 -> <init>
    1:7:com.android.tools.r8.shaking.AppInfoWithLiveness run():80:86 -> a
    8:15:void processClasses(com.android.tools.r8.graph.DexProgramClass):91:98 -> a
    16:38:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):103:125 -> a
    39:39:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    39:39:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):125 -> a
    40:59:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):125:144 -> a
    60:60:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    60:60:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):145 -> a
    61:73:void extractSwitchMap(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.code.IRCode):148:160 -> a
    74:74:boolean lambda$extractSwitchMap$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Instruction):122:122 -> a
    75:75:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    75:75:boolean lambda$extractSwitchMap$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Instruction):122 -> a
    76:76:boolean lambda$extractSwitchMap$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.Instruction):122:122 -> a
    77:79:boolean maybeIsSwitchMap(com.android.tools.r8.graph.DexEncodedField):165:167 -> a
    80:80:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    80:80:boolean maybeIsSwitchMap(com.android.tools.r8.graph.DexEncodedField):167 -> a
    81:81:boolean maybeIsSwitchMap(com.android.tools.r8.graph.DexEncodedField):167:167 -> a
    82:82:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    82:82:boolean maybeIsSwitchMap(com.android.tools.r8.graph.DexEncodedField):167 -> a
    83:83:boolean maybeIsSwitchMap(com.android.tools.r8.graph.DexEncodedField):167:167 -> a
    1:1:void lambda$processClasses$0(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexEncodedField):98:98 -> b
com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations -> com.android.tools.r8.internal.n10:
    1:20:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowClassCastExceptionIfNotNullMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):61:80 -> a
    21:27:void lambda$synthesizeThrowClassCastExceptionIfNotNullMethod$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):73:79 -> a
    28:28:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowClassCastExceptionIfNotNullCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):86:86 -> a
    28:28:com.android.tools.r8.graph.Code lambda$synthesizeThrowClassCastExceptionIfNotNullMethod$2(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):78 -> a
    1:15:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIllegalAccessError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):81:95 -> b
    1:15:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIllegalAccessErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):115 -> b
    1:15:com.android.tools.r8.graph.Code lambda$synthesizeThrowIllegalAccessErrorMethod$4(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):107 -> b
    16:16:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIllegalAccessError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):92:92 -> b
    16:16:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIllegalAccessErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):115 -> b
    16:16:com.android.tools.r8.graph.Code lambda$synthesizeThrowIllegalAccessErrorMethod$4(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):107 -> b
    17:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIllegalAccessError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):86:99 -> b
    17:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIllegalAccessErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):115 -> b
    17:30:com.android.tools.r8.graph.Code lambda$synthesizeThrowIllegalAccessErrorMethod$4(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):107 -> b
    31:31:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> b
    31:31:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIllegalAccessError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):99 -> b
    31:31:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIllegalAccessErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):115 -> b
    31:31:com.android.tools.r8.graph.Code lambda$synthesizeThrowIllegalAccessErrorMethod$4(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):107 -> b
    32:39:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowIllegalAccessErrorMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):92:99 -> b
    40:52:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowIllegalAccessErrorMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):97:109 -> b
    53:58:void lambda$synthesizeThrowIllegalAccessErrorMethod$5(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):103:108 -> b
    1:15:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIncompatibleClassChangeError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):105:119 -> c
    1:15:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIncompatibleClassChangeErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):144 -> c
    1:15:com.android.tools.r8.graph.Code lambda$synthesizeThrowIncompatibleClassChangeErrorMethod$6(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):136 -> c
    16:16:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIncompatibleClassChangeError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):116:116 -> c
    16:16:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIncompatibleClassChangeErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):144 -> c
    16:16:com.android.tools.r8.graph.Code lambda$synthesizeThrowIncompatibleClassChangeErrorMethod$6(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):136 -> c
    17:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIncompatibleClassChangeError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):110:123 -> c
    17:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIncompatibleClassChangeErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):144 -> c
    17:30:com.android.tools.r8.graph.Code lambda$synthesizeThrowIncompatibleClassChangeErrorMethod$6(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):136 -> c
    31:31:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> c
    31:31:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwIncompatibleClassChangeError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):123 -> c
    31:31:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowIncompatibleClassChangeErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):144 -> c
    31:31:com.android.tools.r8.graph.Code lambda$synthesizeThrowIncompatibleClassChangeErrorMethod$6(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):136 -> c
    32:39:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowIncompatibleClassChangeErrorMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):120:127 -> c
    40:53:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowIncompatibleClassChangeErrorMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):125:138 -> c
    54:60:void lambda$synthesizeThrowIncompatibleClassChangeErrorMethod$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):131:137 -> c
    1:15:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwNoSuchMethodError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):128:142 -> d
    1:15:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowNoSuchMethodErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):173 -> d
    1:15:com.android.tools.r8.graph.Code lambda$synthesizeThrowNoSuchMethodErrorMethod$8(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> d
    16:16:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwNoSuchMethodError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):139:139 -> d
    16:16:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowNoSuchMethodErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):173 -> d
    16:16:com.android.tools.r8.graph.Code lambda$synthesizeThrowNoSuchMethodErrorMethod$8(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> d
    17:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwNoSuchMethodError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):133:146 -> d
    17:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowNoSuchMethodErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):173 -> d
    17:30:com.android.tools.r8.graph.Code lambda$synthesizeThrowNoSuchMethodErrorMethod$8(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> d
    31:31:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> d
    31:31:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations.CfUtilityMethodsForCodeOptimizationsTemplates_throwNoSuchMethodError(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):146 -> d
    31:31:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getThrowNoSuchMethodErrorCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):173 -> d
    31:31:com.android.tools.r8.graph.Code lambda$synthesizeThrowNoSuchMethodErrorMethod$8(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> d
    32:39:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowNoSuchMethodErrorMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):150:157 -> d
    40:52:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeThrowNoSuchMethodErrorMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):155:167 -> d
    53:58:void lambda$synthesizeThrowNoSuchMethodErrorMethod$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):161:166 -> d
    1:8:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeToStringIfNotNullMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):33:40 -> e
    9:21:com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeToStringIfNotNullMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):38:50 -> e
    22:27:void lambda$synthesizeToStringIfNotNullMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):44:49 -> e
    28:28:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations.getToStringIfNotNullCodeTemplate(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.InternalOptions):56:56 -> e
    28:28:com.android.tools.r8.graph.Code lambda$synthesizeToStringIfNotNullMethod$0(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):48 -> e
com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$MethodSynthesizerConsumer -> com.android.tools.r8.internal.l10:
    com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations synthesizeMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$UtilityMethodForCodeOptimizations -> com.android.tools.r8.internal.m10:
    com.android.tools.r8.graph.ProgramMethod method -> a
    boolean optimized -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():176:176 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.UtilityMethodsForCodeOptimizations$1):176:176 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.ProgramMethod):181:182 -> <init>
    1:2:com.android.tools.r8.graph.ProgramMethod getMethod():186:187 -> a
    3:4:void optimize(com.android.tools.r8.ir.conversion.MethodProcessor):195:196 -> a
    1:1:com.android.tools.r8.graph.ProgramMethod uncheckedGetMethod():191:191 -> b
com.android.tools.r8.ir.optimize.classinliner.ClassInliner -> com.android.tools.r8.internal.ha:
    java.util.concurrent.ConcurrentHashMap knownClasses -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():40:40 -> <clinit>
    1:8:void <init>():40:47 -> <init>
    1:55:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):141:195 -> a
    56:70:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):191:205 -> a
    71:71:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):193:193 -> a
    71:71:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):205 -> a
    72:72:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isAbstractGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):153:153 -> a
    72:72:boolean com.android.tools.r8.ir.analysis.proto.ProtoReferences.isGeneratedMessageLiteBuilder(com.android.tools.r8.graph.DexProgramClass):195 -> a
    72:72:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):205 -> a
    73:86:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):211:224 -> a
    87:87:com.android.tools.r8.ir.optimize.AssumeRemover com.android.tools.r8.ir.optimize.AssumeRemover.removeMarkedInstructions():104:104 -> a
    87:87:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):229 -> a
    88:88:boolean com.android.tools.r8.ir.code.IRCode.removeAllDeadAndTrivialPhis(java.util.Set):1250:1250 -> a
    88:88:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):230 -> a
    89:91:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):231:233 -> a
    92:129:void processMethodCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.CodeRewriter,com.android.tools.r8.ir.optimize.string.StringOptimizer,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Supplier):224:261 -> a
    130:130:boolean lambda$processMethodCode$0(com.android.tools.r8.ir.code.Instruction):142:142 -> a
    131:131:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    131:131:boolean lambda$processMethodCode$0(com.android.tools.r8.ir.code.Instruction):142 -> a
    132:132:void lambda$processMethodCode$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.Inliner,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):242:242 -> a
    133:133:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):268:268 -> a
    133:133:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    134:151:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):285:302 -> a
    134:151:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    134:151:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    152:152:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    152:152:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):305 -> a
    152:152:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    152:152:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    153:154:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):305:306 -> a
    153:154:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    153:154:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    155:155:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    155:155:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):306 -> a
    155:155:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    155:155:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    156:156:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    156:156:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    156:156:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):306 -> a
    156:156:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    156:156:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    157:160:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):307:310 -> a
    157:160:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    157:160:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    161:161:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.computeClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):288:288 -> a
    161:161:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):270 -> a
    161:161:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
    162:163:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus com.android.tools.r8.ir.optimize.classinliner.ClassInliner.isClassEligible(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):271:272 -> a
    162:163:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus lambda$processMethodCode$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):160 -> a
com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus -> com.android.tools.r8.internal.ga:
    com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus NOT_ELIGIBLE -> c
    com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus ELIGIBLE -> b
    1:2:void <clinit>():43:44 -> <clinit>
    1:1:void <init>(java.lang.String,int):42:42 -> <init>
com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis -> com.android.tools.r8.internal.ia:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.inliner.InliningIRProvider inliningIRProvider -> b
    boolean $assertionsDisabled -> e
    int estimatedCost -> d
    com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet receivers -> c
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet):41:41 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider,com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet):36:44 -> <init>
    1:11:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):52:62 -> a
    12:14:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.exceedsInstructionBudgetAfterIncrement(int):98:100 -> a
    12:14:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):63 -> a
    15:24:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):71:80 -> a
    25:54:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):111:140 -> a
    25:54:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    55:55:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    55:55:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):140 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    55:55:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    56:56:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    56:56:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):140 -> a
    56:56:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    57:57:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    57:57:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):122 -> a
    57:57:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    58:60:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):123:125 -> a
    58:60:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    61:68:java.util.Set com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.getReceiverAliasesInInlinee(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):156:163 -> a
    61:68:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):127 -> a
    61:68:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    69:70:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):129:130 -> a
    69:70:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    71:71:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    71:71:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):130 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:71:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    72:72:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    72:72:int com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.estimateSizeOfNonMaterializingInstructions(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):130 -> a
    72:72:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):81 -> a
    73:73:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):82:82 -> a
    74:76:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerCostAnalysis.exceedsInstructionBudgetAfterIncrement(int):98:100 -> a
    74:76:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):83 -> a
    77:77:boolean willExceedInstructionBudget(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.List):92:92 -> a
com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet -> com.android.tools.r8.internal.la:
    java.util.Map deferredAliasValidityChecks -> c
    java.util.Set receiverAliases -> a
    java.util.Set illegalReceiverAliases -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value):30:30 -> <init>
    2:9:void <init>(com.android.tools.r8.ir.code.Value):24:31 -> <init>
    1:1:void addDeferredAliasValidityCheck(com.android.tools.r8.ir.code.Value,java.util.function.BooleanSupplier):61:61 -> a
    2:2:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet.isDefiniteReceiverAlias(com.android.tools.r8.ir.code.Value):78:78 -> a
    2:2:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet.isReceiverAlias(com.android.tools.r8.ir.code.Value):74 -> a
    2:2:void addDeferredAliasValidityCheck(com.android.tools.r8.ir.code.Value,java.util.function.BooleanSupplier):61 -> a
    3:11:void addDeferredAliasValidityCheck(com.android.tools.r8.ir.code.Value,java.util.function.BooleanSupplier):61:69 -> a
    12:12:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet.isDefiniteReceiverAlias(com.android.tools.r8.ir.code.Value):78:78 -> a
    12:12:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet.isReceiverAlias(com.android.tools.r8.ir.code.Value):74 -> a
    12:12:boolean addIllegalReceiverAlias(com.android.tools.r8.ir.code.Value):50 -> a
    13:16:boolean addIllegalReceiverAlias(com.android.tools.r8.ir.code.Value):53:56 -> a
    1:7:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet.isIllegalReceiverAlias(com.android.tools.r8.ir.code.Value):82:88 -> b
    1:7:boolean addReceiverAlias(com.android.tools.r8.ir.code.Value):36 -> b
    8:13:boolean addReceiverAlias(com.android.tools.r8.ir.code.Value):40:45 -> b
    1:1:boolean isDefiniteReceiverAlias(com.android.tools.r8.ir.code.Value):78:78 -> c
    1:1:boolean com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet.isDefiniteReceiverAlias(com.android.tools.r8.ir.code.Value):78:78 -> d
    1:1:boolean isReceiverAlias(com.android.tools.r8.ir.code.Value):74 -> d
    1:1:java.util.List lambda$addDeferredAliasValidityCheck$0(com.android.tools.r8.ir.code.Value):68:68 -> e
com.android.tools.r8.ir.optimize.classinliner.FieldValueHelper -> com.android.tools.r8.internal.nk:
    com.android.tools.r8.ir.code.Instruction root -> c
    com.android.tools.r8.graph.AppView appView -> d
    com.android.tools.r8.ir.code.Value defaultValue -> e
    com.android.tools.r8.graph.DexField field -> a
    com.android.tools.r8.ir.code.IRCode code -> b
    boolean $assertionsDisabled -> h
    java.util.Map ins -> f
    java.util.Map outs -> g
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):39:39 -> <init>
    2:13:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):35:46 -> <init>
    1:8:void replaceValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value):50:57 -> a
    9:16:com.android.tools.r8.ir.code.Value getOrCreateInValue(com.android.tools.r8.ir.code.BasicBlock):86:93 -> a
    17:29:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.classinliner.FieldValueHelper.getOrCreateOutValue(com.android.tools.r8.ir.code.BasicBlock):69:81 -> a
    17:29:com.android.tools.r8.ir.code.Value getOrCreateInValue(com.android.tools.r8.ir.code.BasicBlock):93 -> a
    30:43:com.android.tools.r8.ir.code.Value getOrCreateInValue(com.android.tools.r8.ir.code.BasicBlock):94:107 -> a
    44:56:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.classinliner.FieldValueHelper.getOrCreateOutValue(com.android.tools.r8.ir.code.BasicBlock):69:81 -> a
    44:56:com.android.tools.r8.ir.code.Value getOrCreateInValue(com.android.tools.r8.ir.code.BasicBlock):108 -> a
    57:71:com.android.tools.r8.ir.code.Value getOrCreateInValue(com.android.tools.r8.ir.code.BasicBlock):108:122 -> a
    72:101:com.android.tools.r8.ir.code.Value getValueDefinedInTheBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):128:157 -> a
    102:102:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    102:102:com.android.tools.r8.ir.code.Value getValueDefinedInTheBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):157 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    103:105:com.android.tools.r8.ir.code.Value getValueDefinedInTheBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):157:159 -> a
    106:106:void com.android.tools.r8.ir.code.BasicBlockInstructionListIterator.add(java.lang.Object):39:39 -> a
    106:106:com.android.tools.r8.ir.code.Value getValueDefinedInTheBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):160 -> a
    107:110:com.android.tools.r8.ir.code.Value getValueDefinedInTheBlock(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):162:165 -> a
    1:3:com.android.tools.r8.ir.code.Value getValueForFieldRead(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Instruction):63:65 -> b
com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor -> com.android.tools.r8.internal.xp:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.ProgramMethod method -> f
    com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet receivers -> o
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.Inliner inliner -> c
    java.util.Map directInlinees -> m
    com.android.tools.r8.ir.code.AliasedValueConfiguration aliasesThroughAssumeAndCheckCasts -> p
    java.util.function.Function isClassEligible -> d
    com.android.tools.r8.utils.collections.ProgramMethodSet indirectMethodCallsOnInstance -> l
    boolean $assertionsDisabled -> q
    com.android.tools.r8.graph.DexProgramClass eligibleClass -> i
    com.android.tools.r8.ir.analysis.value.objectstate.ObjectState objectState -> j
    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> e
    com.android.tools.r8.ir.code.Instruction root -> g
    com.android.tools.r8.ir.code.Value eligibleInstance -> h
    java.util.Map directMethodCalls -> k
    java.util.List indirectInlinees -> n
    1:4:void <clinit>():84:87 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Function,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):118:118 -> <init>
    2:27:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.Inliner,java.util.function.Function,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):101:126 -> <init>
    1:1:java.util.Map getDirectInlinees():134:134 -> a
    2:10:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):223:231 -> a
    11:11:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    11:11:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):231 -> a
    12:12:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):231:231 -> a
    13:13:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    13:13:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):256 -> a
    14:22:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):257:265 -> a
    23:23:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    23:23:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):265 -> a
    24:33:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):265:274 -> a
    34:34:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    34:34:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):274 -> a
    35:62:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):278:305 -> a
    63:63:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
    63:63:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):310 -> a
    64:64:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):311:311 -> a
    65:71:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleLibraryMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.LibraryMethod):1118:1124 -> a
    65:71:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):311 -> a
    72:79:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):315:322 -> a
    80:87:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):321:328 -> a
    88:114:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):859:885 -> a
    88:114:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    115:115:boolean com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo.receiverMayEscapeOutsideConstructorChain():72:72 -> a
    115:115:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):886 -> a
    115:115:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    116:116:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):890:890 -> a
    116:116:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    117:117:boolean com.android.tools.r8.utils.AndroidApiLevelUtils.isApiSafeForInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.InternalOptions):22:22 -> a
    117:117:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):890 -> a
    117:117:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    118:118:boolean com.android.tools.r8.utils.AndroidApiLevelUtils.isApiSafeForInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.InternalOptions):21:21 -> a
    118:118:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):890 -> a
    118:118:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    119:125:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):894:900 -> a
    119:125:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    126:126:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    126:126:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):900 -> a
    126:126:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    127:143:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):900:916 -> a
    127:143:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    144:152:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):912:920 -> a
    144:152:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    153:153:boolean com.android.tools.r8.utils.AndroidApiLevelUtils.isApiSafeForInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.InternalOptions):22:22 -> a
    153:153:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):920 -> a
    153:153:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    154:154:boolean com.android.tools.r8.utils.AndroidApiLevelUtils.isApiSafeForInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.InternalOptions):21:21 -> a
    154:154:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):920 -> a
    154:154:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    155:160:com.android.tools.r8.ir.optimize.Inliner$InliningInfo com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleConstructorCall(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.graph.ProgramMethod):925:930 -> a
    155:160:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):331 -> a
    161:161:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):333:333 -> a
    162:162:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1078:1078 -> a
    162:162:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    163:163:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    163:163:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1079 -> a
    163:163:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    164:164:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    164:164:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1080 -> a
    164:164:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    165:173:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1081:1089 -> a
    165:173:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    174:174:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    174:174:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1089 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    174:174:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    175:175:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    175:175:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1089 -> a
    175:175:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    176:182:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1095:1101 -> a
    176:182:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    183:197:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1096:1110 -> a
    183:197:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    198:198:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfDirectTargetForInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):1211:1211 -> a
    198:198:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1113 -> a
    198:198:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    199:200:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.exemptFromInstructionLimit(com.android.tools.r8.graph.ProgramMethod):1197:1198 -> a
    199:200:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfDirectTargetForInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):1212 -> a
    199:200:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1113 -> a
    199:200:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    201:201:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfDirectTargetForInlining(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):1213:1213 -> a
    201:201:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleDirectMethodCall(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod,java.util.function.Supplier,java.util.Set):1113 -> a
    201:201:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):341 -> a
    202:205:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):350:353 -> a
    206:226:com.android.tools.r8.ir.code.InstructionOrPhi areInstanceUsersEligible(java.util.function.Supplier):232:252 -> a
    227:227:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):384:384 -> a
    228:233:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):399:404 -> a
    228:233:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    234:261:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):403:430 -> a
    234:261:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    262:262:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramMethod):78:78 -> a
    262:262:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):430 -> a
    262:262:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    263:276:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):430:443 -> a
    263:276:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    277:285:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):439:447 -> a
    277:285:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    286:286:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):444:444 -> a
    286:286:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    287:287:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):432:432 -> a
    287:287:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    288:315:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):426:453 -> a
    288:315:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    316:319:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.forceInlineDirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):452:455 -> a
    316:319:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):386 -> a
    320:322:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):387:389 -> a
    323:331:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):591:599 -> a
    323:331:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    332:332:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    332:332:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):604 -> a
    332:332:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    333:338:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):605:610 -> a
    333:338:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    339:339:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
    339:339:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):611 -> a
    339:339:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    340:369:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):612:641 -> a
    340:369:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    370:370:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":501,"2":502,"3":503}}
    501:501:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):642:642 -> a
    501:501:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    502:502:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):642:642 -> a
    502:502:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    503:503:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):642:642 -> a
    503:503:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    371:371:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):642:642 -> a
    371:371:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    372:372:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    372:372:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):647 -> a
    372:372:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    373:373:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):647:647 -> a
    373:373:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    374:374:boolean com.android.tools.r8.ir.code.Instruction.isMonitor():0:0 -> a
    374:374:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):652 -> a
    374:374:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    375:379:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):655:659 -> a
    375:379:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    380:380:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":520,"2":521,"3":522}}
    520:520:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):659:659 -> a
    520:520:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    521:521:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):659:659 -> a
    521:521:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    522:522:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):659:659 -> a
    522:522:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    381:389:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeMiscUsages(com.android.tools.r8.ir.code.IRCode,java.util.Set):659:667 -> a
    381:389:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):390 -> a
    390:394:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):673:677 -> a
    390:394:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    395:395:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    395:395:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677 -> a
    395:395:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    396:396:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):677:677 -> a
    396:396:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    397:416:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):748:767 -> a
    397:416:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    397:416:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    417:417:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    417:417:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):767 -> a
    417:417:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    417:417:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    418:421:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):768:771 -> a
    418:421:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    418:421:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    422:423:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):797:798 -> a
    422:423:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):770 -> a
    422:423:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    422:423:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    424:424:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> a
    424:424:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):798 -> a
    424:424:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):770 -> a
    424:424:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    424:424:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    425:440:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):799:814 -> a
    425:440:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):770 -> a
    425:440:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    425:440:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    441:441:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    441:441:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):815 -> a
    441:441:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):770 -> a
    441:441:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    441:441:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    442:442:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):816:816 -> a
    442:442:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):770 -> a
    442:442:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    442:442:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    443:443:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):811:811 -> a
    443:443:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):770 -> a
    443:443:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    443:443:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    444:444:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):806:806 -> a
    444:444:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):770 -> a
    444:444:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    444:444:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    445:445:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.replaceFieldReadFromStaticGet(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InstanceGet,java.util.Set):801:801 -> a
    445:445:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):770 -> a
    445:445:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    445:445:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    446:456:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):773:783 -> a
    446:456:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    446:456:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    457:457:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":523,"2":524,"3":525}}
    523:523:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):783:783 -> a
    523:523:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    523:523:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    524:524:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):783:783 -> a
    524:524:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    524:524:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    525:525:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):783:783 -> a
    525:525:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    525:525:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    458:460:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReadsFromStaticGet(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):783:785 -> a
    458:460:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):678 -> a
    458:460:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    461:462:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):680:681 -> a
    461:462:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    463:463:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    463:463:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):681 -> a
    463:463:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    464:464:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldReads(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.AssumeRemover):681:681 -> a
    464:464:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):391 -> a
    465:489:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():830:854 -> a
    465:489:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    490:490:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():848:848 -> a
    490:490:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    491:491:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":526,"2":527,"3":528}}
    526:526:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():848:848 -> a
    526:526:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    527:527:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():848:848 -> a
    527:527:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    528:528:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():848:848 -> a
    528:528:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    492:494:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():848:850 -> a
    492:494:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    495:495:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():832:832 -> a
    495:495:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    496:496:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":529,"2":530,"3":531}}
    529:529:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():832:832 -> a
    529:529:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    530:530:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():832:832 -> a
    530:530:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    531:531:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():832:832 -> a
    531:531:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    497:499:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.removeFieldWrites():832:834 -> a
    497:499:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):392 -> a
    500:500:boolean processInlining(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):393:393 -> a
    532:542:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):463:473 -> a
    543:543:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    543:543:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):473 -> a
    544:556:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):473:485 -> a
    557:557:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    557:557:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):485 -> a
    558:558:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    558:558:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):485 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    559:566:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):486:493 -> a
    567:567:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):492:492 -> a
    568:571:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):491:494 -> a
    572:572:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethodWithReceiver.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):82:82 -> a
    572:572:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):495 -> a
    573:573:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethodWithReceiver.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):81:81 -> a
    573:573:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):495 -> a
    574:578:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):496:500 -> a
    579:579:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):497:497 -> a
    580:614:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):474:508 -> a
    615:620:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):507:512 -> a
    621:621:boolean forceInlineIndirectMethodInvocations(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.inliner.InliningIRProvider):510:510 -> a
    622:625:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):687:690 -> a
    626:626:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    626:626:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):690 -> a
    627:643:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):691:707 -> a
    644:644:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1362,"2":1363,"3":1364}}
    1362:1362:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):707:707 -> a
    1363:1363:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):707:707 -> a
    1364:1364:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):707:707 -> a
    1351:1361:void removeFieldReadsFromNewInstance(com.android.tools.r8.ir.code.IRCode,java.util.Set,com.android.tools.r8.ir.optimize.AssumeRemover):707:717 -> a
    1365:1365:int lambda$removeFieldReadsFromNewInstance$2(com.android.tools.r8.ir.code.InstanceGet):688:688 -> a
    1366:1370:void removeFieldReadFromNewInstance(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstanceGet,java.util.Set,java.util.Map):726:730 -> a
    1371:1385:void removeFieldReadFromNewInstance(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstanceGet,java.util.Set,java.util.Map):729:743 -> a
    1386:1386:com.android.tools.r8.ir.optimize.classinliner.FieldValueHelper lambda$removeFieldReadFromNewInstance$3(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexField):730:730 -> a
    1387:1397:boolean isEligibleParameterUsages(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,java.util.Set):1132:1142 -> a
    1398:1405:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1156:1163 -> a
    1406:1406:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    1406:1406:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1163 -> a
    1407:1414:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1163:1170 -> a
    1415:1461:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.scheduleNewUsersForAnalysis(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):946:992 -> a
    1415:1461:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1171 -> a
    1462:1472:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1175:1185 -> a
    1473:1476:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleIndirectVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):999:1002 -> a
    1473:1476:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1186 -> a
    1477:1505:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1025:1053 -> a
    1477:1505:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleIndirectVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1005 -> a
    1477:1505:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1186 -> a
    1506:1506:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    1506:1506:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1053 -> a
    1506:1506:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleIndirectVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1005 -> a
    1506:1506:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1186 -> a
    1507:1508:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1053:1054 -> a
    1507:1508:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleIndirectVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1005 -> a
    1507:1508:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1186 -> a
    1509:1519:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.isEligibleIndirectVirtualMethodCall(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1011:1021 -> a
    1509:1519:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1186 -> a
    1520:1520:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfIndirectTargetForInlining(com.android.tools.r8.graph.ProgramMethod):1202:1202 -> a
    1520:1520:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1189 -> a
    1521:1522:boolean com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.exemptFromInstructionLimit(com.android.tools.r8.graph.ProgramMethod):1197:1198 -> a
    1521:1522:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfIndirectTargetForInlining(com.android.tools.r8.graph.ProgramMethod):1203 -> a
    1521:1522:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1189 -> a
    1523:1525:void com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor.markSizeOfIndirectTargetForInlining(com.android.tools.r8.graph.ProgramMethod):1204:1206 -> a
    1523:1525:boolean isEligibleParameterUsage(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1189 -> a
    1526:1542:boolean isEligibleSingleTarget(com.android.tools.r8.graph.ProgramMethod):1221:1237 -> a
    1543:1543:boolean isEligibleSingleTarget(com.android.tools.r8.graph.ProgramMethod):1233:1233 -> a
    1544:1544:void lambda$removeInstruction$5(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):1251:1251 -> a
    1545:1546:void removeInstruction(com.android.tools.r8.ir.code.Instruction):1251:1252 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getEligibleClass():130:130 -> b
    2:2:boolean lambda$forceInlineIndirectMethodInvocations$0(com.android.tools.r8.graph.ProgramMethod):511:511 -> b
    3:3:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):820:820 -> b
    4:4:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> b
    4:4:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):821 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> b
    5:5:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):821 -> b
    6:6:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":834,"2":835,"3":836}}
    834:834:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):821:821 -> b
    835:835:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):821:821 -> b
    836:836:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):821:821 -> b
    827:832:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):821:826 -> b
    833:833:java.lang.RuntimeException reportUnknownFieldReadFromSingleton(com.android.tools.r8.ir.code.InstanceGet):822:822 -> b
    837:837:boolean lambda$isEligibleParameterUsages$4(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,int,java.util.Set):1144:1144 -> b
    1:1:java.util.List getIndirectInlinees():138:138 -> c
    2:7:boolean lambda$forceInlineIndirectMethodInvocations$1(com.android.tools.r8.graph.ProgramMethod):514:519 -> c
    1:1:com.android.tools.r8.ir.optimize.classinliner.ClassInlinerReceiverSet getReceivers():142:142 -> d
    1:1:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isClassAndUsageEligible():212:212 -> e
    1:20:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():148:167 -> f
    21:21:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> f
    21:21:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():167 -> f
    22:33:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():167:178 -> f
    34:34:boolean com.android.tools.r8.ir.code.StaticGet.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):146:146 -> f
    34:34:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():178 -> f
    35:35:boolean com.android.tools.r8.ir.code.StaticGet.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction$SideEffectAssumption):152:152 -> f
    35:35:boolean com.android.tools.r8.ir.code.StaticGet.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):146 -> f
    35:35:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():178 -> f
    36:52:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():179:195 -> f
    53:53:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> f
    53:53:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():196 -> f
    54:55:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():196:197 -> f
    56:56:com.android.tools.r8.ir.optimize.classinliner.ClassInliner$EligibilityStatus isInstanceEligible():185:185 -> f
    1:1:void rebindIndirectEligibleInstanceUsersFromPhis():535:535 -> g
    2:3:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):45:46 -> g
    2:3:void rebindIndirectEligibleInstanceUsersFromPhis():535 -> g
    4:27:void rebindIndirectEligibleInstanceUsersFromPhis():536:559 -> g
    28:28:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> g
    28:28:void rebindIndirectEligibleInstanceUsersFromPhis():559 -> g
    29:29:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> g
    29:29:void rebindIndirectEligibleInstanceUsersFromPhis():559 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:48:void rebindIndirectEligibleInstanceUsersFromPhis():561:579 -> g
    49:49:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> g
    49:49:void rebindIndirectEligibleInstanceUsersFromPhis():579 -> g
    50:55:void rebindIndirectEligibleInstanceUsersFromPhis():579:584 -> g
    56:56:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> g
    56:56:void rebindIndirectEligibleInstanceUsersFromPhis():584 -> g
    57:57:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> g
    57:57:void rebindIndirectEligibleInstanceUsersFromPhis():584 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    58:59:void rebindIndirectEligibleInstanceUsersFromPhis():584:585 -> g
    60:60:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> g
    60:60:void rebindIndirectEligibleInstanceUsersFromPhis():585 -> g
    61:61:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> g
    61:61:void rebindIndirectEligibleInstanceUsersFromPhis():585 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    62:62:void rebindIndirectEligibleInstanceUsersFromPhis():585:585 -> g
com.android.tools.r8.ir.optimize.classinliner.InlineCandidateProcessor$IllegalClassInlinerStateException -> com.android.tools.r8.internal.wp:
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():1255:1255 -> <clinit>
    1:2:void <init>():1257:1258 -> <init>
com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext -> com.android.tools.r8.internal.L1:
    1:1:void <init>():14:14 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.DefaultAnalysisContext getDefaultContext():17:17 -> a
com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage -> com.android.tools.r8.internal.L5:
    com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage BOTTOM -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.builder():57:57 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addCastWithParameter(com.android.tools.r8.graph.DexType):23 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addCastWithParameter(com.android.tools.r8.graph.DexType):23:23 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.builder():57:57 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addFieldReadFromParameter(com.android.tools.r8.graph.DexField):28 -> a
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addFieldReadFromParameter(com.android.tools.r8.graph.DexField):28:28 -> a
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.builder():57:57 -> a
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver):33 -> a
    6:7:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver):34:35 -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage externalize() -> d
    boolean isParameterReturned() -> f
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.builder():57:57 -> h
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterMutated():65 -> h
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterMutated():65:65 -> h
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.builder():57:57 -> i
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned():70 -> i
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned():70:70 -> i
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.builder():57:57 -> j
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock():75 -> j
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock():75:75 -> j
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage getInstance():18:18 -> l
com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext -> com.android.tools.r8.internal.M5:
    com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext INSTANCE -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction) -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.bottom():87:87 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext):27 -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize() -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext getInstance():17:17 -> c
com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages -> com.android.tools.r8.internal.N5:
    com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages INSTANCE -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):37:37 -> a
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.<init>():119:119 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):37 -> a
    3:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):38:39 -> a
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.bottom():49:49 -> a
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext get(int):27 -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize() -> e
    1:1:boolean equals(java.lang.Object):50:50 -> equals
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages getInstance():17:17 -> g
    1:1:int hashCode():55:55 -> hashCode
com.android.tools.r8.ir.optimize.classinliner.analysis.ClassInlinerMethodConstraintAnalysis -> com.android.tools.r8.internal.ka:
    1:7:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):21:27 -> a
    8:8:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.bottom():64:64 -> a
    8:8:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):29 -> a
    9:18:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):29:38 -> a
    19:19:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    19:19:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):38 -> a
    20:20:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):39:39 -> a
    21:21:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isTop():0:0 -> a
    21:21:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):41 -> a
    22:24:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):42:44 -> a
    25:25:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):23:23 -> a
    26:26:com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult lambda$analyze$0(com.android.tools.r8.ir.analysis.framework.intraprocedural.IntraproceduralDataflowAnalysis,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):33:33 -> a
    27:27:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages lambda$analyze$1(com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult$SuccessfulDataflowAnalysisResult):37:37 -> a
com.android.tools.r8.ir.optimize.classinliner.analysis.DefaultAnalysisContext -> com.android.tools.r8.internal.Ne:
    com.android.tools.r8.ir.optimize.classinliner.analysis.DefaultAnalysisContext INSTANCE -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():11:11 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.DefaultAnalysisContext getInstance():14:14 -> b
com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage -> com.android.tools.r8.internal.eu:
    java.util.Set methodCallsWithParameterAsReceiver -> c
    boolean isParameterReturned -> e
    boolean isParameterUsedAsLock -> f
    java.util.Set castsWithParameter -> a
    boolean $assertionsDisabled -> g
    java.util.Set fieldsReadFromParameter -> b
    boolean isParameterMutated -> d
    1:1:void <clinit>():25:25 -> <clinit>
    1:4:void <init>(java.util.Set,java.util.Set,java.util.Set,boolean,boolean,boolean):41:44 -> <init>
    5:16:void <init>(java.util.Set,java.util.Set,java.util.Set,boolean,boolean,boolean):42:53 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage asInternalNonEmpty() -> a
    1:1:java.util.Set access$000(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):25:25 -> a
    2:6:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addCastWithParameter(com.android.tools.r8.graph.DexType):66:70 -> a
    7:12:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.addFieldReadFromParameter(com.android.tools.r8.graph.DexField):80:85 -> a
    7:12:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addFieldReadFromParameter(com.android.tools.r8.graph.DexField):25 -> a
    13:19:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver):96:102 -> a
    13:19:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver):25 -> a
    20:20:void lambda$externalize$0(com.android.tools.r8.com.google.common.collect.ImmutableMultiset$Builder,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):118:118 -> a
    1:1:java.util.Set access$100(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):25:25 -> b
    1:1:java.util.Set access$200(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):25:25 -> c
    1:1:boolean access$300(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):25:25 -> d
    2:8:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage externalize():116:122 -> d
    1:1:boolean access$400(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):25:25 -> e
    1:10:boolean equals(java.lang.Object):201:210 -> equals
    1:1:boolean access$500(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):25:25 -> f
    2:2:boolean isParameterReturned():135:135 -> f
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.builderFromInstance():61:61 -> g
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage join(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):144 -> g
    2:9:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage join(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):144:151 -> g
    1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.setParameterMutated():156:159 -> h
    1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterMutated():25 -> h
    1:5:int hashCode():216:220 -> hashCode
    6:11:int hashCode():219:224 -> hashCode
    1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.setParameterReturned():170:173 -> i
    1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned():25 -> i
    1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage.setParameterUsedAsLock():184:187 -> j
    1:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock():25 -> j
com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder -> com.android.tools.r8.internal.du:
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder methodCallsWithParameterAsReceiverBuilder -> c
    boolean isParameterReturned -> e
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder fieldsReadFromParameterBuilder -> b
    boolean isParameterUsedAsLock -> f
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder castsWithParameterBuilder -> a
    boolean isParameterMutated -> d
    1:4:void <init>():238:241 -> <init>
    5:15:void <init>(com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage):244:254 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addCastWithParameter(com.android.tools.r8.graph.DexType):258:258 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addCastsWithParameter(java.util.Collection):263:263 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:448 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addCastsWithParameter(java.util.Collection):263 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):449 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addCastsWithParameter(java.util.Collection):263 -> a
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addFieldReadFromParameter(com.android.tools.r8.graph.DexField):268:268 -> a
    6:6:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver):279:279 -> a
    7:7:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder joinIsReceiverMutated(boolean):290:290 -> a
    8:11:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage build():320:323 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addFieldsReadFromParameter(java.util.Collection):273:273 -> b
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:448 -> b
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> b
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addFieldsReadFromParameter(java.util.Collection):273 -> b
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> b
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):449 -> b
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> b
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addFieldsReadFromParameter(java.util.Collection):273 -> b
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder joinIsReceiverReturned(boolean):295:295 -> b
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder setParameterMutated():305:305 -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addMethodCallsWithParameterAsReceiver(java.util.Set):285:285 -> c
    2:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:449 -> c
    2:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> c
    2:3:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder addMethodCallsWithParameterAsReceiver(java.util.Set):285 -> c
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder joinIsReceiverUsedAsLock(boolean):300:300 -> c
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder setParameterReturned():310:310 -> c
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage$Builder setParameterUsedAsLock():315:315 -> d
com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsage -> com.android.tools.r8.internal.zH:
    boolean isParameterReturned -> e
    boolean isParameterUsedAsLock -> f
    java.util.Set castsWithParameter -> a
    boolean $assertionsDisabled -> g
    java.util.Set fieldsReadFromParameter -> b
    com.android.tools.r8.com.google.common.collect.Multiset methodCallsWithParameterAsReceiver -> c
    boolean isParameterMutated -> d
    1:1:void <clinit>():17:17 -> <clinit>
    1:4:void <init>(java.util.Set,java.util.Set,com.android.tools.r8.com.google.common.collect.Multiset,boolean,boolean,boolean):33:36 -> <init>
    5:16:void <init>(java.util.Set,java.util.Set,com.android.tools.r8.com.google.common.collect.Multiset,boolean,boolean,boolean):34:45 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addCastWithParameter(com.android.tools.r8.graph.DexType):50:50 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addFieldReadFromParameter(com.android.tools.r8.graph.DexField):55:55 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver):60:60 -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsage asNonEmpty() -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage externalize():70:70 -> d
    1:10:boolean equals(java.lang.Object):124:133 -> equals
    1:1:boolean isParameterReturned():96:96 -> f
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterMutated():106:106 -> h
    1:5:int hashCode():139:143 -> hashCode
    6:11:int hashCode():142:147 -> hashCode
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned():111:111 -> i
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock():116:116 -> j
    1:1:java.util.Set getCastsWithParameter():78:78 -> l
    1:1:java.util.Set getFieldsReadFromParameter():82:82 -> m
    1:1:com.android.tools.r8.com.google.common.collect.Multiset getMethodCallsWithParameterAsReceiver():86:86 -> n
    1:1:boolean isParameterMutated():91:91 -> o
    1:1:boolean isParameterUsedAsLock():101:101 -> p
com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext -> com.android.tools.r8.internal.AH:
    java.util.Map backing -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():14:14 -> <clinit>
    1:3:void <init>(java.util.Map):18:20 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext asKnown() -> a
    1:1:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isBottom():0:0 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):46 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):49:49 -> a
    3:3:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isBottom():0:0 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):49 -> a
    4:5:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):52:53 -> a
    6:6:void com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.forEach(java.util.function.BiConsumer):42:42 -> a
    6:6:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):53 -> a
    7:7:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.create(java.util.Map):24:24 -> a
    7:7:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):58 -> a
    8:8:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.bottom():49:49 -> a
    8:8:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.create(java.util.Map):24 -> a
    8:8:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):58 -> a
    9:9:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.create(java.util.Map):24:24 -> a
    9:9:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext):58 -> a
    10:11:boolean allMatch(java.util.function.BiPredicate):33:34 -> a
    12:12:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$externalize$1(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):87:87 -> a
    13:13:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isTop():0:0 -> a
    13:13:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$externalize$1(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):87 -> a
    14:14:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$externalize$1(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):87:87 -> a
    15:15:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.bottom():87:87 -> a
    15:15:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    16:16:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57:57 -> a
    17:17:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isBottom():0:0 -> a
    17:17:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):68 -> a
    17:17:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    18:18:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):71:71 -> a
    18:18:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    19:19:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isBottom():0:0 -> a
    19:19:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):71 -> a
    19:19:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    20:20:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isTop():0:0 -> a
    20:20:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):74 -> a
    20:20:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    21:21:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):77:77 -> a
    21:21:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    22:22:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.top():91:91 -> a
    22:22:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):75 -> a
    22:22:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):57 -> a
    23:23:void lambda$join$0(java.util.Map,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):55:55 -> a
    24:24:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext):95:95 -> a
    25:25:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.top():91:91 -> a
    25:25:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext):95 -> a
    26:26:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext):95:95 -> a
    27:49:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction):106:128 -> a
    50:50:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.create(java.util.Map):24:24 -> a
    50:50:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction):128 -> a
    51:51:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.bottom():49:49 -> a
    51:51:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.create(java.util.Map):24 -> a
    51:51:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction):128 -> a
    52:52:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext.create(java.util.Map):24:24 -> a
    52:52:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction):128 -> a
    1:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():70:71 -> b
    3:3:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isBottom():0:0 -> b
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():71 -> b
    4:4:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isTop():0:0 -> b
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():74 -> b
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.bottom():49:49 -> b
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():79 -> b
    6:6:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.top():53:53 -> b
    6:6:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():82 -> b
    7:9:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():86:88 -> b
    10:10:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isBottom():0:0 -> b
    10:10:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():88 -> b
    11:11:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():88:88 -> b
    12:12:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> b
    12:12:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():89 -> b
    13:13:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize():89:89 -> b
    1:2:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext createInitial():28:29 -> c
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.bottom():87:87 -> c
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext createInitial():29 -> c
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext createInitial():29:29 -> c
    1:1:int getNumberOfContexts():99:99 -> d
    1:6:boolean equals(java.lang.Object):133:138 -> equals
    1:1:int hashCode():143:143 -> hashCode
com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages -> com.android.tools.r8.internal.BH:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap backing -> a
    com.android.tools.r8.ir.code.AssumeAndCheckCastAliasedValueConfiguration aliasedValueConfiguration -> b
    boolean $assertionsDisabled -> c
    1:4:void <clinit>():65:68 -> <clinit>
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):72:74 -> <init>
    1:1:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):209 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):212:212 -> a
    3:3:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):212 -> a
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):215:215 -> a
    5:5:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):167:167 -> a
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):215 -> a
    6:13:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages join(com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):216:223 -> a
    14:14:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.bottom():49:49 -> a
    14:14:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):222 -> a
    15:15:java.lang.Object com.android.tools.r8.utils.Int2ObjectMapUtils.getOrDefault(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,java.lang.Object):18:18 -> a
    15:15:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):221 -> a
    16:16:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):221:221 -> a
    17:17:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):220:220 -> a
    18:18:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> a
    18:18:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):39 -> a
    18:18:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):220 -> a
    19:19:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):42:42 -> a
    19:19:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):220 -> a
    20:20:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.top():53:53 -> a
    20:20:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):40 -> a
    20:20:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):220 -> a
    21:21:void lambda$join$5(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):218:218 -> a
    22:22:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):78:78 -> a
    23:23:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.bottom():64:64 -> a
    23:23:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):78 -> a
    24:24:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):78:78 -> a
    25:26:boolean allMatch(com.android.tools.r8.utils.IntObjPredicate):82:83 -> a
    27:27:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.top():91:91 -> a
    27:27:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$abandonClassInliningInCurrentContexts$1(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):136 -> a
    28:28:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):120:120 -> a
    29:29:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):167:167 -> a
    29:29:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):120 -> a
    30:30:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):122:122 -> a
    31:31:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages.create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):78:78 -> a
    31:31:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):123 -> a
    32:32:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.bottom():64:64 -> a
    32:32:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages.create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):78 -> a
    32:32:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):123 -> a
    33:33:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages.create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap):78:78 -> a
    33:33:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):123 -> a
    34:34:void forEach(com.android.tools.r8.utils.IntObjConsumer):127:127 -> a
    35:36:void com.android.tools.r8.utils.Int2ObjectMapUtils.forEach(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,com.android.tools.r8.utils.IntObjConsumer):12:13 -> a
    35:36:void forEach(com.android.tools.r8.utils.IntObjConsumer):127 -> a
    37:37:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext get(int):132:132 -> a
    38:38:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.top():53:53 -> a
    38:38:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext get(int):132 -> a
    39:39:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext get(int):132:132 -> a
    40:40:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages abandonClassInliningInCurrentContexts(com.android.tools.r8.ir.code.Value):136:136 -> a
    41:49:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages abandonClassInliningInCurrentContexts(java.util.Collection):140:148 -> a
    50:50:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$abandonClassInliningInCurrentContexts$3(int[],int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):150:150 -> a
    51:51:boolean com.android.tools.r8.utils.ArrayUtils.containsInt(int[],int):17:17 -> a
    51:51:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$abandonClassInliningInCurrentContexts$3(int[],int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):150 -> a
    52:52:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$abandonClassInliningInCurrentContexts$3(int[],int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):151:151 -> a
    53:55:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages abandonClassInliningInCurrentContexts(java.lang.Iterable,java.util.function.Predicate):157:159 -> a
    56:56:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    56:56:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages abandonClassInliningInCurrentContexts(java.lang.Iterable,java.util.function.Predicate):159 -> a
    57:57:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    57:57:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages abandonClassInliningInCurrentContexts(java.lang.Iterable,java.util.function.Predicate):159 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    58:62:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages abandonClassInliningInCurrentContexts(java.lang.Iterable,java.util.function.Predicate):160:164 -> a
    63:63:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameter(com.android.tools.r8.ir.code.Value,java.util.function.BiFunction):169:169 -> a
    64:64:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    64:64:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameter(com.android.tools.r8.ir.code.Value,java.util.function.BiFunction):169 -> a
    65:65:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    65:65:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameter(com.android.tools.r8.ir.code.Value,java.util.function.BiFunction):169 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:68:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameter(com.android.tools.r8.ir.code.Value,java.util.function.BiFunction):170:172 -> a
    69:69:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$rebuildParameter$4(int,java.util.function.BiFunction,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):175:175 -> a
    70:77:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameters(com.android.tools.r8.utils.IntObjToObjFunction):183:190 -> a
    78:78:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.<init>():119:119 -> a
    78:78:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameters(com.android.tools.r8.utils.IntObjToObjFunction):190 -> a
    79:92:com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages rebuildParameters(com.android.tools.r8.utils.IntObjToObjFunction):192:205 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.top():91:91 -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$abandonClassInliningInCurrentContexts$2(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):151 -> b
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$externalize$0(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):98:98 -> b
    com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages asNonEmpty() -> d
    1:6:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize():97:102 -> e
    7:7:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isBottom():0:0 -> e
    7:7:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize():102 -> e
    8:8:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> e
    8:8:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize():105 -> e
    9:9:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.bottom():64:64 -> e
    9:9:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize():110 -> e
    10:10:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.top():68:68 -> e
    10:10:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize():113 -> e
    1:5:boolean equals(java.lang.Object):228:232 -> equals
    1:1:int hashCode():237:237 -> hashCode
com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage -> com.android.tools.r8.internal.GL:
    1:1:void <init>():11:11 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addCastWithParameter(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addFieldReadFromParameter(com.android.tools.r8.graph.DexField) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.InternalNonEmptyParameterUsage asInternalNonEmpty() -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsage asNonEmpty() -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.BottomParameterUsage bottom():87:87 -> c
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage externalize() -> d
    boolean isBottom() -> e
    boolean isParameterReturned() -> f
    boolean isTop() -> g
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterMutated() -> h
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned() -> i
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock() -> j
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage top():91:91 -> k
com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext -> com.android.tools.r8.internal.HL:
    1:1:void <init>():9:9 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsagePerContext asKnown() -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize() -> b
com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages -> com.android.tools.r8.internal.IL:
    1:1:void <init>():10:10 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext get(int) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext) -> a
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10:10 -> a
    2:2:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):46 -> a
    2:2:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):49:49 -> a
    3:3:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10 -> a
    4:4:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    4:4:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):49 -> a
    4:4:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10 -> a
    5:5:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isTop():0:0 -> a
    5:5:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):52 -> a
    5:5:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10 -> a
    6:6:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):55:55 -> a
    6:6:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10 -> a
    7:7:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.top():68:68 -> a
    7:7:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.join(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):53 -> a
    7:7:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):10 -> a
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState() -> c
    com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages asNonEmpty() -> d
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize() -> e
    boolean isTop() -> f
com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction -> com.android.tools.r8.internal.WY:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    java.util.Set instructionsOfInterest -> g
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> i
    com.android.tools.r8.ir.code.InvokeDirect constructorInvoke -> e
    java.util.Set argumentsOfInterest -> f
    com.android.tools.r8.ir.code.Argument lastArgument -> d
    com.android.tools.r8.graph.ProgramMethod method -> c
    com.android.tools.r8.ir.code.AliasedValueConfiguration aliasedValueConfiguration -> h
    1:4:void <clinit>():55:58 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):79:79 -> <init>
    2:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):72:83 -> <init>
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):55:55 -> a
    2:2:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState computeBlockEntryState(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):55:55 -> a
    3:4:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):89:90 -> a
    5:14:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeArgument(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):155:164 -> a
    5:14:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):91 -> a
    15:15:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeArgument(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):157:157 -> a
    15:15:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):91 -> a
    16:16:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.top():53:53 -> a
    16:16:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeArgument(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):157 -> a
    16:16:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):91 -> a
    17:17:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeArgument(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):157:157 -> a
    17:17:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):91 -> a
    18:19:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):94:95 -> a
    20:20:com.android.tools.r8.ir.analysis.framework.intraprocedural.FailedTransferFunctionResult com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.fail():347:347 -> a
    20:20:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):96 -> a
    21:26:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):100:105 -> a
    27:27:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    27:27:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):105 -> a
    28:29:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):105:106 -> a
    30:30:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isTop():0:0 -> a
    30:30:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):106 -> a
    31:32:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):106:107 -> a
    33:57:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):112:136 -> a
    33:57:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    58:58:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):134:134 -> a
    58:58:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    59:59:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):132:132 -> a
    59:59:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    60:60:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):130:130 -> a
    60:60:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    61:61:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):128:128 -> a
    61:61:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    62:73:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):298:309 -> a
    62:73:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):128 -> a
    62:73:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    74:74:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):126:126 -> a
    74:74:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    75:75:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):124:124 -> a
    75:75:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    76:76:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):122:122 -> a
    76:76:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    77:77:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):120:120 -> a
    77:77:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    78:78:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):118:118 -> a
    78:78:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    79:80:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):183:184 -> a
    79:80:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):118 -> a
    79:80:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    81:81:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    81:81:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):184 -> a
    81:81:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):118 -> a
    81:81:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    82:82:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    82:82:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):184 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    82:82:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):118 -> a
    82:82:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    83:88:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeIf(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):184:189 -> a
    83:88:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):118 -> a
    83:88:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    89:89:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):116:116 -> a
    89:89:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    90:90:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):114:114 -> a
    90:90:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    91:91:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.analyzeAssume(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):169:169 -> a
    91:91:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):114 -> a
    91:91:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):107 -> a
    92:92:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):108:108 -> a
    93:93:boolean lambda$apply$0(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):95:95 -> a
    94:94:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> a
    94:94:boolean lambda$apply$0(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):95 -> a
    95:99:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):174:178 -> a
    100:100:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):177:177 -> a
    101:101:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$analyzeCheckCast$1(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):178:178 -> a
    102:107:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstanceGet(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):196:201 -> a
    108:113:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstanceGet(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):200:205 -> a
    114:114:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$analyzeInstanceGet$2(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):202:202 -> a
    115:115:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):213:213 -> a
    116:116:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    116:116:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):213 -> a
    117:117:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    117:117:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):213 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    118:122:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):214:218 -> a
    123:123:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    123:123:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):218 -> a
    124:124:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    124:124:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):218 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    125:133:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInstancePut(com.android.tools.r8.ir.code.InstancePut,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):219:227 -> a
    134:134:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$analyzeInstancePut$3(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):225:225 -> a
    135:135:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):236:236 -> a
    136:139:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):235:238 -> a
    140:140:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    140:140:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):238 -> a
    141:141:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    141:141:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):238 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    142:147:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):239:244 -> a
    148:148:boolean com.android.tools.r8.ir.code.InvokeDirect.isInvokeConstructor(com.android.tools.r8.graph.DexItemFactory):120:120 -> a
    148:148:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):245 -> a
    149:159:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):249:259 -> a
    160:160:boolean com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo.receiverMayEscapeOutsideConstructorChain():72:72 -> a
    160:160:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):260 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    161:169:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):261:269 -> a
    170:170:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeDirect(com.android.tools.r8.ir.code.InvokeDirect,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):246:246 -> a
    171:171:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeInterface(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):278:278 -> a
    172:175:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeInterface(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):277:280 -> a
    176:176:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    176:176:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeInterface(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):280 -> a
    177:177:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    177:177:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeInterface(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):280 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    178:188:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeInterface(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):281:291 -> a
    189:189:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$analyzeInvokeInterface$4(com.android.tools.r8.ir.code.InvokeInterface,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):292:292 -> a
    190:190:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):317:317 -> a
    191:194:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):316:319 -> a
    195:195:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    195:195:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):319 -> a
    196:196:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    196:196:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):319 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    197:207:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):320:330 -> a
    208:208:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$analyzeInvokeVirtual$5(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):331:331 -> a
    209:209:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeMonitor(com.android.tools.r8.ir.code.Monitor,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):338:338 -> a
    210:210:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeMonitor(com.android.tools.r8.ir.code.Monitor,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):337:337 -> a
    211:211:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeReturn(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):343:343 -> a
    212:212:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages analyzeReturn(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):342:342 -> a
    213:213:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages fail(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):352:352 -> a
    214:214:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages fail(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages):351:351 -> a
    215:215:boolean isArgumentOfInterest(com.android.tools.r8.ir.code.Value):356:356 -> a
    216:216:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    216:216:boolean isArgumentOfInterest(com.android.tools.r8.ir.code.Value):356 -> a
    217:217:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    217:217:boolean isArgumentOfInterest(com.android.tools.r8.ir.code.Value):356 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    218:219:boolean isArgumentOfInterest(com.android.tools.r8.ir.code.Value):356:357 -> a
    220:230:boolean isMaybeEligibleForClassInlining(com.android.tools.r8.ir.analysis.type.TypeElement):361:371 -> a
    231:240:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.isMaybeEligibleForClassInlining(com.android.tools.r8.graph.DexProgramClass):378:387 -> a
    231:240:boolean isMaybeEligibleForClassInlining(com.android.tools.r8.ir.analysis.type.TypeElement):371 -> a
    241:241:boolean isMaybeEligibleForClassInlining(com.android.tools.r8.ir.analysis.type.TypeElement):372:372 -> a
    242:242:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.isMaybeEligibleForClassInlining(com.android.tools.r8.graph.ClasspathOrLibraryClass):393:393 -> a
    242:242:boolean isMaybeEligibleForClassInlining(com.android.tools.r8.ir.analysis.type.TypeElement):372 -> a
    243:243:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):399:399 -> a
    244:244:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsages.rebuildParameters(com.android.tools.r8.utils.IntObjToObjFunction):65:65 -> a
    244:244:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):400 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    245:245:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    245:245:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):413 -> a
    246:246:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isTop():0:0 -> a
    246:246:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):414 -> a
    247:247:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):415:415 -> a
    248:248:com.android.tools.r8.ir.analysis.framework.intraprocedural.FailedTransferFunctionResult com.android.tools.r8.ir.optimize.classinliner.analysis.TransferFunction.fail():347:347 -> a
    248:248:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult widen(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):416 -> a
    249:249:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$widen$9(int,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):402:402 -> a
    250:250:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isBottom():0:0 -> a
    250:250:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$widen$9(int,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):402 -> a
    251:251:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> a
    251:251:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$widen$9(int,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):402 -> a
    252:254:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$widen$9(int,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):405:407 -> a
    255:255:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.top():53:53 -> a
    255:255:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext lambda$widen$9(int,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):409 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$analyzeMonitor$6(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):338:338 -> b
    2:2:boolean lambda$widen$10(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):415:415 -> b
    3:3:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.isTop():0:0 -> b
    3:3:boolean lambda$widen$10(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):415 -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage lambda$analyzeReturn$7(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):343:343 -> c
    1:1:boolean lambda$widen$8(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):408:408 -> d
    2:2:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.isTop():0:0 -> d
    2:2:boolean lambda$widen$8(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage):408 -> d
com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage -> com.android.tools.r8.internal.O00:
    com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage TOP -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addCastWithParameter(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addFieldReadFromParameter(com.android.tools.r8.graph.DexField) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage addMethodCallWithParameterAsReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage externalize() -> d
    boolean isParameterReturned() -> f
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterMutated() -> h
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterReturned() -> i
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage setParameterUsedAsLock() -> j
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage getInstance():18:18 -> l
com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext -> com.android.tools.r8.internal.P00:
    com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext INSTANCE -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext rebuild(java.util.function.BiFunction) -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsage com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage.top():91:91 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage get(com.android.tools.r8.ir.optimize.classinliner.analysis.AnalysisContext):27 -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext externalize() -> b
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext getInstance():17:17 -> c
com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsages -> com.android.tools.r8.internal.Q00:
    com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsages INSTANCE -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages put(int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext) -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsagePerContext com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext.top():53:53 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext get(int):26 -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages externalize() -> e
    1:1:boolean equals(java.lang.Object):47:47 -> equals
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.UnknownParameterUsages getInstance():16:16 -> g
    1:1:int hashCode():52:52 -> hashCode
com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysFalseClassInlinerMethodConstraint -> com.android.tools.r8.internal.C1:
    com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysFalseClassInlinerMethodConstraint INSTANCE -> a
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>():20:20 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isEligibleForNewInstanceClassInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,int) -> a
    boolean isEligibleForStaticGetClassInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState,com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage getParameterUsage(int):34:34 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysFalseClassInlinerMethodConstraint getInstance():23:23 -> c
com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysTrueClassInlinerMethodConstraint -> com.android.tools.r8.internal.J1:
    com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysTrueClassInlinerMethodConstraint INSTANCE -> a
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>():20:20 -> <init>
    com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isEligibleForNewInstanceClassInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,int) -> a
    boolean isEligibleForStaticGetClassInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState,com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage getParameterUsage(int):34:34 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysTrueClassInlinerMethodConstraint getInstance():23:23 -> c
com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint -> com.android.tools.r8.internal.ja:
    com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage getParameterUsage(int) -> a
    boolean isEligibleForNewInstanceClassInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,int) -> a
    boolean isEligibleForStaticGetClassInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState,com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysFalseClassInlinerMethodConstraint alwaysFalse():36:36 -> a
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.AlwaysTrueClassInlinerMethodConstraint alwaysTrue():40:40 -> b
com.android.tools.r8.ir.optimize.classinliner.constraint.ConditionalClassInlinerMethodConstraint -> com.android.tools.r8.internal.id:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages usages -> a
    1:1:void <clinit>():29:29 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages):33:35 -> <init>
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):41:41 -> a
    2:2:boolean com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsages.isBottom():0:0 -> a
    2:2:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):41 -> a
    3:3:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):44:44 -> a
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.<init>():119:119 -> a
    4:4:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):44 -> a
    5:23:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):45:63 -> a
    24:25:void lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):49:50 -> a
    26:26:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    26:26:void lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):55 -> a
    27:32:void lambda$fixupAfterParametersChanged$0(com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,int,com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsagePerContext):56:61 -> a
    33:34:com.android.tools.r8.ir.optimize.classinliner.analysis.ParameterUsage getParameterUsage(int):68:69 -> a
    35:43:boolean isEligibleForNewInstanceClassInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,int):78:86 -> a
    44:49:boolean com.android.tools.r8.ir.optimize.classinliner.constraint.ConditionalClassInlinerMethodConstraint.hasUnsafeCast(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsage):145:150 -> a
    44:49:boolean isEligibleForNewInstanceClassInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,int):87 -> a
    50:66:boolean isEligibleForStaticGetClassInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState,com.android.tools.r8.graph.ProgramMethod):100:116 -> a
    67:72:boolean com.android.tools.r8.ir.optimize.classinliner.constraint.ConditionalClassInlinerMethodConstraint.hasUnsafeCast(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.classinliner.analysis.NonEmptyParameterUsage):145:150 -> a
    67:72:boolean isEligibleForStaticGetClassInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState,com.android.tools.r8.graph.ProgramMethod):120 -> a
    73:84:boolean isEligibleForStaticGetClassInlining(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,int,com.android.tools.r8.ir.analysis.value.objectstate.ObjectState,com.android.tools.r8.graph.ProgramMethod):123:134 -> a
com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer -> com.android.tools.r8.internal.HX:
    com.android.tools.r8.ir.optimize.controlflow.SwitchCaseAnalyzer INSTANCE -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():15:17 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    1:14:boolean switchCaseIsAlwaysHit(com.android.tools.r8.ir.code.Switch,int):26:39 -> a
    15:31:boolean switchCaseIsUnreachable(com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.analysis.value.AbstractValue,int):44:60 -> a
    32:43:boolean switchFallthroughIsNeverHit(com.android.tools.r8.ir.code.Switch,com.android.tools.r8.ir.analysis.value.AbstractValue):64:75 -> a
com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer -> com.android.tools.r8.internal.Uh:
    com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer INSTANCE -> a
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>():29:29 -> <init>
    void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions) -> a
    void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod) -> a
    void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens) -> a
    void recordEnumState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues) -> a
    1:1:com.android.tools.r8.ir.optimize.enums.EnumDataMap com.android.tools.r8.ir.optimize.enums.EnumDataMap.empty():20:20 -> a
    1:1:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):80 -> a
    2:2:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):80:80 -> a
    3:3:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):65:65 -> a
    void onMethodPruned(com.android.tools.r8.graph.ProgramMethod) -> b
    void rewriteWithLens() -> b
    void unsetRewriter() -> c
    void updateEnumUnboxingCandidatesInfo() -> d
    1:1:com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer get():32:32 -> e
com.android.tools.r8.ir.optimize.enums.EnumDataMap -> com.android.tools.r8.internal.xi:
    com.android.tools.r8.com.google.common.collect.ImmutableMap map -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():16:16 -> <clinit>
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap):23:24 -> <init>
    1:2:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData get(com.android.tools.r8.graph.DexProgramClass):40:41 -> a
    3:4:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData getInstanceFieldData(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):51:52 -> a
    5:6:int getUnboxedValue(com.android.tools.r8.graph.DexField):61:62 -> a
    7:7:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getUnboxedValue(com.android.tools.r8.graph.DexField):114:114 -> a
    7:7:int getUnboxedValue(com.android.tools.r8.graph.DexField):62 -> a
    8:8:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getUnboxedValue(com.android.tools.r8.graph.DexField):114:114 -> a
    8:8:int getUnboxedValue(com.android.tools.r8.graph.DexField):62 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getUnboxedValue(com.android.tools.r8.graph.DexField):114:114 -> a
    9:9:int getUnboxedValue(com.android.tools.r8.graph.DexField):62 -> a
    10:10:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getUnboxedValue(com.android.tools.r8.graph.DexField):115:115 -> a
    10:10:int getUnboxedValue(com.android.tools.r8.graph.DexField):62 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getUnboxedValue(com.android.tools.r8.graph.DexField):115:115 -> a
    11:11:int getUnboxedValue(com.android.tools.r8.graph.DexField):62 -> a
    12:13:int getValuesSize(com.android.tools.r8.graph.DexType):66:67 -> a
    14:14:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():139:139 -> a
    14:14:int getValuesSize(com.android.tools.r8.graph.DexType):67 -> a
    15:15:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasValues():135:135 -> a
    15:15:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():139 -> a
    15:15:int getValuesSize(com.android.tools.r8.graph.DexType):67 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    16:16:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():139:139 -> a
    16:16:int getValuesSize(com.android.tools.r8.graph.DexType):67 -> a
    17:17:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():140:140 -> a
    17:17:int getValuesSize(com.android.tools.r8.graph.DexType):67 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:18:int getMaxValuesSize():72:72 -> a
    19:19:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasValues():135:135 -> a
    19:19:int getMaxValuesSize():73 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:int com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.getValuesSize():139:139 -> a
    20:20:int getMaxValuesSize():74 -> a
    21:21:int getMaxValuesSize():74:74 -> a
    1:1:boolean isUnboxedEnum(com.android.tools.r8.graph.DexType):32:32 -> b
    2:2:java.util.Set getUnboxedEnums():46:46 -> b
    3:4:boolean hasUnboxedValueFor(com.android.tools.r8.graph.DexField):56:57 -> b
    5:5:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.DexField):123:123 -> b
    5:5:boolean hasUnboxedValueFor(com.android.tools.r8.graph.DexField):57 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.DexField):123:123 -> b
    6:6:boolean hasUnboxedValueFor(com.android.tools.r8.graph.DexField):57 -> b
    1:1:boolean isEmpty():36:36 -> c
    2:3:boolean matchesValuesField(com.android.tools.r8.graph.DexField):81:82 -> c
    4:4:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.DexField):131:131 -> c
    4:4:boolean matchesValuesField(com.android.tools.r8.graph.DexField):82 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.DexField):131:131 -> c
    5:5:boolean matchesValuesField(com.android.tools.r8.graph.DexField):82 -> c
com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData -> com.android.tools.r8.internal.wi:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.com.google.common.collect.ImmutableMap unboxedValues -> b
    int valuesSize -> d
    com.android.tools.r8.com.google.common.collect.ImmutableMap instanceFieldMap -> a
    com.android.tools.r8.com.google.common.collect.ImmutableSet valuesFields -> c
    1:1:void <clinit>():85:85 -> <clinit>
    1:5:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableSet,int):101:105 -> <init>
    1:2:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData getInstanceFieldData(com.android.tools.r8.graph.DexField):109:110 -> a
com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData -> com.android.tools.r8.internal.Ci:
    1:1:void <init>():24:24 -> <init>
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData asEnumFieldKnownData() -> a
    boolean isUnknown() -> b
com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData -> com.android.tools.r8.internal.yi:
    1:1:void <init>():52:52 -> <init>
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData asEnumFieldKnownData() -> a
    boolean isUnknown() -> b
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData asEnumFieldMappingData() -> c
    boolean isMapping() -> d
    boolean isOrdinal() -> e
com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData -> com.android.tools.r8.internal.zi:
    com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap mapping -> a
    1:2:void <init>(com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap):88:89 -> <init>
    1:1:void forEach(java.util.function.BiConsumer):112:112 -> a
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData asEnumFieldMappingData() -> c
    boolean isMapping() -> d
    boolean isOrdinal() -> e
com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldOrdinalData -> com.android.tools.r8.internal.Ai:
    1:1:void <init>():73:73 -> <init>
    boolean isMapping() -> d
    boolean isOrdinal() -> e
com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldUnknownData -> com.android.tools.r8.internal.Bi:
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldUnknownData INSTANCE -> a
    1:1:void <clinit>():38:38 -> <clinit>
    1:1:void <init>():44:44 -> <init>
    boolean isUnknown() -> b
    1:1:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldUnknownData getInstance():41:41 -> c
com.android.tools.r8.ir.optimize.enums.EnumUnboxer -> com.android.tools.r8.internal.Fi:
    1:1:void <init>():25:25 -> <init>
    void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions) -> a
    void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod) -> a
    void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens) -> a
    void recordEnumState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues) -> a
    java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription) -> a
    void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed) -> a
    1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxer create(com.android.tools.r8.graph.AppView):28:28 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer com.android.tools.r8.ir.optimize.enums.EnumUnboxer.empty():32:32 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.EnumUnboxer create(com.android.tools.r8.graph.AppView):28 -> a
    3:3:com.android.tools.r8.ir.optimize.enums.EmptyEnumUnboxer empty():32:32 -> a
    void onMethodPruned(com.android.tools.r8.graph.ProgramMethod) -> b
    void rewriteWithLens() -> b
    void unsetRewriter() -> c
    void updateEnumUnboxingCandidatesInfo() -> d
com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl -> com.android.tools.r8.internal.Hi:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection enumUnboxingCandidatesInfo -> c
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter enumUnboxerRewriter -> i
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set candidatesToRemoveInWave -> d
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.DexClassAndField ordinalField -> h
    com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder checkNotNullMethodsBuilder -> g
    java.util.Map staticFieldValuesMap -> e
    com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder methodsDependingOnLibraryModelisation -> f
    1:1:void <clinit>():136:136 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):162:162 -> <init>
    2:33:void <init>(com.android.tools.r8.graph.AppView):143:174 -> <init>
    com.android.tools.r8.utils.collections.LongLivedClassSetBuilder lambda$unboxEnums$4(com.android.tools.r8.utils.collections.LongLivedClassSetBuilder,com.android.tools.r8.graph.GraphLens) -> a
    1:1:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues.isEnumStaticFieldValues():0:0 -> a
    1:1:void recordEnumState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):968 -> a
    2:5:void recordEnumState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.fieldvalueanalysis.StaticFieldValues):971:974 -> a
    6:6:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl):136:136 -> a
    7:14:com.android.tools.r8.graph.DexProgramClass getEnumUnboxingCandidateOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):214:221 -> a
    15:22:com.android.tools.r8.graph.DexProgramClass getEnumUnboxingCandidateOrNull(com.android.tools.r8.graph.DexType):228:235 -> a
    23:62:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):240:279 -> a
    63:70:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set,com.android.tools.r8.graph.ProgramMethod):394:401 -> a
    63:70:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):279 -> a
    71:81:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):276:286 -> a
    82:85:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction,java.util.Set,com.android.tools.r8.graph.ProgramMethod):380:383 -> a
    82:85:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):285 -> a
    86:86:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> a
    86:86:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction,java.util.Set,com.android.tools.r8.graph.ProgramMethod):383 -> a
    86:86:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):285 -> a
    87:90:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeFieldInstruction(com.android.tools.r8.ir.code.FieldInstruction,java.util.Set,com.android.tools.r8.graph.ProgramMethod):384:387 -> a
    87:90:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):285 -> a
    91:91:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):273:273 -> a
    92:94:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeInitClass(com.android.tools.r8.ir.code.InitClass,java.util.Set):437:439 -> a
    92:94:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):273 -> a
    95:95:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267:267 -> a
    96:109:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):460:473 -> a
    96:109:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    110:110:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    110:110:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):473 -> a
    110:110:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    111:111:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    111:111:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):473 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    111:111:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    112:112:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):473:473 -> a
    112:112:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    113:113:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):484:484 -> a
    113:113:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):474 -> a
    113:113:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    114:114:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    114:114:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):484 -> a
    114:114:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):474 -> a
    114:114:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    115:115:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):485:485 -> a
    115:115:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):474 -> a
    115:115:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    116:116:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    116:116:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):491 -> a
    116:116:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):474 -> a
    116:116:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    117:121:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):492:496 -> a
    117:121:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):474 -> a
    117:121:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    122:122:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):527:527 -> a
    122:122:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):499 -> a
    122:122:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):474 -> a
    122:122:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    123:123:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markMethodDependsOnLibraryModelisation(com.android.tools.r8.graph.ProgramMethod):210:210 -> a
    123:123:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):500 -> a
    123:123:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):474 -> a
    123:123:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    124:124:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):503:503 -> a
    124:124:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):474 -> a
    124:124:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    125:125:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markMethodDependsOnLibraryModelisation(com.android.tools.r8.graph.ProgramMethod):210:210 -> a
    125:125:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):505 -> a
    125:125:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):474 -> a
    125:125:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    126:132:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):510:516 -> a
    126:132:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):474 -> a
    126:132:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    133:133:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isUnboxableNameMethod(com.android.tools.r8.graph.DexMethod):532:532 -> a
    133:133:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.isLegitimateConstClassUser(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):518 -> a
    133:133:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):474 -> a
    133:133:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    134:138:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeConstClass(com.android.tools.r8.ir.code.ConstClass,java.util.Set,com.android.tools.r8.graph.ProgramMethod):475:479 -> a
    134:138:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):267 -> a
    139:139:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):270:270 -> a
    140:149:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):416:425 -> a
    140:149:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):270 -> a
    150:152:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):444:446 -> a
    150:152:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):429 -> a
    150:152:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):270 -> a
    153:153:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):445:445 -> a
    153:153:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):429 -> a
    153:153:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):270 -> a
    154:157:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCast(com.android.tools.r8.ir.code.CheckCast,java.util.Set):430:433 -> a
    154:157:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):270 -> a
    158:177:void analyzeEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodConversionOptions$MutableMethodConversionOptions):291:310 -> a
    178:180:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markEnumEligible(com.android.tools.r8.graph.DexType,java.util.Set):315:317 -> a
    178:180:void lambda$analyzeInvokeCustom$0(java.util.Set,com.android.tools.r8.graph.DexType):330 -> a
    181:183:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.invalidateEnum(com.android.tools.r8.graph.DexType):322:324 -> a
    181:183:void lambda$analyzeInvokeCustom$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):346 -> a
    184:186:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.invalidateEnum(com.android.tools.r8.graph.DexType):322:324 -> a
    184:186:void lambda$analyzeInvokeCustom$2(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):347 -> a
    187:187:void analyzeInvokeCustom(com.android.tools.r8.ir.code.InvokeCustom,java.util.Set,com.android.tools.r8.graph.ProgramMethod):330:330 -> a
    188:188:com.android.tools.r8.graph.DexProto com.android.tools.r8.graph.DexCallSite.getMethodProto():110:110 -> a
    188:188:void analyzeInvokeCustom(com.android.tools.r8.ir.code.InvokeCustom,java.util.Set,com.android.tools.r8.graph.ProgramMethod):330 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    189:202:void analyzeInvokeCustom(com.android.tools.r8.ir.code.InvokeCustom,java.util.Set,com.android.tools.r8.graph.ProgramMethod):330:343 -> a
    203:203:void analyzeInvokeCustomParameters(com.android.tools.r8.ir.code.InvokeCustom,java.util.function.Consumer):354:354 -> a
    204:204:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> a
    204:204:void analyzeInvokeCustomParameters(com.android.tools.r8.ir.code.InvokeCustom,java.util.function.Consumer):355 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    205:206:void analyzeInvokeCustomParameters(com.android.tools.r8.ir.code.InvokeCustom,java.util.function.Consumer):355:356 -> a
    207:207:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):358:358 -> a
    208:208:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> a
    208:208:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):358 -> a
    209:209:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):360:360 -> a
    210:210:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    210:210:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):361 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    211:211:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    211:211:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):361 -> a
    212:214:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):362:364 -> a
    215:215:void com.android.tools.r8.graph.DexProto.forEachType(java.util.function.Consumer):78:78 -> a
    215:215:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):364 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    216:217:void com.android.tools.r8.graph.DexProto.forEachType(java.util.function.Consumer):78:79 -> a
    216:217:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):364 -> a
    218:218:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):366:366 -> a
    219:219:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    219:219:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):366 -> a
    220:223:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):366:369 -> a
    224:224:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodType():0:0 -> a
    224:224:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):371 -> a
    225:225:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):372:372 -> a
    226:226:void com.android.tools.r8.graph.DexProto.forEachType(java.util.function.Consumer):78:78 -> a
    226:226:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):373 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    227:228:void com.android.tools.r8.graph.DexProto.forEachType(java.util.function.Consumer):78:79 -> a
    227:228:void lambda$analyzeInvokeCustomParameters$3(java.util.function.Consumer,com.android.tools.r8.graph.DexValue):373 -> a
    229:253:void addNullDependencies(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,java.util.Set):538:562 -> a
    254:255:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):569:570 -> a
    256:288:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1001:1033 -> a
    256:288:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    289:289:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1013:1013 -> a
    289:289:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    290:292:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):444:446 -> a
    290:292:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCastUser(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1100 -> a
    290:292:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1013 -> a
    290:292:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    293:293:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.allowCheckCast(com.android.tools.r8.ir.code.CheckCast):445:445 -> a
    293:293:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCastUser(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1100 -> a
    293:293:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1013 -> a
    293:293:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    294:296:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeCheckCastUser(com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1101:1103 -> a
    294:296:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1013 -> a
    294:296:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    297:297:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1004:1004 -> a
    297:297:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    298:298:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeAssumeUser(com.android.tools.r8.ir.code.Assume,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1043:1043 -> a
    298:298:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1004 -> a
    298:298:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    299:299:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1011:1011 -> a
    299:299:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    300:315:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeArrayPutUser(com.android.tools.r8.ir.code.ArrayPut,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1076:1091 -> a
    300:315:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1011 -> a
    300:315:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    316:316:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1009:1009 -> a
    316:316:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    317:317:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1008:1008 -> a
    317:317:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    318:343:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1006:1031 -> a
    318:343:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    344:344:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1029:1029 -> a
    344:344:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    345:349:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeReturnUser(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1361:1365 -> a
    345:349:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1029 -> a
    345:349:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    350:350:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1021:1021 -> a
    350:350:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    351:351:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1020:1020 -> a
    351:351:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    352:352:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1018:1018 -> a
    352:352:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    353:356:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeInstanceGetUser(com.android.tools.r8.ir.code.InstanceGet,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1160:1163 -> a
    353:356:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1017 -> a
    353:356:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    357:357:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1015:1015 -> a
    357:357:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    358:358:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1137:1137 -> a
    358:358:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1015 -> a
    358:358:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    359:359:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":390,"2":391,"3":392}}
    390:390:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1137:1137 -> a
    390:390:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1015 -> a
    390:390:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    391:391:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1137:1137 -> a
    391:391:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1015 -> a
    391:391:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    392:392:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1137:1137 -> a
    392:392:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1015 -> a
    392:392:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    360:373:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeIfUser(com.android.tools.r8.ir.code.If,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1138:1151 -> a
    360:373:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.instructionAllowEnumUnboxing(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1015 -> a
    360:373:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):571 -> a
    374:389:com.android.tools.r8.ir.optimize.enums.eligibility.Reason validateEnumUsages(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexProgramClass):572:587 -> a
    393:393:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):597:597 -> a
    394:396:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.initializeCheckNotNullMethods(com.android.tools.r8.graph.GraphLens):603:605 -> a
    394:396:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):598 -> a
    397:402:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.initializeEnumUnboxingCandidates(com.android.tools.r8.graph.GraphLens):610:615 -> a
    397:402:void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens):599 -> a
    403:405:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):633:635 -> a
    406:414:com.android.tools.r8.ir.optimize.enums.EnumDataMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.finishAnalysis():763:771 -> a
    406:414:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):636 -> a
    415:435:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):637:657 -> a
    436:436:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses.builder(com.android.tools.r8.graph.AppView):60:60 -> a
    436:436:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):660 -> a
    437:443:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):661:667 -> a
    444:444:com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView,java.util.function.BiFunction):63:63 -> a
    444:444:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):667 -> a
    445:467:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):667:689 -> a
    468:468:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    468:468:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):692 -> a
    469:469:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):693:693 -> a
    470:476:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):690:696 -> a
    477:477:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.rewrittenWithLens(com.android.tools.r8.graph.AppView):138:138 -> a
    477:477:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):696 -> a
    478:478:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):697:697 -> a
    479:483:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):694:698 -> a
    484:490:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.updateOptimizationInfos(java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result,com.android.tools.r8.graph.GraphLens):717:723 -> a
    484:490:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):700 -> a
    491:494:void unboxEnums(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed):702:705 -> a
    495:495:java.util.Set lambda$unboxEnums$5(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.LongLivedClassSetBuilder):668:668 -> a
    496:498:boolean lambda$unboxEnums$6(com.android.tools.r8.graph.ProgramMethod,java.util.Set):672:674 -> a
    499:499:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    499:499:boolean lambda$unboxEnums$6(com.android.tools.r8.graph.ProgramMethod,java.util.Set):674 -> a
    500:501:void updateKeepInfo(java.util.Set):755:756 -> a
    502:502:void lambda$updateKeepInfo$7(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):759:759 -> a
    503:503:void lambda$updateKeepInfo$7(java.util.Set,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):758:758 -> a
    504:519:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):794:809 -> a
    504:519:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    520:520:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1454:1454 -> a
    520:520:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):811 -> a
    520:520:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    521:532:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):817:828 -> a
    521:532:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    533:533:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1454:1454 -> a
    533:533:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):827 -> a
    533:533:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    534:534:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():182:182 -> a
    534:534:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):959 -> a
    534:534:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):831 -> a
    534:534:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    535:536:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):959:960 -> a
    535:536:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):831 -> a
    535:536:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    537:537:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    537:537:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):960 -> a
    537:537:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):831 -> a
    537:537:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    538:540:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):961:963 -> a
    538:540:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):831 -> a
    538:540:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    541:545:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):832:836 -> a
    541:545:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    546:546:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1454:1454 -> a
    546:546:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):833 -> a
    546:546:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    547:562:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):839:854 -> a
    547:562:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    563:563:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1454:1454 -> a
    563:563:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):853 -> a
    563:563:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    564:564:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):857:857 -> a
    564:564:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    565:565:boolean com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.isEnumValuesObjectState():0:0 -> a
    565:565:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):857 -> a
    565:565:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    566:568:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):857:859 -> a
    566:568:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    569:586:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):858:875 -> a
    569:586:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    587:587:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():182:182 -> a
    587:587:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):959 -> a
    587:587:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):875 -> a
    587:587:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    588:589:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):959:960 -> a
    588:589:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):875 -> a
    588:589:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    590:590:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    590:590:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):960 -> a
    590:590:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):875 -> a
    590:590:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    591:593:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):961:963 -> a
    591:593:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):875 -> a
    591:593:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    594:594:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):875:875 -> a
    594:594:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    595:595:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinalField():182:182 -> a
    595:595:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):959 -> a
    595:595:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):876 -> a
    595:595:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    596:597:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):959:960 -> a
    596:597:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):876 -> a
    596:597:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    598:598:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    598:598:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):960 -> a
    598:598:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):876 -> a
    598:598:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    599:601:java.util.OptionalInt com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.getOrdinal(com.android.tools.r8.ir.analysis.value.objectstate.ObjectState):961:963 -> a
    599:601:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):876 -> a
    599:601:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    602:603:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):876:877 -> a
    602:603:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    604:605:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):902:903 -> a
    604:605:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):886 -> a
    604:605:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    606:609:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):923:926 -> a
    606:609:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):905 -> a
    606:609:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):886 -> a
    606:609:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    610:610:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> a
    610:610:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):928 -> a
    610:610:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):905 -> a
    610:610:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):886 -> a
    610:610:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    611:611:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):929:929 -> a
    611:611:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):905 -> a
    611:611:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):886 -> a
    611:611:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    612:612:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> a
    612:612:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():33 -> a
    612:612:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):929 -> a
    612:612:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):905 -> a
    612:612:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):886 -> a
    612:612:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    613:617:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):930:934 -> a
    613:617:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):905 -> a
    613:617:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):886 -> a
    613:617:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    618:618:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1454:1454 -> a
    618:618:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):933 -> a
    618:618:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):905 -> a
    618:618:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):886 -> a
    618:618:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    619:619:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):935:935 -> a
    619:619:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):905 -> a
    619:619:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):886 -> a
    619:619:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    620:620:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    620:620:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):937 -> a
    620:620:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):905 -> a
    620:620:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):886 -> a
    620:620:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    621:624:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):937:940 -> a
    621:624:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):905 -> a
    621:624:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):886 -> a
    621:624:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    625:625:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1454:1454 -> a
    625:625:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):938 -> a
    625:625:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):905 -> a
    625:625:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):886 -> a
    625:625:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    626:640:com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):941:955 -> a
    626:640:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):905 -> a
    626:640:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):886 -> a
    626:640:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    641:651:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.computeRequiredEnumInstanceFieldsData(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):906:916 -> a
    641:651:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):886 -> a
    641:651:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    652:656:com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.buildData(com.android.tools.r8.graph.DexProgramClass,java.util.Set):891:895 -> a
    652:656:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):779 -> a
    657:657:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):782:782 -> a
    658:658:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection.removeCandidate(com.android.tools.r8.graph.DexProgramClass):46:46 -> a
    658:658:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):782 -> a
    659:659:void lambda$analyzeEnumInstances$8(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):786:786 -> a
    660:673:void lambda$analyzeInitializers$9(com.android.tools.r8.graph.DexProgramClass):981:994 -> a
    674:679:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1114:1119 -> a
    680:680:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):63:63 -> a
    680:680:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1119 -> a
    681:681:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    681:681:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):63 -> a
    681:681:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1119 -> a
    682:691:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeFieldPutUser(com.android.tools.r8.ir.code.FieldInstruction,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1121:1130 -> a
    692:712:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1173:1193 -> a
    713:713:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    713:713:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1193 -> a
    714:717:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1193:1196 -> a
    718:730:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1191:1203 -> a
    731:731:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    731:731:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1203 -> a
    732:734:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1205:1207 -> a
    735:741:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1206:1212 -> a
    742:756:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1210:1224 -> a
    757:757:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    757:757:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getArgumentForParameter(int):280 -> a
    757:757:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1225 -> a
    758:759:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getArgumentForParameter(int):280:281 -> a
    758:759:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1225 -> a
    760:770:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1226:1236 -> a
    771:771:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    771:771:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1239 -> a
    772:775:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1240:1243 -> a
    776:776:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    776:776:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1243 -> a
    777:777:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1243:1243 -> a
    778:801:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1265:1288 -> a
    778:801:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1246 -> a
    802:802:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1278:1278 -> a
    802:802:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1246 -> a
    803:803:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):527:527 -> a
    803:803:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1279 -> a
    803:803:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1246 -> a
    804:804:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1280:1280 -> a
    804:804:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1246 -> a
    805:826:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1270:1291 -> a
    805:826:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1246 -> a
    827:868:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1272:1313 -> a
    827:868:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1246 -> a
    869:876:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1311:1318 -> a
    869:876:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1246 -> a
    877:877:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):527:527 -> a
    877:877:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1319 -> a
    877:877:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1246 -> a
    878:909:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1320:1351 -> a
    878:909:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1246 -> a
    910:915:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1328:1333 -> a
    910:915:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1246 -> a
    916:916:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.addRequiredNameData(com.android.tools.r8.graph.DexProgramClass):527:527 -> a
    916:916:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1330 -> a
    916:916:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1246 -> a
    917:917:com.android.tools.r8.ir.optimize.enums.eligibility.Reason com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.analyzeLibraryInvoke(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass):1331:1331 -> a
    917:917:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1246 -> a
    918:918:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1249:1249 -> a
    919:919:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markMethodDependsOnLibraryModelisation(com.android.tools.r8.graph.ProgramMethod):210:210 -> a
    919:919:com.android.tools.r8.ir.optimize.enums.eligibility.Reason analyzeInvokeUser(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.code.Value):1250 -> a
    920:921:void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod):1475:1476 -> a
    922:925:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1486:1489 -> a
    1:1:boolean markEnumAsUnboxable(com.android.tools.r8.ir.optimize.enums.eligibility.Reason,com.android.tools.r8.graph.DexProgramClass):200:200 -> b
    2:2:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1454:1454 -> b
    2:2:boolean markEnumAsUnboxable(com.android.tools.r8.ir.optimize.enums.eligibility.Reason,com.android.tools.r8.graph.DexProgramClass):201 -> b
    3:3:boolean markEnumAsUnboxable(com.android.tools.r8.ir.optimize.enums.eligibility.Reason,com.android.tools.r8.graph.DexProgramClass):203:203 -> b
    4:6:void com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.markEnumEligible(com.android.tools.r8.graph.DexType,java.util.Set):315:317 -> b
    4:6:void lambda$analyzeInvokeCustom$1(java.util.Set,com.android.tools.r8.graph.DexType):341 -> b
    7:9:void invalidateEnum(com.android.tools.r8.graph.DexType):322:324 -> b
    10:11:void rewriteWithLens():621:622 -> b
    12:12:com.android.tools.r8.utils.collections.LongLivedClassSetBuilder lambda$analyzeInvokeUser$10(com.android.tools.r8.graph.GraphLens):1214:1214 -> b
    13:13:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):1470:1470 -> b
    1:1:void unsetRewriter():1494:1494 -> c
    1:2:void updateEnumUnboxingCandidatesInfo():187:188 -> d
    3:3:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection.removeCandidate(com.android.tools.r8.graph.DexProgramClass):46:46 -> d
    3:3:void updateEnumUnboxingCandidatesInfo():188 -> d
    4:4:void updateEnumUnboxingCandidatesInfo():190:190 -> d
    1:15:com.android.tools.r8.ir.optimize.enums.EnumDataMap analyzeEnumInstances():776:790 -> e
    1:1:void analyzeInitializers():979:979 -> f
    1:1:com.android.tools.r8.graph.DexClassAndField getOrdinalField():182:182 -> g
com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl$1 -> com.android.tools.r8.internal.Gi:
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens val$graphLens -> a
    com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl this$0 -> d
    com.android.tools.r8.graph.GraphLens val$codeLens -> b
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result val$treeFixerResult -> c
    1:1:void <init>(com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result):726:726 -> <init>
    1:2:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):729:730 -> a
    3:3:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo.fixupClassTypeReferences(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):39:39 -> a
    3:3:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):730 -> a
    4:5:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):730:731 -> a
    6:7:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):737:738 -> a
    8:8:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupClassTypeReferences(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):176:176 -> a
    8:8:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):738 -> a
    9:12:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):738:741 -> a
    13:21:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):740:748 -> a
com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis -> com.android.tools.r8.internal.Ki:
    com.android.tools.r8.graph.DexItemFactory factory -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection enumToUnboxCandidates -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl enumUnboxer -> b
    1:1:void <clinit>():20:20 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl):33:33 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl):30:36 -> <init>
    1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):41:41 -> a
    2:2:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):41 -> a
    3:3:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):46:46 -> a
    4:18:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):60:74 -> a
    4:18:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):47 -> a
    19:19:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1454:1454 -> a
    19:19:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):74 -> a
    19:19:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):47 -> a
    20:20:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):66:66 -> a
    20:20:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):47 -> a
    21:21:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxerImpl.reportFailure(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.eligibility.Reason):1454:1454 -> a
    21:21:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.isEnumUnboxingCandidate(com.android.tools.r8.graph.DexProgramClass):66 -> a
    21:21:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):47 -> a
    22:22:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):48:48 -> a
    23:23:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotations():83:83 -> a
    23:23:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):51 -> a
    24:24:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    24:24:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotations():84 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):51 -> a
    25:25:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    25:25:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotations():84 -> a
    25:25:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):51 -> a
    26:26:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotations():85:85 -> a
    26:26:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):51 -> a
    27:29:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotation(com.android.tools.r8.graph.DexProgramClass):94:96 -> a
    27:29:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotations():86 -> a
    27:29:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):51 -> a
    30:35:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotation(com.android.tools.r8.graph.DexProgramClass):95:100 -> a
    30:35:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removeEnumsInAnnotations():86 -> a
    30:35:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):51 -> a
    36:40:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):52:56 -> a
    41:41:com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection findCandidates(com.android.tools.r8.graph.GraphLens):44:44 -> a
    42:46:void removePinnedCandidates():110:114 -> a
    47:47:void lambda$removePinnedCandidates$0(com.android.tools.r8.graph.DexField):113:113 -> a
    48:50:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removePinnedIfNotHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexType):126:128 -> a
    48:50:void lambda$removePinnedCandidates$0(com.android.tools.r8.graph.DexField):113 -> a
    51:52:void lambda$removePinnedCandidates$1(com.android.tools.r8.graph.DexMethod):116:117 -> a
    53:55:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removePinnedIfNotHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexType):126:128 -> a
    53:55:void lambda$removePinnedCandidates$1(com.android.tools.r8.graph.DexMethod):117 -> a
    56:56:void lambda$removePinnedCandidates$1(com.android.tools.r8.graph.DexMethod):118:118 -> a
    57:59:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateAnalysis.removePinnedIfNotHolder(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexType):126:128 -> a
    57:59:void lambda$removePinnedCandidates$1(com.android.tools.r8.graph.DexMethod):119 -> a
    60:62:void removePinnedCandidate(com.android.tools.r8.graph.DexType):133:135 -> a
com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection -> com.android.tools.r8.internal.Mi:
    java.util.Map enumTypeToInfo -> a
    java.util.Set prunedMethods -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():26:26 -> <clinit>
    1:4:void <init>():26:29 -> <init>
    1:2:void addCandidate(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GraphLens):35:36 -> a
    3:3:void addPrunedMethod(com.android.tools.r8.graph.ProgramMethod):42:42 -> a
    4:8:com.android.tools.r8.graph.DexProgramClass getCandidateClassOrNull(com.android.tools.r8.graph.DexType):74:78 -> a
    9:16:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder allMethodDependencies():82:89 -> a
    17:21:void addMethodDependency(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):97:101 -> a
    22:26:void addRequiredEnumInstanceFieldData(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexField):108:112 -> a
    27:27:void forEachCandidate(java.util.function.Consumer):116:116 -> a
    28:28:void lambda$forEachCandidate$0(java.util.function.Consumer,com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection$EnumUnboxingCandidateInfo):116:116 -> a
    29:31:void forEachCandidateAndRequiredInstanceFieldData(java.util.function.BiConsumer):121:123 -> a
    32:32:void lambda$forEachCandidateAndRequiredInstanceFieldData$1(java.util.function.BiConsumer,com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection$EnumUnboxingCandidateInfo):124:124 -> a
    1:1:boolean isCandidate(com.android.tools.r8.graph.DexType):54:54 -> b
    2:6:com.android.tools.r8.com.google.common.collect.ImmutableSet candidateClasses():66:70 -> b
    1:1:void removeCandidate(com.android.tools.r8.graph.DexType):50:50 -> c
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet candidates():62:62 -> c
    1:1:void clear():128:128 -> d
    1:1:boolean isEmpty():58:58 -> e
com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection$EnumUnboxingCandidateInfo -> com.android.tools.r8.internal.Li:
    java.util.Set requiredInstanceFieldData -> c
    com.android.tools.r8.graph.DexProgramClass enumClass -> a
    com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder methodDependencies -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():131:131 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GraphLens):140:140 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.GraphLens):135:145 -> <init>
    1:1:com.android.tools.r8.graph.DexProgramClass access$000(com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection$EnumUnboxingCandidateInfo):131:131 -> a
    2:2:com.android.tools.r8.graph.DexProgramClass getEnumClass():150:150 -> a
    3:3:void addMethodDependency(com.android.tools.r8.graph.ProgramMethod):154:154 -> a
    4:4:void addRequiredInstanceFieldData(com.android.tools.r8.graph.DexField):158:158 -> a
    1:1:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder access$100(com.android.tools.r8.ir.optimize.enums.EnumUnboxingCandidateInfoCollection$EnumUnboxingCandidateInfo):131:131 -> b
    2:2:java.util.Set getRequiredInstanceFieldData():162:162 -> b
com.android.tools.r8.ir.optimize.enums.EnumUnboxingCfMethods -> com.android.tools.r8.internal.Qi:
    1:1:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):47:47 -> a
    2:22:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):51:71 -> a
    23:23:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
    23:23:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):71 -> a
    24:34:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):71:81 -> a
    35:47:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):78:90 -> a
    48:48:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
    48:48:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):90 -> a
    49:51:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):90:92 -> a
    52:92:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):59:99 -> a
    93:93:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    93:93:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):99 -> a
    94:94:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a
    94:94:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    94:94:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):99 -> a
    95:95:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a
    95:95:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    95:95:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_compareTo(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):99 -> a
    1:23:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):103:125 -> b
    24:36:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):122:134 -> b
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    37:37:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):134 -> b
    38:52:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):134:148 -> b
    53:53:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    53:53:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):148 -> b
    54:64:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):148:158 -> b
    65:65:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    65:65:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):158 -> b
    66:69:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):158:161 -> b
    70:122:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):113:165 -> b
    123:123:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> b
    123:123:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> b
    124:124:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> b
    124:124:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> b
    124:124:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> b
    125:125:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> b
    125:125:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> b
    125:125:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_equals(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):165 -> b
    1:21:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):169:189 -> c
    22:32:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):186:196 -> c
    33:33:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> c
    33:33:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):196 -> c
    34:35:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):196:197 -> c
    36:63:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):177:204 -> c
    64:64:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> c
    64:64:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):204 -> c
    65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> c
    65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> c
    65:65:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):204 -> c
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> c
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> c
    66:66:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_ordinal(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):204 -> c
    1:21:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):268:288 -> d
    22:32:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):285:295 -> d
    33:33:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> d
    33:33:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):295 -> d
    34:35:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):295:296 -> d
    36:60:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):276:300 -> d
    61:61:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> d
    61:61:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):300 -> d
    62:62:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> d
    62:62:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> d
    62:62:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):300 -> d
    63:63:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> d
    63:63:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> d
    63:63:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheck(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):300 -> d
    1:23:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):305:327 -> e
    24:37:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):323:336 -> e
    38:38:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> e
    38:38:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):336 -> e
    39:41:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):336:338 -> e
    42:71:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):313:342 -> e
    72:72:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> e
    72:72:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):342 -> e
    73:73:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> e
    73:73:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> e
    73:73:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):342 -> e
    74:74:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> e
    74:74:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> e
    74:74:com.android.tools.r8.graph.CfCode EnumUnboxingMethods_zeroCheckMessage(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):342 -> e
com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens -> com.android.tools.r8.internal.Si:
    java.util.Map prototypeChangesPerMethod -> o
    com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory -> n
    com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnums -> p
    boolean $assertionsDisabled -> q
    1:1:void <clinit>():37:37 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,com.android.tools.r8.utils.collections.BidirectionalOneToManyRepresentativeMap,java.util.Map,java.util.Map):49:53 -> <init>
    1:4:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):71:74 -> a
    5:9:com.android.tools.r8.ir.analysis.value.SingleValue com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens.rewriteSingleValue(com.android.tools.r8.ir.analysis.value.SingleValue):98:102 -> a
    5:9:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):75 -> a
    10:10:com.android.tools.r8.ir.analysis.value.SingleValue com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens.rewriteSingleValue(com.android.tools.r8.ir.analysis.value.SingleValue):101:101 -> a
    10:10:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):75 -> a
    11:16:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):79:84 -> a
    17:33:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):78:94 -> a
    34:37:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):111:114 -> a
    38:38:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder enumUnboxingLensBuilder(com.android.tools.r8.graph.AppView):120:120 -> a
    boolean hasCustomCodeRewritings() -> f
    boolean isEnumUnboxerLens() -> h
com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder -> com.android.tools.r8.internal.Ri:
    java.util.Map typeMap -> b
    boolean $assertionsDisabled -> f
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToManyRepresentativeMap newMethodSignatures -> d
    java.util.Map prototypeChangesPerMethod -> e
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newFieldSignatures -> c
    1:1:void <clinit>():123:123 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):135:135 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView):126:136 -> <init>
    1:2:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder mapUnboxedEnums(java.util.Set):140:141 -> a
    3:3:void move(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):150:150 -> a
    4:9:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,java.util.List):163:168 -> a
    10:10:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> a
    10:10:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,java.util.List):169 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> a
    11:11:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,java.util.List):169 -> a
    12:22:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,java.util.List):169:179 -> a
    23:37:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,java.util.List):174:188 -> a
    38:51:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,java.util.List):186:199 -> a
    52:52:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.proto.RewrittenPrototypeDescription.createForRewrittenTypes(com.android.tools.r8.graph.proto.RewrittenTypeInfo,com.android.tools.r8.graph.proto.ArgumentInfoCollection):69:69 -> a
    52:52:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,java.util.List):199 -> a
    53:54:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean,java.util.List):200:201 -> a
    55:57:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):207:209 -> a
    58:61:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):208:211 -> a
    62:65:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):210:213 -> a
    66:69:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):212:215 -> a
    70:70:void recordCheckNotZeroMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):214:214 -> a
    71:77:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens build(com.android.tools.r8.graph.AppView):219:225 -> a
com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter -> com.android.tools.r8.internal.Ti:
    com.android.tools.r8.ir.optimize.enums.EnumDataMap unboxedEnumsData -> e
    java.util.Map checkNotNullToCheckNotZeroMapping -> b
    com.android.tools.r8.graph.DexItemFactory factory -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens enumUnboxingLens -> f
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses utilityClasses -> g
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():55:55 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens,com.android.tools.r8.ir.optimize.enums.EnumDataMap,com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses):70:77 -> <init>
    1:5:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):120:124 -> a
    6:7:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):90:91 -> a
    6:7:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):125 -> a
    8:9:int com.android.tools.r8.ir.code.IRCode.getNumberOfArguments():1086:1087 -> a
    8:9:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):93 -> a
    8:9:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):125 -> a
    10:18:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):94:102 -> a
    10:18:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):125 -> a
    19:19:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    19:19:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):103 -> a
    19:19:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):125 -> a
    20:21:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):104:105 -> a
    20:21:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):125 -> a
    22:22:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.graph.DexType):604:604 -> a
    22:22:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):105 -> a
    22:22:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):125 -> a
    23:23:java.util.Map com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.createInitialConvertedEnums(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):107:107 -> a
    23:23:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):125 -> a
    24:31:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):126:133 -> a
    32:33:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.fixNullsInBlockPhis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value):531:532 -> a
    32:33:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):134 -> a
    34:37:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):597:600 -> a
    34:37:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.fixNullsInBlockPhis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value):532 -> a
    34:37:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):134 -> a
    38:38:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.graph.DexType):604:604 -> a
    38:38:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):600 -> a
    38:38:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.fixNullsInBlockPhis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value):532 -> a
    38:38:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):134 -> a
    39:41:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.fixNullsInBlockPhis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value):533:535 -> a
    39:41:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):134 -> a
    42:46:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.insertConstZero(com.android.tools.r8.ir.code.IRCode):548:552 -> a
    42:46:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.fixNullsInBlockPhis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value):537 -> a
    42:46:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):134 -> a
    47:47:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.fixNullsInBlockPhis(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.Value):539:539 -> a
    47:47:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):134 -> a
    48:56:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):135:143 -> a
    57:57:boolean com.android.tools.r8.ir.code.Instruction.isInitClass():0:0 -> a
    57:57:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):143 -> a
    58:59:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):144:145 -> a
    60:60:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.graph.DexType):604:604 -> a
    60:60:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):145 -> a
    61:78:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):147:164 -> a
    79:106:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):163:190 -> a
    107:107:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():85:85 -> a
    107:107:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):192 -> a
    108:108:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):192:192 -> a
    109:117:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):191:199 -> a
    118:118:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getLocalUtilityClass(com.android.tools.r8.graph.DexType):81:81 -> a
    118:118:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNameMethod(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.conversion.MethodProcessor):524 -> a
    118:118:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):200 -> a
    119:122:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNameMethod(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.conversion.MethodProcessor):524:527 -> a
    119:122:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):200 -> a
    123:123:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNameMethod(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.conversion.MethodProcessor):526:526 -> a
    123:123:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):200 -> a
    124:125:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):202:203 -> a
    126:126:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> a
    126:126:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):207 -> a
    127:127:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getLocalUtilityClass(com.android.tools.r8.graph.DexType):81:81 -> a
    127:127:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNameMethod(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.conversion.MethodProcessor):524 -> a
    127:127:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):208 -> a
    128:131:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNameMethod(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.conversion.MethodProcessor):524:527 -> a
    128:131:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):208 -> a
    132:132:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNameMethod(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.conversion.MethodProcessor):526:526 -> a
    132:132:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):208 -> a
    133:133:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):211:211 -> a
    134:134:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNullCheck(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):494:494 -> a
    134:134:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):212 -> a
    135:135:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():85:85 -> a
    135:135:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNullCheck(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):495 -> a
    135:135:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):212 -> a
    136:136:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNullCheck(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):495:495 -> a
    136:136:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):212 -> a
    137:137:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():85:85 -> a
    137:137:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):197 -> a
    138:138:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):197:197 -> a
    139:139:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):196:196 -> a
    140:140:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():85:85 -> a
    140:140:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):188 -> a
    141:141:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):188:188 -> a
    142:175:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):187:220 -> a
    176:176:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getLocalUtilityClass(com.android.tools.r8.graph.DexType):81:81 -> a
    176:176:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):223 -> a
    177:179:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):223:225 -> a
    180:180:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    180:180:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):225 -> a
    181:181:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexClassAndMethod):307:307 -> a
    181:181:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):226 -> a
    182:182:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):226:226 -> a
    183:183:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    183:183:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):227 -> a
    184:194:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):227:237 -> a
    195:195:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Instruction.clearOutValue():157:157 -> a
    195:195:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):238 -> a
    196:205:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):238:247 -> a
    206:206:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    206:206:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):252 -> a
    207:207:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):254:254 -> a
    208:216:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):366:374 -> a
    208:216:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    217:217:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    217:217:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):375 -> a
    217:217:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    218:218:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):375:375 -> a
    218:218:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    219:219:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    219:219:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):379 -> a
    219:219:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    220:221:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):379:380 -> a
    220:221:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    222:222:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getLocalUtilityClass(com.android.tools.r8.graph.DexType):81:81 -> a
    222:222:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):383 -> a
    222:222:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    223:227:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):383:387 -> a
    223:227:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    228:228:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    228:228:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):387 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    228:228:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    229:245:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):388:404 -> a
    229:245:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    246:246:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    246:246:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):405 -> a
    246:246:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    247:247:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):406:406 -> a
    247:247:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    248:248:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNullCheck(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):494:494 -> a
    248:248:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):408 -> a
    248:248:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    249:249:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():85:85 -> a
    249:249:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNullCheck(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):495 -> a
    249:249:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):408 -> a
    249:249:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    250:250:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteNullCheck(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):495:495 -> a
    250:250:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):408 -> a
    250:250:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    251:252:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):410:411 -> a
    251:252:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    253:253:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    253:253:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):412 -> a
    253:253:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    254:254:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):413:413 -> a
    254:254:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    255:255:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():85:85 -> a
    255:255:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):418 -> a
    255:255:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    256:256:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):418:418 -> a
    256:256:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    257:269:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):415:427 -> a
    257:269:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    270:270:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    270:270:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):428 -> a
    270:270:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    271:271:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):429:429 -> a
    271:271:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    272:272:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getLocalUtilityClass(com.android.tools.r8.graph.DexType):81:81 -> a
    272:272:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):432 -> a
    272:272:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    273:276:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):432:435 -> a
    273:276:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    277:290:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):433:446 -> a
    277:290:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    291:291:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    291:291:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):447 -> a
    291:291:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    292:295:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):448:451 -> a
    292:295:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    296:296:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    296:296:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):457 -> a
    296:296:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    297:309:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):457:469 -> a
    297:309:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    310:310:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    310:310:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):469 -> a
    310:310:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    311:313:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):471:473 -> a
    311:313:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    314:314:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    314:314:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):476 -> a
    314:314:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    315:315:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexClassAndMethod):307:307 -> a
    315:315:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):477 -> a
    315:315:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    316:327:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.rewriteInvokeStatic(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.ProgramMethod,java.util.Map,com.android.tools.r8.ir.code.InstructionListIterator,java.util.Set,com.android.tools.r8.ir.conversion.MethodProcessor):477:488 -> a
    316:327:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):253 -> a
    328:328:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    328:328:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):262 -> a
    329:345:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):263:279 -> a
    346:352:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):278:284 -> a
    353:353:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    353:353:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):284 -> a
    354:354:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():85:85 -> a
    354:354:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):285 -> a
    355:355:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):285:285 -> a
    356:356:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexClassAndMethod):307:307 -> a
    356:356:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):285 -> a
    357:358:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):285:286 -> a
    359:359:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    359:359:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):287 -> a
    360:364:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):287:291 -> a
    365:365:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.removeRedundantValuesArrayCloning(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set,java.util.Set):500:500 -> a
    365:365:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):297 -> a
    366:366:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    366:366:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.removeRedundantValuesArrayCloning(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set,java.util.Set):500 -> a
    366:366:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):297 -> a
    367:367:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    367:367:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.removeRedundantValuesArrayCloning(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set,java.util.Set):500 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    367:367:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):297 -> a
    368:379:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.removeRedundantValuesArrayCloning(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set,java.util.Set):500:511 -> a
    368:379:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):297 -> a
    380:380:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.removeRedundantValuesArrayCloning(com.android.tools.r8.ir.code.InvokeStatic,java.util.Set,java.util.Set):509:509 -> a
    380:380:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):297 -> a
    381:384:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):298:301 -> a
    385:385:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    385:385:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):301 -> a
    386:387:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):302:303 -> a
    388:388:boolean com.android.tools.r8.ir.code.Instruction.isInstanceGet():0:0 -> a
    388:388:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):309 -> a
    389:393:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):310:314 -> a
    394:396:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.ensureInstanceFieldMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.conversion.MethodProcessor):556:558 -> a
    394:396:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):314 -> a
    397:397:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getSharedUtilityClass():85:85 -> a
    397:397:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.ensureInstanceFieldMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.conversion.MethodProcessor):559 -> a
    397:397:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):314 -> a
    398:400:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.ensureInstanceFieldMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.conversion.MethodProcessor):559:561 -> a
    398:400:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):314 -> a
    401:401:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getLocalUtilityClass(com.android.tools.r8.graph.DexType):81:81 -> a
    401:401:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.ensureInstanceFieldMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.conversion.MethodProcessor):561 -> a
    401:401:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):314 -> a
    402:402:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.ensureInstanceFieldMethod(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.conversion.MethodProcessor):561:561 -> a
    402:402:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):314 -> a
    403:403:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):317:317 -> a
    404:404:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    404:404:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):316 -> a
    405:419:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):318:332 -> a
    420:433:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.ir.code.ArrayAccess,java.util.Map):609:622 -> a
    420:433:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):333 -> a
    434:441:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):335:342 -> a
    442:449:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.validateArrayAccess(com.android.tools.r8.ir.code.ArrayAccess):577:584 -> a
    442:449:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):342 -> a
    450:450:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.validateArrayAccess(com.android.tools.r8.ir.code.ArrayAccess):582:582 -> a
    450:450:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):342 -> a
    451:451:boolean com.android.tools.r8.ir.code.Instruction.isNewUnboxedEnumInstance():0:0 -> a
    451:451:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):345 -> a
    452:453:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):346:347 -> a
    454:454:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.code.NewUnboxedEnumInstance.getType():59:59 -> a
    454:454:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):347 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    455:458:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):347:350 -> a
    459:459:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    459:459:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):349 -> a
    460:466:java.util.Set rewriteCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):348:354 -> a
    467:473:void replaceEnumInvoke(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):566:572 -> a
    474:476:void replaceEnumInvoke(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):571:573 -> a
    477:478:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):589:590 -> a
    479:479:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    479:479:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):590 -> a
    480:480:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):590:590 -> a
    481:481:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isInt():0:0 -> a
    481:481:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):590 -> a
    482:485:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):597:600 -> a
    482:485:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):593 -> a
    486:486:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.graph.DexType):604:604 -> a
    486:486:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.EnumUnboxingRewriter.getEnumTypeOrNull(com.android.tools.r8.ir.analysis.type.TypeElement):600 -> a
    486:486:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):593 -> a
    487:487:com.android.tools.r8.graph.DexType getEnumTypeOrNull(com.android.tools.r8.ir.code.Value,java.util.Map):591:591 -> a
com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer -> com.android.tools.r8.internal.Vi:
    com.android.tools.r8.ir.optimize.enums.EnumDataMap enumDataMap -> e
    com.android.tools.r8.graph.DexItemFactory factory -> d
    com.android.tools.r8.graph.AppView appView -> b
    java.util.Set unboxedEnums -> f
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses utilityClasses -> g
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder lensBuilder -> a
    boolean $assertionsDisabled -> h
    com.android.tools.r8.utils.collections.ProgramMethodMap checkNotNullMethods -> c
    1:1:void <clinit>():73:73 -> <clinit>
    1:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.ir.optimize.enums.EnumDataMap,java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses):88:97 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple com.android.tools.r8.ir.optimize.info.OptimizationFeedback.getSimple():44:44 -> a
    1:1:void lambda$duplicateCheckNotNullMethods$5(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):217 -> a
    2:2:void lambda$duplicateCheckNotNullMethods$5(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):216:216 -> a
    3:3:com.android.tools.r8.graph.DexEncodedMethod lambda$fixupTypeReferences$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):129:129 -> a
    4:67:com.android.tools.r8.com.google.common.collect.BiMap duplicateCheckNotNullMethods(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):151:214 -> a
    68:68:boolean lambda$duplicateCheckNotNullMethods$1(com.android.tools.r8.graph.ProgramMethod,java.util.Set):159:159 -> a
    69:70:boolean com.android.tools.r8.utils.SetUtils.containsAnyOf(java.util.Set,java.lang.Iterable):19:20 -> a
    69:70:boolean lambda$duplicateCheckNotNullMethods$1(com.android.tools.r8.graph.ProgramMethod,java.util.Set):159 -> a
    71:78:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):167:174 -> a
    79:79:com.android.tools.r8.graph.DexType[] com.android.tools.r8.graph.DexTypeList.getBacking():63:63 -> a
    79:79:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):174 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    80:80:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):175:175 -> a
    81:82:java.lang.Object[] com.android.tools.r8.utils.ImmutableArrayUtils.set(java.lang.Object[],int,java.lang.Object):10:11 -> a
    81:82:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):173 -> a
    83:83:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):173:173 -> a
    84:99:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):171:186 -> a
    100:125:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):180:205 -> a
    126:129:void lambda$duplicateCheckNotNullMethods$4(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.graph.ProgramMethod,java.util.Set):204:207 -> a
    130:133:void lambda$duplicateCheckNotNullMethods$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):190:193 -> a
    134:134:com.android.tools.r8.cf.CfVersion com.android.tools.r8.graph.DexEncodedMethod.getClassFileVersionOrElse(com.android.tools.r8.cf.CfVersion):814:814 -> a
    134:134:void lambda$duplicateCheckNotNullMethods$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):194 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    135:135:com.android.tools.r8.cf.CfVersion com.android.tools.r8.graph.DexEncodedMethod.getClassFileVersionOrElse(com.android.tools.r8.cf.CfVersion):814:814 -> a
    135:135:void lambda$duplicateCheckNotNullMethods$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):194 -> a
    136:146:void lambda$duplicateCheckNotNullMethods$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):191:201 -> a
    147:152:void lambda$duplicateCheckNotNullMethods$3(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder):198:203 -> a
    153:153:com.android.tools.r8.graph.Code lambda$duplicateCheckNotNullMethods$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):197:197 -> a
    154:162:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):239:247 -> a
    163:163:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses.getLocalUtilityClass(com.android.tools.r8.graph.DexProgramClass):46:46 -> a
    163:163:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):247 -> a
    164:186:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):250:272 -> a
    187:187:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    187:187:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):272 -> a
    188:194:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):276:282 -> a
    195:195:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    195:195:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):282 -> a
    196:196:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    196:196:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):282 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    197:207:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):282:292 -> a
    208:208:com.android.tools.r8.ir.code.ConstClass$Builder com.android.tools.r8.ir.code.ConstClass.builder():42:42 -> a
    208:208:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):294 -> a
    209:211:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):295:297 -> a
    212:212:com.android.tools.r8.ir.analysis.type.ClassTypeElement com.android.tools.r8.ir.analysis.type.TypeElement.classClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):436:436 -> a
    212:212:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):297 -> a
    213:221:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):296:304 -> a
    222:227:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):303:308 -> a
    228:228:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":679,"2":680,"3":681}}
    679:679:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):308:308 -> a
    680:680:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    680:680:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):308 -> a
    681:681:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    681:681:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):308 -> a
    537:539:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):309:311 -> a
    540:540:com.android.tools.r8.ir.code.InvokeDirect com.android.tools.r8.ir.code.NewInstance.getUniqueConstructorInvoke(com.android.tools.r8.graph.DexItemFactory):50:50 -> a
    540:540:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):311 -> a
    541:549:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):312:320 -> a
    550:550:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410:410 -> a
    550:550:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):320 -> a
    551:551:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    551:551:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410 -> a
    551:551:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):320 -> a
    552:559:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):321:328 -> a
    560:560:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):98:98 -> a
    560:560:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):329 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    561:561:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):98:98 -> a
    561:561:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):329 -> a
    562:562:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):330:330 -> a
    563:563:com.android.tools.r8.ir.code.InvokeDirect$Builder com.android.tools.r8.ir.code.InvokeDirect.builder():49:49 -> a
    563:563:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):335 -> a
    564:600:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):336:372 -> a
    601:610:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):369:378 -> a
    611:611:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    611:611:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):378 -> a
    612:626:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):378:392 -> a
    627:627:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):391:391 -> a
    628:628:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    628:628:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):390 -> a
    629:629:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):390:390 -> a
    630:640:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):386:396 -> a
    641:641:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    641:641:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):396 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    642:647:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):397:402 -> a
    648:649:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):560:561 -> a
    648:649:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):403 -> a
    650:650:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.ProgramField):119:119 -> a
    650:650:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):561 -> a
    650:650:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):403 -> a
    651:651:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.DexField):123:123 -> a
    651:651:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.ProgramField):119 -> a
    651:651:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):561 -> a
    651:651:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):403 -> a
    652:652:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.ProgramField):127:127 -> a
    652:652:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):561 -> a
    652:652:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):403 -> a
    653:653:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.DexField):131:131 -> a
    653:653:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.ProgramField):127 -> a
    653:653:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):561 -> a
    653:653:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):403 -> a
    654:654:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):562:562 -> a
    654:654:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):403 -> a
    655:661:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):404:410 -> a
    662:662:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    662:662:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):411 -> a
    663:668:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):412:417 -> a
    669:669:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    669:669:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):417 -> a
    670:670:java.lang.Object com.android.tools.r8.ir.code.IRCodeInstructionListIterator.previous():24:24 -> a
    670:670:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):418 -> a
    671:677:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):420:426 -> a
    678:678:void fixupEnumClassInitializer(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedField):425:425 -> a
    682:687:java.util.Collection createLocalUtilityFields(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,com.android.tools.r8.graph.PrunedItems$Builder):433:438 -> a
    688:688:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    688:688:java.util.Collection createLocalUtilityFields(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,com.android.tools.r8.graph.PrunedItems$Builder):438 -> a
    689:689:java.util.Collection createLocalUtilityFields(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,com.android.tools.r8.graph.PrunedItems$Builder):453:453 -> a
    690:690:boolean lambda$createLocalUtilityFields$7(java.util.Map,com.android.tools.r8.graph.DexField):449:449 -> a
    691:694:com.android.tools.r8.graph.DexEncodedField createLocalUtilityField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):461:464 -> a
    695:695:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    695:695:com.android.tools.r8.graph.DexEncodedField createLocalUtilityField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):465 -> a
    696:696:com.android.tools.r8.graph.DexEncodedField createLocalUtilityField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):465:465 -> a
    697:709:com.android.tools.r8.graph.DexEncodedField createLocalUtilityField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):462:474 -> a
    710:711:void lambda$createLocalUtilityField$10(com.android.tools.r8.graph.DexEncodedField$Builder):479:480 -> a
    712:713:void lambda$createLocalUtilityField$9(com.android.tools.r8.graph.FieldAccessFlags):482:483 -> a
    714:714:void lambda$createLocalUtilityMethods$11(java.util.Map,com.android.tools.r8.graph.DexEncodedMethod):497:497 -> a
    715:724:void lambda$createLocalUtilityMethods$13(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramMethod):501:510 -> a
    725:725:boolean lambda$createLocalUtilityMethods$12(java.util.Map,com.android.tools.r8.graph.DexMethod):508:508 -> a
    726:732:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):520:526 -> a
    733:733:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2435:2435 -> a
    733:733:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):526 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    734:734:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2435:2435 -> a
    734:734:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):526 -> a
    735:735:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):527:527 -> a
    736:736:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":764,"2":765,"3":766}}
    764:764:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):527:527 -> a
    765:765:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):527:527 -> a
    766:766:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):527:527 -> a
    737:737:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    737:737:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):528 -> a
    738:742:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):528:532 -> a
    743:744:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):646:647 -> a
    743:744:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):529 -> a
    745:747:com.android.tools.r8.graph.DexType[] com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupTypes(com.android.tools.r8.graph.DexType[]):664:666 -> a
    745:747:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):647 -> a
    745:747:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):529 -> a
    748:748:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):648:648 -> a
    748:748:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):529 -> a
    749:749:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):533:533 -> a
    750:760:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):527:537 -> a
    761:761:void com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens$Builder.move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean,boolean):154:154 -> a
    761:761:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):537 -> a
    762:763:com.android.tools.r8.graph.DexEncodedMethod createLocalUtilityMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.function.Predicate):540:541 -> a
    767:778:void lambda$createLocalUtilityMethod$15(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):545:556 -> a
    779:783:void lambda$createLocalUtilityMethod$14(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.MethodAccessFlags):548:552 -> a
    784:785:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):560:561 -> a
    784:785:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):440 -> a
    786:786:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.ProgramField):119:119 -> a
    786:786:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):561 -> a
    786:786:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):440 -> a
    787:787:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.DexField):123:123 -> a
    787:787:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.hasUnboxedValueFor(com.android.tools.r8.graph.ProgramField):119 -> a
    787:787:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):561 -> a
    787:787:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):440 -> a
    788:788:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.ProgramField):127:127 -> a
    788:788:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):561 -> a
    788:788:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):440 -> a
    789:789:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.DexField):131:131 -> a
    789:789:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData.matchesValuesField(com.android.tools.r8.graph.ProgramField):127 -> a
    789:789:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):561 -> a
    789:789:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):440 -> a
    790:790:boolean com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.isPrunedAfterEnumUnboxing(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):562:562 -> a
    790:790:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):440 -> a
    791:801:void lambda$createLocalUtilityFields$8(com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,java.util.Map,com.android.tools.r8.graph.ProgramField):441:451 -> a
    802:802:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):566:566 -> a
    803:804:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):646:647 -> a
    803:804:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):567 -> a
    805:807:com.android.tools.r8.graph.DexType[] com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupTypes(com.android.tools.r8.graph.DexType[]):664:666 -> a
    805:807:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):647 -> a
    805:807:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):567 -> a
    808:808:com.android.tools.r8.graph.DexProto com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer.fixupProto(com.android.tools.r8.graph.DexProto):648:648 -> a
    808:808:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):567 -> a
    809:825:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):568:584 -> a
    826:828:com.android.tools.r8.graph.DexEncodedMethod fixupEncodedMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):583:585 -> a
    829:831:void lambda$fixupEncodedMethod$16(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):588:590 -> a
    832:832:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer com.android.tools.r8.graph.proto.RewrittenPrototypeDescription.createMethodOptimizationInfoFixer():82:82 -> a
    832:832:void lambda$fixupEncodedMethod$16(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):590 -> a
    833:837:void lambda$fixupEncodedMethod$16(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):589:593 -> a
    838:838:com.android.tools.r8.graph.DexEncodedMethod$Builder com.android.tools.r8.graph.DexEncodedMethod$Builder.setIsLibraryMethodOverrideIf(boolean,com.android.tools.r8.utils.OptionalBool):1436:1436 -> a
    838:838:void lambda$fixupEncodedMethod$16(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):592 -> a
    839:845:com.android.tools.r8.graph.DexMethod ensureUniqueMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):597:603 -> a
    846:856:com.android.tools.r8.graph.DexMethod ensureUniqueMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):601:611 -> a
    857:857:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):331:331 -> a
    857:857:com.android.tools.r8.graph.DexMethod ensureUniqueMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):609 -> a
    858:858:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexItemFactory):335:335 -> a
    858:858:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withName(java.lang.String,com.android.tools.r8.graph.DexItemFactory):331 -> a
    858:858:com.android.tools.r8.graph.DexMethod ensureUniqueMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):609 -> a
    859:859:boolean lambda$ensureUniqueMethod$17(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethod):604:604 -> a
    860:865:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):621:626 -> a
    866:866:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):213:213 -> a
    866:866:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):626 -> a
    867:878:void fixupFields(java.util.List,com.android.tools.r8.graph.DexClass$FieldSetter):627:638 -> a
    879:879:void lambda$fixupFields$18(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField$Builder):634:634 -> a
    880:880:void lambda$fixupFields$18(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField$Builder):633:633 -> a
    881:889:com.android.tools.r8.graph.DexType fixupType(com.android.tools.r8.graph.DexType):652:660 -> a
    1:6:void fixupEnumClassInitializers(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):226:231 -> b
    7:7:void lambda$fixupEnumClassInitializers$6(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass):233:233 -> b
    8:30:java.util.Collection createLocalUtilityMethods(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass,com.android.tools.r8.graph.PrunedItems$Builder):491:513 -> b
    1:9:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):102:110 -> c
    10:10:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap.isUnboxedEnum(com.android.tools.r8.graph.DexProgramClass):28:28 -> c
    10:10:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):110 -> c
    11:12:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):112:113 -> c
    13:13:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses.getLocalUtilityClass(com.android.tools.r8.graph.DexProgramClass):46:46 -> c
    13:13:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):113 -> c
    14:26:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):115:127 -> c
    27:27:void com.android.tools.r8.graph.DexClass.setStaticFields(java.util.Collection):428:428 -> c
    27:27:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):127 -> c
    28:45:com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result fixupTypeReferences(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):129:146 -> c
com.android.tools.r8.ir.optimize.enums.EnumUnboxingTreeFixer$Result -> com.android.tools.r8.internal.Ui:
    com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens lens -> b
    com.android.tools.r8.com.google.common.collect.BiMap checkNotNullToCheckNotZeroMapping -> a
    com.android.tools.r8.graph.PrunedItems prunedItems -> c
    1:4:void <init>(com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens,com.android.tools.r8.graph.PrunedItems):680:683 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.BiMap getCheckNotNullToCheckNotZeroMapping():687:687 -> a
    1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxingLens getLens():691:691 -> b
    1:1:com.android.tools.r8.graph.PrunedItems getPrunedItems():695:695 -> c
com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClass -> com.android.tools.r8.internal.Wi:
    com.android.tools.r8.graph.DexProgramClass synthesizingContext -> a
    1:2:void <init>(com.android.tools.r8.graph.DexProgramClass):15:16 -> <init>
    void ensureMethods(com.android.tools.r8.graph.AppView) -> a
    com.android.tools.r8.graph.DexProgramClass getDefinition() -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getSynthesizingContext():24:24 -> b
com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses -> com.android.tools.r8.internal.Yi:
    com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass sharedUtilityClass -> b
    com.android.tools.r8.com.google.common.collect.ImmutableMap localUtilityClasses -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():24:24 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$1):24:24 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass,com.android.tools.r8.com.google.common.collect.ImmutableMap):35:37 -> <init>
    1:1:void forEach(java.util.function.Consumer):41:41 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses.getSharedUtilityClass():56:56 -> a
    2:2:void forEach(java.util.function.Consumer):42 -> a
    3:3:void forEach(java.util.function.Consumer):42:42 -> a
    4:5:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass getLocalUtilityClass(com.android.tools.r8.graph.DexType):50:51 -> a
    6:6:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass getSharedUtilityClass():56:56 -> a
com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder -> com.android.tools.r8.internal.Xi:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder fieldAccessInfoCollectionModifierBuilder -> d
    com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass sharedUtilityClass -> c
    com.android.tools.r8.com.google.common.collect.ImmutableMap localUtilityClasses -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView):72:72 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView):70:73 -> <init>
    1:1:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):78:78 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumDataMap,java.util.Set,com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder):66:66 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):79 -> a
    3:3:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):81:81 -> a
    4:8:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder.createLocalUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):120:124 -> a
    4:8:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):83 -> a
    9:9:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass$Builder com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):44:44 -> a
    9:9:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder.createLocalUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):125 -> a
    9:9:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):83 -> a
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder.createLocalUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):125:125 -> a
    10:10:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):83 -> a
    11:15:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder.createLocalUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):123:127 -> a
    11:15:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):83 -> a
    16:17:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses$Builder synthesizeEnumUnboxingUtilityClasses(java.util.Set,com.android.tools.r8.ir.optimize.enums.EnumDataMap):84:85 -> a
    18:33:com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClasses build(com.android.tools.r8.ir.conversion.IRConverter,java.util.concurrent.ExecutorService):91:106 -> a
    34:35:void lambda$build$0(com.android.tools.r8.ir.conversion.OneTimeMethodProcessor$Builder,com.android.tools.r8.ir.optimize.enums.EnumUnboxingUtilityClass):102:103 -> a
    36:36:void lambda$build$1(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):110:110 -> a
    37:37:void lambda$build$1(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.OneTimeMethodProcessor,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):108:108 -> a
    38:40:com.android.tools.r8.graph.DexType getUtilityClassType(com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.graph.DexItemFactory):132:134 -> a
    41:41:com.android.tools.r8.graph.DexType getUtilityClassType(com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.graph.DexItemFactory):133:133 -> a
    42:42:com.android.tools.r8.graph.DexType getUtilityClassType(com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.graph.DexItemFactory):132:132 -> a
com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer -> com.android.tools.r8.internal.aj:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():50:50 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):55:57 -> <init>
    1:4:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):202:205 -> a
    5:26:com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.analyzeSwitchOverEnum(com.android.tools.r8.ir.code.IntSwitch):411:432 -> a
    5:26:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):211 -> a
    27:27:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    27:27:com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.analyzeSwitchOverEnum(com.android.tools.r8.ir.code.IntSwitch):433 -> a
    27:27:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):211 -> a
    28:40:com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.analyzeSwitchOverEnum(com.android.tools.r8.ir.code.IntSwitch):436:448 -> a
    28:40:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):211 -> a
    41:46:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):305:310 -> a
    41:46:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    47:47:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> a
    47:47:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):310 -> a
    47:47:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    48:52:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):310:314 -> a
    48:52:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    53:53:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):352:352 -> a
    53:53:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    53:53:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    54:54:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):359:359 -> a
    54:54:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> a
    54:54:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    54:54:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    55:55:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> a
    55:55:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):359 -> a
    55:55:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> a
    55:55:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    55:55:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    56:62:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):360:366 -> a
    56:62:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> a
    56:62:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    56:62:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    63:63:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> a
    63:63:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):366 -> a
    63:63:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> a
    63:63:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    63:63:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    64:68:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):366:370 -> a
    64:68:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> a
    64:68:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    64:68:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    69:69:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):354:354 -> a
    69:69:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):318 -> a
    69:69:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    70:71:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):319:320 -> a
    70:71:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    72:72:boolean com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions.enableRemoveProtoEnumSwitchMap():1649:1649 -> a
    72:72:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):320 -> a
    72:72:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    73:78:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):321:326 -> a
    73:78:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    79:79:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):63:63 -> a
    79:79:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):326 -> a
    79:79:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    80:80:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    80:80:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.DexDefinitionSupplier.programDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):63 -> a
    80:80:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):326 -> a
    80:80:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    81:85:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):326:330 -> a
    81:85:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    86:86:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> a
    86:86:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):330 -> a
    86:86:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    87:87:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):331:331 -> a
    87:87:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    88:100:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):325:337 -> a
    88:100:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    101:101:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.computeOrdinalToTargetMap(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.IntSwitch,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo):336:336 -> a
    101:101:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):216 -> a
    102:108:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):221:227 -> a
    109:109:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):152:152 -> a
    109:109:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):227 -> a
    110:111:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):235:236 -> a
    112:114:int[] com.android.tools.r8.utils.ArrayUtils.fromPredicate(java.util.function.IntPredicate,int):138:140 -> a
    112:114:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):236 -> a
    115:123:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):248:256 -> a
    124:124:void com.android.tools.r8.utils.ArrayUtils.sumOfPredecessorsInclusive(int[]):147:147 -> a
    124:124:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):260 -> a
    125:127:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):261:263 -> a
    128:134:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):262:268 -> a
    135:135:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray(int[]):167:167 -> a
    135:135:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection.toIntArray():155 -> a
    135:135:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):268 -> a
    136:143:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):269:276 -> a
    144:144:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    144:144:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    144:144:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):279 -> a
    145:161:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):283:299 -> a
    162:162:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    162:162:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):299 -> a
    163:163:void removeSwitchMaps(com.android.tools.r8.ir.code.IRCode):299:299 -> a
    164:165:boolean lambda$removeSwitchMaps$0(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,com.android.tools.r8.ir.code.IntSwitch,int):241:242 -> a
    166:166:void lambda$removeSwitchMaps$1(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):285:285 -> a
    1:7:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):62:68 -> b
    8:8:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> b
    8:8:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):69 -> b
    9:40:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):70:101 -> b
    41:41:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> b
    41:41:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):101 -> b
    42:65:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):101:124 -> b
    66:66:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):352:352 -> b
    66:66:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    67:67:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):359:359 -> b
    67:67:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> b
    67:67:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    68:68:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> b
    68:68:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):359 -> b
    68:68:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> b
    68:68:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    69:75:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):360:366 -> b
    69:75:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> b
    69:75:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    76:76:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> b
    76:76:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):366 -> b
    76:76:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> b
    76:76:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    77:81:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):366:370 -> b
    77:81:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):353 -> b
    77:81:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    82:82:com.android.tools.r8.ir.analysis.value.SingleNumberValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getOrdinalValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):354:354 -> b
    82:82:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):124 -> b
    83:83:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):126:126 -> b
    84:84:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    84:84:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):126 -> b
    85:85:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132:132 -> b
    86:86:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):345:345 -> b
    86:86:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    87:87:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):359:359 -> b
    87:87:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):346 -> b
    87:87:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    88:88:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNullOrAbstractValue():0:0 -> b
    88:88:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):359 -> b
    88:88:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):346 -> b
    88:88:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    89:95:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):360:366 -> b
    89:95:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):346 -> b
    89:95:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    96:96:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> b
    96:96:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):366 -> b
    96:96:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):346 -> b
    96:96:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    97:101:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getEnumFieldValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexField,boolean):366:370 -> b
    97:101:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):346 -> b
    97:101:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    102:102:com.android.tools.r8.ir.analysis.value.SingleStringValue com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer.getNameValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.analysis.value.AbstractValue,boolean):347:347 -> b
    102:102:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):132 -> b
    103:104:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):138:139 -> b
    105:105:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> b
    105:105:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):139 -> b
    106:106:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):140:140 -> b
    107:107:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    107:107:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):140 -> b
    108:114:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):141:147 -> b
    115:115:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> b
    115:115:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):148 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    116:116:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> b
    116:116:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):148 -> b
    117:134:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):153:170 -> b
    135:135:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> b
    135:135:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):170 -> b
    136:136:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):171:171 -> b
    137:137:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    137:137:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):171 -> b
    138:142:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):172:176 -> b
    143:143:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> b
    143:143:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):176 -> b
    144:146:void rewriteConstantEnumMethodCalls(com.android.tools.r8.ir.code.IRCode):176:178 -> b
com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$EnumSwitchInfo -> com.android.tools.r8.internal.Zi:
    com.android.tools.r8.ir.code.Instruction ordinalInvoke -> b
    com.android.tools.r8.ir.code.Instruction arrayGet -> c
    com.android.tools.r8.ir.code.Instruction staticGet -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap indexMap -> e
    com.android.tools.r8.graph.DexType enumClass -> a
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.optimize.enums.EnumValueOptimizer$1):373:373 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):386:391 -> <init>
com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass -> com.android.tools.r8.internal.wC:
    com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData data -> c
    com.android.tools.r8.graph.DexProgramClass localUtilityClass -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():27:27 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.DexProgramClass):37:39 -> <init>
    1:9:void ensureMethods(com.android.tools.r8.graph.AppView):49:57 -> a
    10:11:void lambda$ensureMethods$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldKnownData):51:52 -> a
    12:15:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):64:67 -> a
    16:16:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":101,"2":102,"3":103}}
    101:101:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):68:68 -> a
    102:102:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):68:68 -> a
    103:103:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):68:68 -> a
    86:86:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):70:70 -> a
    87:91:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):69:73 -> a
    92:99:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):72:79 -> a
    100:100:com.android.tools.r8.graph.ProgramMethod ensureGetInstanceFieldMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):76:76 -> a
    104:104:com.android.tools.r8.graph.Code lambda$ensureGetInstanceFieldMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):81:81 -> a
    105:105:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass.getType():145:145 -> a
    105:105:com.android.tools.r8.graph.Code lambda$ensureGetInstanceFieldMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):82 -> a
    106:106:com.android.tools.r8.graph.Code lambda$ensureGetInstanceFieldMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):82:82 -> a
    107:107:void com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider$EnumUnboxingInstanceFieldCfCodeProvider.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.DexField):73:73 -> a
    107:107:com.android.tools.r8.graph.Code lambda$ensureGetInstanceFieldMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):82 -> a
    108:108:com.android.tools.r8.graph.Code lambda$ensureGetInstanceFieldMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexMethod):83:83 -> a
    109:109:com.android.tools.r8.graph.Code lambda$ensureStringValueOfMethod$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexMethod):95:95 -> a
    110:110:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass.getType():145:145 -> a
    110:110:com.android.tools.r8.graph.Code lambda$ensureStringValueOfMethod$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexMethod):96 -> a
    111:112:com.android.tools.r8.graph.Code lambda$ensureStringValueOfMethod$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexMethod):96:97 -> a
    113:113:com.android.tools.r8.graph.Code lambda$ensureValueOfMethod$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod):107:107 -> a
    114:114:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass.getType():145:145 -> a
    114:114:com.android.tools.r8.graph.Code lambda$ensureValueOfMethod$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod):109 -> a
    115:118:com.android.tools.r8.graph.Code lambda$ensureValueOfMethod$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod):110:113 -> a
    119:126:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):122:129 -> a
    127:127:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):123:123 -> a
    128:128:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.synthesis.SyntheticItems.ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):585:585 -> a
    128:128:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):123 -> a
    129:129:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.synthesis.SyntheticItems.ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):577:577 -> a
    129:129:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):123 -> a
    130:134:void lambda$internalEnsureMethod$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator,com.android.tools.r8.synthesis.SyntheticMethodBuilder):132:136 -> a
    135:135:com.android.tools.r8.graph.DexProgramClass getDefinition():141:141 -> a
    1:7:com.android.tools.r8.graph.ProgramMethod ensureStringValueOfMethod(com.android.tools.r8.graph.AppView):87:93 -> b
    8:8:com.android.tools.r8.graph.ProgramMethod ensureStringValueOfMethod(com.android.tools.r8.graph.AppView):90:90 -> b
    1:5:com.android.tools.r8.graph.ProgramMethod ensureValueOfMethod(com.android.tools.r8.graph.AppView):101:105 -> c
    6:6:com.android.tools.r8.graph.ProgramMethod ensureValueOfMethod(com.android.tools.r8.graph.AppView):102:102 -> c
    7:7:com.android.tools.r8.graph.DexType getType():145:145 -> c
com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass$Builder -> com.android.tools.r8.internal.vC:
    com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData data -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexProgramClass enumToUnbox -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():148:148 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass$1):148:148 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):156:162 -> <init>
    9:12:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData):161:164 -> <init>
    1:2:com.android.tools.r8.ir.optimize.enums.LocalEnumUnboxingUtilityClass build():168:169 -> a
    3:3:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):180:180 -> a
    1:9:com.android.tools.r8.graph.DexProgramClass createClass():173:181 -> b
com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass -> com.android.tools.r8.internal.yU:
    com.android.tools.r8.graph.DexProgramClass sharedUtilityClass -> b
    com.android.tools.r8.graph.ProgramMethod valuesMethod -> c
    1:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):56:58 -> <init>
    1:5:void ensureMethods(com.android.tools.r8.graph.AppView):72:76 -> a
    6:6:com.android.tools.r8.graph.Code lambda$ensureCheckNotZeroMethod$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):85:85 -> a
    7:14:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):138:145 -> a
    15:15:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):139:139 -> a
    16:16:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.synthesis.SyntheticItems.ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):585:585 -> a
    16:16:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):139 -> a
    17:17:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.synthesis.SyntheticItems.ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):577:577 -> a
    17:17:com.android.tools.r8.graph.ProgramMethod internalEnsureMethod(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):139 -> a
    18:22:void lambda$internalEnsureMethod$5(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator,com.android.tools.r8.synthesis.SyntheticMethodBuilder):148:152 -> a
    23:23:com.android.tools.r8.graph.DexProgramClass getDefinition():157:157 -> a
    1:5:com.android.tools.r8.graph.ProgramMethod ensureCheckNotZeroMethod(com.android.tools.r8.graph.AppView):80:84 -> b
    6:6:com.android.tools.r8.graph.ProgramMethod ensureCheckNotZeroMethod(com.android.tools.r8.graph.AppView):81:81 -> b
    7:7:com.android.tools.r8.graph.Code lambda$ensureCheckNotZeroWithMessageMethod$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):96:96 -> b
    1:5:com.android.tools.r8.graph.ProgramMethod ensureCheckNotZeroWithMessageMethod(com.android.tools.r8.graph.AppView):89:93 -> c
    6:6:com.android.tools.r8.graph.ProgramMethod ensureCheckNotZeroWithMessageMethod(com.android.tools.r8.graph.AppView):90:90 -> c
    7:7:com.android.tools.r8.graph.Code lambda$ensureCompareToMethod$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):106:106 -> c
    8:8:com.android.tools.r8.graph.DexType getType():165:165 -> c
    1:5:com.android.tools.r8.graph.ProgramMethod ensureCompareToMethod(com.android.tools.r8.graph.AppView):100:104 -> d
    6:6:com.android.tools.r8.graph.ProgramMethod ensureCompareToMethod(com.android.tools.r8.graph.AppView):101:101 -> d
    7:7:com.android.tools.r8.graph.Code lambda$ensureEqualsMethod$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):116:116 -> d
    8:8:com.android.tools.r8.graph.ProgramMethod getValuesMethod():161:161 -> d
    1:5:com.android.tools.r8.graph.ProgramMethod ensureEqualsMethod(com.android.tools.r8.graph.AppView):110:114 -> e
    6:6:com.android.tools.r8.graph.ProgramMethod ensureEqualsMethod(com.android.tools.r8.graph.AppView):111:111 -> e
    7:7:com.android.tools.r8.graph.Code lambda$ensureOrdinalMethod$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):125:125 -> e
    1:5:com.android.tools.r8.graph.ProgramMethod ensureOrdinalMethod(com.android.tools.r8.graph.AppView):120:124 -> f
    6:6:com.android.tools.r8.graph.ProgramMethod ensureOrdinalMethod(com.android.tools.r8.graph.AppView):121:121 -> f
com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder -> com.android.tools.r8.internal.xU:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder fieldAccessInfoCollectionModifierBuilder -> d
    com.android.tools.r8.ir.optimize.enums.EnumDataMap enumDataMap -> c
    boolean $assertionsDisabled -> g
    com.android.tools.r8.graph.DexProgramClass synthesizingContext -> e
    com.android.tools.r8.graph.DexEncodedMethod valuesMethod -> f
    1:1:void <clinit>():168:168 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumDataMap,java.util.Set,com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder,com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$1):168:168 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.enums.EnumDataMap,java.util.Set,com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder):183:189 -> <init>
    1:2:com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass build():193:194 -> a
    3:3:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):209:209 -> a
    4:6:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesField(com.android.tools.r8.graph.DexType):227:229 -> a
    4:6:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
    7:7:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesField(com.android.tools.r8.graph.DexType):228:228 -> a
    7:7:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
    8:8:com.android.tools.r8.graph.FieldAccessFlags com.android.tools.r8.graph.FieldAccessFlags.createPublicStaticFinalSynthetic():62:62 -> a
    8:8:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesField(com.android.tools.r8.graph.DexType):231 -> a
    8:8:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
    9:14:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesField(com.android.tools.r8.graph.DexType):231:236 -> a
    9:14:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):210 -> a
    15:15:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):244:244 -> a
    15:15:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    16:16:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2435:2435 -> a
    16:16:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):245 -> a
    16:16:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    17:17:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexItemFactory.createClassInitializer(com.android.tools.r8.graph.DexType):2435:2435 -> a
    17:17:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):245 -> a
    17:17:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    18:18:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):245:245 -> a
    18:18:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    19:19:com.android.tools.r8.graph.MethodAccessFlags com.android.tools.r8.graph.MethodAccessFlags.createForClassInitializer():79:79 -> a
    19:19:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):246 -> a
    19:19:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    20:20:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):246:246 -> a
    20:20:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    21:38:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializerCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):256:273 -> a
    21:38:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):247 -> a
    21:38:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    39:43:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createClassInitializer(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):247:251 -> a
    39:43:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):214 -> a
    44:48:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):279:283 -> a
    44:48:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215 -> a
    49:49:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):281:281 -> a
    49:49:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215 -> a
    50:56:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):280:286 -> a
    50:56:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215 -> a
    57:67:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethodCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):302:312 -> a
    57:67:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):287 -> a
    57:67:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215 -> a
    68:68:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethodCode(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):306:306 -> a
    68:68:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):287 -> a
    68:68:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215 -> a
    69:74:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.ir.optimize.enums.SharedEnumUnboxingUtilityClass$Builder.createValuesMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexEncodedField):287:292 -> a
    69:74:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):215 -> a
    75:75:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):213:213 -> a
    76:81:void lambda$createClass$0(com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):212:217 -> a
    82:85:com.android.tools.r8.graph.DexProgramClass findDeterministicContextType(java.util.Set):326:329 -> a
    1:19:com.android.tools.r8.graph.DexProgramClass createClass():201:219 -> b
com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification -> com.android.tools.r8.internal.A9:
    int argumentIndex -> a
    1:2:void <init>(int):16:17 -> <init>
    com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification asCheckNotNullClassification() -> a
    1:2:boolean isUseEligibleForUnboxing(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):25:26 -> a
    3:3:int com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification.getArgumentIndex():21:21 -> a
    3:3:boolean isUseEligibleForUnboxing(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):27 -> a
    4:4:boolean isUseEligibleForUnboxing(com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):31:31 -> a
    5:5:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):37:37 -> a
    6:6:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.unknown():12:12 -> a
    6:6:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):48 -> a
    7:9:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):51:53 -> a
    1:1:int getArgumentIndex():21:21 -> c
com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification -> com.android.tools.r8.internal.Ii:
    1:1:void <init>():9:9 -> <init>
    com.android.tools.r8.ir.optimize.enums.classification.CheckNotNullEnumUnboxerMethodClassification asCheckNotNullClassification() -> a
    com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    1:1:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification unknown():12:12 -> b
com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassificationAnalysis -> com.android.tools.r8.internal.Ji:
    1:1:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):38:38 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.unknown():12:12 -> a
    2:2:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):40 -> a
    3:20:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):43:60 -> a
    21:21:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    21:21:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):60 -> a
    22:26:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):61:65 -> a
    27:28:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassificationAnalysis.onlyHasCheckNotNullUsers(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.conversion.MethodProcessor):81:82 -> a
    27:28:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):70 -> a
    29:29:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    29:29:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassificationAnalysis.onlyHasCheckNotNullUsers(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.conversion.MethodProcessor):85 -> a
    29:29:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):70 -> a
    30:41:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassificationAnalysis.onlyHasCheckNotNullUsers(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.conversion.MethodProcessor):87:98 -> a
    30:41:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):70 -> a
    42:68:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassificationAnalysis.onlyHasCheckNotNullUsers(com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.conversion.MethodProcessor):90:116 -> a
    42:68:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):70 -> a
    69:69:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):71:71 -> a
    70:70:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.unknown():12:12 -> a
    70:70:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):75 -> a
    71:71:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.unknown():12:12 -> a
    71:71:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification analyze(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):45 -> a
com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification -> com.android.tools.r8.internal.H00:
    com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification INSTANCE -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    1:1:com.android.tools.r8.ir.optimize.enums.classification.UnknownEnumUnboxerMethodClassification getInstance():17:17 -> c
com.android.tools.r8.ir.optimize.enums.code.CheckNotZeroCode -> com.android.tools.r8.internal.B9:
    com.android.tools.r8.graph.ProgramMethod checkNotNullMethod -> d
    1:2:void <init>(com.android.tools.r8.graph.ProgramMethod):39:40 -> <init>
    1:2:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):46:47 -> a
    3:3:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    3:3:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):47 -> a
    4:7:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):53:56 -> a
    8:8:void com.android.tools.r8.utils.IteratorUtils.skip(com.android.tools.r8.ir.code.InstructionIterator,int):160:160 -> a
    8:8:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):50 -> a
    9:11:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):59:61 -> a
    12:12:com.android.tools.r8.ir.code.Argument$Builder com.android.tools.r8.ir.code.Argument.builder():36:36 -> a
    12:12:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):61 -> a
    13:15:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):62:64 -> a
    16:16:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    16:16:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):60 -> a
    17:19:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):67:69 -> a
    20:20:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> a
    20:20:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):69 -> a
    21:23:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):70:72 -> a
    24:24:boolean com.android.tools.r8.ir.code.Return.hasReturnValue():55:55 -> a
    24:24:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):72 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:25:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):73:73 -> a
    26:26:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    26:26:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):73 -> a
    27:28:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):78:79 -> a
    29:29:java.util.LinkedList com.android.tools.r8.ir.code.IRCode.getBlocks():1350:1350 -> a
    29:29:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):81 -> a
    30:34:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):81:85 -> a
    35:35:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):110:110 -> a
    36:36:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):115:115 -> a
    37:37:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):125:125 -> a
    1:1:boolean computeEquals(java.lang.Object):90:90 -> h
    1:1:int computeHashCode():95:95 -> n0
    1:1:int estimatedDexCodeSizeUpperBoundInBytes():100:100 -> r0
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":122,"2":123,"3":124}}
    122:122:java.lang.String toString():120:120 -> toString
    123:123:java.lang.String toString():120:120 -> toString
    124:124:java.lang.String toString():120:120 -> toString
    121:121:java.lang.String toString():120:120 -> toString
com.android.tools.r8.ir.optimize.enums.eligibility.Reason -> com.android.tools.r8.internal.aQ:
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_INVOKE_ON_ARRAY -> p
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_INVOKE_CUSTOM -> o
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_FIELD_PUT -> r
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason IMPLICIT_UP_CAST_IN_RETURN -> q
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason TYPE_MISMATCH_FIELD_PUT -> t
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_ARRAY_PUT -> s
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason ENUM_METHOD_CALLED_WITH_NULL_RECEIVER -> v
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_IF_TYPES -> u
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason UNRESOLVABLE_FIELD -> h
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason DEFAULT_METHOD_INVOKE -> g
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_PHI -> j
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason CONST_CLASS -> i
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_CLINIT -> l
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_INIT -> k
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_INVOKE_CLASSPATH -> n
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason INVALID_INVOKE -> m
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason ANNOTATION -> b
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason ELIGIBLE -> a
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason DOWN_CAST -> d
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason PINNED -> c
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason MANY_INSTANCE_FIELDS -> f
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason SUBTYPES -> e
    com.android.tools.r8.ir.optimize.enums.eligibility.Reason OTHER_UNSUPPORTED_INSTRUCTION -> w
    1:28:void <clinit>():12:39 -> <clinit>
    1:1:void <init>():11:11 -> <init>
com.android.tools.r8.ir.optimize.enums.eligibility.Reason$IllegalInvokeWithImpreciseParameterTypeReason -> com.android.tools.r8.internal.XP:
    com.android.tools.r8.graph.DexMethod invokedMethod -> x
    1:2:void <init>(com.android.tools.r8.graph.DexMethod):70:71 -> <init>
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":83,"2":84,"3":85}}
    83:83:java.lang.String toString():81:81 -> toString
    84:84:java.lang.String toString():81:81 -> toString
    85:85:java.lang.String toString():81:81 -> toString
    82:82:java.lang.String toString():81:81 -> toString
com.android.tools.r8.ir.optimize.enums.eligibility.Reason$StringReason -> com.android.tools.r8.internal.YP:
    java.lang.String message -> x
    1:2:void <init>(java.lang.String):51:52 -> <init>
    1:1:java.lang.String toString():62:62 -> toString
com.android.tools.r8.ir.optimize.enums.eligibility.Reason$UnsupportedLibraryInvokeReason -> com.android.tools.r8.internal.ZP:
    com.android.tools.r8.graph.DexMethod invokedMethod -> x
    1:2:void <init>(com.android.tools.r8.graph.DexMethod):207:208 -> <init>
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":220,"2":221,"3":222}}
    220:220:java.lang.String toString():218:218 -> toString
    221:221:java.lang.String toString():218:218 -> toString
    222:222:java.lang.String toString():218:218 -> toString
    219:219:java.lang.String toString():218:218 -> toString
com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo -> com.android.tools.r8.internal.w6:
    1:1:void <init>():11:11 -> <init>
    com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo asConcreteCallSiteOptimizationInfo() -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractArgumentValue(int):32:32 -> a
    1:1:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo top():14:14 -> b
    2:2:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType(int):27:27 -> b
com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo -> com.android.tools.r8.internal.Lc:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap constants -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap dynamicTypes -> b
    int size -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():27:27 -> <clinit>
    1:7:void <init>(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):42:48 -> <init>
    com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo asConcreteCallSiteOptimizationInfo() -> a
    1:15:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):63:77 -> a
    16:19:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):76:79 -> a
    20:20:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.top():14:14 -> a
    20:20:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):81 -> a
    21:26:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):84:89 -> a
    27:27:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):98:98 -> a
    27:27:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):91 -> a
    28:29:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):92:93 -> a
    30:30:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    30:30:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):93 -> a
    31:43:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):93:105 -> a
    44:44:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.create(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):55:55 -> a
    44:44:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):104 -> a
    45:45:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.top():14:14 -> a
    45:45:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.create(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):56 -> a
    45:45:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):104 -> a
    46:46:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.create(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):57:57 -> a
    46:46:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):104 -> a
    47:47:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap com.android.tools.r8.utils.MapUtils.canonicalizeEmptyMap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):21:21 -> a
    47:47:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.create(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):58 -> a
    47:47:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):104 -> a
    48:48:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.create(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):58:58 -> a
    48:48:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):104 -> a
    49:49:boolean lambda$fixupAfterParametersChanged$0(java.lang.Integer):77:77 -> a
    50:51:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractArgumentValue(int):118:119 -> a
    52:53:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):130:131 -> a
    54:54:void com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.<init>(int):36:36 -> a
    54:54:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):131 -> a
    55:57:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):133:135 -> a
    58:58:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    58:58:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):135 -> a
    59:70:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):139:150 -> a
    71:71:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60:60 -> a
    71:71:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):151 -> a
    72:72:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    72:72:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    72:72:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    72:72:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):151 -> a
    73:73:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65:65 -> a
    73:73:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    73:73:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):151 -> a
    74:78:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):152:156 -> a
    79:84:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):155:160 -> a
    85:97:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):159:171 -> a
    98:98:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.top():14:14 -> a
    98:98:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo fromMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):177 -> a
    1:2:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType(int):112:113 -> b
    1:5:boolean equals(java.lang.Object):192:196 -> equals
    1:1:int hashCode():201:201 -> hashCode
    1:2:java.lang.String toString():206:207 -> toString
com.android.tools.r8.ir.optimize.info.DefaultFieldOptimizationInfo -> com.android.tools.r8.internal.Qe:
    com.android.tools.r8.ir.optimize.info.DefaultFieldOptimizationInfo INSTANCE -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo com.android.tools.r8.ir.optimize.info.DefaultFieldOptimizationInfo.toMutableOptimizationInfo():53:53 -> a
    1:1:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo():11 -> a
    boolean cannotBeKept() -> e
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue():28:28 -> f
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():38:38 -> g
    int getReadBits() -> h
    boolean isDead() -> i
    boolean valueHasBeenPropagated() -> j
    1:1:com.android.tools.r8.ir.optimize.info.DefaultFieldOptimizationInfo getInstance():18:18 -> k
com.android.tools.r8.ir.optimize.info.DefaultMethodOptimizationInfo -> com.android.tools.r8.internal.Xe:
    com.android.tools.r8.ir.analysis.value.AbstractValue UNKNOWN_ABSTRACT_RETURN_VALUE -> e
    java.util.Set UNKNOWN_INITIALIZED_CLASSES_ON_NORMAL_EXIT -> c
    com.android.tools.r8.ir.optimize.info.DefaultMethodOptimizationInfo DEFAULT_INSTANCE -> b
    boolean UNKNOWN_MAY_HAVE_SIDE_EFFECTS -> f
    int UNKNOWN_RETURNED_ARGUMENT -> d
    boolean $assertionsDisabled -> g
    1:12:void <clinit>():26:37 -> <clinit>
    1:1:void <init>():42:42 -> <init>
    1:1:boolean mayHaveSideEffects():176:176 -> A
    boolean neverReturnsNormally() -> B
    boolean returnValueHasBeenPropagated() -> C
    boolean returnValueOnlyDependsOnArguments() -> D
    boolean returnsArgument() -> E
    1:1:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo toMutableOptimizationInfo():196:196 -> F
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getInstanceInitializerInfo(com.android.tools.r8.ir.code.InvokeDirect):90:90 -> a
    2:2:boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions):181:181 -> a
    3:3:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.DefaultMethodOptimizationInfo.toMutableOptimizationInfo():196:196 -> a
    3:3:com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo():26 -> a
    boolean cannotBeKept() -> e
    boolean classInitializerMayBePostponed() -> f
    boolean forceInline() -> g
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue():136:136 -> h
    1:1:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.top():14:14 -> i
    1:1:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo getArgumentInfos():60 -> i
    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo() -> j
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint getClassInlinerMethodConstraint():65:65 -> k
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitiveInstanceInitializerInfo():85:85 -> l
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():75:75 -> m
    1:1:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification getEnumUnboxerMethodClassification():70:70 -> n
    1:1:java.util.Set getInitializedClassesOnNormalExit():80:80 -> o
    java.util.BitSet getNonNullParamOnNormalExits() -> p
    java.util.BitSet getNonNullParamOrThrow() -> q
    1:3:int getReturnedArgument():120:120 -> r
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint getSimpleInliningConstraint():146:146 -> s
    java.util.BitSet getUnusedArguments() -> t
    boolean hasBeenInlinedIntoSingleCallSite() -> u
    boolean isInitializerEnablingJavaVmAssertions() -> w
    boolean isMultiCallerMethod() -> x
    boolean isReachabilitySensitive() -> y
    1:1:com.android.tools.r8.utils.OptionalBool isReturnValueUsed():166:166 -> z
com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo -> com.android.tools.r8.internal.ak:
    1:1:void <init>():10:10 -> <init>
    boolean cannotBeKept() -> e
    com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue() -> f
    com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType() -> g
    int getReadBits() -> h
    boolean isDead() -> i
    boolean valueHasBeenPropagated() -> j
com.android.tools.r8.ir.optimize.info.LibraryOptimizationInfoInitializerFeedback -> com.android.tools.r8.internal.DB:
    com.android.tools.r8.ir.optimize.info.LibraryOptimizationInfoInitializerFeedback INSTANCE -> b
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    1:1:void recordLibraryFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.value.AbstractValue):23:23 -> a
    1:1:com.android.tools.r8.ir.optimize.info.LibraryOptimizationInfoInitializerFeedback getInstance():18:18 -> c
com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo -> com.android.tools.r8.internal.RD:
    com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo() -> a
    com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo asMutableFieldOptimizationInfo() -> b
    com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo asMutableMethodOptimizationInfo() -> c
    boolean isMutableOptimizationInfo() -> d
com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo -> com.android.tools.r8.internal.HE:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>():22:22 -> <init>
    boolean mayHaveSideEffects() -> A
    boolean neverReturnsNormally() -> B
    boolean returnValueHasBeenPropagated() -> C
    boolean returnValueOnlyDependsOnArguments() -> D
    boolean returnsArgument() -> E
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getInstanceInitializerInfo(com.android.tools.r8.ir.code.InvokeDirect) -> a
    boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions) -> a
    boolean cannotBeKept() -> e
    boolean classInitializerMayBePostponed() -> f
    boolean forceInline() -> g
    com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue() -> h
    com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo getArgumentInfos() -> i
    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo() -> j
    com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint getClassInlinerMethodConstraint() -> k
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitiveInstanceInitializerInfo() -> l
    com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType() -> m
    com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification getEnumUnboxerMethodClassification() -> n
    java.util.Set getInitializedClassesOnNormalExit() -> o
    java.util.BitSet getNonNullParamOnNormalExits() -> p
    java.util.BitSet getNonNullParamOrThrow() -> q
    int getReturnedArgument() -> r
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint getSimpleInliningConstraint() -> s
    java.util.BitSet getUnusedArguments() -> t
    boolean hasBeenInlinedIntoSingleCallSite() -> u
    1:2:boolean hasUnusedArguments():82:83 -> v
    boolean isInitializerEnablingJavaVmAssertions() -> w
    boolean isMultiCallerMethod() -> x
    boolean isReachabilitySensitive() -> y
    com.android.tools.r8.utils.OptionalBool isReturnValueUsed() -> z
com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector -> com.android.tools.r8.internal.JE:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization checkCastAndInstanceOfMethodSpecialization -> b
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():113:113 -> <clinit>
    1:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):122:129 -> <init>
    1:1:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):140:140 -> a
    2:4:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.identifyBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):163:165 -> a
    2:4:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):141 -> a
    5:5:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeReturns(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):170:170 -> a
    5:5:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):142 -> a
    6:45:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeReturns(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):177:216 -> a
    6:45:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeReturns(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):171 -> a
    6:45:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):142 -> a
    46:46:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeReturns(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):215:215 -> a
    46:46:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeReturns(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):171 -> a
    46:46:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):142 -> a
    47:47:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeReturns(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):172:172 -> a
    47:47:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):142 -> a
    48:48:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):143:143 -> a
    49:53:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):746:750 -> a
    49:53:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):144 -> a
    54:54:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):759:759 -> a
    54:54:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    55:59:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):769:773 -> a
    55:59:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):760 -> a
    55:59:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    60:61:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):785:786 -> a
    60:61:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):773 -> a
    60:61:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):760 -> a
    60:61:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    62:62:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    62:62:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):786 -> a
    62:62:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):773 -> a
    62:62:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):760 -> a
    62:62:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    63:64:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):787:788 -> a
    63:64:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):773 -> a
    63:64:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):760 -> a
    63:64:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    65:65:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    65:65:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):789 -> a
    65:65:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):773 -> a
    65:65:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):760 -> a
    65:65:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    66:68:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):789:791 -> a
    66:68:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):773 -> a
    66:68:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):760 -> a
    66:68:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    69:69:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):790:790 -> a
    69:69:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):773 -> a
    69:69:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):760 -> a
    69:69:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    70:70:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isUnknownClassification():0:0 -> a
    70:70:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):793 -> a
    70:70:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):773 -> a
    70:70:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):760 -> a
    70:70:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    71:71:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.verifyEnumUnboxerMethodClassificationCorrect(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):793:793 -> a
    71:71:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):773 -> a
    71:71:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):760 -> a
    71:71:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    72:74:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor):776:778 -> a
    72:74:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):760 -> a
    72:74:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    75:75:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):761:761 -> a
    75:75:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):146 -> a
    76:77:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):800:801 -> a
    76:77:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):147 -> a
    78:80:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):809:809 -> a
    78:80:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):802 -> a
    78:80:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):147 -> a
    81:81:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):803:803 -> a
    81:81:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):147 -> a
    82:82:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):819:819 -> a
    82:82:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    83:94:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):832:843 -> a
    83:94:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    83:94:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    95:97:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):842:844 -> a
    95:97:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    95:97:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    98:98:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.setDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):42:42 -> a
    98:98:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):844 -> a
    98:98:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    98:98:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    99:100:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):848:849 -> a
    99:100:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    99:100:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    101:101:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.setDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):42:42 -> a
    101:101:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):849 -> a
    101:101:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    101:101:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    102:102:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):855:855 -> a
    102:102:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    102:102:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    103:103:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60:60 -> a
    103:103:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):855 -> a
    103:103:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    103:103:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    104:104:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    104:104:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    104:104:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    104:104:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):855 -> a
    104:104:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    104:104:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    105:105:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65:65 -> a
    105:105:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView):60 -> a
    105:105:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):855 -> a
    105:105:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    105:105:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    106:108:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):857:859 -> a
    106:108:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    106:108:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    109:109:void com.android.tools.r8.ir.conversion.MethodOptimizationFeedback.setDynamicReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):42:42 -> a
    109:109:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):859 -> a
    109:109:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):820 -> a
    109:109:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    110:110:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeDynamicReturnType(com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):821:821 -> a
    110:110:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):148 -> a
    111:111:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):149:149 -> a
    112:112:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInitializedClassesOnNormalExit(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):865:865 -> a
    112:112:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):150 -> a
    113:119:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInitializedClassesOnNormalExit(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):872:878 -> a
    113:119:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInitializedClassesOnNormalExit(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):866 -> a
    113:119:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):150 -> a
    120:120:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInitializedClassesOnNormalExit(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):867:867 -> a
    120:120:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):150 -> a
    121:121:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):228:228 -> a
    121:121:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    122:134:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):238:250 -> a
    122:134:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    122:134:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    135:135:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo.builder(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):64:64 -> a
    135:135:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):255 -> a
    135:135:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    135:135:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    136:349:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):278:491 -> a
    136:349:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    136:349:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    136:349:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    350:351:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):470:471 -> a
    350:351:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    350:351:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    350:351:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    352:352:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    352:352:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):471 -> a
    352:352:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    352:352:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    352:352:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    353:353:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    353:353:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):471 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    353:353:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    353:353:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    353:353:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    354:355:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):474:475 -> a
    354:355:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    354:355:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    354:355:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    356:357:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):438:439 -> a
    356:357:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    356:357:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    356:357:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    358:358:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    358:358:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):439 -> a
    358:358:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    358:358:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    358:358:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    359:359:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    359:359:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):439 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    359:359:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    359:359:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    359:359:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    360:381:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):440:461 -> a
    360:381:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    360:381:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    360:381:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    382:384:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):386:388 -> a
    382:384:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    382:384:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    382:384:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    385:385:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    385:385:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):388 -> a
    385:385:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    385:385:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    385:385:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    386:402:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):389:405 -> a
    386:402:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    386:402:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    386:402:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    403:407:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):404:408 -> a
    403:407:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    403:407:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    403:407:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    408:408:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    408:408:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):408 -> a
    408:408:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    408:408:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    408:408:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    409:409:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    409:409:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):408 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    409:409:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    409:409:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    409:409:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    410:422:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):409:421 -> a
    410:422:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    410:422:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    410:422:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    423:450:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):401:428 -> a
    423:450:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    423:450:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    423:450:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    451:458:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):360:367 -> a
    451:458:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    451:458:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    451:458:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    459:459:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    459:459:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):367 -> a
    459:459:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    459:459:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    459:459:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    460:460:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    460:460:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):367 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    460:460:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    460:460:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    460:460:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    461:465:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):368:372 -> a
    461:465:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    461:465:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    461:465:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    466:466:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    466:466:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):372 -> a
    466:466:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    466:466:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    466:466:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    467:467:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    467:467:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):372 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    467:467:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    467:467:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    467:467:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    468:472:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):375:379 -> a
    468:472:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    468:472:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    468:472:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    473:481:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):341:349 -> a
    473:481:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    473:481:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    473:481:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    482:482:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    482:482:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):350 -> a
    482:482:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    482:482:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    482:482:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    483:483:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):352:352 -> a
    483:483:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    483:483:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    483:483:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    484:661:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):305:482 -> a
    484:661:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    484:661:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    484:661:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    662:841:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.analyzeInstanceInitializer(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder):333:512 -> a
    662:841:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):256 -> a
    662:841:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    662:841:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    842:842:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):258:258 -> a
    842:842:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    842:842:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    843:843:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):257:257 -> a
    843:843:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):229 -> a
    843:843:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    844:844:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeInstanceInitializerInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.utils.Timing):230:230 -> a
    844:844:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):152 -> a
    845:847:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):885:887 -> a
    845:847:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):154 -> a
    848:848:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeReturnValueOnlyDependsOnArguments(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):977:977 -> a
    848:848:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):155 -> a
    849:855:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeReturnValueOnlyDependsOnArguments(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):984:990 -> a
    849:855:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeReturnValueOnlyDependsOnArguments(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):978 -> a
    849:855:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):155 -> a
    856:856:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeReturnValueOnlyDependsOnArguments(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):979:979 -> a
    856:856:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):155 -> a
    857:857:java.util.BitSet com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):996:996 -> a
    857:857:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):156 -> a
    858:880:java.util.BitSet com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):1005:1027 -> a
    858:880:java.util.BitSet com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):997 -> a
    858:880:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):156 -> a
    881:881:java.util.BitSet com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):998:998 -> a
    881:881:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):156 -> a
    882:882:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,java.util.BitSet,com.android.tools.r8.utils.Timing):1035:1035 -> a
    882:882:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):157 -> a
    883:902:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,java.util.BitSet):1042:1061 -> a
    883:902:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,java.util.BitSet,com.android.tools.r8.utils.Timing):1036 -> a
    883:902:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):157 -> a
    903:903:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.code.IRCode,java.util.BitSet,com.android.tools.r8.utils.Timing):1037:1037 -> a
    903:903:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):157 -> a
    904:904:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1176:1176 -> a
    904:904:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):158 -> a
    905:914:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback):1183:1192 -> a
    905:914:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1177 -> a
    905:914:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):158 -> a
    915:915:void com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.computeUnusedArguments(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.utils.Timing):1178:1178 -> a
    915:915:void collectMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.optimize.DynamicTypeOptimization,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):158 -> a
    916:916:boolean couldBeReceiverValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.AliasedValueConfiguration):517:517 -> a
    917:917:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    917:917:boolean couldBeReceiverValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.AliasedValueConfiguration):521 -> a
    918:918:boolean checksNullBeforeSideEffect(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):604:604 -> a
    919:977:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.alwaysTriggerExpectedEffectBeforeAnythingElse(com.android.tools.r8.ir.code.IRCode,java.util.function.BiFunction):535:593 -> a
    919:977:boolean checksNullBeforeSideEffect(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):604 -> a
    978:990:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.alwaysTriggerExpectedEffectBeforeAnythingElse(com.android.tools.r8.ir.code.IRCode,java.util.function.BiFunction):581:593 -> a
    978:990:boolean checksNullBeforeSideEffect(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value):604 -> a
    991:994:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):607:610 -> a
    995:997:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isNullCheck(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):717:719 -> a
    995:997:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):610 -> a
    998:998:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):611:611 -> a
    999:999:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    999:999:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):613 -> a
    1000:1001:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):614:615 -> a
    1002:1009:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinCheckParameterIsNotNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):682:689 -> a
    1002:1009:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):615 -> a
    1010:1010:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    1010:1010:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinCheckParameterIsNotNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):689 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1010:1010:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):615 -> a
    1011:1013:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinCheckParameterIsNotNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):690:692 -> a
    1011:1013:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):615 -> a
    1014:1014:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    1014:1014:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinCheckParameterIsNotNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):694 -> a
    1014:1014:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):615 -> a
    1015:1015:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinCheckParameterIsNotNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic,com.android.tools.r8.ir.code.Value):695:695 -> a
    1015:1015:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):615 -> a
    1016:1018:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):616:618 -> a
    1019:1026:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinThrowParameterIsNullException(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic):703:710 -> a
    1019:1026:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):618 -> a
    1027:1027:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    1027:1027:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinThrowParameterIsNullException(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic):710 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1027:1027:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):618 -> a
    1028:1030:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isKotlinThrowParameterIsNullException(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.InvokeStatic):711:713 -> a
    1028:1030:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):618 -> a
    1031:1032:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):621:622 -> a
    1033:1035:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isNullCheck(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):717:719 -> a
    1033:1035:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):622 -> a
    1036:1044:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):623:631 -> a
    1045:1052:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isInstantiationOfNullPointerException(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator,com.android.tools.r8.graph.DexItemFactory):728:735 -> a
    1045:1052:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):631 -> a
    1053:1064:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):632:643 -> a
    1065:1065:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    1065:1065:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):646 -> a
    1066:1072:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect lambda$checksNullBeforeSideEffect$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionIterator):646:652 -> a
    1073:1096:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):893:916 -> a
    1097:1097:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):915:915 -> a
    1098:1098:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    1098:1098:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):925 -> a
    1099:1099:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):928:928 -> a
    1100:1111:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.hasNonTrivialFinalizeMethod(com.android.tools.r8.graph.DexProgramClass):961:972 -> a
    1100:1111:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):928 -> a
    1112:1131:void computeMayHaveSideEffects(com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):936:955 -> a
    1132:1132:boolean lambda$computeMayHaveSideEffects$1(com.android.tools.r8.graph.DexProgramClass):918:918 -> a
    1133:1141:boolean isNonNullOnNormalExit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1067:1075 -> a
    1142:1142:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    1142:1142:boolean isNonNullOnNormalExit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1076 -> a
    1143:1152:boolean isNonNullOnNormalExit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1076:1085 -> a
    1153:1184:boolean isNonNullOnNormalExit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1080:1111 -> a
    1185:1230:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector.isNormalExitDominated(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1125:1170 -> a
    1185:1230:boolean isNonNullOnNormalExit(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.DominatorTree,java.util.Set):1112 -> a
    1231:1231:boolean lambda$isNonNullOnNormalExit$3(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Instruction):1083:1083 -> a
    boolean lambda$computeMayHaveSideEffects$2(com.android.tools.r8.graph.DexProgramClass) -> b
com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect -> com.android.tools.r8.internal.IE:
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect NO_EFFECT -> e
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect OTHER_EFFECT -> d
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect CONDITIONAL_EFFECT -> c
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoCollector$InstructionEffect DESIRED_EFFECT -> b
    1:4:void <clinit>():671:674 -> <clinit>
    1:1:void <init>(java.lang.String,int):670:670 -> <init>
com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo -> com.android.tools.r8.internal.lG:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> d
    int flags -> b
    int readBits -> c
    com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> a
    1:1:void <clinit>():25:25 -> <clinit>
    1:11:void <init>():25:35 -> <init>
    com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo() -> a
    1:1:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo fixupClassTypeReferences(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):44:44 -> a
    2:2:void setAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):63:63 -> a
    3:3:com.android.tools.r8.ir.analysis.value.AbstractValue com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo.getAbstractValue():59:59 -> a
    3:3:void setAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):63 -> a
    4:5:void setAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):63:64 -> a
    6:6:void fixupAbstractValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):69:69 -> a
    7:7:void joinReadBits(int):78:78 -> a
    8:8:void setDynamicType(com.android.tools.r8.ir.analysis.type.DynamicType):96:96 -> a
    com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo asMutableFieldOptimizationInfo() -> b
    1:1:boolean cannotBeKept():83:83 -> e
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue():59:59 -> f
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():92:92 -> g
    1:1:int getReadBits():74:74 -> h
    1:1:boolean isDead():101:101 -> i
    1:1:boolean valueHasBeenPropagated():110:110 -> j
    1:1:void markAsDead():105:105 -> k
    1:1:void markAsPropagated():114:114 -> l
    1:1:void markCannotBeKept():87:87 -> m
    1:5:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo mutableCopy():49:53 -> n
com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo -> com.android.tools.r8.internal.mG:
    com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification enumUnboxerMethodClassification -> g
    java.util.BitSet nonNullParamOrThrow -> m
    java.util.BitSet nonNullParamOnNormalExits -> n
    com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo argumentInfos -> b
    int returnedArgument -> d
    com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint simpleInliningConstraint -> o
    java.util.BitSet unusedArguments -> p
    com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint classInlinerConstraint -> f
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo$InlinePreference inlining -> i
    boolean $assertionsDisabled -> s
    com.android.tools.r8.utils.OptionalBool isReturnValueUsed -> j
    com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo bridgeInfo -> k
    com.android.tools.r8.ir.analysis.value.AbstractValue abstractReturnValue -> e
    java.util.Set initializedClassesOnNormalExit -> c
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection instanceInitializerInfoCollection -> l
    int DEFAULT_FLAGS -> r
    com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> h
    int flags -> q
    1:75:void <clinit>():36:110 -> <clinit>
    76:76:boolean com.android.tools.r8.ir.optimize.info.DefaultMethodOptimizationInfo.mayHaveSideEffects():176:176 -> <clinit>
    76:76:void <clinit>():113 -> <clinit>
    77:96:void <clinit>():113:132 -> <clinit>
    1:1:void <init>():137:137 -> <init>
    2:98:void <init>():39:135 -> <init>
    99:99:void <init>(com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):143:143 -> <init>
    100:218:void <init>(com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):39:157 -> <init>
    1:1:boolean mayHaveSideEffects():499:499 -> A
    1:1:boolean neverReturnsNormally():401:401 -> B
    1:1:boolean returnValueHasBeenPropagated():678:678 -> C
    1:1:boolean returnValueOnlyDependsOnArguments():515:515 -> D
    1:1:boolean returnsArgument():390:390 -> E
    1:1:void markAsPropagated():673:673 -> F
    1:1:void markCannotBeKept():228:228 -> G
    1:1:void markClassInitializerMayBePostponed():237:237 -> H
    1:2:void markForceInline():655:656 -> I
    1:1:void markInlinedIntoSingleCallSite():376:376 -> J
    1:1:void markMayNotHaveSideEffects():584:584 -> K
    1:1:void markNeverReturnsNormally():600:600 -> L
    1:1:void markReturnValueOnlyDependsOnArguments():592:592 -> M
    1:1:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo mutableCopy():697:697 -> N
    1:1:void setInitializerEnablingJavaAssertions():552:552 -> O
    1:490:void setIsReturnValueUsed(com.android.tools.r8.utils.OptionalBool):0:489 -> P
    1:4:void setMultiCallerMethod():664:667 -> Q
    1:1:void unsetAbstractReturnValue():614:614 -> R
    1:1:void unsetBridgeInfo():422:422 -> S
    1:1:void unsetClassInitializerMayBePostponed():241:241 -> T
    1:1:void unsetClassInlinerMethodConstraint():278:278 -> U
    1:1:void unsetDynamicType():649:649 -> V
    1:1:void unsetEnumUnboxerMethodClassification():296:296 -> W
    1:1:void unsetForceInline():660:660 -> X
    1:1:void unsetInitializedClassesOnNormalExit():564:564 -> Y
    1:1:void unsetInitializerEnablingJavaVmAssertions():556:556 -> Z
    com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo toMutableOptimizationInfo() -> a
    1:1:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixupClassTypeReferences(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,java.util.Set):181:181 -> a
    2:2:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixupAbstractReturnValue(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):187:187 -> a
    3:4:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):196:197 -> a
    5:7:void com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.setFlag(int,boolean):203:205 -> a
    5:7:void setReachabilitySensitive(boolean):519 -> a
    8:8:void clearFlag(int):214:214 -> a
    9:9:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupArgumentInfos(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):250:250 -> a
    9:9:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):162 -> a
    10:10:boolean com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.isConcreteCallSiteOptimizationInfo():0:0 -> a
    10:10:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupArgumentInfos(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):250 -> a
    10:10:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):162 -> a
    11:12:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupArgumentInfos(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):251:252 -> a
    11:12:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):162 -> a
    13:15:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupBridgeInfo(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):410:412 -> a
    13:15:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):163 -> a
    16:17:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupClassInlinerMethodConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):268:269 -> a
    16:17:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):164 -> a
    18:19:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):301:302 -> a
    18:19:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):165 -> a
    20:21:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupInstanceInitializerInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):328:329 -> a
    20:21:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):166 -> a
    22:22:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupNonNullParamOnNormalExits(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):358:358 -> a
    22:22:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):167 -> a
    23:23:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupNonNullParamOrThrow(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):339:339 -> a
    23:23:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):168 -> a
    24:24:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupReturnedArgumentIndex(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):579:579 -> a
    24:24:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):169 -> a
    25:27:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupSimpleInliningConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):536:538 -> a
    25:27:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):170 -> a
    28:28:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupSimpleInliningConstraint(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):537:537 -> a
    28:28:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):170 -> a
    29:29:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.fixupUnusedArguments(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):450:450 -> a
    29:29:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixup(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer):171 -> a
    30:30:void setArgumentInfos(com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):258:258 -> a
    31:31:void setClassInlinerMethodConstraint(com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):274:274 -> a
    32:32:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo setEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):289:289 -> a
    33:33:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    33:33:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo setEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):289 -> a
    34:34:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo setEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):290:290 -> a
    35:35:boolean com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification.isCheckNotNullClassification():0:0 -> a
    35:35:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo setEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):290 -> a
    36:38:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo setEnumUnboxerMethodClassification(com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):289:291 -> a
    39:39:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getInstanceInitializerInfo(com.android.tools.r8.ir.code.InvokeDirect):323:323 -> a
    40:40:void setBridgeInfo(com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):418:418 -> a
    41:41:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo fixupUnusedArguments(java.util.BitSet):456:456 -> a
    42:42:boolean com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.mayHaveSideEffects():499:499 -> a
    42:42:boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions):504 -> a
    43:43:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.getNopInliningConstraint(com.android.tools.r8.utils.InternalOptions):435:435 -> a
    43:43:boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions):507 -> a
    44:44:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.getSimpleInliningConstraint():441:441 -> a
    44:44:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.getNopInliningConstraint(com.android.tools.r8.utils.InternalOptions):436 -> a
    44:44:boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions):507 -> a
    45:45:boolean mayHaveSideEffects(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.utils.InternalOptions):507:507 -> a
    46:46:void setSimpleInliningConstraint(com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):527:527 -> a
    47:47:void setInstanceInitializerInfoCollection(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):544:544 -> a
    48:48:void markInitializesClassesOnNormalExit(java.util.Set):560:560 -> a
    49:49:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):608:608 -> a
    50:50:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":661,"2":662,"3":663}}
    661:661:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):608:608 -> a
    662:662:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):608:608 -> a
    663:663:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):608:608 -> a
    658:660:void markReturnsAbstractValue(com.android.tools.r8.ir.analysis.value.AbstractValue):608:610 -> a
    664:664:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):618:618 -> a
    665:671:boolean com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.verifyDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):632:638 -> a
    665:671:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):626 -> a
    672:672:void setDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexEncodedMethod):627:627 -> a
    1:1:void unsetInlinedIntoSingleCallSite():380:380 -> a0
    1:1:boolean isFlagSet(int):218:218 -> b
    2:2:void setNonNullParamOnNormalExits(java.util.BitSet):363:363 -> b
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection.empty():23:23 -> b0
    1:1:void unsetInstanceInitializerInfoCollection():548 -> b0
    2:2:void unsetInstanceInitializerInfoCollection():548:548 -> b0
    com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo asMutableMethodOptimizationInfo() -> c
    1:1:void setNonNullParamOrThrow(java.util.BitSet):344:344 -> c
    2:4:void markReturnsArgument(int):568:570 -> c
    1:1:void unsetMayNotHaveSideEffects():588:588 -> c0
    boolean isMutableOptimizationInfo() -> d
    1:1:void setFlag(int):210:210 -> d
    2:3:void setUnusedArguments(java.util.BitSet):462:463 -> d
    4:4:java.util.BitSet com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo.getUnusedArguments():446:446 -> d
    4:4:void setUnusedArguments(java.util.BitSet):464 -> d
    5:7:void setUnusedArguments(java.util.BitSet):464:466 -> d
    1:1:void unsetNeverReturnsNormally():604:604 -> d0
    1:1:boolean cannotBeKept():223:223 -> e
    1:1:void unsetNonNullParamOnNormalExits():367:367 -> e0
    1:1:boolean classInitializerMayBePostponed():233:233 -> f
    1:1:void unsetNonNullParamOrThrow():348:348 -> f0
    1:1:boolean forceInline():494:494 -> g
    1:1:void unsetReachabilitySensitive():523:523 -> g0
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractReturnValue():427:427 -> h
    1:1:void unsetReturnValueOnlyDependsOnArguments():596:596 -> h0
    1:1:com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo getArgumentInfos():246:246 -> i
    1:1:void unsetReturnedArgument():574:574 -> i0
    1:1:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo getBridgeInfo():406:406 -> j
    1:1:void unsetSimpleInliningConstraint():531:531 -> j0
    1:1:com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint getClassInlinerMethodConstraint():263:263 -> k
    1:1:void unsetUnusedArguments():470:470 -> k0
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitiveInstanceInitializerInfo():318:318 -> l
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():308:308 -> m
    1:1:com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification getEnumUnboxerMethodClassification():283:283 -> n
    1:1:java.util.Set getInitializedClassesOnNormalExit():313:313 -> o
    1:1:java.util.BitSet getNonNullParamOnNormalExits():353:353 -> p
    1:1:java.util.BitSet getNonNullParamOrThrow():335:335 -> q
    1:2:int getReturnedArgument():395:396 -> r
    1:1:com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint getSimpleInliningConstraint():441:441 -> s
    1:1:java.util.BitSet getUnusedArguments():446:446 -> t
    1:1:boolean hasBeenInlinedIntoSingleCallSite():372:372 -> u
    1:1:boolean isInitializerEnablingJavaVmAssertions():475:475 -> w
    1:1:boolean isMultiCallerMethod():480:480 -> x
    1:1:boolean isReachabilitySensitive():385:385 -> y
    1:1:com.android.tools.r8.utils.OptionalBool isReturnValueUsed():485:485 -> z
com.android.tools.r8.ir.optimize.info.OptimizationFeedback -> com.android.tools.r8.internal.IK:
    1:1:void <init>():20:20 -> <init>
    void modifyAppInfoWithLiveness(java.util.function.Consumer) -> a
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple com.android.tools.r8.ir.optimize.info.OptimizationFeedback.getSimple():44:44 -> a
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple getSimpleFeedback():48 -> a
    2:2:void fixupOptimizationInfos(java.lang.Iterable,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer):62:62 -> a
    3:3:void lambda$fixupOptimizationInfos$0(com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer,com.android.tools.r8.graph.DexProgramClass):63:63 -> a
com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer -> com.android.tools.r8.internal.HK:
    void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo) -> a
    void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo) -> a
    1:3:void fixup(com.android.tools.r8.graph.DexEncodedMember):30:32 -> a
    4:4:void lambda$fixup$0(com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo,com.android.tools.r8.graph.DexEncodedField):33:33 -> a
    5:5:void lambda$fixup$1(com.android.tools.r8.ir.optimize.info.MemberOptimizationInfo,com.android.tools.r8.graph.DexEncodedMethod):34:34 -> a
com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed -> com.android.tools.r8.internal.JK:
    java.util.Map fieldOptimizationInfos -> b
    java.util.Map methodOptimizationInfos -> c
    java.util.Map processed -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.shaking.AppInfoWithLivenessModifier appInfoWithLivenessModifier -> a
    1:1:void <clinit>():33:33 -> <clinit>
    1:10:void <init>():33:42 -> <init>
    1:6:com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo getFieldOptimizationInfoForUpdating(com.android.tools.r8.graph.DexEncodedField):50:55 -> a
    7:7:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> a
    7:7:void setClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):239 -> a
    8:8:void setClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint):240:240 -> a
    9:9:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> a
    9:9:void setEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):246 -> a
    10:10:void setEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):247:247 -> a
    11:11:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> a
    11:11:void setSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):276 -> a
    12:12:void setSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):276:276 -> a
    13:13:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> a
    13:13:void setUnusedArguments(com.android.tools.r8.graph.ProgramMethod,java.util.BitSet):286 -> a
    14:14:void setUnusedArguments(com.android.tools.r8.graph.ProgramMethod,java.util.BitSet):286:286 -> a
    15:15:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> a
    15:15:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):323 -> a
    16:16:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):323:323 -> a
    17:17:void fixupOptimizationInfos(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer):78:78 -> a
    18:18:void com.android.tools.r8.ir.optimize.info.OptimizationFeedback.fixupOptimizationInfos(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer):54:54 -> a
    18:18:void fixupOptimizationInfos(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer):79 -> a
    19:19:void modifyAppInfoWithLiveness(java.util.function.Consumer):84:84 -> a
    20:20:void refineAppInfoWithLiveness(com.android.tools.r8.shaking.AppInfoWithLiveness):88:88 -> a
    21:21:boolean lambda$updateVisibleOptimizationInfo$0(java.util.Map$Entry):96:96 -> a
    22:22:void markFieldHasDynamicType(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.type.DynamicType):141:141 -> a
    23:23:void markFieldBitsRead(com.android.tools.r8.graph.DexEncodedField,int):146:146 -> a
    24:28:void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):152:156 -> a
    29:29:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    29:29:void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):156 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    30:30:void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):157:157 -> a
    31:37:void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):153:159 -> a
    38:39:void methodInitializesClassesOnNormalExit(com.android.tools.r8.graph.DexEncodedMethod,java.util.Set):183:184 -> a
    40:40:void methodReturnsArgument(com.android.tools.r8.graph.DexEncodedMethod,int):189:189 -> a
    41:42:void methodReturnsAbstractValue(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):195:196 -> a
    43:43:void setDynamicReturnType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):203:203 -> a
    44:44:void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):228:228 -> a
    45:45:void setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):233:233 -> a
    46:47:void setInstanceInitializerInfoCollection(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):254:255 -> a
    48:48:void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod):260:260 -> a
    49:49:void setNonNullParamOrThrow(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):265:265 -> a
    1:1:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> b
    1:1:void methodNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):208 -> b
    2:2:void methodNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):208:208 -> b
    3:3:boolean lambda$updateVisibleOptimizationInfo$1(java.util.Map$Entry):97:97 -> b
    4:9:boolean noUpdatesLeft():113:118 -> b
    10:10:void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod):213:213 -> b
    11:11:void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):270:270 -> b
    1:1:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed.getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.ProgramMethod):71:71 -> c
    1:1:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):318 -> c
    2:2:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):318:318 -> c
    3:4:void updateVisibleOptimizationInfo():95:96 -> c
    5:8:void com.android.tools.r8.utils.IteratorUtils.removeIf(java.util.Iterator,java.util.function.Predicate):140:143 -> c
    5:8:void updateVisibleOptimizationInfo():95 -> c
    9:9:void updateVisibleOptimizationInfo():97:97 -> c
    10:13:void com.android.tools.r8.utils.IteratorUtils.removeIf(java.util.Iterator,java.util.function.Predicate):140:143 -> c
    10:13:void updateVisibleOptimizationInfo():97 -> c
    14:23:void updateVisibleOptimizationInfo():100:109 -> c
    24:24:void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod):172:172 -> c
    1:1:void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod):218:218 -> d
    1:1:void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod):281:281 -> e
    1:1:void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod):177:177 -> f
    1:6:com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo getMethodOptimizationInfoForUpdating(com.android.tools.r8.graph.DexEncodedMethod):61:66 -> g
com.android.tools.r8.ir.optimize.info.OptimizationFeedbackIgnore -> com.android.tools.r8.ir.optimize.info.b:
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackIgnore INSTANCE -> a
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>():28:28 -> <init>
    void markFieldBitsRead(com.android.tools.r8.graph.DexEncodedField,int) -> a
    void markFieldHasDynamicType(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.type.DynamicType) -> a
    void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget) -> a
    void methodInitializesClassesOnNormalExit(com.android.tools.r8.graph.DexEncodedMethod,java.util.Set) -> a
    void methodReturnsAbstractValue(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue) -> a
    void methodReturnsArgument(com.android.tools.r8.graph.DexEncodedMethod,int) -> a
    void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue) -> a
    void setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo) -> a
    void setClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint) -> a
    void setDynamicReturnType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType) -> a
    void setEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification) -> a
    void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod) -> a
    void setInstanceInitializerInfoCollection(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection) -> a
    void setNonNullParamOrThrow(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet) -> a
    void setSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint) -> a
    void setUnusedArguments(com.android.tools.r8.graph.ProgramMethod,java.util.BitSet) -> a
    void unsetForceInline(com.android.tools.r8.graph.ProgramMethod) -> a
    void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod) -> b
    void methodNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod) -> b
    void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet) -> b
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackIgnore getInstance():31:31 -> b
    void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod) -> c
    void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod) -> c
    void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod) -> d
    void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod) -> e
    void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod) -> f
com.android.tools.r8.ir.optimize.info.OptimizationFeedbackIgnore$1 -> com.android.tools.r8.ir.optimize.info.a:
    1:1:void <init>():26:26 -> <init>
com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple -> com.android.tools.r8.internal.KK:
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple INSTANCE -> a
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>():30:30 -> <init>
    void markFieldBitsRead(com.android.tools.r8.graph.DexEncodedField,int) -> a
    void markFieldHasDynamicType(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.analysis.type.DynamicType) -> a
    void methodInitializesClassesOnNormalExit(com.android.tools.r8.graph.DexEncodedMethod,java.util.Set) -> a
    void setClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.classinliner.constraint.ClassInlinerMethodConstraint) -> a
    1:1:void markFieldAsDead(com.android.tools.r8.graph.DexEncodedField):45:45 -> a
    2:3:void recordFieldHasAbstractValue(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):66:67 -> a
    4:4:void methodReturnsArgument(com.android.tools.r8.graph.DexEncodedMethod,int):100:100 -> a
    5:5:void methodReturnsAbstractValue(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.value.AbstractValue):106:106 -> a
    6:6:void setDynamicReturnType(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType):112:112 -> a
    7:7:void markProcessed(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.Inliner$ConstraintWithTarget):137:137 -> a
    8:8:void setArgumentInfos(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):141:141 -> a
    9:9:void setBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):146:146 -> a
    10:12:void setEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.enums.classification.EnumUnboxerMethodClassification):159:161 -> a
    13:14:void setInstanceInitializerInfoCollection(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection):169:170 -> a
    15:15:void setInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.DexEncodedMethod):175:175 -> a
    16:16:void setNonNullParamOrThrow(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):184:184 -> a
    17:17:void setSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.inlining.SimpleInliningConstraint):195:195 -> a
    18:18:void setUnusedArguments(com.android.tools.r8.graph.ProgramMethod,java.util.BitSet):205:205 -> a
    19:24:void fixupUnusedArguments(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):209:214 -> a
    25:25:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):256:256 -> a
    26:27:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> a
    26:27:void unsetForceInline(com.android.tools.r8.graph.ProgramMethod):256 -> a
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple getInstance():33:33 -> b
    2:2:void markFieldAsPropagated(com.android.tools.r8.graph.DexEncodedField):50:50 -> b
    3:3:void methodMayNotHaveSideEffects(com.android.tools.r8.graph.DexEncodedMethod):117:117 -> b
    4:4:void methodNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):127:127 -> b
    5:5:void setNonNullParamOnNormalExits(com.android.tools.r8.graph.DexEncodedMethod,java.util.BitSet):189:189 -> b
    1:1:void markFieldCannotBeKept(com.android.tools.r8.graph.DexEncodedField):40:40 -> c
    2:2:void markInlinedIntoSingleCallSite(com.android.tools.r8.graph.DexEncodedMethod):84:84 -> c
    3:3:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):250:250 -> c
    4:5:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> c
    4:5:void unsetEnumUnboxerMethodClassification(com.android.tools.r8.graph.ProgramMethod):250 -> c
    void methodReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.DexEncodedMethod) -> d
    1:1:void setIsReturnValueUsed(com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.graph.ProgramMethod):179:179 -> d
    1:1:void setMultiCallerMethod(com.android.tools.r8.graph.ProgramMethod):72:72 -> e
    2:2:void classInitializerMayBePostponed(com.android.tools.r8.graph.DexEncodedMethod):200:200 -> e
    1:1:void markMethodCannotBeKept(com.android.tools.r8.graph.DexEncodedMethod):89:89 -> f
    2:2:void unsetAbstractReturnValue(com.android.tools.r8.graph.ProgramMethod):222:222 -> f
    3:4:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> f
    3:4:void unsetAbstractReturnValue(com.android.tools.r8.graph.ProgramMethod):222 -> f
    1:1:void unsetBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod):228:228 -> g
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Consumer):345:346 -> g
    2:3:void unsetBridgeInfo(com.android.tools.r8.graph.DexEncodedMethod):228 -> g
    4:4:void unsetClassInitializerMayBePostponed(com.android.tools.r8.graph.ProgramMethod):233:233 -> g
    5:6:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> g
    5:6:void unsetClassInitializerMayBePostponed(com.android.tools.r8.graph.ProgramMethod):233 -> g
    1:1:void unsetClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod):239:239 -> h
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> h
    2:3:void unsetClassInlinerMethodConstraint(com.android.tools.r8.graph.ProgramMethod):239 -> h
    1:1:void unsetDynamicReturnType(com.android.tools.r8.graph.ProgramMethod):245:245 -> i
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> i
    2:3:void unsetDynamicReturnType(com.android.tools.r8.graph.ProgramMethod):245 -> i
    1:1:void unsetInitializedClassesOnNormalExit(com.android.tools.r8.graph.ProgramMethod):261:261 -> j
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> j
    2:3:void unsetInitializedClassesOnNormalExit(com.android.tools.r8.graph.ProgramMethod):261 -> j
    1:1:void unsetInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.ProgramMethod):267:267 -> k
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> k
    2:3:void unsetInitializerEnablingJavaVmAssertions(com.android.tools.r8.graph.ProgramMethod):267 -> k
    1:1:void unsetInlinedIntoSingleCallSite(com.android.tools.r8.graph.ProgramMethod):273:273 -> l
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> l
    2:3:void unsetInlinedIntoSingleCallSite(com.android.tools.r8.graph.ProgramMethod):273 -> l
    1:1:void unsetInstanceInitializerInfoCollection(com.android.tools.r8.graph.ProgramMethod):279:279 -> m
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> m
    2:3:void unsetInstanceInitializerInfoCollection(com.android.tools.r8.graph.ProgramMethod):279 -> m
    1:1:void unsetMayNotHaveSideEffects(com.android.tools.r8.graph.ProgramMethod):285:285 -> n
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> n
    2:3:void unsetMayNotHaveSideEffects(com.android.tools.r8.graph.ProgramMethod):285 -> n
    1:1:void unsetNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):291:291 -> o
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> o
    2:3:void unsetNeverReturnsNormally(com.android.tools.r8.graph.ProgramMethod):291 -> o
    1:1:void unsetNonNullParamOnNormalExits(com.android.tools.r8.graph.ProgramMethod):297:297 -> p
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> p
    2:3:void unsetNonNullParamOnNormalExits(com.android.tools.r8.graph.ProgramMethod):297 -> p
    1:1:void unsetNonNullParamOrThrow(com.android.tools.r8.graph.ProgramMethod):303:303 -> q
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> q
    2:3:void unsetNonNullParamOrThrow(com.android.tools.r8.graph.ProgramMethod):303 -> q
    1:1:void unsetReachabilitySensitive(com.android.tools.r8.graph.ProgramMethod):309:309 -> r
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> r
    2:3:void unsetReachabilitySensitive(com.android.tools.r8.graph.ProgramMethod):309 -> r
    1:1:void unsetReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.ProgramMethod):320:320 -> s
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> s
    2:3:void unsetReturnValueOnlyDependsOnArguments(com.android.tools.r8.graph.ProgramMethod):320 -> s
    1:1:void unsetReturnedArgument(com.android.tools.r8.graph.ProgramMethod):315:315 -> t
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> t
    2:3:void unsetReturnedArgument(com.android.tools.r8.graph.ProgramMethod):315 -> t
    1:1:void unsetSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod):326:326 -> u
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> u
    2:3:void unsetSimpleInliningConstraint(com.android.tools.r8.graph.ProgramMethod):326 -> u
    1:1:void unsetUnusedArguments(com.android.tools.r8.graph.ProgramMethod):332:332 -> v
    2:3:void com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple.withMutableMethodOptimizationInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):337:338 -> v
    2:3:void unsetUnusedArguments(com.android.tools.r8.graph.ProgramMethod):332 -> v
com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo -> com.android.tools.r8.internal.JY:
    com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo INSTANCE -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():11:11 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.TopCallSiteOptimizationInfo getInstance():14:14 -> c
com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer -> com.android.tools.r8.internal.U5:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():22:22 -> <clinit>
    1:51:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo analyzeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):27:77 -> a
    52:54:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeReturn(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.CheckCast):168:170 -> a
    52:54:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo analyzeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):77 -> a
    55:55:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo analyzeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):67:67 -> a
    56:58:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeInvokeVirtual(com.android.tools.r8.ir.code.InvokeVirtual):153:155 -> a
    56:58:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo analyzeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):68 -> a
    59:60:com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo analyzeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.IRCode):87:88 -> a
    61:71:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeCheckCastBeforeInvoke(com.android.tools.r8.ir.code.CheckCast):99:109 -> a
    61:71:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):94 -> a
    72:72:boolean com.android.tools.r8.ir.code.Value.hasSingleUniqueUser():353:353 -> a
    72:72:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeCheckCastBeforeInvoke(com.android.tools.r8.ir.code.CheckCast):109 -> a
    72:72:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):94 -> a
    73:90:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeCheckCastBeforeInvoke(com.android.tools.r8.ir.code.CheckCast):112:129 -> a
    73:90:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):94 -> a
    91:99:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeCheckCastAfterInvoke(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):138:146 -> a
    91:99:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):95 -> a
    100:100:boolean com.android.tools.r8.ir.code.Value.hasSingleUniqueUser():353:353 -> a
    100:100:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeCheckCastAfterInvoke(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):147 -> a
    100:100:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):95 -> a
    101:101:boolean com.android.tools.r8.ir.optimize.info.bridge.BridgeAnalyzer.analyzeCheckCastAfterInvoke(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):148:148 -> a
    101:101:boolean analyzeCheckCast(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.code.CheckCast,com.android.tools.r8.ir.code.InvokeMethod):95 -> a
com.android.tools.r8.ir.optimize.info.bridge.VirtualBridgeInfo -> com.android.tools.r8.internal.W10:
    com.android.tools.r8.graph.DexMethod invokedMethod -> a
    1:1:void com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo.<init>():10:10 -> <init>
    1:1:void <init>(com.android.tools.r8.graph.DexMethod):32 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexMethod):33:33 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod getInvokedMethod():37:37 -> a
com.android.tools.r8.ir.optimize.info.field.EmptyInstanceFieldInitializationInfoCollection -> com.android.tools.r8.internal.Xh:
    com.android.tools.r8.ir.optimize.info.field.EmptyInstanceFieldInitializationInfoCollection INSTANCE -> a
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>():25:25 -> <init>
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    void forEach(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer) -> a
    void forEachWithDeterministicOrder(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo get(com.android.tools.r8.graph.DexEncodedField):47:47 -> a
    boolean isEmpty() -> b
    1:1:com.android.tools.r8.ir.optimize.info.field.EmptyInstanceFieldInitializationInfoCollection getInstance():28:28 -> c
    1:1:java.lang.String toString():69:69 -> toString
com.android.tools.r8.ir.optimize.info.field.InstanceFieldArgumentInitializationInfo -> com.android.tools.r8.internal.Sp:
    boolean $assertionsDisabled -> b
    int argumentIndex -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:void <init>(int):23:24 -> <init>
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:8:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):44:51 -> a
    9:18:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):50:59 -> a
    1:1:int getArgumentIndex():28:28 -> b
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldArgumentInitializationInfo asArgumentInitializationInfo() -> e
    boolean isArgumentInitializationInfo() -> g
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":150,"2":151,"3":152}}
    150:150:java.lang.String toString():74:74 -> toString
    151:151:java.lang.String toString():74:74 -> toString
    152:152:java.lang.String toString():74:74 -> toString
    75:75:java.lang.String toString():74:74 -> toString
    76:76:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":153,"2":154,"3":155}}
    153:153:java.lang.String toString():74:74 -> toString
    154:154:java.lang.String toString():74:74 -> toString
    155:155:java.lang.String toString():74:74 -> toString
com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo -> com.android.tools.r8.internal.Tp:
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isTypeInitializationInfo() -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldArgumentInitializationInfo asArgumentInitializationInfo() -> e
    boolean isSingleValue() -> f
    boolean isArgumentInitializationInfo() -> g
    com.android.tools.r8.ir.analysis.value.SingleValue asSingleValue() -> i
com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection -> com.android.tools.r8.internal.Vp:
    1:1:void <init>():25:25 -> <init>
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    void forEach(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer) -> a
    void forEachWithDeterministicOrder(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo get(com.android.tools.r8.graph.DexEncodedField) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder builder():28:28 -> a
    boolean isEmpty() -> b
com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder -> com.android.tools.r8.internal.Up:
    java.util.TreeMap infos -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():53:53 -> <clinit>
    1:3:void <init>():53:55 -> <init>
    1:3:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder recordInitializationInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):63:65 -> a
    4:7:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection build():71:74 -> a
com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoFactory -> com.android.tools.r8.internal.Wp:
    java.util.concurrent.ConcurrentHashMap argumentInitializationInfos -> a
    1:3:void <init>():11:13 -> <init>
    1:3:com.android.tools.r8.ir.optimize.info.field.InstanceFieldArgumentInitializationInfo createArgumentInitializationInfo(int):18:18 -> a
    4:4:com.android.tools.r8.ir.optimize.info.field.InstanceFieldTypeInitializationInfo createTypeInitializationInfo(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.TypeElement):24:24 -> a
com.android.tools.r8.ir.optimize.info.field.InstanceFieldTypeInitializationInfo -> com.android.tools.r8.internal.Yp:
    com.android.tools.r8.ir.analysis.type.ClassTypeElement dynamicLowerBoundType -> a
    com.android.tools.r8.ir.analysis.type.TypeElement dynamicUpperBoundType -> b
    1:3:void <init>(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.ir.analysis.type.TypeElement):27:29 -> <init>
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    boolean isTypeInitializationInfo() -> a
    1:13:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):59:71 -> a
    14:14:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    14:14:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):72 -> a
    15:17:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):72:74 -> a
    18:18:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.ir.analysis.type.TypeElement.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):96:96 -> a
    18:18:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):74 -> a
    19:19:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):74:74 -> a
    1:6:boolean equals(java.lang.Object):87:92 -> equals
    1:1:int hashCode():79:79 -> hashCode
    1:1:java.lang.String toString():97:97 -> toString
com.android.tools.r8.ir.optimize.info.field.NonTrivialInstanceFieldInitializationInfoCollection -> com.android.tools.r8.internal.CH:
    java.util.TreeMap infos -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():23:23 -> <clinit>
    1:4:void <init>(java.util.TreeMap):29:32 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection.builder():28:28 -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):73 -> a
    2:6:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection):74:78 -> a
    7:7:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection.builder():28:28 -> a
    7:7:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):84 -> a
    8:13:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens):85:90 -> a
    14:14:void forEach(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer):39:39 -> a
    15:20:void lambda$forEach$0(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):41:46 -> a
    21:21:void forEachWithDeterministicOrder(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer):56:56 -> a
    22:24:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo get(com.android.tools.r8.graph.DexEncodedField):61:61 -> a
    25:25:void lambda$fixupAfterParametersChanged$1(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):77:77 -> a
    26:26:void lambda$fixupAfterParametersChanged$1(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder,com.android.tools.r8.graph.proto.ArgumentInfoCollection,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):76:76 -> a
    27:28:void lambda$rewrittenWithLens$2(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):88:89 -> a
    29:29:void lambda$rewrittenWithLens$2(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):87:87 -> a
    30:30:void lambda$toString$3(java.util.List,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo):96:96 -> a
    boolean isEmpty() -> b
    1:4:java.lang.String toString():95:98 -> toString
com.android.tools.r8.ir.optimize.info.field.UnknownInstanceFieldInitializationInfo -> com.android.tools.r8.internal.K00:
    com.android.tools.r8.ir.optimize.info.field.UnknownInstanceFieldInitializationInfo INSTANCE -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>():21:21 -> <init>
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo fixupAfterParametersChanged(com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.UnknownInstanceFieldInitializationInfo getInstance():24:24 -> b
    1:1:java.lang.String toString():46:46 -> toString
com.android.tools.r8.ir.optimize.info.initializer.ContextInsensitiveInstanceInitializerInfoCollection -> com.android.tools.r8.internal.Vd:
    com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo info -> a
    1:2:void <init>(com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo):19:20 -> <init>
    1:4:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):41:44 -> a
    5:8:com.android.tools.r8.ir.optimize.info.initializer.ContextInsensitiveInstanceInitializerInfoCollection com.android.tools.r8.ir.optimize.info.initializer.ContextInsensitiveInstanceInitializerInfoCollection.rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):55:58 -> a
    5:8:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):14 -> a
    1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo com.android.tools.r8.ir.optimize.info.initializer.ContextInsensitiveInstanceInitializerInfoCollection.get(com.android.tools.r8.ir.code.InvokeDirect):30:30 -> b
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo get(com.android.tools.r8.ir.code.InvokeDirect):14 -> b
    1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo com.android.tools.r8.ir.optimize.info.initializer.ContextInsensitiveInstanceInitializerInfoCollection.getContextInsensitive():25:25 -> c
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitive():14 -> c
com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo -> com.android.tools.r8.internal.Ue:
    com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo INSTANCE -> a
    1:1:void <clinit>():20:20 -> <clinit>
    1:1:void <init>():23:23 -> <init>
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fieldInitializationInfos():46:46 -> b
    com.android.tools.r8.graph.DexMethod getParent() -> c
    boolean instanceFieldInitializationMayDependOnEnvironment() -> d
    boolean mayHaveOtherSideEffectsThanInstanceFieldAssignments() -> e
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet():51:51 -> f
    boolean receiverNeverEscapesOutsideConstructorChain() -> g
    1:1:com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo getInstance():26:26 -> h
    1:1:java.lang.String toString():86:86 -> toString
com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection -> com.android.tools.r8.internal.Yh:
    com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection EMPTY -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems) -> a
    1:1:com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection.get(com.android.tools.r8.ir.code.InvokeDirect):32:32 -> b
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo get(com.android.tools.r8.ir.code.InvokeDirect):14 -> b
    1:1:com.android.tools.r8.ir.optimize.info.initializer.DefaultInstanceInitializerInfo com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection.getContextInsensitive():27:27 -> c
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitive():14 -> c
    1:1:com.android.tools.r8.ir.optimize.info.initializer.EmptyInstanceInitializerInfoCollection getInstance():22:22 -> d
com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo -> com.android.tools.r8.internal.eq:
    1:1:void <init>():16:16 -> <init>
    com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo asNonTrivialInstanceInitializerInfo() -> a
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fieldInitializationInfos() -> b
    com.android.tools.r8.graph.DexMethod getParent() -> c
    boolean instanceFieldInitializationMayDependOnEnvironment() -> d
    boolean mayHaveOtherSideEffectsThanInstanceFieldAssignments() -> e
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet() -> f
    boolean receiverNeverEscapesOutsideConstructorChain() -> g
com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection -> com.android.tools.r8.internal.fq:
    1:1:void <init>():16:16 -> <init>
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection) -> a
    1:1:boolean com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo.isNonTrivialInstanceInitializerInfo():0:0 -> a
    1:1:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection of(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):27 -> a
    2:3:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection of(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):28:29 -> a
    4:4:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection.empty():23:23 -> a
    4:4:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection of(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):31 -> a
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems) -> a
    5:5:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfoCollection empty():23:23 -> a
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo get(com.android.tools.r8.ir.code.InvokeDirect) -> b
    com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo getContextInsensitive() -> c
com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo -> com.android.tools.r8.internal.EH:
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fieldInitializationInfos -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet -> c
    com.android.tools.r8.graph.DexMethod parent -> d
    int data -> a
    1:1:void <clinit>():20:20 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$1):20:20 -> <init>
    2:7:void <init>(int,com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection,com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet,com.android.tools.r8.graph.DexMethod):35:40 -> <init>
    com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo asNonTrivialInstanceInitializerInfo() -> a
    1:1:boolean verifyNoUnknownBits(int):58:58 -> a
    2:5:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo fixupAfterParametersChanged(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.proto.ArgumentInfoCollection):105:108 -> a
    6:10:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo rewrittenWithLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):118:122 -> a
    1:1:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection fieldInitializationInfos():79:79 -> b
    1:1:com.android.tools.r8.graph.DexMethod getParent():74:74 -> c
    1:1:boolean instanceFieldInitializationMayDependOnEnvironment():89:89 -> d
    1:1:boolean mayHaveOtherSideEffectsThanInstanceFieldAssignments():94:94 -> e
    1:1:com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet():84:84 -> f
    1:1:boolean receiverNeverEscapesOutsideConstructorChain():99:99 -> g
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":129,"2":130,"3":131}}
    129:129:java.lang.String toString():127:127 -> toString
    130:130:java.lang.String toString():127:127 -> toString
    131:131:java.lang.String toString():127:127 -> toString
    128:128:java.lang.String toString():127:127 -> toString
com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder -> com.android.tools.r8.internal.DH:
    com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection instanceFieldInitializationInfos -> a
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet readSet -> c
    com.android.tools.r8.graph.DexMethod parent -> d
    int data -> b
    1:1:void <clinit>():130:130 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):141:141 -> <init>
    2:10:void <init>(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):134:142 -> <init>
    1:3:boolean com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.isTrivial():146:148 -> a
    1:3:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo build():233 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> a
    4:4:boolean com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.isTrivial():148 -> a
    4:4:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo build():233 -> a
    5:5:boolean com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.isTrivial():148:148 -> a
    5:5:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo build():233 -> a
    6:7:com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo build():234:235 -> a
    8:9:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder markFieldAsRead(com.android.tools.r8.graph.DexEncodedField):153:154 -> a
    10:10:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> a
    10:10:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder markFieldAsRead(com.android.tools.r8.graph.DexEncodedField):154 -> a
    11:16:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder markFieldAsRead(com.android.tools.r8.graph.DexEncodedField):155:160 -> a
    17:17:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186:186 -> a
    18:18:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):165:165 -> a
    18:18:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    19:19:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> a
    19:19:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):165 -> a
    19:19:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    20:20:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):165:165 -> a
    20:20:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    21:21:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> a
    21:21:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):165 -> a
    21:21:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    22:22:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isTop():0:0 -> a
    22:22:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):168 -> a
    22:22:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    23:23:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markAllFieldsAsRead():181:181 -> a
    23:23:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):169 -> a
    23:23:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    24:25:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):171:172 -> a
    24:25:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    26:26:boolean com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet.isBottom():0:0 -> a
    26:26:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):172 -> a
    26:26:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    27:29:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.markFieldsAsRead(com.android.tools.r8.ir.analysis.fieldvalueanalysis.AbstractFieldSet):173:175 -> a
    27:29:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):186 -> a
    30:34:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):187:191 -> a
    35:35:boolean com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo.receiverMayEscapeOutsideConstructorChain():72:72 -> a
    35:35:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):193 -> a
    36:36:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder merge(com.android.tools.r8.ir.optimize.info.initializer.InstanceInitializerInfo):194:194 -> a
    37:37:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setParent(com.android.tools.r8.graph.DexMethod):227:227 -> a
    38:38:com.android.tools.r8.graph.DexMethod com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder.getParent():223:223 -> a
    38:38:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setParent(com.android.tools.r8.graph.DexMethod):227 -> a
    39:40:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setParent(com.android.tools.r8.graph.DexMethod):227:228 -> a
    1:1:com.android.tools.r8.graph.DexMethod getParent():223:223 -> b
    1:1:boolean hasParent():219:219 -> c
    1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder markAllFieldsAsRead():181:181 -> d
    1:1:boolean mayHaveOtherSideEffectsThanInstanceFieldAssignments():205:205 -> e
    1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setInstanceFieldInitializationMayDependOnEnvironment():200:200 -> f
    1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setMayHaveOtherSideEffectsThanInstanceFieldAssignments():209:209 -> g
    1:1:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder setReceiverMayEscapeOutsideConstructorChain():214:214 -> h
com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy -> com.android.tools.r8.internal.Te:
    com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation callSiteInformation -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions$InlinerOptions options -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():19:19 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.callgraph.CallSiteInformation):26:29 -> <init>
    1:16:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):39:54 -> a
    17:23:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):68:74 -> a
    17:23:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    24:24:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    24:24:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):74 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    25:25:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    25:25:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):74 -> a
    25:25:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    26:26:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):74:74 -> a
    26:26:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    27:27:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    27:27:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):75 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    28:28:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    28:28:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):75 -> a
    28:28:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    29:29:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isSingleCallerInliningTarget(com.android.tools.r8.graph.ProgramMethod):75:75 -> a
    29:29:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):56 -> a
    30:30:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):57:57 -> a
    31:35:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isMultiCallerInlineCandidate(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):86:90 -> a
    31:35:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):59 -> a
    36:36:boolean com.android.tools.r8.ir.conversion.MethodProcessor.isPostMethodProcessor():0:0 -> a
    36:36:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isMultiCallerInlineCandidate(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):92 -> a
    36:36:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):59 -> a
    37:37:boolean com.android.tools.r8.ir.optimize.inliner.DefaultInliningReasonStrategy.isMultiCallerInlineCandidate(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):93:93 -> a
    37:37:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):59 -> a
    38:42:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):60:64 -> a
com.android.tools.r8.ir.optimize.inliner.FixedInliningReasonStrategy -> com.android.tools.r8.internal.zk:
    com.android.tools.r8.ir.optimize.Inliner$Reason reason -> a
    1:2:void <init>(com.android.tools.r8.ir.optimize.Inliner$Reason):17:18 -> <init>
    1:1:com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor):28:28 -> a
com.android.tools.r8.ir.optimize.inliner.InlinerUtils -> com.android.tools.r8.internal.Gp:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():14:14 -> <clinit>
    1:4:void collectAllMonitorEnterValues(com.android.tools.r8.ir.code.IRCode,java.util.Set,java.util.Set):20:23 -> a
    5:5:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):32:32 -> a
    6:6:boolean com.android.tools.r8.ir.code.Value.hasAliasedValue():204:204 -> a
    6:6:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):32 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:8:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):32:33 -> a
    9:9:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    9:9:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):33 -> a
    10:10:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):36:36 -> a
    11:11:void addMonitorEnterValue(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):34:34 -> a
com.android.tools.r8.ir.optimize.inliner.InliningIRProvider -> com.android.tools.r8.internal.Ip:
    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> d
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.ProgramMethod context -> b
    java.util.Map cache -> e
    com.android.tools.r8.ir.code.NumberGenerator valueNumberGenerator -> c
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.inliner.InliningIRProvider$1):19:19 -> <init>
    2:2:void <init>():28:28 -> <init>
    3:9:void <init>():26:32 -> <init>
    10:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):36:36 -> <init>
    11:25:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor):26:40 -> <init>
    1:2:com.android.tools.r8.ir.code.IRCode getAndCacheInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):93:94 -> a
    3:4:void cacheInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):99:100 -> a
    5:5:com.android.tools.r8.ir.conversion.MethodProcessor getMethodProcessor():104:104 -> a
    6:6:boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod):113:113 -> a
    1:1:com.android.tools.r8.ir.optimize.inliner.InliningIRProvider getThrowingInstance():44:44 -> b
    2:11:com.android.tools.r8.ir.code.IRCode getInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):78:87 -> b
    12:17:com.android.tools.r8.ir.code.IRCode com.android.tools.r8.graph.ProgramMethod.buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.conversion.MethodProcessor):41:46 -> b
    12:17:com.android.tools.r8.ir.code.IRCode getInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):83 -> b
    18:18:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.GraphLens.lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod):461:461 -> b
    18:18:com.android.tools.r8.ir.code.IRCode com.android.tools.r8.graph.ProgramMethod.buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.conversion.MethodProcessor):46 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:18:com.android.tools.r8.ir.code.IRCode getInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):83 -> b
    19:19:com.android.tools.r8.ir.code.IRCode com.android.tools.r8.graph.ProgramMethod.buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.ir.conversion.MethodProcessor):48:48 -> b
    19:19:com.android.tools.r8.ir.code.IRCode getInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):83 -> b
    1:1:boolean verifyIRCacheIsEmpty():108:108 -> c
com.android.tools.r8.ir.optimize.inliner.InliningIRProvider$1 -> com.android.tools.r8.internal.Hp:
    1:1:void <init>():44:44 -> <init>
    1:1:com.android.tools.r8.ir.code.IRCode getAndCacheInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):52:52 -> a
    2:2:void cacheInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.IRCode):57:57 -> a
    3:3:com.android.tools.r8.ir.conversion.MethodProcessor getMethodProcessor():62:62 -> a
    4:4:boolean shouldApplyCodeRewritings(com.android.tools.r8.graph.ProgramMethod):72:72 -> a
    1:1:com.android.tools.r8.ir.code.IRCode getInliningIR(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):47:47 -> b
    boolean verifyIRCacheIsEmpty() -> c
com.android.tools.r8.ir.optimize.inliner.InliningReasonStrategy -> com.android.tools.r8.internal.Kp:
    com.android.tools.r8.ir.optimize.Inliner$Reason computeInliningReason(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.DefaultInliningOracle,com.android.tools.r8.ir.conversion.MethodProcessor) -> a
com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter -> com.android.tools.r8.internal.GH:
    com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter INSTANCE -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    void reportCallerHasUnknownApiLevel() -> a
    void reportIncorrectArity(int,int) -> a
    void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel) -> a
    void reportInvalidInliningReason(com.android.tools.r8.ir.optimize.Inliner$Reason,java.util.Set) -> a
    void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut) -> a
    void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect) -> a
    void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction) -> a
    void reportCallerNotSameClass() -> b
    void reportPotentialExplosionInExceptionalControlFlowResolutionBlocks(int,int) -> b
    void reportCallerNotSameNest() -> c
    void reportWillExceedInstructionBudget(int,int) -> c
    void reportCallerNotSamePackage() -> d
    void reportWillExceedMaxInliningDepth(int,int) -> d
    void reportCallerNotSubtype() -> e
    void reportWillExceedMonitorEnterValuesBudget(int,int) -> e
    void reportInaccessible() -> f
    void reportInlineeDoesNotHaveCode() -> g
    void reportInlineeNotInliningCandidate() -> h
    void reportInlineeNotProcessed() -> i
    void reportInlineeNotSimple() -> j
    void reportInlineeRefersToClassesNotInMainDex() -> k
    void reportInliningAcrossFeatureSplit() -> l
    void reportInstructionBudgetIsExceeded() -> m
    void reportMustTriggerClassInitialization() -> n
    void reportNoInliningIntoConstructorsWhenGeneratingClassFiles() -> o
    void reportPinned() -> p
    void reportProcessedConcurrently() -> q
    void reportReceiverDefinitelyNull() -> r
    void reportReceiverMaybeNull() -> s
    void reportRecursiveMethod() -> t
    void reportUnknownTarget() -> u
    boolean unsetReasonHasBeenReportedFlag() -> v
    1:1:com.android.tools.r8.ir.optimize.inliner.NopWhyAreYouNotInliningReporter getInstance():22:22 -> w
com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter -> com.android.tools.r8.internal.u20:
    1:1:void <init>():19:19 -> <init>
    void reportCallerHasUnknownApiLevel() -> a
    void reportIncorrectArity(int,int) -> a
    void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel) -> a
    void reportInvalidInliningReason(com.android.tools.r8.ir.optimize.Inliner$Reason,java.util.Set) -> a
    void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut) -> a
    void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect) -> a
    void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction) -> a
    1:5:com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter createFor(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):23:27 -> a
    6:19:void handleInvokeWithUnknownTarget(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):32:45 -> a
    void reportCallerNotSameClass() -> b
    void reportPotentialExplosionInExceptionalControlFlowResolutionBlocks(int,int) -> b
    void reportCallerNotSameNest() -> c
    void reportWillExceedInstructionBudget(int,int) -> c
    void reportCallerNotSamePackage() -> d
    void reportWillExceedMaxInliningDepth(int,int) -> d
    void reportCallerNotSubtype() -> e
    void reportWillExceedMonitorEnterValuesBudget(int,int) -> e
    void reportInaccessible() -> f
    void reportInlineeDoesNotHaveCode() -> g
    void reportInlineeNotInliningCandidate() -> h
    void reportInlineeNotProcessed() -> i
    void reportInlineeNotSimple() -> j
    void reportInlineeRefersToClassesNotInMainDex() -> k
    void reportInliningAcrossFeatureSplit() -> l
    void reportInstructionBudgetIsExceeded() -> m
    void reportMustTriggerClassInitialization() -> n
    void reportNoInliningIntoConstructorsWhenGeneratingClassFiles() -> o
    void reportPinned() -> p
    void reportProcessedConcurrently() -> q
    void reportReceiverDefinitelyNull() -> r
    void reportReceiverMaybeNull() -> s
    void reportRecursiveMethod() -> t
    void reportUnknownTarget() -> u
    boolean unsetReasonHasBeenReportedFlag() -> v
com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporterImpl -> com.android.tools.r8.internal.v20:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.ProgramMethod context -> b
    com.android.tools.r8.graph.ProgramMethod callee -> a
    java.io.PrintStream output -> c
    boolean reasonHasBeenReported -> d
    1:1:void <clinit>():17:17 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):26:26 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,java.io.PrintStream):23:29 -> <init>
    1:1:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":244,"2":245,"3":246}}
    244:244:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):237:237 -> a
    245:245:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):237:237 -> a
    246:246:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):237:237 -> a
    240:242:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):239:241 -> a
    243:243:void reportUnsafeConstructorInliningDueToFinalFieldAssignment(com.android.tools.r8.ir.code.InstancePut):237:237 -> a
    247:247:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":498,"2":499,"3":500}}
    498:498:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):247:247 -> a
    499:499:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):247:247 -> a
    500:500:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):247:247 -> a
    496:496:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):249:249 -> a
    497:497:void reportUnsafeConstructorInliningDueToIndirectConstructorCall(com.android.tools.r8.ir.code.InvokeDirect):247:247 -> a
    501:501:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":757,"2":758,"3":759}}
    757:757:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):255:255 -> a
    758:758:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):255:255 -> a
    759:759:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):255:255 -> a
    756:756:void reportUnsafeConstructorInliningDueToUninitializedObjectUse(com.android.tools.r8.ir.code.Instruction):255:255 -> a
    760:770:void print(java.lang.String):33:43 -> a
    771:771:void printWithExceededThreshold(java.lang.String,java.lang.String,int,int):48:48 -> a
    772:772:void reportCallerHasUnknownApiLevel():78:78 -> a
    773:773:void reportIncorrectArity(int,int):93:93 -> a
    774:778:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):126:130 -> a
    779:779:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":916,"2":917,"3":918}}
    916:916:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):131:131 -> a
    917:917:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):131:131 -> a
    918:918:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):131:131 -> a
    912:914:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):133:135 -> a
    915:915:void reportInlineeHigherApiCall(com.android.tools.r8.androidapi.ComputedApiLevel,com.android.tools.r8.androidapi.ComputedApiLevel):131:131 -> a
    919:924:void reportInvalidInliningReason(com.android.tools.r8.ir.optimize.Inliner$Reason,java.util.Set):164:164 -> a
    1:1:void reportCallerNotSameClass():53:53 -> b
    2:2:void reportPotentialExplosionInExceptionalControlFlowResolutionBlocks(int,int):202:202 -> b
    1:1:void reportCallerNotSameNest():58:58 -> c
    2:2:void reportWillExceedInstructionBudget(int,int):260:260 -> c
    1:1:void reportCallerNotSamePackage():63:63 -> d
    2:2:void reportWillExceedMaxInliningDepth(int,int):269:269 -> d
    1:1:void reportCallerNotSubtype():70:70 -> e
    2:2:void reportWillExceedMonitorEnterValuesBudget(int,int):279:279 -> e
    1:1:void reportInaccessible():88:88 -> f
    1:1:void reportInlineeDoesNotHaveCode():103:103 -> g
    1:1:void reportInlineeNotInliningCandidate():108:108 -> h
    1:1:void reportInlineeNotProcessed():113:113 -> i
    1:1:void reportInlineeNotSimple():118:118 -> j
    1:1:void reportInlineeRefersToClassesNotInMainDex():142:142 -> k
    1:1:void reportInliningAcrossFeatureSplit():149:149 -> l
    1:1:void reportInstructionBudgetIsExceeded():154:154 -> m
    1:1:void reportMustTriggerClassInitialization():184:184 -> n
    1:1:void reportNoInliningIntoConstructorsWhenGeneratingClassFiles():191:191 -> o
    1:1:void reportPinned():196:196 -> p
    1:1:void reportProcessedConcurrently():211:211 -> q
    1:1:void reportReceiverDefinitelyNull():217:217 -> r
    1:1:void reportReceiverMaybeNull():222:222 -> s
    1:1:void reportRecursiveMethod():227:227 -> t
    1:1:void reportUnknownTarget():232:232 -> u
    1:2:boolean unsetReasonHasBeenReportedFlag():288:289 -> v
com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph -> com.android.tools.r8.internal.OF:
    1:1:void <init>(java.util.Map):16:16 -> <init>
    1:1:com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraphBuilder builder(com.android.tools.r8.graph.AppView):20:20 -> a
com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraphBuilder -> com.android.tools.r8.internal.PF:
    1:1:void <init>(com.android.tools.r8.graph.AppView):21:21 -> <init>
    1:1:com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraphBuilder.createNode(com.android.tools.r8.graph.ProgramMethod):26:26 -> a
    1:1:com.android.tools.r8.ir.conversion.callgraph.NodeBase createNode(com.android.tools.r8.graph.ProgramMethod):17 -> a
    2:3:com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerCallGraph build(java.util.concurrent.ExecutorService):31:32 -> a
    4:4:void processClass(com.android.tools.r8.graph.DexProgramClass):36:36 -> a
    1:4:void processMethod(com.android.tools.r8.graph.ProgramMethod):40:43 -> c
com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerInvokeRegistry -> com.android.tools.r8.internal.QF:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode,java.util.function.Function,java.util.Map):28:28 -> <init>
    1:1:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    1:1:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):40 -> a
    2:3:void processInvokeWithDynamicDispatch(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):41:42 -> a
    1:1:com.android.tools.r8.graph.GraphLens getCodeLens():33:33 -> c
com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode -> com.android.tools.r8.internal.RF:
    java.util.concurrent.atomic.AtomicInteger numberOfCallSites -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod):17:17 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.ProgramMethod):14:14 -> <init>
    1:1:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase,boolean):12:12 -> a
    2:3:void com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode.addCallerConcurrently(com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode,boolean):22:23 -> a
    2:3:void addCallerConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase,boolean):12 -> a
    4:4:void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase):12:12 -> a
    5:5:void com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode.addReaderConcurrently(com.android.tools.r8.ir.optimize.inliner.multicallerinliner.MultiCallerInlinerNode):28:28 -> a
    5:5:void addReaderConcurrently(com.android.tools.r8.ir.conversion.callgraph.NodeBase):12 -> a
    1:1:int getNumberOfCallSites():32:32 -> c
com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer -> com.android.tools.r8.internal.y5:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    1:3:void <init>(com.android.tools.r8.graph.AppView):29:31 -> <init>
    1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):48:48 -> a
    2:5:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeBooleanValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):59:62 -> a
    2:5:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):49 -> a
    6:6:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    6:6:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeBooleanValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):62 -> a
    6:6:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):49 -> a
    7:12:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeBooleanValue(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):63:68 -> a
    7:12:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):49 -> a
    13:13:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):50:50 -> a
    14:17:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeParseBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):76:79 -> a
    14:17:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):51 -> a
    18:18:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    18:18:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeParseBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):79 -> a
    18:18:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):51 -> a
    19:25:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeParseBoolean(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):80:86 -> a
    19:25:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):51 -> a
    26:26:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):52:52 -> a
    27:29:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set):98:100 -> a
    27:29:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):53 -> a
    30:30:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    30:30:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set):100 -> a
    30:30:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):53 -> a
    31:37:void com.android.tools.r8.ir.optimize.library.BooleanMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set):101:101 -> a
    31:37:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):53 -> a
    1:1:com.android.tools.r8.graph.DexType getType():36:36 -> getType
com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer -> com.android.tools.r8.internal.a6:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:3:void <init>(com.android.tools.r8.graph.AppView):25:27 -> <init>
    1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):44:44 -> a
    2:2:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    2:2:void com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer.optimizeByteValue(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):52 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):45 -> a
    3:6:void com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer.optimizeByteValue(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):52:55 -> a
    3:6:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):45 -> a
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    7:7:void com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer.optimizeByteValue(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):55 -> a
    7:7:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):45 -> a
    8:9:void com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer.optimizeByteValue(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):56:57 -> a
    8:9:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):45 -> a
    10:10:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    10:10:void com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer.optimizeByteValue(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):57 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):45 -> a
    11:12:void com.android.tools.r8.ir.optimize.library.ByteMethodOptimizer.optimizeByteValue(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):57:58 -> a
    11:12:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):45 -> a
    1:1:com.android.tools.r8.graph.DexType getType():32:32 -> getType
com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer -> com.android.tools.r8.internal.Ei:
    com.android.tools.r8.graph.AppView appView -> a
    1:2:void <init>(com.android.tools.r8.graph.AppView):29:30 -> <init>
    1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):47:47 -> a
    2:2:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):47 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    3:3:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):47 -> a
    4:6:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):48:50 -> a
    7:26:void com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer.insertAssumeDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):60:79 -> a
    7:26:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):50 -> a
    27:27:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    27:27:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    27:27:void com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer.insertAssumeDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):79 -> a
    27:27:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):50 -> a
    28:28:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.graph.DexType.toDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):65:65 -> a
    28:28:void com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer.insertAssumeDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):79 -> a
    28:28:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):50 -> a
    29:29:com.android.tools.r8.ir.code.Assume com.android.tools.r8.ir.code.Assume.createAssumeDynamicTypeInstruction(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):61:61 -> a
    29:29:void com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer.insertAssumeDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):81 -> a
    29:29:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):50 -> a
    30:31:void com.android.tools.r8.ir.optimize.library.EnumMethodOptimizer.insertAssumeDynamicType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):83:84 -> a
    30:31:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):50 -> a
    1:1:com.android.tools.r8.graph.DexType getType():35:35 -> getType
com.android.tools.r8.ir.optimize.library.LibraryFieldSynthesis -> com.android.tools.r8.internal.tB:
    1:3:void synthesizeEnumFields(com.android.tools.r8.graph.AppView):27:29 -> a
    4:4:com.android.tools.r8.graph.DexLibraryClass com.android.tools.r8.graph.DexLibraryClass.asLibraryClassOrNull(com.android.tools.r8.graph.DexClass):78:78 -> a
    4:4:void synthesizeEnumFields(com.android.tools.r8.graph.AppView):29 -> a
    5:5:void synthesizeEnumFields(com.android.tools.r8.graph.AppView):31:31 -> a
    6:12:void lambda$synthesizeEnumFields$0(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):33:39 -> a
    13:16:void lambda$synthesizeEnumFields$0(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):38:41 -> a
    17:17:com.android.tools.r8.graph.DexEncodedField$Builder com.android.tools.r8.graph.DexEncodedField$Builder.disableAndroidApiLevelCheck():498:498 -> a
    17:17:void lambda$synthesizeEnumFields$0(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):43 -> a
    18:18:void lambda$synthesizeEnumFields$0(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):44:44 -> a
    19:19:void lambda$synthesizeEnumFields$0(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):35:35 -> a
com.android.tools.r8.ir.optimize.library.LibraryMemberOptimizer -> com.android.tools.r8.internal.uB:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map libraryMethodModelCollections -> d
    java.util.Set modeledLibraryTypes -> c
    boolean $assertionsDisabled -> e
    java.util.Set finalLibraryFields -> b
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):43:43 -> <init>
    2:32:void <init>(com.android.tools.r8.graph.AppView):35:65 -> <init>
    1:2:void initializeFinalLibraryFields():69:70 -> a
    3:3:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):72:72 -> a
    4:4:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    4:4:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):72 -> a
    5:5:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):72:72 -> a
    6:6:boolean com.android.tools.r8.graph.DexEncodedField.isFinal():208:208 -> a
    6:6:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):74 -> a
    7:9:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):75:77 -> a
    10:10:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":88,"2":89,"3":90}}
    88:88:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):77:77 -> a
    89:89:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):77:77 -> a
    90:90:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):77:77 -> a
    87:87:void lambda$initializeFinalLibraryFields$0(com.android.tools.r8.graph.DexField):77:77 -> a
    91:91:boolean isFinalLibraryField(com.android.tools.r8.graph.DexEncodedField):86:86 -> a
    92:92:boolean isModeled(com.android.tools.r8.graph.DexType):102:102 -> a
    93:97:void register(com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection):106:110 -> a
    98:130:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):119:151 -> a
    131:131:boolean com.android.tools.r8.ir.code.Instruction.instructionMayHaveSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):613:613 -> a
    131:131:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):151 -> a
    132:137:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):152:157 -> a
    138:138:void com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,java.lang.Object,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):59:59 -> a
    138:138:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):161 -> a
    139:142:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):174:177 -> a
    143:143:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    143:143:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):177 -> a
    144:144:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.OptimizationFeedback,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):177:177 -> a
    145:145:com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State lambda$optimize$1(com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection):160:160 -> a
com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection -> com.android.tools.r8.internal.wB:
    com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State createInitialState(com.android.tools.r8.ir.conversion.MethodProcessor) -> a
    void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext) -> a
com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State -> com.android.tools.r8.internal.vB:
com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection -> com.android.tools.r8.internal.AB:
    java.util.Map finalMethodsWithoutSideEffects -> a
    java.util.Set nonFinalMethodsWithoutSideEffects -> c
    java.util.Set unconditionalFinalMethodsWithoutSideEffects -> b
    1:6:void <init>(com.android.tools.r8.graph.AppView):30:35 -> <init>
    1:18:java.util.Map buildFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):41:58 -> a
    19:20:void com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.putAll(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,java.lang.Iterable,java.lang.Object):109:110 -> a
    19:20:java.util.Map buildFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):58 -> a
    21:21:java.util.Map buildFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):62:62 -> a
    22:23:void com.android.tools.r8.ir.optimize.library.LibraryMethodSideEffectModelCollection.putAll(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,java.lang.Iterable,java.lang.Object):109:110 -> a
    22:23:java.util.Map buildFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):62 -> a
    24:24:java.util.Map buildFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexItemFactory):66:66 -> a
    25:25:boolean lambda$buildFinalMethodsWithoutSideEffects$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,java.util.List):48:48 -> a
    26:26:java.util.Set buildNonFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.DexItemFactory):102:102 -> a
    27:27:void forEachSideEffectFreeFinalMethod(java.util.function.Consumer):115:115 -> a
    28:30:boolean isSideEffectFreeFinalMethod(com.android.tools.r8.graph.DexMethod,java.util.List):123:125 -> a
    31:31:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableMap.getOrDefault(java.lang.Object,java.lang.Object):713:713 -> a
    31:31:boolean isSideEffectFreeFinalMethod(com.android.tools.r8.graph.DexMethod,java.util.List):125 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    32:33:boolean isSideEffectFreeFinalMethod(com.android.tools.r8.graph.DexMethod,java.util.List):125:126 -> a
    34:35:boolean isSideEffectFree(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.LibraryMethod):132:133 -> a
    1:1:boolean lambda$buildFinalMethodsWithoutSideEffects$0(com.android.tools.r8.graph.DexMethod,java.util.List):44:44 -> b
    2:2:boolean lambda$buildFinalMethodsWithoutSideEffects$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,java.util.List):56:56 -> b
    3:29:java.util.Set buildUnconditionalFinalMethodsWithoutSideEffects(com.android.tools.r8.graph.DexItemFactory):71:97 -> b
    1:1:boolean lambda$buildFinalMethodsWithoutSideEffects$2(com.android.tools.r8.graph.DexMethod,java.util.List):52:52 -> c
com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer -> com.android.tools.r8.internal.CB:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> c
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.ir.analysis.value.AbstractValueFactory abstractValueFactory -> a
    com.android.tools.r8.ir.optimize.info.LibraryOptimizationInfoInitializerFeedback feedback -> d
    java.util.Set modeledLibraryTypes -> e
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):38:38 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView):35:41 -> <init>
    1:1:java.util.Set getModeledLibraryTypes():55:55 -> a
    2:6:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():59:63 -> a
    2:6:void run(java.util.Set):45 -> a
    7:7:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo.builder(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):64:64 -> a
    7:7:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():66 -> a
    7:7:void run(java.util.Set):45 -> a
    8:8:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():66:66 -> a
    8:8:void run(java.util.Set):45 -> a
    9:9:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():65:65 -> a
    9:9:void run(java.util.Set):45 -> a
    10:21:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():63:74 -> a
    10:21:void run(java.util.Set):45 -> a
    22:22:com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection$Builder com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection.builder():28:28 -> a
    22:22:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():76 -> a
    22:22:void run(java.util.Set):45 -> a
    23:25:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():76:78 -> a
    23:25:void run(java.util.Set):45 -> a
    26:29:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():77:80 -> a
    26:29:void run(java.util.Set):45 -> a
    30:33:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():79:82 -> a
    30:33:void run(java.util.Set):45 -> a
    34:34:com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo$Builder com.android.tools.r8.ir.optimize.info.initializer.NonTrivialInstanceInitializerInfo.builder(com.android.tools.r8.ir.optimize.info.field.InstanceFieldInitializationInfoCollection):64:64 -> a
    34:34:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():85 -> a
    34:34:void run(java.util.Set):45 -> a
    35:37:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():85:87 -> a
    35:37:void run(java.util.Set):45 -> a
    38:38:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():84:84 -> a
    38:38:void run(java.util.Set):45 -> a
    39:39:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelInstanceInitializers():82:82 -> a
    39:39:void run(java.util.Set):45 -> a
    40:44:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelStaticFinalLibraryFields(java.util.Set):92:96 -> a
    40:44:void run(java.util.Set):46 -> a
    45:45:com.android.tools.r8.ir.analysis.value.objectstate.ObjectState com.android.tools.r8.ir.analysis.value.objectstate.ObjectState.empty():28:28 -> a
    45:45:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelStaticFinalLibraryFields(java.util.Set):96 -> a
    45:45:void run(java.util.Set):46 -> a
    46:46:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelStaticFinalLibraryFields(java.util.Set):96:96 -> a
    46:46:void run(java.util.Set):46 -> a
    47:47:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelStaticFinalLibraryFields(java.util.Set):94:94 -> a
    47:47:void run(java.util.Set):46 -> a
    48:48:void run(java.util.Set):47:47 -> a
    49:53:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelLibraryMethodsReturningNonNull():126:130 -> a
    49:53:void run(java.util.Set):48 -> a
    54:56:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelLibraryMethodsReturningNonNull():129:131 -> a
    54:56:void run(java.util.Set):48 -> a
    57:57:com.android.tools.r8.ir.analysis.type.NotNullDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNotNull():87:87 -> a
    57:57:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelLibraryMethodsReturningNonNull():131 -> a
    57:57:void run(java.util.Set):48 -> a
    58:58:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelLibraryMethodsReturningNonNull():131:131 -> a
    58:58:void run(java.util.Set):48 -> a
    59:62:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelLibraryMethodsReturningReceiver():137:140 -> a
    59:62:void run(java.util.Set):49 -> a
    63:63:void run(java.util.Set):50:50 -> a
    64:64:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelRequireNonNullMethods():158:158 -> a
    64:64:void run(java.util.Set):51 -> a
    65:65:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1555:1555 -> a
    65:65:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelRequireNonNullMethods():158 -> a
    65:65:void run(java.util.Set):51 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    66:66:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.requireNonNullMethods():1555:1555 -> a
    66:66:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelRequireNonNullMethods():158 -> a
    66:66:void run(java.util.Set):51 -> a
    67:70:void com.android.tools.r8.ir.optimize.library.LibraryOptimizationInfoInitializer.modelRequireNonNullMethods():158:161 -> a
    67:70:void run(java.util.Set):51 -> a
    71:83:void lambda$modelLibraryMethodsNonNullParamOrThrow$0(com.android.tools.r8.graph.DexMethod,int[]):104:116 -> a
    84:84:boolean com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo.hasNonNullParamOnNormalExits():50:50 -> a
    84:84:void lambda$modelLibraryMethodsNonNullParamOrThrow$0(com.android.tools.r8.graph.DexMethod,int[]):116 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    85:87:void lambda$modelLibraryMethodsNonNullParamOrThrow$0(com.android.tools.r8.graph.DexMethod,int[]):117:119 -> a
    88:90:void lambda$modelLibraryMethodsWithoutSideEffects$1(com.android.tools.r8.graph.DexMethod):150:152 -> a
    1:1:void modelLibraryMethodsNonNullParamOrThrow():102:102 -> b
    2:2:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):167:167 -> b
    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> b
    3:3:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):167 -> b
    4:6:com.android.tools.r8.graph.DexEncodedMethod lookupMethod(com.android.tools.r8.graph.DexMethod):168:170 -> b
    1:3:void modelLibraryMethodsWithoutSideEffects():146:148 -> c
com.android.tools.r8.ir.optimize.library.LogMethodOptimizer -> com.android.tools.r8.internal.BC:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexMethod wtfMethod -> i
    com.android.tools.r8.graph.DexMethod eMethod -> h
    com.android.tools.r8.graph.DexMethod wMethod -> g
    com.android.tools.r8.graph.DexMethod iMethod -> f
    com.android.tools.r8.graph.DexType logType -> b
    com.android.tools.r8.graph.DexMethod dMethod -> e
    com.android.tools.r8.graph.DexMethod vMethod -> d
    com.android.tools.r8.graph.DexMethod isLoggableMethod -> c
    1:10:void <init>(com.android.tools.r8.graph.AppView):43:52 -> <init>
    11:19:void <init>(com.android.tools.r8.graph.AppView):50:58 -> <init>
    20:28:void <init>(com.android.tools.r8.graph.AppView):56:64 -> <init>
    29:37:void <init>(com.android.tools.r8.graph.AppView):62:70 -> <init>
    38:46:void <init>(com.android.tools.r8.graph.AppView):68:76 -> <init>
    47:55:void <init>(com.android.tools.r8.graph.AppView):74:82 -> <init>
    56:64:void <init>(com.android.tools.r8.graph.AppView):80:88 -> <init>
    65:65:void <init>(com.android.tools.r8.graph.AppView):86:86 -> <init>
    1:3:boolean isEnabled(com.android.tools.r8.graph.AppView):94:96 -> a
    4:38:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):113:147 -> a
    39:42:void replaceInvokeWithConstNumber(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,int):154:157 -> a
    1:1:com.android.tools.r8.graph.DexType getType():101:101 -> getType
com.android.tools.r8.ir.optimize.library.ObjectMethodOptimizer -> com.android.tools.r8.internal.bK:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    1:2:void <init>(com.android.tools.r8.graph.AppView):23:24 -> <init>
    1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):41:41 -> a
    2:4:void com.android.tools.r8.ir.optimize.library.ObjectMethodOptimizer.optimizeGetClass(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):47:49 -> a
    2:4:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):42 -> a
    1:1:com.android.tools.r8.graph.DexType getType():29:29 -> getType
com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer -> com.android.tools.r8.internal.tK:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexItemFactory$ObjectsMethods objectsMethods -> c
    1:1:void <clinit>():26:26 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView):33:38 -> <init>
    1:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):55:56 -> a
    3:3:byte com.android.tools.r8.graph.DexString.byteAt(int):54:54 -> a
    3:3:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):56 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:byte com.android.tools.r8.graph.DexString.byteAt(int):54:54 -> a
    4:4:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):56 -> a
    5:5:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):68:68 -> a
    6:6:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    6:6:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeIsNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):150 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):69 -> a
    7:12:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeIsNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):151:156 -> a
    7:12:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):69 -> a
    13:13:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):63:63 -> a
    14:14:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    14:14:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):133 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    15:21:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):134:140 -> a
    15:21:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    22:22:com.android.tools.r8.ir.code.InvokeVirtual$Builder com.android.tools.r8.ir.code.InvokeVirtual.builder():35:35 -> a
    22:22:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):140 -> a
    22:22:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    23:26:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):140:143 -> a
    23:26:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    27:27:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    27:27:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):143 -> a
    27:27:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    28:29:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):143:144 -> a
    28:29:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    30:30:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeHashCode(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):139:139 -> a
    30:30:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):64 -> a
    31:31:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):90:90 -> a
    32:32:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isToStringMethod(com.android.tools.r8.graph.DexMethod):1551:1551 -> a
    32:32:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):90 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:33:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isToStringMethod(com.android.tools.r8.graph.DexMethod):1551:1551 -> a
    33:33:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):90 -> a
    34:34:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    34:34:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeToStringWithObject(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):221 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):91 -> a
    35:35:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeToStringWithObject(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):222:222 -> a
    35:35:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):91 -> a
    36:36:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    36:36:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeToStringWithObject(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):225 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):91 -> a
    37:37:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    37:37:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeToStringWithObject(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):225 -> a
    37:37:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):91 -> a
    38:59:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeToStringWithObject(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):226:247 -> a
    38:59:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):91 -> a
    60:60:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):78:78 -> a
    61:61:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1543:1543 -> a
    61:61:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):78 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    62:62:boolean com.android.tools.r8.graph.DexItemFactory$ObjectsMethods.isRequireNonNullMethod(com.android.tools.r8.graph.DexMethod):1543:1543 -> a
    62:62:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):78 -> a
    63:63:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):180:180 -> a
    63:63:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    64:64:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    64:64:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):185 -> a
    64:64:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    65:74:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):186:195 -> a
    65:74:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    75:75:boolean com.android.tools.r8.graph.AppView.hasClassHierarchy():650:650 -> a
    75:75:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):195 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    75:75:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    76:76:boolean com.android.tools.r8.graph.AppView.hasClassHierarchy():650:650 -> a
    76:76:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):195 -> a
    76:76:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    77:79:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):196:196 -> a
    77:79:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    82:91:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeRequireNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):199:208 -> a
    82:91:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):79 -> a
    92:92:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):73:73 -> a
    93:93:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    93:93:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):162 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    93:93:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):74 -> a
    94:99:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeNonNull(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):163:168 -> a
    94:99:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):74 -> a
    100:100:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):58:58 -> a
    101:101:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    101:101:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):103 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    101:101:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    102:112:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):104:114 -> a
    102:112:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    113:113:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    113:113:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):114 -> a
    113:113:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    114:117:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod) -> a
    114:117:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    118:118:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    118:118:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):117 -> a
    118:118:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    119:120:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):117:118 -> a
    119:120:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    121:131:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):113:123 -> a
    121:131:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    132:132:com.android.tools.r8.ir.code.InvokeVirtual$Builder com.android.tools.r8.ir.code.InvokeVirtual.builder():35:35 -> a
    132:132:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):123 -> a
    132:132:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    133:137:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):123:127 -> a
    133:137:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    138:138:void com.android.tools.r8.ir.optimize.library.ObjectsMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):122:122 -> a
    138:138:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):59 -> a
    1:1:com.android.tools.r8.graph.DexType getType():43:43 -> getType
com.android.tools.r8.ir.optimize.library.StatelessLibraryMethodModelCollection -> com.android.tools.r8.internal.kW:
    1:1:void <init>():19:19 -> <init>
    com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State createInitialState(com.android.tools.r8.ir.conversion.MethodProcessor) -> a
    void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set) -> a
    1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):19:19 -> a
    2:2:void com.android.tools.r8.ir.optimize.library.StatelessLibraryMethodModelCollection.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StatelessLibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):48:48 -> a
    2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):19 -> a
com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer -> com.android.tools.r8.internal.IW:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> c
    com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods stringBuilderMethods -> d
    1:6:void <init>(com.android.tools.r8.graph.AppView):51:56 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory access$000(com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer):44:44 -> a
    2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44:44 -> a
    3:5:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):80:82 -> a
    3:5:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    6:13:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):103:110 -> a
    6:13:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    6:13:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    14:14:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isAppendStringMethod(com.android.tools.r8.graph.DexMethod):2040:2040 -> a
    14:14:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):111 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    14:14:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    15:15:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isAppendObjectMethod(com.android.tools.r8.graph.DexMethod):2032:2032 -> a
    15:15:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):113 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    15:15:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    16:20:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):114:118 -> a
    16:20:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    16:20:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    21:21:com.android.tools.r8.ir.code.InvokeVirtual$Builder com.android.tools.r8.ir.code.InvokeVirtual.builder():35:35 -> a
    21:21:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):118 -> a
    21:21:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    21:21:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    22:23:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):118:119 -> a
    22:23:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    22:23:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    24:24:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    24:24:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):120 -> a
    24:24:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    24:24:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    25:26:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):120:121 -> a
    25:26:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    25:26:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    27:35:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):117:125 -> a
    27:35:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    27:35:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    36:36:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    36:36:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):125 -> a
    36:36:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    36:36:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    37:38:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):125:126 -> a
    37:38:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    37:38:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    39:39:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    39:39:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):127 -> a
    39:39:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    39:39:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    40:41:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):127:128 -> a
    40:41:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    40:41:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    42:56:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):124:138 -> a
    42:56:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    42:56:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    57:57:com.android.tools.r8.ir.code.InvokeStatic$Builder com.android.tools.r8.ir.code.InvokeStatic.builder():47:47 -> a
    57:57:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):138 -> a
    57:57:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    57:57:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    58:58:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):139:139 -> a
    58:58:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    58:58:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    59:59:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setMethod(com.android.tools.r8.graph.DexClassAndMethod):307:307 -> a
    59:59:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):139 -> a
    59:59:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    59:59:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    60:60:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):139:139 -> a
    60:60:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    60:60:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    61:61:com.android.tools.r8.ir.code.InvokeMethod$Builder com.android.tools.r8.ir.code.InvokeMethod$Builder.setSingleArgument(com.android.tools.r8.ir.code.Value):298:298 -> a
    61:61:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):140 -> a
    61:61:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    61:61:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    62:64:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):140:142 -> a
    62:64:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    62:64:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    65:65:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeAppend(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):112:112 -> a
    65:65:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):83 -> a
    65:65:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    66:66:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):90:90 -> a
    66:66:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    67:67:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeToString(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):150:150 -> a
    67:67:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):91 -> a
    67:67:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    68:81:boolean com.android.tools.r8.utils.ValueUtils.isNonNullStringBuilder(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):24:37 -> a
    68:81:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeToString(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):150 -> a
    68:81:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):91 -> a
    68:81:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    82:83:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimizeToString(com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethodWithReceiver):151:152 -> a
    82:83:void com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):91 -> a
    82:83:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set,com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State,com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext):44 -> a
    84:84:com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer.createInitialState(com.android.tools.r8.ir.conversion.MethodProcessor):61:61 -> a
    84:84:com.android.tools.r8.ir.optimize.library.LibraryMethodModelCollection$State createInitialState(com.android.tools.r8.ir.conversion.MethodProcessor):44 -> a
    1:1:com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods access$100(com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer):44:44 -> b
    1:1:com.android.tools.r8.graph.DexType getType():66:66 -> getType
com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State -> com.android.tools.r8.internal.HW:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap unusedBuilders -> b
    com.android.tools.r8.ir.conversion.MethodProcessor methodProcessor -> a
    com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer this$0 -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():157:157 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer,com.android.tools.r8.ir.conversion.MethodProcessor):163:163 -> <init>
    2:5:void <init>(com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer,com.android.tools.r8.ir.conversion.MethodProcessor):161:164 -> <init>
    1:3:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):176:178 -> a
    4:41:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):188:225 -> a
    4:41:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    42:135:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):211:304 -> a
    42:135:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    136:143:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):263:270 -> a
    136:143:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    144:152:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):247:255 -> a
    144:152:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    153:153:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isConstructorMethod(com.android.tools.r8.graph.DexMethod):2044:2044 -> a
    153:153:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):255 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    153:153:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    154:154:boolean com.android.tools.r8.graph.DexItemFactory$StringBuildingMethods.isConstructorMethod(com.android.tools.r8.graph.DexMethod):2044:2044 -> a
    154:154:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):255 -> a
    154:154:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    155:155:boolean com.android.tools.r8.ir.optimize.library.StringBuilderMethodOptimizer$State.computeAllAliasesIfUnusedStringBuilder(com.android.tools.r8.ir.code.Value,java.util.Set):238:238 -> a
    155:155:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):179 -> a
    156:156:void computeIsUnusedBuilder(com.android.tools.r8.ir.code.Value):180:180 -> a
    157:157:void lambda$computeIsUnusedBuilder$0(boolean,com.android.tools.r8.ir.code.Value):180:180 -> a
    1:5:boolean isUnusedBuilder(com.android.tools.r8.ir.code.Value):168:172 -> b
com.android.tools.r8.ir.optimize.library.StringMethodOptimizer -> com.android.tools.r8.internal.OW:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    1:3:void <init>(com.android.tools.r8.graph.AppView):32:34 -> <init>
    1:3:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):51:53 -> a
    4:10:void com.android.tools.r8.ir.optimize.library.StringMethodOptimizer.optimizeEquals(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeVirtual):61:67 -> a
    4:10:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):53 -> a
    11:12:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):54:55 -> a
    13:13:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    13:13:void com.android.tools.r8.ir.optimize.library.StringMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeStatic,java.util.Set):77 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):55 -> a
    14:14:void com.android.tools.r8.ir.optimize.library.StringMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeStatic,java.util.Set):78:78 -> a
    14:14:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):55 -> a
    15:15:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    15:15:void com.android.tools.r8.ir.optimize.library.StringMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeStatic,java.util.Set):81 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):55 -> a
    16:16:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isDefinitelyNull():412:412 -> a
    16:16:void com.android.tools.r8.ir.optimize.library.StringMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeStatic,java.util.Set):81 -> a
    16:16:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):55 -> a
    17:30:void com.android.tools.r8.ir.optimize.library.StringMethodOptimizer.optimizeValueOf(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeStatic,java.util.Set):82:95 -> a
    17:30:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexClassAndMethod,java.util.Set,java.util.Set):55 -> a
    31:47:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):106:122 -> a
    48:48:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    48:48:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):122 -> a
    49:51:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):126:128 -> a
    52:52:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    52:52:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):128 -> a
    53:55:boolean isPrunedClassNameComparison(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod):128:130 -> a
    1:1:com.android.tools.r8.graph.DexType getType():39:39 -> getType
com.android.tools.r8.ir.optimize.library.sideeffects.JavaLangObjectsSideEffectCollection -> com.android.tools.r8.internal.vv:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:20:boolean toStringMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.List):22:41 -> a
    21:21:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):763:763 -> a
    21:21:boolean toStringMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.List):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):763:763 -> a
    22:22:boolean toStringMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.List):44 -> a
    23:28:boolean toStringMayHaveSideEffects(com.android.tools.r8.graph.AppView,java.util.List):49:54 -> a
com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo -> com.android.tools.r8.internal.I3:
    com.android.tools.r8.shaking.ProguardMemberRule rule -> b
    com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo$AssumeType type -> a
    1:3:void <init>(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo$AssumeType,com.android.tools.r8.shaking.ProguardMemberRule):26:28 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardMemberRuleReturnValue getReturnInfo():36:36 -> a
    2:2:com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo meet(com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo):48:48 -> a
    1:1:boolean hasReturnInfo():32:32 -> b
    1:1:boolean isAssumeNoSideEffects():40:40 -> c
    1:1:boolean isAssumeValues():44:44 -> d
    1:5:boolean equals(java.lang.Object):56:60 -> equals
    1:1:int hashCode():65:65 -> hashCode
com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfoLookup -> com.android.tools.r8.internal.J3:
    1:15:com.android.tools.r8.ir.optimize.membervaluepropagation.assume.AssumeInfo lookupAssumeInfo(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClassAndMember):35:49 -> a
com.android.tools.r8.ir.optimize.outliner.OutlineCollection -> com.android.tools.r8.internal.dL:
    java.util.Map canonicalization -> a
    java.util.Map outlines -> c
    com.android.tools.r8.graph.GraphLens appliedGraphLens -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens):33:33 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.GraphLens):28:34 -> <init>
    1:2:void remove(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):38:39 -> a
    3:9:void set(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.List):44:50 -> a
    10:11:java.util.List com.android.tools.r8.ir.optimize.outliner.OutlineCollection.canonicalize(java.util.List):118:119 -> a
    10:11:void set(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.List):50 -> a
    12:12:com.android.tools.r8.ir.optimize.OutlinerImpl$Outline com.android.tools.r8.ir.optimize.outliner.OutlineCollection.canonicalize(com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):126:126 -> a
    12:12:java.util.List com.android.tools.r8.ir.optimize.outliner.OutlineCollection.canonicalize(java.util.List):120 -> a
    12:12:void set(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.List):50 -> a
    13:13:java.util.List com.android.tools.r8.ir.optimize.outliner.OutlineCollection.canonicalize(java.util.List):120:120 -> a
    13:13:void set(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.List):50 -> a
    14:14:void set(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.List):50:50 -> a
    15:34:void rewriteWithLens(com.android.tools.r8.graph.GraphLens):55:74 -> a
    35:41:void lambda$rewriteWithLens$0(com.android.tools.r8.graph.GraphLens,java.util.Map,com.android.tools.r8.graph.DexMethod,java.util.List):62:68 -> a
    42:43:java.util.List rewriteOutlinesWithLens(java.util.List,com.android.tools.r8.graph.GraphLens):79:80 -> a
    44:44:java.util.List com.android.tools.r8.utils.ListUtils.mapOrElse(java.util.List,java.util.function.Function):176:176 -> a
    44:44:java.util.List rewriteOutlinesWithLens(java.util.List,com.android.tools.r8.graph.GraphLens):80 -> a
    45:45:com.android.tools.r8.ir.optimize.OutlinerImpl$Outline lambda$rewriteOutlinesWithLens$1(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.optimize.OutlinerImpl$Outline):80:80 -> a
    46:47:java.util.Map computeMethodsPerOutline(com.android.tools.r8.graph.AppView):96:97 -> a
    48:51:void lambda$computeMethodsPerOutline$2(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexMethod,java.util.List):100:103 -> a
    52:61:void lambda$computeMethodsPerOutline$2(com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexMethod,java.util.List):102:111 -> a
    1:5:com.android.tools.r8.utils.collections.ProgramMethodSet computeMethodsSubjectToOutlining(com.android.tools.r8.graph.AppView):84:88 -> b
com.android.tools.r8.ir.optimize.outliner.Outliner -> com.android.tools.r8.internal.gL:
    1:1:void <init>():19:19 -> <init>
    void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing) -> a
    void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod) -> a
    void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing) -> a
    void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.ir.optimize.outliner.Outliner create(com.android.tools.r8.graph.AppView):22:22 -> a
    2:2:com.android.tools.r8.ir.optimize.outliner.Outliner com.android.tools.r8.ir.optimize.outliner.Outliner.empty():26:26 -> a
    2:2:com.android.tools.r8.ir.optimize.outliner.Outliner create(com.android.tools.r8.graph.AppView):22 -> a
    3:3:com.android.tools.r8.ir.optimize.outliner.Outliner empty():26:26 -> a
    void onMethodPruned(com.android.tools.r8.graph.ProgramMethod) -> b
    void rewriteWithLens() -> b
com.android.tools.r8.ir.optimize.outliner.Outliner$1 -> com.android.tools.r8.internal.fL:
    1:1:void <init>():26:26 -> <init>
    void collectOutlineSites(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing) -> a
    void onMethodCodePruned(com.android.tools.r8.graph.ProgramMethod) -> a
    void performOutlining(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.optimize.info.OptimizationFeedbackDelayed,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing) -> a
    void prepareForPrimaryOptimizationPass(com.android.tools.r8.graph.GraphLens) -> a
    void onMethodPruned(com.android.tools.r8.graph.ProgramMethod) -> b
    void rewriteWithLens() -> b
com.android.tools.r8.ir.optimize.peepholes.BasicBlockMuncher -> com.android.tools.r8.internal.G4:
    1:1:java.util.List com.android.tools.r8.ir.optimize.peepholes.BasicBlockMuncher.nonDestructivePeepholes():23:23 -> a
    1:1:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):39 -> a
    2:2:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):39:39 -> a
    3:3:java.util.List com.android.tools.r8.ir.optimize.peepholes.BasicBlockMuncher.destructivePeepholes():30:30 -> a
    3:3:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):40 -> a
    4:4:void optimize(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.InternalOptions):40:40 -> a
    5:27:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):45:67 -> a
    28:28:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    28:28:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):67 -> a
    29:29:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    29:29:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    29:29:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):67 -> a
    30:42:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):67:79 -> a
    43:43:java.lang.Object com.android.tools.r8.ir.code.BasicBlockIterator.next():11:11 -> a
    43:43:void runPeepholes(com.android.tools.r8.ir.code.IRCode,java.util.List,com.android.tools.r8.utils.InternalOptions):81 -> a
com.android.tools.r8.ir.optimize.peepholes.BasicBlockPeephole -> com.android.tools.r8.internal.H4:
    boolean match(com.android.tools.r8.ir.code.InstructionListIterator) -> a
    boolean resetAfterMatch() -> a
com.android.tools.r8.ir.optimize.peepholes.DupDupDupPeephole -> com.android.tools.r8.internal.Ih:
    com.android.tools.r8.ir.optimize.peepholes.Point dup3Exp -> c
    com.android.tools.r8.ir.optimize.peepholes.Point dup2Exp -> b
    com.android.tools.r8.ir.optimize.peepholes.Point dup1Exp -> a
    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> d
    1:10:void <init>():28:37 -> <init>
    boolean resetAfterMatch() -> a
    1:1:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):31:31 -> a
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> a
    2:2:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):31 -> a
    3:3:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):31:31 -> a
    4:37:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):41:74 -> a
    38:38:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    38:38:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):75 -> a
    39:39:void com.android.tools.r8.ir.optimize.peepholes.PeepholeHelper.resetPrevious(com.android.tools.r8.ir.code.InstructionListIterator,int):33:33 -> a
    39:39:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):78 -> a
    1:1:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):33:33 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> b
    2:2:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):33 -> b
    3:3:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):33:33 -> b
    1:1:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):35:35 -> c
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> c
    2:2:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):35 -> c
    3:3:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):35:35 -> c
com.android.tools.r8.ir.optimize.peepholes.LoadLoadDupPeephole -> com.android.tools.r8.internal.rC:
    com.android.tools.r8.ir.optimize.peepholes.Point firstLoadExp -> b
    com.android.tools.r8.ir.optimize.peepholes.Point lastLoadExp -> a
    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:8:void <init>():30:37 -> <init>
    boolean resetAfterMatch() -> a
    1:24:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):41:64 -> a
    25:25:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    25:25:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):64 -> a
com.android.tools.r8.ir.optimize.peepholes.Match -> com.android.tools.r8.internal.PD:
    java.util.List instructions -> a
    1:3:void <init>(com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[],java.util.List):14:16 -> <init>
com.android.tools.r8.ir.optimize.peepholes.MoveLoadUpPeephole -> com.android.tools.r8.internal.DF:
    com.android.tools.r8.ir.optimize.peepholes.Point firstLoad -> d
    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> e
    com.android.tools.r8.ir.code.Instruction insertPosition -> c
    boolean $assertionsDisabled -> f
    com.android.tools.r8.ir.code.Value local -> a
    int stackHeight -> b
    1:1:void <clinit>():33:33 -> <clinit>
    1:34:void <init>():33:66 -> <init>
    boolean resetAfterMatch() -> a
    1:2:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):42:43 -> a
    3:6:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):70:73 -> a
    7:30:boolean com.android.tools.r8.ir.optimize.peepholes.MoveLoadUpPeephole.isPotentionalIncInstruction(com.android.tools.r8.ir.code.InstructionListIterator):107:130 -> a
    7:30:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):73 -> a
    31:31:boolean com.android.tools.r8.ir.code.Instruction.isStore():0:0 -> a
    31:31:boolean com.android.tools.r8.ir.optimize.peepholes.MoveLoadUpPeephole.isPotentionalIncInstruction(com.android.tools.r8.ir.code.InstructionListIterator):130 -> a
    31:31:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):73 -> a
    32:32:boolean com.android.tools.r8.ir.optimize.peepholes.MoveLoadUpPeephole.isPotentionalIncInstruction(com.android.tools.r8.ir.code.InstructionListIterator):125:125 -> a
    32:32:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):73 -> a
    33:33:boolean com.android.tools.r8.ir.optimize.peepholes.MoveLoadUpPeephole.isPotentionalIncInstruction(com.android.tools.r8.ir.code.InstructionListIterator):120:120 -> a
    33:33:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):73 -> a
    34:55:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):76:97 -> a
    56:56:void com.android.tools.r8.ir.optimize.peepholes.PeepholeHelper.resetPrevious(com.android.tools.r8.ir.code.InstructionListIterator,int):33:33 -> a
    56:56:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):102 -> a
    1:1:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):51:51 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> b
    2:2:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):51 -> b
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isStore():0:0 -> b
    3:3:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):51 -> b
    4:11:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):51:58 -> b
    12:12:boolean com.android.tools.r8.ir.code.Instruction.isDebugPosition():0:0 -> b
    12:12:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):59 -> b
    13:13:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):60:60 -> b
com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression -> com.android.tools.r8.internal.LL:
    java.util.function.Predicate getPredicate() -> a
    int getMin() -> b
    int getMax() -> c
com.android.tools.r8.ir.optimize.peepholes.PeepholeHelper -> com.android.tools.r8.internal.ML:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:java.util.function.Predicate withoutLocalInfo(java.util.function.Predicate):17:17 -> a
    2:4:boolean lambda$withoutLocalInfo$0(java.util.function.Predicate,com.android.tools.r8.ir.code.Instruction):18:20 -> a
    5:5:com.android.tools.r8.ir.code.Instruction resetNext(com.android.tools.r8.ir.code.InstructionListIterator,int):26:26 -> a
    6:7:int numberOfValuesConsumedFromStack(com.android.tools.r8.ir.code.Instruction):49:50 -> a
    8:22:void moveInstructionsUpToCurrentPosition(com.android.tools.r8.ir.code.InstructionListIterator,java.util.List):59:73 -> a
    23:23:boolean lambda$moveInstructionsUpToCurrentPosition$1(java.util.List,com.android.tools.r8.ir.code.Instruction):66:66 -> a
    1:4:int numberOfValuesPutOnStack(com.android.tools.r8.ir.code.Instruction):38:41 -> b
    5:5:boolean lambda$moveInstructionsUpToCurrentPosition$2(java.util.List,com.android.tools.r8.ir.code.Instruction):72:72 -> b
com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout -> com.android.tools.r8.internal.NL:
    com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[] expressions -> b
    java.util.List instructions -> a
    boolean backwards -> c
    1:8:void <init>(boolean,com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[]):18:25 -> <init>
    1:1:com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout lookBackward(com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[]):33:33 -> a
    2:5:com.android.tools.r8.ir.optimize.peepholes.Match test(com.android.tools.r8.ir.code.InstructionListIterator):37:40 -> a
    6:42:com.android.tools.r8.ir.optimize.peepholes.Match testDirection(java.util.function.Supplier,java.util.function.Supplier,java.lang.Runnable):48:84 -> a
    1:1:com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout lookForward(com.android.tools.r8.ir.optimize.peepholes.PeepholeExpression[]):29:29 -> b
com.android.tools.r8.ir.optimize.peepholes.Point -> com.android.tools.r8.internal.WL:
    java.util.function.Predicate predicate -> a
    int index -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():10:10 -> <clinit>
    1:1:void <init>(java.util.function.Predicate):15:15 -> <init>
    2:5:void <init>(java.util.function.Predicate):13:16 -> <init>
    1:1:java.util.function.Predicate getPredicate():21:21 -> a
    2:2:com.android.tools.r8.ir.code.Instruction get(com.android.tools.r8.ir.optimize.peepholes.Match):41:41 -> a
    int getMin() -> b
    int getMax() -> c
    1:2:void setIndex(int):36:37 -> setIndex
com.android.tools.r8.ir.optimize.peepholes.RemoveDebugPositionPeephole -> com.android.tools.r8.internal.xS:
    com.android.tools.r8.ir.optimize.peepholes.Point secondInstructionExp -> b
    com.android.tools.r8.ir.optimize.peepholes.Point debugPositionExp -> a
    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():38:38 -> <clinit>
    1:11:void <init>():38:48 -> <init>
    boolean lambda$match$0(com.android.tools.r8.ir.code.DebugPosition,com.android.tools.r8.ir.code.Instruction) -> a
    boolean resetAfterMatch() -> a
    1:33:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):52:84 -> a
com.android.tools.r8.ir.optimize.peepholes.StoreLoadPeephole -> com.android.tools.r8.internal.xW:
    com.android.tools.r8.ir.optimize.peepholes.Point loadExp -> b
    com.android.tools.r8.ir.optimize.peepholes.Point storeExp -> a
    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> c
    1:6:void <init>():22:27 -> <init>
    boolean resetAfterMatch() -> a
    1:18:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):31:48 -> a
com.android.tools.r8.ir.optimize.peepholes.StoreLoadToDupStorePeephole -> com.android.tools.r8.internal.yW:
    com.android.tools.r8.ir.optimize.peepholes.Point loadExp -> b
    com.android.tools.r8.ir.optimize.peepholes.Point storeExp -> a
    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> d
    com.android.tools.r8.ir.optimize.peepholes.Wildcard dupsExp -> c
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():33:33 -> <clinit>
    1:7:void <init>():33:39 -> <init>
    boolean lambda$match$1(com.android.tools.r8.ir.code.Load,com.android.tools.r8.ir.code.Instruction) -> a
    boolean resetAfterMatch() -> a
    1:1:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):37:37 -> a
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> a
    2:2:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):37 -> a
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isDup2():0:0 -> a
    3:3:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):37 -> a
    4:23:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):43:62 -> a
    24:24:boolean com.android.tools.r8.ir.code.Instruction.isDup():0:0 -> a
    24:24:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):62 -> a
    25:43:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):62:80 -> a
com.android.tools.r8.ir.optimize.peepholes.StoreSequenceLoadPeephole -> com.android.tools.r8.internal.zW:
    com.android.tools.r8.ir.optimize.peepholes.Point storeExp -> c
    com.android.tools.r8.ir.code.Store store -> a
    com.android.tools.r8.ir.optimize.peepholes.PeepholeLayout layout -> f
    com.android.tools.r8.ir.optimize.peepholes.Point loadExp -> e
    com.android.tools.r8.ir.optimize.peepholes.Wildcard seqExp -> d
    int stackHeight -> b
    1:48:void <init>():34:81 -> <init>
    boolean lambda$match$3(com.android.tools.r8.ir.code.Load,com.android.tools.r8.ir.code.Instruction) -> a
    boolean resetAfterMatch() -> a
    1:1:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isStore():0:0 -> a
    2:2:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):42 -> a
    3:9:boolean lambda$new$0(com.android.tools.r8.ir.code.Instruction):43:49 -> a
    10:50:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):85:125 -> a
    51:51:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    51:51:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):125 -> a
    52:52:boolean match(com.android.tools.r8.ir.code.InstructionListIterator):126:126 -> a
    1:1:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):56:56 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isLoad():0:0 -> b
    2:2:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):56 -> b
    3:12:boolean lambda$new$1(com.android.tools.r8.ir.code.Instruction):56:65 -> b
    1:2:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):72:73 -> c
    3:3:boolean com.android.tools.r8.ir.code.Instruction.isLoad():0:0 -> c
    3:3:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):73 -> c
    4:5:boolean lambda$new$2(com.android.tools.r8.ir.code.Instruction):74:75 -> c
com.android.tools.r8.ir.optimize.peepholes.Wildcard -> com.android.tools.r8.internal.z20:
    java.util.function.Predicate predicate -> a
    int index -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>(java.util.function.Predicate):16:16 -> <init>
    2:5:void <init>(java.util.function.Predicate):14:17 -> <init>
    1:1:java.util.function.Predicate getPredicate():22:22 -> a
    2:2:java.util.List get(com.android.tools.r8.ir.optimize.peepholes.Match):42:42 -> a
    int getMin() -> b
    int getMax() -> c
    1:2:void setIndex(int):37:38 -> setIndex
com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis -> com.android.tools.r8.ir.optimize.string.c:
com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl -> com.android.tools.r8.ir.optimize.string.a:
    java.util.Set liveAppendInstructions -> a
    com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl BOTTOM -> b
    1:1:void <clinit>():53:53 -> <clinit>
    2:2:void <init>():60:60 -> <clinit>
    2:2:void <clinit>():53 -> <clinit>
    3:3:void <clinit>():53:53 -> <clinit>
    1:2:void <init>(java.util.Set):63:64 -> <init>
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):51:51 -> a
    2:10:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl join(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl):89:97 -> a
    2:10:com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState join(com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):51 -> a
    11:11:boolean isAppendInstructionLive(com.android.tools.r8.ir.code.InvokeVirtual):79:79 -> a
    11:11:boolean access$100(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeVirtual):51 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:boolean isAppendInstructionLive(com.android.tools.r8.ir.code.InvokeVirtual):79:79 -> a
    12:12:boolean access$100(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeVirtual):51 -> a
    1:1:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl addLiveAppendInstruction(com.android.tools.r8.ir.code.InvokeVirtual):72:72 -> b
    1:1:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl access$200(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeVirtual):51 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:4:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl addLiveAppendInstruction(com.android.tools.r8.ir.code.InvokeVirtual):73:75 -> b
    2:4:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl access$200(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeVirtual):51 -> b
    com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState asAbstractState() -> c
    1:1:com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl bottom():68:68 -> d
    1:5:boolean equals(java.lang.Object):102:106 -> equals
    1:1:int hashCode():111:111 -> hashCode
com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$TransferFunction -> com.android.tools.r8.ir.optimize.string.b:
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration configuration -> b
    com.android.tools.r8.ir.code.Value builder -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():124:124 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration,com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$1):124:124 -> <init>
    2:4:void <init>(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration):129:131 -> <init>
    1:1:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):124:124 -> a
    2:3:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl):137:138 -> a
    2:3:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):124 -> a
    4:6:boolean isAppendOnBuilder(com.android.tools.r8.ir.code.InvokeMethod):160:162 -> a
    4:6:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeMethod):145 -> a
    4:6:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl):138 -> a
    4:6:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):124 -> a
    7:12:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeMethod):146:151 -> a
    7:12:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl):138 -> a
    7:12:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):124 -> a
    13:15:boolean isToStringOnBuilder(com.android.tools.r8.ir.code.InvokeMethod):166:168 -> a
    13:15:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeMethod):153 -> a
    13:15:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl):138 -> a
    13:15:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):124 -> a
    16:16:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl,com.android.tools.r8.ir.code.InvokeMethod):154:154 -> a
    16:16:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis$AbstractStateImpl):138 -> a
    16:16:com.android.tools.r8.ir.analysis.framework.intraprocedural.TransferFunctionResult apply(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.analysis.framework.intraprocedural.AbstractState):124 -> a
com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration -> com.android.tools.r8.ir.optimize.string.d:
    boolean isAppendMethod(com.android.tools.r8.graph.DexMethod) -> a
    boolean isBuilderInit(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType) -> a
    boolean isBuilderInitWithInitialValue(com.android.tools.r8.ir.code.InvokeMethod) -> a
    boolean isBuilderType(com.android.tools.r8.graph.DexType) -> a
    boolean isSupportedAppendMethod(com.android.tools.r8.ir.code.InvokeMethod) -> a
    boolean isBuilderInit(com.android.tools.r8.graph.DexMethod) -> b
    boolean isToStringMethod(com.android.tools.r8.graph.DexMethod) -> c
com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer -> com.android.tools.r8.ir.optimize.string.e:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    int numberOfBuildersSimplified -> n
    int numberOfBuildersWithNonDeterministicArg -> l
    com.android.tools.r8.graph.AppView appView -> a
    int numberOfDeadBuilders -> m
    int numberOfBuildersWithUnsupportedArg -> j
    int numberOfBuildersWithMergingPoints -> k
    int numberOfBuildersWhoseResultIsInterned -> h
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration optimizationConfiguration -> d
    int numberOfBuildersWithNonTrivialStateChange -> i
    int numberOfBuildersWithoutToString -> f
    int numberOfBuildersThatEscape -> g
    int numberOfBuildersWithMultipleToString -> e
    boolean $assertionsDisabled -> s
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfAppendChains -> o
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfEndResult -> p
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfPartialAppendChains -> q
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfPartialResult -> r
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis analysis -> c
    1:1:void <clinit>():84:84 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):108:108 -> <init>
    2:31:void <init>(com.android.tools.r8.graph.AppView):93:122 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap access$1000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> a
    2:4:void logResults():127:129 -> a
    5:8:void logResults():128:131 -> a
    9:12:void logResults():130:133 -> a
    13:16:void logResults():132:135 -> a
    17:20:void logResults():134:137 -> a
    21:24:void logResults():136:139 -> a
    25:28:void logResults():138:141 -> a
    29:32:void logResults():140:143 -> a
    33:61:void logResults():142:170 -> a
    62:64:void lambda$logResults$0(java.lang.Integer,java.lang.Integer):149:149 -> a
    65:80:void computeTrivialStringConcatenation(com.android.tools.r8.ir.code.IRCode):182:197 -> a
    81:81:boolean lambda$computeTrivialStringConcatenation$4(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):189:189 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap access$1100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> b
    2:4:void lambda$logResults$1(java.lang.Integer,java.lang.Integer):156:156 -> b
    1:1:int access$1208(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> c
    2:4:void lambda$logResults$2(java.lang.Integer,java.lang.Integer):164:164 -> c
    1:1:int access$1308(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> d
    2:5:void lambda$logResults$3(java.lang.Integer,java.lang.Integer):173:176 -> d
    6:6:void lambda$logResults$3(java.lang.Integer,java.lang.Integer):172:172 -> d
    1:1:int access$1408(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> e
    1:1:int access$1508(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> f
    1:1:int access$1608(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> g
    1:1:int access$1708(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> h
    1:1:int access$1808(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> i
    1:1:int access$1908(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> j
    1:1:com.android.tools.r8.graph.AppView access$300(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> k
    1:1:int access$408(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> l
    1:1:int access$508(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> m
    1:1:com.android.tools.r8.graph.DexItemFactory access$700(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> n
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap access$800(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> o
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap access$900(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):84:84 -> p
com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState -> com.android.tools.r8.ir.optimize.string.e$a:
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState previous -> a
    java.util.Set nexts -> c
    java.lang.String addition -> b
    1:4:void <init>():1002:1005 -> <init>
    1:1:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState createRoot():1009:1009 -> a
    2:8:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState createChild(java.lang.String):1013:1019 -> a
com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$DefaultStringBuilderOptimizationConfiguration -> com.android.tools.r8.ir.optimize.string.f:
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer this$0 -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():822:822 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer):822:822 -> <init>
    1:2:boolean isBuilderType(com.android.tools.r8.graph.DexType):826:827 -> a
    3:4:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):832:833 -> a
    5:5:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2856:2856 -> a
    5:5:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):833 -> a
    6:8:boolean isBuilderInitWithInitialValue(com.android.tools.r8.ir.code.InvokeMethod):844:846 -> a
    9:10:boolean isAppendMethod(com.android.tools.r8.graph.DexMethod):851:852 -> a
    11:29:boolean isSupportedAppendMethod(com.android.tools.r8.ir.code.InvokeMethod):857:875 -> a
    30:30:boolean canHandleArgumentType(com.android.tools.r8.graph.DexType):891:891 -> a
    30:30:boolean isSupportedAppendMethod(com.android.tools.r8.ir.code.InvokeMethod):876 -> a
    1:2:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod):838:839 -> b
    3:3:boolean com.android.tools.r8.graph.DexItemFactory.isConstructor(com.android.tools.r8.graph.DexMethod):2856:2856 -> b
    3:3:boolean isBuilderInit(com.android.tools.r8.graph.DexMethod):839 -> b
    1:4:boolean isToStringMethod(com.android.tools.r8.graph.DexMethod):883:886 -> c
com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringBuilderOptimizerEscapeAnalysisConfiguration -> com.android.tools.r8.ir.optimize.string.g:
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer this$0 -> b
    com.android.tools.r8.graph.DexType builderType -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():895:895 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$1):895:895 -> <init>
    2:5:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.Value):899:902 -> <init>
    1:1:void logEscapingRoute(boolean):907:907 -> a
    2:11:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):917:926 -> a
    12:12:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    12:12:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):927 -> a
    13:76:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):928:991 -> a
    77:77:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):918:918 -> a
com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis -> com.android.tools.r8.ir.optimize.string.e$b:
    java.util.Map builderStates -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap builderToStringCounts -> b
    com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer this$0 -> f
    java.util.Set deadBuilders -> d
    java.util.Set simplifiedBuilders -> e
    com.android.tools.r8.ir.code.IRCode code -> a
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():200:200 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.IRCode):214:214 -> <init>
    2:377:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.IRCode):212:587 -> <init>
    378:378:void <init>(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer,com.android.tools.r8.ir.code.IRCode):215:215 -> <init>
    1:1:java.util.Set access$000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis):200:200 -> a
    2:24:java.util.Set findAllLocalBuilders():226:248 -> a
    25:27:java.util.Set collectAllLinkedBuilders(com.android.tools.r8.ir.code.Value):261:263 -> a
    25:27:java.util.Set findAllLocalBuilders():249 -> a
    28:36:java.util.Set findAllLocalBuilders():249:257 -> a
    37:45:void collectAllLinkedBuilders(com.android.tools.r8.ir.code.Value,java.util.Set,java.util.Set):268:276 -> a
    46:46:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):284:284 -> a
    46:46:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
    47:47:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):284:284 -> a
    47:47:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    48:48:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):284:284 -> a
    48:48:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
    50:50:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):286:286 -> a
    50:50:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    51:51:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):286:286 -> a
    51:51:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
    54:54:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):289:289 -> a
    54:54:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    55:73:boolean canBeOptimized(com.android.tools.r8.ir.code.Value):289:307 -> a
    55:73:boolean access$2000(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,com.android.tools.r8.ir.code.Value):200 -> a
    74:74:java.util.Map createBuilderState(com.android.tools.r8.ir.code.Value):316:316 -> a
    75:75:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):350:350 -> a
    75:75:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    76:76:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):350:350 -> a
    76:76:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    77:105:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):350:378 -> a
    77:105:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    106:106:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
    106:106:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):379 -> a
    106:106:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    107:136:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):380:409 -> a
    107:136:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    137:137:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
    137:137:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):410 -> a
    137:137:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    138:151:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):411:424 -> a
    138:151:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    152:152:java.util.Map getBuilderState(com.android.tools.r8.ir.code.Value):321:321 -> a
    152:152:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):427 -> a
    152:152:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    153:161:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis buildBuilderStateGraph(java.util.Set):428:436 -> a
    153:161:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$100(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200 -> a
    162:166:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):446:450 -> a
    167:167:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    167:167:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):450 -> a
    168:194:java.lang.String extractConstantArgument(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType):451:477 -> a
    195:202:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState findDominantState(com.android.tools.r8.ir.code.DominatorTree,java.util.Map,com.android.tools.r8.ir.code.Instruction):534:541 -> a
    203:222:void logHistogramOfChains(java.util.List,boolean):549:568 -> a
    223:239:void logHistogramOfChains(java.util.List,boolean):563:579 -> a
    240:240:void logHistogramOfChains(java.util.List,boolean):574:574 -> a
    241:242:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):590:591 -> a
    243:243:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    243:243:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):591 -> a
    244:278:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):592:626 -> a
    279:282:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):625:628 -> a
    283:283:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    283:283:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):628 -> a
    284:285:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):629:630 -> a
    286:290:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):603:607 -> a
    291:294:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):605:608 -> a
    295:295:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    295:295:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):608 -> a
    296:320:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):610:634 -> a
    321:321:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    321:321:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):634 -> a
    322:322:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis applyConcatenationResults(java.util.Set):634:634 -> a
    323:349:boolean isToStringOfInterest(java.util.Set,com.android.tools.r8.ir.code.Instruction):640:666 -> a
    323:349:boolean lambda$applyConcatenationResults$1(java.util.Set,com.android.tools.r8.ir.code.Instruction):593 -> a
    350:395:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):678:723 -> a
    396:399:boolean com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis.hasAppendInstructionInLoop(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration):43:46 -> a
    396:399:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):723 -> a
    400:400:boolean com.android.tools.r8.ir.analysis.framework.intraprocedural.DataflowAnalysisResult.isFailedAnalysisResult():0:0 -> a
    400:400:boolean com.android.tools.r8.ir.optimize.string.StringBuilderAppendFlowAnalysis.hasAppendInstructionInLoop(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizationConfiguration):47 -> a
    400:400:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):723 -> a
    401:401:java.lang.String toCompileTimeString(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$BuilderState):727:727 -> a
    1:1:com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis access$200(com.android.tools.r8.ir.optimize.string.StringBuilderOptimizer$StringConcatenationAnalysis,java.util.Set):200:200 -> b
    2:40:java.lang.Number extractConstantNumber(com.android.tools.r8.ir.code.Value):484:522 -> b
    41:49:void removeTrivialBuilders():731:739 -> b
    50:50:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> b
    50:50:void removeTrivialBuilders():739 -> b
    51:59:void removeTrivialBuilders():741:749 -> b
    60:60:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> b
    60:60:void removeTrivialBuilders():749 -> b
    61:83:void removeTrivialBuilders():753:775 -> b
    84:84:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> b
    84:84:void removeTrivialBuilders():775 -> b
    85:100:void removeTrivialBuilders():776:791 -> b
    101:101:boolean com.android.tools.r8.ir.code.Instruction.isAssume():0:0 -> b
    101:101:void removeTrivialBuilders():795 -> b
    102:112:void removeTrivialBuilders():795:805 -> b
    113:113:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> b
    113:113:void removeTrivialBuilders():805 -> b
    114:124:void removeTrivialBuilders():806:816 -> b
    125:125:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> b
    125:125:void removeTrivialBuilders():816 -> b
    126:128:void removeTrivialBuilders():816:818 -> b
    1:1:java.util.Map lambda$createBuilderState$0(com.android.tools.r8.ir.code.Value):316:316 -> c
com.android.tools.r8.ir.optimize.string.StringOptimizer -> com.android.tools.r8.internal.QW:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap numberOfComputedNames -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap numberOfDeferredComputationOfNames -> e
    int numberOfSimplifiedConversions -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfNames -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap histogramOfLengthOfDeferredNames -> g
    int numberOfSimplifiedOperations -> c
    1:1:void <clinit>():47:47 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):59:59 -> <init>
    2:21:void <init>(com.android.tools.r8.graph.AppView):52:71 -> <init>
    1:3:void logResult():76:78 -> a
    4:7:void logResult():77:80 -> a
    8:34:void logResult():79:105 -> a
    35:37:void lambda$logResult$0(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping,java.lang.Integer):84:84 -> a
    38:40:void lambda$logResult$2(java.lang.Integer,java.lang.Integer):98:98 -> a
    41:44:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):131:134 -> a
    45:45:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    45:45:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):135 -> a
    46:62:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):136:152 -> a
    63:63:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    63:63:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):153 -> a
    64:97:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):154:187 -> a
    98:101:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):186:189 -> a
    102:102:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    102:102:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):189 -> a
    103:109:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):190:196 -> a
    110:110:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    110:110:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):196 -> a
    111:115:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):199:203 -> a
    116:119:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):202:205 -> a
    120:120:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    120:120:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):205 -> a
    121:169:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):206:254 -> a
    170:170:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    170:170:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):255 -> a
    171:180:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):256:265 -> a
    181:181:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    181:181:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):266 -> a
    182:184:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):268:270 -> a
    185:185:boolean com.android.tools.r8.ir.code.Instruction.isConstString():0:0 -> a
    185:185:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):271 -> a
    186:189:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):272:275 -> a
    190:190:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    190:190:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):276 -> a
    191:199:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):278:286 -> a
    200:200:com.android.tools.r8.ir.code.ConstNumber com.android.tools.r8.ir.code.IRCode.createIntConstant(int):1174:1174 -> a
    200:200:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):287 -> a
    201:201:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):290:290 -> a
    202:202:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    202:202:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):291 -> a
    203:204:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):294:295 -> a
    205:205:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    205:205:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):295 -> a
    206:206:void computeTrivialOperationsOnConstString(com.android.tools.r8.ir.code.IRCode):295:295 -> a
    207:210:java.lang.Integer lambda$computeTrivialOperationsOnConstString$4(com.android.tools.r8.graph.DexString):216:219 -> a
    211:211:java.lang.Integer lambda$computeTrivialOperationsOnConstString$10(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):233:233 -> a
    212:212:java.lang.Integer lambda$computeTrivialOperationsOnConstString$13(com.android.tools.r8.graph.DexString,java.lang.Integer):239:239 -> a
    213:213:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):301:301 -> a
    214:214:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    214:214:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):302 -> a
    215:222:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):303:310 -> a
    223:223:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1636:1636 -> a
    223:223:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):310 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    224:224:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1636:1636 -> a
    224:224:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):310 -> a
    225:244:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):314:333 -> a
    245:245:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    245:245:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):334 -> a
    246:322:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):335:411 -> a
    323:324:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):393:394 -> a
    325:325:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    325:325:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):395 -> a
    326:353:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):414:441 -> a
    354:356:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):440:442 -> a
    357:357:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    357:357:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):443 -> a
    358:364:void com.android.tools.r8.ir.optimize.string.StringOptimizer.logHistogramOfNames(com.android.tools.r8.graph.DexString):469:475 -> a
    358:364:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):444 -> a
    365:365:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):446:446 -> a
    366:366:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction):42:42 -> a
    366:366:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):447 -> a
    367:368:void com.android.tools.r8.ir.optimize.string.StringOptimizer.logHistogramOfNames(com.android.tools.r8.ir.code.DexItemBasedConstString):490:491 -> a
    367:368:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):448 -> a
    369:369:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    369:369:void com.android.tools.r8.ir.optimize.string.StringOptimizer.logHistogramOfNames(com.android.tools.r8.ir.code.DexItemBasedConstString):491 -> a
    369:369:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):448 -> a
    370:377:void com.android.tools.r8.ir.optimize.string.StringOptimizer.logHistogramOfNames(com.android.tools.r8.ir.code.DexItemBasedConstString):491:498 -> a
    370:377:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):448 -> a
    378:379:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):453:454 -> a
    380:380:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    380:380:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):454 -> a
    381:381:void rewriteClassGetName(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):454:454 -> a
    382:387:void logDeferredNameComputation(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):480:485 -> a
    1:3:void lambda$logResult$1(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping,java.lang.Integer):91:91 -> b
    4:6:void lambda$logResult$3(java.lang.Integer,java.lang.Integer):106:106 -> b
    7:7:java.lang.Integer lambda$computeTrivialOperationsOnConstString$5(com.android.tools.r8.graph.DexString):223:223 -> b
    8:8:java.lang.Integer lambda$computeTrivialOperationsOnConstString$11(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):235:235 -> b
    9:9:java.lang.Integer lambda$computeTrivialOperationsOnConstString$15(com.android.tools.r8.graph.DexString,java.lang.Integer):243:243 -> b
    10:15:void logNameComputation(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):459:464 -> b
    16:16:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):506:506 -> b
    17:17:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> b
    17:17:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):507 -> b
    18:20:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):508:510 -> b
    21:21:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> b
    21:21:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):510 -> b
    22:38:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):511:527 -> b
    39:41:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):526:528 -> b
    42:42:void com.android.tools.r8.ir.code.InstructionListIterator.replaceCurrentInstruction(com.android.tools.r8.ir.code.Instruction) -> b
    42:42:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):529 -> b
    43:80:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):530:567 -> b
    81:81:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> b
    81:81:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):567 -> b
    82:82:void removeTrivialConversions(com.android.tools.r8.ir.code.IRCode):567:567 -> b
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$6(com.android.tools.r8.graph.DexString):225:225 -> c
    2:2:java.lang.Integer lambda$computeTrivialOperationsOnConstString$12(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):237:237 -> c
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$14(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):241:241 -> d
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$16(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):245:245 -> e
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$17(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):247:247 -> f
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$18(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):249:249 -> g
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$7(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):227:227 -> h
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$8(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):229:229 -> i
    2:2:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> i
    2:2:java.lang.Integer lambda$computeTrivialOperationsOnConstString$8(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):229 -> i
    3:3:java.lang.Integer lambda$computeTrivialOperationsOnConstString$8(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):229:229 -> i
    1:1:java.lang.Integer lambda$computeTrivialOperationsOnConstString$9(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):231:231 -> j
com.android.tools.r8.ir.optimize.string.StringOptimizer$StringOptimizerEscapeAnalysisConfiguration -> com.android.tools.r8.internal.PW:
    com.android.tools.r8.ir.optimize.string.StringOptimizer$StringOptimizerEscapeAnalysisConfiguration INSTANCE -> a
    1:1:void <clinit>():574:574 -> <clinit>
    1:1:void <init>():577:577 -> <init>
    1:1:com.android.tools.r8.ir.optimize.string.StringOptimizer$StringOptimizerEscapeAnalysisConfiguration getInstance():580:580 -> a
    2:22:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):589:609 -> a
com.android.tools.r8.ir.optimize.templates.CfUtilityMethodsForCodeOptimizations -> com.android.tools.r8.internal.V8:
    1:4:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):35:38 -> a
    5:25:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):44:64 -> a
    26:36:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):61:71 -> a
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
    37:37:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):71 -> a
    38:39:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):71:72 -> a
    40:64:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):52:76 -> a
    65:65:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    65:65:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):76 -> a
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a
    66:66:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    66:66:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):76 -> a
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a
    67:67:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    67:67:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_throwClassCastExceptionIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):76 -> a
    1:20:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):151:170 -> b
    21:31:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):167:177 -> b
    32:32:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> b
    32:32:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):177 -> b
    33:34:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):177:178 -> b
    35:58:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):159:182 -> b
    59:59:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> b
    59:59:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):182 -> b
    60:60:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> b
    60:60:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> b
    60:60:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):182 -> b
    61:61:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> b
    61:61:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> b
    61:61:com.android.tools.r8.graph.CfCode CfUtilityMethodsForCodeOptimizationsTemplates_toStringIfNotNull(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexMethod):182 -> b
com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization -> com.android.tools.r8.internal.s9:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple feedback -> d
    com.android.tools.r8.utils.collections.SortedProgramMethodSet candidatesForInstanceOfOptimization -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.conversion.IRConverter converter -> b
    1:4:void <clinit>():37:40 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):49:49 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter):46:52 -> <init>
    1:4:void addCandidateForOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.conversion.MethodProcessor):57:60 -> a
    5:6:boolean com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization.isCandidateForInstanceOfOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.AbstractValue):73:74 -> a
    5:6:void addCandidateForOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.conversion.MethodProcessor):61 -> a
    7:12:void addCandidateForOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.conversion.MethodProcessor):62:67 -> a
    13:17:void com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization.execute(com.android.tools.r8.ir.conversion.MethodProcessor):78:82 -> a
    13:17:void lambda$addCandidateForOptimization$0(com.android.tools.r8.ir.conversion.MethodProcessor):64 -> a
    18:29:void processCandidateForInstanceOfOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):89:100 -> a
    30:41:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.optimize.typechecks.CheckCastAndInstanceOfMethodSpecialization.resolveOnSuperClass(com.android.tools.r8.graph.ProgramMethod):170:181 -> a
    30:41:void processCandidateForInstanceOfOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):104 -> a
    42:75:void processCandidateForInstanceOfOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):105:138 -> a
    76:76:void processCandidateForInstanceOfOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):137:137 -> a
    77:107:void processCandidateForInstanceOfOptimization(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.conversion.MethodProcessor):136:166 -> a
    108:108:void lambda$processCandidateForInstanceOfOptimization$1(java.util.BitSet):145:145 -> a
    109:109:void lambda$processCandidateForInstanceOfOptimization$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator):153:153 -> a
com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator -> com.android.tools.r8.ir.regalloc.b:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.List moveExceptionIntervals -> o
    int maxRegisterNumber -> i
    com.android.tools.r8.ir.code.IRCode code -> b
    java.util.PriorityQueue unhandled -> m
    int numberOfArgumentRegisters -> c
    com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode mode -> g
    boolean $assertionsDisabled -> r
    java.util.Map liveAtEntrySets -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList expiredHere -> n
    com.android.tools.r8.ir.code.Value lastArgumentValue -> f
    java.util.TreeSet freeRegisters -> h
    com.android.tools.r8.ir.code.Value firstArgumentValue -> e
    java.util.List liveIntervals -> j
    int[] unusedRegisters -> q
    java.util.List inactive -> l
    int firstParallelMoveTemporary -> p
    java.util.List active -> k
    1:1:void <clinit>():89:89 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):191:191 -> <init>
    2:57:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):145:200 -> <init>
    void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List) -> a
    1:4:boolean com.android.tools.r8.ir.regalloc.RegisterPositions.isBlocked(int,boolean):34:37 -> a
    1:4:int getLargestCandidate(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1924 -> a
    5:19:int getLargestCandidate(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1924:1938 -> a
    20:23:boolean com.android.tools.r8.ir.regalloc.RegisterPositions.isBlocked(int,boolean):34:37 -> a
    20:23:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1840 -> a
    24:36:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1843:1855 -> a
    37:39:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> a
    37:39:boolean tryHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean,int):1858 -> a
    40:40:void allocateRegisters():209:209 -> a
    41:50:boolean noLinkedValues():3203:3212 -> a
    41:50:void allocateRegisters():209 -> a
    51:51:boolean noLinkedValues():3211:3211 -> a
    51:51:void allocateRegisters():209 -> a
    52:53:void allocateRegisters():210:211 -> a
    54:102:void transformBridgeMethod():2740:2788 -> a
    54:102:void allocateRegisters():212 -> a
    103:106:void computeNeedsRegister():3008:3011 -> a
    103:106:void allocateRegisters():214 -> a
    107:107:void constrainArgumentIntervals():2985:2985 -> a
    107:107:void allocateRegisters():215 -> a
    108:114:void createArgumentLiveIntervals(java.util.List):2959:2965 -> a
    108:114:void constrainArgumentIntervals():2986 -> a
    108:114:void allocateRegisters():215 -> a
    115:123:void linkArgumentValuesAndIntervals(java.util.List):2971:2979 -> a
    115:123:void constrainArgumentIntervals():2987 -> a
    115:123:void allocateRegisters():215 -> a
    124:134:void insertRangeInvokeMoves():2991:3001 -> a
    124:134:void allocateRegisters():216 -> a
    135:136:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():638:639 -> a
    135:136:void allocateRegisters():217 -> a
    137:151:void computeLiveRanges():2562:2576 -> a
    137:151:com.android.tools.r8.com.google.common.collect.ImmutableList computeLivenessInformation():640 -> a
    137:151:void allocateRegisters():217 -> a
    152:152:void performAllocation():647:647 -> a
    152:152:void allocateRegisters():218 -> a
    153:153:void allocateRegisters():219:219 -> a
    154:154:boolean com.android.tools.r8.ir.code.IRCode.isConsistentGraph():619:619 -> a
    154:154:void allocateRegisters():219 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    155:166:void allocateRegisters():220:231 -> a
    167:167:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.ir.code.IRCode.instructionListIterator():1042:1042 -> a
    167:167:void allocateRegisters():231 -> a
    168:170:void allocateRegisters():232:234 -> a
    171:171:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalRead():0:0 -> a
    171:171:void allocateRegisters():234 -> a
    172:177:void allocateRegisters():235:240 -> a
    178:183:void clearState():541:546 -> a
    178:183:void allocateRegisters():241 -> a
    184:202:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):251:269 -> a
    203:217:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):267:281 -> a
    218:218:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    218:218:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):281 -> a
    219:219:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):282:282 -> a
    220:220:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    220:220:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):282 -> a
    221:274:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):285:338 -> a
    275:275:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> a
    275:275:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):338 -> a
    276:278:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):339:341 -> a
    279:287:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):464:472 -> a
    279:287:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    288:288:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> a
    288:288:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):472 -> a
    288:288:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    289:289:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):474:474 -> a
    289:289:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    290:290:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    290:290:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):474 -> a
    290:290:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    291:305:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):475:489 -> a
    291:305:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    306:306:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    306:306:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):489 -> a
    306:306:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    307:307:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):490:490 -> a
    307:307:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    308:308:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    308:308:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):490 -> a
    308:308:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    309:316:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):491:498 -> a
    309:316:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    317:317:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    317:317:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):501 -> a
    317:317:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    318:320:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):501:503 -> a
    318:320:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    321:321:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):465:465 -> a
    321:321:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    322:322:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    322:322:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):465 -> a
    322:322:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    323:325:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):465:467 -> a
    323:325:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    326:327:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> a
    326:327:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):167 -> a
    326:327:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):467 -> a
    326:327:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    328:328:void setLocalsAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator,java.util.List,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.regalloc.RegisterAllocator):467:467 -> a
    328:328:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):346 -> a
    329:351:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):349:371 -> a
    352:352:boolean com.android.tools.r8.ir.code.Instruction.isDebugLocalRead():0:0 -> a
    352:352:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):373 -> a
    353:399:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):374:420 -> a
    400:400:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    400:400:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):420 -> a
    401:401:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):421:421 -> a
    402:402:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    402:402:void computeDebugInfo(com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.List,com.android.tools.r8.ir.regalloc.RegisterAllocator,java.util.Map):421 -> a
    403:403:int lambda$computeDebugInfo$0(com.android.tools.r8.ir.regalloc.LiveRange):263:263 -> a
    404:405:boolean lambda$computeDebugInfo$2(java.util.Set,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):321:322 -> a
    406:406:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428:428 -> a
    407:408:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):433:434 -> a
    407:408:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    409:409:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):439:439 -> a
    409:409:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):435 -> a
    409:409:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    410:416:boolean valuesContain(com.android.tools.r8.ir.code.Value,java.util.Collection):444:450 -> a
    410:416:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):439 -> a
    410:416:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):435 -> a
    410:416:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    417:417:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):440:440 -> a
    417:417:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):435 -> a
    417:417:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    418:424:boolean valuesContain(com.android.tools.r8.ir.code.Value,java.util.Collection):444:450 -> a
    418:424:boolean usesValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction):440 -> a
    418:424:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,int,int,com.android.tools.r8.ir.code.Value):435 -> a
    418:424:boolean isLocalLiveAtInstruction(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):428 -> a
    425:448:com.android.tools.r8.ir.code.DebugLocalsChange createLocalsChange(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.code.Position):511:534 -> a
    449:468:com.android.tools.r8.ir.code.DebugLocalsChange createLocalsChange(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.ir.code.Position):517:536 -> a
    469:470:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):626:627 -> a
    471:472:int getRegisterForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):804:805 -> a
    471:472:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):627 -> a
    473:473:int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int):629:629 -> a
    474:474:boolean isSpillInstruction(com.android.tools.r8.ir.code.Instruction):771:771 -> a
    475:475:boolean com.android.tools.r8.ir.code.Value.isFixedRegisterValue():0:0 -> a
    475:475:boolean isSpillInstruction(com.android.tools.r8.ir.code.Instruction):772 -> a
    476:478:boolean isSpillInstruction(com.android.tools.r8.ir.code.Instruction):776:778 -> a
    479:517:boolean invariantsHold(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):990:1028 -> a
    518:519:void lambda$invariantsHold$3(java.util.TreeSet,int):998:999 -> a
    520:526:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1183:1189 -> a
    527:527:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    527:527:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1190 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    528:528:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1191:1191 -> a
    529:539:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1188:1198 -> a
    540:543:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1246:1249 -> a
    540:543:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1201 -> a
    544:544:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    544:544:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1253 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    544:544:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1201 -> a
    545:545:boolean liveIntervalsHasUnhandledSplitOverlappingAnyOf(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):1252:1252 -> a
    545:545:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1201 -> a
    546:546:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1202:1202 -> a
    547:560:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1200:1213 -> a
    561:561:int getFreeConsecutiveRegisters(int):3046:3046 -> a
    561:561:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1214 -> a
    562:563:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1216:1217 -> a
    564:569:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1051:1056 -> a
    564:569:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1217 -> a
    570:570:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1055:1055 -> a
    570:570:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1217 -> a
    571:571:boolean registerAssignmentNotConflictingWithArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):1054:1054 -> a
    571:571:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1217 -> a
    572:585:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1219:1232 -> a
    586:610:void allocateLinkedIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,boolean):1215:1239 -> a
    611:630:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1275:1294 -> a
    631:638:boolean registersAreFreeAndConsecutive(int,boolean):3102:3109 -> a
    631:638:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1294 -> a
    639:664:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1295:1320 -> a
    665:667:boolean registerIsFree(int):3179:3179 -> a
    665:667:boolean registersAreFree(int,boolean):3186 -> a
    665:667:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1320 -> a
    668:668:boolean registerIsFree(int):3180:3180 -> a
    668:668:boolean registersAreFree(int,boolean):3186 -> a
    668:668:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1320 -> a
    669:669:int getSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):1320:1320 -> a
    670:700:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1336:1366 -> a
    701:701:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    701:701:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1367 -> a
    702:718:boolean maySpillLiveIntervalsToRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int,int):1374:1390 -> a
    719:720:void assignRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1866:1867 -> a
    721:751:void updateRegisterHints(com.android.tools.r8.ir.regalloc.LiveIntervals):1872:1902 -> a
    721:751:void assignRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1868 -> a
    752:764:int handleWorkaround(java.util.function.Predicate,java.util.function.BiPredicate,int,com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean,com.android.tools.r8.ir.regalloc.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1963:1975 -> a
    765:765:int handleWorkaround(java.util.function.Predicate,java.util.function.BiPredicate,int,com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean,com.android.tools.r8.ir.regalloc.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2745,"2":2746,"3":2747,"4":2748,"5":2749}}
    2745:2745:int handleWorkaround(java.util.function.Predicate,java.util.function.BiPredicate,int,com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean,com.android.tools.r8.ir.regalloc.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1975:1975 -> a
    2746:2746:int handleWorkaround(java.util.function.Predicate,java.util.function.BiPredicate,int,com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean,com.android.tools.r8.ir.regalloc.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1975:1975 -> a
    2747:2747:int handleWorkaround(java.util.function.Predicate,java.util.function.BiPredicate,int,com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean,com.android.tools.r8.ir.regalloc.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1975:1975 -> a
    2748:2748:int handleWorkaround(java.util.function.Predicate,java.util.function.BiPredicate,int,com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean,com.android.tools.r8.ir.regalloc.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1975:1975 -> a
    2749:2749:int handleWorkaround(java.util.function.Predicate,java.util.function.BiPredicate,int,com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean,com.android.tools.r8.ir.regalloc.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1975:1975 -> a
    2740:2744:int handleWorkaround(java.util.function.Predicate,java.util.function.BiPredicate,int,com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean,com.android.tools.r8.ir.regalloc.RegisterPositionsWithExtraBlockedRegisters,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1975:1979 -> a
    2750:2780:int getLargestValidCandidate(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):1999:2029 -> a
    2781:2781:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2236:2236 -> a
    2782:2782:boolean atLeastOneOfRegistersAreTaken(int,boolean):3199:3199 -> a
    2782:2782:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2237 -> a
    2783:2829:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2237:2283 -> a
    2830:2852:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2352:2374 -> a
    2830:2852:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2286 -> a
    2853:2853:int toGapPosition(int):1402:1402 -> a
    2853:2853:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2374 -> a
    2853:2853:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2286 -> a
    2854:2867:void splitRangesForSpilledConstant(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2374:2387 -> a
    2854:2867:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2286 -> a
    2868:2868:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2287:2287 -> a
    2869:2876:void splitRangesForSpilledArgument(com.android.tools.r8.ir.regalloc.LiveIntervals):2300:2307 -> a
    2869:2876:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2288 -> a
    2877:2905:void splitRangesForSpilledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):2314:2342 -> a
    2877:2905:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2290 -> a
    2906:2907:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2295:2296 -> a
    2908:2910:boolean registerIsFree(int):3179:3179 -> a
    2908:2910:boolean registersAreFree(int,boolean):3186 -> a
    2908:2910:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2296 -> a
    2911:2911:boolean registerIsFree(int):3180:3180 -> a
    2911:2911:boolean registersAreFree(int,boolean):3186 -> a
    2911:2911:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2296 -> a
    2912:2912:void spillOverlappingActiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2296:2296 -> a
    2913:2915:void blockLinkedRegisters(java.util.List,com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions):2396:2398 -> a
    2916:2916:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    2916:2916:void blockLinkedRegisters(java.util.List,com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions):2399 -> a
    2917:2925:void blockLinkedRegisters(java.util.List,com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions):2400:2408 -> a
    2926:2926:void blockLinkedRegisters(java.util.List,com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,com.android.tools.r8.ir.regalloc.RegisterPositions):2407:2407 -> a
    2927:2962:void addLiveRange(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,int,java.util.List,com.android.tools.r8.utils.InternalOptions):2516:2551 -> a
    2963:2963:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    2963:2963:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2727 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2963:2963:void addLiveRange(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,int,java.util.List,com.android.tools.r8.utils.InternalOptions):2551 -> a
    2964:2964:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    2964:2964:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2727 -> a
    2964:2964:void addLiveRange(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,int,java.util.List,com.android.tools.r8.utils.InternalOptions):2551 -> a
    2965:2971:void addLiveRange(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,int,java.util.List,com.android.tools.r8.utils.InternalOptions):2551:2557 -> a
    2972:2972:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2590:2590 -> a
    2973:2973:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> a
    2973:2973:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2592 -> a
    2974:2974:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> a
    2974:2974:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2593 -> a
    2975:2975:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> a
    2975:2975:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2594 -> a
    2976:2984:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2595:2603 -> a
    2985:2985:void com.android.tools.r8.utils.LinkedHashSetUtils.addAll(java.util.LinkedHashSet,java.util.LinkedHashSet):12:12 -> a
    2985:2985:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2602 -> a
    2986:2986:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2605:2605 -> a
    2987:2987:void com.android.tools.r8.utils.LinkedHashSetUtils.addAll(java.util.LinkedHashSet,java.util.LinkedHashSet):12:12 -> a
    2987:2987:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2605 -> a
    2988:2991:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2609:2612 -> a
    2992:2992:void com.android.tools.r8.utils.LinkedHashSetUtils.addAll(java.util.LinkedHashSet,java.util.LinkedHashSet):12:12 -> a
    2992:2992:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2615 -> a
    2993:3020:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2616:2643 -> a
    3021:3027:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2640:2646 -> a
    3028:3028:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    3028:3028:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2646 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3029:3029:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    3029:3029:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2646 -> a
    3030:3037:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2646:2653 -> a
    3038:3038:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    3038:3038:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2727 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3038:3038:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2653 -> a
    3039:3039:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    3039:3039:boolean unconstrainedForCf(int,com.android.tools.r8.utils.InternalOptions):2727 -> a
    3039:3039:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2653 -> a
    3040:3077:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2653:2690 -> a
    3078:3079:int getLiveRangeEndOnExceptionalFlow(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.Value):2719:2720 -> a
    3078:3079:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2694 -> a
    3080:3099:void computeLiveRanges(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.code.IRCode,java.util.Map,java.util.List):2691:2710 -> a
    3100:3122:boolean implementationIsBridge(com.android.tools.r8.ir.code.IRCode):2796:2818 -> a
    3123:3123:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2840:2840 -> a
    3124:3128:boolean argumentsAreAlreadyLinked(com.android.tools.r8.ir.code.Invoke):2945:2949 -> a
    3124:3128:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2840 -> a
    3129:3162:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2841:2874 -> a
    3163:3164:boolean com.android.tools.r8.ir.code.Value.hasRegisterConstraint():737:738 -> a
    3163:3164:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2876 -> a
    3165:3165:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2877:2877 -> a
    3166:3167:com.android.tools.r8.ir.code.Value createValue(com.android.tools.r8.ir.analysis.type.TypeElement):2825:2826 -> a
    3166:3167:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2877 -> a
    3168:3169:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2878:2879 -> a
    3170:3173:void replaceArgument(com.android.tools.r8.ir.code.Invoke,int,com.android.tools.r8.ir.code.Value):2831:2834 -> a
    3170:3173:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2880 -> a
    3174:3198:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2882:2906 -> a
    3199:3225:void generateArgumentMovesAtDefinitions(com.android.tools.r8.ir.code.Invoke,java.util.PriorityQueue,com.android.tools.r8.ir.code.InstructionListIterator):2914:2940 -> a
    3199:3225:void generateArgumentMoves(com.android.tools.r8.ir.code.Invoke,com.android.tools.r8.ir.code.InstructionListIterator):2907 -> a
    3226:3226:int lambda$generateArgumentMoves$5(com.android.tools.r8.ir.code.Move,com.android.tools.r8.ir.code.Move):2848:2848 -> a
    3227:3249:int getFreeConsecutiveRegisters(int,boolean):3050:3072 -> a
    3250:3253:int getNextFreeRegister(java.util.Iterator):3118:3121 -> a
    3250:3253:int getFreeConsecutiveRegisters(int,boolean):3073 -> a
    3254:3257:int getNextFreeRegister(java.util.Iterator):3118:3121 -> a
    3254:3257:int getFreeConsecutiveRegisters(int,boolean):3077 -> a
    3258:3272:int getFreeConsecutiveRegisters(int,boolean):3080:3094 -> a
    3273:3284:int lambda$getFreeConsecutiveRegisters$6(java.lang.Integer,java.lang.Integer):3056:3067 -> a
    3285:3297:void excludeRegistersForInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):3125:3137 -> a
    3298:3309:void freeOccupiedRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3143:3154 -> a
    3310:3310:boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock):3249:3249 -> a
    void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> b
    1:1:boolean lambda$computeDebugInfo$1(com.android.tools.r8.ir.code.Instruction):311:311 -> b
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> b
    2:2:boolean lambda$computeDebugInfo$1(com.android.tools.r8.ir.code.Instruction):311 -> b
    3:3:boolean lambda$computeDebugInfo$1(com.android.tools.r8.ir.code.Instruction):311:311 -> b
    4:6:int registersUsed():598:600 -> b
    7:7:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):607:607 -> b
    8:8:boolean com.android.tools.r8.ir.code.Value.isFixedRegisterValue():0:0 -> b
    8:8:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):607 -> b
    9:20:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):608:619 -> b
    21:22:int getRegisterForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):804:805 -> b
    21:22:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):621 -> b
    23:23:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:612 -> b
    24:24:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":641,"2":642,"3":643}}
    641:641:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:612 -> b
    642:642:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:612 -> b
    643:643:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:612 -> b
    636:638:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):612:614 -> b
    639:639:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> b
    639:639:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):614 -> b
    640:640:int getRegisterForValue(com.android.tools.r8.ir.code.Value,int):614:614 -> b
    644:648:int realRegisterNumberFromAllocated(int):823:827 -> b
    649:650:void lambda$invariantsHold$4(java.util.TreeSet,int):1015:1016 -> b
    651:668:boolean needsArrayGetWideWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1417:1434 -> b
    669:673:boolean isArrayGetArrayRegister(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1440:1444 -> b
    674:678:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2199:2203 -> b
    679:679:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> b
    679:679:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2204 -> b
    680:706:void splitOverlappingInactiveIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2205:2231 -> b
    707:711:void increaseCapacity(int,boolean):3038:3042 -> b
    1:1:com.android.tools.r8.utils.InternalOptions options():634:634 -> c
    2:2:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):652:652 -> c
    3:14:void clearRegisterAssignments(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):785:796 -> c
    3:14:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):655 -> c
    15:15:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):656:656 -> c
    16:24:void pinArgumentRegisters():3019:3027 -> c
    16:24:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):659 -> c
    25:25:void pinArgumentRegisters():3024:3024 -> c
    25:25:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):659 -> c
    26:81:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):833:888 -> c
    26:81:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    82:82:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> c
    82:82:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):888 -> c
    82:82:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    83:88:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):889:894 -> c
    83:88:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    89:89:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    89:89:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):895 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:89:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    90:111:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):900:921 -> c
    90:111:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    112:118:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1062:1068 -> c
    112:118:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):923 -> c
    112:118:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    119:119:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    119:119:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1068 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    119:119:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):923 -> c
    119:119:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    120:121:void setHintForDestRegOfCheckCast(com.android.tools.r8.ir.regalloc.LiveIntervals):1069:1070 -> c
    120:121:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):923 -> c
    120:121:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    122:128:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1081:1087 -> c
    122:128:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    122:128:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    129:129:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    129:129:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1087 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    129:129:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    129:129:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    130:135:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1088:1093 -> c
    130:135:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    130:135:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    136:136:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    136:136:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1093 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    136:136:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    136:136:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    137:137:void setHintToPromote2AddrInstruction(com.android.tools.r8.ir.regalloc.LiveIntervals):1094:1094 -> c
    137:137:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):924 -> c
    137:137:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    138:203:void allocateArgumentIntervalsWithSrc(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1109:1174 -> c
    138:203:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):929 -> c
    138:203:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    204:253:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):930:979 -> c
    204:253:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    254:266:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1616:1628 -> c
    254:266:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    254:266:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    267:269:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    267:269:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1629 -> c
    267:269:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    267:269:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    270:321:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1639:1690 -> c
    270:321:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    270:321:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    322:322:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    322:322:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1691 -> c
    322:322:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    322:322:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    323:327:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1692:1696 -> c
    323:327:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    323:327:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    328:328:int toInstructionPosition(int):1398:1398 -> c
    328:328:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1696 -> c
    328:328:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    328:328:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    329:340:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1701:1712 -> c
    329:340:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    329:340:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    341:350:boolean freePositionsAreConsistentWithFreeRegisters(com.android.tools.r8.ir.regalloc.RegisterPositions,int):1034:1043 -> c
    341:350:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1712 -> c
    341:350:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    341:350:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    351:379:boolean useRegisterHint(com.android.tools.r8.ir.regalloc.LiveIntervals,int,com.android.tools.r8.ir.regalloc.RegisterPositions,boolean):1792:1820 -> c
    351:379:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1715 -> c
    351:379:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    351:379:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    380:406:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1721:1747 -> c
    380:406:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    380:406:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    407:425:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2042:2060 -> c
    407:425:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    407:425:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    407:425:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    426:435:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2059:2068 -> c
    426:435:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    426:435:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    426:435:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    436:436:boolean com.android.tools.r8.ir.regalloc.LiveIntervals.overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> c
    436:436:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2069 -> c
    436:436:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    436:436:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    436:436:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    437:480:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2070:2113 -> c
    437:480:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    437:480:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    437:480:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    481:483:int getLargestPosition(com.android.tools.r8.ir.regalloc.RegisterPositions,int,boolean):2177:2179 -> c
    481:483:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2119 -> c
    481:483:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    481:483:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    481:483:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    484:499:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2121:2136 -> c
    484:499:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    484:499:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    484:499:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    500:502:int getLargestPosition(com.android.tools.r8.ir.regalloc.RegisterPositions,int,boolean):2177:2179 -> c
    500:502:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2141 -> c
    500:502:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    500:502:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    500:502:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    503:505:int getLargestPosition(com.android.tools.r8.ir.regalloc.RegisterPositions,int,boolean):2177:2179 -> c
    503:505:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2142 -> c
    503:505:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    503:505:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    503:505:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    506:511:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2144:2149 -> c
    506:511:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    506:511:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    506:511:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    512:519:int getNewSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1263:1270 -> c
    512:519:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2151 -> c
    512:519:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    512:519:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    512:519:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    520:520:void increaseCapacity(int):3033:3033 -> c
    520:520:int getNewSpillRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):1270 -> c
    520:520:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2151 -> c
    520:520:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    520:520:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    520:520:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    521:523:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    521:523:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2152 -> c
    521:523:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    521:523:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    521:523:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    524:530:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2153:2159 -> c
    524:530:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    524:530:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    524:530:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    531:531:void increaseCapacity(int):3033:3033 -> c
    531:531:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2160 -> c
    531:531:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    531:531:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    531:531:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    532:532:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2163:2163 -> c
    532:532:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    532:532:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    532:532:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    533:540:void assignRegisterAndSpill(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2187:2194 -> c
    533:540:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2165 -> c
    533:540:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    533:540:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    533:540:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    541:542:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2168:2169 -> c
    541:542:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    541:542:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    541:542:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    543:550:void assignRegisterAndSpill(com.android.tools.r8.ir.regalloc.LiveIntervals,int,boolean):2187:2194 -> c
    543:550:void allocateBlockedRegister(com.android.tools.r8.ir.regalloc.LiveIntervals):2170 -> c
    543:550:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1754 -> c
    543:550:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    543:550:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    551:553:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1748:1750 -> c
    551:553:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    551:553:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    554:556:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    554:556:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1751 -> c
    554:556:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    554:556:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    557:565:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1752:1760 -> c
    557:565:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    557:565:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    566:566:void increaseCapacity(int):3033:3033 -> c
    566:566:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1761 -> c
    566:566:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    566:566:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    567:567:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1764:1764 -> c
    567:567:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    567:567:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    568:570:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    568:570:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1766 -> c
    568:570:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    568:570:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    571:572:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1775:1776 -> c
    571:572:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    571:572:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    573:575:void assignFreeRegisterToUnhandledInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1909:1911 -> c
    573:575:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1777 -> c
    573:575:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    573:575:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    576:576:boolean allocateSingleInterval(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):1778:1778 -> c
    576:576:boolean performLinearScan(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode):981 -> c
    576:576:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):661 -> c
    577:622:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):663:708 -> c
    623:631:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):681:689 -> c
    632:632:int highestUsedRegister():593:593 -> c
    632:632:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):691 -> c
    633:636:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):692:695 -> c
    637:637:int highestUsedRegister():593:593 -> c
    637:637:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):669 -> c
    638:644:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):670:676 -> c
    645:684:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):673:712 -> c
    685:685:int highestUsedRegister():593:593 -> c
    685:685:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):713 -> c
    686:686:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):712:712 -> c
    687:687:int highestUsedRegister():593:593 -> c
    687:687:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):715 -> c
    688:688:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):714:714 -> c
    689:689:com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode performAllocation(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$ArgumentReuseMode,boolean):666:666 -> c
    690:695:int unadjustedRealRegisterFromAllocated(int):809:814 -> c
    696:719:boolean needsLongResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1510:1533 -> c
    720:727:boolean isLongResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1546:1553 -> c
    1:18:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1449:1466 -> d
    19:19:boolean com.android.tools.r8.ir.code.Instruction.isCmp():0:0 -> d
    19:19:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1466 -> d
    20:23:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1467:1470 -> d
    24:24:boolean com.android.tools.r8.ir.code.NumberConversion.isLongToIntConversion():52:52 -> d
    24:24:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1470 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:25:boolean com.android.tools.r8.ir.code.NumberConversion.isLongToIntConversion():52:52 -> d
    25:25:boolean needsSingleResultOverlappingLongOperandsWorkaround(com.android.tools.r8.ir.regalloc.LiveIntervals):1470 -> d
    26:27:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1480:1481 -> d
    28:28:boolean com.android.tools.r8.ir.code.Instruction.isCmp():0:0 -> d
    28:28:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1481 -> d
    29:42:boolean isSingleResultOverlappingLongOperands(com.android.tools.r8.ir.regalloc.LiveIntervals,int):1482:1495 -> d
    43:43:void clearUserInfo():2731:2731 -> d
    1:6:boolean computeUnusedRegisters():553:558 -> e
    7:11:void addRegisterIfUsed(java.util.Set,com.android.tools.r8.ir.regalloc.LiveIntervals):583:587 -> e
    7:11:boolean computeUnusedRegisters():559 -> e
    12:12:boolean computeUnusedRegisters():560:560 -> e
    13:17:void addRegisterIfUsed(java.util.Set,com.android.tools.r8.ir.regalloc.LiveIntervals):583:587 -> e
    13:17:boolean computeUnusedRegisters():561 -> e
    18:30:boolean computeUnusedRegisters():566:578 -> e
    31:41:boolean overlapsMoveExceptionInterval(com.android.tools.r8.ir.regalloc.LiveIntervals):1598:1608 -> e
    1:2:int getMoveExceptionRegister():187:188 -> f
    3:4:boolean registersForIntervalsAreTaken(com.android.tools.r8.ir.regalloc.LiveIntervals):3194:3195 -> f
    5:5:boolean registersAreTaken(int,boolean):3190:3190 -> f
    5:5:boolean registersForIntervalsAreTaken(com.android.tools.r8.ir.regalloc.LiveIntervals):3195 -> f
    1:1:boolean hasDedicatedMoveExceptionRegister():179:179 -> g
    2:2:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3168:3168 -> g
    3:3:void takeFreeRegisters(int,boolean):3160:3160 -> g
    3:3:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3168 -> g
    4:6:boolean registerIsFree(int):3179:3179 -> g
    4:6:boolean registersAreFree(int,boolean):3186 -> g
    4:6:void takeFreeRegisters(int,boolean):3160 -> g
    4:6:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3168 -> g
    7:7:boolean registerIsFree(int):3180:3180 -> g
    7:7:boolean registersAreFree(int,boolean):3186 -> g
    7:7:void takeFreeRegisters(int,boolean):3160 -> g
    7:7:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3168 -> g
    8:11:void takeFreeRegisters(int,boolean):3160:3163 -> g
    8:11:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3168 -> g
    12:15:void takeFreeRegistersForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals):3170:3173 -> g
    1:2:void computeRematerializableBits():2442:2443 -> h
    1:2:void insertMoves():2418 -> h
    3:12:void insertMoves():2420:2429 -> h
    13:13:int toGapPosition(int):1402:1402 -> h
    13:13:void insertMoves():2430 -> h
    14:14:void insertMoves():2430:2430 -> h
    15:15:void insertMoves():2428:2428 -> h
    16:41:void resolveControlFlow(com.android.tools.r8.ir.regalloc.SpillMoveSet):2461:2486 -> h
    16:41:void insertMoves():2436 -> h
    42:42:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> h
    42:42:void resolveControlFlow(com.android.tools.r8.ir.regalloc.SpillMoveSet):2486 -> h
    42:42:void insertMoves():2436 -> h
    43:59:void resolveControlFlow(com.android.tools.r8.ir.regalloc.SpillMoveSet):2487:2503 -> h
    43:59:void insertMoves():2436 -> h
    60:61:void insertMoves():2437:2438 -> h
    1:6:void removeSpillAndPhiMoves():759:764 -> i
    1:8:boolean unsplitArguments():726:733 -> j
    9:9:int highestUsedRegister():593:593 -> j
    9:9:boolean unsplitArguments():737 -> j
    10:16:boolean unsplitArguments():747:753 -> j
    1:20:java.lang.String toString():3220:3239 -> toString
com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange -> com.android.tools.r8.ir.regalloc.a:
    com.android.tools.r8.graph.DebugLocalInfo local -> c
    int end -> f
    com.android.tools.r8.ir.code.Value value -> b
    int register -> d
    boolean $assertionsDisabled -> g
    int start -> e
    1:1:void <clinit>():101:101 -> <clinit>
    1:7:void <init>(com.android.tools.r8.ir.code.Value,int,int,int):108:114 -> <init>
    1:3:int compareTo(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator$LocalRange):119:121 -> a
    1:1:int compareTo(java.lang.Object):101:101 -> compareTo
    1:1:java.lang.String toString():126:126 -> toString
com.android.tools.r8.ir.regalloc.LiveIntervals -> com.android.tools.r8.ir.regalloc.c:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList sortedSplitChildrenEnds -> g
    boolean spilled -> n
    int register -> l
    boolean usedInMonitorOperations -> o
    int numberOfConsecutiveRegisters -> k
    com.android.tools.r8.ir.regalloc.LiveIntervals nextConsecutive -> c
    com.android.tools.r8.ir.regalloc.LiveIntervals previousConsecutive -> d
    com.android.tools.r8.ir.regalloc.LiveIntervals splitParent -> e
    boolean isRematerializable -> r
    boolean $assertionsDisabled -> s
    java.util.TreeSet uses -> j
    java.util.List splitChildren -> f
    java.util.List ranges -> i
    com.android.tools.r8.ir.code.Value value -> b
    java.lang.Integer hint -> m
    boolean sortedChildren -> h
    int registerLimit -> p
    int maxNonSpilledRegister -> q
    1:1:void <clinit>():24:24 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.Value):53:53 -> <init>
    2:26:void <init>(com.android.tools.r8.ir.code.Value):33:57 -> <init>
    27:27:void <init>(com.android.tools.r8.ir.regalloc.LiveIntervals):60:60 -> <init>
    28:58:void <init>(com.android.tools.r8.ir.regalloc.LiveIntervals):33:63 -> <init>
    1:3:int numberOfConsecutiveRegisters():163:165 -> A
    4:9:int computeNumberOfConsecutiveRegisters():172:177 -> A
    4:9:int numberOfConsecutiveRegisters():165 -> A
    10:13:int computeNumberOfConsecutiveRegisters():176:179 -> A
    10:13:int numberOfConsecutiveRegisters():165 -> A
    14:15:int numberOfConsecutiveRegisters():165:166 -> A
    16:21:int computeNumberOfConsecutiveRegisters():172:177 -> A
    16:21:int numberOfConsecutiveRegisters():168 -> A
    22:25:int computeNumberOfConsecutiveRegisters():176:179 -> A
    22:25:int numberOfConsecutiveRegisters():168 -> A
    1:1:java.util.TreeSet getUses():258:258 -> B
    1:1:int numberOfUsesWithConstraint():547 -> B
    2:3:int numberOfUsesWithConstraint():547:548 -> B
    1:1:com.android.tools.r8.ir.code.ValueType getType():79:79 -> C
    1:1:int requiredRegisters():83 -> C
    2:2:int requiredRegisters():83:83 -> C
    1:7:void sortSplitChildrenIfNeeded():188:194 -> D
    8:10:boolean sortedChildrenConsistent():200:202 -> D
    8:10:void sortSplitChildrenIfNeeded():194 -> D
    11:11:void sortSplitChildrenIfNeeded():195:195 -> D
    1:1:java.lang.String toAscciArtString():592:592 -> F
    2:2:java.util.List getRanges():262:262 -> F
    2:2:java.lang.String toAscciArtString():594 -> F
    3:4:java.lang.String toAscciArtString():594:595 -> F
    5:5:boolean com.android.tools.r8.ir.regalloc.LiveRange.isInfinite():32:32 -> F
    5:5:java.lang.String toAscciArtString():595 -> F
    6:16:java.lang.String toAscciArtString():596:606 -> F
    1:13:void undoSplits():469:481 -> G
    14:16:void recomputeLimit():486:488 -> G
    14:16:void undoSplits():482 -> G
    17:17:void updateRegisterConstraint(int):254:254 -> G
    17:17:void recomputeLimit():488 -> G
    17:17:void undoSplits():482 -> G
    1:1:boolean usedInMonitorOperation():535:535 -> H
    1:1:void setSpilled(boolean):105:105 -> a
    2:2:int getRegister():276:276 -> a
    2:2:void setSpilled(boolean):105 -> a
    3:4:void setSpilled(boolean):105:106 -> a
    5:5:int getRegister():276:276 -> a
    5:5:void setSpilled(boolean):106 -> a
    6:6:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitParent():212:212 -> a
    6:6:void setSpilled(boolean):106 -> a
    7:7:int getRegister():276:276 -> a
    7:7:void setSpilled(boolean):106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:9:void setSpilled(boolean):106:107 -> a
    10:10:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitParent():212:212 -> a
    10:10:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):354 -> a
    11:11:boolean overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    11:11:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):355 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:java.util.List getSplitChildren():208:208 -> a
    12:12:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):358 -> a
    13:13:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):358:358 -> a
    14:14:boolean overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    14:14:boolean anySplitOverlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):359 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:17:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):226:228 -> a
    15:17:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    18:18:boolean com.android.tools.r8.ir.regalloc.LiveRange.isInfinite():32:32 -> a
    18:18:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):228 -> a
    18:18:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    19:19:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):231:231 -> a
    19:19:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    20:20:int toInstructionPosition(int):67:67 -> a
    20:20:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):231 -> a
    20:20:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    21:21:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):232:232 -> a
    21:21:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    22:22:int toInstructionPosition(int):67:67 -> a
    22:22:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):232 -> a
    22:22:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    23:27:boolean tryAddRange(com.android.tools.r8.ir.regalloc.LiveRange):237:241 -> a
    23:27:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):221 -> a
    28:28:void addRange(com.android.tools.r8.ir.regalloc.LiveRange):222:222 -> a
    29:30:void addUse(com.android.tools.r8.ir.regalloc.LiveIntervalsUse):249:250 -> a
    31:31:void updateRegisterConstraint(int):254:254 -> a
    31:31:void addUse(com.android.tools.r8.ir.regalloc.LiveIntervalsUse):250 -> a
    32:32:boolean usesRegister(int,boolean):315:315 -> a
    33:33:com.android.tools.r8.ir.code.ValueType getType():79:79 -> a
    33:33:boolean usesRegister(int,boolean):318 -> a
    34:37:boolean usesRegister(int,boolean):318:321 -> a
    38:39:void clearRegisterAssignment():332:333 -> a
    40:40:boolean overlaps(com.android.tools.r8.ir.regalloc.LiveIntervals):350:350 -> a
    40:40:void setHint(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.PriorityQueue):88 -> a
    41:41:void setHint(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.PriorityQueue):91:91 -> a
    42:42:int getRegister():276:276 -> a
    42:42:void setHint(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.PriorityQueue):92 -> a
    43:45:void setHint(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.PriorityQueue):92:94 -> a
    46:48:int firstUseAfter(int):384:386 -> a
    49:50:void forEachRegister(java.util.function.IntConsumer):410:411 -> a
    51:51:com.android.tools.r8.ir.code.ValueType getType():79:79 -> a
    51:51:void forEachRegister(java.util.function.IntConsumer):412 -> a
    52:53:void forEachRegister(java.util.function.IntConsumer):412:413 -> a
    54:73:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):629:648 -> a
    74:74:int getRegister():276:276 -> a
    74:74:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):648 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    75:81:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):648:654 -> a
    82:82:boolean isSpilled():111:111 -> a
    82:82:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):654 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    83:84:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):669:670 -> a
    85:85:boolean isSpilled():111:111 -> a
    85:85:boolean allSplitsAreSpilled():120 -> a
    85:85:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):670 -> a
    86:88:boolean allSplitsAreSpilled():120:122 -> a
    86:88:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):670 -> a
    89:89:boolean isSpilled():111:111 -> a
    89:89:boolean allSplitsAreSpilled():122 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:89:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):670 -> a
    90:90:boolean allSplitsAreSpilled():122:122 -> a
    90:90:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):670 -> a
    91:95:void computeRematerializable(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator):671:675 -> a
    1:1:boolean hasConflictingRegisters(com.android.tools.r8.ir.regalloc.LiveIntervals):328:328 -> b
    2:2:com.android.tools.r8.ir.code.ValueType getType():79:79 -> b
    2:2:boolean hasConflictingRegisters(com.android.tools.r8.ir.regalloc.LiveIntervals):328 -> b
    3:3:boolean hasConflictingRegisters(com.android.tools.r8.ir.regalloc.LiveIntervals):328:328 -> b
    4:5:com.android.tools.r8.ir.regalloc.LiveIntervalsUse firstUseWithConstraint():401:402 -> b
    1:3:void link(com.android.tools.r8.ir.regalloc.LiveIntervals):132:134 -> c
    4:5:int getEnd():271:272 -> c
    1:1:int compareTo(java.lang.Object):24:24 -> compareTo
    2:16:int compareTo(com.android.tools.r8.ir.regalloc.LiveIntervals):558:572 -> compareTo
    2:16:int compareTo(java.lang.Object):24 -> compareTo
    1:10:int nextOverlap(com.android.tools.r8.ir.regalloc.LiveIntervals):367:376 -> d
    11:11:int getFirstUse():397:397 -> d
    12:12:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitCovering(int):493:493 -> d
    13:13:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitParent():212:212 -> d
    13:13:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitCovering(int):493 -> d
    14:47:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitCovering(int):493:526 -> d
    1:1:java.lang.Integer getHint():100:100 -> e
    1:1:int getMaxNonSpilledRegister():308:308 -> f
    2:2:int computeMaxNonSpilledRegister():289:289 -> f
    2:2:int getMaxNonSpilledRegister():311 -> f
    3:3:int computeMaxNonSpilledRegister():289:289 -> f
    3:3:int getMaxNonSpilledRegister():311 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:int computeMaxNonSpilledRegister():289:290 -> f
    4:5:int getMaxNonSpilledRegister():311 -> f
    6:6:boolean isSpilled():111:111 -> f
    6:6:int computeMaxNonSpilledRegister():291 -> f
    6:6:int getMaxNonSpilledRegister():311 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    7:7:int getRegister():276:276 -> f
    7:7:int computeMaxNonSpilledRegister():292 -> f
    7:7:int getMaxNonSpilledRegister():311 -> f
    8:10:int computeMaxNonSpilledRegister():292:294 -> f
    8:10:int getMaxNonSpilledRegister():311 -> f
    11:11:boolean isSpilled():111:111 -> f
    11:11:int computeMaxNonSpilledRegister():295 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:int getMaxNonSpilledRegister():311 -> f
    12:12:int computeMaxNonSpilledRegister():296:296 -> f
    12:12:int getMaxNonSpilledRegister():311 -> f
    13:13:int getRegister():276:276 -> f
    13:13:int computeMaxNonSpilledRegister():296 -> f
    13:13:int getMaxNonSpilledRegister():311 -> f
    14:17:int computeMaxNonSpilledRegister():296:299 -> f
    14:17:int getMaxNonSpilledRegister():311 -> f
    18:23:boolean overlapsPosition(int):337:342 -> f
    1:1:com.android.tools.r8.ir.regalloc.LiveIntervals getNextConsecutive():155:155 -> g
    1:1:java.util.List getRanges():262:262 -> h
    2:3:void setMaxNonSpilledRegister(int):303:304 -> h
    1:1:int getRegister():276:276 -> i
    2:3:void setRegister(int):284:285 -> i
    1:1:int toInstructionPosition(int):67:67 -> j
    1:1:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):418 -> j
    2:2:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):418:418 -> j
    3:3:int toInstructionPosition(int):67:67 -> j
    3:3:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):418 -> j
    4:9:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):419:424 -> j
    10:10:com.android.tools.r8.ir.code.Value getValue():75:75 -> j
    10:10:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):424 -> j
    11:46:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):424:459 -> j
    47:49:void recomputeLimit():486:488 -> j
    47:49:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):462 -> j
    50:50:void updateRegisterConstraint(int):254:254 -> j
    50:50:void recomputeLimit():488 -> j
    50:50:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):462 -> j
    51:52:com.android.tools.r8.ir.regalloc.LiveIntervals splitBefore(int):463:464 -> j
    53:53:int getRegisterLimit():280:280 -> j
    1:1:java.util.List getSplitChildren():208:208 -> k
    1:1:com.android.tools.r8.ir.regalloc.LiveIntervals getSplitParent():212:212 -> l
    1:2:int getStart():266:267 -> m
    1:1:com.android.tools.r8.ir.regalloc.LiveIntervals getStartOfConsecutive():148:148 -> o
    1:1:com.android.tools.r8.ir.code.ValueType getType():79:79 -> p
    1:1:java.util.TreeSet getUses():258:258 -> q
    1:1:com.android.tools.r8.ir.code.Value getValue():75:75 -> r
    1:1:boolean hasSplits():184:184 -> s
    1:1:boolean hasUses():393:393 -> t
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":591,"2":592,"3":593}}
    591:591:java.lang.String toString():578:578 -> toString
    592:592:java.lang.String toString():578:578 -> toString
    593:593:java.lang.String toString():579:579 -> toString
    582:583:java.lang.String toString():581:582 -> toString
    584:584:java.util.List getRanges():262:262 -> toString
    584:584:java.lang.String toString():583 -> toString
    585:590:java.lang.String toString():583:588 -> toString
    1:2:boolean isArgumentInterval():142:143 -> u
    1:1:boolean isConstantNumberInterval():531:531 -> v
    1:1:boolean isLinked():138:138 -> w
    1:3:boolean isNewStringInstanceDisallowingSpilling():540:542 -> x
    1:1:boolean isSpilled():111:111 -> y
    1:1:boolean isSpilled():111:111 -> z
    1:1:boolean isSpilledAndRematerializable():128 -> z
    2:2:boolean isSpilledAndRematerializable():128:128 -> z
    3:3:boolean isRematerializable():115:115 -> z
    3:3:boolean isSpilledAndRematerializable():128 -> z
    4:4:boolean isRematerializable():115:115 -> z
    4:4:boolean isSpilledAndRematerializable():128 -> z
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean isRematerializable():115:115 -> z
    5:5:boolean isSpilledAndRematerializable():128 -> z
    6:6:boolean isRematerializable():116:116 -> z
    6:6:boolean isSpilledAndRematerializable():128 -> z
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.ir.regalloc.LiveIntervalsUse -> com.android.tools.r8.internal.nC:
    int position -> b
    int limit -> c
    1:3:void <init>(int,int):12:14 -> <init>
    1:1:int getLimit():22:22 -> a
    1:1:int getPosition():18:18 -> b
    1:1:boolean hasConstraint():48:48 -> c
    1:1:int compareTo(java.lang.Object):8:8 -> compareTo
    2:5:int com.android.tools.r8.ir.regalloc.LiveIntervalsUse.compareTo(com.android.tools.r8.ir.regalloc.LiveIntervalsUse):41:44 -> compareTo
    2:5:int compareTo(java.lang.Object):8 -> compareTo
    1:5:boolean equals(java.lang.Object):32:36 -> equals
    1:1:int hashCode():27:27 -> hashCode
com.android.tools.r8.ir.regalloc.LiveRange -> com.android.tools.r8.internal.pC:
    com.android.tools.r8.ir.regalloc.LiveRange INFINITE -> d
    int start -> b
    int end -> c
    1:1:void <clinit>():8:8 -> <clinit>
    1:3:void <init>(int,int):13:15 -> <init>
    1:1:int compareTo(java.lang.Object):6:6 -> compareTo
    2:5:int com.android.tools.r8.ir.regalloc.LiveRange.compareTo(com.android.tools.r8.ir.regalloc.LiveRange):20:23 -> compareTo
    2:5:int compareTo(java.lang.Object):6 -> compareTo
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toString():28:28 -> toString
    59:59:java.lang.String toString():28:28 -> toString
    60:60:java.lang.String toString():28:28 -> toString
    29:29:java.lang.String toString():28:28 -> toString
    30:30:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":61,"2":62,"3":63}}
    61:61:java.lang.String toString():28:28 -> toString
    62:62:java.lang.String toString():28:28 -> toString
    63:63:java.lang.String toString():28:28 -> toString
com.android.tools.r8.ir.regalloc.RegisterAllocator -> com.android.tools.r8.internal.hS:
    void addNewBlockToShareIdenticalSuffix(com.android.tools.r8.ir.code.BasicBlock,int,java.util.List) -> a
    void allocateRegisters() -> a
    int getArgumentOrAllocateRegisterForValue(com.android.tools.r8.ir.code.Value,int) -> a
    boolean hasEqualTypesAtEntry(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
    int getRegisterForValue(com.android.tools.r8.ir.code.Value,int) -> b
    void mergeBlocks(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> b
    int registersUsed() -> b
    com.android.tools.r8.utils.InternalOptions options() -> c
com.android.tools.r8.ir.regalloc.RegisterMove -> com.android.tools.r8.internal.iS:
    com.android.tools.r8.ir.analysis.type.TypeElement type -> b
    com.android.tools.r8.ir.code.Instruction definition -> e
    boolean $assertionsDisabled -> f
    int src -> d
    int dst -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:5:void <init>(int,int,com.android.tools.r8.ir.analysis.type.TypeElement):20:24 -> <init>
    6:11:void <init>(int,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.code.Instruction):27:32 -> <init>
    1:6:boolean isBlocked(java.util.Set,java.util.Map):43:48 -> a
    7:10:boolean com.android.tools.r8.ir.regalloc.RegisterMove.writes(int):36:39 -> a
    7:10:boolean isBlocked(java.util.Set,java.util.Map):48 -> a
    11:12:boolean isBlocked(java.util.Set,java.util.Map):51:52 -> a
    13:16:boolean com.android.tools.r8.ir.regalloc.RegisterMove.writes(int):36:39 -> a
    13:16:boolean isBlocked(java.util.Set,java.util.Map):52 -> a
    1:1:int compareTo(java.lang.Object):13:13 -> compareTo
    2:28:int com.android.tools.r8.ir.regalloc.RegisterMove.compareTo(com.android.tools.r8.ir.regalloc.RegisterMove):77:103 -> compareTo
    2:28:int compareTo(java.lang.Object):13 -> compareTo
    1:5:boolean equals(java.lang.Object):68:72 -> equals
    1:1:int hashCode():63:63 -> hashCode
com.android.tools.r8.ir.regalloc.RegisterMoveScheduler -> com.android.tools.r8.internal.jS:
    java.util.Map valueMap -> b
    int tempRegister -> f
    java.util.Set moveSet -> a
    boolean $assertionsDisabled -> g
    com.android.tools.r8.ir.code.InstructionListIterator insertAt -> d
    int usedTempRegisters -> c
    com.android.tools.r8.ir.code.Position position -> e
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.code.InstructionListIterator,int,com.android.tools.r8.ir.code.Position):45:45 -> <init>
    2:19:void <init>(com.android.tools.r8.ir.code.InstructionListIterator,int,com.android.tools.r8.ir.code.Position):31:48 -> <init>
    20:20:void <init>(com.android.tools.r8.ir.code.InstructionListIterator,int):52:52 -> <init>
    1:5:void addMove(com.android.tools.r8.ir.regalloc.RegisterMove):56:60 -> a
    6:6:int getUsedTempRegisters():114:114 -> a
    1:1:void schedule():64:64 -> b
    2:5:boolean com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.everyDestinationOnlyWrittenOnce():203:206 -> b
    2:5:void schedule():64 -> b
    6:23:void schedule():67:84 -> b
    24:48:java.lang.Integer com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.createMove(com.android.tools.r8.ir.regalloc.RegisterMove):138:162 -> b
    24:48:void schedule():86 -> b
    49:63:void schedule():89:103 -> b
    64:73:com.android.tools.r8.ir.regalloc.RegisterMove com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.pickMoveToUnblock():189:198 -> b
    64:73:void schedule():106 -> b
    74:74:void com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.createMoveDestToTemp(com.android.tools.r8.ir.regalloc.RegisterMove):169:169 -> b
    74:74:void schedule():107 -> b
    75:87:java.util.List com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.findMovesWithSrc(int,com.android.tools.r8.ir.analysis.type.TypeElement):118:130 -> b
    75:87:void com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.createMoveDestToTemp(com.android.tools.r8.ir.regalloc.RegisterMove):169 -> b
    75:87:void schedule():107 -> b
    88:102:void com.android.tools.r8.ir.regalloc.RegisterMoveScheduler.createMoveDestToTemp(com.android.tools.r8.ir.regalloc.RegisterMove):170:184 -> b
    88:102:void schedule():107 -> b
    103:103:void schedule():108:108 -> b
com.android.tools.r8.ir.regalloc.RegisterPositions -> com.android.tools.r8.ir.regalloc.e:
    1:1:void <init>():12:12 -> <init>
    int get(int) -> a
    boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type) -> a
    boolean isBlocked(int) -> b
com.android.tools.r8.ir.regalloc.RegisterPositions$Type -> com.android.tools.r8.ir.regalloc.d:
    com.android.tools.r8.ir.regalloc.RegisterPositions$Type[] $VALUES -> f
    com.android.tools.r8.ir.regalloc.RegisterPositions$Type ANY -> e
    com.android.tools.r8.ir.regalloc.RegisterPositions$Type OTHER -> d
    com.android.tools.r8.ir.regalloc.RegisterPositions$Type CONST_NUMBER -> c
    com.android.tools.r8.ir.regalloc.RegisterPositions$Type MONITOR -> b
    1:4:void <clinit>():15:18 -> <clinit>
    5:5:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(java.lang.String,int):14:14 -> <init>
com.android.tools.r8.ir.regalloc.RegisterPositionsImpl -> com.android.tools.r8.ir.regalloc.f:
    java.util.BitSet blockedRegisters -> f
    int[] backing -> b
    boolean $assertionsDisabled -> g
    java.util.BitSet registerHoldsConstant -> c
    java.util.BitSet registerHoldsNewStringInstanceDisallowingSpilling -> e
    int limit -> a
    java.util.BitSet registerHoldsMonitor -> d
    1:1:void <clinit>():11:11 -> <clinit>
    1:10:void <init>(int):21:30 -> <init>
    1:1:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):35:35 -> a
    2:2:boolean isBlocked(int):102:102 -> a
    2:2:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):35 -> a
    3:16:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):35:48 -> a
    17:17:boolean holdsMonitor(int):57:57 -> a
    17:17:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):42 -> a
    18:18:boolean holdsConstant(int):53:53 -> a
    18:18:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):43 -> a
    19:19:boolean holdsNewStringInstanceDisallowingSpilling(int):61:61 -> a
    19:19:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):44 -> a
    20:20:boolean holdsConstant(int):53:53 -> a
    20:20:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):40 -> a
    21:21:boolean holdsMonitor(int):57:57 -> a
    21:21:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):38 -> a
    22:22:void set(int,int):65:65 -> a
    22:22:void set(int,int,com.android.tools.r8.ir.regalloc.LiveIntervals):73 -> a
    23:31:void grow(int):106:114 -> a
    23:31:void set(int,int):66 -> a
    23:31:void set(int,int,com.android.tools.r8.ir.regalloc.LiveIntervals):73 -> a
    32:32:void set(int,int):68:68 -> a
    32:32:void set(int,int,com.android.tools.r8.ir.regalloc.LiveIntervals):73 -> a
    33:36:void set(int,int,com.android.tools.r8.ir.regalloc.LiveIntervals):74:77 -> a
    37:37:void set(int,int,com.android.tools.r8.ir.regalloc.LiveIntervals):76:76 -> a
    38:38:int get(int):82:82 -> a
    39:39:boolean isBlocked(int):102:102 -> a
    39:39:int get(int):82 -> a
    40:44:int get(int):82:86 -> a
    45:45:int getLimit():92:92 -> a
    1:1:boolean isBlocked(int):102:102 -> b
    1:1:void setBlocked(int):97:97 -> c
com.android.tools.r8.ir.regalloc.RegisterPositionsWithExtraBlockedRegisters -> com.android.tools.r8.ir.regalloc.g:
    com.android.tools.r8.ir.regalloc.RegisterPositions positions -> a
    java.util.BitSet extraBlockedRegisters -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():9:9 -> <clinit>
    1:3:void <init>(com.android.tools.r8.ir.regalloc.RegisterPositions):14:16 -> <init>
    1:1:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):21:21 -> a
    2:2:boolean isBlockedTemporarily(int):56:56 -> a
    2:2:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):21 -> a
    3:4:boolean hasType(int,com.android.tools.r8.ir.regalloc.RegisterPositions$Type):21:22 -> a
    5:5:int get(int):32:32 -> a
    6:6:boolean isBlockedTemporarily(int):56:56 -> a
    6:6:int get(int):32 -> a
    7:8:int get(int):32:33 -> a
    1:1:boolean isBlocked(int):52:52 -> b
    2:2:boolean isBlockedTemporarily(int):56:56 -> b
    2:2:boolean isBlocked(int):52 -> b
    1:1:void setBlockedTemporarily(int):47:47 -> c
com.android.tools.r8.ir.regalloc.SpillMove -> com.android.tools.r8.ir.regalloc.h:
    com.android.tools.r8.ir.analysis.type.TypeElement type -> a
    com.android.tools.r8.ir.regalloc.LiveIntervals from -> b
    com.android.tools.r8.ir.regalloc.LiveIntervals to -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():14:14 -> <clinit>
    1:6:void <init>(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):19:24 -> <init>
    1:9:boolean equals(java.lang.Object):47:55 -> equals
    1:1:int hashCode():29:29 -> hashCode
    1:1:java.lang.String toString():60:60 -> toString
com.android.tools.r8.ir.regalloc.SpillMoveSet -> com.android.tools.r8.ir.regalloc.i:
    java.util.Map instructionToInMoves -> a
    java.util.Map instructionToOutMoves -> b
    java.util.Map instructionToPhiMoves -> c
    boolean $assertionsDisabled -> i
    com.android.tools.r8.ir.code.IRCode code -> d
    int usedTempRegisters -> h
    java.util.Map blockStartMap -> g
    com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator allocator -> e
    com.android.tools.r8.ir.analysis.type.TypeElement objectType -> f
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):45:45 -> <init>
    2:23:void <init>(com.android.tools.r8.ir.regalloc.LinearScanRegisterAllocator,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.AppView):29:50 -> <init>
    1:3:void addInMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):146:148 -> a
    4:4:void addInMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):147:147 -> a
    5:5:java.util.Set lambda$addInMove$1(java.lang.Integer):147:147 -> a
    6:19:int scheduleAndInsertMoves(int):167:180 -> a
    20:22:boolean needsMovesBeforeInstruction(int):213:215 -> a
    20:22:int scheduleAndInsertMoves(int):181 -> a
    23:23:int scheduleAndInsertMoves(int):182:182 -> a
    24:36:int scheduleAndInsertMoves(int):178:190 -> a
    37:39:boolean needsMovesBeforeInstruction(int):213:215 -> a
    37:39:int scheduleAndInsertMoves(int):191 -> a
    40:45:int scheduleAndInsertMoves(int):192:197 -> a
    46:53:com.android.tools.r8.ir.analysis.type.TypeElement moveTypeForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):201:208 -> a
    54:56:com.android.tools.r8.ir.analysis.type.TypeElement moveTypeForIntervals(com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):204:206 -> a
    57:60:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):284:287 -> a
    61:61:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> a
    61:61:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):287 -> a
    62:68:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):288:294 -> a
    69:69:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    69:69:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):294 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    70:70:com.android.tools.r8.ir.code.Position com.android.tools.r8.ir.code.BasicBlock.getPosition():1599:1599 -> a
    70:70:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):294 -> a
    71:72:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):299:300 -> a
    73:81:void removeArgumentRestores(java.util.Set):332:340 -> a
    73:81:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):301 -> a
    82:83:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):304:305 -> a
    84:92:void removeArgumentRestores(java.util.Set):332:340 -> a
    84:92:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):306 -> a
    93:94:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):309:310 -> a
    95:98:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):269:272 -> a
    95:98:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    99:100:com.android.tools.r8.ir.regalloc.SpillMove getMoveWithSource(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.Collection):219:220 -> a
    99:100:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):272 -> a
    99:100:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    101:105:com.android.tools.r8.ir.regalloc.SpillMove getMoveWritingSourceRegister(com.android.tools.r8.ir.regalloc.SpillMove,java.util.Collection):228:232 -> a
    101:105:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):273 -> a
    101:105:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    106:106:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):274:274 -> a
    106:106:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    107:108:com.android.tools.r8.ir.regalloc.SpillMove getMoveWithSource(com.android.tools.r8.ir.regalloc.LiveIntervals,java.util.Collection):219:220 -> a
    107:108:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):274 -> a
    107:108:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    109:110:void pruneParallelMoveSets(java.util.Set,java.util.Set,java.util.Set):276:277 -> a
    109:110:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):313 -> a
    111:115:void scheduleMovesBeforeInstruction(int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.InstructionListIterator):316:320 -> a
    116:145:void scheduleMoves(int,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):347:376 -> a
    146:150:void scheduleMoves(int,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):375:379 -> a
    151:157:void scheduleMoves(int,java.util.Set,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.Position):378:384 -> a
    1:2:void addInResolutionMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):122:123 -> b
    3:3:java.util.Set lambda$addOutMove$2(java.lang.Integer):153:153 -> b
    1:1:java.util.Set lambda$addPhiMove$0(java.lang.Integer):142:142 -> c
    2:4:void addOutMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):152:154 -> c
    5:5:void addOutMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):153:153 -> c
    1:2:void addOutResolutionMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):127:128 -> d
    3:3:java.util.Set lambda$scheduleMovesBeforeInstruction$3(java.lang.Integer):300:300 -> d
    1:2:void addPhiMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):139:140 -> e
    3:8:void com.android.tools.r8.ir.regalloc.SpillMove.updateMaxNonSpilled():33:38 -> e
    3:8:void addPhiMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):141 -> e
    9:9:void addPhiMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):142:142 -> e
    10:10:java.util.Set lambda$scheduleMovesBeforeInstruction$4(java.lang.Integer):305:305 -> e
    1:6:void addSpillOrRestoreMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):66:71 -> f
    7:7:boolean com.android.tools.r8.ir.code.Instruction.isMoveException():0:0 -> f
    7:7:void addSpillOrRestoreMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):72 -> f
    8:43:void addSpillOrRestoreMove(int,com.android.tools.r8.ir.regalloc.LiveIntervals,com.android.tools.r8.ir.regalloc.LiveIntervals):73:108 -> f
    44:44:java.util.Set lambda$scheduleMovesBeforeInstruction$5(java.lang.Integer):310:310 -> f
com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode -> com.android.tools.r8.internal.r1:
    1:1:void <init>():26:26 -> <init>
    com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider() -> B0
    java.util.function.Consumer getRegistryCallback(com.android.tools.r8.graph.DexClassAndMethod) -> a
    1:2:com.android.tools.r8.ir.code.IRCode buildIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.origin.Origin):43:44 -> a
    3:3:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):61:61 -> a
    4:12:com.android.tools.r8.ir.code.IRCode buildInliningIR(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.ir.code.NumberGenerator,com.android.tools.r8.ir.code.Position,com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):57:65 -> a
    13:13:void com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode.internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):84:84 -> a
    13:13:void registerCodeReferences(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.UseRegistry):75 -> a
    14:14:void com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode.internalRegisterCodeReferences(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.UseRegistry):84:84 -> a
    14:14:void registerCodeReferencesForDesugaring(com.android.tools.r8.graph.ClasspathMethod,com.android.tools.r8.graph.UseRegistry):80 -> a
    15:15:java.lang.String toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):99:99 -> a
    1:1:boolean computeEquals(java.lang.Object):94:94 -> h
    1:1:int computeHashCode():89:89 -> n0
    int estimatedDexCodeSizeUpperBoundInBytes() -> r0
    1:1:java.lang.String com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode.toString(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.ClassNameMapper):99:99 -> toString
    1:1:java.lang.String toString():70 -> toString
com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider -> com.android.tools.r8.internal.q1:
    com.android.tools.r8.ir.conversion.SourceCode get(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position) -> a
com.android.tools.r8.ir.synthetic.CallObjectInitCfCodeProvider -> com.android.tools.r8.internal.s6:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):23:23 -> <init>
    1:6:com.android.tools.r8.graph.CfCode generateCfCode():28:33 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider -> com.android.tools.r8.internal.Lf:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):63:63 -> <init>
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APICallbackWrapperCfCodeProvider -> com.android.tools.r8.internal.Cf:
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer eventConsumer -> f
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,boolean,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizerEventConsumer$DesugaredLibraryClasspathWrapperSynthesizeEventConsumer):236:237 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):247:247 -> a
    1:1:void generatePushReceiver(java.util.List):242:242 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConversionCfCodeProvider -> com.android.tools.r8.internal.Df:
    com.android.tools.r8.cf.code.CfInvoke initialInvoke -> c
    com.android.tools.r8.graph.DexMethod[] parameterConversions -> e
    com.android.tools.r8.graph.DexMethod returnConversion -> d
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.cf.code.CfInvoke,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod[]):352:355 -> <init>
    1:29:com.android.tools.r8.graph.CfCode generateCfCode():360:388 -> b
    30:43:com.android.tools.r8.graph.CfCode generateCfCode():387:400 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterConstructorCfCodeProvider -> com.android.tools.r8.internal.Ef:
    com.android.tools.r8.graph.DexField wrapperField -> c
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):562:563 -> <init>
    1:9:com.android.tools.r8.graph.CfCode generateCfCode():568:576 -> b
    10:10:com.android.tools.r8.graph.CfCode generateCfCode():574:574 -> b
    11:21:com.android.tools.r8.graph.CfCode generateCfCode():571:581 -> b
    22:22:void com.android.tools.r8.cf.code.CfInstanceFieldWrite.<init>(com.android.tools.r8.graph.DexField):16:16 -> b
    22:22:com.android.tools.r8.graph.CfCode generateCfCode():581 -> b
    23:25:com.android.tools.r8.graph.CfCode generateCfCode():581:583 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterVivifiedWrapperCfCodeProvider -> com.android.tools.r8.internal.Ff:
    boolean itfCall -> f
    com.android.tools.r8.graph.DexField wrapperField -> c
    com.android.tools.r8.graph.DexMethod forwardMethod -> d
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer wrapperSynthesizer -> e
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,boolean):84:88 -> <init>
    1:7:com.android.tools.r8.graph.CfCode generateCfCode():93:99 -> b
    8:8:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> b
    8:8:com.android.tools.r8.graph.CfCode generateCfCode():99 -> b
    9:15:com.android.tools.r8.graph.CfCode generateCfCode():99:105 -> b
    16:16:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):112:112 -> b
    16:16:com.android.tools.r8.graph.CfCode generateCfCode():105 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:17:com.android.tools.r8.graph.CfCode generateCfCode():106:106 -> b
    18:18:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    18:18:com.android.tools.r8.graph.CfCode generateCfCode():110 -> b
    19:19:com.android.tools.r8.graph.CfCode generateCfCode():109:109 -> b
    20:20:com.android.tools.r8.graph.CfCode generateCfCode():106:106 -> b
    21:21:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    21:21:com.android.tools.r8.graph.CfCode generateCfCode():112 -> b
    22:33:com.android.tools.r8.graph.CfCode generateCfCode():112:123 -> b
    34:34:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    34:34:com.android.tools.r8.graph.CfCode generateCfCode():124 -> b
    35:45:com.android.tools.r8.graph.CfCode generateCfCode():127:137 -> b
    46:46:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):112:112 -> b
    46:46:com.android.tools.r8.graph.CfCode generateCfCode():137 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    47:47:com.android.tools.r8.graph.CfCode generateCfCode():138:138 -> b
    48:48:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    48:48:com.android.tools.r8.graph.CfCode generateCfCode():142 -> b
    49:49:com.android.tools.r8.graph.CfCode generateCfCode():141:141 -> b
    50:62:com.android.tools.r8.graph.CfCode generateCfCode():138:150 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterWrapperCfCodeProvider -> com.android.tools.r8.internal.Gf:
    com.android.tools.r8.graph.DexField wrapperField -> f
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,boolean):262:263 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):274:274 -> a
    1:2:void generatePushReceiver(java.util.List):268:269 -> b
    3:3:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> b
    3:3:void generatePushReceiver(java.util.List):269 -> b
    4:4:void generatePushReceiver(java.util.List):269:269 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$APIConverterWrapperConversionCfCodeProvider -> com.android.tools.r8.internal.Hf:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexField wrapperField -> d
    com.android.tools.r8.graph.DexField reverseWrapperField -> c
    1:1:void <clinit>():278:278 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):285:287 -> <init>
    1:4:com.android.tools.r8.graph.CfCode generateCfCode():292:295 -> b
    5:5:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    5:5:com.android.tools.r8.graph.CfCode generateCfCode():297 -> b
    6:25:com.android.tools.r8.graph.CfCode generateCfCode():298:317 -> b
    26:26:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> b
    26:26:com.android.tools.r8.graph.CfCode generateCfCode():317 -> b
    27:28:com.android.tools.r8.graph.CfCode generateCfCode():317:318 -> b
    29:29:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> b
    29:29:com.android.tools.r8.graph.CfCode generateCfCode():318 -> b
    30:44:com.android.tools.r8.graph.CfCode generateCfCode():318:332 -> b
    45:45:com.android.tools.r8.graph.CfCode generateCfCode():330:330 -> b
    46:55:com.android.tools.r8.graph.CfCode generateCfCode():327:336 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$AbstractAPIConverterWrapperCfCodeProvider -> com.android.tools.r8.internal.If:
    com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer wrapperSynthesizor -> d
    boolean itfCall -> e
    com.android.tools.r8.graph.DexMethod forwardMethod -> c
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer,boolean):167:170 -> <init>
    com.android.tools.r8.graph.DexMethod ensureConversionMethod(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    void generatePushReceiver(java.util.List) -> b
    1:10:com.android.tools.r8.graph.CfCode generateCfCode():179:188 -> b
    11:11:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):112:112 -> b
    11:11:com.android.tools.r8.graph.CfCode generateCfCode():188 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:com.android.tools.r8.graph.CfCode generateCfCode():189:189 -> b
    13:13:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    13:13:com.android.tools.r8.graph.CfCode generateCfCode():192 -> b
    14:14:com.android.tools.r8.graph.CfCode generateCfCode():192:192 -> b
    15:34:com.android.tools.r8.graph.CfCode generateCfCode():189:208 -> b
    35:35:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryWrapperSynthesizer.shouldConvert(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):112:112 -> b
    35:35:com.android.tools.r8.graph.CfCode generateCfCode():208 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:com.android.tools.r8.graph.CfCode generateCfCode():209:209 -> b
    37:37:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    37:37:com.android.tools.r8.graph.CfCode generateCfCode():212 -> b
    38:38:com.android.tools.r8.graph.CfCode generateCfCode():212:212 -> b
    39:39:com.android.tools.r8.graph.CfCode generateCfCode():209:209 -> b
    40:40:com.android.tools.r8.graph.DexType com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider.vivifiedTypeFor(com.android.tools.r8.graph.DexType):67:67 -> b
    40:40:com.android.tools.r8.graph.CfCode generateCfCode():214 -> b
    41:46:com.android.tools.r8.graph.CfCode generateCfCode():216:221 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$EnumArrayConversionCfCodeProvider -> com.android.tools.r8.internal.Jf:
    com.android.tools.r8.graph.DexType convertedType -> d
    com.android.tools.r8.graph.DexType enumType -> c
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):411:413 -> <init>
    1:14:com.android.tools.r8.graph.CfCode generateCfCode():418:431 -> b
    15:15:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    15:15:com.android.tools.r8.graph.CfCode generateCfCode():433 -> b
    16:18:com.android.tools.r8.graph.CfCode generateCfCode():434:436 -> b
    19:19:com.android.tools.r8.graph.CfCode generateCfCode():431:431 -> b
    20:20:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    20:20:com.android.tools.r8.graph.CfCode generateCfCode():439 -> b
    21:57:com.android.tools.r8.graph.CfCode generateCfCode():440:476 -> b
    58:58:com.android.tools.r8.graph.CfCode generateCfCode():474:474 -> b
    59:79:com.android.tools.r8.graph.CfCode generateCfCode():471:491 -> b
com.android.tools.r8.ir.synthetic.DesugaredLibraryAPIConversionCfCodeProvider$EnumConversionCfCodeProvider -> com.android.tools.r8.internal.Kf:
    com.android.tools.r8.graph.DexType enumType -> d
    java.lang.Iterable enumFields -> c
    com.android.tools.r8.graph.DexType convertedType -> e
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,java.lang.Iterable,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):507:510 -> <init>
    1:2:com.android.tools.r8.graph.CfCode generateCfCode():515:516 -> b
    3:3:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    3:3:com.android.tools.r8.graph.CfCode generateCfCode():519 -> b
    4:26:com.android.tools.r8.graph.CfCode generateCfCode():519:541 -> b
    27:33:com.android.tools.r8.graph.CfCode generateCfCode():540:546 -> b
    34:43:com.android.tools.r8.graph.CfCode generateCfCode():544:553 -> b
com.android.tools.r8.ir.synthetic.EmulateDispatchSyntheticCfCodeProvider -> com.android.tools.r8.internal.gi:
    java.util.LinkedHashMap extraDispatchCases -> e
    com.android.tools.r8.graph.DexMethod interfaceMethod -> d
    com.android.tools.r8.graph.DexMethod forwardingMethod -> c
    1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,java.util.LinkedHashMap,com.android.tools.r8.graph.AppView):44:47 -> <init>
    1:5:com.android.tools.r8.graph.CfCode generateCfCode():52:56 -> b
    6:6:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    6:6:com.android.tools.r8.graph.CfCode generateCfCode():61 -> b
    7:20:com.android.tools.r8.graph.CfCode generateCfCode():62:75 -> b
    21:21:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> b
    21:21:com.android.tools.r8.graph.CfCode generateCfCode():75 -> b
    22:38:com.android.tools.r8.graph.CfCode generateCfCode():75:91 -> b
    39:39:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> b
    39:39:com.android.tools.r8.graph.CfCode generateCfCode():91 -> b
    40:53:com.android.tools.r8.graph.CfCode generateCfCode():91:104 -> b
    54:57:void addReturn(java.util.List):115:118 -> b
    1:2:void loadExtraParameters(java.util.List):109:110 -> c
com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider -> com.android.tools.r8.internal.Pi:
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():43:43 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):46:46 -> <init>
    1:3:void addCfInstructionsForAbstractValue(java.util.List,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexType):53:55 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isSingleNumberValue():0:0 -> a
    4:4:void addCfInstructionsForAbstractValue(java.util.List,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexType):56 -> a
    5:8:void addCfInstructionsForAbstractValue(java.util.List,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexType):57:57 -> a
    12:12:void addCfInstructionsForAbstractValue(java.util.List,com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.graph.DexType):61:61 -> a
com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider$EnumUnboxingInstanceFieldCfCodeProvider -> com.android.tools.r8.internal.Ni:
    com.android.tools.r8.ir.analysis.value.AbstractValue nullValue -> f
    com.android.tools.r8.graph.DexType returnType -> d
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData fieldDataMap -> e
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.enums.EnumDataMap$EnumData,com.android.tools.r8.graph.DexField,com.android.tools.r8.ir.analysis.value.AbstractValue):82:85 -> <init>
    1:8:void lambda$generateCfCode$0(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap,java.lang.Integer,com.android.tools.r8.ir.analysis.value.AbstractValue):109:116 -> a
    1:2:com.android.tools.r8.graph.CfCode generateCfCode():97:98 -> b
    3:3:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    3:3:com.android.tools.r8.graph.CfCode generateCfCode():101 -> b
    4:32:com.android.tools.r8.graph.CfCode generateCfCode():101:129 -> b
com.android.tools.r8.ir.synthetic.EnumUnboxingCfCodeProvider$EnumUnboxingValueOfCfCodeProvider -> com.android.tools.r8.internal.Oi:
    com.android.tools.r8.graph.DexType enumType -> d
    com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData fieldDataMap -> e
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.optimize.enums.EnumInstanceFieldData$EnumInstanceFieldMappingData):143:145 -> <init>
    1:10:void lambda$generateCfCode$0(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap,java.lang.Integer,com.android.tools.r8.ir.analysis.value.AbstractValue):182:191 -> a
    1:2:com.android.tools.r8.graph.CfCode generateCfCode():157:158 -> b
    3:3:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    3:3:com.android.tools.r8.graph.CfCode generateCfCode():161 -> b
    4:43:com.android.tools.r8.graph.CfCode generateCfCode():161:200 -> b
    44:44:com.android.tools.r8.graph.CfCode generateCfCode():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":263,"2":264,"3":265}}
    263:263:com.android.tools.r8.graph.CfCode generateCfCode():200:200 -> b
    264:264:com.android.tools.r8.graph.CfCode generateCfCode():200:200 -> b
    265:265:com.android.tools.r8.graph.CfCode generateCfCode():200:200 -> b
    244:246:com.android.tools.r8.graph.CfCode generateCfCode():200:202 -> b
    247:247:com.android.tools.r8.graph.CfCode generateCfCode():201:201 -> b
    248:262:com.android.tools.r8.graph.CfCode generateCfCode():197:211 -> b
com.android.tools.r8.ir.synthetic.FieldAccessorBuilder -> com.android.tools.r8.internal.Hj:
    com.android.tools.r8.utils.OptionalBool isSetter -> c
    com.android.tools.r8.utils.OptionalBool isInstanceField -> b
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexField field -> a
    com.android.tools.r8.graph.DexMethod sourceMethod -> d
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>():32:32 -> <init>
    2:3:void <init>():28:29 -> <init>
    1:1:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.apply(java.util.function.Consumer):39:39 -> a
    1:1:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder applyIf(boolean,java.util.function.Consumer,java.util.function.Consumer):47 -> a
    2:3:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setField(com.android.tools.r8.graph.DexClassAndField):51:52 -> a
    4:5:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.setStaticField(com.android.tools.r8.graph.DexField):78:79 -> a
    4:5:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setField(com.android.tools.r8.graph.DexClassAndField):52 -> a
    6:6:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setField(com.android.tools.r8.graph.DexClassAndField):53:53 -> a
    7:8:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.setInstanceField(com.android.tools.r8.graph.DexField):62:63 -> a
    7:8:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setField(com.android.tools.r8.graph.DexClassAndField):53 -> a
    9:9:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setSourceMethod(com.android.tools.r8.graph.DexMethod):73:73 -> a
    10:10:com.android.tools.r8.graph.CfCode build():84:84 -> a
    11:14:boolean com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.validate():137:140 -> a
    11:14:com.android.tools.r8.graph.CfCode build():84 -> a
    15:15:com.android.tools.r8.graph.CfCode build():87:87 -> a
    16:16:boolean com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.isInstanceField():133:133 -> a
    16:16:com.android.tools.r8.graph.CfCode build():88 -> a
    17:17:com.android.tools.r8.graph.CfCode build():90:90 -> a
    18:18:boolean com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.isSetter():129:129 -> a
    18:18:com.android.tools.r8.graph.CfCode build():95 -> a
    19:22:com.android.tools.r8.graph.CfCode build():97:100 -> a
    23:23:boolean com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.isSetter():129:129 -> a
    23:23:com.android.tools.r8.graph.CfCode build():105 -> a
    24:25:com.android.tools.r8.graph.CfCode build():105:106 -> a
    26:26:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    26:26:com.android.tools.r8.graph.CfCode build():106 -> a
    27:27:com.android.tools.r8.graph.CfCode build():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54,"4":55,"5":56}}
    52:52:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    52:52:com.android.tools.r8.graph.CfCode build():106 -> a
    53:53:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    53:53:com.android.tools.r8.graph.CfCode build():106 -> a
    54:54:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    54:54:com.android.tools.r8.graph.CfCode build():106 -> a
    55:55:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    55:55:com.android.tools.r8.graph.CfCode build():106 -> a
    56:56:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    56:56:com.android.tools.r8.graph.CfCode build():106 -> a
    28:28:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):65:65 -> a
    28:28:com.android.tools.r8.graph.CfCode build():106 -> a
    29:29:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):63:63 -> a
    29:29:com.android.tools.r8.graph.CfCode build():106 -> a
    30:30:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):61:61 -> a
    30:30:com.android.tools.r8.graph.CfCode build():106 -> a
    31:31:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):59:59 -> a
    31:31:com.android.tools.r8.graph.CfCode build():106 -> a
    32:32:com.android.tools.r8.cf.code.CfFieldInstruction com.android.tools.r8.cf.code.CfFieldInstruction.create(int,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):57:57 -> a
    32:32:com.android.tools.r8.graph.CfCode build():106 -> a
    33:33:com.android.tools.r8.graph.CfCode build():106:106 -> a
    34:34:boolean com.android.tools.r8.ir.synthetic.FieldAccessorBuilder.isSetter():129:129 -> a
    34:34:com.android.tools.r8.graph.CfCode build():109 -> a
    35:48:com.android.tools.r8.graph.CfCode build():110:123 -> a
    49:49:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    49:49:com.android.tools.r8.graph.CfCode build():123 -> a
    50:50:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a
    50:50:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    50:50:com.android.tools.r8.graph.CfCode build():123 -> a
    51:51:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a
    51:51:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    51:51:com.android.tools.r8.graph.CfCode build():123 -> a
    1:1:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder builder():35:35 -> b
    1:1:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setGetter():57:57 -> c
    1:1:com.android.tools.r8.ir.synthetic.FieldAccessorBuilder setSetter():68:68 -> d
com.android.tools.r8.ir.synthetic.ForwardMethodBuilder -> com.android.tools.r8.internal.Zk:
    java.lang.Boolean isInterface -> g
    boolean isConstructorDelegate -> i
    boolean $assertionsDisabled -> k
    boolean staticSource -> e
    boolean castResult -> h
    com.android.tools.r8.graph.DexMethod targetMethod -> c
    com.android.tools.r8.ir.synthetic.ForwardMethodBuilder$InvokeType invokeType -> f
    com.android.tools.r8.graph.DexMethod sourceMethod -> b
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfoForCastArguments -> j
    com.android.tools.r8.graph.DexItemFactory factory -> a
    boolean sourceMethodHasExtraUnusedParameter -> d
    1:1:void <clinit>():31:31 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory):58:58 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.DexItemFactory):46:59 -> <init>
    1:1:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder builder(com.android.tools.r8.graph.DexItemFactory):34:34 -> a
    2:4:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder applyIf(boolean,java.util.function.Consumer,java.util.function.Consumer):77:79 -> a
    5:6:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setNonStaticSource(com.android.tools.r8.graph.DexMethod):85:86 -> a
    7:9:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setDirectTarget(com.android.tools.r8.graph.DexMethod,boolean):129:131 -> a
    10:10:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setCastArguments(com.android.tools.r8.graph.AppInfoWithClassHierarchy):141:141 -> a
    11:15:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setConstructorTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):146:150 -> a
    16:16:com.android.tools.r8.graph.CfCode build():155:155 -> a
    17:20:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():287:290 -> a
    17:20:com.android.tools.r8.graph.CfCode build():155 -> a
    21:21:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.sourceArguments():275:275 -> a
    21:21:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291 -> a
    21:21:com.android.tools.r8.graph.CfCode build():155 -> a
    22:22:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticSource():267:267 -> a
    22:22:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.sourceArguments():276 -> a
    22:22:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291 -> a
    22:22:com.android.tools.r8.graph.CfCode build():155 -> a
    23:24:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.sourceArguments():276:277 -> a
    23:24:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291 -> a
    23:24:com.android.tools.r8.graph.CfCode build():155 -> a
    25:25:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.targetArguments():282:282 -> a
    25:25:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291 -> a
    25:25:com.android.tools.r8.graph.CfCode build():155 -> a
    26:26:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticTarget():271:271 -> a
    26:26:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.targetArguments():283 -> a
    26:26:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291 -> a
    26:26:com.android.tools.r8.graph.CfCode build():155 -> a
    27:27:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.targetArguments():283:283 -> a
    27:27:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291 -> a
    27:27:com.android.tools.r8.graph.CfCode build():155 -> a
    28:29:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():291:292 -> a
    28:29:com.android.tools.r8.graph.CfCode build():155 -> a
    30:30:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticSource():267:267 -> a
    30:30:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():293 -> a
    30:30:com.android.tools.r8.graph.CfCode build():155 -> a
    31:39:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():293:301 -> a
    31:39:com.android.tools.r8.graph.CfCode build():155 -> a
    40:43:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.validate():300:303 -> a
    40:43:com.android.tools.r8.graph.CfCode build():155 -> a
    44:45:com.android.tools.r8.graph.CfCode build():158:159 -> a
    46:46:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticSource():267:267 -> a
    46:46:com.android.tools.r8.graph.CfCode build():162 -> a
    47:50:com.android.tools.r8.graph.CfCode build():162:165 -> a
    51:51:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticSource():267:267 -> a
    51:51:com.android.tools.r8.graph.CfCode build():167 -> a
    52:53:com.android.tools.r8.graph.CfCode build():169:170 -> a
    54:54:com.android.tools.r8.graph.DexType[] com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getSourceParameters():254:254 -> a
    54:54:com.android.tools.r8.graph.CfCode build():174 -> a
    55:67:com.android.tools.r8.graph.CfCode build():175:187 -> a
    68:78:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getInvokeOpcode():240:250 -> a
    68:78:com.android.tools.r8.graph.CfCode build():187 -> a
    79:79:com.android.tools.r8.graph.CfCode build():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":118,"2":119,"3":120}}
    118:118:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getInvokeOpcode():250:250 -> a
    118:118:com.android.tools.r8.graph.CfCode build():187 -> a
    119:119:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getInvokeOpcode():250:250 -> a
    119:119:com.android.tools.r8.graph.CfCode build():187 -> a
    120:120:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getInvokeOpcode():250:250 -> a
    120:120:com.android.tools.r8.graph.CfCode build():187 -> a
    80:80:int com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getInvokeOpcode():250:250 -> a
    80:80:com.android.tools.r8.graph.CfCode build():187 -> a
    81:87:com.android.tools.r8.graph.CfCode build():187:193 -> a
    88:88:com.android.tools.r8.graph.CfCode build():192:192 -> a
    89:89:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isSourceReturnVoid():258:258 -> a
    89:89:com.android.tools.r8.graph.CfCode build():195 -> a
    90:96:com.android.tools.r8.graph.CfCode build():196:202 -> a
    97:97:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    97:97:com.android.tools.r8.graph.CfCode build():202 -> a
    98:101:com.android.tools.r8.graph.CfCode build():202:205 -> a
    102:102:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getSourceReturnType():262:262 -> a
    102:102:com.android.tools.r8.graph.CfCode build():205 -> a
    103:103:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isSourceReturnVoid():258:258 -> a
    103:103:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getSourceReturnType():262 -> a
    103:103:com.android.tools.r8.graph.CfCode build():205 -> a
    104:105:com.android.tools.r8.ir.code.ValueType com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.getSourceReturnType():262:263 -> a
    104:105:com.android.tools.r8.graph.CfCode build():205 -> a
    106:114:com.android.tools.r8.graph.CfCode build():205:213 -> a
    115:115:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    115:115:com.android.tools.r8.graph.CfCode build():213 -> a
    116:116:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a
    116:116:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    116:116:com.android.tools.r8.graph.CfCode build():213 -> a
    117:117:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a
    117:117:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    117:117:com.android.tools.r8.graph.CfCode build():213 -> a
    121:121:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):220:220 -> a
    122:122:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticSource():267:267 -> a
    122:122:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):224 -> a
    123:123:boolean com.android.tools.r8.ir.synthetic.ForwardMethodBuilder.isStaticTarget():271:271 -> a
    123:123:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):224 -> a
    124:129:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):230:235 -> a
    130:130:void com.android.tools.r8.cf.code.CfCheckCast.<init>(com.android.tools.r8.graph.DexType):37:37 -> a
    130:130:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):235 -> a
    131:131:void maybeInsertArgumentCast(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):235:235 -> a
    1:3:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setNonStaticSourceWithExtraUnusedParameter(com.android.tools.r8.graph.DexMethod):91:93 -> b
    4:6:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setStaticTarget(com.android.tools.r8.graph.DexMethod,boolean):104:106 -> b
    7:7:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setCastResult():136:136 -> b
    1:2:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setStaticSource(com.android.tools.r8.graph.DexMethod):98:99 -> c
    3:5:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setSuperTarget(com.android.tools.r8.graph.DexMethod,boolean):111:113 -> c
    1:3:com.android.tools.r8.ir.synthetic.ForwardMethodBuilder setVirtualTarget(com.android.tools.r8.graph.DexMethod,boolean):118:120 -> d
com.android.tools.r8.ir.synthetic.ForwardMethodBuilder$InvokeType$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.Yk:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode -> com.android.tools.r8.internal.bl:
    com.android.tools.r8.graph.DexType targetReceiver -> l
    com.android.tools.r8.graph.DexMethod target -> m
    boolean castResult -> o
    boolean isInterface -> p
    com.android.tools.r8.ir.code.Invoke$Type invokeType -> n
    boolean extraNullParameter -> q
    boolean $assertionsDisabled -> r
    int $r8$clinit -> s
    1:1:void <clinit>():22:22 -> <clinit>
    1:20:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.ir.code.Position,boolean,boolean,boolean):123:142 -> <init>
    1:1:void lambda$prepareInstructions$0(java.util.List,java.util.List,com.android.tools.r8.ir.conversion.IRBuilder):197:197 -> a
    1:1:void lambda$prepareInstructions$1(int,com.android.tools.r8.ir.conversion.IRBuilder):211:211 -> b
    1:1:void lambda$prepareInstructions$2(int,com.android.tools.r8.ir.conversion.IRBuilder):213:213 -> c
    1:1:void lambda$prepareInstructions$3(int,com.android.tools.r8.ir.conversion.IRBuilder):215:215 -> d
    1:16:void prepareInstructions():180:195 -> i
    17:17:void com.android.tools.r8.ir.synthetic.SyntheticSourceCode.add(java.util.function.Consumer):77:77 -> i
    17:17:void prepareInstructions():195 -> i
    18:19:void prepareInstructions():206:207 -> i
    20:20:void com.android.tools.r8.ir.synthetic.SyntheticSourceCode.add(java.util.function.Consumer):77:77 -> i
    20:20:void prepareInstructions():207 -> i
    21:23:void prepareInstructions():209:211 -> i
    24:24:void com.android.tools.r8.ir.synthetic.SyntheticSourceCode.add(java.util.function.Consumer):77:77 -> i
    24:24:void prepareInstructions():211 -> i
    25:26:void prepareInstructions():212:213 -> i
    27:27:void com.android.tools.r8.ir.synthetic.SyntheticSourceCode.add(java.util.function.Consumer):77:77 -> i
    27:27:void prepareInstructions():213 -> i
    28:28:void prepareInstructions():215:215 -> i
    29:29:void com.android.tools.r8.ir.synthetic.SyntheticSourceCode.add(java.util.function.Consumer):77:77 -> i
    29:29:void prepareInstructions():215 -> i
    1:27:boolean checkSignatures():147:173 -> j
com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder -> com.android.tools.r8.internal.al:
    com.android.tools.r8.ir.code.Invoke$Type invokeType -> f
    com.android.tools.r8.graph.DexType targetReceiver -> d
    com.android.tools.r8.graph.DexMethod target -> e
    boolean isInterface -> g
    com.android.tools.r8.graph.DexType receiver -> a
    com.android.tools.r8.graph.DexMethod originalMethod -> c
    com.android.tools.r8.graph.DexMethod method -> b
    1:3:void <init>(com.android.tools.r8.graph.DexMethod):40:42 -> <init>
    1:1:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setReceiver(com.android.tools.r8.graph.DexType):46:46 -> a
    2:2:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setOriginalMethod(com.android.tools.r8.graph.DexMethod):56:56 -> a
    3:3:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setInvokeType(com.android.tools.r8.ir.code.Invoke$Type):71:71 -> a
    4:4:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setIsInterface(boolean):81:81 -> a
    5:5:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode build(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Position):91:91 -> a
    1:1:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setTargetReceiver(com.android.tools.r8.graph.DexType):61:61 -> b
    2:2:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder setTarget(com.android.tools.r8.graph.DexMethod):66:66 -> b
com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordEqualsCfCodeProvider -> com.android.tools.r8.internal.bQ:
    com.android.tools.r8.graph.DexMethod getFieldsAsObjects -> c
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):146:147 -> <init>
    1:1:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.builder():38:38 -> b
    1:1:com.android.tools.r8.graph.CfCode generateCfCode():165 -> b
    2:28:com.android.tools.r8.graph.CfCode generateCfCode():166:192 -> b
com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordGetFieldsAsObjectsCfCodeProvider -> com.android.tools.r8.internal.cQ:
    com.android.tools.r8.graph.DexField[] fields -> c
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField[]):69:70 -> <init>
    1:2:void registerSynthesizedCodeReferences(com.android.tools.r8.graph.DexItemFactory):57:58 -> a
    3:4:void lambda$registerSynthesizedCodeReferences$0(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):60:61 -> a
    5:7:void loadFieldAsObject(java.util.List,com.android.tools.r8.graph.DexField):119:121 -> a
    8:8:void com.android.tools.r8.cf.code.CfInstanceFieldRead.<init>(com.android.tools.r8.graph.DexField):17:17 -> a
    8:8:void loadFieldAsObject(java.util.List,com.android.tools.r8.graph.DexField):121 -> a
    9:11:void loadFieldAsObject(java.util.List,com.android.tools.r8.graph.DexField):121:123 -> a
    12:18:void lambda$loadFieldAsObject$1(com.android.tools.r8.graph.DexField,java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):125:131 -> a
    19:19:void lambda$loadFieldAsObject$1(com.android.tools.r8.graph.DexField,java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):129:129 -> a
    20:20:void lambda$loadFieldAsObject$1(com.android.tools.r8.graph.DexField,java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):126:126 -> a
    1:1:com.android.tools.r8.graph.CfCode generateCfCode():80:80 -> b
    2:3:com.android.tools.r8.graph.CfCode generateCfCode():79:80 -> b
    4:12:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordGetFieldsAsObjectsCfCodeProvider.generateCfCodeWithRecordModeling():107:115 -> b
    4:12:com.android.tools.r8.graph.CfCode generateCfCode():81 -> b
    13:30:com.android.tools.r8.graph.CfCode com.android.tools.r8.ir.synthetic.RecordCfCodeProvider$RecordGetFieldsAsObjectsCfCodeProvider.generateCfCodeWithArray():86:103 -> b
    13:30:com.android.tools.r8.graph.CfCode generateCfCode():82 -> b
com.android.tools.r8.ir.synthetic.SynthesizedCode -> com.android.tools.r8.internal.PX:
    com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider sourceCodeProvider -> d
    1:2:void <init>(com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider):15:16 -> <init>
    1:1:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():21:21 -> B0
    java.util.function.Consumer getRegistryCallback(com.android.tools.r8.graph.DexClassAndMethod) -> a
com.android.tools.r8.ir.synthetic.SyntheticCfCodeProvider -> com.android.tools.r8.internal.SX:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexType holder -> b
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):18:20 -> <init>
    1:1:com.android.tools.r8.graph.DexType getHolder():24:24 -> a
    2:2:com.android.tools.r8.graph.CfCode standardCfCodeFromInstructions(java.util.List):30:30 -> a
com.android.tools.r8.ir.synthetic.SyntheticSourceCode -> com.android.tools.r8.internal.dY:
    com.android.tools.r8.ir.code.Position position -> h
    java.util.function.Predicate endsBlock -> j
    java.util.List constructors -> f
    boolean $assertionsDisabled -> k
    int[] paramRegisters -> e
    int receiverRegister -> d
    com.android.tools.r8.graph.DexType receiver -> a
    com.android.tools.r8.graph.DexProto proto -> b
    java.util.List traceEvents -> g
    int nextRegister -> c
    java.util.function.Predicate doesNotEndBlock -> i
    1:3:void <clinit>():24:26 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexMethod):52:52 -> <init>
    2:40:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Position,com.android.tools.r8.graph.DexMethod):35:73 -> <init>
    void buildBlockTransfer(com.android.tools.r8.ir.conversion.IRBuilder,int,int,boolean) -> a
    void buildPostlude(com.android.tools.r8.ir.conversion.IRBuilder) -> a
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocalAtBlock(int,int) -> a
    boolean verifyLocalInScope(com.android.tools.r8.graph.DebugLocalInfo) -> a
    1:1:void add(java.util.function.Consumer):77:77 -> a
    2:3:void add(java.util.function.Consumer,java.util.function.Predicate):81:82 -> a
    4:5:int nextRegister(com.android.tools.r8.ir.code.ValueType):86:87 -> a
    6:7:int traceInstruction(int,com.android.tools.r8.ir.conversion.IRBuilder):145:146 -> a
    8:8:void buildInstruction(com.android.tools.r8.ir.conversion.IRBuilder,int,boolean):177:177 -> a
    9:9:void resolveAndBuildSwitch(int,int,int,com.android.tools.r8.ir.conversion.IRBuilder):189:189 -> a
    10:10:void resolveAndBuildNewArrayFilledData(int,int,com.android.tools.r8.ir.conversion.IRBuilder):195:195 -> a
    11:11:com.android.tools.r8.ir.code.Position getCanonicalDebugPositionAtOffset(int):210:210 -> a
    boolean verifyCurrentInstructionCanThrow() -> b
    boolean verifyRegister(int) -> b
    1:1:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):166:166 -> b
    2:2:void buildPrelude(com.android.tools.r8.ir.conversion.IRBuilder):165:165 -> b
    com.android.tools.r8.ir.code.CatchHandlers getCurrentCatchHandlers(com.android.tools.r8.ir.conversion.IRBuilder) -> c
    int instructionIndex(int) -> c
    1:3:void setUp():151:153 -> c
    1:3:void clear():158:160 -> clear
    com.android.tools.r8.graph.DebugLocalInfo getOutgoingLocal(int) -> d
    boolean lambda$static$0(com.android.tools.r8.ir.conversion.IRBuilder) -> d
    1:1:int instructionCount():107:107 -> d
    com.android.tools.r8.graph.DebugLocalInfo getIncomingLocal(int) -> e
    boolean lambda$static$1(com.android.tools.r8.ir.conversion.IRBuilder) -> e
    1:1:com.android.tools.r8.ir.code.Position getCurrentPosition():215:215 -> e
    1:3:int getReceiverRegister():92:94 -> f
    4:4:int getMoveExceptionRegister(int):205:205 -> f
    int instructionOffset(int) -> g
    1:1:int lastInstructionIndex():111:111 -> g
    1:3:int getParamRegister(int):98:100 -> h
    4:4:int nextInstructionIndex():115:115 -> h
    void prepareInstructions() -> i
com.android.tools.r8.it.unimi.dsi.fastutil.Arrays -> com.android.tools.r8.internal.s3:
    1:1:void ensureFromTo(int,int,int):57:57 -> a
    2:2:void ensureFromTo(int,int,int):56:56 -> a
    3:3:void ensureFromTo(int,int,int):55:55 -> a
    4:4:void ensureFromTo(int,int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":60,"2":61,"3":62,"4":63,"5":64,"6":65}}
    60:60:void ensureFromTo(int,int,int):55:55 -> a
    61:61:void ensureFromTo(int,int,int):55:55 -> a
    62:62:void ensureFromTo(int,int,int):55:55 -> a
    63:63:void ensureFromTo(int,int,int):55:55 -> a
    64:64:void ensureFromTo(int,int,int):55:55 -> a
    65:65:void ensureFromTo(int,int,int):55:55 -> a
    59:59:void ensureFromTo(int,int,int):55:55 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.Function -> com.android.tools.r8.internal.vl:
# {"id":"sourceFile","fileName":"Function.java"}
com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy -> com.android.tools.r8.internal.rm:
    boolean equals(java.lang.Object,java.lang.Object) -> a
    int hashCode(java.lang.Object) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.HashCommon -> com.android.tools.r8.internal.Hm:
    int long2int(long) -> a
    int mix(int) -> a
    1:2:int arraySize(int,float):228:229 -> a
    long mix(long) -> b
    1:1:int maxFill(int,float):205:205 -> b
    long nextPowerOfTwo(long) -> c
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanCollection -> com.android.tools.r8.internal.l:
    1:1:void <init>():37:37 -> <init>
    1:1:boolean add(boolean):68:68 -> a
    1:1:boolean add(java.lang.Object):36:36 -> add
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanCollection.add(java.lang.Boolean):114:114 -> add
    2:2:boolean add(java.lang.Object):36 -> add
    boolean contains(boolean) -> b
    1:4:boolean rem(boolean):94:97 -> c
    1:1:boolean contains(java.lang.Object):129:129 -> contains
    1:1:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1.iterator():803:803 -> iterator
    1:1:boolean remove(java.lang.Object):143:143 -> remove
    1:14:java.lang.String toString():206:219 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanIterator -> com.android.tools.r8.internal.m:
    1:1:void <init>():34:34 -> <init>
    boolean nextBoolean() -> g
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanIterator.next():57:57 -> next
    1:1:java.lang.Object next():33 -> next
    1:1:void remove():68:68 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator -> com.android.tools.r8.internal.n:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanBidirectionalIterator.<init>():34:34 -> <init>
    1:1:void <init>():35 -> <init>
    1:1:void add(java.lang.Object):34:34 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator.add(java.lang.Boolean):83:83 -> add
    2:2:void add(java.lang.Object):34 -> add
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator.add(boolean):57:57 -> add
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator.add(java.lang.Boolean):83 -> add
    3:3:void add(java.lang.Object):34 -> add
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanBidirectionalIterator.previousBoolean() -> j
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanBidirectionalIterator.previous():56:56 -> previous
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanBidirectionalIterator.previous():33 -> previous
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanBidirectionalIterator.previous():0 -> previous
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:void set(java.lang.Object):34:34 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator.set(java.lang.Boolean):70:70 -> set
    2:2:void set(java.lang.Object):34 -> set
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator.set(boolean):46:46 -> set
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanListIterator.set(java.lang.Boolean):70 -> set
    3:3:void set(java.lang.Object):34 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.AbstractBooleanSet -> com.android.tools.r8.internal.o:
    1:1:void <init>():32:32 -> <init>
    1:1:boolean rem(boolean):87:87 -> c
    boolean remove(boolean) -> d
    1:4:boolean equals(java.lang.Object):41:44 -> equals
    1:5:int hashCode():57:61 -> hashCode
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet -> com.android.tools.r8.internal.l5:
    boolean[] a -> b
    int size -> c
    1:4:void <init>(boolean[],int):104:107 -> <init>
    5:5:void <init>(boolean[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":221,"2":222,"3":223,"4":224,"5":225}}
    221:221:void <init>(boolean[],int):107:107 -> <init>
    222:222:void <init>(boolean[],int):107:107 -> <init>
    223:223:void <init>(boolean[],int):107:107 -> <init>
    224:224:void <init>(boolean[],int):107:107 -> <init>
    225:225:void <init>(boolean[],int):107:107 -> <init>
    112:112:void <init>(boolean[],int):107:107 -> <init>
    113:113:void <init>(boolean[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":226,"2":227,"3":228}}
    226:226:void <init>(boolean[],int):107:107 -> <init>
    227:227:void <init>(boolean[],int):107:107 -> <init>
    228:228:void <init>(boolean[],int):107:107 -> <init>
    220:220:void <init>(boolean[],int):107:107 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet):29:29 -> a
    2:3:int com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.findKey(boolean):111:112 -> a
    2:3:boolean add(boolean):164 -> a
    4:10:boolean add(boolean):166:172 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet):29:29 -> b
    2:3:int com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.findKey(boolean):111:112 -> b
    2:3:boolean contains(boolean):143 -> b
    1:1:boolean[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet):29:29 -> c
    1:1:void clear():178:178 -> clear
    1:5:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.clone():201:205 -> clone
    1:5:java.lang.Object clone():29 -> clone
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.clone():203:203 -> clone
    6:6:java.lang.Object clone():29 -> clone
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.findKey(boolean):111:112 -> d
    1:2:boolean remove(boolean):153 -> d
    3:6:boolean remove(boolean):155:158 -> d
    1:1:boolean isEmpty():183:183 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():119:119 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet.iterator():119:119 -> iterator
    2:2:java.util.Iterator iterator():29 -> iterator
    1:1:int size():148:148 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet$1 -> com.android.tools.r8.internal.k5:
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet this$0 -> c
    int next -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArraySet):119:120 -> <init>
    1:3:boolean nextBoolean():129:129 -> g
    1:1:boolean hasNext():124:124 -> hasNext
    1:2:void remove():135:136 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanArrays -> com.android.tools.r8.internal.m5:
    boolean[] EMPTY_ARRAY -> a
    1:1:void <clinit>():95:95 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection -> com.android.tools.r8.internal.o5:
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections -> com.android.tools.r8.internal.r5:
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection):536:536 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$EmptyCollection -> com.android.tools.r8.internal.p5:
    1:1:void <init>():39:39 -> <init>
    1:1:boolean addAll(java.util.Collection):81:81 -> addAll
    boolean contains(boolean) -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanBidirectionalIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$EmptyCollection.iterator():55:55 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():38 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanBidirectionalIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$EmptyCollection.iterator():55:55 -> iterator
    2:2:java.util.Iterator iterator():38 -> iterator
    1:1:boolean removeAll(java.util.Collection):86:86 -> removeAll
    1:1:boolean retainAll(java.util.Collection):91:91 -> retainAll
    1:1:java.lang.Object[] toArray():49:49 -> toArray
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$UnmodifiableCollection -> com.android.tools.r8.internal.q5:
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection collection -> b
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection):369:371 -> <init>
    1:1:boolean add(java.lang.Object):365:365 -> add
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollections$UnmodifiableCollection.add(java.lang.Boolean):453:453 -> add
    2:2:boolean add(java.lang.Object):365 -> add
    1:1:boolean addAll(java.util.Collection):437:437 -> addAll
    1:1:void clear():417:417 -> clear
    1:1:boolean contains(java.lang.Object):459:459 -> contains
    1:1:boolean containsAll(java.util.Collection):432:432 -> containsAll
    1:1:boolean equals(java.lang.Object):523:523 -> equals
    1:1:int hashCode():517:517 -> hashCode
    1:1:boolean isEmpty():391:391 -> isEmpty
    1:1:java.util.Iterator iterator():365:365 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():400:400 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators.unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator):747:747 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():400 -> iterator
    1:1:boolean remove(java.lang.Object):465:465 -> remove
    1:1:boolean removeAll(java.util.Collection):442:442 -> removeAll
    1:1:boolean retainAll(java.util.Collection):447:447 -> retainAll
    1:1:int size():386:386 -> size
    1:1:java.lang.Object[] toArray(java.lang.Object[]):422:422 -> toArray
    2:2:java.lang.Object[] toArray():427:427 -> toArray
    1:1:java.lang.String toString():512:512 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator -> com.android.tools.r8.internal.s5:
    boolean nextBoolean() -> g
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators -> com.android.tools.r8.internal.w5:
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$EmptyIterator EMPTY_ITERATOR -> a
    1:1:void <clinit>():103:103 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$EmptyIterator -> com.android.tools.r8.internal.t5:
    1:1:void <init>():42:42 -> <init>
    1:1:java.lang.Object clone():87:87 -> clone
    1:1:boolean nextBoolean():57:57 -> g
    1:1:boolean previousBoolean():62:62 -> j
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$SingletonIterator -> com.android.tools.r8.internal.u5:
    boolean element -> b
    int curr -> c
    1:2:void <init>(boolean):110:111 -> <init>
    1:4:boolean nextBoolean():126:126 -> g
    1:1:boolean hasNext():116:116 -> hasNext
    1:1:boolean hasPrevious():121:121 -> hasPrevious
    1:4:boolean previousBoolean():133:133 -> j
    1:1:int nextIndex():140:140 -> nextIndex
    1:1:int previousIndex():145:145 -> previousIndex
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators$UnmodifiableIterator -> com.android.tools.r8.internal.v5:
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator i -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator):724:725 -> <init>
    1:1:boolean nextBoolean():735:735 -> g
    1:1:boolean hasNext():730:730 -> hasNext
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets -> com.android.tools.r8.internal.C5:
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$EmptySet EMPTY_SET -> a
    1:1:void <clinit>():76:76 -> <clinit>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSet singleton(boolean):159:159 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$EmptySet -> com.android.tools.r8.internal.A5:
    1:1:void <init>():42:42 -> <init>
    1:1:boolean rem(boolean):64:64 -> c
    1:1:java.lang.Object clone():52:52 -> clone
    1:1:boolean equals(java.lang.Object):58:58 -> equals
com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$Singleton -> com.android.tools.r8.internal.B5:
    boolean element -> b
    1:2:void <init>(boolean):89:90 -> <init>
    1:1:boolean addAll(java.util.Collection):115:115 -> addAll
    1:1:boolean contains(boolean):95:95 -> b
    1:1:boolean remove(boolean):100:100 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanListIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$Singleton.iterator():105:105 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():85 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanListIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators.singleton(boolean):159:159 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanListIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$Singleton.iterator():105 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():85 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanListIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$Singleton.iterator():105:105 -> iterator
    3:3:java.util.Iterator iterator():85 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanListIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterators.singleton(boolean):159:159 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanListIterator com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanSets$Singleton.iterator():105 -> iterator
    4:4:java.util.Iterator iterator():85 -> iterator
    1:1:boolean removeAll(java.util.Collection):120:120 -> removeAll
    1:1:boolean retainAll(java.util.Collection):125:125 -> retainAll
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap -> com.android.tools.r8.internal.y:
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.defRetValue -> b
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.<init>():44:44 -> <init>
    1:1:void <init>():46 -> <init>
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(int,int) -> b
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.containsKey(java.lang.Object):105:105 -> containsKey
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.containsKey(java.lang.Object):0 -> containsKey
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean containsValue(java.lang.Object):63:63 -> containsValue
    boolean containsValue(int) -> d
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.defaultReturnValue(int):55:55 -> e
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.defaultReturnValue(int):0 -> e
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Set entrySet():43:43 -> entrySet
    1:4:boolean equals(java.lang.Object):334:337 -> equals
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.defaultReturnValue():60:60 -> f
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.defaultReturnValue():0 -> f
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.get(java.lang.Object):120:121 -> get
    1:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.get(java.lang.Object):41 -> get
    1:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:4:int hashCode():324:327 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():311:311 -> k
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(java.lang.Integer,java.lang.Integer):135:138 -> put
    2:5:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:5:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:13:void putAll(java.util.Map):83:95 -> putAll
    14:16:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.put(java.lang.Integer,java.lang.Integer):135:137 -> putAll
    14:16:void putAll(java.util.Map):95 -> putAll
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.remove(int) -> remove
    1:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.remove(java.lang.Object):153:156 -> remove
    1:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.remove(java.lang.Object):41 -> remove
    1:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:16:java.lang.String toString():342:357 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap$BasicEntry -> com.android.tools.r8.internal.x:
    int key -> b
    int value -> c
    1:3:void <init>(int,int):122:124 -> <init>
    1:1:int getIntKey():141:141 -> a
    1:5:boolean equals(java.lang.Object):180:184 -> equals
    1:1:int getIntValue():158:158 -> getIntValue
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap$BasicEntry.getKey():136:136 -> getKey
    1:1:java.lang.Object getKey():113 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap$BasicEntry.getValue():153:153 -> getValue
    1:1:java.lang.Object getValue():113 -> getValue
    1:1:int hashCode():189:189 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):113:113 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap$BasicEntry.setValue(java.lang.Integer):175:175 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):113 -> setValue
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap$BasicEntry.setValue(int):163:163 -> setValue
    3:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntMap$BasicEntry.setValue(java.lang.Integer):175 -> setValue
    3:3:java.lang.Object setValue(java.lang.Object):113 -> setValue
    1:1:java.lang.String toString():194:194 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap -> com.android.tools.r8.internal.z:
    1:1:void <init>():33:33 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.entrySet():293:293 -> entrySet
    1:1:java.util.Set entrySet():30 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.int2IntEntrySet():1431:1432 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.int2IntEntrySet():87 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.entrySet():293 -> entrySet
    2:3:java.util.Set entrySet():30 -> entrySet
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.firstKey():85:85 -> firstKey
    1:1:java.lang.Object firstKey():30 -> firstKey
    2:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.firstIntKey():978:979 -> firstKey
    2:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.firstKey():85 -> firstKey
    2:3:java.lang.Object firstKey():30 -> firstKey
    4:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.firstKey():85:85 -> firstKey
    4:4:java.lang.Object firstKey():30 -> firstKey
    5:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.firstIntKey():978:978 -> firstKey
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.firstKey():85 -> firstKey
    5:5:java.lang.Object firstKey():30 -> firstKey
    1:1:java.util.SortedMap headMap(java.lang.Object):30:30 -> headMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.headMap(java.lang.Integer):46:46 -> headMap
    2:2:java.util.SortedMap headMap(java.lang.Object):30 -> headMap
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.headMap(int):1010:1010 -> headMap
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.headMap(java.lang.Integer):46 -> headMap
    3:3:java.util.SortedMap headMap(java.lang.Object):30 -> headMap
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.entrySet():293:293 -> k
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():30 -> k
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.int2IntEntrySet():1431:1432 -> k
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.int2IntEntrySet():87 -> k
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.entrySet():293 -> k
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():30 -> k
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.lastKey():98:98 -> lastKey
    1:1:java.lang.Object lastKey():30 -> lastKey
    2:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.lastIntKey():989:990 -> lastKey
    2:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.lastKey():98 -> lastKey
    2:3:java.lang.Object lastKey():30 -> lastKey
    4:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.lastKey():98:98 -> lastKey
    4:4:java.lang.Object lastKey():30 -> lastKey
    5:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.lastIntKey():989:989 -> lastKey
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.lastKey():98 -> lastKey
    5:5:java.lang.Object lastKey():30 -> lastKey
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):30:30 -> subMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.subMap(java.lang.Integer,java.lang.Integer):72:72 -> subMap
    2:2:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):30 -> subMap
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.subMap(int,int):1020:1020 -> subMap
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.subMap(java.lang.Integer,java.lang.Integer):72 -> subMap
    3:3:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):30 -> subMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):30:30 -> tailMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.tailMap(java.lang.Integer):59:59 -> tailMap
    2:2:java.util.SortedMap tailMap(java.lang.Object):30 -> tailMap
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.tailMap(int):1000:1000 -> tailMap
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntSortedMap.tailMap(java.lang.Integer):59 -> tailMap
    3:3:java.util.SortedMap tailMap(java.lang.Object):30 -> tailMap
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectMap -> com.android.tools.r8.internal.B:
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.defRetValue -> b
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    boolean containsKey(int) -> a
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(int,java.lang.Object) -> a
    void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.clear() -> clear
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.containsKey(java.lang.Object):105:105 -> containsKey
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.containsKey(java.lang.Object):0 -> containsKey
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Set entrySet():42:42 -> entrySet
    1:4:boolean equals(java.lang.Object):296:299 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():273:273 -> f
    1:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.get(java.lang.Object):120:121 -> get
    1:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:4:int hashCode():286:289 -> hashCode
    1:1:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.keySet():37:37 -> keySet
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(java.lang.Integer,java.lang.Object):135:137 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:13:void putAll(java.util.Map):70:82 -> putAll
    14:16:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.put(java.lang.Integer,java.lang.Object):135:137 -> putAll
    14:16:void putAll(java.util.Map):82 -> putAll
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.remove(int) -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.remove(java.lang.Object):153:155 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:17:java.lang.String toString():304:320 -> toString
    1:1:java.util.Collection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap.values():1403:1403 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectMap$BasicEntry -> com.android.tools.r8.internal.A:
    java.lang.Object value -> c
    int key -> b
    1:3:void <init>(int,java.lang.Object):109:111 -> <init>
    1:1:int getIntKey():128:128 -> a
    1:4:boolean equals(java.lang.Object):143:146 -> equals
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectMap$BasicEntry.getKey():123:123 -> getKey
    1:1:java.lang.Object getKey():100 -> getKey
    1:1:java.lang.Object getValue():133:133 -> getValue
    1:1:int hashCode():151:151 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):138:138 -> setValue
    1:1:java.lang.String toString():156:156 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap -> com.android.tools.r8.internal.D:
    1:1:void <init>():33:33 -> <init>
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.firstIntKey() -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.subMap(int,int) -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.comparator() -> comparator
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.headMap(int) -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap.int2ObjectEntrySet():1403:1403 -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.tailMap(int) -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.entrySet():293:293 -> entrySet
    1:1:java.util.Set entrySet():30 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.entrySet():293:293 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():30 -> f
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.firstKey():85:85 -> firstKey
    1:1:java.lang.Object firstKey():30 -> firstKey
    1:1:java.util.SortedMap headMap(java.lang.Object):30:30 -> headMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.headMap(java.lang.Integer):46:46 -> headMap
    2:2:java.util.SortedMap headMap(java.lang.Object):30 -> headMap
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.lastIntKey() -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.int2ObjectEntrySet() -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.keySet() -> keySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap.keySet():1403:1403 -> keySet
    2:2:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap.keySet():1403:1403 -> keySet
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.lastKey():98:98 -> lastKey
    1:1:java.lang.Object lastKey():30 -> lastKey
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):30:30 -> subMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.subMap(java.lang.Integer,java.lang.Integer):72:72 -> subMap
    2:2:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):30 -> subMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):30:30 -> tailMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap.tailMap(java.lang.Integer):59:59 -> tailMap
    2:2:java.util.SortedMap tailMap(java.lang.Object):30 -> tailMap
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap.values() -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap$KeySet -> com.android.tools.r8.internal.C:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap):122:122 -> <init>
    1:1:int firstInt():145:145 -> L
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int):160:160 -> a
    1:1:void clear():135:135 -> clear
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ObjectSortedMap$KeySet.comparator():140:140 -> comparator
    1:1:java.util.Comparator comparator():122 -> comparator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet headSet(int):155:155 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet subSet(int,int):165:165 -> d
    1:1:boolean contains(int):125:125 -> f
    1:1:int lastInt():150:150 -> p
    1:1:int size():130:130 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceFunction -> com.android.tools.r8.internal.E:
    java.lang.Object defRetValue -> b
    1:1:void <init>():44:44 -> <init>
    1:1:java.lang.Object put(int,java.lang.Object):71:71 -> a
    2:4:java.lang.Object put(java.lang.Integer,java.lang.Object):135:137 -> a
    1:1:boolean containsKey(java.lang.Object):105:105 -> containsKey
    1:2:java.lang.Object get(java.lang.Object):120:121 -> get
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object remove(int):82:82 -> remove
    2:4:java.lang.Object remove(java.lang.Object):153:155 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceMap -> com.android.tools.r8.internal.G:
    1:1:void <init>():45:45 -> <init>
    boolean containsKey(int) -> a
    1:1:java.util.Set entrySet():42:42 -> entrySet
    1:4:boolean equals(java.lang.Object):296:299 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():273:273 -> f
    1:4:int hashCode():286:289 -> hashCode
    1:1:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.keySet():37:37 -> keySet
    1:13:void putAll(java.util.Map):70:82 -> putAll
    1:17:java.lang.String toString():304:320 -> toString
    1:1:java.util.Collection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap.values():1435:1435 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceMap$BasicEntry -> com.android.tools.r8.internal.F:
    java.lang.Object value -> c
    int key -> b
    1:3:void <init>(int,java.lang.Object):109:111 -> <init>
    1:1:int getIntKey():128:128 -> a
    1:4:boolean equals(java.lang.Object):143:146 -> equals
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceMap$BasicEntry.getKey():123:123 -> getKey
    1:1:java.lang.Object getKey():100 -> getKey
    1:1:java.lang.Object getValue():133:133 -> getValue
    1:1:int hashCode():151:151 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):138:138 -> setValue
    1:1:java.lang.String toString():156:156 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap -> com.android.tools.r8.internal.I:
    1:1:void <init>():33:33 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(java.lang.Integer):59:59 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(java.lang.Integer,java.lang.Integer):72:72 -> a
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap.int2ReferenceEntrySet():1435:1435 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(java.lang.Integer):46:46 -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entrySet():293:293 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap.entrySet():293:293 -> entrySet
    2:2:java.util.Set entrySet():30 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap.entrySet():293:293 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():30 -> f
    1:1:java.lang.Integer firstKey():85:85 -> firstKey
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap.firstKey():85:85 -> firstKey
    2:2:java.lang.Object firstKey():30 -> firstKey
    1:1:java.util.SortedMap headMap(java.lang.Object):30:30 -> headMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap.headMap(java.lang.Integer):46:46 -> headMap
    2:2:java.util.SortedMap headMap(java.lang.Object):30 -> headMap
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap.keySet():1435:1435 -> keySet
    2:2:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap.keySet():1435:1435 -> keySet
    1:1:java.lang.Integer lastKey():98:98 -> lastKey
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap.lastKey():98:98 -> lastKey
    2:2:java.lang.Object lastKey():30 -> lastKey
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):30:30 -> subMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):30:30 -> tailMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap.tailMap(java.lang.Integer):59:59 -> tailMap
    2:2:java.util.SortedMap tailMap(java.lang.Object):30 -> tailMap
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap$KeySet -> com.android.tools.r8.internal.H:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap):122:122 -> <init>
    1:1:int firstInt():145:145 -> L
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int):160:160 -> a
    1:1:void clear():135:135 -> clear
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2ReferenceSortedMap$KeySet.comparator():140:140 -> comparator
    1:1:java.util.Comparator comparator():122 -> comparator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet headSet(int):155:155 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet subSet(int,int):165:165 -> d
    1:1:boolean contains(int):125:125 -> f
    1:1:int lastInt():150:150 -> p
    1:1:int size():130:130 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntCollection -> com.android.tools.r8.internal.J:
    1:1:void <init>():37:37 -> <init>
    1:1:boolean add(java.lang.Integer):114:114 -> a
    2:3:int[] toArray(int[]):148:149 -> a
    4:5:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):173:174 -> a
    1:1:boolean add(java.lang.Object):36:36 -> add
    2:2:boolean add(int):68:68 -> add
    1:1:boolean contains(java.lang.Object):129:129 -> contains
    boolean contains(int) -> f
    1:4:boolean rem(int):94:97 -> h
    1:1:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeySet.iterator():803:803 -> iterator
    1:1:boolean remove(java.lang.Object):143:143 -> remove
    1:14:java.lang.String toString():206:219 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator -> com.android.tools.r8.internal.K:
    1:1:void <init>():34:34 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntIterator.next():57:57 -> next
    1:1:java.lang.Object next():33 -> next
    1:1:void remove():68:68 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList -> com.android.tools.r8.internal.N:
    1:1:void <init>():33:33 -> <init>
    boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList) -> a
    void removeElements(int,int) -> a
    1:1:int compareTo(java.util.List):464:464 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    2:2:int compareTo(java.util.List):465 -> a
    3:11:int compareTo(java.util.List):466:474 -> a
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> a
    12:12:int compareTo(java.util.List):476 -> a
    13:18:int compareTo(java.util.List):477:482 -> a
    19:23:boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):525:529 -> a
    24:24:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):564:564 -> a
    1:1:void add(int,java.lang.Object):32:32 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.add(int,java.lang.Integer):578:578 -> add
    2:2:void add(int,java.lang.Object):32 -> add
    1:5:boolean addAll(int,java.util.Collection):120:124 -> addAll
    6:6:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.add(int,java.lang.Integer):578:578 -> addAll
    6:6:boolean addAll(int,java.util.Collection):124 -> addAll
    7:7:boolean addAll(java.util.Collection):137:137 -> addAll
    void add(int,int) -> b
    int set(int,int) -> c
    1:1:void clear():403:403 -> clear
    1:1:int compareTo(java.lang.Object):32:32 -> compareTo
    1:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList subList(int,int):310:313 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList subList(int,int):312:312 -> e
    1:5:boolean equals(java.lang.Object):430:434 -> equals
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> equals
    6:6:boolean equals(java.lang.Object):435 -> equals
    7:9:boolean equals(java.lang.Object):436:438 -> equals
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> equals
    10:10:boolean equals(java.lang.Object):441 -> equals
    11:13:boolean equals(java.lang.Object):441:443 -> equals
    14:14:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.valEquals(java.lang.Object,java.lang.Object):407:407 -> equals
    14:14:boolean equals(java.lang.Object):443 -> equals
    1:1:boolean contains(int):274:274 -> f
    int removeInt(int) -> g
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.get(int):606:606 -> get
    1:1:java.lang.Object get(int):32 -> get
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> hashCode
    1:1:int hashCode():418 -> hashCode
    2:4:int hashCode():419:421 -> hashCode
    1:1:void ensureIndex(int):47:47 -> i
    2:2:void ensureIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100,"4":101,"5":102}}
    98:98:void ensureIndex(int):47:47 -> i
    99:99:void ensureIndex(int):47:47 -> i
    100:100:void ensureIndex(int):47:47 -> i
    101:101:void ensureIndex(int):47:47 -> i
    102:102:void ensureIndex(int):47:47 -> i
    49:49:void ensureIndex(int):47:47 -> i
    50:50:void ensureIndex(int):46:46 -> i
    51:51:void ensureIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105,"4":106,"5":107,"6":108}}
    103:103:void ensureIndex(int):46:46 -> i
    104:104:void ensureIndex(int):46:46 -> i
    105:105:void ensureIndex(int):46:46 -> i
    106:106:void ensureIndex(int):46:46 -> i
    107:107:void ensureIndex(int):46:46 -> i
    108:108:void ensureIndex(int):46:46 -> i
    97:97:void ensureIndex(int):46:46 -> i
    1:1:int indexOf(java.lang.Object):620:620 -> indexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():32 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator iterator():180 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> iterator
    3:3:java.util.Iterator iterator():32 -> iterator
    1:1:void ensureRestrictedIndex(int):62:62 -> j
    2:2:void ensureRestrictedIndex(int):0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":128,"2":129,"3":130,"4":131,"5":132}}
    128:128:void ensureRestrictedIndex(int):62:62 -> j
    129:129:void ensureRestrictedIndex(int):62:62 -> j
    130:130:void ensureRestrictedIndex(int):62:62 -> j
    131:131:void ensureRestrictedIndex(int):62:62 -> j
    132:132:void ensureRestrictedIndex(int):62:62 -> j
    64:64:void ensureRestrictedIndex(int):62:62 -> j
    65:65:void ensureRestrictedIndex(int):61:61 -> j
    66:66:void ensureRestrictedIndex(int):0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":133,"2":134,"3":135,"4":136,"5":137,"6":138}}
    133:133:void ensureRestrictedIndex(int):61:61 -> j
    134:134:void ensureRestrictedIndex(int):61:61 -> j
    135:135:void ensureRestrictedIndex(int):61:61 -> j
    136:136:void ensureRestrictedIndex(int):61:61 -> j
    137:137:void ensureRestrictedIndex(int):61:61 -> j
    138:138:void ensureRestrictedIndex(int):61:61 -> j
    127:127:void ensureRestrictedIndex(int):61:61 -> j
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> k
    1:1:int indexOf(int):279 -> k
    2:4:int indexOf(int):281:283 -> k
    1:5:int lastIndexOf(int):290:294 -> l
    1:1:int lastIndexOf(java.lang.Object):634:634 -> lastIndexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator listIterator():192:192 -> listIterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> listIterator
    2:2:java.util.ListIterator listIterator():32 -> listIterator
    3:3:java.util.ListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList.listIterator(int):726:726 -> listIterator
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator listIterator(int) -> m
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.remove(int):648:648 -> remove
    1:1:java.lang.Object remove(int):32 -> remove
    1:1:java.lang.Object set(int,java.lang.Object):32:32 -> set
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.set(int,java.lang.Integer):592:592 -> set
    2:2:java.lang.Object set(int,java.lang.Object):32 -> set
    1:1:java.util.List subList(int,int):32:32 -> subList
    1:1:java.lang.String toString():709:709 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> toString
    2:2:java.lang.String toString():710 -> toString
    3:14:java.lang.String toString():711:722 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList -> com.android.tools.r8.internal.M:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList l -> b
    boolean $assertionsDisabled -> e
    int to -> d
    int from -> c
    1:1:void <clinit>():726:726 -> <clinit>
    1:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList,int,int):735:738 -> <init>
    1:1:boolean access$000(com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList):726:726 -> a
    2:4:boolean assertRange():742:744 -> a
    5:7:void getElements(int,int[],int,int):797:799 -> a
    8:8:void getElements(int,int[],int,int):798:798 -> a
    9:13:void removeElements(int,int):804:808 -> a
    14:15:boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):898:899 -> a
    16:16:boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):904:904 -> a
    17:17:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):542:542 -> a
    17:17:boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):905 -> a
    1:1:void add(int,java.lang.Object):726:726 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.add(int,java.lang.Integer):578:578 -> add
    2:2:void add(int,java.lang.Object):726 -> add
    3:5:boolean add(int):750:752 -> add
    1:3:boolean addAll(int,java.util.Collection):766:768 -> addAll
    1:4:void add(int,int):758:761 -> b
    5:6:int getInt(int):773:774 -> b
    1:2:int set(int,int):786:787 -> c
    1:1:int compareTo(java.lang.Object):726:726 -> compareTo
    1:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList subList(int,int):880:883 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList subList(int,int):882:882 -> e
    1:3:int removeInt(int):779:781 -> g
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.get(int):606:606 -> get
    1:1:java.lang.Object get(int):726 -> get
    1:5:boolean rem(int):888:892 -> h
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():726 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.iterator():180 -> iterator
    2:2:java.util.Iterator iterator():726 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.listIterator():192:192 -> listIterator
    1:1:java.util.ListIterator listIterator():726 -> listIterator
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator listIterator(int):821:822 -> m
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.remove(int):648:648 -> remove
    1:1:java.lang.Object remove(int):726 -> remove
    1:1:java.lang.Object set(int,java.lang.Object):726:726 -> set
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList.set(int,java.lang.Integer):592:592 -> set
    2:2:java.lang.Object set(int,java.lang.Object):726 -> set
    1:1:int size():792:792 -> size
    1:1:java.util.List subList(int,int):726:726 -> subList
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList$1 -> com.android.tools.r8.internal.L:
    boolean $assertionsDisabled -> e
    int pos -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList this$0 -> d
    int last -> c
    1:1:void <clinit>():822:822 -> <clinit>
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntList$IntSubList,int):822:823 -> <init>
    1:5:void add(int):852:852 -> a
    1:3:void set(int):859:859 -> b
    1:3:int previousInt():839:839 -> c
    1:1:boolean hasNext():826:826 -> hasNext
    1:1:boolean hasPrevious():830:830 -> hasPrevious
    1:1:int nextIndex():844:844 -> nextIndex
    1:3:int nextInt():834:834 -> nextInt
    1:1:int previousIndex():848:848 -> previousIndex
    1:11:void remove():864:864 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntListIterator -> com.android.tools.r8.internal.O:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntBidirectionalIterator.<init>():34:34 -> <init>
    1:1:void <init>():35 -> <init>
    1:1:void add(int):57:57 -> a
    1:1:void add(java.lang.Object):34:34 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntListIterator.add(java.lang.Integer):83:83 -> add
    2:2:void add(java.lang.Object):34 -> add
    1:1:void set(int):46:46 -> b
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntBidirectionalIterator.previousInt() -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntBidirectionalIterator.previous():56:56 -> previous
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntBidirectionalIterator.previous():33 -> previous
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntBidirectionalIterator.previous():0 -> previous
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:void set(java.lang.Object):34:34 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntListIterator.set(java.lang.Integer):70:70 -> set
    2:2:void set(java.lang.Object):34 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSet -> com.android.tools.r8.internal.P:
    1:1:void <init>():32:32 -> <init>
    1:4:boolean equals(java.lang.Object):41:44 -> equals
    1:1:boolean rem(int):87:87 -> h
    1:5:int hashCode():57:61 -> hashCode
    1:1:boolean remove(int):75:75 -> i
com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSortedSet -> com.android.tools.r8.internal.Q:
    1:1:void <init>():23:23 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSortedSet.first():94:94 -> first
    1:1:java.lang.Object first():22 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):22:22 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSortedSet.headSet(java.lang.Integer):55:55 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):22 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeySet.iterator():1274:1274 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeySet.iterator():1274:1274 -> iterator
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSortedSet.last():107:107 -> last
    1:1:java.lang.Object last():22 -> last
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):22:22 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSortedSet.subSet(java.lang.Integer,java.lang.Integer):81:81 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):22 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):22:22 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractIntSortedSet.tailSet(java.lang.Integer):68:68 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):22 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap -> com.android.tools.r8.internal.Bq:
    int[] key -> c
    int[] value -> d
    int size -> e
    1:3:void <init>():70:72 -> <init>
    4:6:void <init>(int):81:83 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap):37:37 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.findKey(int):234:234 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap,int):37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.findKey(int):235:236 -> a
    3:4:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap,int):37 -> a
    5:7:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.findKey(int):234:236 -> a
    5:7:boolean containsKey(int):261 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap):37:37 -> b
    2:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.findKey(int):234:236 -> b
    2:4:int put(int,int):279 -> b
    5:22:int put(int,int):281:298 -> b
    1:1:int[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap):37:37 -> c
    1:1:void clear():256:256 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.clone():339:344 -> clone
    1:6:java.lang.Object clone():37 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.clone():341:341 -> clone
    7:7:java.lang.Object clone():37 -> clone
    1:1:int[] access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap):37:37 -> d
    2:3:boolean containsValue(int):266:267 -> d
    1:4:int get(int):243:246 -> get
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.int2IntEntrySet():230:230 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2IntEntrySet():37 -> i
    1:1:boolean isEmpty():273:273 -> isEmpty
    1:1:java.util.Set keySet():37:37 -> keySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():316:316 -> keySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values():321:321 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections.unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):536:536 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values():321 -> l
    1:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap.findKey(int):234:236 -> remove
    1:3:int remove(int):304 -> remove
    4:9:int remove(int):305:310 -> remove
    1:1:int size():251:251 -> size
    1:1:java.util.Collection values():37:37 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet -> com.android.tools.r8.internal.Aq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap):133:133 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$1):133:133 -> <init>
    1:6:boolean contains(java.lang.Object):201:206 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():136:136 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet.iterator():136:136 -> iterator
    2:2:java.util.Iterator iterator():133 -> iterator
    1:12:boolean remove(java.lang.Object):212:223 -> remove
    1:1:int size():195:195 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet$1 -> com.android.tools.r8.internal.zq:
    int curr -> b
    int next -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet this$1 -> d
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet):136:137 -> <init>
    1:1:boolean hasNext():141:141 -> hasNext
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntArrayMap$EntrySet$1.next():147:147 -> next
    1:3:java.lang.Object next():136 -> next
    1:6:void remove():153:153 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntFunction -> com.android.tools.r8.internal.Cq:
    boolean containsKey(int) -> a
    int put(int,int) -> b
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap -> com.android.tools.r8.internal.Lq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> n
    int size -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> o
    int n -> j
    int maxFill -> k
    int last -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap$FastSortedEntrySet entries -> m
    int first -> g
    int mask -> e
    long[] link -> i
    int[] key -> c
    int[] value -> d
    boolean containsNullKey -> f
    1:1:void <init>(int,float):147:147 -> <init>
    2:56:void <init>(int,float):102:156 -> <init>
    1:1:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,int):87:87 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.removeNullEntry():285:285 -> a
    2:2:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.removeNullEntry():286:289 -> a
    3:6:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):87 -> a
    7:16:boolean containsKey(int):734:743 -> a
    1:25:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.insert(int,int):306:330 -> b
    1:25:int put(int,int):337 -> b
    26:28:int put(int,int):338:340 -> b
    1:24:void fixPointers(int,int):945:968 -> c
    1:5:void clear():767:771 -> clear
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.clone():1801:1811 -> clone
    1:11:java.lang.Object clone():87 -> clone
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.clone():1803:1803 -> clone
    12:12:java.lang.Object clone():87 -> clone
    1:5:boolean containsValue(int):750:754 -> d
    1:25:void fixPointers(int):907:931 -> f
    1:42:void rehash(int):1742:1783 -> g
    1:11:int get(int):717:727 -> get
    1:3:int removeEntry(int):276:278 -> h
    4:9:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.shiftKeys(int):409:414 -> h
    4:9:int removeEntry(int):279 -> h
    10:10:int removeEntry(int):280:280 -> h
    11:17:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.shiftKeys(int):417:423 -> h
    11:17:int removeEntry(int):279 -> h
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.realSize():262:262 -> hashCode
    1:1:int hashCode():1828 -> hashCode
    2:10:int hashCode():1829:1837 -> hashCode
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.int2IntEntrySet():1431:1432 -> i
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2IntEntrySet():87 -> i
    1:1:boolean isEmpty():781:781 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.keySet():1564:1565 -> keySet
    1:2:java.util.Set keySet():87 -> keySet
    1:1:void putAll(java.util.Map):295:295 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.ensureCapacity(int):266:267 -> putAll
    2:3:void putAll(java.util.Map):295 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.size():776:776 -> putAll
    4:4:void putAll(java.util.Map):297 -> putAll
    5:5:void putAll(java.util.Map):297:297 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.tryCapacity(long):271:272 -> putAll
    6:7:void putAll(java.util.Map):297 -> putAll
    8:8:void putAll(java.util.Map):300:300 -> putAll
    1:1:int remove(int):429:429 -> remove
    2:6:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.removeNullEntry():285:289 -> remove
    2:6:int remove(int):429 -> remove
    7:17:int remove(int):430:440 -> remove
    1:1:int size():776:776 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.values():1629:1650 -> values
    1:22:java.util.Collection values():87 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$1 -> com.android.tools.r8.internal.Dq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1629:1629 -> <init>
    1:1:void clear():1647:1647 -> clear
    1:1:boolean contains(int):1642:1642 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():1632:1632 -> iterator
    1:1:int size():1637:1637 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.Eq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry entry -> g
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1229:1229 -> <init>
    1:1:void add(java.lang.Object):1226:1226 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry):1222:1222 -> add
    2:2:void add(java.lang.Object):1226 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$EntryIterator.next():1238:1238 -> next
    1:1:java.lang.Object next():1226 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$EntryIterator.previous():1243:1243 -> previous
    1:1:java.lang.Object previous():1226 -> previous
    1:2:void remove():1248:1249 -> remove
    1:1:void set(java.lang.Object):1226:1226 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry):1218:1218 -> set
    2:2:void set(java.lang.Object):1226 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.Fq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1482:1483 -> <init>
    1:1:void add(java.lang.Object):1444:1444 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeyIterator.add(java.lang.Integer):1479:1479 -> add
    2:2:void add(java.lang.Object):1444 -> add
    1:1:int previousInt():1451:1451 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeyIterator.next():1494:1494 -> next
    1:1:java.lang.Object next():1444 -> next
    1:1:int nextInt():1488:1488 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeyIterator.previous():1467:1467 -> previous
    1:1:java.lang.Object previous():1444 -> previous
    1:1:void set(java.lang.Object):1444:1444 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeyIterator.set(java.lang.Integer):1473:1473 -> set
    2:2:void set(java.lang.Object):1444 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.Gq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1498:1498 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$1):1498:1498 -> <init>
    1:3:int firstInt():1531:1531 -> L
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int):1548:1548 -> a
    1:1:void clear():1526:1526 -> clear
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet headSet(int):1553:1553 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet subSet(int,int):1558:1558 -> d
    1:1:boolean contains(int):1514:1514 -> f
    1:3:boolean remove(int):1519:1521 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeySet.iterator():1504:1504 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1498 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeySet.iterator():1504:1504 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():1498 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$KeySet.iterator():1504:1504 -> iterator
    3:3:java.util.Iterator iterator():1498 -> iterator
    1:3:int lastInt():1537:1537 -> p
    1:1:int size():1509:1509 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.Hq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,int):820:821 -> <init>
    1:1:int getIntKey():829:829 -> a
    1:3:boolean equals(java.lang.Object):883:885 -> equals
    1:1:int getIntValue():834:834 -> getIntValue
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry.getKey():853:853 -> getKey
    1:1:java.lang.Object getKey():815 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry.getValue():865:865 -> getValue
    1:1:java.lang.Object getValue():815 -> getValue
    1:1:int hashCode():890:890 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):815:815 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):877:877 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):815 -> setValue
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry.setValue(int):839:840 -> setValue
    3:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):877 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):815 -> setValue
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):877:877 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):815 -> setValue
    1:1:java.lang.String toString():895:895 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.Iq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1276:1276 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$1):1276:1276 -> <init>
    1:1:void clear():1382:1382 -> clear
    1:17:boolean contains(java.lang.Object):1316:1332 -> contains
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.first():1303:1303 -> first
    1:3:java.lang.Object first():1276 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1276:1276 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry):1293:1293 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1276 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1278:1278 -> iterator
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.last():1309:1309 -> last
    1:3:java.lang.Object last():1276 -> last
    1:30:boolean remove(java.lang.Object):1339:1368 -> remove
    1:1:int size():1377:1377 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1276:1276 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry):1288:1288 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1276 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1276:1276 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry):1298:1298 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1276 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.Jq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> f
    int curr -> d
    int index -> e
    int prev -> b
    int next -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$1):1040:1040 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1065:1065 -> <init>
    3:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1046:1067 -> <init>
    1:1:boolean hasNext():1099:1099 -> hasNext
    1:1:boolean hasPrevious():1103:1103 -> hasPrevious
    1:14:void ensureIndexKnown():1107:1120 -> j
    1:6:int nextEntry():1135:1135 -> k
    1:6:int previousEntry():1144:1144 -> l
    1:2:int nextIndex():1125:1126 -> nextIndex
    1:2:int previousIndex():1130:1131 -> previousIndex
    1:46:void remove():1153:1198 -> remove
    47:47:void remove():1154:1154 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.Kq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap):1611:1612 -> <init>
    1:1:void add(java.lang.Object):1577:1577 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$ValueIterator.add(java.lang.Integer):1598:1598 -> add
    2:2:void add(java.lang.Object):1577 -> add
    1:1:int previousInt():1580:1580 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$ValueIterator.next():1623:1623 -> next
    1:1:java.lang.Object next():1577 -> next
    1:1:int nextInt():1617:1617 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$ValueIterator.previous():1586:1586 -> previous
    1:1:java.lang.Object previous():1577 -> previous
    1:1:void set(java.lang.Object):1577:1577 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$ValueIterator.set(java.lang.Integer):1592:1592 -> set
    2:2:void set(java.lang.Object):1577 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap -> com.android.tools.r8.internal.Oq:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2IntEntrySet() -> i
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$Entry -> com.android.tools.r8.internal.Mq:
    int getIntKey() -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$FastEntrySet -> com.android.tools.r8.internal.Nq:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap -> com.android.tools.r8.internal.Xq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$FastEntrySet entries -> j
    int[] key -> c
    int[] value -> d
    int maxFill -> h
    int size -> i
    boolean containsNullKey -> f
    int n -> g
    int mask -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keys -> k
    1:9:void <init>(int,float):92:100 -> <init>
    10:10:void <init>(int,float):94:94 -> <init>
    11:11:void <init>():120:120 -> <init>
    12:13:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,float):156:157 -> <init>
    1:1:int access$400(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,int):50:50 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.removeNullEntry():228:228 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):50 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.removeNullEntry():229:231 -> a
    3:5:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):50 -> a
    6:15:boolean containsKey(int):387:396 -> a
    1:16:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.insert(int,int):248:263 -> b
    1:16:int put(int,int):270 -> b
    17:19:int put(int,int):271:273 -> b
    1:4:void clear():420:423 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.clone():1017:1026 -> clone
    1:10:java.lang.Object clone():50 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.clone():1019:1019 -> clone
    11:11:java.lang.Object clone():50 -> clone
    1:5:boolean containsValue(int):403:407 -> d
    1:7:void rehash(int):979:985 -> f
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.realSize():206:206 -> f
    8:8:void rehash(int):986 -> f
    9:21:void rehash(int):987:999 -> f
    1:2:int removeEntry(int):220:221 -> g
    3:8:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.shiftKeys(int):333:338 -> g
    3:8:int removeEntry(int):222 -> g
    9:9:int removeEntry(int):223:223 -> g
    10:15:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.shiftKeys(int):341:346 -> g
    10:15:int removeEntry(int):222 -> g
    1:11:int get(int):370:380 -> get
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.realSize():206:206 -> hashCode
    1:1:int hashCode():1043 -> hashCode
    2:10:int hashCode():1044:1052 -> hashCode
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.int2IntEntrySet():773:774 -> i
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2IntEntrySet():50 -> i
    1:1:boolean isEmpty():433:433 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.keySet():834:835 -> keySet
    1:2:java.util.Set keySet():50 -> keySet
    1:1:void putAll(java.util.Map):237:237 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.ensureCapacity(int):210:211 -> putAll
    2:3:void putAll(java.util.Map):237 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.size():428:428 -> putAll
    4:4:void putAll(java.util.Map):239 -> putAll
    5:5:void putAll(java.util.Map):239:239 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.tryCapacity(long):215:216 -> putAll
    6:7:void putAll(java.util.Map):239 -> putAll
    8:8:void putAll(java.util.Map):242:242 -> putAll
    1:1:int remove(int):352:352 -> remove
    2:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.removeNullEntry():228:231 -> remove
    2:5:int remove(int):352 -> remove
    6:16:int remove(int):353:363 -> remove
    1:1:int size():428:428 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap.values():866:887 -> values
    1:22:java.util.Collection values():50 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1 -> com.android.tools.r8.internal.Pq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):866:866 -> <init>
    1:1:void clear():884:884 -> clear
    1:1:boolean contains(int):879:879 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():869:869 -> iterator
    1:1:int size():874:874 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$EntryIterator -> com.android.tools.r8.internal.Qq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):664:664 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1):664:664 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$EntryIterator.next():669:669 -> next
    1:1:java.lang.Object next():664 -> next
    1:2:void remove():674:675 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeyIterator -> com.android.tools.r8.internal.Rq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):787:788 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeyIterator.next():799:799 -> next
    1:1:java.lang.Object next():786 -> next
    1:1:int nextInt():793:793 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$KeySet -> com.android.tools.r8.internal.Sq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):803:803 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1):803:803 -> <init>
    1:1:void clear():828:828 -> clear
    1:1:boolean contains(int):816:816 -> f
    1:3:boolean remove(int):821:823 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():806:806 -> iterator
    1:1:int size():811:811 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry -> com.android.tools.r8.internal.Tq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,int):472:473 -> <init>
    1:1:int getIntKey():481:481 -> a
    1:3:boolean equals(java.lang.Object):535:537 -> equals
    1:1:int getIntValue():486:486 -> getIntValue
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry.getKey():505:505 -> getKey
    1:1:java.lang.Object getKey():467 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry.getValue():517:517 -> getValue
    1:1:java.lang.Object getValue():467 -> getValue
    1:1:int hashCode():542:542 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):467:467 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):529:529 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):467 -> setValue
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry.setValue(int):491:492 -> setValue
    3:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):529 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):467 -> setValue
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):529:529 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):467 -> setValue
    1:1:java.lang.String toString():547:547 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.Uq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):689:689 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1):689:689 -> <init>
    1:1:void clear():767:767 -> clear
    1:17:boolean contains(java.lang.Object):701:717 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():691:691 -> iterator
    1:30:boolean remove(java.lang.Object):724:753 -> remove
    1:1:int size():762:762 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapIterator -> com.android.tools.r8.internal.Vq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrapped -> f
    boolean mustReturnNullKey -> e
    int c -> d
    int pos -> b
    int last -> c
    1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):552:575 -> <init>
    25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$1):552:552 -> <init>
    1:1:boolean hasNext():583:583 -> hasNext
    1:19:int nextEntry():587:587 -> j
    1:4:void remove():641:644 -> remove
    5:10:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapIterator.shiftKeys(int):619:624 -> remove
    5:10:void remove():644 -> remove
    11:12:void remove():651:652 -> remove
    13:22:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$MapIterator.shiftKeys(int):627:636 -> remove
    13:22:void remove():644 -> remove
    23:24:void remove():647:648 -> remove
    25:25:void remove():641:641 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$ValueIterator -> com.android.tools.r8.internal.Wq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap):848:849 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntOpenHashMap$ValueIterator.next():860:860 -> next
    1:1:java.lang.Object next():847 -> next
    1:1:int nextInt():854:854 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.Yq:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap -> com.android.tools.r8.internal.br:
    java.lang.Object[] value -> d
    int[] key -> c
    int size -> e
    1:3:void <init>():70:72 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap):37:37 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.findKey(int):235:235 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,int):37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.findKey(int):236:237 -> a
    3:4:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,int):37 -> a
    5:7:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.findKey(int):235:237 -> a
    5:7:boolean containsKey(int):265 -> a
    8:10:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.findKey(int):235:237 -> a
    8:10:java.lang.Object put(int,java.lang.Object):283 -> a
    11:28:java.lang.Object put(int,java.lang.Object):285:302 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap):37:37 -> b
    1:1:int[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap):37:37 -> c
    1:4:void clear():257:260 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.clone():344:349 -> clone
    1:6:java.lang.Object clone():37 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.clone():346:346 -> clone
    7:7:java.lang.Object clone():37 -> clone
    1:2:boolean containsValue(java.lang.Object):270:271 -> containsValue
    1:1:java.lang.Object[] access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap):37:37 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.int2ObjectEntrySet():231:231 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ObjectEntrySet():37 -> d
    1:4:java.lang.Object get(int):244:247 -> get
    1:1:boolean isEmpty():277:277 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():321:321 -> keySet
    1:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap.findKey(int):235:237 -> remove
    1:3:java.lang.Object remove(int):308 -> remove
    4:10:java.lang.Object remove(int):309:315 -> remove
    1:1:int size():252:252 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values():326:326 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet -> com.android.tools.r8.internal.ar:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap):133:133 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$1):133:133 -> <init>
    1:5:boolean contains(java.lang.Object):203:207 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():136:136 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet.iterator():136:136 -> iterator
    2:2:java.util.Iterator iterator():133 -> iterator
    1:12:boolean remove(java.lang.Object):213:224 -> remove
    1:1:int size():197:197 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet$1 -> com.android.tools.r8.internal.Zq:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet this$1 -> d
    int curr -> b
    int next -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet):136:137 -> <init>
    1:1:boolean hasNext():141:141 -> hasNext
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectArrayMap$EntrySet$1.next():147:147 -> next
    1:3:java.lang.Object next():136 -> next
    1:7:void remove():153:153 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectFunction -> com.android.tools.r8.internal.cr:
    boolean containsKey(int) -> a
    java.lang.Object put(int,java.lang.Object) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap -> com.android.tools.r8.internal.fr:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ObjectEntrySet() -> d
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry -> com.android.tools.r8.internal.dr:
    int getIntKey() -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$FastEntrySet -> com.android.tools.r8.internal.er:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap -> com.android.tools.r8.internal.or:
    java.lang.Object[] value -> d
    int[] key -> c
    int maxFill -> h
    int size -> i
    boolean containsNullKey -> f
    int n -> g
    int mask -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$FastEntrySet entries -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keys -> k
    1:9:void <init>(int,float):91:99 -> <init>
    10:10:void <init>(int,float):93:93 -> <init>
    11:12:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap,float):155:156 -> <init>
    1:1:java.lang.Object access$400(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,int):49:49 -> a
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.removeNullEntry():228:228 -> a
    2:2:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.removeNullEntry():229:232 -> a
    3:6:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):49 -> a
    7:22:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.insert(int,java.lang.Object):249:264 -> a
    7:22:java.lang.Object put(int,java.lang.Object):271 -> a
    23:25:java.lang.Object put(int,java.lang.Object):272:274 -> a
    26:35:boolean containsKey(int):344:353 -> a
    1:5:void clear():377:381 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.clone():945:954 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.clone():947:947 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:5:boolean containsValue(java.lang.Object):360:364 -> containsValue
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.int2ObjectEntrySet():707:708 -> d
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ObjectEntrySet():49 -> d
    3:9:void rehash(int):907:913 -> d
    10:10:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.realSize():205:205 -> d
    10:10:void rehash(int):914 -> d
    11:23:void rehash(int):915:927 -> d
    1:3:java.lang.Object removeEntry(int):219:221 -> e
    4:10:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.shiftKeys(int):289:295 -> e
    4:10:java.lang.Object removeEntry(int):222 -> e
    11:11:java.lang.Object removeEntry(int):223:223 -> e
    12:17:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.shiftKeys(int):298:303 -> e
    12:17:java.lang.Object removeEntry(int):222 -> e
    1:11:java.lang.Object get(int):327:337 -> get
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():971 -> hashCode
    2:10:int hashCode():972:980 -> hashCode
    1:1:boolean isEmpty():391:391 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():768:769 -> keySet
    1:1:void putAll(java.util.Map):238:238 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):238 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.size():386:386 -> putAll
    4:4:void putAll(java.util.Map):240 -> putAll
    5:5:void putAll(java.util.Map):240:240 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):240 -> putAll
    8:8:void putAll(java.util.Map):243:243 -> putAll
    1:1:java.lang.Object remove(int):309:309 -> remove
    2:6:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap.removeNullEntry():228:232 -> remove
    2:6:java.lang.Object remove(int):309 -> remove
    7:17:java.lang.Object remove(int):310:320 -> remove
    1:1:int size():386:386 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values():794:815 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1 -> com.android.tools.r8.internal.gr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):794:794 -> <init>
    1:1:void clear():812:812 -> clear
    1:1:boolean contains(java.lang.Object):807:807 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():797:797 -> iterator
    1:1:int size():802:802 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$EntryIterator -> com.android.tools.r8.internal.hr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):600:600 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1):600:600 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$EntryIterator.next():605:605 -> next
    1:1:java.lang.Object next():600 -> next
    1:2:void remove():610:611 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$KeyIterator -> com.android.tools.r8.internal.ir:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):721:722 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$KeyIterator.next():733:733 -> next
    1:1:java.lang.Object next():720 -> next
    1:1:int nextInt():727:727 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$KeySet -> com.android.tools.r8.internal.jr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):737:737 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1):737:737 -> <init>
    1:1:void clear():762:762 -> clear
    1:1:boolean contains(int):750:750 -> f
    1:3:boolean remove(int):755:757 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():740:740 -> iterator
    1:1:int size():745:745 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntry -> com.android.tools.r8.internal.kr:
    int index -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,int):430:431 -> <init>
    1:1:int getIntKey():439:439 -> a
    1:3:boolean equals(java.lang.Object):469:471 -> equals
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntry.getKey():463:463 -> getKey
    1:1:java.lang.Object getKey():425 -> getKey
    1:1:java.lang.Object getValue():444:444 -> getValue
    1:1:int hashCode():476:476 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):449:450 -> setValue
    1:1:java.lang.String toString():481:481 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.lr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):625:625 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1):625:625 -> <init>
    1:1:void clear():701:701 -> clear
    1:16:boolean contains(java.lang.Object):637:652 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():627:627 -> iterator
    1:29:boolean remove(java.lang.Object):659:687 -> remove
    1:1:int size():696:696 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapIterator -> com.android.tools.r8.internal.mr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrapped -> f
    boolean mustReturnNullKey -> e
    int c -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> g
    int pos -> b
    int last -> c
    1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):486:509 -> <init>
    25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1):486:486 -> <init>
    1:1:boolean hasNext():517:517 -> hasNext
    1:19:int nextEntry():521:521 -> j
    1:5:void remove():576:580 -> remove
    6:12:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapIterator.shiftKeys(int):553:559 -> remove
    6:12:void remove():580 -> remove
    13:14:void remove():587:588 -> remove
    15:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$MapIterator.shiftKeys(int):562:571 -> remove
    15:24:void remove():580 -> remove
    25:26:void remove():583:584 -> remove
    27:27:void remove():576:576 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$ValueIterator -> com.android.tools.r8.internal.nr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap):782:783 -> <init>
    1:1:java.lang.Object next():788:788 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap -> com.android.tools.r8.internal.Gr:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    boolean modified -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry tree -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values -> i
    int count -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry firstEntry -> e
    boolean[] dirPath -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry lastEntry -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry[] nodePath -> l
    1:1:void <init>():81:81 -> <init>
    2:10:void <init>():75:83 -> <init>
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):310:320 -> a
    1:11:java.lang.Object put(int,java.lang.Object):288 -> a
    12:12:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.compare(int,int):234:234 -> a
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):320 -> a
    12:12:java.lang.Object put(int,java.lang.Object):288 -> a
    13:23:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):324:334 -> a
    13:23:java.lang.Object put(int,java.lang.Object):288 -> a
    24:25:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):837:838 -> a
    24:25:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):335 -> a
    24:25:java.lang.Object put(int,java.lang.Object):288 -> a
    26:33:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):338:345 -> a
    26:33:java.lang.Object put(int,java.lang.Object):288 -> a
    34:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):826:827 -> a
    34:35:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):346 -> a
    34:35:java.lang.Object put(int,java.lang.Object):288 -> a
    36:70:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):352:386 -> a
    36:70:java.lang.Object put(int,java.lang.Object):288 -> a
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.succ(boolean):794:794 -> a
    71:71:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):387 -> a
    71:71:java.lang.Object put(int,java.lang.Object):288 -> a
    72:92:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):388:408 -> a
    72:92:java.lang.Object put(int,java.lang.Object):288 -> a
    93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.succ(boolean):794:794 -> a
    93:93:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):409 -> a
    93:93:java.lang.Object put(int,java.lang.Object):288 -> a
    94:119:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):410:435 -> a
    94:119:java.lang.Object put(int,java.lang.Object):288 -> a
    120:121:java.lang.Object put(int,java.lang.Object):289:290 -> a
    122:122:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.add(int):349:349 -> a
    122:122:java.lang.Object put(int,java.lang.Object):288 -> a
    123:123:boolean containsKey(int):946:946 -> a
    1:3:int firstIntKey():967:967 -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap subMap(int,int):1389:1389 -> c
    1:6:void clear():679:684 -> clear
    1:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1913:1926 -> clone
    1:14:java.lang.Object clone():43 -> clone
    15:16:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):826:827 -> clone
    15:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1926 -> clone
    15:16:java.lang.Object clone():43 -> clone
    17:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1928:1933 -> clone
    17:22:java.lang.Object clone():43 -> clone
    23:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):826:827 -> clone
    23:24:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1934 -> clone
    23:24:java.lang.Object clone():43 -> clone
    25:49:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1935:1959 -> clone
    25:49:java.lang.Object clone():43 -> clone
    50:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):837:838 -> clone
    50:51:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1960 -> clone
    50:51:java.lang.Object clone():43 -> clone
    52:52:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.clone():1915:1915 -> clone
    52:52:java.lang.Object clone():43 -> clone
    1:3:boolean containsValue(java.lang.Object):667:669 -> containsValue
    4:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$ValueIterator.next():1315:1315 -> containsValue
    4:4:boolean containsValue(java.lang.Object):671 -> containsValue
    5:5:boolean containsValue(java.lang.Object):672:672 -> containsValue
    1:1:int compare(int,int):234:234 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap headMap(int):1379:1379 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap tailMap(int):1384:1384 -> e
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry findKey(int):247:249 -> f
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.compare(int,int):234:234 -> f
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry findKey(int):249 -> f
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.left():742:742 -> f
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry findKey(int):250 -> f
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.right():752:752 -> f
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry findKey(int):250 -> f
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry locateKey(int):264:266 -> g
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.compare(int,int):234:234 -> g
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry locateKey(int):266 -> g
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.left():742:742 -> g
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry locateKey(int):268 -> g
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.right():752:752 -> g
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry locateKey(int):268 -> g
    1:2:java.lang.Object get(int):961:962 -> get
    1:1:boolean isEmpty():956:956 -> isEmpty
    1:3:int lastIntKey():973:973 -> j
    1:79:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ObjectEntrySet():1127:1205 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1298:1299 -> keySet
    1:2:void allocatePaths():282:283 -> l
    1:8:java.lang.Object remove(int):449:456 -> remove
    9:9:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap.compare(int,int):234:234 -> remove
    9:9:java.lang.Object remove(int):456 -> remove
    10:10:java.lang.Object remove(int):477:477 -> remove
    11:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.next():868:870 -> remove
    11:13:java.lang.Object remove(int):477 -> remove
    14:67:java.lang.Object remove(int):477:530 -> remove
    68:69:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):837:838 -> remove
    68:69:java.lang.Object remove(int):530 -> remove
    70:118:java.lang.Object remove(int):531:579 -> remove
    119:119:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.succ(boolean):794:794 -> remove
    119:119:java.lang.Object remove(int):580 -> remove
    120:135:java.lang.Object remove(int):581:596 -> remove
    136:209:java.lang.Object remove(int):570:643 -> remove
    210:210:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.succ(boolean):794:794 -> remove
    210:210:java.lang.Object remove(int):644 -> remove
    211:211:java.lang.Object remove(int):645:645 -> remove
    212:255:java.lang.Object remove(int):619:662 -> remove
    256:257:java.lang.Object remove(int):457:458 -> remove
    258:258:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.right():752:752 -> remove
    258:258:java.lang.Object remove(int):460 -> remove
    259:260:java.lang.Object remove(int):464:465 -> remove
    261:261:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.left():742:742 -> remove
    261:261:java.lang.Object remove(int):468 -> remove
    262:263:java.lang.Object remove(int):472:473 -> remove
    1:1:int size():951:951 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values():1348:1369 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2 -> com.android.tools.r8.internal.qr:
    java.util.Comparator comparator -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap this$0 -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1127:1128 -> <init>
    1:1:void clear():1177:1177 -> clear
    1:1:java.util.Comparator comparator():1136:1136 -> comparator
    1:5:boolean contains(java.lang.Object):1152:1156 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2.first():1182:1182 -> first
    1:1:java.lang.Object first():1127 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1127:1127 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1197:1197 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1127 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1141:1141 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2.last():1187:1187 -> last
    1:1:java.lang.Object last():1127 -> last
    1:5:boolean remove(java.lang.Object):1162:1166 -> remove
    1:1:int size():1172:1172 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1127:1127 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1192:1192 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1127 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1127:1127 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1202:1202 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1127 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2$1 -> com.android.tools.r8.internal.pr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2 this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2):1128:1128 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):1128:1128 -> compare
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$2$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1130:1130 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):1128 -> compare
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$3 -> com.android.tools.r8.internal.rr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1348:1348 -> <init>
    1:1:void clear():1366:1366 -> clear
    1:1:boolean contains(java.lang.Object):1356:1356 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1351:1351 -> iterator
    1:1:int size():1361:1361 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry -> com.android.tools.r8.internal.sr:
    int info -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry left -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry right -> e
    1:1:void <init>():720:720 -> <init>
    2:3:void <init>(int,java.lang.Object):732:733 -> <init>
    1:2:void pred(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):804:805 -> a
    3:4:void black(boolean):858:859 -> a
    1:2:void pred(boolean):781:782 -> b
    3:4:void succ(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry):815:816 -> b
    5:5:boolean black():847:847 -> b
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry clone():899:905 -> c
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry clone():901:901 -> c
    1:1:java.lang.Object clone():698:698 -> clone
    1:1:boolean pred():761:761 -> d
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry prev():881:883 -> e
    1:3:boolean equals(java.lang.Object):912:914 -> equals
    1:1:boolean succ():770:770 -> f
    1:1:int hashCode():919:919 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):889:890 -> setValue
    1:1:java.lang.String toString():924:924 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator -> com.android.tools.r8.internal.tr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1097:1097 -> <init>
    1:1:void add(java.lang.Object):1096:1096 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1121:1121 -> add
    2:2:void add(java.lang.Object):1096 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator.next():1106:1106 -> next
    1:1:java.lang.Object next():1096 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator.previous():1111:1111 -> previous
    1:1:java.lang.Object previous():1096 -> previous
    1:1:void set(java.lang.Object):1096:1096 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$EntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1116:1116 -> set
    2:2:void set(java.lang.Object):1096 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator -> com.android.tools.r8.internal.ur:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1219:1219 -> <init>
    1:1:void add(java.lang.Object):1218:1218 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator.add(java.lang.Integer):1267:1267 -> add
    2:2:void add(java.lang.Object):1218 -> add
    1:1:int previousInt():1233:1233 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator.next():1249:1249 -> next
    1:1:java.lang.Object next():1218 -> next
    1:1:int nextInt():1228:1228 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator.previous():1255:1255 -> previous
    1:1:java.lang.Object previous():1218 -> previous
    1:1:void set(java.lang.Object):1218:1218 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeyIterator.set(java.lang.Integer):1261:1261 -> set
    2:2:void set(java.lang.Object):1218 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$KeySet -> com.android.tools.r8.internal.vr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap this$0 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1274:1274 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1):1274:1274 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1276:1276 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap -> com.android.tools.r8.internal.Dr:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    boolean bottom -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap this$0 -> j
    boolean top -> f
    int to -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> h
    int from -> c
    1:7:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap,int,boolean,int,boolean):1434:1440 -> <init>
    1:1:boolean containsKey(int):1589:1589 -> a
    2:3:java.lang.Object put(int,java.lang.Object):1613:1614 -> a
    4:4:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3236,"2":3237,"3":3238,"4":3239,"5":3240}}
    3236:3236:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3237:3237:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3238:3238:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3239:3239:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3240:3240:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    1618:1618:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    1619:1619:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3241,"2":3242,"3":3243}}
    3241:3241:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3242:3242:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3243:3243:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3233:3235:java.lang.Object put(int,java.lang.Object):1614:1616 -> a
    1:3:int firstIntKey():1718:1720 -> b
    4:4:int firstIntKey():1719:1719 -> b
    1:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap subMap(int,int):1663:1667 -> c
    1:4:void clear():1445:1448 -> clear
    1:1:java.util.Comparator comparator():1403:1403 -> comparator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator comparator():1646:1646 -> comparator
    1:5:boolean containsValue(java.lang.Object):1594:1598 -> containsValue
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap headMap(int):1651:1652 -> d
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectSortedMap tailMap(int):1657:1658 -> e
    1:1:boolean in(int):1460:1460 -> f
    1:1:java.lang.Object get(int):1608:1608 -> get
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1742:1742 -> isEmpty
    1:1:boolean isEmpty():1641 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1009:1009 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1742 -> isEmpty
    2:2:boolean isEmpty():1641 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1743:1743 -> isEmpty
    3:3:boolean isEmpty():1641 -> isEmpty
    1:3:int lastIntKey():1725:1727 -> j
    4:4:int lastIntKey():1726:1726 -> j
    1:81:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ObjectEntrySet():1465:1545 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1560:1561 -> keySet
    1:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry firstEntry():1677:1685 -> l
    10:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.next():868:870 -> l
    10:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry firstEntry():1685 -> l
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry firstEntry():1689:1689 -> l
    1:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry lastEntry():1700:1712 -> m
    1:4:java.lang.Object remove(int):1622:1625 -> remove
    1:5:int size():1630:1634 -> size
    1:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values():1566:1583 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1 -> com.android.tools.r8.internal.wr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1465:1465 -> <init>
    1:1:void clear():1517:1517 -> clear
    1:1:java.util.Comparator comparator():1478:1478 -> comparator
    1:5:boolean contains(java.lang.Object):1484:1488 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1.first():1522:1522 -> first
    1:1:java.lang.Object first():1465 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1465:1465 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1537:1537 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1465 -> headSet
    1:1:boolean isEmpty():1512:1512 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1742:1742 -> isEmpty
    2:2:boolean isEmpty():1512 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1009:1009 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1742 -> isEmpty
    3:3:boolean isEmpty():1512 -> isEmpty
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1743:1743 -> isEmpty
    4:4:boolean isEmpty():1512 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1468:1468 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1.last():1527:1527 -> last
    1:1:java.lang.Object last():1465 -> last
    1:5:boolean remove(java.lang.Object):1494:1498 -> remove
    1:1:int size():1505:1505 -> size
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.next():1782:1782 -> size
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.next():1772 -> size
    2:2:int size():1505 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465:1465 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1532:1532 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1465:1465 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1542:1542 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1465 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$2 -> com.android.tools.r8.internal.xr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1566:1566 -> <init>
    1:1:void clear():1580:1580 -> clear
    1:1:boolean contains(java.lang.Object):1572:1572 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1568:1568 -> iterator
    1:1:int size():1576:1576 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$KeySet -> com.android.tools.r8.internal.yr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap this$1 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1548:1548 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1):1548:1548 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1550:1550 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.zr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1773:1773 -> <init>
    1:1:void add(java.lang.Object):1772:1772 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1797:1797 -> add
    2:2:void add(java.lang.Object):1772 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.next():1782:1782 -> next
    1:1:java.lang.Object next():1772 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.previous():1787:1787 -> previous
    1:1:java.lang.Object previous():1772 -> previous
    1:1:void set(java.lang.Object):1772:1772 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapEntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectMap$Entry):1792:1792 -> set
    2:2:void set(java.lang.Object):1772 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.Ar:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap this$1 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1742:1743 -> <init>
    1:1:void updateNext():1767:1767 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.next():868:868 -> l
    2:2:void updateNext():1767 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.next():869:870 -> l
    3:4:void updateNext():1767 -> l
    5:6:void updateNext():1767:1768 -> l
    1:2:void updatePrevious():1762:1763 -> m
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.Br:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1813:1813 -> <init>
    1:1:void add(java.lang.Object):1811:1811 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator.add(java.lang.Integer):1861:1861 -> add
    2:2:void add(java.lang.Object):1811 -> add
    1:1:int previousInt():1827:1827 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator.next():1843:1843 -> next
    1:1:java.lang.Object next():1811 -> next
    1:1:int nextInt():1822:1822 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator.previous():1849:1849 -> previous
    1:1:java.lang.Object previous():1811 -> previous
    1:1:void set(java.lang.Object):1811:1811 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapKeyIterator.set(java.lang.Integer):1855:1855 -> set
    2:2:void set(java.lang.Object):1811 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.Cr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap):1875:1875 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1):1875:1875 -> <init>
    1:1:void add(java.lang.Object):1893:1893 -> add
    1:1:java.lang.Object next():1878:1878 -> next
    1:1:java.lang.Object previous():1883:1883 -> previous
    1:1:void set(java.lang.Object):1888:1888 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$TreeIterator -> com.android.tools.r8.internal.Er:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry next -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry curr -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry prev -> b
    int index -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap this$0 -> f
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1008:1008 -> <init>
    2:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1006:1009 -> <init>
    1:1:boolean hasNext():1022:1022 -> hasNext
    1:1:boolean hasPrevious():1026:1026 -> hasPrevious
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry nextEntry():1034:1034 -> j
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry previousEntry():1046:1046 -> k
    1:1:void updateNext():1030:1030 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.next():868:868 -> l
    2:2:void updateNext():1030 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$Entry.next():869:870 -> l
    3:4:void updateNext():1030 -> l
    5:5:void updateNext():1030:1030 -> l
    1:1:void updatePrevious():1042:1042 -> m
    1:1:int nextIndex():1054:1054 -> nextIndex
    1:1:int previousIndex():1058:1058 -> previousIndex
    1:12:void remove():1062:1062 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$ValueIterator -> com.android.tools.r8.internal.Fr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap):1312:1312 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectRBTreeMap$1):1312:1312 -> <init>
    1:1:void add(java.lang.Object):1330:1330 -> add
    1:1:java.lang.Object next():1315:1315 -> next
    1:1:java.lang.Object previous():1320:1320 -> previous
    1:1:void set(java.lang.Object):1325:1325 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap -> com.android.tools.r8.internal.Zr:
    java.util.Comparator storedComparator -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    boolean modified -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry lastEntry -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator actualComparator -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry tree -> c
    int count -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> h
    boolean[] dirPath -> m
    1:1:void <init>():79:79 -> <init>
    2:10:void <init>():73:81 -> <init>
    11:13:void <init>(java.util.Comparator):120:122 -> <init>
    14:17:void <init>(int[],java.lang.Object[],java.util.Comparator):185:188 -> <init>
    18:18:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    19:19:void <init>(int[],java.lang.Object[],java.util.Comparator):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":393,"2":394,"3":395}}
    393:393:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    394:394:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    395:395:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    205:205:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    206:206:void <init>(int[],java.lang.Object[],java.util.Comparator):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":396,"2":397,"3":398}}
    396:396:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    397:397:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    398:398:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    392:392:void <init>(int[],java.lang.Object[],java.util.Comparator):186:186 -> <init>
    399:399:void <init>(int[],java.lang.Object[]):202:202 -> <init>
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):305:315 -> a
    1:11:java.lang.Object put(int,java.lang.Object):283 -> a
    12:12:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):318 -> a
    12:12:java.lang.Object put(int,java.lang.Object):283 -> a
    13:20:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):323:330 -> a
    13:20:java.lang.Object put(int,java.lang.Object):283 -> a
    21:22:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):862:863 -> a
    21:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):331 -> a
    21:22:java.lang.Object put(int,java.lang.Object):283 -> a
    23:31:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):335:343 -> a
    23:31:java.lang.Object put(int,java.lang.Object):283 -> a
    32:33:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):851:852 -> a
    32:33:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):344 -> a
    32:33:java.lang.Object put(int,java.lang.Object):283 -> a
    34:34:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):354:354 -> a
    34:34:java.lang.Object put(int,java.lang.Object):283 -> a
    35:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.incBalance():888:888 -> a
    35:35:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):354 -> a
    35:35:java.lang.Object put(int,java.lang.Object):283 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    36:36:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.incBalance():888:888 -> a
    36:36:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):354 -> a
    36:36:java.lang.Object put(int,java.lang.Object):283 -> a
    37:37:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.decBalance():893:893 -> a
    37:37:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):355 -> a
    37:37:java.lang.Object put(int,java.lang.Object):283 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    38:38:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.decBalance():893:893 -> a
    38:38:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):355 -> a
    38:38:java.lang.Object put(int,java.lang.Object):283 -> a
    39:39:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):356:356 -> a
    39:39:java.lang.Object put(int,java.lang.Object):283 -> a
    40:40:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    40:40:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):358 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    40:40:java.lang.Object put(int,java.lang.Object):283 -> a
    41:41:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):359:359 -> a
    41:41:java.lang.Object put(int,java.lang.Object):283 -> a
    42:42:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    42:42:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):360 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:java.lang.Object put(int,java.lang.Object):283 -> a
    43:56:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):362:375 -> a
    43:56:java.lang.Object put(int,java.lang.Object):283 -> a
    57:57:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    57:57:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):376 -> a
    57:57:java.lang.Object put(int,java.lang.Object):283 -> a
    58:78:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):377:397 -> a
    58:78:java.lang.Object put(int,java.lang.Object):283 -> a
    79:79:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    79:79:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):398 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    79:79:java.lang.Object put(int,java.lang.Object):283 -> a
    80:93:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):400:413 -> a
    80:93:java.lang.Object put(int,java.lang.Object):283 -> a
    94:94:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> a
    94:94:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):414 -> a
    94:94:java.lang.Object put(int,java.lang.Object):283 -> a
    95:118:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):415:438 -> a
    95:118:java.lang.Object put(int,java.lang.Object):283 -> a
    119:120:java.lang.Object put(int,java.lang.Object):284:285 -> a
    121:121:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.add(int):348:348 -> a
    121:121:java.lang.Object put(int,java.lang.Object):283 -> a
    122:122:boolean containsKey(int):980:980 -> a
    123:201:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():1161:1239 -> a
    202:202:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):1421:1421 -> a
    1:3:int firstIntKey():1001:1001 -> b
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):1416:1416 -> b
    1:1:int compare(int,int):232:232 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):1411:1411 -> c
    1:6:void clear():701:706 -> clear
    1:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1948:1961 -> clone
    1:14:java.lang.Object clone():41 -> clone
    15:16:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):851:852 -> clone
    15:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1961 -> clone
    15:16:java.lang.Object clone():41 -> clone
    17:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1963:1968 -> clone
    17:22:java.lang.Object clone():41 -> clone
    23:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):851:852 -> clone
    23:24:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1969 -> clone
    23:24:java.lang.Object clone():41 -> clone
    25:49:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1970:1994 -> clone
    25:49:java.lang.Object clone():41 -> clone
    50:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):862:863 -> clone
    50:51:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1995 -> clone
    50:51:java.lang.Object clone():41 -> clone
    52:52:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.clone():1950:1950 -> clone
    52:52:java.lang.Object clone():41 -> clone
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator comparator():1406:1406 -> comparator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.comparator():1406:1406 -> comparator
    2:2:java.util.Comparator comparator():41 -> comparator
    1:3:boolean containsValue(java.lang.Object):689:691 -> containsValue
    4:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$ValueIterator.next():1351:1351 -> containsValue
    4:4:boolean containsValue(java.lang.Object):693 -> containsValue
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry findKey(int):245:247 -> d
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left():767:767 -> d
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry findKey(int):248 -> d
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.right():777:777 -> d
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry findKey(int):248 -> d
    1:2:java.lang.Object get(int):995:996 -> get
    1:1:boolean isEmpty():990:990 -> isEmpty
    1:3:int lastIntKey():1007:1007 -> j
    1:1:void allocatePaths():278:278 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1334:1335 -> keySet
    1:3:void setActualComparator():101:101 -> l
    1:17:java.lang.Object remove(int):484:500 -> remove
    18:20:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.next():902:904 -> remove
    18:20:java.lang.Object remove(int):500 -> remove
    21:45:java.lang.Object remove(int):500:524 -> remove
    46:46:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    46:46:java.lang.Object remove(int):525 -> remove
    47:69:java.lang.Object remove(int):525:547 -> remove
    70:70:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    70:70:java.lang.Object remove(int):548 -> remove
    71:71:java.lang.Object remove(int):548:548 -> remove
    72:89:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.parent(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):453:470 -> remove
    72:89:java.lang.Object remove(int):556 -> remove
    90:90:java.lang.Object remove(int):558:558 -> remove
    91:91:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.incBalance():888:888 -> remove
    91:91:java.lang.Object remove(int):559 -> remove
    92:92:java.lang.Object remove(int):562:562 -> remove
    93:93:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    93:93:java.lang.Object remove(int):564 -> remove
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    94:98:java.lang.Object remove(int):567:571 -> remove
    99:99:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    99:99:java.lang.Object remove(int):572 -> remove
    100:146:java.lang.Object remove(int):573:619 -> remove
    147:147:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.decBalance():893:893 -> remove
    147:147:java.lang.Object remove(int):620 -> remove
    148:148:java.lang.Object remove(int):623:623 -> remove
    149:149:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    149:149:java.lang.Object remove(int):625 -> remove
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    150:154:java.lang.Object remove(int):628:632 -> remove
    155:155:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.balance():872:872 -> remove
    155:155:java.lang.Object remove(int):633 -> remove
    156:198:java.lang.Object remove(int):634:676 -> remove
    199:200:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.parent(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):474:475 -> remove
    199:200:java.lang.Object remove(int):556 -> remove
    201:204:java.lang.Object remove(int):681:684 -> remove
    205:205:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.right():777:777 -> remove
    205:205:java.lang.Object remove(int):494 -> remove
    206:206:java.lang.Object remove(int):494:494 -> remove
    207:207:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left():767:767 -> remove
    207:207:java.lang.Object remove(int):497 -> remove
    208:208:java.lang.Object remove(int):497:497 -> remove
    1:1:int size():985:985 -> size
    1:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1384:1401 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1 -> com.android.tools.r8.internal.Hr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):102:102 -> <init>
    1:1:int compare(int,int):104:104 -> a
    1:1:int compare(java.lang.Object,java.lang.Object):102:102 -> compare
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1.compare(java.lang.Integer,java.lang.Integer):108:108 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):102 -> compare
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2 -> com.android.tools.r8.internal.Jr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> c
    java.util.Comparator comparator -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1161:1162 -> <init>
    1:1:void clear():1211:1211 -> clear
    1:1:java.util.Comparator comparator():1170:1170 -> comparator
    1:5:boolean contains(java.lang.Object):1186:1190 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2.first():1216:1216 -> first
    1:1:java.lang.Object first():1161 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1161:1161 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1231:1231 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1161 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1175:1175 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2.last():1221:1221 -> last
    1:1:java.lang.Object last():1161 -> last
    1:5:boolean remove(java.lang.Object):1196:1200 -> remove
    1:1:int size():1206:1206 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1161:1161 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1226:1226 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1161 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1161:1161 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1236:1236 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1161 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2$1 -> com.android.tools.r8.internal.Ir:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2 this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2):1162:1162 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):1162:1162 -> compare
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$2$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1164:1164 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):1162 -> compare
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$3 -> com.android.tools.r8.internal.Kr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1384:1384 -> <init>
    1:1:void clear():1398:1398 -> clear
    1:1:boolean contains(java.lang.Object):1390:1390 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1386:1386 -> iterator
    1:1:int size():1394:1394 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry -> com.android.tools.r8.internal.Lr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry right -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry left -> d
    int info -> f
    1:1:void <init>():745:745 -> <init>
    2:3:void <init>(int,java.lang.Object):757:758 -> <init>
    1:2:void pred(boolean):806:807 -> a
    3:4:void pred(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):829:830 -> a
    5:6:void balance(int):882:883 -> a
    1:2:void succ(boolean):818:819 -> b
    3:4:void succ(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry):840:841 -> b
    5:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry clone():933:939 -> b
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry clone():935:935 -> b
    1:1:boolean pred():786:786 -> c
    1:1:java.lang.Object clone():720:720 -> clone
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry prev():915:917 -> d
    1:1:boolean succ():795:795 -> e
    1:3:boolean equals(java.lang.Object):946:948 -> equals
    1:1:int hashCode():953:953 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):923:924 -> setValue
    1:1:java.lang.String toString():958:958 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator -> com.android.tools.r8.internal.Mr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1131:1131 -> <init>
    1:1:void add(java.lang.Object):1130:1130 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1155:1155 -> add
    2:2:void add(java.lang.Object):1130 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator.next():1140:1140 -> next
    1:1:java.lang.Object next():1130 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator.previous():1145:1145 -> previous
    1:1:java.lang.Object previous():1130 -> previous
    1:1:void set(java.lang.Object):1130:1130 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$EntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1150:1150 -> set
    2:2:void set(java.lang.Object):1130 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator -> com.android.tools.r8.internal.Nr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1253:1253 -> <init>
    1:1:void add(java.lang.Object):1252:1252 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator.add(java.lang.Integer):1301:1301 -> add
    2:2:void add(java.lang.Object):1252 -> add
    1:1:int previousInt():1267:1267 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator.next():1283:1283 -> next
    1:1:java.lang.Object next():1252 -> next
    1:1:int nextInt():1262:1262 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator.previous():1289:1289 -> previous
    1:1:java.lang.Object previous():1252 -> previous
    1:1:void set(java.lang.Object):1252:1252 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeyIterator.set(java.lang.Integer):1295:1295 -> set
    2:2:void set(java.lang.Object):1252 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$KeySet -> com.android.tools.r8.internal.Or:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1308:1308 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1):1308:1308 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1311:1311 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap -> com.android.tools.r8.internal.Wr:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    boolean bottom -> e
    boolean top -> f
    int to -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> h
    int from -> c
    1:7:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap,int,boolean,int,boolean):1466:1472 -> <init>
    1:81:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():1497:1577 -> a
    82:82:boolean containsKey(int):1624:1624 -> a
    83:84:java.lang.Object put(int,java.lang.Object):1648:1649 -> a
    85:85:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3387,"2":3388,"3":3389,"4":3390,"5":3391}}
    3387:3387:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3388:3388:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3389:3389:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3390:3390:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3391:3391:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    1734:1734:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    1735:1735:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3392,"2":3393,"3":3394}}
    3392:3392:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3393:3393:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3394:3394:java.lang.Object put(int,java.lang.Object):1649:1649 -> a
    3384:3386:java.lang.Object put(int,java.lang.Object):1649:1651 -> a
    3395:3399:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):1698:1702 -> a
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):1692:1693 -> b
    3:5:int firstIntKey():1753:1755 -> b
    6:6:int firstIntKey():1754:1754 -> b
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):1686:1687 -> c
    1:4:void clear():1477:1480 -> clear
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator comparator():1681:1681 -> comparator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap.comparator():1681:1681 -> comparator
    2:2:java.util.Comparator comparator():1435 -> comparator
    1:4:boolean containsValue(java.lang.Object):1629:1632 -> containsValue
    1:1:boolean in(int):1492:1492 -> d
    1:1:java.lang.Object get(int):1643:1643 -> get
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1777:1777 -> isEmpty
    1:1:boolean isEmpty():1676 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1043:1043 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1777 -> isEmpty
    2:2:boolean isEmpty():1676 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1778:1778 -> isEmpty
    3:3:boolean isEmpty():1676 -> isEmpty
    1:3:int lastIntKey():1760:1762 -> j
    4:4:int lastIntKey():1761:1761 -> j
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1712:1718 -> k
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.locateKey(int):264:264 -> k
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1718 -> k
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left():767:767 -> k
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.locateKey(int):266 -> k
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1718 -> k
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.right():777:777 -> k
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.locateKey(int):266 -> k
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1718 -> k
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1720:1720 -> k
    12:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.next():902:904 -> k
    12:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1720 -> k
    15:15:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry firstEntry():1724:1724 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1592:1593 -> keySet
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry lastEntry():1735:1741 -> l
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.locateKey(int):264:264 -> l
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry lastEntry():1741 -> l
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.left():767:767 -> l
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.locateKey(int):266 -> l
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry lastEntry():1741 -> l
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.right():777:777 -> l
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.locateKey(int):266 -> l
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry lastEntry():1741 -> l
    11:15:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry lastEntry():1743:1747 -> l
    1:4:java.lang.Object remove(int):1657:1660 -> remove
    1:5:int size():1665:1669 -> size
    1:21:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1598:1618 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1 -> com.android.tools.r8.internal.Pr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1497:1497 -> <init>
    1:1:void clear():1549:1549 -> clear
    1:1:java.util.Comparator comparator():1510:1510 -> comparator
    1:5:boolean contains(java.lang.Object):1516:1520 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1.first():1554:1554 -> first
    1:1:java.lang.Object first():1497 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1497:1497 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1569:1569 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1497 -> headSet
    1:1:boolean isEmpty():1544:1544 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1777:1777 -> isEmpty
    2:2:boolean isEmpty():1544 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1043:1043 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1777 -> isEmpty
    3:3:boolean isEmpty():1544 -> isEmpty
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1778:1778 -> isEmpty
    4:4:boolean isEmpty():1544 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1500:1500 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1.last():1559:1559 -> last
    1:1:java.lang.Object last():1497 -> last
    1:5:boolean remove(java.lang.Object):1526:1530 -> remove
    1:1:int size():1537:1537 -> size
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.next():1817:1817 -> size
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.next():1807 -> size
    2:2:int size():1537 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1497:1497 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1564:1564 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1497 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1497:1497 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1574:1574 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1497 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$2 -> com.android.tools.r8.internal.Qr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1598:1598 -> <init>
    1:1:void clear():1615:1615 -> clear
    1:1:boolean contains(java.lang.Object):1605:1605 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1600:1600 -> iterator
    1:1:int size():1610:1610 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$KeySet -> com.android.tools.r8.internal.Rr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap this$1 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1580:1580 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1):1580:1580 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1582:1582 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.Sr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1808:1808 -> <init>
    1:1:void add(java.lang.Object):1807:1807 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1832:1832 -> add
    2:2:void add(java.lang.Object):1807 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.next():1817:1817 -> next
    1:1:java.lang.Object next():1807 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.previous():1822:1822 -> previous
    1:1:java.lang.Object previous():1807 -> previous
    1:1:void set(java.lang.Object):1807:1807 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapEntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1827:1827 -> set
    2:2:void set(java.lang.Object):1807 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.Tr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap this$1 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1777:1778 -> <init>
    1:1:void updateNext():1802:1802 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.next():902:902 -> l
    2:2:void updateNext():1802 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.next():903:904 -> l
    3:4:void updateNext():1802 -> l
    5:6:void updateNext():1802:1803 -> l
    1:2:void updatePrevious():1797:1798 -> m
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.Ur:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1848:1848 -> <init>
    1:1:void add(java.lang.Object):1846:1846 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator.add(java.lang.Integer):1896:1896 -> add
    2:2:void add(java.lang.Object):1846 -> add
    1:1:int previousInt():1862:1862 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator.next():1878:1878 -> next
    1:1:java.lang.Object next():1846 -> next
    1:1:int nextInt():1857:1857 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator.previous():1884:1884 -> previous
    1:1:java.lang.Object previous():1846 -> previous
    1:1:void set(java.lang.Object):1846:1846 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapKeyIterator.set(java.lang.Integer):1890:1890 -> set
    2:2:void set(java.lang.Object):1846 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.Vr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap):1910:1910 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1):1910:1910 -> <init>
    1:1:void add(java.lang.Object):1928:1928 -> add
    1:1:java.lang.Object next():1913:1913 -> next
    1:1:java.lang.Object previous():1918:1918 -> previous
    1:1:void set(java.lang.Object):1923:1923 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$TreeIterator -> com.android.tools.r8.internal.Xr:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry curr -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap this$0 -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry next -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry prev -> b
    int index -> e
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1042:1042 -> <init>
    2:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1040:1043 -> <init>
    1:1:boolean hasNext():1056:1056 -> hasNext
    1:1:boolean hasPrevious():1060:1060 -> hasPrevious
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry nextEntry():1068:1068 -> j
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry previousEntry():1080:1080 -> k
    1:1:void updateNext():1064:1064 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.next():902:902 -> l
    2:2:void updateNext():1064 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$Entry.next():903:904 -> l
    3:4:void updateNext():1064 -> l
    5:5:void updateNext():1064:1064 -> l
    1:1:void updatePrevious():1076:1076 -> m
    1:1:int nextIndex():1088:1088 -> nextIndex
    1:1:int previousIndex():1092:1092 -> previousIndex
    1:12:void remove():1096:1096 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$ValueIterator -> com.android.tools.r8.internal.Yr:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap):1348:1348 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$1):1348:1348 -> <init>
    1:1:void add(java.lang.Object):1366:1366 -> add
    1:1:java.lang.Object next():1351:1351 -> next
    1:1:java.lang.Object previous():1356:1356 -> previous
    1:1:void set(java.lang.Object):1361:1361 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap -> com.android.tools.r8.internal.cs:
    java.lang.Object[] value -> d
    int[] key -> c
    int size -> e
    1:3:void <init>():70:72 -> <init>
    4:6:void <init>(int):81:83 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap):37:37 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.int2ReferenceEntrySet():231:231 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():37 -> a
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.findKey(int):235:235 -> a
    3:3:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap,int):37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.findKey(int):236:237 -> a
    4:5:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap,int):37 -> a
    6:8:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.findKey(int):235:237 -> a
    6:8:boolean containsKey(int):265 -> a
    9:11:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.findKey(int):235:237 -> a
    9:11:java.lang.Object put(int,java.lang.Object):283 -> a
    12:29:java.lang.Object put(int,java.lang.Object):285:302 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap):37:37 -> b
    1:1:int[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap):37:37 -> c
    1:4:void clear():257:260 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.clone():344:349 -> clone
    1:6:java.lang.Object clone():37 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.clone():346:346 -> clone
    7:7:java.lang.Object clone():37 -> clone
    1:2:boolean containsValue(java.lang.Object):270:271 -> containsValue
    1:1:java.lang.Object[] access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap):37:37 -> d
    1:4:java.lang.Object get(int):244:247 -> get
    1:1:boolean isEmpty():277:277 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():321:321 -> keySet
    1:3:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap.findKey(int):235:237 -> remove
    1:3:java.lang.Object remove(int):308 -> remove
    4:10:java.lang.Object remove(int):309:315 -> remove
    1:1:int size():252:252 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():326:326 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet -> com.android.tools.r8.internal.bs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap):133:133 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$1):133:133 -> <init>
    1:5:boolean contains(java.lang.Object):203:207 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():136:136 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet.iterator():136:136 -> iterator
    2:2:java.util.Iterator iterator():133 -> iterator
    1:12:boolean remove(java.lang.Object):213:224 -> remove
    1:1:int size():197:197 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet$1 -> com.android.tools.r8.internal.as:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet this$1 -> d
    int curr -> b
    int next -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet):136:137 -> <init>
    1:1:boolean hasNext():141:141 -> hasNext
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceArrayMap$EntrySet$1.next():147:147 -> next
    1:3:java.lang.Object next():136 -> next
    1:7:void remove():153:153 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunction -> com.android.tools.r8.internal.ds:
    boolean containsKey(int) -> a
    java.lang.Object put(int,java.lang.Object) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap -> com.android.tools.r8.internal.ms:
    java.lang.Object[] value -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> n
    int size -> l
    int n -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap$FastSortedEntrySet entries -> m
    int maxFill -> k
    int last -> h
    int first -> g
    int mask -> e
    long[] link -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> o
    int[] key -> c
    boolean containsNullKey -> f
    1:1:void <init>(int,float):146:146 -> <init>
    2:56:void <init>(int,float):101:155 -> <init>
    1:1:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,int):86:86 -> a
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.removeNullEntry():285:285 -> a
    2:2:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):86 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:7:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.removeNullEntry():286:290 -> a
    3:7:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):86 -> a
    8:32:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.insert(int,java.lang.Object):307:331 -> a
    8:32:java.lang.Object put(int,java.lang.Object):338 -> a
    33:35:java.lang.Object put(int,java.lang.Object):339:341 -> a
    36:45:boolean containsKey(int):684:693 -> a
    46:46:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):947:947 -> a
    47:48:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.int2ReferenceEntrySet():1358:1359 -> a
    47:48:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():86 -> a
    49:50:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.int2ReferenceEntrySet():1358:1359 -> a
    49:50:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():86 -> a
    1:3:int firstIntKey():905:905 -> b
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):927:927 -> b
    1:24:void fixPointers(int,int):872:895 -> c
    25:25:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):937:937 -> c
    1:6:void clear():717:722 -> clear
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.clone():1704:1714 -> clone
    1:11:java.lang.Object clone():86 -> clone
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.clone():1706:1706 -> clone
    12:12:java.lang.Object clone():86 -> clone
    1:5:boolean containsValue(java.lang.Object):700:704 -> containsValue
    1:25:void fixPointers(int):834:858 -> d
    1:42:void rehash(int):1645:1686 -> e
    1:4:java.lang.Object removeEntry(int):275:278 -> f
    5:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.shiftKeys(int):356:362 -> f
    5:11:java.lang.Object removeEntry(int):279 -> f
    12:12:java.lang.Object removeEntry(int):280:280 -> f
    13:19:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.shiftKeys(int):365:371 -> f
    13:19:java.lang.Object removeEntry(int):279 -> f
    1:11:java.lang.Object get(int):667:677 -> get
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.realSize():261:261 -> hashCode
    1:1:int hashCode():1731 -> hashCode
    2:10:int hashCode():1732:1740 -> hashCode
    1:1:boolean isEmpty():732:732 -> isEmpty
    1:3:int lastIntKey():916:916 -> j
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1491:1492 -> keySet
    1:1:void putAll(java.util.Map):296:296 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.ensureCapacity(int):265:266 -> putAll
    2:3:void putAll(java.util.Map):296 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.size():727:727 -> putAll
    4:4:void putAll(java.util.Map):298 -> putAll
    5:5:void putAll(java.util.Map):298:298 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.tryCapacity(long):270:271 -> putAll
    6:7:void putAll(java.util.Map):298 -> putAll
    8:8:void putAll(java.util.Map):301:301 -> putAll
    1:1:java.lang.Object remove(int):377:377 -> remove
    2:7:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap.removeNullEntry():285:290 -> remove
    2:7:java.lang.Object remove(int):377 -> remove
    8:18:java.lang.Object remove(int):378:388 -> remove
    1:1:int size():727:727 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1532:1553 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$1 -> com.android.tools.r8.internal.es:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1532:1532 -> <init>
    1:1:void clear():1550:1550 -> clear
    1:1:boolean contains(java.lang.Object):1545:1545 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1535:1535 -> iterator
    1:1:int size():1540:1540 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.fs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry entry -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1158:1158 -> <init>
    1:1:void add(java.lang.Object):1155:1155 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1151:1151 -> add
    2:2:void add(java.lang.Object):1155 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$EntryIterator.next():1167:1167 -> next
    1:1:java.lang.Object next():1155 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$EntryIterator.previous():1172:1172 -> previous
    1:1:java.lang.Object previous():1155 -> previous
    1:2:void remove():1177:1178 -> remove
    1:1:void set(java.lang.Object):1155:1155 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1147:1147 -> set
    2:2:void set(java.lang.Object):1155 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.gs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1409:1410 -> <init>
    1:1:void add(java.lang.Object):1371:1371 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeyIterator.add(java.lang.Integer):1406:1406 -> add
    2:2:void add(java.lang.Object):1371 -> add
    1:1:int previousInt():1378:1378 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeyIterator.next():1421:1421 -> next
    1:1:java.lang.Object next():1371 -> next
    1:1:int nextInt():1415:1415 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeyIterator.previous():1394:1394 -> previous
    1:1:java.lang.Object previous():1371 -> previous
    1:1:void set(java.lang.Object):1371:1371 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeyIterator.set(java.lang.Integer):1400:1400 -> set
    2:2:void set(java.lang.Object):1371 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.hs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1425:1425 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$1):1425:1425 -> <init>
    1:3:int firstInt():1458:1458 -> L
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int):1475:1475 -> a
    1:1:void clear():1453:1453 -> clear
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet headSet(int):1480:1480 -> d
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet subSet(int,int):1485:1485 -> d
    1:1:boolean contains(int):1441:1441 -> f
    1:3:boolean remove(int):1446:1448 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeySet.iterator():1431:1431 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1425 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeySet.iterator():1431:1431 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():1425 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$KeySet.iterator():1431:1431 -> iterator
    3:3:java.util.Iterator iterator():1425 -> iterator
    1:3:int lastInt():1464:1464 -> p
    1:1:int size():1436:1436 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.is:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,int):771:772 -> <init>
    1:1:int getIntKey():780:780 -> a
    1:3:boolean equals(java.lang.Object):810:812 -> equals
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntry.getKey():804:804 -> getKey
    1:1:java.lang.Object getKey():766 -> getKey
    1:1:java.lang.Object getValue():785:785 -> getValue
    1:1:int hashCode():817:817 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):790:791 -> setValue
    1:1:java.lang.String toString():822:822 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.js:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1205:1205 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$1):1205:1205 -> <init>
    1:1:void clear():1309:1309 -> clear
    1:16:boolean contains(java.lang.Object):1245:1260 -> contains
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet.first():1232:1232 -> first
    1:3:java.lang.Object first():1205 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1205:1205 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1222:1222 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1205 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1207:1207 -> iterator
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet.last():1238:1238 -> last
    1:3:java.lang.Object last():1205 -> last
    1:29:boolean remove(java.lang.Object):1267:1295 -> remove
    1:1:int size():1304:1304 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1205:1205 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1217:1217 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1205 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1205:1205 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1227:1227 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1205 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.ks:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> f
    int curr -> d
    int index -> e
    int prev -> b
    int next -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$1):967:967 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):992:992 -> <init>
    3:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):973:994 -> <init>
    1:1:boolean hasNext():1026:1026 -> hasNext
    1:1:boolean hasPrevious():1030:1030 -> hasPrevious
    1:14:void ensureIndexKnown():1034:1047 -> j
    1:6:int nextEntry():1062:1062 -> k
    1:6:int previousEntry():1071:1071 -> l
    1:2:int nextIndex():1052:1053 -> nextIndex
    1:2:int previousIndex():1057:1058 -> previousIndex
    1:48:void remove():1080:1127 -> remove
    49:49:void remove():1081:1081 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.ls:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceLinkedOpenHashMap):1520:1521 -> <init>
    1:1:void add(java.lang.Object):1517:1517 -> add
    1:1:java.lang.Object next():1526:1526 -> next
    1:1:java.lang.Object previous():1507:1507 -> previous
    1:1:void set(java.lang.Object):1512:1512 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap -> com.android.tools.r8.internal.ps:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet() -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry -> com.android.tools.r8.internal.ns:
    int getIntKey() -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$FastEntrySet -> com.android.tools.r8.internal.os:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps -> com.android.tools.r8.internal.rs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps$EmptyMap EMPTY_MAP -> a
    1:1:void <clinit>():124:124 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps$EmptyMap -> com.android.tools.r8.internal.qs:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunctions$EmptyFunction.<init>():41:41 -> <init>
    1:1:void <init>():46 -> <init>
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunctions$EmptyFunction.containsKey(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():62:62 -> a
    void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunctions$EmptyFunction.clear() -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Object clone():95:95 -> clone
    1:1:java.util.Set entrySet():43:43 -> entrySet
    1:2:boolean equals(java.lang.Object):110:111 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():75:75 -> f
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunctions$EmptyFunction.get(int) -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Set keySet():43:43 -> keySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():80:80 -> keySet
    1:1:void putAll(java.util.Map):56:56 -> putAll
    int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceFunctions$EmptyFunction.size() -> size
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():116:116 -> toString
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():86:86 -> values
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMaps$EmptyMap.values():86:86 -> values
    2:2:java.util.Collection values():43 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap -> com.android.tools.r8.internal.As:
    java.lang.Object[] value -> d
    float f -> j
    int[] key -> c
    int maxFill -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> m
    int size -> i
    boolean containsNullKey -> f
    int n -> g
    int mask -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keys -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$FastEntrySet entries -> k
    1:9:void <init>(int,float):91:99 -> <init>
    10:10:void <init>(int,float):93:93 -> <init>
    11:11:void <init>():119:119 -> <init>
    12:13:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,float):155:156 -> <init>
    1:1:java.lang.Object access$400(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,int):49:49 -> a
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.removeNullEntry():228:228 -> a
    2:2:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.removeNullEntry():229:232 -> a
    3:6:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):49 -> a
    7:22:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.insert(int,java.lang.Object):249:264 -> a
    7:22:java.lang.Object put(int,java.lang.Object):271 -> a
    23:25:java.lang.Object put(int,java.lang.Object):272:274 -> a
    26:35:boolean containsKey(int):344:353 -> a
    36:37:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.int2ReferenceEntrySet():707:708 -> a
    36:37:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():49 -> a
    1:5:void clear():377:381 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.clone():945:954 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.clone():947:947 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:5:boolean containsValue(java.lang.Object):360:364 -> containsValue
    1:7:void rehash(int):907:913 -> d
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.realSize():205:205 -> d
    8:8:void rehash(int):914 -> d
    9:21:void rehash(int):915:927 -> d
    1:3:java.lang.Object removeEntry(int):219:221 -> e
    4:10:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.shiftKeys(int):289:295 -> e
    4:10:java.lang.Object removeEntry(int):222 -> e
    11:11:java.lang.Object removeEntry(int):223:223 -> e
    12:17:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.shiftKeys(int):298:303 -> e
    12:17:java.lang.Object removeEntry(int):222 -> e
    1:11:java.lang.Object get(int):327:337 -> get
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():971 -> hashCode
    2:10:int hashCode():972:980 -> hashCode
    1:1:boolean isEmpty():391:391 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():768:769 -> keySet
    1:1:void putAll(java.util.Map):238:238 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):238 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.size():386:386 -> putAll
    4:4:void putAll(java.util.Map):240 -> putAll
    5:5:void putAll(java.util.Map):240:240 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):240 -> putAll
    8:8:void putAll(java.util.Map):243:243 -> putAll
    1:1:java.lang.Object remove(int):309:309 -> remove
    2:6:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.removeNullEntry():228:232 -> remove
    2:6:java.lang.Object remove(int):309 -> remove
    7:17:java.lang.Object remove(int):310:320 -> remove
    1:1:int size():386:386 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():794:815 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1 -> com.android.tools.r8.internal.ss:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):794:794 -> <init>
    1:1:void clear():812:812 -> clear
    1:1:boolean contains(java.lang.Object):807:807 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():797:797 -> iterator
    1:1:int size():802:802 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$EntryIterator -> com.android.tools.r8.internal.ts:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):600:600 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1):600:600 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$EntryIterator.next():605:605 -> next
    1:1:java.lang.Object next():600 -> next
    1:2:void remove():610:611 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeyIterator -> com.android.tools.r8.internal.us:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):721:722 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeyIterator.next():733:733 -> next
    1:1:java.lang.Object next():720 -> next
    1:1:int nextInt():727:727 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$KeySet -> com.android.tools.r8.internal.vs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):737:737 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1):737:737 -> <init>
    1:1:void clear():762:762 -> clear
    1:1:boolean contains(int):750:750 -> f
    1:3:boolean remove(int):755:757 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():740:740 -> iterator
    1:1:int size():745:745 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntry -> com.android.tools.r8.internal.ws:
    int index -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,int):430:431 -> <init>
    1:1:int getIntKey():439:439 -> a
    1:3:boolean equals(java.lang.Object):469:471 -> equals
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntry.getKey():463:463 -> getKey
    1:1:java.lang.Object getKey():425 -> getKey
    1:1:java.lang.Object getValue():444:444 -> getValue
    1:1:int hashCode():476:476 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):449:450 -> setValue
    1:1:java.lang.String toString():481:481 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.xs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):625:625 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1):625:625 -> <init>
    1:1:void clear():701:701 -> clear
    1:16:boolean contains(java.lang.Object):637:652 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():627:627 -> iterator
    1:29:boolean remove(java.lang.Object):659:687 -> remove
    1:1:int size():696:696 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapIterator -> com.android.tools.r8.internal.ys:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrapped -> f
    boolean mustReturnNullKey -> e
    int c -> d
    int pos -> b
    int last -> c
    1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):486:509 -> <init>
    25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$1):486:486 -> <init>
    1:1:boolean hasNext():517:517 -> hasNext
    1:19:int nextEntry():521:521 -> j
    1:5:void remove():576:580 -> remove
    6:12:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapIterator.shiftKeys(int):553:559 -> remove
    6:12:void remove():580 -> remove
    13:14:void remove():587:588 -> remove
    15:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$MapIterator.shiftKeys(int):562:571 -> remove
    15:24:void remove():580 -> remove
    25:26:void remove():583:584 -> remove
    27:27:void remove():576:576 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap$ValueIterator -> com.android.tools.r8.internal.zs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap):782:783 -> <init>
    1:1:java.lang.Object next():788:788 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap -> com.android.tools.r8.internal.Ss:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry[] nodePath -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry tree -> c
    boolean modified -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry lastEntry -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry firstEntry -> e
    int count -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> h
    boolean[] dirPath -> k
    1:1:void <init>():81:81 -> <init>
    2:10:void <init>():75:83 -> <init>
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):310:320 -> a
    1:11:java.lang.Object put(int,java.lang.Object):288 -> a
    12:12:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.compare(int,int):234:234 -> a
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):320 -> a
    12:12:java.lang.Object put(int,java.lang.Object):288 -> a
    13:23:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):324:334 -> a
    13:23:java.lang.Object put(int,java.lang.Object):288 -> a
    24:25:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):837:838 -> a
    24:25:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):335 -> a
    24:25:java.lang.Object put(int,java.lang.Object):288 -> a
    26:33:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):338:345 -> a
    26:33:java.lang.Object put(int,java.lang.Object):288 -> a
    34:35:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):826:827 -> a
    34:35:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):346 -> a
    34:35:java.lang.Object put(int,java.lang.Object):288 -> a
    36:70:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):352:386 -> a
    36:70:java.lang.Object put(int,java.lang.Object):288 -> a
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.succ(boolean):794:794 -> a
    71:71:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):387 -> a
    71:71:java.lang.Object put(int,java.lang.Object):288 -> a
    72:92:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):388:408 -> a
    72:92:java.lang.Object put(int,java.lang.Object):288 -> a
    93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.succ(boolean):794:794 -> a
    93:93:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):409 -> a
    93:93:java.lang.Object put(int,java.lang.Object):288 -> a
    94:119:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):410:435 -> a
    94:119:java.lang.Object put(int,java.lang.Object):288 -> a
    120:121:java.lang.Object put(int,java.lang.Object):289:290 -> a
    122:122:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.add(int):349:349 -> a
    122:122:java.lang.Object put(int,java.lang.Object):288 -> a
    123:123:boolean containsKey(int):946:946 -> a
    124:202:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():1127:1205 -> a
    203:203:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):1389:1389 -> a
    1:3:int firstIntKey():967:967 -> b
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):1384:1384 -> b
    1:1:int compare(int,int):234:234 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):1379:1379 -> c
    1:6:void clear():679:684 -> clear
    1:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1913:1926 -> clone
    1:14:java.lang.Object clone():43 -> clone
    15:16:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):826:827 -> clone
    15:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1926 -> clone
    15:16:java.lang.Object clone():43 -> clone
    17:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1928:1933 -> clone
    17:22:java.lang.Object clone():43 -> clone
    23:24:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):826:827 -> clone
    23:24:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1934 -> clone
    23:24:java.lang.Object clone():43 -> clone
    25:49:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1935:1959 -> clone
    25:49:java.lang.Object clone():43 -> clone
    50:51:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):837:838 -> clone
    50:51:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1960 -> clone
    50:51:java.lang.Object clone():43 -> clone
    52:52:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.clone():1915:1915 -> clone
    52:52:java.lang.Object clone():43 -> clone
    1:3:boolean containsValue(java.lang.Object):667:669 -> containsValue
    4:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$ValueIterator.next():1315:1315 -> containsValue
    4:4:boolean containsValue(java.lang.Object):671 -> containsValue
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry findKey(int):247:249 -> d
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.compare(int,int):234:234 -> d
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry findKey(int):249 -> d
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.left():742:742 -> d
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry findKey(int):250 -> d
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.right():752:752 -> d
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry findKey(int):250 -> d
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry locateKey(int):264:266 -> e
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.compare(int,int):234:234 -> e
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry locateKey(int):266 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.left():742:742 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry locateKey(int):268 -> e
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.right():752:752 -> e
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry locateKey(int):268 -> e
    1:2:java.lang.Object get(int):961:962 -> get
    1:1:boolean isEmpty():956:956 -> isEmpty
    1:3:int lastIntKey():973:973 -> j
    1:2:void allocatePaths():282:283 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1298:1299 -> keySet
    1:8:java.lang.Object remove(int):449:456 -> remove
    9:9:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap.compare(int,int):234:234 -> remove
    9:9:java.lang.Object remove(int):456 -> remove
    10:10:java.lang.Object remove(int):477:477 -> remove
    11:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.next():868:870 -> remove
    11:13:java.lang.Object remove(int):477 -> remove
    14:67:java.lang.Object remove(int):477:530 -> remove
    68:69:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):837:838 -> remove
    68:69:java.lang.Object remove(int):530 -> remove
    70:118:java.lang.Object remove(int):531:579 -> remove
    119:119:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.succ(boolean):794:794 -> remove
    119:119:java.lang.Object remove(int):580 -> remove
    120:135:java.lang.Object remove(int):581:596 -> remove
    136:209:java.lang.Object remove(int):570:643 -> remove
    210:210:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.succ(boolean):794:794 -> remove
    210:210:java.lang.Object remove(int):644 -> remove
    211:211:java.lang.Object remove(int):645:645 -> remove
    212:255:java.lang.Object remove(int):619:662 -> remove
    256:257:java.lang.Object remove(int):457:458 -> remove
    258:258:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.right():752:752 -> remove
    258:258:java.lang.Object remove(int):460 -> remove
    259:260:java.lang.Object remove(int):464:465 -> remove
    261:261:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.left():742:742 -> remove
    261:261:java.lang.Object remove(int):468 -> remove
    262:263:java.lang.Object remove(int):472:473 -> remove
    1:1:int size():951:951 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1348:1369 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2 -> com.android.tools.r8.internal.Cs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> c
    java.util.Comparator comparator -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1127:1128 -> <init>
    1:1:void clear():1177:1177 -> clear
    1:1:java.util.Comparator comparator():1136:1136 -> comparator
    1:5:boolean contains(java.lang.Object):1152:1156 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2.first():1182:1182 -> first
    1:1:java.lang.Object first():1127 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1127:1127 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1197:1197 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1127 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1141:1141 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2.last():1187:1187 -> last
    1:1:java.lang.Object last():1127 -> last
    1:5:boolean remove(java.lang.Object):1162:1166 -> remove
    1:1:int size():1172:1172 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1127:1127 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1192:1192 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1127 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1127:1127 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1202:1202 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1127 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2$1 -> com.android.tools.r8.internal.Bs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2 this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2):1128:1128 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):1128:1128 -> compare
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$2$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1130:1130 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):1128 -> compare
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$3 -> com.android.tools.r8.internal.Ds:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1348:1348 -> <init>
    1:1:void clear():1366:1366 -> clear
    1:1:boolean contains(java.lang.Object):1356:1356 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1351:1351 -> iterator
    1:1:int size():1361:1361 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry -> com.android.tools.r8.internal.Es:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry left -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry right -> e
    int info -> f
    1:1:void <init>():720:720 -> <init>
    2:3:void <init>(int,java.lang.Object):732:733 -> <init>
    1:2:void pred(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):804:805 -> a
    3:4:void black(boolean):858:859 -> a
    1:2:void pred(boolean):781:782 -> b
    3:4:void succ(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry):815:816 -> b
    5:5:boolean black():847:847 -> b
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry clone():899:905 -> c
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry clone():901:901 -> c
    1:1:java.lang.Object clone():698:698 -> clone
    1:1:boolean pred():761:761 -> d
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry prev():881:883 -> e
    1:3:boolean equals(java.lang.Object):912:914 -> equals
    1:1:boolean succ():770:770 -> f
    1:1:int hashCode():919:919 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):889:890 -> setValue
    1:1:java.lang.String toString():924:924 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator -> com.android.tools.r8.internal.Fs:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1097:1097 -> <init>
    1:1:void add(java.lang.Object):1096:1096 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1121:1121 -> add
    2:2:void add(java.lang.Object):1096 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator.next():1106:1106 -> next
    1:1:java.lang.Object next():1096 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator.previous():1111:1111 -> previous
    1:1:java.lang.Object previous():1096 -> previous
    1:1:void set(java.lang.Object):1096:1096 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$EntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1116:1116 -> set
    2:2:void set(java.lang.Object):1096 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator -> com.android.tools.r8.internal.Gs:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1219:1219 -> <init>
    1:1:void add(java.lang.Object):1218:1218 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator.add(java.lang.Integer):1267:1267 -> add
    2:2:void add(java.lang.Object):1218 -> add
    1:1:int previousInt():1233:1233 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator.next():1249:1249 -> next
    1:1:java.lang.Object next():1218 -> next
    1:1:int nextInt():1228:1228 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator.previous():1255:1255 -> previous
    1:1:java.lang.Object previous():1218 -> previous
    1:1:void set(java.lang.Object):1218:1218 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeyIterator.set(java.lang.Integer):1261:1261 -> set
    2:2:void set(java.lang.Object):1218 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$KeySet -> com.android.tools.r8.internal.Hs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1274:1274 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1):1274:1274 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1276:1276 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap -> com.android.tools.r8.internal.Ps:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> j
    boolean bottom -> e
    boolean top -> f
    int to -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keys -> h
    int from -> c
    1:7:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap,int,boolean,int,boolean):1434:1440 -> <init>
    1:81:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():1465:1545 -> a
    82:82:boolean containsKey(int):1589:1589 -> a
    83:84:java.lang.Object put(int,java.lang.Object):1613:1614 -> a
    85:85:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3317,"2":3318,"3":3319,"4":3320,"5":3321}}
    3317:3317:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3318:3318:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3319:3319:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3320:3320:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3321:3321:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    1699:1699:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    1700:1700:java.lang.Object put(int,java.lang.Object):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3322,"2":3323,"3":3324}}
    3322:3322:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3323:3323:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3324:3324:java.lang.Object put(int,java.lang.Object):1614:1614 -> a
    3314:3316:java.lang.Object put(int,java.lang.Object):1614:1616 -> a
    3325:3329:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):1663:1667 -> a
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):1657:1658 -> b
    3:5:int firstIntKey():1718:1720 -> b
    6:6:int firstIntKey():1719:1719 -> b
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):1651:1652 -> c
    1:4:void clear():1445:1448 -> clear
    1:1:java.util.Comparator comparator():1403:1403 -> comparator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator comparator():1646:1646 -> comparator
    1:4:boolean containsValue(java.lang.Object):1594:1597 -> containsValue
    1:1:boolean in(int):1460:1460 -> d
    1:1:java.lang.Object get(int):1608:1608 -> get
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1742:1742 -> isEmpty
    1:1:boolean isEmpty():1641 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1009:1009 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1742 -> isEmpty
    2:2:boolean isEmpty():1641 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1743:1743 -> isEmpty
    3:3:boolean isEmpty():1641 -> isEmpty
    1:3:int lastIntKey():1725:1727 -> j
    4:4:int lastIntKey():1726:1726 -> j
    1:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry firstEntry():1677:1685 -> k
    10:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.next():868:870 -> k
    10:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry firstEntry():1685 -> k
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry firstEntry():1689:1689 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():1560:1561 -> keySet
    1:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry lastEntry():1700:1712 -> l
    1:4:java.lang.Object remove(int):1622:1625 -> remove
    1:5:int size():1630:1634 -> size
    1:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values():1566:1583 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1 -> com.android.tools.r8.internal.Is:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1465:1465 -> <init>
    1:1:void clear():1517:1517 -> clear
    1:1:java.util.Comparator comparator():1478:1478 -> comparator
    1:5:boolean contains(java.lang.Object):1484:1488 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1.first():1522:1522 -> first
    1:1:java.lang.Object first():1465 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1465:1465 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1537:1537 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1465 -> headSet
    1:1:boolean isEmpty():1512:1512 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1742:1742 -> isEmpty
    2:2:boolean isEmpty():1512 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1009:1009 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1742 -> isEmpty
    3:3:boolean isEmpty():1512 -> isEmpty
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1743:1743 -> isEmpty
    4:4:boolean isEmpty():1512 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1468:1468 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1.last():1527:1527 -> last
    1:1:java.lang.Object last():1465 -> last
    1:5:boolean remove(java.lang.Object):1494:1498 -> remove
    1:1:int size():1505:1505 -> size
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.next():1782:1782 -> size
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.next():1772 -> size
    2:2:int size():1505 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465:1465 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1532:1532 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1465:1465 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1542:1542 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1465 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$2 -> com.android.tools.r8.internal.Js:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1566:1566 -> <init>
    1:1:void clear():1580:1580 -> clear
    1:1:boolean contains(java.lang.Object):1572:1572 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1568:1568 -> iterator
    1:1:int size():1576:1576 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$KeySet -> com.android.tools.r8.internal.Ks:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap this$1 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1548:1548 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1):1548:1548 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():1550:1550 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.Ls:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1773:1773 -> <init>
    1:1:void add(java.lang.Object):1772:1772 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1797:1797 -> add
    2:2:void add(java.lang.Object):1772 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.next():1782:1782 -> next
    1:1:java.lang.Object next():1772 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.previous():1787:1787 -> previous
    1:1:java.lang.Object previous():1772 -> previous
    1:1:void set(java.lang.Object):1772:1772 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapEntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap$Entry):1792:1792 -> set
    2:2:void set(java.lang.Object):1772 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.Ms:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap this$1 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1742:1743 -> <init>
    1:1:void updateNext():1767:1767 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.next():868:868 -> l
    2:2:void updateNext():1767 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.next():869:870 -> l
    3:4:void updateNext():1767 -> l
    5:6:void updateNext():1767:1768 -> l
    1:2:void updatePrevious():1762:1763 -> m
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.Ns:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1813:1813 -> <init>
    1:1:void add(java.lang.Object):1811:1811 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator.add(java.lang.Integer):1861:1861 -> add
    2:2:void add(java.lang.Object):1811 -> add
    1:1:int previousInt():1827:1827 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator.next():1843:1843 -> next
    1:1:java.lang.Object next():1811 -> next
    1:1:int nextInt():1822:1822 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator.previous():1849:1849 -> previous
    1:1:java.lang.Object previous():1811 -> previous
    1:1:void set(java.lang.Object):1811:1811 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapKeyIterator.set(java.lang.Integer):1855:1855 -> set
    2:2:void set(java.lang.Object):1811 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.Os:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap):1875:1875 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1):1875:1875 -> <init>
    1:1:void add(java.lang.Object):1893:1893 -> add
    1:1:java.lang.Object next():1878:1878 -> next
    1:1:java.lang.Object previous():1883:1883 -> previous
    1:1:void set(java.lang.Object):1888:1888 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$TreeIterator -> com.android.tools.r8.internal.Qs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry prev -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry curr -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry next -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap this$0 -> f
    int index -> e
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1008:1008 -> <init>
    2:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1006:1009 -> <init>
    1:1:boolean hasNext():1022:1022 -> hasNext
    1:1:boolean hasPrevious():1026:1026 -> hasPrevious
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry nextEntry():1034:1034 -> j
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry previousEntry():1046:1046 -> k
    1:1:void updateNext():1030:1030 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.next():868:868 -> l
    2:2:void updateNext():1030 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$Entry.next():869:870 -> l
    3:4:void updateNext():1030 -> l
    5:5:void updateNext():1030:1030 -> l
    1:1:void updatePrevious():1042:1042 -> m
    1:1:int nextIndex():1054:1054 -> nextIndex
    1:1:int previousIndex():1058:1058 -> previousIndex
    1:12:void remove():1062:1062 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$ValueIterator -> com.android.tools.r8.internal.Rs:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap):1312:1312 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceRBTreeMap$1):1312:1312 -> <init>
    1:1:void add(java.lang.Object):1330:1330 -> add
    1:1:java.lang.Object next():1315:1315 -> next
    1:1:java.lang.Object previous():1320:1320 -> previous
    1:1:void set(java.lang.Object):1325:1325 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap -> com.android.tools.r8.internal.Us:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet() -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int) -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(java.lang.Integer,java.lang.Integer) -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(java.lang.Integer) -> a
    int firstIntKey() -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(java.lang.Integer) -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int) -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int) -> c
    int lastIntKey() -> j
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.Ts:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMaps -> com.android.tools.r8.internal.Ws:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMaps$EmptySortedMap EMPTY_MAP -> a
    1:1:void <clinit>():185:185 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMaps$EmptySortedMap -> com.android.tools.r8.internal.Vs:
    1:1:void <init>():60:60 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():57:57 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():71:71 -> a
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):95:95 -> a
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(java.lang.Integer):141:141 -> a
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(java.lang.Integer,java.lang.Integer):153:153 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):107:107 -> b
    2:2:int firstIntKey():112:112 -> b
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(java.lang.Integer):129:129 -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):101:101 -> c
    1:1:java.util.Set entrySet():57:57 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entrySet():84:84 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():57:57 -> f
    1:1:java.lang.Object firstKey():57:57 -> firstKey
    2:2:java.lang.Integer firstKey():165:165 -> firstKey
    1:1:java.util.SortedMap headMap(java.lang.Object):57:57 -> headMap
    1:1:int lastIntKey():117:117 -> j
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():57:57 -> keySet
    2:2:java.util.Set keySet():57:57 -> keySet
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():89:89 -> keySet
    1:1:java.lang.Object lastKey():57:57 -> lastKey
    2:2:java.lang.Integer lastKey():177:177 -> lastKey
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):57:57 -> subMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):57:57 -> tailMap
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList -> com.android.tools.r8.internal.at:
    int[] a -> b
    int size -> c
    1:2:void <init>(int[],boolean):70:71 -> <init>
    3:5:void <init>(int):81:83 -> <init>
    6:6:void <init>(int):82:82 -> <init>
    7:7:void <init>(int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":90,"2":91,"3":92,"4":93,"5":94,"6":95}}
    90:90:void <init>(int):82:82 -> <init>
    91:91:void <init>(int):82:82 -> <init>
    92:92:void <init>(int):82:82 -> <init>
    93:93:void <init>(int):82:82 -> <init>
    94:94:void <init>(int):82:82 -> <init>
    95:95:void <init>(int):82:82 -> <init>
    89:89:void <init>(int):82:82 -> <init>
    96:96:void <init>():90:90 -> <init>
    97:97:void <init>(int[]):135:135 -> <init>
    98:100:void <init>(int[],int,int):149:151 -> <init>
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389:389 -> a
    1:1:void getElements(int,int[],int,int):393 -> a
    2:2:void getElements(int,int[],int,int):394:394 -> a
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):73:73 -> a
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    3:3:void getElements(int,int[],int,int):393 -> a
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    4:4:void getElements(int,int[],int,int):393 -> a
    5:5:void getElements(int,int[],int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":10,"2":11,"3":12,"4":13,"5":14,"6":15}}
    10:10:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    10:10:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    10:10:void getElements(int,int[],int,int):393 -> a
    11:11:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    11:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    11:11:void getElements(int,int[],int,int):393 -> a
    12:12:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    12:12:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    12:12:void getElements(int,int[],int,int):393 -> a
    13:13:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    13:13:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    13:13:void getElements(int,int[],int,int):393 -> a
    14:14:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    14:14:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    14:14:void getElements(int,int[],int,int):393 -> a
    15:15:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    15:15:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    15:15:void getElements(int,int[],int,int):393 -> a
    6:6:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):72:72 -> a
    6:6:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    6:6:void getElements(int,int[],int,int):393 -> a
    7:7:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    7:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    7:7:void getElements(int,int[],int,int):393 -> a
    8:8:void getElements(int,int[],int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16,"2":17,"3":18,"4":19,"5":20,"6":21}}
    16:16:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    16:16:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    16:16:void getElements(int,int[],int,int):393 -> a
    17:17:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    17:17:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    17:17:void getElements(int,int[],int,int):393 -> a
    18:18:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    18:18:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    18:18:void getElements(int,int[],int,int):393 -> a
    19:19:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    19:19:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    19:19:void getElements(int,int[],int,int):393 -> a
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    20:20:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    20:20:void getElements(int,int[],int,int):393 -> a
    21:21:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    21:21:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    21:21:void getElements(int,int[],int,int):393 -> a
    9:9:void com.android.tools.r8.it.unimi.dsi.fastutil.Arrays.ensureOffsetLength(int,int,int):71:71 -> a
    9:9:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.ensureOffsetLength(int[],int,int):389 -> a
    9:9:void getElements(int,int[],int,int):393 -> a
    22:24:void removeElements(int,int):407:409 -> a
    25:26:int[] toArray(int[]):436:437 -> a
    27:33:boolean addAll(int,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList):458:464 -> a
    1:2:boolean add(int):266:267 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224:224 -> b
    2:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    2:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":10,"2":11,"3":12,"4":13,"5":14}}
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    14:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    14:14:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":15,"2":16,"3":17}}
    15:15:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    15:15:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    16:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    16:16:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    17:17:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    17:17:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.wrap(int[],int):205:205 -> b
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrap(int[]):224 -> b
    18:22:void add(int,int):256:260 -> b
    23:25:int getInt(int):274:274 -> b
    26:26:int getInt(int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":576,"2":577,"3":578,"4":579,"5":580}}
    576:576:int getInt(int):274:274 -> b
    577:577:int getInt(int):274:274 -> b
    578:578:int getInt(int):274:274 -> b
    579:579:int getInt(int):274:274 -> b
    580:580:int getInt(int):274:274 -> b
    300:300:int getInt(int):274:274 -> b
    301:301:int getInt(int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":581,"2":582,"3":583}}
    581:581:int getInt(int):274:274 -> b
    582:582:int getInt(int):274:274 -> b
    583:583:int getInt(int):274:274 -> b
    575:575:int getInt(int):274:274 -> b
    1:4:int set(int,int):313:313 -> c
    5:5:int set(int,int):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":633,"2":634,"3":635,"4":636,"5":637}}
    633:633:int set(int,int):313:313 -> c
    634:634:int set(int,int):313:313 -> c
    635:635:int set(int,int):313:313 -> c
    636:636:int set(int,int):313:313 -> c
    637:637:int set(int,int):313:313 -> c
    318:318:int set(int,int):313:313 -> c
    319:319:int set(int,int):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":638,"2":639,"3":640}}
    638:638:int set(int,int):313:313 -> c
    639:639:int set(int,int):313:313 -> c
    640:640:int set(int,int):313:313 -> c
    632:632:int set(int,int):313:313 -> c
    1:1:void clear():321:321 -> clear
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList.clone():549:551 -> clone
    1:3:java.lang.Object clone():48 -> clone
    1:5:int removeInt(int):294:294 -> g
    6:6:int removeInt(int):0:0 -> g
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":596,"2":597,"3":598,"4":599,"5":600}}
    596:596:int removeInt(int):294:294 -> g
    597:597:int removeInt(int):294:294 -> g
    598:598:int removeInt(int):294:294 -> g
    599:599:int removeInt(int):294:294 -> g
    600:600:int removeInt(int):294:294 -> g
    300:300:int removeInt(int):294:294 -> g
    301:301:int removeInt(int):0:0 -> g
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":601,"2":602,"3":603}}
    601:601:int removeInt(int):294:294 -> g
    602:602:int removeInt(int):294:294 -> g
    603:603:int removeInt(int):294:294 -> g
    595:595:int removeInt(int):294:294 -> g
    1:3:boolean rem(int):304:306 -> h
    1:1:boolean isEmpty():339:339 -> isEmpty
    1:2:int indexOf(int):280:281 -> k
    1:2:int lastIndexOf(int):287:288 -> l
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator listIterator(int):493:494 -> m
    1:1:void grow(int):250:250 -> n
    2:5:int[] com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays.grow(int[],int,int):204:207 -> n
    2:5:void grow(int):250 -> n
    6:6:void grow(int):250:250 -> n
    1:6:boolean removeAll(java.util.Collection):482:487 -> removeAll
    1:1:int size():327:327 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList$1 -> com.android.tools.r8.internal.Zs:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList this$0 -> d
    int pos -> b
    int last -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList,int):494:495 -> <init>
    1:2:void add(int):524:525 -> a
    1:3:void set(int):529:529 -> b
    1:3:int previousInt():511:511 -> c
    1:1:boolean hasNext():498:498 -> hasNext
    1:1:boolean hasPrevious():502:502 -> hasPrevious
    1:1:int nextIndex():516:516 -> nextIndex
    1:3:int nextInt():506:506 -> nextInt
    1:1:int previousIndex():520:520 -> previousIndex
    1:10:void remove():534:534 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet -> com.android.tools.r8.internal.ct:
    int[] a -> b
    int size -> c
    1:2:void <init>():55:56 -> <init>
    3:4:void <init>(int):65:66 -> <init>
    5:6:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):76:77 -> <init>
    7:8:void <init>(java.util.Collection):87:88 -> <init>
    9:12:void <init>(int[],int):104:107 -> <init>
    13:13:void <init>(int[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":229,"2":230,"3":231,"4":232,"5":233}}
    229:229:void <init>(int[],int):107:107 -> <init>
    230:230:void <init>(int[],int):107:107 -> <init>
    231:231:void <init>(int[],int):107:107 -> <init>
    232:232:void <init>(int[],int):107:107 -> <init>
    233:233:void <init>(int[],int):107:107 -> <init>
    120:120:void <init>(int[],int):107:107 -> <init>
    121:121:void <init>(int[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":234,"2":235,"3":236}}
    234:234:void <init>(int[],int):107:107 -> <init>
    235:235:void <init>(int[],int):107:107 -> <init>
    236:236:void <init>(int[],int):107:107 -> <init>
    228:228:void <init>(int[],int):107:107 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet):29:29 -> a
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.findKey(int):111:112 -> add
    1:2:boolean add(int):164 -> add
    3:9:boolean add(int):166:172 -> add
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet):29:29 -> b
    1:1:int[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet):29:29 -> c
    1:1:void clear():178:178 -> clear
    1:5:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.clone():201:205 -> clone
    1:5:java.lang.Object clone():29 -> clone
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.clone():203:203 -> clone
    6:6:java.lang.Object clone():29 -> clone
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.findKey(int):111:112 -> f
    1:2:boolean contains(int):143 -> f
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.findKey(int):111:112 -> i
    1:2:boolean remove(int):153 -> i
    3:6:boolean remove(int):155:158 -> i
    1:1:boolean isEmpty():183:183 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():119:119 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet.iterator():119:119 -> iterator
    2:2:java.util.Iterator iterator():29 -> iterator
    1:1:int size():148:148 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet$1 -> com.android.tools.r8.internal.bt:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet this$0 -> c
    int next -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArraySet):119:120 -> <init>
    1:1:boolean hasNext():124:124 -> hasNext
    1:3:int nextInt():129:129 -> nextInt
    1:2:void remove():135:136 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrays -> com.android.tools.r8.internal.dt:
    int[] EMPTY_ARRAY -> a
    1:1:void <clinit>():100:100 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator -> com.android.tools.r8.internal.et:
    int previousInt() -> c
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection -> com.android.tools.r8.internal.gt:
    boolean contains(int) -> f
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections -> com.android.tools.r8.internal.jt:
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):536:536 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections$EmptyCollection -> com.android.tools.r8.internal.ht:
    1:1:void <init>():39:39 -> <init>
    1:1:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):96:96 -> a
    1:1:boolean addAll(java.util.Collection):81:81 -> addAll
    boolean contains(int) -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():38:38 -> iterator
    2:2:java.util.Iterator iterator():38:38 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():55:55 -> iterator
    1:1:boolean removeAll(java.util.Collection):86:86 -> removeAll
    1:1:boolean retainAll(java.util.Collection):91:91 -> retainAll
    1:1:java.lang.Object[] toArray():49:49 -> toArray
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections$UnmodifiableCollection -> com.android.tools.r8.internal.it:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection collection -> b
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):369:371 -> <init>
    1:1:boolean add(java.lang.Object):365:365 -> add
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollections$UnmodifiableCollection.add(java.lang.Integer):453:453 -> add
    2:2:boolean add(java.lang.Object):365 -> add
    1:1:boolean addAll(java.util.Collection):437:437 -> addAll
    1:1:void clear():417:417 -> clear
    1:1:boolean contains(java.lang.Object):459:459 -> contains
    1:1:boolean containsAll(java.util.Collection):432:432 -> containsAll
    1:1:boolean equals(java.lang.Object):523:523 -> equals
    1:1:boolean contains(int):396:396 -> f
    1:1:int hashCode():517:517 -> hashCode
    1:1:boolean isEmpty():391:391 -> isEmpty
    1:1:java.util.Iterator iterator():365:365 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():400:400 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator):830:830 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():400 -> iterator
    1:1:boolean remove(java.lang.Object):465:465 -> remove
    1:1:boolean removeAll(java.util.Collection):442:442 -> removeAll
    1:1:boolean retainAll(java.util.Collection):447:447 -> retainAll
    1:1:int size():386:386 -> size
    1:1:java.lang.Object[] toArray(java.lang.Object[]):422:422 -> toArray
    2:2:java.lang.Object[] toArray():427:427 -> toArray
    1:1:java.lang.String toString():512:512 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntComparator -> com.android.tools.r8.internal.kt:
    int compare(int,int) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator -> com.android.tools.r8.internal.mt:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators -> com.android.tools.r8.internal.pt:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$EmptyIterator EMPTY_ITERATOR -> a
    1:1:void <clinit>():103:103 -> <clinit>
    1:1:int unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312:312 -> a
    2:6:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):289:289 -> a
    2:6:int unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    7:7:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    7:7:int unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    8:8:int unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":10,"2":11,"3":12,"4":13,"5":14,"6":15}}
    10:10:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    10:10:int unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    11:11:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    11:11:int unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    12:12:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    12:12:int unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    13:13:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    13:13:int unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    14:14:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    14:14:int unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    15:15:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    15:15:int unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
    9:9:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators.unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[],int,int):288:288 -> a
    9:9:int unwrap(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator,int[]):312 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$EmptyIterator -> com.android.tools.r8.internal.nt:
    1:1:void <init>():42:42 -> <init>
    1:1:int previousInt():62:62 -> c
    1:1:java.lang.Object clone():87:87 -> clone
    1:1:int nextInt():57:57 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterators$UnmodifiableIterator -> com.android.tools.r8.internal.ot:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator i -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator):807:808 -> <init>
    1:1:boolean hasNext():813:813 -> hasNext
    1:1:int nextInt():818:818 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList -> com.android.tools.r8.internal.qt:
    void getElements(int,int[],int,int) -> a
    void removeElements(int,int) -> a
    void add(int,int) -> b
    int getInt(int) -> b
    int set(int,int) -> c
    int removeInt(int) -> g
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator -> com.android.tools.r8.internal.rt:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists -> com.android.tools.r8.internal.tt:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList EMPTY_LIST -> a
    1:1:void <clinit>():323:323 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList -> com.android.tools.r8.internal.st:
    1:1:void <init>():65:65 -> <init>
    1:1:boolean add(java.lang.Integer):156:156 -> a
    2:3:void getElements(int,int[],int,int):263:264 -> a
    4:4:void removeElements(int,int):269:269 -> a
    1:1:void add(int,java.lang.Object):62:62 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.add(int,java.lang.Integer):132:132 -> add
    2:2:void add(int,java.lang.Object):62 -> add
    3:3:boolean add(java.lang.Object):62:62 -> add
    4:4:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.add(java.lang.Integer):156:156 -> add
    4:4:boolean add(java.lang.Object):62 -> add
    1:1:boolean addAll(int,java.util.Collection):105:105 -> addAll
    1:1:int getInt(int):70:70 -> b
    2:2:void add(int,int):85:85 -> b
    1:1:int set(int,int):90:90 -> c
    1:1:java.lang.Object clone():295:295 -> clone
    1:1:int compareTo(java.lang.Object):62:62 -> compareTo
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.compareTo(java.util.List):290:290 -> compareTo
    2:2:int compareTo(java.lang.Object):62 -> compareTo
    1:1:boolean equals(java.lang.Object):306:306 -> equals
    1:1:int removeInt(int):80:80 -> g
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.get(int):144:144 -> get
    1:1:java.lang.Object get(int):62 -> get
    1:1:boolean rem(int):75:75 -> h
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.iterator():212:212 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntBidirectionalIterator iterator():62 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.iterator():212:212 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():62 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator iterator():212:212 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.iterator():212:212 -> iterator
    4:4:java.util.Iterator iterator():62 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator listIterator():208:208 -> listIterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.listIterator():208:208 -> listIterator
    2:2:java.util.ListIterator listIterator():62 -> listIterator
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntListIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.listIterator(int):216:217 -> listIterator
    3:4:java.util.ListIterator listIterator(int):62 -> listIterator
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.remove(int):180:180 -> remove
    1:1:java.lang.Object remove(int):62 -> remove
    1:1:java.lang.Object set(int,java.lang.Object):62:62 -> set
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.set(int,java.lang.Integer):168:168 -> set
    2:2:java.lang.Object set(int,java.lang.Object):62 -> set
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntList com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntLists$EmptyList.subList(int,int):246:246 -> subList
    1:1:java.util.List subList(int,int):62 -> subList
    1:1:java.lang.String toString():311:311 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet -> com.android.tools.r8.internal.At:
    int[] key -> b
    float f -> h
    int maxFill -> f
    int size -> g
    int n -> e
    int mask -> c
    boolean containsNull -> d
    1:8:void <init>(int,float):77:84 -> <init>
    9:9:void <init>(int,float):79:79 -> <init>
    10:10:void <init>():104:104 -> <init>
    11:12:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection,float):140:141 -> <init>
    1:1:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):277:277 -> a
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.ensureCapacity(int):266:267 -> a
    2:3:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):277 -> a
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.size():412:412 -> a
    4:4:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):280 -> a
    5:5:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):280:280 -> a
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.tryCapacity(long):271:272 -> a
    6:7:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):280 -> a
    8:8:boolean addAll(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection):283:283 -> a
    1:14:boolean add(int):302:315 -> add
    1:1:boolean addAll(java.util.Collection):289:289 -> addAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.ensureCapacity(int):266:267 -> addAll
    2:3:boolean addAll(java.util.Collection):289 -> addAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.size():412:412 -> addAll
    4:4:boolean addAll(java.util.Collection):292 -> addAll
    5:5:boolean addAll(java.util.Collection):292:292 -> addAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.tryCapacity(long):271:272 -> addAll
    6:7:boolean addAll(java.util.Collection):292 -> addAll
    8:8:boolean addAll(java.util.Collection):295:295 -> addAll
    1:4:void clear():404:407 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.clone():672:677 -> clone
    1:6:java.lang.Object clone():40 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.clone():674:674 -> clone
    7:7:java.lang.Object clone():40 -> clone
    1:9:boolean contains(int):382:390 -> f
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.realSize():262:262 -> hashCode
    1:1:int hashCode():694 -> hashCode
    2:2:int hashCode():695:695 -> hashCode
    1:1:boolean remove(int):365:365 -> i
    2:5:boolean com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.removeNullEntry():355:358 -> i
    2:5:boolean remove(int):365 -> i
    6:13:boolean remove(int):369:376 -> i
    1:1:boolean isEmpty():417:417 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():547:547 -> iterator
    1:5:void rehash(int):639:643 -> j
    6:6:int com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.realSize():262:262 -> j
    6:6:void rehash(int):644 -> j
    7:16:void rehash(int):645:654 -> j
    1:1:boolean removeEntry(int):348:348 -> k
    2:7:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.shiftKeys(int):331:336 -> k
    2:7:boolean removeEntry(int):349 -> k
    8:8:boolean removeEntry(int):350:350 -> k
    9:13:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet.shiftKeys(int):339:343 -> k
    9:13:boolean removeEntry(int):349 -> k
    1:1:int size():412:412 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet$SetIterator -> com.android.tools.r8.internal.zt:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntArrayList wrapped -> f
    boolean mustReturnNull -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet this$0 -> g
    int c -> d
    int pos -> b
    int last -> c
    1:21:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet):446:466 -> <init>
    22:22:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet$1):446:446 -> <init>
    1:1:boolean hasNext():474:474 -> hasNext
    1:16:int nextInt():478:478 -> nextInt
    1:5:void remove():528:532 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet$SetIterator.shiftKeys(int):507:512 -> remove
    6:11:void remove():532 -> remove
    12:13:void remove():539:540 -> remove
    14:22:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntOpenHashSet$SetIterator.shiftKeys(int):515:523 -> remove
    14:22:void remove():532 -> remove
    23:24:void remove():535:536 -> remove
    25:25:void remove():528:528 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet -> com.android.tools.r8.internal.Bt:
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSets -> com.android.tools.r8.internal.Dt:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSets$EmptySet EMPTY_SET -> a
    1:1:void <clinit>():76:76 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSets$EmptySet -> com.android.tools.r8.internal.Ct:
    1:1:void <init>():42:42 -> <init>
    1:1:java.lang.Object clone():52:52 -> clone
    1:1:boolean equals(java.lang.Object):58:58 -> equals
    1:1:boolean rem(int):64:64 -> h
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet -> com.android.tools.r8.internal.Et:
    int firstInt() -> L
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet tailSet(int) -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet headSet(int) -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet subSet(int,int) -> d
    int lastInt() -> p
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets -> com.android.tools.r8.internal.Gt:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet EMPTY_SET -> a
    1:1:void <clinit>():168:168 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet -> com.android.tools.r8.internal.Ft:
    1:1:void <init>():42:42 -> <init>
    1:1:java.lang.Object clone():155:155 -> clone
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet.first():139:139 -> first
    1:1:java.lang.Object first():39 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):39:39 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet.headSet(java.lang.Integer):117:117 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):39 -> headSet
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet.last():150:150 -> last
    1:1:java.lang.Object last():39 -> last
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):39:39 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet.subSet(java.lang.Integer,java.lang.Integer):106:106 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):39 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):39:39 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSets$EmptySet.tailSet(java.lang.Integer):128:128 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):39 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceMap -> com.android.tools.r8.internal.Z:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(long,java.lang.Object) -> a
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.remove(long) -> a
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.containsKey(java.lang.Object):105:105 -> containsKey
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.containsKey(java.lang.Object):0 -> containsKey
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceMap.entrySet():273:273 -> entrySet
    1:1:java.util.Set entrySet():42 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.long2ReferenceEntrySet():707:708 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.long2ReferenceEntrySet():49 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceMap.entrySet():273 -> entrySet
    2:3:java.util.Set entrySet():42 -> entrySet
    1:3:boolean equals(java.lang.Object):296:298 -> equals
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.size():386:386 -> equals
    4:4:boolean equals(java.lang.Object):298 -> equals
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.long2ReferenceEntrySet():707:708 -> equals
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.long2ReferenceEntrySet():49 -> equals
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceMap.entrySet():273 -> equals
    5:6:boolean equals(java.lang.Object):299 -> equals
    7:7:boolean equals(java.lang.Object):299:299 -> equals
    1:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.get(java.lang.Object):120:121 -> get
    1:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(java.lang.Long,java.lang.Object):135:137 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:13:void putAll(java.util.Map):70:82 -> putAll
    14:16:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.put(java.lang.Long,java.lang.Object):135:137 -> putAll
    14:16:void putAll(java.util.Map):82 -> putAll
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.remove(java.lang.Object):153:155 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():304:304 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceMap.entrySet():273:273 -> toString
    2:2:java.lang.String toString():305 -> toString
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.long2ReferenceEntrySet():707:708 -> toString
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.long2ReferenceEntrySet():49 -> toString
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLong2ReferenceMap.entrySet():273 -> toString
    3:4:java.lang.String toString():305 -> toString
    5:5:java.lang.String toString():305:305 -> toString
    6:6:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.size():386:386 -> toString
    6:6:java.lang.String toString():306 -> toString
    7:18:java.lang.String toString():309:320 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongBidirectionalIterator -> com.android.tools.r8.internal.a0:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.<init>():34:34 -> <init>
    1:1:void <init>():34 -> <init>
    long previousLong() -> b
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():57:57 -> next
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():33 -> next
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():0 -> next
      # {"id":"com.android.tools.r8.synthesized"}
    long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.nextLong() -> nextLong
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongBidirectionalIterator.previous():56:56 -> previous
    1:1:java.lang.Object previous():33 -> previous
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongCollection -> com.android.tools.r8.internal.b0:
    1:1:void <init>():37:37 -> <init>
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator() -> a
    1:1:boolean add(long):68:68 -> a
    1:1:boolean add(java.lang.Object):36:36 -> add
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongCollection.add(java.lang.Long):114:114 -> add
    2:2:boolean add(java.lang.Object):36 -> add
    boolean contains(long) -> b
    1:4:boolean rem(long):94:97 -> c
    1:1:boolean contains(java.lang.Object):129:129 -> contains
    1:1:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet.iterator():737:737 -> iterator
    1:1:boolean remove(java.lang.Object):143:143 -> remove
    1:14:java.lang.String toString():206:219 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList -> com.android.tools.r8.internal.e0:
    1:1:void <init>():33:33 -> <init>
    void add(int,long) -> a
    void removeElements(int,int) -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.iterator():180 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator():32 -> a
    2:2:int compareTo(java.util.List):464:464 -> a
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> a
    3:3:int compareTo(java.util.List):465 -> a
    4:12:int compareTo(java.util.List):466:474 -> a
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> a
    13:13:int compareTo(java.util.List):476 -> a
    14:16:int compareTo(java.util.List):476:478 -> a
    17:17:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():57:57 -> a
    17:17:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():33 -> a
    17:17:int compareTo(java.util.List):479 -> a
    18:20:int compareTo(java.util.List):479:481 -> a
    1:1:void add(int,java.lang.Object):32:32 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.add(int,java.lang.Long):577:577 -> add
    2:2:void add(int,java.lang.Object):32 -> add
    1:5:boolean addAll(int,java.util.Collection):120:124 -> addAll
    6:6:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.add(int,java.lang.Long):577:577 -> addAll
    6:6:boolean addAll(int,java.util.Collection):124 -> addAll
    7:7:boolean addAll(java.util.Collection):137:137 -> addAll
    long set(int,long) -> b
    1:1:boolean contains(long):274:274 -> b
    1:1:void clear():403:403 -> clear
    1:1:int compareTo(java.lang.Object):32:32 -> compareTo
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> d
    1:1:int indexOf(long):279 -> d
    2:4:int indexOf(long):281:283 -> d
    long removeLong(int) -> e
    1:5:int lastIndexOf(long):290:294 -> e
    6:9:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList subList(int,int):310:313 -> e
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList subList(int,int):312:312 -> e
    1:5:boolean equals(java.lang.Object):430:434 -> equals
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> equals
    6:6:boolean equals(java.lang.Object):435 -> equals
    7:9:boolean equals(java.lang.Object):436:438 -> equals
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> equals
    10:10:boolean equals(java.lang.Object):441 -> equals
    11:11:boolean equals(java.lang.Object):441:441 -> equals
    12:12:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():57:57 -> equals
    12:12:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():33 -> equals
    12:12:boolean equals(java.lang.Object):443 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    13:13:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():57:57 -> equals
    13:13:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongIterator.next():33 -> equals
    13:13:boolean equals(java.lang.Object):443 -> equals
    14:14:boolean equals(java.lang.Object):443:443 -> equals
    15:15:boolean com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.valEquals(java.lang.Object,java.lang.Object):407:407 -> equals
    15:15:boolean equals(java.lang.Object):443 -> equals
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.get(int):605:605 -> get
    1:1:java.lang.Object get(int):32 -> get
    1:1:void ensureIndex(int):47:47 -> h
    2:2:void ensureIndex(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100,"4":101,"5":102}}
    98:98:void ensureIndex(int):47:47 -> h
    99:99:void ensureIndex(int):47:47 -> h
    100:100:void ensureIndex(int):47:47 -> h
    101:101:void ensureIndex(int):47:47 -> h
    102:102:void ensureIndex(int):47:47 -> h
    49:49:void ensureIndex(int):47:47 -> h
    50:50:void ensureIndex(int):46:46 -> h
    51:51:void ensureIndex(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105,"4":106,"5":107,"6":108}}
    103:103:void ensureIndex(int):46:46 -> h
    104:104:void ensureIndex(int):46:46 -> h
    105:105:void ensureIndex(int):46:46 -> h
    106:106:void ensureIndex(int):46:46 -> h
    107:107:void ensureIndex(int):46:46 -> h
    108:108:void ensureIndex(int):46:46 -> h
    97:97:void ensureIndex(int):46:46 -> h
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.iterator():180 -> hashCode
    1:1:int hashCode():418 -> hashCode
    2:5:int hashCode():419:422 -> hashCode
    1:1:void ensureRestrictedIndex(int):62:62 -> i
    2:2:void ensureRestrictedIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":128,"2":129,"3":130,"4":131,"5":132}}
    128:128:void ensureRestrictedIndex(int):62:62 -> i
    129:129:void ensureRestrictedIndex(int):62:62 -> i
    130:130:void ensureRestrictedIndex(int):62:62 -> i
    131:131:void ensureRestrictedIndex(int):62:62 -> i
    132:132:void ensureRestrictedIndex(int):62:62 -> i
    64:64:void ensureRestrictedIndex(int):62:62 -> i
    65:65:void ensureRestrictedIndex(int):61:61 -> i
    66:66:void ensureRestrictedIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":133,"2":134,"3":135,"4":136,"5":137,"6":138}}
    133:133:void ensureRestrictedIndex(int):61:61 -> i
    134:134:void ensureRestrictedIndex(int):61:61 -> i
    135:135:void ensureRestrictedIndex(int):61:61 -> i
    136:136:void ensureRestrictedIndex(int):61:61 -> i
    137:137:void ensureRestrictedIndex(int):61:61 -> i
    138:138:void ensureRestrictedIndex(int):61:61 -> i
    127:127:void ensureRestrictedIndex(int):61:61 -> i
    1:1:int indexOf(java.lang.Object):619:619 -> indexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.iterator():180 -> iterator
    1:1:java.util.Iterator iterator():32 -> iterator
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator listIterator(int) -> j
    1:1:int lastIndexOf(java.lang.Object):633:633 -> lastIndexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator listIterator():192:192 -> listIterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> listIterator
    2:2:java.util.ListIterator listIterator():32 -> listIterator
    3:3:java.util.ListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList.listIterator(int):725:725 -> listIterator
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.remove(int):647:647 -> remove
    1:1:java.lang.Object remove(int):32 -> remove
    1:1:java.lang.Object set(int,java.lang.Object):32:32 -> set
    2:2:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.set(int,java.lang.Long):591:591 -> set
    2:2:java.lang.Object set(int,java.lang.Object):32 -> set
    1:1:java.util.List subList(int,int):32:32 -> subList
    1:1:java.lang.String toString():708:708 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.iterator():180 -> toString
    2:2:java.lang.String toString():709 -> toString
    3:14:java.lang.String toString():710:721 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList -> com.android.tools.r8.internal.d0:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList l -> b
    boolean $assertionsDisabled -> e
    int to -> d
    int from -> c
    1:1:void <clinit>():725:725 -> <clinit>
    1:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList,int,int):734:737 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.iterator():180 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator():725 -> a
    2:2:boolean access$000(com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList):725:725 -> a
    3:5:boolean add(long):749:751 -> a
    6:9:void add(int,long):757:760 -> a
    10:14:void removeElements(int,int):803:807 -> a
    1:1:void add(int,java.lang.Object):725:725 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.add(int,java.lang.Long):577:577 -> add
    2:2:void add(int,java.lang.Object):725 -> add
    1:3:boolean addAll(int,java.util.Collection):765:767 -> addAll
    1:3:boolean assertRange():741:743 -> b
    4:5:long set(int,long):785:786 -> b
    1:2:long getLong(int):772:773 -> c
    3:7:boolean rem(long):887:891 -> c
    1:1:int compareTo(java.lang.Object):725:725 -> compareTo
    1:3:long removeLong(int):778:780 -> e
    4:7:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList subList(int,int):879:882 -> e
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList subList(int,int):881:881 -> e
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.get(int):605:605 -> get
    1:1:java.lang.Object get(int):725 -> get
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.iterator():180 -> iterator
    1:1:java.util.Iterator iterator():725 -> iterator
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator listIterator(int):820:821 -> j
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.listIterator():192:192 -> listIterator
    1:1:java.util.ListIterator listIterator():725 -> listIterator
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.remove(int):647:647 -> remove
    1:1:java.lang.Object remove(int):725 -> remove
    1:1:java.lang.Object set(int,java.lang.Object):725:725 -> set
    2:2:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList.set(int,java.lang.Long):591:591 -> set
    2:2:java.lang.Object set(int,java.lang.Object):725 -> set
    1:1:int size():791:791 -> size
    1:1:java.util.List subList(int,int):725:725 -> subList
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList$1 -> com.android.tools.r8.internal.c0:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList this$0 -> d
    boolean $assertionsDisabled -> e
    int pos -> b
    int last -> c
    1:1:void <clinit>():821:821 -> <clinit>
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongList$LongSubList,int):821:822 -> <init>
    1:5:void add(long):851:851 -> a
    1:3:long previousLong():838:838 -> b
    4:6:void set(long):858:858 -> b
    1:1:boolean hasNext():825:825 -> hasNext
    1:1:boolean hasPrevious():829:829 -> hasPrevious
    1:1:int nextIndex():843:843 -> nextIndex
    1:3:long nextLong():833:833 -> nextLong
    1:1:int previousIndex():847:847 -> previousIndex
    1:11:void remove():863:863 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongListIterator -> com.android.tools.r8.internal.f0:
    1:1:void <init>():35:35 -> <init>
    void add(long) -> a
    1:1:void add(java.lang.Object):34:34 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongListIterator.add(java.lang.Long):83:83 -> add
    2:2:void add(java.lang.Object):34 -> add
    void set(long) -> b
    1:1:void set(java.lang.Object):34:34 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongListIterator.set(java.lang.Long):70:70 -> set
    2:2:void set(java.lang.Object):34 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.longs.AbstractLongSet -> com.android.tools.r8.internal.g0:
    1:1:void <init>():32:32 -> <init>
    1:1:boolean rem(long):87:87 -> c
    2:4:boolean com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet.remove(long):755:757 -> c
    2:4:boolean rem(long):87 -> c
    1:3:boolean equals(java.lang.Object):41:43 -> equals
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet.size():745:745 -> equals
    4:4:boolean equals(java.lang.Object):43 -> equals
    5:5:boolean equals(java.lang.Object):44:44 -> equals
    1:1:int hashCode():57:57 -> hashCode
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet.size():745:745 -> hashCode
    2:2:int hashCode():57 -> hashCode
    3:8:int hashCode():58:63 -> hashCode
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$Entry -> com.android.tools.r8.internal.EC:
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$FastEntrySet -> com.android.tools.r8.internal.FC:
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap -> com.android.tools.r8.internal.OC:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> k
    java.lang.Object[] value -> c
    int size -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceMap$FastEntrySet entries -> i
    long[] key -> b
    boolean containsNullKey -> e
    int n -> f
    int maxFill -> g
    int mask -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongSet keys -> j
    1:9:void <init>(int,float):91:99 -> <init>
    1:1:java.lang.Object access$400(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,int):49:49 -> a
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.removeNullEntry():228:228 -> a
    2:2:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.removeNullEntry():229:232 -> a
    3:6:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):49 -> a
    7:22:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.insert(long,java.lang.Object):249:264 -> a
    7:22:java.lang.Object put(long,java.lang.Object):271 -> a
    23:24:java.lang.Object put(long,java.lang.Object):273:274 -> a
    25:25:java.lang.Object remove(long):309:309 -> a
    26:30:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.removeNullEntry():228:232 -> a
    26:30:java.lang.Object remove(long):309 -> a
    31:38:java.lang.Object remove(long):313:320 -> a
    1:10:boolean containsKey(long):344:353 -> b
    1:11:java.lang.Object get(long):327:337 -> c
    1:5:void clear():377:381 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.clone():945:954 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.clone():947:947 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:5:boolean containsValue(java.lang.Object):360:364 -> containsValue
    1:7:void rehash(int):907:913 -> d
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.realSize():205:205 -> d
    8:8:void rehash(int):914 -> d
    9:21:void rehash(int):915:927 -> d
    1:3:java.lang.Object removeEntry(int):219:221 -> e
    4:10:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.shiftKeys(int):289:295 -> e
    4:10:java.lang.Object removeEntry(int):222 -> e
    11:11:java.lang.Object removeEntry(int):223:223 -> e
    12:17:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.shiftKeys(int):298:303 -> e
    12:17:java.lang.Object removeEntry(int):222 -> e
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():971 -> hashCode
    2:10:int hashCode():972:980 -> hashCode
    1:1:boolean isEmpty():391:391 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongSet com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.keySet():768:769 -> keySet
    1:2:java.util.Set keySet():49 -> keySet
    1:1:void putAll(java.util.Map):238:238 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):238 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.size():386:386 -> putAll
    4:4:void putAll(java.util.Map):240 -> putAll
    5:5:void putAll(java.util.Map):240:240 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):240 -> putAll
    8:8:void putAll(java.util.Map):243:243 -> putAll
    1:1:int size():386:386 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap.values():794:815 -> values
    1:22:java.util.Collection values():49 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1 -> com.android.tools.r8.internal.GC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):794:794 -> <init>
    1:1:void clear():812:812 -> clear
    1:1:boolean contains(java.lang.Object):807:807 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():797:797 -> iterator
    1:1:int size():802:802 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$EntryIterator -> com.android.tools.r8.internal.HC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry entry -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> i
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):600:600 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1):600:600 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$EntryIterator.next():605:605 -> next
    1:1:java.lang.Object next():600 -> next
    1:2:void remove():610:611 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeyIterator -> com.android.tools.r8.internal.IC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):721:722 -> <init>
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeyIterator.next():733:733 -> next
    1:1:java.lang.Object next():720 -> next
    1:1:long nextLong():727:727 -> nextLong
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$KeySet -> com.android.tools.r8.internal.JC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):737:737 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1):737:737 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator():740:740 -> a
    1:1:boolean contains(long):750:750 -> b
    1:1:void clear():762:762 -> clear
    1:1:int size():745:745 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry -> com.android.tools.r8.internal.KC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,int):430:431 -> <init>
    1:1:long getLongKey():439:439 -> b
    1:3:boolean equals(java.lang.Object):469:471 -> equals
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntry.getKey():463:463 -> getKey
    1:1:java.lang.Object getKey():425 -> getKey
    1:1:java.lang.Object getValue():444:444 -> getValue
    1:1:int hashCode():476:476 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):449:450 -> setValue
    1:1:java.lang.String toString():481:481 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.LC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):625:625 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1):625:625 -> <init>
    1:1:void clear():701:701 -> clear
    1:16:boolean contains(java.lang.Object):637:652 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():627:627 -> iterator
    1:29:boolean remove(java.lang.Object):659:687 -> remove
    1:1:int size():696:696 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapIterator -> com.android.tools.r8.internal.MC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> g
    boolean mustReturnNullKey -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList wrapped -> f
    int c -> d
    int pos -> b
    int last -> c
    1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):486:509 -> <init>
    25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$1):486:486 -> <init>
    1:1:boolean hasNext():517:517 -> hasNext
    1:19:int nextEntry():521:521 -> j
    1:5:void remove():576:580 -> remove
    6:12:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapIterator.shiftKeys(int):553:559 -> remove
    6:12:void remove():580 -> remove
    13:14:void remove():587:588 -> remove
    15:24:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$MapIterator.shiftKeys(int):562:571 -> remove
    15:24:void remove():580 -> remove
    25:26:void remove():583:584 -> remove
    27:27:void remove():576:576 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap$ValueIterator -> com.android.tools.r8.internal.NC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.Long2ReferenceOpenHashMap):782:783 -> <init>
    1:1:java.lang.Object next():788:788 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList -> com.android.tools.r8.internal.QC:
    long[] a -> b
    int size -> c
    1:3:void <init>(int):81:83 -> <init>
    4:4:void <init>(int):82:82 -> <init>
    5:5:void <init>(int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":88,"2":89,"3":90,"4":91,"5":92,"6":93}}
    88:88:void <init>(int):82:82 -> <init>
    89:89:void <init>(int):82:82 -> <init>
    90:90:void <init>(int):82:82 -> <init>
    91:91:void <init>(int):82:82 -> <init>
    92:92:void <init>(int):82:82 -> <init>
    93:93:void <init>(int):82:82 -> <init>
    87:87:void <init>(int):82:82 -> <init>
    1:2:void add(int,long):256:257 -> a
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.grow(int):250:250 -> a
    3:3:void add(int,long):257 -> a
    4:7:long[] com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrays.grow(long[],int,int):205:208 -> a
    4:7:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.grow(int):250 -> a
    4:7:void add(int,long):257 -> a
    8:8:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.grow(int):250:250 -> a
    8:8:void add(int,long):257 -> a
    9:11:void add(int,long):258:260 -> a
    12:12:boolean add(long):266:266 -> a
    13:13:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.grow(int):250:250 -> a
    13:13:boolean add(long):266 -> a
    14:17:long[] com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrays.grow(long[],int,int):205:208 -> a
    14:17:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.grow(int):250 -> a
    14:17:boolean add(long):266 -> a
    18:18:void com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.grow(int):250:250 -> a
    18:18:boolean add(long):266 -> a
    19:19:boolean add(long):267:267 -> a
    20:22:void removeElements(int,int):407:409 -> a
    1:4:long set(int,long):313:313 -> b
    5:5:long set(int,long):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":633,"2":634,"3":635,"4":636,"5":637}}
    633:633:long set(int,long):313:313 -> b
    634:634:long set(int,long):313:313 -> b
    635:635:long set(int,long):313:313 -> b
    636:636:long set(int,long):313:313 -> b
    637:637:long set(int,long):313:313 -> b
    318:318:long set(int,long):313:313 -> b
    319:319:long set(int,long):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":638,"2":639,"3":640}}
    638:638:long set(int,long):313:313 -> b
    639:639:long set(int,long):313:313 -> b
    640:640:long set(int,long):313:313 -> b
    632:632:long set(int,long):313:313 -> b
    1:3:long getLong(int):274:274 -> c
    4:4:long getLong(int):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":554,"2":555,"3":556,"4":557,"5":558}}
    554:554:long getLong(int):274:274 -> c
    555:555:long getLong(int):274:274 -> c
    556:556:long getLong(int):274:274 -> c
    557:557:long getLong(int):274:274 -> c
    558:558:long getLong(int):274:274 -> c
    278:278:long getLong(int):274:274 -> c
    279:279:long getLong(int):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":559,"2":560,"3":561}}
    559:559:long getLong(int):274:274 -> c
    560:560:long getLong(int):274:274 -> c
    561:561:long getLong(int):274:274 -> c
    553:553:long getLong(int):274:274 -> c
    562:564:boolean rem(long):304:306 -> c
    1:1:void clear():321:321 -> clear
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList.clone():549:551 -> clone
    1:3:java.lang.Object clone():48 -> clone
    1:2:int indexOf(long):280:281 -> d
    1:2:int lastIndexOf(long):287:288 -> e
    3:7:long removeLong(int):294:294 -> e
    8:8:long removeLong(int):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":598,"2":599,"3":600,"4":601,"5":602}}
    598:598:long removeLong(int):294:294 -> e
    599:599:long removeLong(int):294:294 -> e
    600:600:long removeLong(int):294:294 -> e
    601:601:long removeLong(int):294:294 -> e
    602:602:long removeLong(int):294:294 -> e
    302:302:long removeLong(int):294:294 -> e
    303:303:long removeLong(int):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":603,"2":604,"3":605}}
    603:603:long removeLong(int):294:294 -> e
    604:604:long removeLong(int):294:294 -> e
    605:605:long removeLong(int):294:294 -> e
    597:597:long removeLong(int):294:294 -> e
    1:1:boolean isEmpty():339:339 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongListIterator listIterator(int):493:494 -> j
    1:6:boolean removeAll(java.util.Collection):482:487 -> removeAll
    1:1:int size():327:327 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList$1 -> com.android.tools.r8.internal.PC:
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList this$0 -> d
    int pos -> b
    int last -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongArrayList,int):494:495 -> <init>
    1:2:void add(long):524:525 -> a
    1:3:long previousLong():511:511 -> b
    4:6:void set(long):529:529 -> b
    1:1:boolean hasNext():498:498 -> hasNext
    1:1:boolean hasPrevious():502:502 -> hasPrevious
    1:1:int nextIndex():516:516 -> nextIndex
    1:3:long nextLong():506:506 -> nextLong
    1:1:int previousIndex():520:520 -> previousIndex
    1:10:void remove():534:534 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongBidirectionalIterator -> com.android.tools.r8.internal.RC:
    long previousLong() -> b
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection -> com.android.tools.r8.internal.SC:
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator -> com.android.tools.r8.internal.UC:
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongList -> com.android.tools.r8.internal.VC:
    void add(int,long) -> a
    void removeElements(int,int) -> a
    long set(int,long) -> b
    long getLong(int) -> c
    long removeLong(int) -> e
com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongSet -> com.android.tools.r8.internal.bD:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap -> com.android.tools.r8.internal.J0:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    boolean containsValue(boolean) -> a
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,boolean) -> a
    1:3:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.remove(java.lang.Object):140:142 -> c
    1:3:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.remove(java.lang.Object):0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean containsValue(java.lang.Object):62:62 -> containsValue
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.removeBoolean(java.lang.Object) -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap.entrySet():297:297 -> entrySet
    1:1:java.util.Set entrySet():42 -> entrySet
    1:3:boolean equals(java.lang.Object):320:322 -> equals
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap.entrySet():297:297 -> equals
    4:4:boolean equals(java.lang.Object):323 -> equals
    5:5:boolean equals(java.lang.Object):323:323 -> equals
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap.keySet() -> f
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.get(java.lang.Object):108:108 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.get(java.lang.Object):41 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int hashCode():310:310 -> hashCode
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap.entrySet():297:297 -> hashCode
    2:2:int hashCode():311 -> hashCode
    3:3:int hashCode():311:311 -> hashCode
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet.iterator():136:136 -> hashCode
    4:4:int hashCode():311 -> hashCode
    5:5:int hashCode():313:313 -> hashCode
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap.object2BooleanEntrySet() -> k
    1:1:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap.keySet():37:37 -> keySet
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,java.lang.Boolean):123:125 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:6:void putAll(java.util.Map):82:87 -> putAll
    7:7:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getKey():128:128 -> putAll
    7:7:void putAll(java.util.Map):88 -> putAll
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getBooleanValue():145:145 -> putAll
    8:8:void putAll(java.util.Map):88 -> putAll
    9:15:void putAll(java.util.Map):88:94 -> putAll
    16:17:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.put(java.lang.Object,java.lang.Boolean):123:124 -> putAll
    16:17:void putAll(java.util.Map):94 -> putAll
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.remove(java.lang.Object):41:41 -> remove
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():328:328 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap.entrySet():297:297 -> toString
    2:2:java.lang.String toString():329 -> toString
    3:3:java.lang.String toString():329:329 -> toString
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet.iterator():136:136 -> toString
    4:4:java.lang.String toString():329 -> toString
    5:12:java.lang.String toString():330:337 -> toString
    13:13:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getKey():128:128 -> toString
    13:13:java.lang.String toString():338 -> toString
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:16:java.lang.String toString():338:340 -> toString
    17:17:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getBooleanValue():145:145 -> toString
    17:17:java.lang.String toString():341 -> toString
    18:21:java.lang.String toString():341:344 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry -> com.android.tools.r8.internal.I0:
    java.lang.Object key -> b
    boolean value -> c
    1:3:void <init>(java.lang.Object,boolean):121:123 -> <init>
    1:4:boolean equals(java.lang.Object):167:170 -> equals
    1:1:boolean getBooleanValue():145:145 -> getBooleanValue
    1:1:java.lang.Object getKey():128:128 -> getKey
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.getValue():140:140 -> getValue
    1:1:java.lang.Object getValue():112 -> getValue
    1:1:int hashCode():175:175 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):112:112 -> setValue
    2:2:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.setValue(java.lang.Boolean):162:162 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):112 -> setValue
    3:3:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.setValue(boolean):150:150 -> setValue
    3:3:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2BooleanMap$BasicEntry.setValue(java.lang.Boolean):162 -> setValue
    3:3:java.lang.Object setValue(java.lang.Object):112 -> setValue
    1:1:java.lang.String toString():180:180 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntMap -> com.android.tools.r8.internal.L0:
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.defRetValue -> b
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,int) -> b
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.removeInt(java.lang.Object) -> c
    1:1:boolean containsValue(java.lang.Object):62:62 -> containsValue
    boolean containsValue(int) -> d
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.defaultReturnValue(int):55:55 -> e
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.defaultReturnValue(int):0 -> e
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Set entrySet():42:42 -> entrySet
    1:4:boolean equals(java.lang.Object):320:323 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():297:297 -> f
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.get(java.lang.Object):108:108 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.get(java.lang.Object):41 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:4:int hashCode():310:313 -> hashCode
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,java.lang.Integer):123:125 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:13:void putAll(java.util.Map):82:94 -> putAll
    14:15:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.put(java.lang.Object,java.lang.Integer):123:124 -> putAll
    14:15:void putAll(java.util.Map):94 -> putAll
    1:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.remove(java.lang.Object):140:142 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.remove(java.lang.Object):41 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:17:java.lang.String toString():328:344 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntMap$BasicEntry -> com.android.tools.r8.internal.K0:
    java.lang.Object key -> b
    int value -> c
    1:3:void <init>(java.lang.Object,int):121:123 -> <init>
    1:4:boolean equals(java.lang.Object):167:170 -> equals
    1:1:int getIntValue():145:145 -> getIntValue
    1:1:java.lang.Object getKey():128:128 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntMap$BasicEntry.getValue():140:140 -> getValue
    1:1:java.lang.Object getValue():112 -> getValue
    1:1:int hashCode():175:175 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):112:112 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntMap$BasicEntry.setValue(java.lang.Integer):162:162 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):112 -> setValue
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntMap$BasicEntry.setValue(int):150:150 -> setValue
    3:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntMap$BasicEntry.setValue(java.lang.Integer):162 -> setValue
    3:3:java.lang.Object setValue(java.lang.Object):112 -> setValue
    1:1:java.lang.String toString():180:180 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntSortedMap -> com.android.tools.r8.internal.M0:
    1:1:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntSortedMap.entrySet():229:229 -> entrySet
    1:1:java.util.Set entrySet():31 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.object2IntEntrySet():1422:1423 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.object2IntEntrySet():87 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntSortedMap.entrySet():229 -> entrySet
    2:3:java.util.Set entrySet():31 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntSortedMap.entrySet():229:229 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():31 -> f
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.object2IntEntrySet():1422:1423 -> f
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.object2IntEntrySet():87 -> f
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2IntSortedMap.entrySet():229 -> f
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():31 -> f
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongMap -> com.android.tools.r8.internal.N0:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,long) -> a
    long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.removeLong(java.lang.Object) -> c
    1:1:boolean containsValue(java.lang.Object):62:62 -> containsValue
    2:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.containsValue(long):404:408 -> containsValue
    2:6:boolean containsValue(java.lang.Object):62 -> containsValue
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongMap.entrySet():297:297 -> entrySet
    1:1:java.util.Set entrySet():42 -> entrySet
    1:3:boolean equals(java.lang.Object):320:322 -> equals
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.size():429:429 -> equals
    4:4:boolean equals(java.lang.Object):322 -> equals
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongMap.entrySet():297:297 -> equals
    5:5:boolean equals(java.lang.Object):323 -> equals
    6:6:boolean equals(java.lang.Object):323:323 -> equals
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap.object2LongEntrySet() -> f
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):108:108 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):41 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    2:12:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.getLong(java.lang.Object):371:381 -> get
    2:12:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):108 -> get
    2:12:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):41 -> get
    2:12:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    13:13:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):108:108 -> get
    13:13:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):41 -> get
    13:13:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,java.lang.Long):123:125 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:13:void putAll(java.util.Map):82:94 -> putAll
    14:15:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.put(java.lang.Object,java.lang.Long):123:124 -> putAll
    14:15:void putAll(java.util.Map):94 -> putAll
    1:3:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.remove(java.lang.Object):140:142 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.remove(java.lang.Object):41 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():328:328 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2LongMap.entrySet():297:297 -> toString
    2:2:java.lang.String toString():329 -> toString
    3:4:java.lang.String toString():329:330 -> toString
    5:5:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.size():429:429 -> toString
    5:5:java.lang.String toString():330 -> toString
    6:17:java.lang.String toString():333:344 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectMap -> com.android.tools.r8.internal.O0:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    1:3:boolean equals(java.lang.Object):272:274 -> equals
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.size():761:761 -> equals
    4:4:boolean equals(java.lang.Object):274 -> equals
    5:5:boolean equals(java.lang.Object):275:275 -> equals
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():226:226 -> equals
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():31 -> equals
    6:6:boolean equals(java.lang.Object):275 -> equals
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.object2ObjectEntrySet():85:85 -> equals
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():226 -> equals
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():31 -> equals
    7:7:boolean equals(java.lang.Object):275 -> equals
    8:8:boolean equals(java.lang.Object):275:275 -> equals
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectFunction.put(java.lang.Object,java.lang.Object) -> put
    1:13:void putAll(java.util.Map):69:81 -> putAll
    1:2:java.lang.String toString():280:281 -> toString
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():226:226 -> toString
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():31 -> toString
    3:3:java.lang.String toString():281 -> toString
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.object2ObjectEntrySet():85:85 -> toString
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():226 -> toString
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():31 -> toString
    4:4:java.lang.String toString():281 -> toString
    5:6:java.lang.String toString():281:282 -> toString
    7:7:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.size():761:761 -> toString
    7:7:java.lang.String toString():282 -> toString
    8:20:java.lang.String toString():285:297 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap -> com.android.tools.r8.internal.P0:
    1:1:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():226:226 -> entrySet
    1:1:java.util.Set entrySet():31 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.object2ObjectEntrySet():85:85 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ObjectSortedMap.entrySet():226 -> entrySet
    2:2:java.util.Set entrySet():31 -> entrySet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceMap -> com.android.tools.r8.internal.R0:
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceFunction.defRetValue -> b
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceFunction.clear() -> clear
    1:4:boolean equals(java.lang.Object):272:275 -> equals
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():226:226 -> equals
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():31 -> equals
    5:5:boolean equals(java.lang.Object):275 -> equals
    6:6:boolean equals(java.lang.Object):275:275 -> equals
    1:2:int hashCode():262:263 -> hashCode
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():226:226 -> hashCode
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():31 -> hashCode
    3:3:int hashCode():263 -> hashCode
    4:6:int hashCode():263:265 -> hashCode
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceFunction.put(java.lang.Object,java.lang.Object) -> put
    1:13:void putAll(java.util.Map):69:81 -> putAll
    1:2:java.lang.String toString():280:281 -> toString
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():226:226 -> toString
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():31 -> toString
    3:3:java.lang.String toString():281 -> toString
    4:20:java.lang.String toString():281:297 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceMap$BasicEntry -> com.android.tools.r8.internal.Q0:
    java.lang.Object key -> b
    java.lang.Object value -> c
    1:3:void <init>(java.lang.Object,java.lang.Object):103:105 -> <init>
    1:1:java.lang.Object getKey():110:110 -> getKey
    1:1:java.lang.Object getValue():115:115 -> getValue
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap -> com.android.tools.r8.internal.T0:
    1:1:void <init>():34:34 -> <init>
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap.subMap(java.lang.Object,java.lang.Object) -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap.headMap(java.lang.Object) -> c
    java.util.Comparator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap.comparator() -> comparator
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap.tailMap(java.lang.Object) -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap.entrySet():226:226 -> entrySet
    1:1:java.util.Set entrySet():31 -> entrySet
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap.keySet() -> f
    1:1:java.util.SortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap.headMap(java.lang.Object):1366:1366 -> headMap
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap.object2ReferenceEntrySet() -> k
    1:1:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.keySet():85:85 -> keySet
    1:1:java.util.SortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap.subMap(java.lang.Object,java.lang.Object):1366:1366 -> subMap
    1:1:java.util.SortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap.tailMap(java.lang.Object):1366:1366 -> tailMap
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap$KeySet -> com.android.tools.r8.internal.S0:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap):58:58 -> <init>
    1:1:void clear():71:71 -> clear
    1:1:java.util.Comparator comparator():76:76 -> comparator
    1:1:boolean contains(java.lang.Object):61:61 -> contains
    1:1:java.lang.Object first():81:81 -> first
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap$KeySet.headSet(java.lang.Object):91:91 -> headSet
    1:1:java.util.SortedSet headSet(java.lang.Object):58 -> headSet
    1:1:java.lang.Object last():86:86 -> last
    1:1:int size():66:66 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap$KeySet.subSet(java.lang.Object,java.lang.Object):101:101 -> subSet
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):58 -> subSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObject2ReferenceSortedMap$KeySet.tailSet(java.lang.Object):96:96 -> tailSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):58 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectCollection -> com.android.tools.r8.internal.U0:
    1:1:void <init>():37:37 -> <init>
    1:1:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ObjectOpenHashMap$1.iterator():794:794 -> iterator
    1:15:java.lang.String toString():61:75 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectIterator -> com.android.tools.r8.internal.V0:
    1:1:void <init>():34:34 -> <init>
    1:1:void remove():45:45 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList -> com.android.tools.r8.internal.Y0:
    1:1:void <init>():34:34 -> <init>
    void removeElements(int,int) -> a
    1:1:int compareTo(java.util.List):458:458 -> a
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> a
    2:2:int compareTo(java.util.List):459 -> a
    3:11:int compareTo(java.util.List):460:468 -> a
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> a
    12:12:int compareTo(java.util.List):470 -> a
    13:18:int compareTo(java.util.List):470:475 -> a
    1:5:boolean addAll(int,java.util.Collection):121:125 -> addAll
    6:6:boolean addAll(java.util.Collection):138:138 -> addAll
    1:1:void clear():404:404 -> clear
    1:1:int compareTo(java.lang.Object):33:33 -> compareTo
    1:1:boolean contains(java.lang.Object):275:275 -> contains
    1:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList subList(int,int):311:314 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList subList(int,int):313:313 -> e
    1:4:boolean equals(java.lang.Object):431:434 -> equals
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> equals
    5:5:boolean equals(java.lang.Object):435 -> equals
    6:8:boolean equals(java.lang.Object):435:437 -> equals
    9:9:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.valEquals(java.lang.Object,java.lang.Object):408:408 -> equals
    9:9:boolean equals(java.lang.Object):437 -> equals
    1:1:void ensureIndex(int):48:48 -> h
    2:2:void ensureIndex(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":100,"2":101,"3":102,"4":103,"5":104}}
    100:100:void ensureIndex(int):48:48 -> h
    101:101:void ensureIndex(int):48:48 -> h
    102:102:void ensureIndex(int):48:48 -> h
    103:103:void ensureIndex(int):48:48 -> h
    104:104:void ensureIndex(int):48:48 -> h
    50:50:void ensureIndex(int):48:48 -> h
    51:51:void ensureIndex(int):47:47 -> h
    52:52:void ensureIndex(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":105,"2":106,"3":107,"4":108,"5":109,"6":110}}
    105:105:void ensureIndex(int):47:47 -> h
    106:106:void ensureIndex(int):47:47 -> h
    107:107:void ensureIndex(int):47:47 -> h
    108:108:void ensureIndex(int):47:47 -> h
    109:109:void ensureIndex(int):47:47 -> h
    110:110:void ensureIndex(int):47:47 -> h
    99:99:void ensureIndex(int):47:47 -> h
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.iterator():181 -> hashCode
    1:1:int hashCode():419 -> hashCode
    2:5:int hashCode():420:423 -> hashCode
    1:1:void ensureRestrictedIndex(int):63:63 -> i
    2:2:void ensureRestrictedIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132,"4":133,"5":134}}
    130:130:void ensureRestrictedIndex(int):63:63 -> i
    131:131:void ensureRestrictedIndex(int):63:63 -> i
    132:132:void ensureRestrictedIndex(int):63:63 -> i
    133:133:void ensureRestrictedIndex(int):63:63 -> i
    134:134:void ensureRestrictedIndex(int):63:63 -> i
    65:65:void ensureRestrictedIndex(int):63:63 -> i
    66:66:void ensureRestrictedIndex(int):62:62 -> i
    67:67:void ensureRestrictedIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":135,"2":136,"3":137,"4":138,"5":139,"6":140}}
    135:135:void ensureRestrictedIndex(int):62:62 -> i
    136:136:void ensureRestrictedIndex(int):62:62 -> i
    137:137:void ensureRestrictedIndex(int):62:62 -> i
    138:138:void ensureRestrictedIndex(int):62:62 -> i
    139:139:void ensureRestrictedIndex(int):62:62 -> i
    140:140:void ensureRestrictedIndex(int):62:62 -> i
    129:129:void ensureRestrictedIndex(int):62:62 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> indexOf
    1:1:int indexOf(java.lang.Object):280 -> indexOf
    2:4:int indexOf(java.lang.Object):282:284 -> indexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.iterator():181 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():33 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.iterator():181 -> iterator
    2:2:java.util.Iterator iterator():33 -> iterator
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int) -> j
    1:5:int lastIndexOf(java.lang.Object):291:295 -> lastIndexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator():193:193 -> listIterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> listIterator
    2:2:java.util.ListIterator listIterator():33 -> listIterator
    3:3:java.util.ListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList.listIterator(int):520:520 -> listIterator
    1:1:java.util.List subList(int,int):33:33 -> subList
    1:1:java.lang.String toString():502:502 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.iterator():181 -> toString
    2:2:java.lang.String toString():503 -> toString
    3:15:java.lang.String toString():504:516 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList -> com.android.tools.r8.internal.X0:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList l -> b
    boolean $assertionsDisabled -> e
    int to -> d
    int from -> c
    1:1:void <clinit>():520:520 -> <clinit>
    1:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList,int,int):529:532 -> <init>
    1:1:boolean access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList):520:520 -> a
    2:4:boolean assertRange():536:538 -> a
    5:9:void removeElements(int,int):598:602 -> a
    1:3:boolean add(java.lang.Object):544:546 -> add
    4:7:void add(int,java.lang.Object):552:555 -> add
    1:3:boolean addAll(int,java.util.Collection):560:562 -> addAll
    1:1:int compareTo(java.lang.Object):520:520 -> compareTo
    1:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList subList(int,int):674:677 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList subList(int,int):676:676 -> e
    1:2:java.lang.Object get(int):567:568 -> get
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.iterator():181 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():520 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.iterator():181 -> iterator
    2:2:java.util.Iterator iterator():520 -> iterator
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int):615:616 -> j
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList.listIterator():193:193 -> listIterator
    1:1:java.util.ListIterator listIterator():520 -> listIterator
    1:3:java.lang.Object remove(int):573:575 -> remove
    1:2:java.lang.Object set(int,java.lang.Object):580:581 -> set
    1:1:int size():586:586 -> size
    1:1:java.util.List subList(int,int):520:520 -> subList
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList$1 -> com.android.tools.r8.internal.W0:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList this$0 -> d
    boolean $assertionsDisabled -> e
    int pos -> b
    int last -> c
    1:1:void <clinit>():616:616 -> <clinit>
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectList$ObjectSubList,int):616:617 -> <init>
    1:5:void add(java.lang.Object):646:646 -> add
    1:1:boolean hasNext():620:620 -> hasNext
    1:1:boolean hasPrevious():624:624 -> hasPrevious
    1:3:java.lang.Object next():628:628 -> next
    1:1:int nextIndex():638:638 -> nextIndex
    1:3:java.lang.Object previous():633:633 -> previous
    1:1:int previousIndex():642:642 -> previousIndex
    1:11:void remove():658:658 -> remove
    1:3:void set(java.lang.Object):653:653 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectListIterator -> com.android.tools.r8.internal.Z0:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectBidirectionalIterator.<init>():34:34 -> <init>
    1:1:void <init>():35 -> <init>
    1:1:void add(java.lang.Object):57:57 -> add
    1:1:void set(java.lang.Object):46:46 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectSet -> com.android.tools.r8.internal.a1:
    1:1:void <init>():32:32 -> <init>
    1:4:boolean equals(java.lang.Object):41:44 -> equals
    1:7:int hashCode():57:63 -> hashCode
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractObjectSortedSet -> com.android.tools.r8.internal.b1:
    1:1:void <init>():23:23 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.iterator():1276:1276 -> iterator
    2:2:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap$MapEntrySet.iterator():1276:1276 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanFunction -> com.android.tools.r8.internal.d1:
    1:1:void <init>():44:44 -> <init>
    1:1:boolean put(java.lang.Object,boolean):71:71 -> a
    1:1:boolean removeBoolean(java.lang.Object):82:82 -> c
    1:1:void clear():93:93 -> clear
    1:1:java.lang.Object get(java.lang.Object):41:41 -> get
    2:2:java.lang.Boolean get(java.lang.Object):108:108 -> get
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):41:41 -> put
    2:4:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanFunction.put(java.lang.Object,java.lang.Boolean):123:125 -> put
    2:4:java.lang.Object put(java.lang.Object,java.lang.Object):41 -> put
    1:3:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanFunction.remove(java.lang.Object):140:142 -> remove
    1:3:java.lang.Object remove(java.lang.Object):41 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap$BasicEntry -> com.android.tools.r8.internal.e1:
    java.lang.Object key -> b
    boolean value -> c
    1:3:void <init>(java.lang.Object,boolean):121:123 -> <init>
    1:4:boolean equals(java.lang.Object):167:170 -> equals
    1:1:boolean getBooleanValue():145:145 -> getBooleanValue
    1:1:java.lang.Object getKey():128:128 -> getKey
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap$BasicEntry.getValue():140:140 -> getValue
    1:1:java.lang.Object getValue():112 -> getValue
    1:1:int hashCode():175:175 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):112:112 -> setValue
    2:2:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap$BasicEntry.setValue(java.lang.Boolean):162:162 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):112 -> setValue
    3:3:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap$BasicEntry.setValue(boolean):150:150 -> setValue
    3:3:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap$BasicEntry.setValue(java.lang.Boolean):162 -> setValue
    3:3:java.lang.Object setValue(java.lang.Object):112 -> setValue
    1:1:java.lang.String toString():180:180 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntMap -> com.android.tools.r8.internal.g1:
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.defRetValue -> b
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,int) -> b
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.removeInt(java.lang.Object) -> c
    1:1:boolean containsValue(java.lang.Object):62:62 -> containsValue
    boolean containsValue(int) -> d
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.defaultReturnValue(int):55:55 -> e
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.defaultReturnValue(int):0 -> e
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.Set entrySet():42:42 -> entrySet
    1:4:boolean equals(java.lang.Object):320:323 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():297:297 -> f
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.get(java.lang.Object):108:108 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.get(java.lang.Object):41 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:4:int hashCode():310:313 -> hashCode
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,java.lang.Integer):123:125 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:13:void putAll(java.util.Map):82:94 -> putAll
    14:15:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.put(java.lang.Object,java.lang.Integer):123:124 -> putAll
    14:15:void putAll(java.util.Map):94 -> putAll
    1:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.remove(java.lang.Object):140:142 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.remove(java.lang.Object):41 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:17:java.lang.String toString():328:344 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntMap$BasicEntry -> com.android.tools.r8.internal.f1:
    java.lang.Object key -> b
    int value -> c
    1:3:void <init>(java.lang.Object,int):121:123 -> <init>
    1:4:boolean equals(java.lang.Object):167:170 -> equals
    1:1:int getIntValue():145:145 -> getIntValue
    1:1:java.lang.Object getKey():128:128 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntMap$BasicEntry.getValue():140:140 -> getValue
    1:1:java.lang.Object getValue():112 -> getValue
    1:1:int hashCode():175:175 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):112:112 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntMap$BasicEntry.setValue(java.lang.Integer):162:162 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):112 -> setValue
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntMap$BasicEntry.setValue(int):150:150 -> setValue
    3:3:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntMap$BasicEntry.setValue(java.lang.Integer):162 -> setValue
    3:3:java.lang.Object setValue(java.lang.Object):112 -> setValue
    1:1:java.lang.String toString():180:180 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntSortedMap -> com.android.tools.r8.internal.h1:
    1:1:void <init>():34:34 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntSortedMap.entrySet():229:229 -> entrySet
    1:1:java.util.Set entrySet():31 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.reference2IntEntrySet():87:87 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntSortedMap.entrySet():229 -> entrySet
    2:2:java.util.Set entrySet():31 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntSortedMap.entrySet():229:229 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():31 -> f
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.reference2IntEntrySet():87:87 -> f
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2IntSortedMap.entrySet():229 -> f
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():31 -> f
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongMap -> com.android.tools.r8.internal.i1:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.<init>():44:44 -> <init>
    1:1:void <init>():45 -> <init>
    long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,long) -> a
    long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.removeLong(java.lang.Object) -> c
    1:1:boolean containsValue(java.lang.Object):62:62 -> containsValue
    2:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.containsValue(long):404:408 -> containsValue
    2:6:boolean containsValue(java.lang.Object):62 -> containsValue
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongMap.entrySet():297:297 -> entrySet
    1:1:java.util.Set entrySet():42 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.reference2LongEntrySet():761:762 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.reference2LongEntrySet():49 -> entrySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongMap.entrySet():297 -> entrySet
    2:3:java.util.Set entrySet():42 -> entrySet
    1:3:boolean equals(java.lang.Object):320:322 -> equals
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.size():429:429 -> equals
    4:4:boolean equals(java.lang.Object):322 -> equals
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.reference2LongEntrySet():761:762 -> equals
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.reference2LongEntrySet():49 -> equals
    5:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongMap.entrySet():297 -> equals
    5:6:boolean equals(java.lang.Object):323 -> equals
    7:7:boolean equals(java.lang.Object):323:323 -> equals
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.get(java.lang.Object):108:108 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.get(java.lang.Object):41 -> get
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,java.lang.Object):41:41 -> put
    1:1:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    2:4:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,java.lang.Long):123:125 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,java.lang.Object):41 -> put
    2:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,java.lang.Object):0 -> put
      # {"id":"com.android.tools.r8.synthesized"}
    1:13:void putAll(java.util.Map):82:94 -> putAll
    14:15:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.put(java.lang.Object,java.lang.Long):123:124 -> putAll
    14:15:void putAll(java.util.Map):94 -> putAll
    1:3:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.remove(java.lang.Object):140:142 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.remove(java.lang.Object):41 -> remove
    1:3:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongFunction.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():328:328 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongMap.entrySet():297:297 -> toString
    2:2:java.lang.String toString():329 -> toString
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.reference2LongEntrySet():761:762 -> toString
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.reference2LongEntrySet():49 -> toString
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2LongMap.entrySet():297 -> toString
    3:4:java.lang.String toString():329 -> toString
    5:5:java.lang.String toString():329:329 -> toString
    6:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.size():429:429 -> toString
    6:6:java.lang.String toString():330 -> toString
    7:18:java.lang.String toString():333:344 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceCollection -> com.android.tools.r8.internal.j1:
    1:1:void <init>():37:37 -> <init>
    1:1:java.util.Iterator com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap$3.iterator():1384:1384 -> iterator
    1:15:java.lang.String toString():61:75 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList -> com.android.tools.r8.internal.m1:
    1:1:void <init>():34:34 -> <init>
    void removeElements(int,int) -> a
    1:5:boolean addAll(int,java.util.Collection):121:125 -> addAll
    6:6:boolean addAll(java.util.Collection):138:138 -> addAll
    1:1:void clear():404:404 -> clear
    1:1:boolean contains(java.lang.Object):275:275 -> contains
    1:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList subList(int,int):311:314 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList subList(int,int):313:313 -> e
    1:4:boolean equals(java.lang.Object):427:430 -> equals
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> equals
    5:5:boolean equals(java.lang.Object):431 -> equals
    6:8:boolean equals(java.lang.Object):431:433 -> equals
    1:1:void ensureIndex(int):48:48 -> h
    2:2:void ensureIndex(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":100,"2":101,"3":102,"4":103,"5":104}}
    100:100:void ensureIndex(int):48:48 -> h
    101:101:void ensureIndex(int):48:48 -> h
    102:102:void ensureIndex(int):48:48 -> h
    103:103:void ensureIndex(int):48:48 -> h
    104:104:void ensureIndex(int):48:48 -> h
    50:50:void ensureIndex(int):48:48 -> h
    51:51:void ensureIndex(int):47:47 -> h
    52:52:void ensureIndex(int):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":105,"2":106,"3":107,"4":108,"5":109,"6":110}}
    105:105:void ensureIndex(int):47:47 -> h
    106:106:void ensureIndex(int):47:47 -> h
    107:107:void ensureIndex(int):47:47 -> h
    108:108:void ensureIndex(int):47:47 -> h
    109:109:void ensureIndex(int):47:47 -> h
    110:110:void ensureIndex(int):47:47 -> h
    99:99:void ensureIndex(int):47:47 -> h
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.iterator():181 -> hashCode
    1:1:int hashCode():415 -> hashCode
    2:5:int hashCode():416:419 -> hashCode
    1:1:void ensureRestrictedIndex(int):63:63 -> i
    2:2:void ensureRestrictedIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132,"4":133,"5":134}}
    130:130:void ensureRestrictedIndex(int):63:63 -> i
    131:131:void ensureRestrictedIndex(int):63:63 -> i
    132:132:void ensureRestrictedIndex(int):63:63 -> i
    133:133:void ensureRestrictedIndex(int):63:63 -> i
    134:134:void ensureRestrictedIndex(int):63:63 -> i
    65:65:void ensureRestrictedIndex(int):63:63 -> i
    66:66:void ensureRestrictedIndex(int):62:62 -> i
    67:67:void ensureRestrictedIndex(int):0:0 -> i
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":135,"2":136,"3":137,"4":138,"5":139,"6":140}}
    135:135:void ensureRestrictedIndex(int):62:62 -> i
    136:136:void ensureRestrictedIndex(int):62:62 -> i
    137:137:void ensureRestrictedIndex(int):62:62 -> i
    138:138:void ensureRestrictedIndex(int):62:62 -> i
    139:139:void ensureRestrictedIndex(int):62:62 -> i
    140:140:void ensureRestrictedIndex(int):62:62 -> i
    129:129:void ensureRestrictedIndex(int):62:62 -> i
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> indexOf
    1:1:int indexOf(java.lang.Object):280 -> indexOf
    2:4:int indexOf(java.lang.Object):282:284 -> indexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.iterator():181 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():33 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.iterator():181 -> iterator
    2:2:java.util.Iterator iterator():33 -> iterator
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int) -> j
    1:5:int lastIndexOf(java.lang.Object):291:295 -> lastIndexOf
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> listIterator
    1:1:java.util.ListIterator listIterator():33 -> listIterator
    2:2:java.util.ListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList.listIterator(int):479:479 -> listIterator
    1:1:java.util.List subList(int,int):33:33 -> subList
    1:1:java.lang.String toString():461:461 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> toString
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.iterator():181 -> toString
    2:2:java.lang.String toString():462 -> toString
    3:15:java.lang.String toString():463:475 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList -> com.android.tools.r8.internal.l1:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList l -> b
    int to -> d
    int from -> c
    1:1:void <clinit>():479:479 -> <clinit>
    1:4:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList,int,int):488:491 -> <init>
    1:1:boolean access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList):479:479 -> a
    2:4:boolean assertRange():495:497 -> a
    5:9:void removeElements(int,int):557:561 -> a
    1:3:boolean add(java.lang.Object):503:505 -> add
    4:7:void add(int,java.lang.Object):511:514 -> add
    1:3:boolean addAll(int,java.util.Collection):519:521 -> addAll
    1:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList subList(int,int):633:636 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList subList(int,int):635:635 -> e
    1:2:java.lang.Object get(int):526:527 -> get
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.iterator():181 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():479 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.iterator():181 -> iterator
    2:2:java.util.Iterator iterator():479 -> iterator
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int):574:575 -> j
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList.listIterator():193:193 -> listIterator
    1:1:java.util.ListIterator listIterator():479 -> listIterator
    1:3:java.lang.Object remove(int):532:534 -> remove
    1:2:java.lang.Object set(int,java.lang.Object):539:540 -> set
    1:1:int size():545:545 -> size
    1:1:java.util.List subList(int,int):479:479 -> subList
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList$1 -> com.android.tools.r8.internal.k1:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList this$0 -> d
    int pos -> b
    int last -> c
    1:1:void <clinit>():575:575 -> <clinit>
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceList$ReferenceSubList,int):575:576 -> <init>
    1:5:void add(java.lang.Object):605:605 -> add
    1:1:boolean hasNext():579:579 -> hasNext
    1:1:boolean hasPrevious():583:583 -> hasPrevious
    1:3:java.lang.Object next():587:587 -> next
    1:1:int nextIndex():597:597 -> nextIndex
    1:3:java.lang.Object previous():592:592 -> previous
    1:1:int previousIndex():601:601 -> previousIndex
    1:11:void remove():617:617 -> remove
    1:3:void set(java.lang.Object):612:612 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceSet -> com.android.tools.r8.internal.n1:
    1:1:void <init>():32:32 -> <init>
    1:4:boolean equals(java.lang.Object):41:44 -> equals
    1:7:int hashCode():57:63 -> hashCode
com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReferenceSortedSet -> com.android.tools.r8.internal.o1:
    1:1:void <init>():23:23 -> <init>
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap -> com.android.tools.r8.internal.gI:
    java.lang.Object[] key -> b
    boolean[] value -> c
    int size -> d
    1:3:void <init>():70:72 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap):37:37 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap,java.lang.Object):37:37 -> a
    3:4:boolean containsValue(boolean):270:271 -> a
    5:23:boolean put(java.lang.Object,boolean):283:301 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap):37:37 -> b
    2:4:boolean getBoolean(java.lang.Object):244:246 -> b
    1:1:java.lang.Object[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap):37:37 -> c
    1:4:void clear():257:260 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap.clone():344:349 -> clone
    1:6:java.lang.Object clone():37 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap.clone():346:346 -> clone
    7:7:java.lang.Object clone():37 -> clone
    1:1:boolean containsKey(java.lang.Object):265:265 -> containsKey
    1:1:boolean[] access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap):37:37 -> d
    2:9:boolean removeBoolean(java.lang.Object):308:315 -> d
    1:3:int findKey(java.lang.Object):235:237 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet keySet():321:321 -> f
    1:1:boolean isEmpty():277:277 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap.object2BooleanEntrySet():231:231 -> k
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2BooleanEntrySet():37 -> k
    1:1:int size():252:252 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap.values():326:326 -> values
    1:1:java.util.Collection values():37 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet -> com.android.tools.r8.internal.fI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap):133:133 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$1):133:133 -> <init>
    1:5:boolean contains(java.lang.Object):203:207 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():136:136 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet.iterator():136:136 -> iterator
    2:2:java.util.Iterator iterator():133 -> iterator
    1:12:boolean remove(java.lang.Object):213:224 -> remove
    1:1:int size():197:197 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet$1 -> com.android.tools.r8.internal.eI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet this$1 -> d
    int curr -> b
    int next -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet):136:137 -> <init>
    1:1:boolean hasNext():141:141 -> hasNext
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanArrayMap$EntrySet$1.next():147:147 -> next
    1:3:java.lang.Object next():136 -> next
    1:7:void remove():153:153 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap -> com.android.tools.r8.internal.jI:
    java.lang.Object[] key -> c
    int[] value -> d
    int size -> e
    1:3:void <init>():70:72 -> <init>
    4:6:void <init>(int):81:83 -> <init>
    7:8:void <init>(java.util.Map):104:105 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap):37:37 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap,java.lang.Object):37:37 -> a
    3:6:int getInt(java.lang.Object):244:247 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap):37:37 -> b
    2:21:int put(java.lang.Object,int):283:302 -> b
    1:1:java.lang.Object[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap):37:37 -> c
    2:9:int removeInt(java.lang.Object):308:315 -> c
    1:4:void clear():257:260 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap.clone():344:349 -> clone
    1:6:java.lang.Object clone():37 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap.clone():346:346 -> clone
    7:7:java.lang.Object clone():37 -> clone
    1:1:boolean containsKey(java.lang.Object):265:265 -> containsKey
    1:1:int[] access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap):37:37 -> d
    2:4:int findKey(java.lang.Object):235:237 -> d
    5:6:boolean containsValue(int):270:271 -> d
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap.object2IntEntrySet():231:231 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2IntEntrySet():37 -> e
    1:1:boolean isEmpty():277:277 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet keySet():321:321 -> k
    1:1:java.util.Set keySet():37:37 -> keySet
    1:1:int size():252:252 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap.values():326:326 -> values
    1:1:java.util.Collection values():37 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet -> com.android.tools.r8.internal.iI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap):133:133 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$1):133:133 -> <init>
    1:5:boolean contains(java.lang.Object):203:207 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():136:136 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet.iterator():136:136 -> iterator
    2:2:java.util.Iterator iterator():133 -> iterator
    1:12:boolean remove(java.lang.Object):213:224 -> remove
    1:1:int size():197:197 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet$1 -> com.android.tools.r8.internal.hI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet this$1 -> d
    int curr -> b
    int next -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet):136:137 -> <init>
    1:1:boolean hasNext():141:141 -> hasNext
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntArrayMap$EntrySet$1.next():147:147 -> next
    1:3:java.lang.Object next():136 -> next
    1:7:void remove():153:153 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntFunction -> com.android.tools.r8.internal.kI:
    int getInt(java.lang.Object) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap -> com.android.tools.r8.internal.tI:
    int size -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> o
    java.lang.Object[] key -> c
    int n -> j
    int maxFill -> k
    int last -> h
    int first -> g
    int mask -> e
    long[] link -> i
    int[] value -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet entries -> m
    boolean containsNullKey -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keys -> n
    1:1:void <init>(int,float):147:147 -> <init>
    2:56:void <init>(int,float):102:156 -> <init>
    57:57:void <init>():176:176 -> <init>
    1:1:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,int):87:87 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.removeNullEntry():285:285 -> a
    2:2:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:7:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.removeNullEntry():286:290 -> a
    3:7:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):87 -> a
    8:18:int getInt(java.lang.Object):721:731 -> a
    1:25:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.insert(java.lang.Object,int):307:331 -> b
    1:25:int put(java.lang.Object,int):338 -> b
    26:28:int put(java.lang.Object,int):339:341 -> b
    1:1:int removeInt(java.lang.Object):431:431 -> c
    2:7:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.removeNullEntry():285:290 -> c
    2:7:int removeInt(java.lang.Object):431 -> c
    8:18:int removeInt(java.lang.Object):432:442 -> c
    19:42:void fixPointers(int,int):937:960 -> c
    1:5:void clear():771:775 -> clear
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.clone():1768:1778 -> clone
    1:11:java.lang.Object clone():87 -> clone
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.clone():1770:1770 -> clone
    12:12:java.lang.Object clone():87 -> clone
    1:11:boolean containsKey(java.lang.Object):738:748 -> containsKey
    1:5:boolean containsValue(int):754:758 -> d
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.object2IntEntrySet():1422:1423 -> e
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2IntEntrySet():87 -> e
    1:25:void fixPointers(int):899:923 -> f
    1:3:java.lang.Object firstKey():970:970 -> firstKey
    1:42:void rehash(int):1709:1750 -> g
    1:3:int removeEntry(int):276:278 -> h
    4:9:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.shiftKeys(int):410:415 -> h
    4:9:int removeEntry(int):279 -> h
    10:10:int removeEntry(int):280:280 -> h
    11:17:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.shiftKeys(int):418:424 -> h
    11:17:int removeEntry(int):279 -> h
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.realSize():262:262 -> hashCode
    1:1:int hashCode():1795 -> hashCode
    2:10:int hashCode():1796:1804 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.headMap(java.lang.Object):1002:1002 -> headMap
    1:1:java.util.SortedMap headMap(java.lang.Object):87 -> headMap
    1:1:boolean isEmpty():785:785 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keySet():1531:1532 -> k
    1:1:java.util.Set keySet():87:87 -> keySet
    1:3:java.lang.Object lastKey():981:981 -> lastKey
    1:1:void putAll(java.util.Map):296:296 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.ensureCapacity(int):266:267 -> putAll
    2:3:void putAll(java.util.Map):296 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.size():780:780 -> putAll
    4:4:void putAll(java.util.Map):298 -> putAll
    5:5:void putAll(java.util.Map):298:298 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.tryCapacity(long):271:272 -> putAll
    6:7:void putAll(java.util.Map):298 -> putAll
    8:8:void putAll(java.util.Map):301:301 -> putAll
    1:1:int size():780:780 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.subMap(java.lang.Object,java.lang.Object):1012:1012 -> subMap
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):87 -> subMap
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.tailMap(java.lang.Object):992:992 -> tailMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):87 -> tailMap
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.values():1596:1617 -> values
    1:22:java.util.Collection values():87 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$1 -> com.android.tools.r8.internal.lI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1596:1596 -> <init>
    1:1:void clear():1614:1614 -> clear
    1:1:boolean contains(int):1609:1609 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():1599:1599 -> iterator
    1:1:int size():1604:1604 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.mI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry entry -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1222:1222 -> <init>
    1:1:void add(java.lang.Object):1219:1219 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry):1215:1215 -> add
    2:2:void add(java.lang.Object):1219 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$EntryIterator.next():1231:1231 -> next
    1:1:java.lang.Object next():1219 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$EntryIterator.previous():1236:1236 -> previous
    1:1:java.lang.Object previous():1219 -> previous
    1:2:void remove():1241:1242 -> remove
    1:1:void set(java.lang.Object):1219:1219 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry):1211:1211 -> set
    2:2:void set(java.lang.Object):1219 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.nI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1455:1456 -> <init>
    1:1:void add(java.lang.Object):1452:1452 -> add
    1:1:java.lang.Object next():1461:1461 -> next
    1:1:java.lang.Object previous():1442:1442 -> previous
    1:1:void set(java.lang.Object):1447:1447 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.oI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1465:1465 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$1):1465:1465 -> <init>
    1:1:void clear():1493:1493 -> clear
    1:1:boolean contains(java.lang.Object):1481:1481 -> contains
    1:3:java.lang.Object first():1498:1498 -> first
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet.headSet(java.lang.Object):1520:1520 -> headSet
    1:1:java.util.SortedSet headSet(java.lang.Object):1465 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet.iterator():1471:1471 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1465 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet.iterator():1471:1471 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1465 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet.iterator():1471:1471 -> iterator
    3:3:java.util.Iterator iterator():1465 -> iterator
    1:3:java.lang.Object last():1504:1504 -> last
    1:3:boolean remove(java.lang.Object):1486:1488 -> remove
    1:1:int size():1476:1476 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet.subSet(java.lang.Object,java.lang.Object):1525:1525 -> subSet
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465 -> subSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$KeySet.tailSet(java.lang.Object):1515:1515 -> tailSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1465 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.pI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,int):824:825 -> <init>
    1:3:boolean equals(java.lang.Object):875:877 -> equals
    1:1:int getIntValue():838:838 -> getIntValue
    1:1:java.lang.Object getKey():833:833 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry.getValue():857:857 -> getValue
    1:1:java.lang.Object getValue():819 -> getValue
    1:1:int hashCode():882:882 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):819:819 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869:869 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):819 -> setValue
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry.setValue(int):843:844 -> setValue
    3:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):819 -> setValue
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869:869 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):819 -> setValue
    1:1:java.lang.String toString():887:887 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.qI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1269:1269 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$1):1269:1269 -> <init>
    1:1:void clear():1373:1373 -> clear
    1:16:boolean contains(java.lang.Object):1309:1324 -> contains
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet.first():1296:1296 -> first
    1:3:java.lang.Object first():1269 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1269:1269 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry):1286:1286 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1269 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1271:1271 -> iterator
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet.last():1302:1302 -> last
    1:3:java.lang.Object last():1269 -> last
    1:29:boolean remove(java.lang.Object):1331:1359 -> remove
    1:1:int size():1368:1368 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1269:1269 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry):1281:1281 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1269 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1269:1269 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry):1291:1291 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1269 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.rI:
    int curr -> d
    int index -> e
    int prev -> b
    int next -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> f
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$1):1032:1032 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1057:1057 -> <init>
    3:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1038:1059 -> <init>
    1:1:boolean hasNext():1091:1091 -> hasNext
    1:1:boolean hasPrevious():1095:1095 -> hasPrevious
    1:14:void ensureIndexKnown():1099:1112 -> j
    1:6:int nextEntry():1127:1127 -> k
    1:6:int previousEntry():1136:1136 -> l
    1:2:int nextIndex():1117:1118 -> nextIndex
    1:2:int previousIndex():1122:1123 -> previousIndex
    1:47:void remove():1145:1191 -> remove
    48:48:void remove():1146:1146 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.sI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap):1578:1579 -> <init>
    1:1:void add(java.lang.Object):1544:1544 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator.add(java.lang.Integer):1565:1565 -> add
    2:2:void add(java.lang.Object):1544 -> add
    1:1:int previousInt():1547:1547 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator.next():1590:1590 -> next
    1:1:java.lang.Object next():1544 -> next
    1:1:int nextInt():1584:1584 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator.previous():1553:1553 -> previous
    1:1:java.lang.Object previous():1544 -> previous
    1:1:void set(java.lang.Object):1544:1544 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap$ValueIterator.set(java.lang.Integer):1559:1559 -> set
    2:2:void set(java.lang.Object):1544 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap -> com.android.tools.r8.internal.wI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2IntEntrySet() -> e
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$Entry -> com.android.tools.r8.internal.uI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$FastEntrySet -> com.android.tools.r8.internal.vI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap -> com.android.tools.r8.internal.FI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet keys -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> l
    java.lang.Object[] key -> c
    int[] value -> d
    int maxFill -> h
    int size -> i
    boolean containsNullKey -> f
    int n -> g
    int mask -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$FastEntrySet entries -> j
    1:9:void <init>(int,float):91:99 -> <init>
    1:1:int access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,int):49:49 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.removeNullEntry():227:227 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.removeNullEntry():228:231 -> a
    3:6:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):49 -> a
    7:17:int getInt(java.lang.Object):371:381 -> a
    1:16:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.insert(java.lang.Object,int):248:263 -> b
    1:16:int put(java.lang.Object,int):270 -> b
    17:19:int put(java.lang.Object,int):271:273 -> b
    1:1:int removeInt(java.lang.Object):353:353 -> c
    2:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.removeNullEntry():227:231 -> c
    2:6:int removeInt(java.lang.Object):353 -> c
    7:17:int removeInt(java.lang.Object):354:364 -> c
    1:4:void clear():421:424 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.clone():999:1008 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.clone():1001:1001 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:11:boolean containsKey(java.lang.Object):388:398 -> containsKey
    1:5:boolean containsValue(int):404:408 -> d
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.object2IntEntrySet():761:762 -> e
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2IntEntrySet():49 -> e
    1:7:void rehash(int):961:967 -> f
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.realSize():205:205 -> f
    8:8:void rehash(int):968 -> f
    9:21:void rehash(int):969:981 -> f
    1:2:int removeEntry(int):219:220 -> g
    3:8:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.shiftKeys(int):333:338 -> g
    3:8:int removeEntry(int):221 -> g
    9:9:int removeEntry(int):222:222 -> g
    10:15:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.shiftKeys(int):341:346 -> g
    10:15:int removeEntry(int):221 -> g
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():1025 -> hashCode
    2:10:int hashCode():1026:1034 -> hashCode
    1:1:boolean isEmpty():434:434 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.keySet():816:817 -> keySet
    1:2:java.util.Set keySet():49 -> keySet
    1:1:void putAll(java.util.Map):237:237 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):237 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.size():429:429 -> putAll
    4:4:void putAll(java.util.Map):239 -> putAll
    5:5:void putAll(java.util.Map):239:239 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):239 -> putAll
    8:8:void putAll(java.util.Map):242:242 -> putAll
    1:1:int size():429:429 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.values():848:869 -> values
    1:22:java.util.Collection values():49 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1 -> com.android.tools.r8.internal.xI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):848:848 -> <init>
    1:1:void clear():866:866 -> clear
    1:1:boolean contains(int):861:861 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():851:851 -> iterator
    1:1:int size():856:856 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$EntryIterator -> com.android.tools.r8.internal.yI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry entry -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> i
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):654:654 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1):654:654 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$EntryIterator.next():659:659 -> next
    1:1:java.lang.Object next():654 -> next
    1:2:void remove():664:665 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$KeyIterator -> com.android.tools.r8.internal.zI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):775:776 -> <init>
    1:1:java.lang.Object next():781:781 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$KeySet -> com.android.tools.r8.internal.AI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):785:785 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1):785:785 -> <init>
    1:1:void clear():810:810 -> clear
    1:1:boolean contains(java.lang.Object):798:798 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():788:788 -> iterator
    1:3:boolean remove(java.lang.Object):803:805 -> remove
    1:1:int size():793:793 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry -> com.android.tools.r8.internal.BI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,int):473:474 -> <init>
    1:3:boolean equals(java.lang.Object):524:526 -> equals
    1:1:int getIntValue():487:487 -> getIntValue
    1:1:java.lang.Object getKey():482:482 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry.getValue():506:506 -> getValue
    1:1:java.lang.Object getValue():468 -> getValue
    1:1:int hashCode():531:531 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):468:468 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518:518 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):468 -> setValue
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry.setValue(int):492:493 -> setValue
    3:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):468 -> setValue
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518:518 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):468 -> setValue
    1:1:java.lang.String toString():536:536 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.CI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):679:679 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1):679:679 -> <init>
    1:1:void clear():755:755 -> clear
    1:16:boolean contains(java.lang.Object):691:706 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():681:681 -> iterator
    1:29:boolean remove(java.lang.Object):713:741 -> remove
    1:1:int size():750:750 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapIterator -> com.android.tools.r8.internal.DI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList wrapped -> f
    boolean mustReturnNullKey -> e
    int c -> d
    int pos -> b
    int last -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> g
    1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):541:564 -> <init>
    25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$1):541:541 -> <init>
    1:1:boolean hasNext():572:572 -> hasNext
    1:19:int nextEntry():576:576 -> j
    1:5:void remove():630:634 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapIterator.shiftKeys(int):608:613 -> remove
    6:11:void remove():634 -> remove
    12:13:void remove():641:642 -> remove
    14:23:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$MapIterator.shiftKeys(int):616:625 -> remove
    14:23:void remove():634 -> remove
    24:25:void remove():637:638 -> remove
    26:26:void remove():630:630 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$ValueIterator -> com.android.tools.r8.internal.EI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap):830:831 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap$ValueIterator.next():842:842 -> next
    1:1:java.lang.Object next():829 -> next
    1:1:int nextInt():836:836 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.GI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$Entry -> com.android.tools.r8.internal.HI:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$FastEntrySet -> com.android.tools.r8.internal.II:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap -> com.android.tools.r8.internal.RI:
    long[] value -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet keys -> j
    java.lang.Object[] key -> b
    int size -> h
    boolean containsNullKey -> e
    int n -> f
    int maxFill -> g
    int mask -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection values -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$FastEntrySet entries -> i
    1:9:void <init>(int,float):91:99 -> <init>
    10:10:void <init>():119:119 -> <init>
    1:1:long access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,int):49:49 -> a
    2:2:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.removeNullEntry():227:227 -> a
    2:2:long access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.removeNullEntry():228:231 -> a
    3:6:long access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):49 -> a
    7:22:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.insert(java.lang.Object,long):248:263 -> a
    7:22:long put(java.lang.Object,long):270 -> a
    23:24:long put(java.lang.Object,long):272:273 -> a
    1:1:long removeLong(java.lang.Object):353:353 -> c
    2:6:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.removeNullEntry():227:231 -> c
    2:6:long removeLong(java.lang.Object):353 -> c
    7:14:long removeLong(java.lang.Object):357:364 -> c
    1:4:void clear():421:424 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.clone():999:1008 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.clone():1001:1001 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:11:boolean containsKey(java.lang.Object):388:398 -> containsKey
    1:7:void rehash(int):961:967 -> d
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.realSize():205:205 -> d
    8:8:void rehash(int):968 -> d
    9:21:void rehash(int):969:981 -> d
    1:2:long removeEntry(int):219:220 -> e
    3:8:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.shiftKeys(int):333:338 -> e
    3:8:long removeEntry(int):221 -> e
    9:9:long removeEntry(int):222:222 -> e
    10:15:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.shiftKeys(int):341:346 -> e
    10:15:long removeEntry(int):221 -> e
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.object2LongEntrySet():761:762 -> f
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet object2LongEntrySet():49 -> f
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():1025 -> hashCode
    2:10:int hashCode():1026:1034 -> hashCode
    1:1:boolean isEmpty():434:434 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.keySet():816:817 -> keySet
    1:2:java.util.Set keySet():49 -> keySet
    1:1:void putAll(java.util.Map):237:237 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):237 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.size():429:429 -> putAll
    4:4:void putAll(java.util.Map):239 -> putAll
    5:5:void putAll(java.util.Map):239:239 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):239 -> putAll
    8:8:void putAll(java.util.Map):242:242 -> putAll
    1:1:int size():429:429 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.values():848:869 -> values
    1:22:java.util.Collection values():49 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1 -> com.android.tools.r8.internal.JI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):848:848 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator():851:851 -> a
    1:1:boolean contains(long):861:861 -> b
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.containsValue(long):404:404 -> b
    2:2:boolean contains(long):861 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap.containsValue(long):405:408 -> b
    3:6:boolean contains(long):861 -> b
    1:1:void clear():866:866 -> clear
    1:1:int size():856:856 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$EntryIterator -> com.android.tools.r8.internal.KI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):654:654 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1):654:654 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$EntryIterator.next():659:659 -> next
    1:1:java.lang.Object next():654 -> next
    1:2:void remove():664:665 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$KeyIterator -> com.android.tools.r8.internal.LI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):775:776 -> <init>
    1:1:java.lang.Object next():781:781 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$KeySet -> com.android.tools.r8.internal.MI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):785:785 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1):785:785 -> <init>
    1:1:void clear():810:810 -> clear
    1:1:boolean contains(java.lang.Object):798:798 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():788:788 -> iterator
    1:3:boolean remove(java.lang.Object):803:805 -> remove
    1:1:int size():793:793 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry -> com.android.tools.r8.internal.NI:
    int index -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,int):473:474 -> <init>
    1:3:boolean equals(java.lang.Object):524:526 -> equals
    1:1:java.lang.Object getKey():482:482 -> getKey
    1:1:long getLongValue():487:487 -> getLongValue
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry.getValue():506:506 -> getValue
    1:1:java.lang.Object getValue():468 -> getValue
    1:1:int hashCode():531:531 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):468:468 -> setValue
    2:2:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518:518 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):468 -> setValue
    3:4:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry.setValue(long):492:493 -> setValue
    3:4:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):468 -> setValue
    5:5:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518:518 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):468 -> setValue
    1:1:java.lang.String toString():536:536 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.OI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):679:679 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1):679:679 -> <init>
    1:1:void clear():755:755 -> clear
    1:16:boolean contains(java.lang.Object):691:706 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():681:681 -> iterator
    1:29:boolean remove(java.lang.Object):713:741 -> remove
    1:1:int size():750:750 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapIterator -> com.android.tools.r8.internal.PI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList wrapped -> f
    boolean mustReturnNullKey -> e
    int c -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> g
    int pos -> b
    int last -> c
    1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):541:564 -> <init>
    25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$1):541:541 -> <init>
    1:1:boolean hasNext():572:572 -> hasNext
    1:19:int nextEntry():576:576 -> j
    1:5:void remove():630:634 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapIterator.shiftKeys(int):608:613 -> remove
    6:11:void remove():634 -> remove
    12:13:void remove():641:642 -> remove
    14:23:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$MapIterator.shiftKeys(int):616:625 -> remove
    14:23:void remove():634 -> remove
    24:25:void remove():637:638 -> remove
    26:26:void remove():630:630 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$ValueIterator -> com.android.tools.r8.internal.QI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap):830:831 -> <init>
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2LongOpenHashMap$ValueIterator.next():842:842 -> next
    1:1:java.lang.Object next():829 -> next
    1:1:long nextLong():836:836 -> nextLong
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap -> com.android.tools.r8.internal.aJ:
    java.lang.Object[] key -> b
    int size -> l
    java.lang.Object[] value -> c
    int n -> j
    int maxFill -> k
    int last -> h
    int first -> g
    int mask -> d
    long[] link -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection values -> o
    com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy strategy -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap$FastSortedEntrySet entries -> m
    boolean containsNullKey -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keys -> n
    1:1:void <init>(int,float,com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy):149:149 -> <init>
    2:59:void <init>(int,float,com.android.tools.r8.it.unimi.dsi.fastutil.Hash$Strategy):102:159 -> <init>
    1:1:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,int):85:85 -> a
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.removeNullEntry():315:315 -> a
    2:2:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):85 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:8:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.removeNullEntry():316:321 -> a
    3:8:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):85 -> a
    1:24:void fixPointers(int,int):894:917 -> c
    1:6:void clear():751:756 -> clear
    1:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.clone():1701:1712 -> clone
    1:12:java.lang.Object clone():85 -> clone
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.clone():1703:1703 -> clone
    13:13:java.lang.Object clone():85 -> clone
    1:11:boolean containsKey(java.lang.Object):718:728 -> containsKey
    1:5:boolean containsValue(java.lang.Object):734:738 -> containsValue
    1:25:void fixPointers(int):856:880 -> d
    1:42:void rehash(int):1642:1683 -> e
    1:4:java.lang.Object removeEntry(int):305:308 -> f
    5:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.shiftKeys(int):387:393 -> f
    5:11:java.lang.Object removeEntry(int):309 -> f
    12:12:java.lang.Object removeEntry(int):310:310 -> f
    13:19:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.shiftKeys(int):396:402 -> f
    13:19:java.lang.Object removeEntry(int):309 -> f
    20:21:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap$FastSortedEntrySet object2ObjectEntrySet():1379:1380 -> f
    1:3:java.lang.Object firstKey():927:927 -> firstKey
    1:11:java.lang.Object get(java.lang.Object):701:711 -> get
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.realSize():291:291 -> hashCode
    1:1:int hashCode():1729 -> hashCode
    2:10:int hashCode():1730:1738 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.headMap(java.lang.Object):959:959 -> headMap
    1:1:java.util.SortedMap headMap(java.lang.Object):85 -> headMap
    1:1:boolean isEmpty():766:766 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.keySet():1488:1489 -> keySet
    1:2:java.util.Set keySet():85 -> keySet
    1:3:java.lang.Object lastKey():938:938 -> lastKey
    1:26:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.insert(java.lang.Object,java.lang.Object):337:362 -> put
    1:26:java.lang.Object put(java.lang.Object,java.lang.Object):369 -> put
    27:28:java.lang.Object put(java.lang.Object,java.lang.Object):371:372 -> put
    1:1:void putAll(java.util.Map):327:327 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.ensureCapacity(int):295:296 -> putAll
    2:3:void putAll(java.util.Map):327 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.size():761:761 -> putAll
    4:4:void putAll(java.util.Map):329 -> putAll
    5:5:void putAll(java.util.Map):329:329 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.tryCapacity(long):300:301 -> putAll
    6:7:void putAll(java.util.Map):329 -> putAll
    8:8:void putAll(java.util.Map):332:332 -> putAll
    1:2:java.lang.Object remove(java.lang.Object):408:409 -> remove
    3:9:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.removeNullEntry():315:321 -> remove
    3:9:java.lang.Object remove(java.lang.Object):409 -> remove
    10:17:java.lang.Object remove(java.lang.Object):413:420 -> remove
    1:1:int size():761:761 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.subMap(java.lang.Object,java.lang.Object):969:969 -> subMap
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):85 -> subMap
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.tailMap(java.lang.Object):949:949 -> tailMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):85 -> tailMap
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap.values():1529:1550 -> values
    1:22:java.util.Collection values():85 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$1 -> com.android.tools.r8.internal.SI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1529:1529 -> <init>
    1:1:void clear():1547:1547 -> clear
    1:1:boolean contains(java.lang.Object):1542:1542 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1532:1532 -> iterator
    1:1:int size():1537:1537 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$EntryIterator -> com.android.tools.r8.internal.TI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntry entry -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1181:1181 -> <init>
    1:1:void add(java.lang.Object):1178:1178 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):1174:1174 -> add
    2:2:void add(java.lang.Object):1178 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$EntryIterator.next():1190:1190 -> next
    1:1:java.lang.Object next():1178 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$EntryIterator.previous():1195:1195 -> previous
    1:1:java.lang.Object previous():1178 -> previous
    1:2:void remove():1200:1201 -> remove
    1:1:void set(java.lang.Object):1178:1178 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):1170:1170 -> set
    2:2:void set(java.lang.Object):1178 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeyIterator -> com.android.tools.r8.internal.UI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1412:1413 -> <init>
    1:1:void add(java.lang.Object):1409:1409 -> add
    1:1:java.lang.Object next():1418:1418 -> next
    1:1:java.lang.Object previous():1399:1399 -> previous
    1:1:void set(java.lang.Object):1404:1404 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet -> com.android.tools.r8.internal.VI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1422:1422 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$1):1422:1422 -> <init>
    1:1:void clear():1450:1450 -> clear
    1:1:boolean contains(java.lang.Object):1438:1438 -> contains
    1:3:java.lang.Object first():1455:1455 -> first
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet.headSet(java.lang.Object):1477:1477 -> headSet
    1:1:java.util.SortedSet headSet(java.lang.Object):1422 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet.iterator():1428:1428 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1422 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet.iterator():1428:1428 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1422 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet.iterator():1428:1428 -> iterator
    3:3:java.util.Iterator iterator():1422 -> iterator
    1:3:java.lang.Object last():1461:1461 -> last
    1:3:boolean remove(java.lang.Object):1443:1445 -> remove
    1:1:int size():1433:1433 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet.subSet(java.lang.Object,java.lang.Object):1482:1482 -> subSet
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1422 -> subSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$KeySet.tailSet(java.lang.Object):1472:1472 -> tailSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1422 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntry -> com.android.tools.r8.internal.WI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,int):805:806 -> <init>
    1:3:boolean equals(java.lang.Object):832:834 -> equals
    1:1:java.lang.Object getKey():814:814 -> getKey
    1:1:java.lang.Object getValue():819:819 -> getValue
    1:1:int hashCode():839:839 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):824:825 -> setValue
    1:1:java.lang.String toString():844:844 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet -> com.android.tools.r8.internal.XI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1228:1228 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$1):1228:1228 -> <init>
    1:1:void clear():1330:1330 -> clear
    1:15:boolean contains(java.lang.Object):1268:1282 -> contains
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet.first():1255:1255 -> first
    1:3:java.lang.Object first():1228 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1228:1228 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):1245:1245 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1228 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1230:1230 -> iterator
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet.last():1261:1261 -> last
    1:3:java.lang.Object last():1228 -> last
    1:28:boolean remove(java.lang.Object):1289:1316 -> remove
    1:1:int size():1325:1325 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1228:1228 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):1240:1240 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1228 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1228:1228 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry):1250:1250 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1228 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$MapIterator -> com.android.tools.r8.internal.YI:
    int curr -> d
    int index -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> f
    int prev -> b
    int next -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$1):989:989 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1014:1014 -> <init>
    3:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):995:1016 -> <init>
    1:1:boolean hasNext():1048:1048 -> hasNext
    1:1:boolean hasPrevious():1052:1052 -> hasPrevious
    1:14:void ensureIndexKnown():1056:1069 -> j
    1:6:int nextEntry():1084:1084 -> k
    1:6:int previousEntry():1093:1093 -> l
    1:2:int nextIndex():1074:1075 -> nextIndex
    1:2:int previousIndex():1079:1080 -> previousIndex
    1:49:void remove():1102:1150 -> remove
    50:50:void remove():1103:1103 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap$ValueIterator -> com.android.tools.r8.internal.ZI:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectLinkedOpenCustomHashMap):1517:1518 -> <init>
    1:1:void add(java.lang.Object):1514:1514 -> add
    1:1:java.lang.Object next():1523:1523 -> next
    1:1:java.lang.Object previous():1504:1504 -> previous
    1:1:void set(java.lang.Object):1509:1509 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap -> com.android.tools.r8.internal.cJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectMap$Entry -> com.android.tools.r8.internal.bJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ObjectSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.dJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap -> com.android.tools.r8.internal.mJ:
    java.lang.Object[] value -> d
    int size -> l
    java.lang.Object[] key -> c
    int n -> j
    int maxFill -> k
    int last -> h
    int first -> g
    int mask -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap$FastSortedEntrySet entries -> m
    long[] link -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> o
    boolean containsNullKey -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keys -> n
    1:1:void <init>(int,float):145:145 -> <init>
    2:56:void <init>(int,float):100:154 -> <init>
    57:57:void <init>(int,float):147:147 -> <init>
    1:1:java.lang.Object access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,int):85:85 -> a
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.removeNullEntry():284:284 -> a
    2:2:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):85 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:8:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.removeNullEntry():285:290 -> a
    3:8:java.lang.Object access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):85 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):938:938 -> b
    1:24:void fixPointers(int,int):863:886 -> c
    25:25:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap headMap(java.lang.Object):928:928 -> c
    1:6:void clear():720:725 -> clear
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.clone():1670:1680 -> clone
    1:11:java.lang.Object clone():85 -> clone
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.clone():1672:1672 -> clone
    12:12:java.lang.Object clone():85 -> clone
    1:11:boolean containsKey(java.lang.Object):687:697 -> containsKey
    1:5:boolean containsValue(java.lang.Object):703:707 -> containsValue
    1:25:void fixPointers(int):825:849 -> d
    26:26:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap tailMap(java.lang.Object):918:918 -> d
    1:42:void rehash(int):1611:1652 -> e
    1:4:java.lang.Object removeEntry(int):274:277 -> f
    5:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.shiftKeys(int):356:362 -> f
    5:11:java.lang.Object removeEntry(int):278 -> f
    12:12:java.lang.Object removeEntry(int):279:279 -> f
    13:19:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.shiftKeys(int):365:371 -> f
    13:19:java.lang.Object removeEntry(int):278 -> f
    20:21:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keySet():1457:1458 -> f
    1:3:java.lang.Object firstKey():896:896 -> firstKey
    1:11:java.lang.Object get(java.lang.Object):670:680 -> get
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.realSize():260:260 -> hashCode
    1:1:int hashCode():1697 -> hashCode
    2:10:int hashCode():1698:1706 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.headMap(java.lang.Object):928:928 -> headMap
    1:1:java.util.SortedMap headMap(java.lang.Object):85 -> headMap
    1:1:boolean isEmpty():735:735 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap$FastSortedEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.object2ReferenceEntrySet():1348:1349 -> k
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet object2ReferenceEntrySet():85 -> k
    1:3:java.lang.Object lastKey():907:907 -> lastKey
    1:25:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.insert(java.lang.Object,java.lang.Object):307:331 -> put
    1:25:java.lang.Object put(java.lang.Object,java.lang.Object):338 -> put
    26:28:java.lang.Object put(java.lang.Object,java.lang.Object):339:341 -> put
    1:1:void putAll(java.util.Map):296:296 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.ensureCapacity(int):264:265 -> putAll
    2:3:void putAll(java.util.Map):296 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.size():730:730 -> putAll
    4:4:void putAll(java.util.Map):298 -> putAll
    5:5:void putAll(java.util.Map):298:298 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.tryCapacity(long):269:270 -> putAll
    6:7:void putAll(java.util.Map):298 -> putAll
    8:8:void putAll(java.util.Map):301:301 -> putAll
    1:1:java.lang.Object remove(java.lang.Object):378:378 -> remove
    2:8:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.removeNullEntry():284:290 -> remove
    2:8:java.lang.Object remove(java.lang.Object):378 -> remove
    9:19:java.lang.Object remove(java.lang.Object):379:389 -> remove
    1:1:int size():730:730 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.subMap(java.lang.Object,java.lang.Object):938:938 -> subMap
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):85 -> subMap
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.tailMap(java.lang.Object):918:918 -> tailMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):85 -> tailMap
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap.values():1498:1519 -> values
    1:22:java.util.Collection values():85 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$1 -> com.android.tools.r8.internal.eJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1498:1498 -> <init>
    1:1:void clear():1516:1516 -> clear
    1:1:boolean contains(java.lang.Object):1511:1511 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1501:1501 -> iterator
    1:1:int size():1506:1506 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.fJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntry entry -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1150:1150 -> <init>
    1:1:void add(java.lang.Object):1147:1147 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1143:1143 -> add
    2:2:void add(java.lang.Object):1147 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$EntryIterator.next():1159:1159 -> next
    1:1:java.lang.Object next():1147 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$EntryIterator.previous():1164:1164 -> previous
    1:1:java.lang.Object previous():1147 -> previous
    1:2:void remove():1169:1170 -> remove
    1:1:void set(java.lang.Object):1147:1147 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1139:1139 -> set
    2:2:void set(java.lang.Object):1147 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.gJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1381:1382 -> <init>
    1:1:void add(java.lang.Object):1378:1378 -> add
    1:1:java.lang.Object next():1387:1387 -> next
    1:1:java.lang.Object previous():1368:1368 -> previous
    1:1:void set(java.lang.Object):1373:1373 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.hJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1391:1391 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$1):1391:1391 -> <init>
    1:1:void clear():1419:1419 -> clear
    1:1:boolean contains(java.lang.Object):1407:1407 -> contains
    1:3:java.lang.Object first():1424:1424 -> first
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet.headSet(java.lang.Object):1446:1446 -> headSet
    1:1:java.util.SortedSet headSet(java.lang.Object):1391 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet.iterator():1397:1397 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1391 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet.iterator():1397:1397 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1391 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet.iterator():1397:1397 -> iterator
    3:3:java.util.Iterator iterator():1391 -> iterator
    1:3:java.lang.Object last():1430:1430 -> last
    1:3:boolean remove(java.lang.Object):1412:1414 -> remove
    1:1:int size():1402:1402 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet.subSet(java.lang.Object,java.lang.Object):1451:1451 -> subSet
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1391 -> subSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$KeySet.tailSet(java.lang.Object):1441:1441 -> tailSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1391 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.iJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,int):774:775 -> <init>
    1:3:boolean equals(java.lang.Object):801:803 -> equals
    1:1:java.lang.Object getKey():783:783 -> getKey
    1:1:java.lang.Object getValue():788:788 -> getValue
    1:1:int hashCode():808:808 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):793:794 -> setValue
    1:1:java.lang.String toString():813:813 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.jJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1197:1197 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$1):1197:1197 -> <init>
    1:1:void clear():1299:1299 -> clear
    1:15:boolean contains(java.lang.Object):1237:1251 -> contains
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet.first():1224:1224 -> first
    1:3:java.lang.Object first():1197 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1197:1197 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1214:1214 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1197 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1199:1199 -> iterator
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet.last():1230:1230 -> last
    1:3:java.lang.Object last():1197 -> last
    1:28:boolean remove(java.lang.Object):1258:1285 -> remove
    1:1:int size():1294:1294 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1197:1197 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1209:1209 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1197 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1197:1197 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1219:1219 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1197 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.kJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> f
    int curr -> d
    int index -> e
    int prev -> b
    int next -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$1):958:958 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):983:983 -> <init>
    3:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):964:985 -> <init>
    1:1:boolean hasNext():1017:1017 -> hasNext
    1:1:boolean hasPrevious():1021:1021 -> hasPrevious
    1:14:void ensureIndexKnown():1025:1038 -> j
    1:6:int nextEntry():1053:1053 -> k
    1:6:int previousEntry():1062:1062 -> l
    1:2:int nextIndex():1043:1044 -> nextIndex
    1:2:int previousIndex():1048:1049 -> previousIndex
    1:49:void remove():1071:1119 -> remove
    50:50:void remove():1072:1072 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.lJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceLinkedOpenHashMap):1486:1487 -> <init>
    1:1:void add(java.lang.Object):1483:1483 -> add
    1:1:java.lang.Object next():1492:1492 -> next
    1:1:java.lang.Object previous():1473:1473 -> previous
    1:1:void set(java.lang.Object):1478:1478 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap -> com.android.tools.r8.internal.oJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry -> com.android.tools.r8.internal.nJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap -> com.android.tools.r8.internal.GJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry[] nodePath -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keys -> h
    boolean modified -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry tree -> c
    int count -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry -> e
    boolean[] dirPath -> k
    1:1:void <init>():81:81 -> <init>
    2:10:void <init>():75:83 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):1352:1352 -> b
    1:1:int compare(java.lang.Object,java.lang.Object):220:220 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap headMap(java.lang.Object):1342:1342 -> c
    1:6:void clear():666:671 -> clear
    1:14:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1850:1863 -> clone
    1:14:java.lang.Object clone():43 -> clone
    15:16:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):813:814 -> clone
    15:16:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1863 -> clone
    15:16:java.lang.Object clone():43 -> clone
    17:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1865:1870 -> clone
    17:22:java.lang.Object clone():43 -> clone
    23:24:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):813:814 -> clone
    23:24:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1871 -> clone
    23:24:java.lang.Object clone():43 -> clone
    25:49:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1872:1896 -> clone
    25:49:java.lang.Object clone():43 -> clone
    50:51:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):824:825 -> clone
    50:51:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1897 -> clone
    50:51:java.lang.Object clone():43 -> clone
    52:52:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.clone():1852:1852 -> clone
    52:52:java.lang.Object clone():43 -> clone
    1:1:boolean containsKey(java.lang.Object):934:934 -> containsKey
    1:3:boolean containsValue(java.lang.Object):654:656 -> containsValue
    4:4:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$ValueIterator.next():1278:1278 -> containsValue
    4:4:boolean containsValue(java.lang.Object):658 -> containsValue
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap tailMap(java.lang.Object):1347:1347 -> d
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry findKey(java.lang.Object):233:235 -> e
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> e
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry findKey(java.lang.Object):235 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left():729:729 -> e
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry findKey(java.lang.Object):236 -> e
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right():739:739 -> e
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry findKey(java.lang.Object):236 -> e
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keySet():1261:1262 -> f
    1:3:java.lang.Object firstKey():956:956 -> firstKey
    1:2:java.lang.Object get(java.lang.Object):950:951 -> get
    1:1:boolean isEmpty():944:944 -> isEmpty
    1:77:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet object2ReferenceEntrySet():1116:1192 -> k
    1:2:void allocatePaths():268:269 -> l
    1:3:java.lang.Object lastKey():962:962 -> lastKey
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):296:306 -> put
    1:11:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    12:12:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> put
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):306 -> put
    12:12:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    13:23:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):310:320 -> put
    13:23:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    24:25:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):824:825 -> put
    24:25:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):321 -> put
    24:25:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    26:33:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):324:331 -> put
    26:33:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    34:35:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):813:814 -> put
    34:35:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):332 -> put
    34:35:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    36:70:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):338:372 -> put
    36:70:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    71:71:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.succ(boolean):781:781 -> put
    71:71:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):373 -> put
    71:71:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    72:92:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):374:394 -> put
    72:92:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    93:93:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.succ(boolean):781:781 -> put
    93:93:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):395 -> put
    93:93:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    94:119:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):396:421 -> put
    94:119:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    120:121:java.lang.Object put(java.lang.Object,java.lang.Object):275:276 -> put
    122:122:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.add(java.lang.Object):335:335 -> put
    122:122:java.lang.Object put(java.lang.Object,java.lang.Object):274 -> put
    1:8:java.lang.Object remove(java.lang.Object):436:443 -> remove
    9:9:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> remove
    9:9:java.lang.Object remove(java.lang.Object):443 -> remove
    10:10:java.lang.Object remove(java.lang.Object):464:464 -> remove
    11:13:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.next():855:857 -> remove
    11:13:java.lang.Object remove(java.lang.Object):464 -> remove
    14:67:java.lang.Object remove(java.lang.Object):464:517 -> remove
    68:69:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):824:825 -> remove
    68:69:java.lang.Object remove(java.lang.Object):517 -> remove
    70:118:java.lang.Object remove(java.lang.Object):518:566 -> remove
    119:119:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.succ(boolean):781:781 -> remove
    119:119:java.lang.Object remove(java.lang.Object):567 -> remove
    120:135:java.lang.Object remove(java.lang.Object):568:583 -> remove
    136:209:java.lang.Object remove(java.lang.Object):557:630 -> remove
    210:210:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.succ(boolean):781:781 -> remove
    210:210:java.lang.Object remove(java.lang.Object):631 -> remove
    211:211:java.lang.Object remove(java.lang.Object):632:632 -> remove
    212:255:java.lang.Object remove(java.lang.Object):606:649 -> remove
    256:257:java.lang.Object remove(java.lang.Object):444:445 -> remove
    258:258:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right():739:739 -> remove
    258:258:java.lang.Object remove(java.lang.Object):447 -> remove
    259:260:java.lang.Object remove(java.lang.Object):451:452 -> remove
    261:261:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left():729:729 -> remove
    261:261:java.lang.Object remove(java.lang.Object):455 -> remove
    262:263:java.lang.Object remove(java.lang.Object):459:460 -> remove
    1:1:int size():939:939 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.values():1311:1332 -> values
    1:22:java.util.Collection values():43 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1 -> com.android.tools.r8.internal.qJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> c
    java.util.Comparator comparator -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1116:1117 -> <init>
    1:1:void clear():1164:1164 -> clear
    1:1:java.util.Comparator comparator():1125:1125 -> comparator
    1:4:boolean contains(java.lang.Object):1141:1144 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1.first():1169:1169 -> first
    1:1:java.lang.Object first():1116 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1116:1116 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1184:1184 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1116 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1130:1130 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1.last():1174:1174 -> last
    1:1:java.lang.Object last():1116 -> last
    1:4:boolean remove(java.lang.Object):1150:1153 -> remove
    1:1:int size():1159:1159 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1116:1116 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1179:1179 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1116 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1116:1116 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1189:1189 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1116 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1$1 -> com.android.tools.r8.internal.pJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1 this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1117:1117 -> <init>
    1:1:int compare(java.lang.Object,java.lang.Object):1117:1117 -> compare
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1$1.compare(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1119:1119 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):1117 -> compare
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$2 -> com.android.tools.r8.internal.rJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1311:1311 -> <init>
    1:1:void clear():1329:1329 -> clear
    1:1:boolean contains(java.lang.Object):1319:1319 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1314:1314 -> iterator
    1:1:int size():1324:1324 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry -> com.android.tools.r8.internal.sJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry left -> d
    int info -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry right -> e
    1:1:void <init>():707:707 -> <init>
    2:3:void <init>(java.lang.Object,java.lang.Object):719:720 -> <init>
    1:2:void pred(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):791:792 -> a
    3:4:void black(boolean):845:846 -> a
    1:2:void pred(boolean):768:769 -> b
    3:4:void succ(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry):802:803 -> b
    5:5:boolean black():834:834 -> b
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry clone():886:892 -> c
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry clone():888:888 -> c
    1:1:java.lang.Object clone():685:685 -> clone
    1:1:boolean pred():748:748 -> d
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry prev():868:870 -> e
    1:3:boolean equals(java.lang.Object):899:901 -> equals
    1:1:boolean succ():757:757 -> f
    1:1:int hashCode():906:906 -> hashCode
    1:2:java.lang.Object setValue(java.lang.Object):876:877 -> setValue
    1:1:java.lang.String toString():911:911 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator -> com.android.tools.r8.internal.tJ:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1086:1086 -> <init>
    1:1:void add(java.lang.Object):1085:1085 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1110:1110 -> add
    2:2:void add(java.lang.Object):1085 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator.next():1095:1095 -> next
    1:1:java.lang.Object next():1085 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator.previous():1100:1100 -> previous
    1:1:java.lang.Object previous():1085 -> previous
    1:1:void set(java.lang.Object):1085:1085 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$EntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1105:1105 -> set
    2:2:void set(java.lang.Object):1085 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$KeyIterator -> com.android.tools.r8.internal.uJ:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1206:1206 -> <init>
    1:1:void add(java.lang.Object):1230:1230 -> add
    1:1:java.lang.Object next():1215:1215 -> next
    1:1:java.lang.Object previous():1220:1220 -> previous
    1:1:void set(java.lang.Object):1225:1225 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$KeySet -> com.android.tools.r8.internal.vJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1237:1237 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1237:1237 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1239:1239 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap -> com.android.tools.r8.internal.DJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection values -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entries -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keys -> h
    java.lang.Object to -> d
    boolean bottom -> e
    java.lang.Object from -> c
    boolean top -> f
    1:7:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap,java.lang.Object,boolean,java.lang.Object,boolean):1397:1403 -> <init>
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):1624:1625 -> b
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> b
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):1625 -> b
    4:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):1625:1626 -> b
    6:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> b
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):1626 -> b
    7:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap subMap(java.lang.Object,java.lang.Object):1626:1628 -> b
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap headMap(java.lang.Object):1612:1613 -> c
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> c
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap headMap(java.lang.Object):1613 -> c
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap headMap(java.lang.Object):1613:1613 -> c
    1:4:void clear():1408:1411 -> clear
    1:1:java.util.Comparator comparator():1607:1607 -> comparator
    1:1:boolean containsKey(java.lang.Object):1550:1550 -> containsKey
    1:4:boolean containsValue(java.lang.Object):1555:1558 -> containsValue
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap tailMap(java.lang.Object):1618:1619 -> d
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> d
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap tailMap(java.lang.Object):1619 -> d
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap tailMap(java.lang.Object):1619:1619 -> d
    1:1:boolean in(java.lang.Object):1423:1423 -> e
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> e
    2:2:boolean in(java.lang.Object):1423 -> e
    3:3:boolean in(java.lang.Object):1423:1423 -> e
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> e
    4:4:boolean in(java.lang.Object):1423 -> e
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet keySet():1521:1522 -> f
    1:3:java.lang.Object firstKey():1679:1681 -> firstKey
    4:4:java.lang.Object firstKey():1680:1680 -> firstKey
    1:1:java.lang.Object get(java.lang.Object):1569:1569 -> get
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1703:1703 -> isEmpty
    1:1:boolean isEmpty():1602 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):998:998 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1703 -> isEmpty
    2:2:boolean isEmpty():1602 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1704:1704 -> isEmpty
    3:3:boolean isEmpty():1602 -> isEmpty
    1:79:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet object2ReferenceEntrySet():1428:1506 -> k
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1638:1644 -> l
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):252:252 -> l
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1644 -> l
    9:9:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> l
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):252 -> l
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1644 -> l
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left():729:729 -> l
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):254 -> l
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1644 -> l
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right():739:739 -> l
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):254 -> l
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1644 -> l
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1646:1646 -> l
    13:13:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> l
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1646 -> l
    14:16:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.next():855:857 -> l
    14:16:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1646 -> l
    17:17:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1650:1650 -> l
    18:18:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> l
    18:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry firstEntry():1650 -> l
    1:3:java.lang.Object lastKey():1686:1688 -> lastKey
    4:4:java.lang.Object lastKey():1687:1687 -> lastKey
    1:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1661:1667 -> m
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):252:252 -> m
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1667 -> m
    9:9:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> m
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):252 -> m
    9:9:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1667 -> m
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.left():729:729 -> m
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):254 -> m
    10:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1667 -> m
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.right():739:739 -> m
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.locateKey(java.lang.Object):254 -> m
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1667 -> m
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1669:1669 -> m
    13:13:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> m
    13:13:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1669 -> m
    14:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1669:1673 -> m
    19:19:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> m
    19:19:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry lastEntry():1673 -> m
    1:2:java.lang.Object put(java.lang.Object,java.lang.Object):1574:1575 -> put
    3:3:java.lang.Object put(java.lang.Object,java.lang.Object):0:0 -> put
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1581,"2":1582,"3":1583}}
    1581:1581:java.lang.Object put(java.lang.Object,java.lang.Object):1575:1575 -> put
    1582:1582:java.lang.Object put(java.lang.Object,java.lang.Object):1575:1575 -> put
    1583:1583:java.lang.Object put(java.lang.Object,java.lang.Object):1575:1575 -> put
    1578:1580:java.lang.Object put(java.lang.Object,java.lang.Object):1575:1577 -> put
    1:4:java.lang.Object remove(java.lang.Object):1583:1586 -> remove
    1:5:int size():1591:1595 -> size
    1:18:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap.values():1527:1544 -> values
    1:18:java.util.Collection values():1366 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1 -> com.android.tools.r8.internal.wJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1428:1428 -> <init>
    1:1:void clear():1478:1478 -> clear
    1:1:java.util.Comparator comparator():1441:1441 -> comparator
    1:4:boolean contains(java.lang.Object):1447:1450 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1.first():1483:1483 -> first
    1:1:java.lang.Object first():1428 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1428:1428 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1498:1498 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1428 -> headSet
    1:1:boolean isEmpty():1473:1473 -> isEmpty
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1703:1703 -> isEmpty
    2:2:boolean isEmpty():1473 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$TreeIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):998:998 -> isEmpty
    3:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1703 -> isEmpty
    3:3:boolean isEmpty():1473 -> isEmpty
    4:4:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator.<init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1704:1704 -> isEmpty
    4:4:boolean isEmpty():1473 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1431:1431 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1.last():1488:1488 -> last
    1:1:java.lang.Object last():1428 -> last
    1:4:boolean remove(java.lang.Object):1456:1459 -> remove
    1:1:int size():1466:1466 -> size
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.next():1743:1743 -> size
    2:2:java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.next():1733 -> size
    2:2:int size():1466 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1428:1428 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1493:1493 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1428 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1428:1428 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$1.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1503:1503 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1428 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$2 -> com.android.tools.r8.internal.xJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap this$1 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1527:1527 -> <init>
    1:1:void clear():1541:1541 -> clear
    1:1:boolean contains(java.lang.Object):1533:1533 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1529:1529 -> iterator
    1:1:int size():1537:1537 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$KeySet -> com.android.tools.r8.internal.yJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap this$1 -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1509:1509 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1509:1509 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1511:1511 -> iterator
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator -> com.android.tools.r8.internal.zJ:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1734:1734 -> <init>
    1:1:void add(java.lang.Object):1733:1733 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1758:1758 -> add
    2:2:void add(java.lang.Object):1733 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.next():1743:1743 -> next
    1:1:java.lang.Object next():1733 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.previous():1748:1748 -> previous
    1:1:java.lang.Object previous():1733 -> previous
    1:1:void set(java.lang.Object):1733:1733 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapEntryIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceMap$Entry):1753:1753 -> set
    2:2:void set(java.lang.Object):1733 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapIterator -> com.android.tools.r8.internal.AJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap this$1 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1703:1704 -> <init>
    1:1:void updateNext():1728:1728 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.next():855:855 -> l
    2:2:void updateNext():1728 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.next():856:857 -> l
    3:4:void updateNext():1728 -> l
    5:6:void updateNext():1728:1729 -> l
    7:7:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> l
    7:7:void updateNext():1729 -> l
    8:8:void updateNext():1729:1729 -> l
    1:2:void updatePrevious():1723:1724 -> m
    3:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap.compare(java.lang.Object,java.lang.Object):220:220 -> m
    3:3:void updatePrevious():1724 -> m
    4:4:void updatePrevious():1724:1724 -> m
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapKeyIterator -> com.android.tools.r8.internal.BJ:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1774:1774 -> <init>
    1:1:void add(java.lang.Object):1798:1798 -> add
    1:1:java.lang.Object next():1783:1783 -> next
    1:1:java.lang.Object previous():1788:1788 -> previous
    1:1:void set(java.lang.Object):1793:1793 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap$SubmapValueIterator -> com.android.tools.r8.internal.CJ:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap):1812:1812 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Submap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1812:1812 -> <init>
    1:1:void add(java.lang.Object):1830:1830 -> add
    1:1:java.lang.Object next():1815:1815 -> next
    1:1:java.lang.Object previous():1820:1820 -> previous
    1:1:void set(java.lang.Object):1825:1825 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$TreeIterator -> com.android.tools.r8.internal.EJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap this$0 -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry prev -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry curr -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry next -> c
    int index -> e
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):997:997 -> <init>
    2:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):995:998 -> <init>
    1:1:boolean hasNext():1011:1011 -> hasNext
    1:1:boolean hasPrevious():1015:1015 -> hasPrevious
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry nextEntry():1023:1023 -> j
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry previousEntry():1035:1035 -> k
    1:1:void updateNext():1019:1019 -> l
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.next():855:855 -> l
    2:2:void updateNext():1019 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$Entry.next():856:857 -> l
    3:4:void updateNext():1019 -> l
    5:5:void updateNext():1019:1019 -> l
    1:1:void updatePrevious():1031:1031 -> m
    1:1:int nextIndex():1043:1043 -> nextIndex
    1:1:int previousIndex():1047:1047 -> previousIndex
    1:12:void remove():1051:1051 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$ValueIterator -> com.android.tools.r8.internal.FJ:
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap):1275:1275 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceRBTreeMap$1):1275:1275 -> <init>
    1:1:void add(java.lang.Object):1293:1293 -> add
    1:1:java.lang.Object next():1278:1278 -> next
    1:1:java.lang.Object previous():1283:1283 -> previous
    1:1:void set(java.lang.Object):1288:1288 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2ReferenceSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.HJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList -> com.android.tools.r8.internal.JJ:
    java.lang.Object[] a -> b
    int size -> c
    1:3:void <init>(int):96:98 -> <init>
    4:4:void <init>(int):97:97 -> <init>
    5:5:void <init>(int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105,"4":106,"5":107,"6":108}}
    103:103:void <init>(int):97:97 -> <init>
    104:104:void <init>(int):97:97 -> <init>
    105:105:void <init>(int):97:97 -> <init>
    106:106:void <init>(int):97:97 -> <init>
    107:107:void <init>(int):97:97 -> <init>
    108:108:void <init>(int):97:97 -> <init>
    102:102:void <init>(int):97:97 -> <init>
    1:6:void removeElements(int,int):453:458 -> a
    1:2:void add(int,java.lang.Object):299:300 -> add
    3:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList.grow(int):287:291 -> add
    3:7:void add(int,java.lang.Object):300 -> add
    8:10:void add(int,java.lang.Object):301:303 -> add
    11:11:boolean add(java.lang.Object):309:309 -> add
    12:16:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList.grow(int):287:291 -> add
    12:16:boolean add(java.lang.Object):309 -> add
    17:17:boolean add(java.lang.Object):310:310 -> add
    1:2:void clear():365:366 -> clear
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList.clone():553:555 -> clone
    1:3:java.lang.Object clone():57 -> clone
    1:3:java.lang.Object get(int):317:317 -> get
    4:4:java.lang.Object get(int):0:0 -> get
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642,"4":643,"5":644}}
    640:640:java.lang.Object get(int):317:317 -> get
    641:641:java.lang.Object get(int):317:317 -> get
    642:642:java.lang.Object get(int):317:317 -> get
    643:643:java.lang.Object get(int):317:317 -> get
    644:644:java.lang.Object get(int):317:317 -> get
    321:321:java.lang.Object get(int):317:317 -> get
    322:322:java.lang.Object get(int):0:0 -> get
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":645,"2":646,"3":647}}
    645:645:java.lang.Object get(int):317:317 -> get
    646:646:java.lang.Object get(int):317:317 -> get
    647:647:java.lang.Object get(int):317:317 -> get
    639:639:java.lang.Object get(int):317:317 -> get
    1:2:int indexOf(java.lang.Object):323:324 -> indexOf
    1:1:boolean isEmpty():385:385 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int):497:498 -> j
    1:2:int lastIndexOf(java.lang.Object):330:331 -> lastIndexOf
    1:6:java.lang.Object remove(int):337:337 -> remove
    7:7:java.lang.Object remove(int):0:0 -> remove
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":683,"2":684,"3":685,"4":686,"5":687}}
    683:683:java.lang.Object remove(int):337:337 -> remove
    684:684:java.lang.Object remove(int):337:337 -> remove
    685:685:java.lang.Object remove(int):337:337 -> remove
    686:686:java.lang.Object remove(int):337:337 -> remove
    687:687:java.lang.Object remove(int):337:337 -> remove
    344:344:java.lang.Object remove(int):337:337 -> remove
    345:345:java.lang.Object remove(int):0:0 -> remove
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":688,"2":689,"3":690}}
    688:688:java.lang.Object remove(int):337:337 -> remove
    689:689:java.lang.Object remove(int):337:337 -> remove
    690:690:java.lang.Object remove(int):337:337 -> remove
    682:682:java.lang.Object remove(int):337:337 -> remove
    691:693:boolean remove(java.lang.Object):348:350 -> remove
    1:7:boolean removeAll(java.util.Collection):485:491 -> removeAll
    1:4:java.lang.Object set(int,java.lang.Object):357:357 -> set
    5:5:java.lang.Object set(int,java.lang.Object):0:0 -> set
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":721,"2":722,"3":723,"4":724,"5":725}}
    721:721:java.lang.Object set(int,java.lang.Object):357:357 -> set
    722:722:java.lang.Object set(int,java.lang.Object):357:357 -> set
    723:723:java.lang.Object set(int,java.lang.Object):357:357 -> set
    724:724:java.lang.Object set(int,java.lang.Object):357:357 -> set
    725:725:java.lang.Object set(int,java.lang.Object):357:357 -> set
    362:362:java.lang.Object set(int,java.lang.Object):357:357 -> set
    363:363:java.lang.Object set(int,java.lang.Object):0:0 -> set
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":726,"2":727,"3":728}}
    726:726:java.lang.Object set(int,java.lang.Object):357:357 -> set
    727:727:java.lang.Object set(int,java.lang.Object):357:357 -> set
    728:728:java.lang.Object set(int,java.lang.Object):357:357 -> set
    720:720:java.lang.Object set(int,java.lang.Object):357:357 -> set
    1:1:int size():372:372 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList$1 -> com.android.tools.r8.internal.IJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList this$0 -> d
    int pos -> b
    int last -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrayList,int):498:499 -> <init>
    1:2:void add(java.lang.Object):528:529 -> add
    1:1:boolean hasNext():502:502 -> hasNext
    1:1:boolean hasPrevious():506:506 -> hasPrevious
    1:3:java.lang.Object next():510:510 -> next
    1:1:int nextIndex():520:520 -> nextIndex
    1:3:java.lang.Object previous():515:515 -> previous
    1:1:int previousIndex():524:524 -> previousIndex
    1:10:void remove():538:538 -> remove
    1:3:void set(java.lang.Object):533:533 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet -> com.android.tools.r8.internal.LJ:
    java.lang.Object[] a -> b
    int size -> c
    1:4:void <init>(java.lang.Object[],int):104:107 -> <init>
    5:5:void <init>(java.lang.Object[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":221,"2":222,"3":223,"4":224,"5":225}}
    221:221:void <init>(java.lang.Object[],int):107:107 -> <init>
    222:222:void <init>(java.lang.Object[],int):107:107 -> <init>
    223:223:void <init>(java.lang.Object[],int):107:107 -> <init>
    224:224:void <init>(java.lang.Object[],int):107:107 -> <init>
    225:225:void <init>(java.lang.Object[],int):107:107 -> <init>
    112:112:void <init>(java.lang.Object[],int):107:107 -> <init>
    113:113:void <init>(java.lang.Object[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":226,"2":227,"3":228}}
    226:226:void <init>(java.lang.Object[],int):107:107 -> <init>
    227:227:void <init>(java.lang.Object[],int):107:107 -> <init>
    228:228:void <init>(java.lang.Object[],int):107:107 -> <init>
    220:220:void <init>(java.lang.Object[],int):107:107 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet):29:29 -> a
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet.findKey(java.lang.Object):111:112 -> add
    1:2:boolean add(java.lang.Object):166 -> add
    3:9:boolean add(java.lang.Object):168:174 -> add
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet):29:29 -> b
    1:1:java.lang.Object[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet):29:29 -> c
    1:2:void clear():180:181 -> clear
    1:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet.clone():204:208 -> clone
    1:5:java.lang.Object clone():29 -> clone
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet.clone():206:206 -> clone
    6:6:java.lang.Object clone():29 -> clone
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet.findKey(java.lang.Object):111:112 -> contains
    1:2:boolean contains(java.lang.Object):144 -> contains
    1:1:boolean isEmpty():186:186 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():119:119 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet.iterator():119:119 -> iterator
    2:2:java.util.Iterator iterator():29 -> iterator
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet.findKey(java.lang.Object):111:112 -> remove
    1:2:boolean remove(java.lang.Object):154 -> remove
    3:7:boolean remove(java.lang.Object):156:160 -> remove
    1:1:int size():149:149 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet$1 -> com.android.tools.r8.internal.KJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet this$0 -> c
    int next -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArraySet):119:120 -> <init>
    1:1:boolean hasNext():124:124 -> hasNext
    1:3:java.lang.Object next():129:129 -> next
    1:3:void remove():135:137 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectArrays -> com.android.tools.r8.internal.MJ:
# {"id":"sourceFile","fileName":"ObjectArrays.java"}
    java.lang.Object[] EMPTY_ARRAY -> a
    1:1:void <clinit>():88:88 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator -> com.android.tools.r8.internal.OJ:
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.BidirectionalIterator.previous() -> previous
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection -> com.android.tools.r8.internal.PJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections -> com.android.tools.r8.internal.SJ:
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection):383:383 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections$EmptyCollection -> com.android.tools.r8.internal.QJ:
    1:1:void <init>():39:39 -> <init>
    1:1:boolean addAll(java.util.Collection):81:81 -> addAll
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():55:55 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections$EmptyCollection.iterator():55:55 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():38 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections$EmptyCollection.iterator():55:55 -> iterator
    3:3:java.util.Iterator iterator():38 -> iterator
    1:1:boolean removeAll(java.util.Collection):86:86 -> removeAll
    1:1:boolean retainAll(java.util.Collection):91:91 -> retainAll
    1:1:java.lang.Object[] toArray():49:49 -> toArray
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollections$UnmodifiableCollection -> com.android.tools.r8.internal.RJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection collection -> b
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectCollection):276:278 -> <init>
    1:1:boolean add(java.lang.Object):283:283 -> add
    1:1:boolean addAll(java.util.Collection):344:344 -> addAll
    1:1:void clear():324:324 -> clear
    1:1:boolean contains(java.lang.Object):303:303 -> contains
    1:1:boolean containsAll(java.util.Collection):339:339 -> containsAll
    1:1:boolean equals(java.lang.Object):370:370 -> equals
    1:1:int hashCode():364:364 -> hashCode
    1:1:boolean isEmpty():298:298 -> isEmpty
    1:1:java.util.Iterator iterator():272:272 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():307:307 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators.unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator):762:762 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():307 -> iterator
    1:1:boolean remove(java.lang.Object):288:288 -> remove
    1:1:boolean removeAll(java.util.Collection):349:349 -> removeAll
    1:1:boolean retainAll(java.util.Collection):354:354 -> retainAll
    1:1:int size():293:293 -> size
    1:1:java.lang.Object[] toArray(java.lang.Object[]):329:329 -> toArray
    2:2:java.lang.Object[] toArray():334:334 -> toArray
    1:1:java.lang.String toString():359:359 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator -> com.android.tools.r8.internal.UJ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators -> com.android.tools.r8.internal.YJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$EmptyIterator EMPTY_ITERATOR -> a
    1:1:void <clinit>():103:103 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$EmptyIterator -> com.android.tools.r8.internal.VJ:
    1:1:void <init>():42:42 -> <init>
    1:1:java.lang.Object clone():87:87 -> clone
    1:1:java.lang.Object next():57:57 -> next
    1:1:java.lang.Object previous():62:62 -> previous
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$SingletonIterator -> com.android.tools.r8.internal.WJ:
    java.lang.Object element -> b
    int curr -> c
    1:2:void <init>(java.lang.Object):127:128 -> <init>
    1:1:boolean hasNext():133:133 -> hasNext
    1:1:boolean hasPrevious():138:138 -> hasPrevious
    1:4:java.lang.Object next():143:143 -> next
    1:1:int nextIndex():157:157 -> nextIndex
    1:4:java.lang.Object previous():150:150 -> previous
    1:1:int previousIndex():162:162 -> previousIndex
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators$UnmodifiableIterator -> com.android.tools.r8.internal.XJ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator i -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator):739:740 -> <init>
    1:1:boolean hasNext():745:745 -> hasNext
    1:1:java.lang.Object next():750:750 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectList -> com.android.tools.r8.internal.ZJ:
    void removeElements(int,int) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator -> com.android.tools.r8.internal.aK:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet -> com.android.tools.r8.internal.cK:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets -> com.android.tools.r8.internal.fK:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$EmptySet EMPTY_SET -> a
    1:1:void <clinit>():70:70 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$EmptySet -> com.android.tools.r8.internal.dK:
    1:1:void <init>():42:42 -> <init>
    1:1:java.lang.Object clone():52:52 -> clone
    1:1:boolean equals(java.lang.Object):58:58 -> equals
    1:1:boolean remove(java.lang.Object):47:47 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$Singleton -> com.android.tools.r8.internal.eK:
    java.lang.Object element -> b
    1:2:void <init>(java.lang.Object):96:97 -> <init>
    1:1:boolean addAll(java.util.Collection):122:122 -> addAll
    1:1:boolean contains(java.lang.Object):102:102 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$Singleton.iterator():112:112 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():92 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators.singleton(java.lang.Object):176:176 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$Singleton.iterator():112 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():92 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$Singleton.iterator():112:112 -> iterator
    3:3:java.util.Iterator iterator():92 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators.singleton(java.lang.Object):176:176 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets$Singleton.iterator():112 -> iterator
    4:4:java.util.Iterator iterator():92 -> iterator
    1:1:boolean remove(java.lang.Object):107:107 -> remove
    1:1:boolean removeAll(java.util.Collection):127:127 -> removeAll
    1:1:boolean retainAll(java.util.Collection):132:132 -> retainAll
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet -> com.android.tools.r8.internal.gK:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets -> com.android.tools.r8.internal.iK:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet EMPTY_SET -> a
    1:1:void <clinit>():114:114 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet -> com.android.tools.r8.internal.hK:
    1:1:void <init>():43:43 -> <init>
    1:1:java.lang.Object clone():101:101 -> clone
    1:1:java.lang.Object first():86:86 -> first
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet.headSet(java.lang.Object):75:75 -> headSet
    1:1:java.util.SortedSet headSet(java.lang.Object):40 -> headSet
    1:1:java.lang.Object last():91:91 -> last
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet.subSet(java.lang.Object,java.lang.Object):69:69 -> subSet
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):40 -> subSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSets$EmptySet.tailSet(java.lang.Object):81:81 -> tailSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):40 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunction -> com.android.tools.r8.internal.BQ:
    boolean getBoolean(java.lang.Object) -> b
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap -> com.android.tools.r8.internal.EQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2BooleanEntrySet() -> h
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap$Entry -> com.android.tools.r8.internal.CQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap$FastEntrySet -> com.android.tools.r8.internal.DQ:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps -> com.android.tools.r8.internal.HQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap EMPTY_MAP -> a
    1:1:void <clinit>():135:135 -> <clinit>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap singleton(java.lang.Object,boolean):260:260 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap -> com.android.tools.r8.internal.FQ:
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$EmptyFunction.<init>():41:41 -> <init>
    1:1:void <init>():46 -> <init>
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$EmptyFunction.getBoolean(java.lang.Object) -> b
      # {"id":"com.android.tools.r8.synthesized"}
    void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$EmptyFunction.clear() -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Object clone():106:106 -> clone
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$EmptyFunction.containsKey(java.lang.Object) -> containsKey
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap.reference2BooleanEntrySet():73:73 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap.entrySet():86 -> entrySet
    1:1:java.util.Set entrySet():43 -> entrySet
    1:2:boolean equals(java.lang.Object):121:122 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2BooleanEntrySet():73:73 -> h
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keySet():92:92 -> keySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap.keySet():92:92 -> keySet
    2:2:java.util.Set keySet():43 -> keySet
    1:1:void putAll(java.util.Map):67:67 -> putAll
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$EmptyFunction.size() -> size
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():127:127 -> toString
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$EmptyMap.values():97:97 -> values
    1:1:java.util.Collection values():43 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$Singleton -> com.android.tools.r8.internal.GQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keys -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection values -> f
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.key -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entries -> d
    boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.value -> c
    1:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.<init>(java.lang.Object,boolean):123:125 -> <init>
    1:3:void <init>(java.lang.Object,boolean):164 -> <init>
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.getBoolean(java.lang.Object):135:135 -> b
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.getBoolean(java.lang.Object):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    java.lang.Object com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.clone() -> clone
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.containsKey(java.lang.Object):130:130 -> containsKey
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.containsKey(java.lang.Object):0 -> containsKey
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean containsValue(java.lang.Object):180:180 -> containsValue
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$Singleton.entrySet():204:204 -> entrySet
    1:1:java.util.Set entrySet():157 -> entrySet
    1:4:boolean equals(java.lang.Object):232:235 -> equals
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$Singleton.entrySet():204:204 -> equals
    5:5:boolean equals(java.lang.Object):235 -> equals
    6:6:boolean equals(java.lang.Object):235:235 -> equals
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2BooleanEntrySet():190:190 -> h
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSets.singleton(java.lang.Object):151:151 -> h
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2BooleanEntrySet():190 -> h
    3:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2BooleanEntrySet():190:191 -> h
    1:1:int hashCode():226:226 -> hashCode
    1:1:java.util.Set keySet():157:157 -> keySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keySet():209:209 -> keySet
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets.singleton(java.lang.Object):151:151 -> keySet
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keySet():209 -> keySet
    4:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keySet():209:210 -> keySet
    1:1:void putAll(java.util.Map):185:185 -> putAll
    int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanFunctions$Singleton.size() -> size
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":242,"2":243,"3":244}}
    242:242:java.lang.String toString():240:240 -> toString
    243:243:java.lang.String toString():240:240 -> toString
    244:244:java.lang.String toString():240:240 -> toString
    241:241:java.lang.String toString():240:240 -> toString
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMaps$Singleton.values():215:216 -> values
    1:2:java.util.Collection values():157 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap -> com.android.tools.r8.internal.QQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection values -> k
    java.lang.Object[] key -> b
    boolean[] value -> c
    int size -> h
    boolean containsNullKey -> e
    int n -> f
    int maxFill -> g
    int mask -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keys -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap$FastEntrySet entries -> i
    1:1:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.<init>():45:45 -> <init>
    1:1:void <init>(int,float):91 -> <init>
    2:6:void <init>(int,float):95:99 -> <init>
    7:7:void <init>():119:119 -> <init>
    1:1:boolean access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):49:49 -> a
    2:2:boolean access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,int):49:49 -> a
    3:18:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.insert(java.lang.Object,boolean):248:263 -> a
    3:18:boolean put(java.lang.Object,boolean):270 -> a
    19:20:boolean put(java.lang.Object,boolean):272:273 -> a
    1:11:boolean getBoolean(java.lang.Object):326:336 -> b
    1:12:boolean removeBoolean(java.lang.Object):308:319 -> c
    1:4:void clear():376:379 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.clone():954:963 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.clone():956:956 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:10:boolean containsKey(java.lang.Object):343:352 -> containsKey
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.containsValue(java.lang.Object):62:62 -> containsValue
    1:1:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.containsValue(java.lang.Object):0 -> containsValue
      # {"id":"com.android.tools.r8.synthesized"}
    2:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.containsValue(boolean):359:363 -> containsValue
    2:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.containsValue(java.lang.Object):62 -> containsValue
    2:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.containsValue(java.lang.Object):0 -> containsValue
      # {"id":"com.android.tools.r8.synthesized"}
    1:7:void rehash(int):916:922 -> d
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.realSize():205:205 -> d
    8:8:void rehash(int):923 -> d
    9:21:void rehash(int):924:936 -> d
    1:2:boolean removeEntry(int):219:220 -> e
    3:8:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.shiftKeys(int):288:293 -> e
    3:8:boolean removeEntry(int):221 -> e
    9:9:boolean removeEntry(int):222:222 -> e
    10:15:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.shiftKeys(int):296:301 -> e
    10:15:boolean removeEntry(int):221 -> e
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.entrySet():297:297 -> entrySet
    1:1:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.entrySet():42 -> entrySet
    1:1:java.util.Set com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.entrySet():0 -> entrySet
      # {"id":"com.android.tools.r8.synthesized"}
    1:3:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):320:322 -> equals
    1:3:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.size():384:384 -> equals
    4:4:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):322 -> equals
    4:4:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.synthesized"}
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.entrySet():297:297 -> equals
    5:5:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):323 -> equals
    5:5:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.synthesized"}
    6:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):323:323 -> equals
    6:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.synthesized"}
    1:5:boolean removeNullEntry():227:231 -> f
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.reference2BooleanEntrySet():716:717 -> h
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2BooleanEntrySet():49 -> h
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():980 -> hashCode
    2:10:int hashCode():981:989 -> hashCode
    1:1:boolean isEmpty():389:389 -> isEmpty
    1:1:java.util.Set keySet():49:49 -> keySet
    2:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keySet():771:772 -> keySet
    1:1:void putAll(java.util.Map):237:237 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):237 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.size():384:384 -> putAll
    4:4:void putAll(java.util.Map):239 -> putAll
    5:5:void putAll(java.util.Map):239:239 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):239 -> putAll
    8:20:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.putAll(java.util.Map):82:94 -> putAll
    8:20:void putAll(java.util.Map):242 -> putAll
    21:22:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanFunction.put(java.lang.Object,java.lang.Boolean):123:124 -> putAll
    21:22:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.putAll(java.util.Map):94 -> putAll
    21:22:void putAll(java.util.Map):242 -> putAll
    1:1:int size():384:384 -> size
    1:1:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():328:328 -> toString
    1:1:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():0 -> toString
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.entrySet():297:297 -> toString
    2:2:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():329 -> toString
    2:2:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():0 -> toString
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():329:329 -> toString
    3:3:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():0 -> toString
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.size():384:384 -> toString
    4:4:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():330 -> toString
    4:4:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():0 -> toString
      # {"id":"com.android.tools.r8.synthesized"}
    5:16:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():333:344 -> toString
    5:16:java.lang.String com.android.tools.r8.it.unimi.dsi.fastutil.objects.AbstractReference2BooleanMap.toString():0 -> toString
      # {"id":"com.android.tools.r8.synthesized"}
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.values():803:824 -> values
    1:22:java.util.Collection values():49 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1 -> com.android.tools.r8.internal.IQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):803:803 -> <init>
    1:1:boolean contains(boolean):816:816 -> b
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.containsValue(boolean):359:359 -> b
    2:2:boolean contains(boolean):816 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap.containsValue(boolean):360:363 -> b
    3:6:boolean contains(boolean):816 -> b
    1:1:void clear():821:821 -> clear
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.booleans.BooleanIterator iterator():806:806 -> iterator
    1:1:int size():811:811 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$EntryIterator -> com.android.tools.r8.internal.JQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):609:609 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1):609:609 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$EntryIterator.next():614:614 -> next
    1:1:java.lang.Object next():609 -> next
    1:2:void remove():619:620 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$KeyIterator -> com.android.tools.r8.internal.KQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):730:731 -> <init>
    1:1:java.lang.Object next():736:736 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$KeySet -> com.android.tools.r8.internal.LQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):740:740 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1):740:740 -> <init>
    1:1:void clear():765:765 -> clear
    1:1:boolean contains(java.lang.Object):753:753 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():743:743 -> iterator
    1:3:boolean remove(java.lang.Object):758:760 -> remove
    1:1:int size():748:748 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry -> com.android.tools.r8.internal.MQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,int):428:429 -> <init>
    1:3:boolean equals(java.lang.Object):479:481 -> equals
    1:1:boolean getBooleanValue():442:442 -> getBooleanValue
    1:1:java.lang.Object getKey():437:437 -> getKey
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry.getValue():461:461 -> getValue
    1:1:java.lang.Object getValue():423 -> getValue
    1:1:int hashCode():486:486 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):423:423 -> setValue
    2:2:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry.setValue(java.lang.Boolean):473:473 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):423 -> setValue
    3:4:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry.setValue(boolean):447:448 -> setValue
    3:4:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry.setValue(java.lang.Boolean):473 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):423 -> setValue
    5:5:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntry.setValue(java.lang.Boolean):473:473 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):423 -> setValue
    1:1:java.lang.String toString():491:491 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.NQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):634:634 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1):634:634 -> <init>
    1:1:void clear():710:710 -> clear
    1:16:boolean contains(java.lang.Object):646:661 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():636:636 -> iterator
    1:29:boolean remove(java.lang.Object):668:696 -> remove
    1:1:int size():705:705 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapIterator -> com.android.tools.r8.internal.OQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> g
    boolean mustReturnNullKey -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList wrapped -> f
    int c -> d
    int pos -> b
    int last -> c
    1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):496:519 -> <init>
    25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$1):496:496 -> <init>
    1:1:boolean hasNext():527:527 -> hasNext
    1:19:int nextEntry():531:531 -> j
    1:5:void remove():585:589 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapIterator.shiftKeys(int):563:568 -> remove
    6:11:void remove():589 -> remove
    12:13:void remove():596:597 -> remove
    14:23:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$MapIterator.shiftKeys(int):571:580 -> remove
    14:23:void remove():589 -> remove
    24:25:void remove():592:593 -> remove
    26:26:void remove():585:585 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$ValueIterator -> com.android.tools.r8.internal.PQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap):785:786 -> <init>
    1:1:boolean nextBoolean():791:791 -> g
    1:1:java.lang.Boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap$ValueIterator.next():797:797 -> next
    1:1:java.lang.Object next():784 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap -> com.android.tools.r8.internal.TQ:
    java.lang.Object[] key -> c
    int[] value -> d
    int size -> e
    1:3:void <init>():70:72 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap):37:37 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.findKey(java.lang.Object):235:235 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap,java.lang.Object):37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.findKey(java.lang.Object):236:237 -> a
    3:4:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap,java.lang.Object):37 -> a
    5:8:int getInt(java.lang.Object):244:247 -> a
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap):37:37 -> b
    2:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.findKey(java.lang.Object):235:237 -> b
    2:4:int put(java.lang.Object,int):283 -> b
    5:22:int put(java.lang.Object,int):285:302 -> b
    1:1:java.lang.Object[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap):37:37 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.reference2IntEntrySet():231:231 -> c
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2IntEntrySet():37 -> c
    3:5:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.findKey(java.lang.Object):235:237 -> c
    3:5:int removeInt(java.lang.Object):308 -> c
    6:12:int removeInt(java.lang.Object):309:315 -> c
    1:4:void clear():257:260 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.clone():344:349 -> clone
    1:6:java.lang.Object clone():37 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.clone():346:346 -> clone
    7:7:java.lang.Object clone():37 -> clone
    1:3:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.findKey(java.lang.Object):235:237 -> containsKey
    1:3:boolean containsKey(java.lang.Object):265 -> containsKey
    1:1:int[] access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap):37:37 -> d
    2:3:boolean containsValue(int):270:271 -> d
    1:1:boolean isEmpty():277:277 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.keySet():321:321 -> keySet
    1:1:java.util.Set keySet():37 -> keySet
    1:1:int size():252:252 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap.values():326:326 -> values
    1:1:java.util.Collection values():37 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet -> com.android.tools.r8.internal.SQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap):133:133 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$1):133:133 -> <init>
    1:5:boolean contains(java.lang.Object):203:207 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():136:136 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet.iterator():136:136 -> iterator
    2:2:java.util.Iterator iterator():133 -> iterator
    1:12:boolean remove(java.lang.Object):213:224 -> remove
    1:1:int size():197:197 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet$1 -> com.android.tools.r8.internal.RQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet this$1 -> d
    int curr -> b
    int next -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet):136:137 -> <init>
    1:1:boolean hasNext():141:141 -> hasNext
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntArrayMap$EntrySet$1.next():147:147 -> next
    1:3:java.lang.Object next():136 -> next
    1:7:void remove():153:153 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntFunction -> com.android.tools.r8.internal.UQ:
    int getInt(java.lang.Object) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap -> com.android.tools.r8.internal.dR:
    int size -> l
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> o
    java.lang.Object[] key -> c
    int n -> j
    int maxFill -> k
    int last -> h
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet keys -> n
    int first -> g
    int mask -> e
    long[] link -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap$FastSortedEntrySet entries -> m
    int[] value -> d
    boolean containsNullKey -> f
    1:1:void <init>(int,float):147:147 -> <init>
    2:56:void <init>(int,float):102:156 -> <init>
    57:57:void <init>(int,float):149:149 -> <init>
    58:58:void <init>():176:176 -> <init>
    1:1:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,int):87:87 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.removeNullEntry():285:285 -> a
    2:2:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:7:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.removeNullEntry():286:290 -> a
    3:7:int access$200(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):87 -> a
    8:18:int getInt(java.lang.Object):721:731 -> a
    1:25:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.insert(java.lang.Object,int):307:331 -> b
    1:25:int put(java.lang.Object,int):338 -> b
    26:28:int put(java.lang.Object,int):339:341 -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2IntEntrySet():87:87 -> c
    2:2:int removeInt(java.lang.Object):431:431 -> c
    3:8:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.removeNullEntry():285:290 -> c
    3:8:int removeInt(java.lang.Object):431 -> c
    9:19:int removeInt(java.lang.Object):432:442 -> c
    20:43:void fixPointers(int,int):937:960 -> c
    1:5:void clear():771:775 -> clear
    1:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.clone():1768:1778 -> clone
    1:11:java.lang.Object clone():87 -> clone
    12:12:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.clone():1770:1770 -> clone
    12:12:java.lang.Object clone():87 -> clone
    1:10:boolean containsKey(java.lang.Object):738:747 -> containsKey
    1:5:boolean containsValue(int):754:758 -> d
    1:25:void fixPointers(int):899:923 -> f
    1:3:java.lang.Object firstKey():970:970 -> firstKey
    1:42:void rehash(int):1709:1750 -> g
    1:3:int removeEntry(int):276:278 -> h
    4:9:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.shiftKeys(int):410:415 -> h
    4:9:int removeEntry(int):279 -> h
    10:10:int removeEntry(int):280:280 -> h
    11:17:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.shiftKeys(int):418:424 -> h
    11:17:int removeEntry(int):279 -> h
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.realSize():262:262 -> hashCode
    1:1:int hashCode():1795 -> hashCode
    2:10:int hashCode():1796:1804 -> hashCode
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.headMap(java.lang.Object):1002:1002 -> headMap
    1:1:java.util.SortedMap headMap(java.lang.Object):87 -> headMap
    1:1:boolean isEmpty():785:785 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet keySet():1531:1532 -> k
    1:1:java.util.Set keySet():87:87 -> keySet
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap$FastSortedEntrySet reference2IntEntrySet():1422:1423 -> l
    1:3:java.lang.Object lastKey():981:981 -> lastKey
    1:1:void putAll(java.util.Map):296:296 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.ensureCapacity(int):266:267 -> putAll
    2:3:void putAll(java.util.Map):296 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.size():780:780 -> putAll
    4:4:void putAll(java.util.Map):298 -> putAll
    5:5:void putAll(java.util.Map):298:298 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.tryCapacity(long):271:272 -> putAll
    6:7:void putAll(java.util.Map):298 -> putAll
    8:8:void putAll(java.util.Map):301:301 -> putAll
    1:1:int size():780:780 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.subMap(java.lang.Object,java.lang.Object):1012:1012 -> subMap
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):87 -> subMap
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.tailMap(java.lang.Object):992:992 -> tailMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):87 -> tailMap
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap.values():1596:1617 -> values
    1:22:java.util.Collection values():87 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$1 -> com.android.tools.r8.internal.VQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1596:1596 -> <init>
    1:1:void clear():1614:1614 -> clear
    1:1:boolean contains(int):1609:1609 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():1599:1599 -> iterator
    1:1:int size():1604:1604 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$EntryIterator -> com.android.tools.r8.internal.WQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry entry -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1222:1222 -> <init>
    1:1:void add(java.lang.Object):1219:1219 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapIterator.add(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry):1215:1215 -> add
    2:2:void add(java.lang.Object):1219 -> add
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$EntryIterator.next():1231:1231 -> next
    1:1:java.lang.Object next():1219 -> next
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$EntryIterator.previous():1236:1236 -> previous
    1:1:java.lang.Object previous():1219 -> previous
    1:2:void remove():1241:1242 -> remove
    1:1:void set(java.lang.Object):1219:1219 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapIterator.set(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry):1211:1211 -> set
    2:2:void set(java.lang.Object):1219 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeyIterator -> com.android.tools.r8.internal.XQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1455:1456 -> <init>
    1:1:void add(java.lang.Object):1452:1452 -> add
    1:1:java.lang.Object next():1461:1461 -> next
    1:1:java.lang.Object previous():1442:1442 -> previous
    1:1:void set(java.lang.Object):1447:1447 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet -> com.android.tools.r8.internal.YQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1465:1465 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$1):1465:1465 -> <init>
    1:1:void clear():1493:1493 -> clear
    1:1:boolean contains(java.lang.Object):1481:1481 -> contains
    1:3:java.lang.Object first():1498:1498 -> first
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet.headSet(java.lang.Object):1520:1520 -> headSet
    1:1:java.util.SortedSet headSet(java.lang.Object):1465 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet.iterator():1471:1471 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():1465 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet.iterator():1471:1471 -> iterator
    2:2:java.util.Iterator iterator():1465 -> iterator
    1:3:java.lang.Object last():1504:1504 -> last
    1:3:boolean remove(java.lang.Object):1486:1488 -> remove
    1:1:int size():1476:1476 -> size
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet.subSet(java.lang.Object,java.lang.Object):1525:1525 -> subSet
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1465 -> subSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$KeySet.tailSet(java.lang.Object):1515:1515 -> tailSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1465 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry -> com.android.tools.r8.internal.ZQ:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,int):824:825 -> <init>
    1:3:boolean equals(java.lang.Object):875:877 -> equals
    1:1:int getIntValue():838:838 -> getIntValue
    1:1:java.lang.Object getKey():833:833 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry.getValue():857:857 -> getValue
    1:1:java.lang.Object getValue():819 -> getValue
    1:1:int hashCode():882:882 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):819:819 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869:869 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):819 -> setValue
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry.setValue(int):843:844 -> setValue
    3:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):819 -> setValue
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntry.setValue(java.lang.Integer):869:869 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):819 -> setValue
    1:1:java.lang.String toString():887:887 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.aR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1269:1269 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$1):1269:1269 -> <init>
    1:1:void clear():1373:1373 -> clear
    1:16:boolean contains(java.lang.Object):1309:1324 -> contains
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet.first():1296:1296 -> first
    1:3:java.lang.Object first():1269 -> first
    1:1:java.util.SortedSet headSet(java.lang.Object):1269:1269 -> headSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet.headSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry):1286:1286 -> headSet
    2:2:java.util.SortedSet headSet(java.lang.Object):1269 -> headSet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator iterator():1271:1271 -> iterator
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet.last():1302:1302 -> last
    1:3:java.lang.Object last():1269 -> last
    1:29:boolean remove(java.lang.Object):1331:1359 -> remove
    1:1:int size():1368:1368 -> size
    1:1:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1269:1269 -> subSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet.subSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry):1281:1281 -> subSet
    2:2:java.util.SortedSet subSet(java.lang.Object,java.lang.Object):1269 -> subSet
    1:1:java.util.SortedSet tailSet(java.lang.Object):1269:1269 -> tailSet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapEntrySet.tailSet(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry):1291:1291 -> tailSet
    2:2:java.util.SortedSet tailSet(java.lang.Object):1269 -> tailSet
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$MapIterator -> com.android.tools.r8.internal.bR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> f
    int curr -> d
    int index -> e
    int prev -> b
    int next -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$1):1032:1032 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1057:1057 -> <init>
    3:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1038:1059 -> <init>
    1:1:boolean hasNext():1091:1091 -> hasNext
    1:1:boolean hasPrevious():1095:1095 -> hasPrevious
    1:14:void ensureIndexKnown():1099:1112 -> j
    1:6:int nextEntry():1127:1127 -> k
    1:6:int previousEntry():1136:1136 -> l
    1:2:int nextIndex():1117:1118 -> nextIndex
    1:2:int previousIndex():1122:1123 -> previousIndex
    1:47:void remove():1145:1191 -> remove
    48:48:void remove():1146:1146 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator -> com.android.tools.r8.internal.cR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap this$0 -> g
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap):1578:1579 -> <init>
    1:1:void add(java.lang.Object):1544:1544 -> add
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator.add(java.lang.Integer):1565:1565 -> add
    2:2:void add(java.lang.Object):1544 -> add
    1:1:int previousInt():1547:1547 -> c
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator.next():1590:1590 -> next
    1:1:java.lang.Object next():1544 -> next
    1:1:int nextInt():1584:1584 -> nextInt
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator.previous():1553:1553 -> previous
    1:1:java.lang.Object previous():1544 -> previous
    1:1:void set(java.lang.Object):1544:1544 -> set
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntLinkedOpenHashMap$ValueIterator.set(java.lang.Integer):1559:1559 -> set
    2:2:void set(java.lang.Object):1544 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap -> com.android.tools.r8.internal.gR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2IntEntrySet() -> c
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$Entry -> com.android.tools.r8.internal.eR:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet -> com.android.tools.r8.internal.fR:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap -> com.android.tools.r8.internal.pR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet entries -> j
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection values -> l
    java.lang.Object[] key -> c
    int[] value -> d
    int maxFill -> h
    int size -> i
    boolean containsNullKey -> f
    int n -> g
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keys -> k
    int mask -> e
    1:9:void <init>(int,float):91:99 -> <init>
    10:10:void <init>(int,float):93:93 -> <init>
    11:11:void <init>(int):110:110 -> <init>
    12:12:void <init>():119:119 -> <init>
    1:1:int access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,int):49:49 -> a
    2:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.removeNullEntry():227:227 -> a
    2:2:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.removeNullEntry():228:231 -> a
    3:6:int access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):49 -> a
    7:17:int getInt(java.lang.Object):371:381 -> a
    1:16:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.insert(java.lang.Object,int):248:263 -> b
    1:16:int put(java.lang.Object,int):270 -> b
    17:19:int put(java.lang.Object,int):271:273 -> b
    1:1:int removeInt(java.lang.Object):353:353 -> c
    2:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.removeNullEntry():227:231 -> c
    2:6:int removeInt(java.lang.Object):353 -> c
    7:17:int removeInt(java.lang.Object):354:364 -> c
    18:19:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap$FastEntrySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.reference2IntEntrySet():761:762 -> c
    18:19:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet reference2IntEntrySet():49 -> c
    1:4:void clear():421:424 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.clone():999:1008 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.clone():1001:1001 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:10:boolean containsKey(java.lang.Object):388:397 -> containsKey
    1:5:boolean containsValue(int):404:408 -> d
    1:7:void rehash(int):961:967 -> f
    8:8:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.realSize():205:205 -> f
    8:8:void rehash(int):968 -> f
    9:21:void rehash(int):969:981 -> f
    1:2:int removeEntry(int):219:220 -> g
    3:8:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.shiftKeys(int):333:338 -> g
    3:8:int removeEntry(int):221 -> g
    9:9:int removeEntry(int):222:222 -> g
    10:15:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.shiftKeys(int):341:346 -> g
    10:15:int removeEntry(int):221 -> g
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():1025 -> hashCode
    2:10:int hashCode():1026:1034 -> hashCode
    1:1:boolean isEmpty():434:434 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.keySet():816:817 -> keySet
    1:2:java.util.Set keySet():49 -> keySet
    1:1:void putAll(java.util.Map):237:237 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):237 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.size():429:429 -> putAll
    4:4:void putAll(java.util.Map):239 -> putAll
    5:5:void putAll(java.util.Map):239:239 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):239 -> putAll
    8:8:void putAll(java.util.Map):242:242 -> putAll
    1:1:int size():429:429 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap.values():848:869 -> values
    1:22:java.util.Collection values():49 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1 -> com.android.tools.r8.internal.hR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):848:848 -> <init>
    1:1:void clear():866:866 -> clear
    1:1:boolean contains(int):861:861 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntIterator iterator():851:851 -> iterator
    1:1:int size():856:856 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$EntryIterator -> com.android.tools.r8.internal.iR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):654:654 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1):654:654 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$EntryIterator.next():659:659 -> next
    1:1:java.lang.Object next():654 -> next
    1:2:void remove():664:665 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$KeyIterator -> com.android.tools.r8.internal.jR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):775:776 -> <init>
    1:1:java.lang.Object next():781:781 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$KeySet -> com.android.tools.r8.internal.kR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):785:785 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1):785:785 -> <init>
    1:1:void clear():810:810 -> clear
    1:1:boolean contains(java.lang.Object):798:798 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():788:788 -> iterator
    1:3:boolean remove(java.lang.Object):803:805 -> remove
    1:1:int size():793:793 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry -> com.android.tools.r8.internal.lR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,int):473:474 -> <init>
    1:3:boolean equals(java.lang.Object):524:526 -> equals
    1:1:int getIntValue():487:487 -> getIntValue
    1:1:java.lang.Object getKey():482:482 -> getKey
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry.getValue():506:506 -> getValue
    1:1:java.lang.Object getValue():468 -> getValue
    1:1:int hashCode():531:531 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):468:468 -> setValue
    2:2:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518:518 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):468 -> setValue
    3:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry.setValue(int):492:493 -> setValue
    3:4:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):468 -> setValue
    5:5:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntry.setValue(java.lang.Integer):518:518 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):468 -> setValue
    1:1:java.lang.String toString():536:536 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.mR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):679:679 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1):679:679 -> <init>
    1:1:void clear():755:755 -> clear
    1:16:boolean contains(java.lang.Object):691:706 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():681:681 -> iterator
    1:29:boolean remove(java.lang.Object):713:741 -> remove
    1:1:int size():750:750 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapIterator -> com.android.tools.r8.internal.nR:
    boolean mustReturnNullKey -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList wrapped -> f
    int c -> d
    int pos -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> g
    int last -> c
    1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):541:564 -> <init>
    25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$1):541:541 -> <init>
    1:1:boolean hasNext():572:572 -> hasNext
    1:19:int nextEntry():576:576 -> j
    1:5:void remove():630:634 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapIterator.shiftKeys(int):608:613 -> remove
    6:11:void remove():634 -> remove
    12:13:void remove():641:642 -> remove
    14:23:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$MapIterator.shiftKeys(int):616:625 -> remove
    14:23:void remove():634 -> remove
    24:25:void remove():637:638 -> remove
    26:26:void remove():630:630 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$ValueIterator -> com.android.tools.r8.internal.oR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap):830:831 -> <init>
    1:1:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntOpenHashMap$ValueIterator.next():842:842 -> next
    1:1:java.lang.Object next():829 -> next
    1:1:int nextInt():836:836 -> nextInt
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntSortedMap$FastSortedEntrySet -> com.android.tools.r8.internal.qR:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$Entry -> com.android.tools.r8.internal.rR:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet -> com.android.tools.r8.internal.sR:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap -> com.android.tools.r8.internal.BR:
    long[] value -> c
    java.lang.Object[] key -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongMap$FastEntrySet entries -> i
    int size -> h
    boolean containsNullKey -> e
    int n -> f
    int maxFill -> g
    int mask -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection values -> k
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet keys -> j
    1:9:void <init>(int,float):91:99 -> <init>
    10:10:void <init>(int,float):93:93 -> <init>
    1:1:long access$400(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,int):49:49 -> a
    2:2:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.removeNullEntry():227:227 -> a
    2:2:long access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.removeNullEntry():228:231 -> a
    3:6:long access$300(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):49 -> a
    7:22:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.insert(java.lang.Object,long):248:263 -> a
    7:22:long put(java.lang.Object,long):270 -> a
    23:24:long put(java.lang.Object,long):272:273 -> a
    1:1:long removeLong(java.lang.Object):353:353 -> c
    2:6:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.removeNullEntry():227:231 -> c
    2:6:long removeLong(java.lang.Object):353 -> c
    7:14:long removeLong(java.lang.Object):357:364 -> c
    1:4:void clear():421:424 -> clear
    1:10:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.clone():999:1008 -> clone
    1:10:java.lang.Object clone():49 -> clone
    11:11:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.clone():1001:1001 -> clone
    11:11:java.lang.Object clone():49 -> clone
    1:10:boolean containsKey(java.lang.Object):388:397 -> containsKey
    1:11:long getLong(java.lang.Object):371:381 -> d
    12:18:void rehash(int):961:967 -> d
    19:19:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.realSize():205:205 -> d
    19:19:void rehash(int):968 -> d
    20:32:void rehash(int):969:981 -> d
    1:2:long removeEntry(int):219:220 -> e
    3:8:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.shiftKeys(int):333:338 -> e
    3:8:long removeEntry(int):221 -> e
    9:9:long removeEntry(int):222:222 -> e
    10:15:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.shiftKeys(int):341:346 -> e
    10:15:long removeEntry(int):221 -> e
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.realSize():205:205 -> hashCode
    1:1:int hashCode():1025 -> hashCode
    2:10:int hashCode():1026:1034 -> hashCode
    1:1:boolean isEmpty():434:434 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.keySet():816:817 -> keySet
    1:2:java.util.Set keySet():49 -> keySet
    1:1:void putAll(java.util.Map):237:237 -> putAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.ensureCapacity(int):209:210 -> putAll
    2:3:void putAll(java.util.Map):237 -> putAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.size():429:429 -> putAll
    4:4:void putAll(java.util.Map):239 -> putAll
    5:5:void putAll(java.util.Map):239:239 -> putAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.tryCapacity(long):214:215 -> putAll
    6:7:void putAll(java.util.Map):239 -> putAll
    8:8:void putAll(java.util.Map):242:242 -> putAll
    1:1:int size():429:429 -> size
    1:22:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongCollection com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.values():848:869 -> values
    1:22:java.util.Collection values():49 -> values
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1 -> com.android.tools.r8.internal.tR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):848:848 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.longs.LongIterator iterator():851:851 -> a
    1:1:boolean contains(long):861:861 -> b
    2:2:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.containsValue(long):404:404 -> b
    2:2:boolean contains(long):861 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:6:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap.containsValue(long):405:408 -> b
    3:6:boolean contains(long):861 -> b
    1:1:void clear():866:866 -> clear
    1:1:int size():856:856 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$EntryIterator -> com.android.tools.r8.internal.uR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> i
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry entry -> h
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):654:654 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1):654:654 -> <init>
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$EntryIterator.next():659:659 -> next
    1:1:java.lang.Object next():654 -> next
    1:2:void remove():664:665 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$KeyIterator -> com.android.tools.r8.internal.vR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):775:776 -> <init>
    1:1:java.lang.Object next():781:781 -> next
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$KeySet -> com.android.tools.r8.internal.wR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):785:785 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1):785:785 -> <init>
    1:1:void clear():810:810 -> clear
    1:1:boolean contains(java.lang.Object):798:798 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():788:788 -> iterator
    1:3:boolean remove(java.lang.Object):803:805 -> remove
    1:1:int size():793:793 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry -> com.android.tools.r8.internal.xR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> c
    int index -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,int):473:474 -> <init>
    1:3:boolean equals(java.lang.Object):524:526 -> equals
    1:1:java.lang.Object getKey():482:482 -> getKey
    1:1:long getLongValue():487:487 -> getLongValue
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry.getValue():506:506 -> getValue
    1:1:java.lang.Object getValue():468 -> getValue
    1:1:int hashCode():531:531 -> hashCode
    1:1:java.lang.Object setValue(java.lang.Object):468:468 -> setValue
    2:2:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518:518 -> setValue
    2:2:java.lang.Object setValue(java.lang.Object):468 -> setValue
    3:4:long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry.setValue(long):492:493 -> setValue
    3:4:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518 -> setValue
    3:4:java.lang.Object setValue(java.lang.Object):468 -> setValue
    5:5:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntry.setValue(java.lang.Long):518:518 -> setValue
    5:5:java.lang.Object setValue(java.lang.Object):468 -> setValue
    1:1:java.lang.String toString():536:536 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapEntrySet -> com.android.tools.r8.internal.yR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):679:679 -> <init>
    2:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1):679:679 -> <init>
    1:1:void clear():755:755 -> clear
    1:16:boolean contains(java.lang.Object):691:706 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():681:681 -> iterator
    1:29:boolean remove(java.lang.Object):713:741 -> remove
    1:1:int size():750:750 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapIterator -> com.android.tools.r8.internal.zR:
    boolean mustReturnNullKey -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList wrapped -> f
    int c -> d
    int pos -> b
    int last -> c
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> g
    1:24:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):541:564 -> <init>
    25:25:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$1):541:541 -> <init>
    1:1:boolean hasNext():572:572 -> hasNext
    1:19:int nextEntry():576:576 -> j
    1:5:void remove():630:634 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapIterator.shiftKeys(int):608:613 -> remove
    6:11:void remove():634 -> remove
    12:13:void remove():641:642 -> remove
    14:23:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$MapIterator.shiftKeys(int):616:625 -> remove
    14:23:void remove():634 -> remove
    24:25:void remove():637:638 -> remove
    26:26:void remove():630:630 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$ValueIterator -> com.android.tools.r8.internal.AR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap this$0 -> h
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap):830:831 -> <init>
    1:1:java.lang.Long com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2LongOpenHashMap$ValueIterator.next():842:842 -> next
    1:1:java.lang.Object next():829 -> next
    1:1:long nextLong():836:836 -> nextLong
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList -> com.android.tools.r8.internal.DR:
    java.lang.Object[] a -> b
    int size -> c
    1:3:void <init>(int):96:98 -> <init>
    4:4:void <init>(int):97:97 -> <init>
    5:5:void <init>(int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105,"4":106,"5":107,"6":108}}
    103:103:void <init>(int):97:97 -> <init>
    104:104:void <init>(int):97:97 -> <init>
    105:105:void <init>(int):97:97 -> <init>
    106:106:void <init>(int):97:97 -> <init>
    107:107:void <init>(int):97:97 -> <init>
    108:108:void <init>(int):97:97 -> <init>
    102:102:void <init>(int):97:97 -> <init>
    1:6:void removeElements(int,int):453:458 -> a
    1:2:void add(int,java.lang.Object):299:300 -> add
    3:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList.grow(int):287:291 -> add
    3:7:void add(int,java.lang.Object):300 -> add
    8:10:void add(int,java.lang.Object):301:303 -> add
    11:11:boolean add(java.lang.Object):309:309 -> add
    12:16:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList.grow(int):287:291 -> add
    12:16:boolean add(java.lang.Object):309 -> add
    17:17:boolean add(java.lang.Object):310:310 -> add
    1:2:void clear():365:366 -> clear
    1:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList.clone():553:555 -> clone
    1:3:java.lang.Object clone():57 -> clone
    1:3:java.lang.Object get(int):317:317 -> get
    4:4:java.lang.Object get(int):0:0 -> get
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642,"4":643,"5":644}}
    640:640:java.lang.Object get(int):317:317 -> get
    641:641:java.lang.Object get(int):317:317 -> get
    642:642:java.lang.Object get(int):317:317 -> get
    643:643:java.lang.Object get(int):317:317 -> get
    644:644:java.lang.Object get(int):317:317 -> get
    321:321:java.lang.Object get(int):317:317 -> get
    322:322:java.lang.Object get(int):0:0 -> get
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":645,"2":646,"3":647}}
    645:645:java.lang.Object get(int):317:317 -> get
    646:646:java.lang.Object get(int):317:317 -> get
    647:647:java.lang.Object get(int):317:317 -> get
    639:639:java.lang.Object get(int):317:317 -> get
    1:2:int indexOf(java.lang.Object):323:324 -> indexOf
    1:1:boolean isEmpty():385:385 -> isEmpty
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator listIterator(int):497:498 -> j
    1:2:int lastIndexOf(java.lang.Object):330:331 -> lastIndexOf
    1:6:java.lang.Object remove(int):337:337 -> remove
    7:7:java.lang.Object remove(int):0:0 -> remove
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":683,"2":684,"3":685,"4":686,"5":687}}
    683:683:java.lang.Object remove(int):337:337 -> remove
    684:684:java.lang.Object remove(int):337:337 -> remove
    685:685:java.lang.Object remove(int):337:337 -> remove
    686:686:java.lang.Object remove(int):337:337 -> remove
    687:687:java.lang.Object remove(int):337:337 -> remove
    344:344:java.lang.Object remove(int):337:337 -> remove
    345:345:java.lang.Object remove(int):0:0 -> remove
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":688,"2":689,"3":690}}
    688:688:java.lang.Object remove(int):337:337 -> remove
    689:689:java.lang.Object remove(int):337:337 -> remove
    690:690:java.lang.Object remove(int):337:337 -> remove
    682:682:java.lang.Object remove(int):337:337 -> remove
    691:693:boolean remove(java.lang.Object):348:350 -> remove
    1:7:boolean removeAll(java.util.Collection):485:491 -> removeAll
    1:4:java.lang.Object set(int,java.lang.Object):357:357 -> set
    5:5:java.lang.Object set(int,java.lang.Object):0:0 -> set
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":721,"2":722,"3":723,"4":724,"5":725}}
    721:721:java.lang.Object set(int,java.lang.Object):357:357 -> set
    722:722:java.lang.Object set(int,java.lang.Object):357:357 -> set
    723:723:java.lang.Object set(int,java.lang.Object):357:357 -> set
    724:724:java.lang.Object set(int,java.lang.Object):357:357 -> set
    725:725:java.lang.Object set(int,java.lang.Object):357:357 -> set
    362:362:java.lang.Object set(int,java.lang.Object):357:357 -> set
    363:363:java.lang.Object set(int,java.lang.Object):0:0 -> set
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":726,"2":727,"3":728}}
    726:726:java.lang.Object set(int,java.lang.Object):357:357 -> set
    727:727:java.lang.Object set(int,java.lang.Object):357:357 -> set
    728:728:java.lang.Object set(int,java.lang.Object):357:357 -> set
    720:720:java.lang.Object set(int,java.lang.Object):357:357 -> set
    1:1:int size():372:372 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList$1 -> com.android.tools.r8.internal.CR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList this$0 -> d
    int pos -> b
    int last -> c
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList,int):498:499 -> <init>
    1:2:void add(java.lang.Object):528:529 -> add
    1:1:boolean hasNext():502:502 -> hasNext
    1:1:boolean hasPrevious():506:506 -> hasPrevious
    1:3:java.lang.Object next():510:510 -> next
    1:1:int nextIndex():520:520 -> nextIndex
    1:3:java.lang.Object previous():515:515 -> previous
    1:1:int previousIndex():524:524 -> previousIndex
    1:10:void remove():538:538 -> remove
    1:3:void set(java.lang.Object):533:533 -> set
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet -> com.android.tools.r8.internal.FR:
    java.lang.Object[] a -> b
    int size -> c
    1:4:void <init>(java.lang.Object[],int):104:107 -> <init>
    5:5:void <init>(java.lang.Object[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":221,"2":222,"3":223,"4":224,"5":225}}
    221:221:void <init>(java.lang.Object[],int):107:107 -> <init>
    222:222:void <init>(java.lang.Object[],int):107:107 -> <init>
    223:223:void <init>(java.lang.Object[],int):107:107 -> <init>
    224:224:void <init>(java.lang.Object[],int):107:107 -> <init>
    225:225:void <init>(java.lang.Object[],int):107:107 -> <init>
    112:112:void <init>(java.lang.Object[],int):107:107 -> <init>
    113:113:void <init>(java.lang.Object[],int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":226,"2":227,"3":228}}
    226:226:void <init>(java.lang.Object[],int):107:107 -> <init>
    227:227:void <init>(java.lang.Object[],int):107:107 -> <init>
    228:228:void <init>(java.lang.Object[],int):107:107 -> <init>
    220:220:void <init>(java.lang.Object[],int):107:107 -> <init>
    1:1:int access$000(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet):29:29 -> a
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet.findKey(java.lang.Object):111:112 -> add
    1:2:boolean add(java.lang.Object):166 -> add
    3:9:boolean add(java.lang.Object):168:174 -> add
    1:1:int access$010(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet):29:29 -> b
    1:1:java.lang.Object[] access$100(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet):29:29 -> c
    1:2:void clear():180:181 -> clear
    1:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet.clone():204:208 -> clone
    1:5:java.lang.Object clone():29 -> clone
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet.clone():206:206 -> clone
    6:6:java.lang.Object clone():29 -> clone
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet.findKey(java.lang.Object):111:112 -> contains
    1:2:boolean contains(java.lang.Object):144 -> contains
    1:1:boolean isEmpty():186:186 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():119:119 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet.iterator():119:119 -> iterator
    2:2:java.util.Iterator iterator():29 -> iterator
    1:2:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet.findKey(java.lang.Object):111:112 -> remove
    1:2:boolean remove(java.lang.Object):154 -> remove
    3:7:boolean remove(java.lang.Object):156:160 -> remove
    1:1:int size():149:149 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet$1 -> com.android.tools.r8.internal.ER:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet this$0 -> c
    int next -> b
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArraySet):119:120 -> <init>
    1:1:boolean hasNext():124:124 -> hasNext
    1:3:java.lang.Object next():129:129 -> next
    1:3:void remove():135:137 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection -> com.android.tools.r8.internal.GR:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections -> com.android.tools.r8.internal.JR:
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection):383:383 -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections$EmptyCollection -> com.android.tools.r8.internal.HR:
    1:1:void <init>():39:39 -> <init>
    1:1:boolean addAll(java.util.Collection):81:81 -> addAll
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections$EmptyCollection.iterator():55:55 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():38 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectBidirectionalIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections$EmptyCollection.iterator():55:55 -> iterator
    2:2:java.util.Iterator iterator():38 -> iterator
    1:1:boolean removeAll(java.util.Collection):86:86 -> removeAll
    1:1:boolean retainAll(java.util.Collection):91:91 -> retainAll
    1:1:java.lang.Object[] toArray():49:49 -> toArray
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollections$UnmodifiableCollection -> com.android.tools.r8.internal.IR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection collection -> b
    1:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceCollection):276:278 -> <init>
    1:1:boolean add(java.lang.Object):283:283 -> add
    1:1:boolean addAll(java.util.Collection):344:344 -> addAll
    1:1:void clear():324:324 -> clear
    1:1:boolean contains(java.lang.Object):303:303 -> contains
    1:1:boolean containsAll(java.util.Collection):339:339 -> containsAll
    1:1:boolean equals(java.lang.Object):370:370 -> equals
    1:1:int hashCode():364:364 -> hashCode
    1:1:boolean isEmpty():298:298 -> isEmpty
    1:1:java.util.Iterator iterator():272:272 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():307:307 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators.unmodifiable(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator):762:762 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():307 -> iterator
    1:1:boolean remove(java.lang.Object):288:288 -> remove
    1:1:boolean removeAll(java.util.Collection):349:349 -> removeAll
    1:1:boolean retainAll(java.util.Collection):354:354 -> retainAll
    1:1:int size():293:293 -> size
    1:1:java.lang.Object[] toArray(java.lang.Object[]):329:329 -> toArray
    2:2:java.lang.Object[] toArray():334:334 -> toArray
    1:1:java.lang.String toString():359:359 -> toString
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceList -> com.android.tools.r8.internal.KR:
    void removeElements(int,int) -> a
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet -> com.android.tools.r8.internal.NR:
    java.lang.Object[] key -> b
    float f -> h
    int maxFill -> f
    int size -> g
    int n -> e
    int mask -> c
    boolean containsNull -> d
    1:8:void <init>(int,float):77:84 -> <init>
    1:14:boolean add(java.lang.Object):268:281 -> add
    1:1:boolean addAll(java.util.Collection):255:255 -> addAll
    2:3:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.ensureCapacity(int):243:244 -> addAll
    2:3:boolean addAll(java.util.Collection):255 -> addAll
    4:4:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.size():380:380 -> addAll
    4:4:boolean addAll(java.util.Collection):258 -> addAll
    5:5:boolean addAll(java.util.Collection):258:258 -> addAll
    6:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.tryCapacity(long):248:249 -> addAll
    6:7:boolean addAll(java.util.Collection):258 -> addAll
    8:8:boolean addAll(java.util.Collection):261:261 -> addAll
    1:4:void clear():372:375 -> clear
    1:6:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.clone():640:645 -> clone
    1:6:java.lang.Object clone():40 -> clone
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.clone():642:642 -> clone
    7:7:java.lang.Object clone():40 -> clone
    1:9:boolean contains(java.lang.Object):350:358 -> contains
    1:5:void rehash(int):607:611 -> h
    6:6:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.realSize():239:239 -> h
    6:6:void rehash(int):612 -> h
    7:16:void rehash(int):613:622 -> h
    1:1:int com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.realSize():239:239 -> hashCode
    1:1:int hashCode():662 -> hashCode
    2:4:int hashCode():663:665 -> hashCode
    1:1:boolean removeEntry(int):314:314 -> i
    2:7:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.shiftKeys(int):297:302 -> i
    2:7:boolean removeEntry(int):315 -> i
    8:8:boolean removeEntry(int):316:316 -> i
    9:13:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.shiftKeys(int):305:309 -> i
    9:13:boolean removeEntry(int):315 -> i
    1:1:boolean isEmpty():385:385 -> isEmpty
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():515:515 -> iterator
    1:1:boolean remove(java.lang.Object):332:332 -> remove
    2:5:boolean com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet.removeNullEntry():321:324 -> remove
    2:5:boolean remove(java.lang.Object):332 -> remove
    6:13:boolean remove(java.lang.Object):336:343 -> remove
    1:1:int size():380:380 -> size
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet$SetIterator -> com.android.tools.r8.internal.MR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet this$0 -> g
    boolean mustReturnNull -> e
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceArrayList wrapped -> f
    int c -> d
    int pos -> b
    int last -> c
    1:21:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet):414:434 -> <init>
    22:22:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet,com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet$1):414:414 -> <init>
    1:1:boolean hasNext():442:442 -> hasNext
    1:16:java.lang.Object next():446:446 -> next
    1:5:void remove():496:500 -> remove
    6:11:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet$SetIterator.shiftKeys(int):475:480 -> remove
    6:11:void remove():500 -> remove
    12:13:void remove():507:508 -> remove
    14:22:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceOpenHashSet$SetIterator.shiftKeys(int):483:491 -> remove
    14:22:void remove():500 -> remove
    23:24:void remove():503:504 -> remove
    25:25:void remove():496:496 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSet -> com.android.tools.r8.internal.OR:
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets -> com.android.tools.r8.internal.RR:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$EmptySet EMPTY_SET -> a
    1:1:void <clinit>():70:70 -> <clinit>
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$EmptySet -> com.android.tools.r8.internal.PR:
    1:1:void <init>():42:42 -> <init>
    1:1:java.lang.Object clone():52:52 -> clone
    1:1:boolean equals(java.lang.Object):58:58 -> equals
    1:1:boolean remove(java.lang.Object):47:47 -> remove
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$Singleton -> com.android.tools.r8.internal.QR:
    java.lang.Object element -> b
    1:2:void <init>(java.lang.Object):96:97 -> <init>
    1:1:boolean addAll(java.util.Collection):122:122 -> addAll
    1:1:boolean contains(java.lang.Object):102:102 -> contains
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$Singleton.iterator():112:112 -> iterator
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():92 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators.singleton(java.lang.Object):176:176 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$Singleton.iterator():112 -> iterator
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterator iterator():92 -> iterator
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$Singleton.iterator():112:112 -> iterator
    3:3:java.util.Iterator iterator():92 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectIterators.singleton(java.lang.Object):176:176 -> iterator
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectListIterator com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSets$Singleton.iterator():112 -> iterator
    4:4:java.util.Iterator iterator():92 -> iterator
    1:1:boolean remove(java.lang.Object):107:107 -> remove
    1:1:boolean removeAll(java.util.Collection):127:127 -> removeAll
    1:1:boolean retainAll(java.util.Collection):132:132 -> retainAll
com.android.tools.r8.it.unimi.dsi.fastutil.objects.ReferenceSortedSet -> com.android.tools.r8.internal.SR:
com.android.tools.r8.jar.CfApplicationWriter -> com.android.tools.r8.internal.C6:
    com.android.tools.r8.graph.DexApplication application -> a
    com.android.tools.r8.graph.AppView appView -> b
    boolean $assertionsDisabled -> i
    com.android.tools.r8.utils.InternalOptions options -> e
    com.android.tools.r8.naming.NamingLens namingLens -> d
    java.util.function.Predicate isTypeMissing -> g
    com.android.tools.r8.cf.CfVersion MIN_VERSION_FOR_COMPILER_GENERATED_CODE -> h
    com.android.tools.r8.graph.GraphLens graphLens -> c
    com.android.tools.r8.dex.Marker marker -> f
    1:18:void <clinit>():79:96 -> <clinit>
    1:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.dex.Marker,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):99:108 -> <init>
    1:1:int com.android.tools.r8.graph.ParameterAnnotationsList.getAnnotableParameterCount():102:102 -> a
    1:1:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):489 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):488:488 -> a
    3:3:int com.android.tools.r8.graph.ParameterAnnotationsList.getAnnotableParameterCount():102:102 -> a
    3:3:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):491 -> a
    4:11:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):490:497 -> a
    12:12:void writeParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.ParameterAnnotationsList):495:495 -> a
    13:14:void write(com.android.tools.r8.ClassFileConsumer):112:113 -> a
    15:19:void write(com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.utils.AndroidApp):117:121 -> a
    20:20:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):193:193 -> a
    21:21:void com.android.tools.r8.org.objectweb.asm.ClassWriter.<init>(int):229:229 -> a
    21:21:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):193 -> a
    22:32:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):194:204 -> a
    33:39:java.lang.String com.android.tools.r8.jar.CfApplicationWriter.getSourceDebugExtension(com.android.tools.r8.graph.DexAnnotationSet):365:371 -> a
    33:39:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):204 -> a
    40:40:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):205:205 -> a
    41:48:com.android.tools.r8.cf.CfVersion com.android.tools.r8.jar.CfApplicationWriter.getClassFileVersion(com.android.tools.r8.graph.DexProgramClass):341:348 -> a
    41:48:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):206 -> a
    49:67:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):207:225 -> a
    68:68:java.lang.String com.android.tools.r8.graph.GenericSignature$ClassSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):276:276 -> a
    68:68:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):225 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:74:java.lang.String com.android.tools.r8.graph.GenericSignature$ClassSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):279:282 -> a
    71:74:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):225 -> a
    75:86:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):227:238 -> a
    87:97:com.android.tools.r8.com.google.common.collect.ImmutableMap com.android.tools.r8.jar.CfApplicationWriter.getAnnotationDefaults(com.android.tools.r8.graph.DexAnnotationSet):375:385 -> a
    87:97:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):238 -> a
    98:119:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):240:261 -> a
    120:120:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):476:476 -> a
    120:120:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):261 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    123:126:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):479:482 -> a
    123:126:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):261 -> a
    127:163:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):262:298 -> a
    164:168:void com.android.tools.r8.utils.ExceptionUtils.withConsumeResourceHandler(com.android.tools.r8.utils.Reporter,java.util.function.Consumer):51:55 -> a
    164:168:void writeClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,java.util.Optional,com.android.tools.r8.SourceFileEnvironment):298 -> a
    169:169:void lambda$writeClass$0(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.graph.ProgramMethod):281:281 -> a
    170:170:void lambda$writeClass$2(com.android.tools.r8.ClassFileConsumer,byte[],java.lang.String,com.android.tools.r8.DiagnosticsHandler):299:299 -> a
    171:171:int compareTypesThroughLens(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):303:303 -> a
    172:178:int compareMethodsThroughLens(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):312:318 -> a
    179:182:int compareMethodsThroughLens(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):316:319 -> a
    183:183:com.android.tools.r8.graph.DexType[] lambda$compareMethodsThroughLens$3(com.android.tools.r8.graph.DexMethod):317:317 -> a
    184:187:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):323:326 -> a
    188:188:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    188:188:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):326 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    189:189:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    189:189:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):326 -> a
    190:190:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):326:326 -> a
    191:191:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":541,"2":542,"3":543}}
    541:541:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):326:326 -> a
    542:542:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):326:326 -> a
    543:543:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):326:326 -> a
    518:519:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):327:328 -> a
    520:520:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):2016:2016 -> a
    520:520:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):329 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    524:524:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):2020:2020 -> a
    524:524:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):329 -> a
    525:525:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
    525:525:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):2021 -> a
    525:525:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):329 -> a
    526:531:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):328:333 -> a
    532:536:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):2016:2020 -> a
    532:536:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):333 -> a
    537:537:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> a
    537:537:com.android.tools.r8.cf.CfVersion com.android.tools.r8.utils.InternalOptions.classFileVersionAfterDesugaring(com.android.tools.r8.cf.CfVersion):2021 -> a
    537:537:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):333 -> a
    538:540:com.android.tools.r8.cf.CfVersion getClassFileVersion(com.android.tools.r8.graph.DexEncodedMethod):334:336 -> a
    544:551:com.android.tools.r8.graph.DexValue getSystemAnnotationValue(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexType):354:361 -> a
    552:558:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):410:416 -> a
    559:559:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):476:476 -> a
    559:559:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):416 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    562:565:java.lang.String com.android.tools.r8.graph.GenericSignature$FieldTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):479:482 -> a
    562:565:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):416 -> a
    566:569:java.lang.Object com.android.tools.r8.jar.CfApplicationWriter.getStaticValue(com.android.tools.r8.graph.DexEncodedField):403:406 -> a
    566:569:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):417 -> a
    570:571:void writeField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.org.objectweb.asm.ClassWriter):418:419 -> a
    572:572:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor lambda$writeParameterAnnotations$4(com.android.tools.r8.org.objectweb.asm.MethodVisitor,int,java.lang.String,boolean):496:496 -> a
    573:582:void writeAnnotations(com.android.tools.r8.jar.CfApplicationWriter$AnnotationConsumer,com.android.tools.r8.graph.DexAnnotation[]):506:515 -> a
    583:588:void writeAnnotations(com.android.tools.r8.jar.CfApplicationWriter$AnnotationConsumer,com.android.tools.r8.graph.DexAnnotation[]):514:519 -> a
    589:590:void writeAnnotation(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,com.android.tools.r8.graph.DexEncodedAnnotation):525:526 -> a
    591:649:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):531:589 -> a
    650:653:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):534:537 -> a
    654:681:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):536:563 -> a
    682:692:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):560:570 -> a
    693:711:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):567:585 -> a
    712:712:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):583:583 -> a
    713:713:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):579:579 -> a
    714:717:void writeAnnotationElement(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,com.android.tools.r8.graph.DexValue):573:576 -> a
    1:9:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):138:146 -> b
    10:20:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):140:150 -> b
    21:24:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):126:129 -> b
    21:24:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):150 -> b
    25:25:boolean com.android.tools.r8.dex.Marker.isCfBackend():228:228 -> b
    25:25:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):129 -> b
    25:25:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):150 -> b
    26:26:boolean com.android.tools.r8.dex.Marker.isDexBackend():232:232 -> b
    26:26:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):129 -> b
    26:26:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):150 -> b
    27:28:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):129:130 -> b
    27:28:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):150 -> b
    29:29:boolean com.android.tools.r8.dex.Marker.isCfBackend():228:228 -> b
    29:29:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):131 -> b
    29:29:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):150 -> b
    30:30:boolean com.android.tools.r8.jar.CfApplicationWriter.includeMarker(com.android.tools.r8.dex.Marker):131:131 -> b
    30:30:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):150 -> b
    31:38:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):150:157 -> b
    39:39:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):223:223 -> b
    39:39:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):157 -> b
    40:52:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):159:171 -> b
    53:53:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> b
    53:53:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):175 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    54:56:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):177:179 -> b
    57:61:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):176:180 -> b
    62:62:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):173:173 -> b
    63:64:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):161:162 -> b
    65:65:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> b
    65:65:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):166 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:67:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):167:168 -> b
    68:87:void writeApplication(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.ClassFileConsumer):164:183 -> b
    88:88:void lambda$writeClass$1(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.graph.ProgramMethod):284:284 -> b
    89:89:com.android.tools.r8.graph.DexString returnTypeThroughLens(com.android.tools.r8.graph.DexMethod):307:307 -> b
    1:9:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):429:437 -> c
    10:10:boolean com.android.tools.r8.graph.DexEncodedMethod.isDeprecated():260:260 -> c
    10:10:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):438 -> c
    11:14:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):441:444 -> c
    15:15:java.lang.String com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):878:878 -> c
    15:15:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):444 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:21:java.lang.String com.android.tools.r8.graph.GenericSignature$MethodTypeSignature.toRenamedString(com.android.tools.r8.naming.NamingLens,java.util.function.Predicate):881:884 -> c
    18:21:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):444 -> c
    22:22:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):445:445 -> c
    23:31:java.lang.String[] com.android.tools.r8.jar.CfApplicationWriter.getExceptions(com.android.tools.r8.graph.DexAnnotationSet):389:397 -> c
    23:31:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):445 -> c
    32:40:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):446:454 -> c
    41:54:void com.android.tools.r8.jar.CfApplicationWriter.writeMethodParametersAnnotation(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.graph.DexAnnotation[]):464:477 -> c
    41:54:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):454 -> c
    55:57:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):455:457 -> c
    58:61:void com.android.tools.r8.jar.CfApplicationWriter.writeCode(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.MethodVisitor):600:603 -> c
    58:61:void writeMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.cf.CfVersion,com.android.tools.r8.ir.conversion.LensCodeRewriterUtils,com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.com.google.common.collect.ImmutableMap):458 -> c
com.android.tools.r8.jar.CfApplicationWriter$AnnotationConsumer -> com.android.tools.r8.internal.B6:
    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visit(java.lang.String,boolean) -> a
com.android.tools.r8.jetbrains.kotlin.DeprecationLevel$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.ff:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlin.Lazy -> com.android.tools.r8.internal.UA:
# {"id":"sourceFile","fileName":"Lazy.kt"}
com.android.tools.r8.jetbrains.kotlin.LazyKt -> com.android.tools.r8.jetbrains.kotlin.a:
    1:38:com.android.tools.r8.jetbrains.kotlin.Lazy com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyJVMKt.lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0:37 -> a
    1:38:com.android.tools.r8.jetbrains.kotlin.Lazy lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    39:39:com.android.tools.r8.jetbrains.kotlin.Lazy com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyJVMKt.lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):36:36 -> a
    39:39:com.android.tools.r8.jetbrains.kotlin.Lazy lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    40:40:com.android.tools.r8.jetbrains.kotlin.Lazy com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyJVMKt.lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):35:35 -> a
    40:40:com.android.tools.r8.jetbrains.kotlin.Lazy lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    41:41:void com.android.tools.r8.jetbrains.kotlin.SynchronizedLazyImpl.<init>(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0,java.lang.Object,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):55:55 -> a
    41:41:com.android.tools.r8.jetbrains.kotlin.Lazy com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyJVMKt.lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):35 -> a
    41:41:com.android.tools.r8.jetbrains.kotlin.Lazy lazy(com.android.tools.r8.jetbrains.kotlin.LazyThreadSafetyMode,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.jetbrains.kotlin.Lazy com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyJVMKt.lazy(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):21:21 -> b
    1:1:com.android.tools.r8.jetbrains.kotlin.Lazy lazy(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:void com.android.tools.r8.jetbrains.kotlin.SynchronizedLazyImpl.<init>(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0,java.lang.Object,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):55:55 -> b
    2:2:com.android.tools.r8.jetbrains.kotlin.Lazy com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyJVMKt.lazy(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):21 -> b
    2:2:com.android.tools.r8.jetbrains.kotlin.Lazy lazy(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlin.LazyKt__LazyKt -> com.android.tools.r8.jetbrains.kotlin.b:
# {"id":"sourceFile","fileName":"Lazy.kt"}
com.android.tools.r8.jetbrains.kotlin.NoWhenBranchMatchedException -> com.android.tools.r8.internal.pH:
# {"id":"sourceFile","fileName":"NoWhenBranchMatchedException.kt"}
    1:1:void <init>():9:9 -> <init>
com.android.tools.r8.jetbrains.kotlin.Pair -> com.android.tools.r8.internal.AL:
# {"id":"sourceFile","fileName":"Tuples.kt"}
    java.lang.Object first -> b
    java.lang.Object second -> c
    1:3:void <init>(java.lang.Object,java.lang.Object):26:28 -> <init>
    java.lang.Object component1() -> a
    java.lang.Object component2() -> b
    1:1:java.lang.Object getFirst():27:27 -> c
    1:1:java.lang.Object getSecond():28:28 -> d
    1:1:java.lang.String toString():34:34 -> toString
com.android.tools.r8.jetbrains.kotlin.SafePublicationLazyImpl -> com.android.tools.r8.jetbrains.kotlin.SafePublicationLazyImpl:
# {"id":"sourceFile","fileName":"LazyJVM.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 initializer -> b
    java.lang.Object _value -> c
    java.util.concurrent.atomic.AtomicReferenceFieldUpdater valueUpdater -> d
    1:1:void <clinit>():124:124 -> <clinit>
    1:3:void <init>(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):90:92 -> <init>
    1:17:java.lang.Object getValue():98:114 -> getValue
    1:1:boolean isInitialized():117:117 -> toString
    1:1:java.lang.String toString():119 -> toString
    2:2:java.lang.String toString():119:119 -> toString
com.android.tools.r8.jetbrains.kotlin.SynchronizedLazyImpl -> com.android.tools.r8.jetbrains.kotlin.c:
# {"id":"sourceFile","fileName":"LazyJVM.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 initializer -> b
    java.lang.Object lock -> d
    java.lang.Object _value -> c
    1:5:void <init>(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0,java.lang.Object):55:59 -> <init>
    1:14:java.lang.Object getValue():63:76 -> getValue
    15:15:java.lang.Object getValue():69:69 -> getValue
    1:1:boolean isInitialized():82:82 -> toString
    1:1:java.lang.String toString():84 -> toString
    2:2:java.lang.String toString():84:84 -> toString
com.android.tools.r8.jetbrains.kotlin.UNINITIALIZED_VALUE -> com.android.tools.r8.internal.A00:
# {"id":"sourceFile","fileName":"Lazy.kt"}
    com.android.tools.r8.jetbrains.kotlin.UNINITIALIZED_VALUE INSTANCE -> a
    1:1:void <init>():71:71 -> <init>
com.android.tools.r8.jetbrains.kotlin.UninitializedPropertyAccessException -> com.android.tools.r8.internal.E00:
# {"id":"sourceFile","fileName":"UninitializedPropertyAccessException.kt"}
    1:1:void <init>(java.lang.String):11:11 -> <init>
com.android.tools.r8.jetbrains.kotlin.Unit -> com.android.tools.r8.internal.G00:
# {"id":"sourceFile","fileName":"Unit.kt"}
    com.android.tools.r8.jetbrains.kotlin.Unit INSTANCE -> a
    1:1:void <init>():22:22 -> <init>
    1:1:java.lang.String toString():23:23 -> toString
com.android.tools.r8.jetbrains.kotlin.UnsafeLazyImpl -> com.android.tools.r8.internal.b10:
# {"id":"sourceFile","fileName":"Lazy.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 initializer -> b
    java.lang.Object _value -> c
    1:3:void <init>(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):74:76 -> <init>
    1:6:java.lang.Object getValue():80:85 -> getValue
    1:1:boolean com.android.tools.r8.jetbrains.kotlin.UnsafeLazyImpl.isInitialized():88:88 -> toString
    1:1:java.lang.String toString():90 -> toString
    2:2:java.lang.String toString():90:90 -> toString
com.android.tools.r8.jetbrains.kotlin._Assertions -> com.android.tools.r8.internal.J30:
# {"id":"sourceFile","fileName":"AssertionsJVM.kt"}
    boolean ENABLED -> a
    1:1:void <clinit>():14:14 -> <clinit>
com.android.tools.r8.jetbrains.kotlin.collections.AbstractCollection -> com.android.tools.r8.internal.r:
# {"id":"sourceFile","fileName":"AbstractCollection.kt"}
    1:1:void <init>():14:14 -> <init>
    int getSize() -> a
    1:2:boolean contains(java.lang.Object):43:44 -> contains
    3:3:boolean contains(java.lang.Object):19:19 -> contains
    1:27:boolean containsAll(java.util.Collection):22:22 -> containsAll
    1:1:int com.android.tools.r8.jetbrains.kotlin.collections.AbstractCollection.size():14:14 -> isEmpty
    1:1:boolean isEmpty():24 -> isEmpty
    1:1:int size():14:14 -> size
    1:1:java.lang.Object[] toArray():34:34 -> toArray
    2:2:java.lang.Object[] toArray(java.lang.Object[]):40:40 -> toArray
    1:1:java.lang.String toString():26:26 -> toString
com.android.tools.r8.jetbrains.kotlin.collections.AbstractCollection$toString$1 -> com.android.tools.r8.internal.q:
# {"id":"sourceFile","fileName":"AbstractCollection.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.AbstractCollection this$0 -> b
    1:1:java.lang.CharSequence com.android.tools.r8.jetbrains.kotlin.collections.AbstractCollection$toString$1.invoke(java.lang.Object):27:27 -> a
    1:1:java.lang.Object invoke(java.lang.Object):26 -> a
com.android.tools.r8.jetbrains.kotlin.collections.AbstractList -> com.android.tools.r8.internal.Y:
# {"id":"sourceFile","fileName":"AbstractList.kt"}
    1:1:void <init>():21:21 -> <init>
    1:3:boolean equals(java.lang.Object):61:63 -> equals
    4:154:boolean com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$Companion.orderedEquals$kotlin_stdlib(java.util.Collection,java.util.Collection):0:150 -> equals
    4:154:boolean equals(java.lang.Object):63 -> equals
    1:2:int com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$Companion.orderedHashCode$kotlin_stdlib(java.util.Collection):138:139 -> hashCode
    1:2:int hashCode():69 -> hashCode
    1:1:int indexOf(java.lang.Object):159:159 -> indexOf
    2:2:int indexOf(java.lang.Object):27:27 -> indexOf
    1:1:java.util.Iterator iterator():25:25 -> iterator
    1:3:int lastIndexOf(java.lang.Object):165:167 -> lastIndexOf
    4:143:int lastIndexOf(java.lang.Object):29:168 -> lastIndexOf
    1:1:java.util.ListIterator listIterator():31:31 -> listIterator
    2:2:java.util.ListIterator listIterator(int):33:33 -> listIterator
    1:1:java.util.List subList(int,int):35:35 -> subList
com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$Companion -> com.android.tools.r8.internal.U:
# {"id":"sourceFile","fileName":"AbstractList.kt"}
    1:1:void checkPositionIndex$kotlin_stdlib(int,int):114:114 -> a
    2:2:void checkRangeIndexes$kotlin_stdlib(int,int,int):123:123 -> a
    3:3:void checkRangeIndexes$kotlin_stdlib(int,int,int):120:120 -> a
com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$IteratorImpl -> com.android.tools.r8.internal.V:
# {"id":"sourceFile","fileName":"AbstractList.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.AbstractList this$0 -> c
    int index -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlin.collections.AbstractList):71:71 -> <init>
    1:1:void setIndex(int):73:73 -> a
    1:1:boolean hasNext():75:75 -> hasNext
    2:2:int com.android.tools.r8.jetbrains.kotlin.collections.AbstractCollection.size():14:14 -> hasNext
    2:2:boolean hasNext():75 -> hasNext
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:int getIndex():73:73 -> j
    1:3:java.lang.Object next():78:78 -> next
com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$ListIteratorImpl -> com.android.tools.r8.internal.W:
# {"id":"sourceFile","fileName":"AbstractList.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.AbstractList this$0 -> d
    1:5:void <init>(com.android.tools.r8.jetbrains.kotlin.collections.AbstractList,int):86:90 -> <init>
    1:1:boolean hasPrevious():93:93 -> hasPrevious
    1:1:int nextIndex():95:95 -> nextIndex
    1:3:java.lang.Object previous():98:98 -> previous
    1:1:int previousIndex():102:102 -> previousIndex
com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$SubList -> com.android.tools.r8.internal.X:
# {"id":"sourceFile","fileName":"AbstractList.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.AbstractList list -> b
    int _size -> d
    int fromIndex -> c
    1:6:void <init>(com.android.tools.r8.jetbrains.kotlin.collections.AbstractList,int,int):37:42 -> <init>
    1:1:int getSize():51:51 -> a
    1:3:java.lang.Object get(int):46:48 -> get
    4:4:void com.android.tools.r8.jetbrains.kotlin.collections.AbstractList$Companion.checkElementIndex$kotlin_stdlib(int,int):108:108 -> get
    4:4:java.lang.Object get(int):46 -> get
com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt -> com.android.tools.r8.internal.t3:
    1:169:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt.asList(int[]):0:168 -> a
    1:169:java.util.List asList(int[]):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    170:170:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt.asList(java.lang.Object[]):0:0 -> a
    170:170:java.util.List asList(java.lang.Object[]):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    171:171:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysUtilJVM.asList(java.lang.Object[]):13:13 -> a
    171:171:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt.asList(java.lang.Object[]):133 -> a
    171:171:java.util.List asList(java.lang.Object[]):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    172:172:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt.asList(java.lang.Object[]):133:133 -> a
    172:172:java.util.List asList(java.lang.Object[]):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    173:173:java.lang.Integer com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.getOrNull(int[],int):0:0 -> a
    173:173:java.lang.Integer getOrNull(int[],int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    174:174:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.getLastIndex(int[]):8065:8065 -> a
    174:174:java.lang.Integer com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.getOrNull(int[],int):1448 -> a
    174:174:java.lang.Integer getOrNull(int[],int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    175:175:java.lang.Integer com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.getOrNull(int[],int):1448:1448 -> a
    175:175:java.lang.Integer getOrNull(int[],int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.toList(int[]):9971:9971 -> b
    1:1:java.util.List toList(int[]):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    2:3:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.toMutableList(int[]):10062:10063 -> b
    2:3:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.toList(int[]):9974 -> b
    2:3:java.util.List toList(int[]):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.toList(int[]):9973:9973 -> b
    4:4:java.util.List toList(int[]):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    5:5:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsJVMKt.listOf(java.lang.Object):20:20 -> b
    5:5:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.toList(int[]):9973 -> b
    5:5:java.util.List toList(int[]):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    6:6:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.toList(int[]):9972:9972 -> b
    6:6:java.util.List toList(int[]):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt__ArraysKt -> com.android.tools.r8.internal.u3:
# {"id":"sourceFile","fileName":"Arrays.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt$asList$3 -> com.android.tools.r8.internal.v3:
# {"id":"sourceFile","fileName":"_ArraysJvm.kt"}
    int[] $this_asList -> b
    1:1:void <init>(int[]):168:168 -> <init>
    1:1:int getSize():169:169 -> a
    1:1:boolean contains(java.lang.Object):168:168 -> contains
    1:1:boolean contains(int):171:171 -> f
    2:2:boolean com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.contains(int[],int):0:0 -> f
    2:2:boolean contains(int):171 -> f
    3:4:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.indexOf(int[],int):1544:1545 -> f
    3:4:boolean com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.contains(int[],int):540 -> f
    3:4:boolean contains(int):171 -> f
    1:1:java.lang.Integer com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt$asList$3.get(int):172:172 -> get
    1:1:java.lang.Object get(int):168 -> get
    1:1:int indexOf(java.lang.Object):168:168 -> indexOf
    2:2:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt$asList$3.indexOf(int):173:173 -> indexOf
    2:2:int indexOf(java.lang.Object):168 -> indexOf
    3:1548:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.indexOf(int[],int):0:1545 -> indexOf
    3:1548:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt$asList$3.indexOf(int):173 -> indexOf
    3:1548:int indexOf(java.lang.Object):168 -> indexOf
    1:1:boolean isEmpty():170:170 -> isEmpty
    1:1:int lastIndexOf(java.lang.Object):168:168 -> lastIndexOf
    2:2:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt$asList$3.lastIndexOf(int):174:174 -> lastIndexOf
    2:2:int lastIndexOf(java.lang.Object):168 -> lastIndexOf
    3:2136:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt.lastIndexOf(int[],int):0:2133 -> lastIndexOf
    3:2136:int com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt$asList$3.lastIndexOf(int):174 -> lastIndexOf
    3:2136:int lastIndexOf(java.lang.Object):168 -> lastIndexOf
com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysKt -> com.android.tools.r8.internal.w3:
# {"id":"sourceFile","fileName":"_Arrays.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt -> com.android.tools.r8.internal.dc:
    1:142:boolean com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__MutableCollectionsKt.addAll(java.util.Collection,java.lang.Object[]):0:141 -> a
    1:142:boolean addAll(java.util.Collection,java.lang.Object[]):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    143:182:int com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__IterablesKt.collectionSizeOrDefault(java.lang.Iterable,int):0:39 -> a
    143:182:int collectionSizeOrDefault(java.lang.Iterable,int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    183:183:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsJVMKt.listOf(java.lang.Object):20:20 -> a
    183:183:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.listOfNotNull(java.lang.Object):120 -> a
    183:183:java.util.List listOfNotNull(java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    184:184:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.listOfNotNull(java.lang.Object):120:120 -> a
    184:184:java.util.List listOfNotNull(java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    185:185:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.listOf(java.lang.Object[]):77:77 -> a
    185:185:java.util.List listOf(java.lang.Object[]):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    186:186:void com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.throwIndexOverflow():463:463 -> a
    186:186:void throwIndexOverflow():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    187:2697:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.sortedWith(java.lang.Iterable,java.util.Comparator):1070:3580 -> a
    187:2697:java.util.List sortedWith(java.lang.Iterable,java.util.Comparator):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2698:2698:void com.android.tools.r8.jetbrains.kotlin.collections.ArraysKt___ArraysJvmKt.sortWith(java.lang.Object[],java.util.Comparator):2557:2557 -> a
    2698:2698:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.sortedWith(java.lang.Iterable,java.util.Comparator):1073 -> a
    2698:2698:java.util.List sortedWith(java.lang.Iterable,java.util.Comparator):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2699:5206:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.sortedWith(java.lang.Iterable,java.util.Comparator):1073:3580 -> a
    2699:5206:java.util.List sortedWith(java.lang.Iterable,java.util.Comparator):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5207:5207:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.lang.Iterable):1325:1325 -> a
    5207:5207:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.sortedWith(java.lang.Iterable,java.util.Comparator):1075 -> a
    5207:5207:java.util.List sortedWith(java.lang.Iterable,java.util.Comparator):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5208:5208:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.util.Collection):1333:1333 -> a
    5208:5208:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.lang.Iterable):1325 -> a
    5208:5208:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.sortedWith(java.lang.Iterable,java.util.Comparator):1075 -> a
    5208:5208:java.util.List sortedWith(java.lang.Iterable,java.util.Comparator):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5209:5209:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.lang.Iterable):1326:1326 -> a
    5209:5209:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.sortedWith(java.lang.Iterable,java.util.Comparator):1075 -> a
    5209:5209:java.util.List sortedWith(java.lang.Iterable,java.util.Comparator):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5210:5211:java.util.Collection com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toCollection(java.lang.Iterable,java.util.Collection):1293:1294 -> a
    5210:5211:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.lang.Iterable):1326 -> a
    5210:5211:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.sortedWith(java.lang.Iterable,java.util.Comparator):1075 -> a
    5210:5211:java.util.List sortedWith(java.lang.Iterable,java.util.Comparator):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5212:5212:void com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__MutableCollectionsJVMKt.sortWith(java.util.List,java.util.Comparator):42:42 -> a
    5212:5212:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.sortedWith(java.lang.Iterable,java.util.Comparator):1075 -> a
    5212:5212:java.util.List sortedWith(java.lang.Iterable,java.util.Comparator):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5213:5215:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.plus(java.util.Collection,java.lang.Iterable):3117:3119 -> a
    5213:5215:java.util.List plus(java.util.Collection,java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5216:5216:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):3363:3363 -> a
    5216:5216:java.lang.String joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5217:8581:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):0:3364 -> a
    5217:8581:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):3363 -> a
    5217:8581:java.lang.String joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8582:8585:java.lang.Appendable com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinTo(java.lang.Iterable,java.lang.Appendable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3342:3345 -> a
    8582:8585:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3364 -> a
    8582:8585:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):3363 -> a
    8582:8585:java.lang.String joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8586:8589:void com.android.tools.r8.jetbrains.kotlin.text.StringsKt__AppendableKt.appendElement(java.lang.Appendable,java.lang.Object,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):85:88 -> a
    8586:8589:java.lang.Appendable com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinTo(java.lang.Iterable,java.lang.Appendable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3347 -> a
    8586:8589:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3364 -> a
    8586:8589:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):3363 -> a
    8586:8589:java.lang.String joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8590:8591:java.lang.Appendable com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinTo(java.lang.Iterable,java.lang.Appendable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3350:3351 -> a
    8590:8591:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3364 -> a
    8590:8591:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):3363 -> a
    8590:8591:java.lang.String joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8592:8592:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):3364:3364 -> a
    8592:8592:java.lang.String com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):3363 -> a
    8592:8592:java.lang.String joinToString$default(java.lang.Iterable,java.lang.CharSequence,java.lang.CharSequence,java.lang.CharSequence,int,java.lang.CharSequence,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1312:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):0:1311 -> b
    1:1312:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1313:1313:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.util.Collection):1333:1333 -> b
    1313:1313:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1314 -> b
    1313:1313:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1314:1314:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1313:1313 -> b
    1314:1314:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1315:1315:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsJVMKt.listOf(java.lang.Object):20:20 -> b
    1315:1315:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1313 -> b
    1315:1315:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1316:1316:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1312:1312 -> b
    1316:1316:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1317:1317:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.lang.Iterable):1325:1325 -> b
    1317:1317:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1317:1317:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1318:1318:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.util.Collection):1333:1333 -> b
    1318:1318:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.lang.Iterable):1325 -> b
    1318:1318:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1318:1318:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1319:1319:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.lang.Iterable):1326:1326 -> b
    1319:1319:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1319:1319:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1320:1321:java.util.Collection com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toCollection(java.lang.Iterable,java.util.Collection):1293:1294 -> b
    1320:1321:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toMutableList(java.lang.Iterable):1326 -> b
    1320:1321:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1320:1321:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1322:1324:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.optimizeReadOnlyList(java.util.List):291:293 -> b
    1322:1324:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1322:1324:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1325:1325:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsJVMKt.listOf(java.lang.Object):20:20 -> b
    1325:1325:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.optimizeReadOnlyList(java.util.List):293 -> b
    1325:1325:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1325:1325:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1326:1326:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.optimizeReadOnlyList(java.util.List):292:292 -> b
    1326:1326:java.util.List com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toList(java.lang.Iterable):1317 -> b
    1326:1326:java.util.List toList(java.lang.Iterable):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    1:5:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1342:1346 -> c
    1:5:java.util.Set toSet(java.lang.Iterable):0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    6:7:java.util.Collection com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toCollection(java.lang.Iterable,java.util.Collection):1293:1294 -> c
    6:7:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1346 -> c
    6:7:java.util.Set toSet(java.lang.Iterable):0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    8:8:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1345:1345 -> c
    8:8:java.util.Set toSet(java.lang.Iterable):0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    9:9:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.SetsKt__SetsJVMKt.setOf(java.lang.Object):18:18 -> c
    9:9:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1345 -> c
    9:9:java.util.Set toSet(java.lang.Iterable):0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    10:15:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1344:1349 -> c
    10:15:java.util.Set toSet(java.lang.Iterable):0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    16:17:java.util.Collection com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toCollection(java.lang.Iterable,java.util.Collection):1293:1294 -> c
    16:17:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1349 -> c
    16:17:java.util.Set toSet(java.lang.Iterable):0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    18:20:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.SetsKt__SetsKt.optimizeReadOnlySet(java.util.Set):173:175 -> c
    18:20:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1349 -> c
    18:20:java.util.Set toSet(java.lang.Iterable):0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    21:21:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.SetsKt__SetsJVMKt.setOf(java.lang.Object):18:18 -> c
    21:21:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.SetsKt__SetsKt.optimizeReadOnlySet(java.util.Set):175 -> c
    21:21:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1349 -> c
    21:21:java.util.Set toSet(java.lang.Iterable):0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    22:22:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.SetsKt__SetsKt.optimizeReadOnlySet(java.util.Set):174:174 -> c
    22:22:java.util.Set com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.toSet(java.lang.Iterable):1349 -> c
    22:22:java.util.Set toSet(java.lang.Iterable):0 -> c
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Iterable com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.withIndex(java.lang.Iterable):1628:1628 -> d
    1:1:java.lang.Iterable withIndex(java.lang.Iterable):0 -> d
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt -> com.android.tools.r8.internal.ec:
# {"id":"sourceFile","fileName":"Collections.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__IteratorsJVMKt -> com.android.tools.r8.internal.fc:
# {"id":"sourceFile","fileName":"IteratorsJVM.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__MutableCollectionsJVMKt -> com.android.tools.r8.internal.gc:
# {"id":"sourceFile","fileName":"MutableCollectionsJVM.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__ReversedViewsKt -> com.android.tools.r8.internal.hc:
# {"id":"sourceFile","fileName":"ReversedViews.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt -> com.android.tools.r8.internal.jc:
# {"id":"sourceFile","fileName":"_Collections.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt$withIndex$1 -> com.android.tools.r8.internal.ic:
# {"id":"sourceFile","fileName":"_Collections.kt"}
    java.lang.Iterable $this_withIndex -> b
    1:1:java.util.Iterator com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt$withIndex$1.invoke():1628:1628 -> a
    1:1:java.lang.Object invoke():1628 -> a
com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator -> com.android.tools.r8.internal.ai:
# {"id":"sourceFile","fileName":"Collections.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator INSTANCE -> b
    1:1:void <init>():15:15 -> <init>
    1:1:void add(java.lang.Object):15:15 -> add
    2:2:void com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator.add(java.lang.Void):0:0 -> add
    2:2:void add(java.lang.Object):15 -> add
    1:1:java.lang.Void com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator.next():20:20 -> next
    1:1:java.lang.Object next():15 -> next
    1:1:java.lang.Void com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator.previous():21:21 -> previous
    1:1:java.lang.Object previous():15 -> previous
    1:1:void set(java.lang.Object):15:15 -> set
    2:2:void com.android.tools.r8.jetbrains.kotlin.collections.EmptyIterator.set(java.lang.Void):0:0 -> set
    2:2:void set(java.lang.Object):15 -> set
com.android.tools.r8.jetbrains.kotlin.collections.EmptyList -> com.android.tools.r8.internal.bi:
# {"id":"sourceFile","fileName":"Collections.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.EmptyList INSTANCE -> b
    1:1:void <init>():24:24 -> <init>
    1:1:void add(int,java.lang.Object):24:24 -> add
    2:2:void com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.add(int,java.lang.Void):0:0 -> add
    2:2:void add(int,java.lang.Object):24 -> add
    3:3:boolean add(java.lang.Object):24:24 -> add
    4:4:boolean com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.add(java.lang.Void):0:0 -> add
    4:4:boolean add(java.lang.Object):24 -> add
    1:1:boolean contains(java.lang.Object):24:24 -> contains
    2:2:boolean com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.contains(java.lang.Void):0:0 -> contains
    2:2:boolean contains(java.lang.Object):24 -> contains
    1:1:boolean containsAll(java.util.Collection):34:34 -> containsAll
    1:1:boolean equals(java.lang.Object):27:27 -> equals
    1:1:java.lang.Void com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.get(int):36:36 -> get
    1:1:java.lang.Object get(int):24 -> get
    1:1:int indexOf(java.lang.Object):24:24 -> indexOf
    2:2:int com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.indexOf(java.lang.Void):0:0 -> indexOf
    2:2:int indexOf(java.lang.Object):24 -> indexOf
    1:1:java.util.Iterator iterator():40:40 -> iterator
    1:1:int lastIndexOf(java.lang.Object):24:24 -> lastIndexOf
    2:2:int com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.lastIndexOf(java.lang.Void):0:0 -> lastIndexOf
    2:2:int lastIndexOf(java.lang.Object):24 -> lastIndexOf
    1:1:java.util.ListIterator listIterator():41:41 -> listIterator
    2:2:java.util.ListIterator listIterator(int):44:44 -> listIterator
    3:3:java.util.ListIterator listIterator(int):43:43 -> listIterator
    4:4:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.stringPlus(java.lang.String,java.lang.Object):20:20 -> listIterator
    4:4:java.util.ListIterator listIterator(int):43 -> listIterator
    5:5:java.util.ListIterator listIterator(int):43:43 -> listIterator
    1:1:java.lang.Object set(int,java.lang.Object):24:24 -> set
    2:2:java.lang.Void com.android.tools.r8.jetbrains.kotlin.collections.EmptyList.set(int,java.lang.Void):0:0 -> set
    2:2:java.lang.Object set(int,java.lang.Object):24 -> set
    1:1:java.util.List subList(int,int):49:49 -> subList
    1:1:java.lang.String toString():29:29 -> toString
com.android.tools.r8.jetbrains.kotlin.collections.EmptyMap -> com.android.tools.r8.internal.ci:
# {"id":"sourceFile","fileName":"Maps.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.EmptyMap INSTANCE -> b
    1:1:void <init>():14:14 -> <init>
    1:1:boolean containsValue(java.lang.Object):14:14 -> containsValue
    2:2:boolean com.android.tools.r8.jetbrains.kotlin.collections.EmptyMap.containsValue(java.lang.Void):0:0 -> containsValue
    2:2:boolean containsValue(java.lang.Object):14 -> containsValue
    1:1:java.util.Set entrySet():14:14 -> entrySet
    1:1:boolean equals(java.lang.Object):17:17 -> equals
    1:1:java.util.Set keySet():14:14 -> keySet
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):14:14 -> put
    2:2:java.lang.Void com.android.tools.r8.jetbrains.kotlin.collections.EmptyMap.put(java.lang.Object,java.lang.Void):0:0 -> put
    2:2:java.lang.Object put(java.lang.Object,java.lang.Object):14 -> put
    1:1:java.lang.Void com.android.tools.r8.jetbrains.kotlin.collections.EmptyMap.remove(java.lang.Object):0:0 -> remove
    1:1:java.lang.Object remove(java.lang.Object):14 -> remove
    1:1:java.lang.String toString():19:19 -> toString
    1:1:java.util.Collection values():14:14 -> values
com.android.tools.r8.jetbrains.kotlin.collections.EmptySet -> com.android.tools.r8.internal.fi:
# {"id":"sourceFile","fileName":"Sets.kt"}
    com.android.tools.r8.jetbrains.kotlin.collections.EmptySet INSTANCE -> b
    1:1:void <init>():14:14 -> <init>
    1:1:boolean add(java.lang.Object):14:14 -> add
    2:2:boolean com.android.tools.r8.jetbrains.kotlin.collections.EmptySet.add(java.lang.Void):0:0 -> add
    2:2:boolean add(java.lang.Object):14 -> add
    1:1:boolean contains(java.lang.Object):14:14 -> contains
    2:2:boolean com.android.tools.r8.jetbrains.kotlin.collections.EmptySet.contains(java.lang.Void):0:0 -> contains
    2:2:boolean contains(java.lang.Object):14 -> contains
    1:1:boolean containsAll(java.util.Collection):24:24 -> containsAll
    1:1:boolean equals(java.lang.Object):17:17 -> equals
    1:1:java.util.Iterator iterator():26:26 -> iterator
    1:1:java.lang.String toString():19:19 -> toString
com.android.tools.r8.jetbrains.kotlin.collections.IndexedValue -> com.android.tools.r8.internal.hp:
# {"id":"sourceFile","fileName":"IndexedValue.kt"}
    java.lang.Object value -> b
    int index -> a
    1:1:void <init>(int,java.lang.Object):14:14 -> <init>
    1:1:int getIndex():14:14 -> a
    1:1:java.lang.Object getValue():14:14 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlin.collections.IndexingIterable -> com.android.tools.r8.internal.ip:
# {"id":"sourceFile","fileName":"Iterables.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 iteratorFactory -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0):24:24 -> <init>
    1:1:java.util.Iterator iterator():25:25 -> iterator
com.android.tools.r8.jetbrains.kotlin.collections.IndexingIterator -> com.android.tools.r8.internal.jp:
# {"id":"sourceFile","fileName":"Iterators.kt"}
    java.util.Iterator iterator -> b
    int index -> c
    1:1:void <init>(java.util.Iterator):38:38 -> <init>
    1:1:boolean hasNext():40:40 -> hasNext
    1:1:com.android.tools.r8.jetbrains.kotlin.collections.IndexedValue com.android.tools.r8.jetbrains.kotlin.collections.IndexingIterator.next():41:41 -> next
    1:1:java.lang.Object next():38 -> next
com.android.tools.r8.jetbrains.kotlin.collections.MapsKt -> com.android.tools.r8.internal.KD:
    int mapCapacity(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:4:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable):547:550 -> a
    1:4:java.util.Map toMap(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    5:6:void com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.putAll(java.util.Map,java.lang.Iterable):415:416 -> a
    5:6:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable,java.util.Map):560 -> a
    5:6:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable):550 -> a
    5:6:java.util.Map toMap(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    7:7:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable):549:549 -> a
    7:7:java.util.Map toMap(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    8:35:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsJVMKt.mapOf(com.android.tools.r8.jetbrains.kotlin.Pair):0:27 -> a
    8:35:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable):549 -> a
    8:35:java.util.Map toMap(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    36:36:java.util.Map com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsKt.toMap(java.lang.Iterable):548:548 -> a
    36:36:java.util.Map toMap(java.lang.Iterable):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlin.collections.MapsKt__MapsJVMKt -> com.android.tools.r8.internal.LD:
# {"id":"sourceFile","fileName":"MapsJVM.kt"}
com.android.tools.r8.jetbrains.kotlin.collections.MapsKt___MapsKt -> com.android.tools.r8.internal.MD:
# {"id":"sourceFile","fileName":"_Maps.kt"}
com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt -> com.android.tools.r8.internal.jN:
# {"id":"sourceFile","fileName":"progressionUtil.kt"}
    1:1:int com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt.mod(int,int):10:10 -> a
    1:1:int com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt.differenceModulo(int,int,int):21 -> a
    1:1:int getProgressionLastElement(int,int,int):46 -> a
    2:2:int com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt.mod(int,int):10:10 -> a
    2:2:int com.android.tools.r8.jetbrains.kotlin.internal.ProgressionUtilKt.differenceModulo(int,int,int):21 -> a
    2:2:int getProgressionLastElement(int,int,int):47 -> a
    3:3:int getProgressionLastElement(int,int,int):48:48 -> a
com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt -> com.android.tools.r8.internal.dw:
# {"id":"sourceFile","fileName":"JvmClassMapping.kt"}
    1:4:java.lang.Class getJavaObjectType(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):58:61 -> a
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function0 -> com.android.tools.r8.internal.jl:
# {"id":"sourceFile","fileName":"Functions.kt"}
    java.lang.Object invoke() -> a
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 -> com.android.tools.r8.internal.ll:
# {"id":"sourceFile","fileName":"Functions.kt"}
    java.lang.Object invoke(java.lang.Object) -> a
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function10 -> com.android.tools.r8.internal.kl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function11 -> com.android.tools.r8.internal.ml:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function12 -> com.android.tools.r8.internal.nl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function13 -> com.android.tools.r8.internal.ol:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function14 -> com.android.tools.r8.internal.pl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function15 -> com.android.tools.r8.internal.ql:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function16 -> com.android.tools.r8.internal.rl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function17 -> com.android.tools.r8.internal.sl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function18 -> com.android.tools.r8.internal.tl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function19 -> com.android.tools.r8.internal.ul:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function2 -> com.android.tools.r8.internal.zl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function20 -> com.android.tools.r8.internal.wl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function21 -> com.android.tools.r8.internal.xl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function22 -> com.android.tools.r8.internal.yl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function3 -> com.android.tools.r8.internal.Al:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function4 -> com.android.tools.r8.internal.Bl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function5 -> com.android.tools.r8.internal.Cl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function6 -> com.android.tools.r8.internal.Dl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function7 -> com.android.tools.r8.internal.El:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function8 -> com.android.tools.r8.internal.Fl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function9 -> com.android.tools.r8.internal.Gl:
# {"id":"sourceFile","fileName":"Functions.kt"}
com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassBasedDeclarationContainer -> com.android.tools.r8.internal.G9:
# {"id":"sourceFile","fileName":"ClassBasedDeclarationContainer.kt"}
    java.lang.Class getJClass() -> a
com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassReference -> com.android.tools.r8.internal.Ma:
# {"id":"sourceFile","fileName":"ClassReference.kt"}
    java.util.Map FUNCTION_CLASSES -> b
    java.lang.Class jClass -> a
    1:1:void <clinit>():102:102 -> <clinit>
    2:110:void <clinit>():101:209 -> <clinit>
    111:111:void <clinit>():107:107 -> <clinit>
    112:112:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlin.TuplesKt.to(java.lang.Object,java.lang.Object):43:43 -> <clinit>
    112:112:void <clinit>():107 -> <clinit>
    113:216:void <clinit>():107:107 -> <clinit>
    218:321:void <clinit>():109:212 -> <clinit>
    322:322:void <clinit>():156:156 -> <clinit>
    323:323:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.stringPlus(java.lang.String,java.lang.Object):20:20 -> <clinit>
    323:323:void <clinit>():156 -> <clinit>
    324:324:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlin.TuplesKt.to(java.lang.Object,java.lang.Object):43:43 -> <clinit>
    324:324:void <clinit>():156 -> <clinit>
    325:328:void <clinit>():156:159 -> <clinit>
    329:329:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.stringPlus(java.lang.String,java.lang.Object):20:20 -> <clinit>
    329:329:void <clinit>():159 -> <clinit>
    330:389:void <clinit>():159:218 -> <clinit>
    390:390:void <clinit>():216:216 -> <clinit>
    391:391:void <clinit>():163:163 -> <clinit>
    1:1:void <init>(java.lang.Class):10:10 -> <init>
    1:1:java.lang.Class getJClass():10:10 -> a
    1:1:boolean equals(java.lang.Object):91:91 -> equals
    1:1:int hashCode():94:94 -> hashCode
    1:1:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassReference.getJClass():10:10 -> toString
    1:1:java.lang.String toString():97 -> toString
    2:2:java.lang.String toString():97:97 -> toString
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.stringPlus(java.lang.String,java.lang.Object):20:20 -> toString
    3:3:java.lang.String toString():97 -> toString
com.android.tools.r8.jetbrains.kotlin.jvm.internal.CollectionToArray -> com.android.tools.r8.internal.Zb:
# {"id":"sourceFile","fileName":"CollectionToArray.kt"}
    java.lang.Object[] EMPTY -> a
    1:1:void <clinit>():127:127 -> <clinit>
    2:2:void <clinit>():14:14 -> <clinit>
    1:76:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):30:105 -> a
    77:152:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):34:34 -> a
    157:244:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):39:126 -> a
    245:248:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):43:46 -> a
    249:249:java.lang.Object[] toArray(java.util.Collection,java.lang.Object[]):39:39 -> a
    250:250:java.lang.Object[] toArray(java.util.Collection):83:83 -> a
    251:316:java.lang.Object[] toArray(java.util.Collection):21:86 -> a
    317:399:java.lang.Object[] toArray(java.util.Collection):22:104 -> a
    400:400:java.lang.Object[] toArray(java.util.Collection):23:23 -> a
com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics -> com.android.tools.r8.internal.ru:
    1:1:void throwUninitializedPropertyAccessException(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5,"4":6,"5":7,"6":8}}
    3:3:void throwUninitializedPropertyAccessException(java.lang.String):58:58 -> a
    4:4:void throwUninitializedPropertyAccessException(java.lang.String):58:58 -> a
    5:5:void throwUninitializedPropertyAccessException(java.lang.String):58:58 -> a
    6:6:void throwUninitializedPropertyAccessException(java.lang.String):58:58 -> a
    7:7:void throwUninitializedPropertyAccessException(java.lang.String):58:58 -> a
    8:8:void throwUninitializedPropertyAccessException(java.lang.String):58:58 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwUninitializedProperty(java.lang.String):54:54 -> a
    2:2:void throwUninitializedPropertyAccessException(java.lang.String):58 -> a
    9:9:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwJavaNpe():45:45 -> a
    9:9:void checkNotNull(java.lang.Object):25 -> a
    10:10:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    11:11:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":105,"2":106,"3":107,"4":108,"5":109}}
    105:105:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    106:106:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    107:107:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    108:108:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    109:109:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    104:104:void checkNotNullExpressionValue(java.lang.Object,java.lang.String):93:93 -> a
    110:110:boolean areEqual(java.lang.Object,java.lang.Object):167:167 -> a
    111:111:java.lang.Throwable sanitizeStackTrace(java.lang.Throwable):251:251 -> a
    112:123:java.lang.Throwable com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.sanitizeStackTrace(java.lang.Throwable,java.lang.String):255:266 -> a
    112:123:java.lang.Throwable sanitizeStackTrace(java.lang.Throwable):251 -> a
    1:1:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140:140 -> b
    1:1:void checkNotNullParameter(java.lang.Object,java.lang.String):131 -> b
    2:13:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.createParameterIsNullExceptionMessage(java.lang.String):144:155 -> b
    2:13:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140 -> b
    2:13:void checkNotNullParameter(java.lang.Object,java.lang.String):131 -> b
    14:14:void com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.throwParameterIsNullNPE(java.lang.String):140:140 -> b
    14:14:void checkNotNullParameter(java.lang.Object,java.lang.String):131 -> b
com.android.tools.r8.jetbrains.kotlin.jvm.internal.Lambda -> com.android.tools.r8.internal.zA:
# {"id":"sourceFile","fileName":"Lambda.kt"}
    1:1:void <init>(int):10:10 -> <init>
    1:1:java.lang.String toString():11:11 -> toString
com.android.tools.r8.jetbrains.kotlin.jvm.internal.Reflection -> com.android.tools.r8.internal.VR:
    com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory factory -> a
    1:9:void <clinit>():26:34 -> <clinit>
    1:1:com.android.tools.r8.jetbrains.kotlin.reflect.KClass getOrCreateKotlinClass(java.lang.Class):59:59 -> a
    2:2:com.android.tools.r8.jetbrains.kotlin.reflect.KClass com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory.getOrCreateKotlinClass(java.lang.Class):30:30 -> a
    2:2:com.android.tools.r8.jetbrains.kotlin.reflect.KClass getOrCreateKotlinClass(java.lang.Class):59 -> a
    3:3:java.lang.String renderLambdaToString(com.android.tools.r8.jetbrains.kotlin.jvm.internal.Lambda):78:78 -> a
    4:5:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory.renderLambdaToString(com.android.tools.r8.jetbrains.kotlin.jvm.internal.FunctionBase):44:45 -> a
    4:5:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory.renderLambdaToString(com.android.tools.r8.jetbrains.kotlin.jvm.internal.Lambda):39 -> a
    4:5:java.lang.String renderLambdaToString(com.android.tools.r8.jetbrains.kotlin.jvm.internal.Lambda):78 -> a
com.android.tools.r8.jetbrains.kotlin.jvm.internal.ReflectionFactory -> com.android.tools.r8.internal.WR:
    1:1:void <init>():14:14 -> <init>
com.android.tools.r8.jetbrains.kotlin.reflect.KClass -> com.android.tools.r8.internal.fx:
# {"id":"sourceFile","fileName":"KClass.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt -> com.android.tools.r8.internal.kX:
    1:71:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.replace(java.lang.String,char,char,boolean):0:70 -> a
    1:71:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.replace$default(java.lang.String,char,char,boolean,int,java.lang.Object):68 -> a
    1:71:java.lang.String replace$default(java.lang.String,char,char,boolean,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    72:72:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.startsWith$default(java.lang.String,java.lang.String,boolean,int,java.lang.Object):416:416 -> a
    72:72:boolean startsWith$default(java.lang.String,java.lang.String,boolean,int,java.lang.Object):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast(java.lang.String,char,java.lang.String):0:0 -> b
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):483 -> b
    1:1:java.lang.String substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.getLastIndex(java.lang.CharSequence):379:379 -> b
    2:2:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.lastIndexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1116 -> b
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast(java.lang.String,char,java.lang.String):484 -> b
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):483 -> b
    2:2:java.lang.String substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.lastIndexOf(java.lang.CharSequence,char,int,boolean):1120:1120 -> b
    3:3:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.lastIndexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1116 -> b
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast(java.lang.String,char,java.lang.String):484 -> b
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):483 -> b
    3:3:java.lang.String substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
    4:4:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast(java.lang.String,char,java.lang.String):485:485 -> b
    4:4:java.lang.String com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):483 -> b
    4:4:java.lang.String substringAfterLast$default(java.lang.String,char,java.lang.String,int,java.lang.Object):0 -> b
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__IndentKt -> com.android.tools.r8.internal.lX:
# {"id":"sourceFile","fileName":"Indent.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__RegexExtensionsKt -> com.android.tools.r8.internal.mX:
# {"id":"sourceFile","fileName":"RegexExtensions.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringBuilderKt -> com.android.tools.r8.internal.nX:
# {"id":"sourceFile","fileName":"StringBuilder.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringNumberConversionsKt -> com.android.tools.r8.internal.oX:
# {"id":"sourceFile","fileName":"StringNumberConversions.kt"}
com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt -> com.android.tools.r8.internal.pX:
# {"id":"sourceFile","fileName":"Strings.kt"}
    1:1:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):0:0 -> a
    1:1:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    2:3:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf(java.lang.CharSequence,char,int,boolean):1087:1088 -> a
    2:3:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1086 -> a
    2:3:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):1159 -> a
    2:3:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    4:6:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOfAny(java.lang.CharSequence,char[],int,boolean):933:935 -> a
    4:6:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf(java.lang.CharSequence,char,int,boolean):1088 -> a
    4:6:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1086 -> a
    4:6:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):1159 -> a
    4:6:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    7:7:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.getLastIndex(java.lang.CharSequence):379:379 -> a
    7:7:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOfAny(java.lang.CharSequence,char[],int,boolean):938 -> a
    7:7:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf(java.lang.CharSequence,char,int,boolean):1088 -> a
    7:7:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1086 -> a
    7:7:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):1159 -> a
    7:7:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    8:687:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOfAny(java.lang.CharSequence,char[],int,boolean):939:1618 -> a
    8:687:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf(java.lang.CharSequence,char,int,boolean):1088 -> a
    8:687:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1086 -> a
    8:687:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):1159 -> a
    8:687:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    688:688:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf(java.lang.CharSequence,char,int,boolean):1090:1090 -> a
    688:688:int com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.indexOf$default(java.lang.CharSequence,char,int,boolean,int,java.lang.Object):1086 -> a
    688:688:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsKt.contains(java.lang.CharSequence,char,boolean):1159 -> a
    688:688:boolean contains$default(java.lang.CharSequence,char,boolean,int,java.lang.Object):1158 -> a
    689:690:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.startsWith(java.lang.String,java.lang.String,boolean):0:0 -> a
    1108:1108:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.startsWith(java.lang.String,java.lang.String,boolean):418:418 -> a
    1109:1111:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.regionMatches(java.lang.String,int,java.lang.String,int,int,boolean):654:656 -> a
    1109:1111:boolean com.android.tools.r8.jetbrains.kotlin.text.StringsKt__StringsJVMKt.startsWith(java.lang.String,java.lang.String,boolean):420 -> a
com.android.tools.r8.jetbrains.kotlin.text.StringsKt___StringsKt -> com.android.tools.r8.internal.qX:
# {"id":"sourceFile","fileName":"_Strings.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.Flag -> com.android.tools.r8.internal.Fk:
# {"id":"sourceFile","fileName":"Flag.kt"}
    int bitWidth -> b
    int value -> c
    int offset -> a
    1:65:void <clinit>():63:127 -> <clinit>
    1:1:void <init>(int,int,int):40:40 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField,int):41:41 -> <init>
    3:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField):43:43 -> <init>
    1:1:boolean invoke(int):52:52 -> a
    1:1:int plus$kotlinx_metadata(int):46:46 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$Property -> com.android.tools.r8.internal.Ck:
# {"id":"sourceFile","fileName":"Flag.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.Flag HAS_GETTER -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.Flag HAS_SETTER -> b
    1:79:void <clinit>():343:421 -> <clinit>
com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$Type -> com.android.tools.r8.internal.Dk:
# {"id":"sourceFile","fileName":"Flag.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.Flag IS_NULLABLE -> a
    1:7:void <clinit>():455:461 -> <clinit>
com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$TypeParameter -> com.android.tools.r8.internal.Ek:
# {"id":"sourceFile","fileName":"Flag.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.Flag IS_REIFIED -> a
    1:1:void <clinit>():472:472 -> <clinit>
com.android.tools.r8.jetbrains.kotlinx.metadata.Flag$ValueParameter -> com.android.tools.r8.internal.Fk$a:
# {"id":"sourceFile","fileName":"Flag.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.Flag DECLARES_DEFAULT_VALUE -> a
    1:13:void <clinit>():486:498 -> <clinit>
com.android.tools.r8.jetbrains.kotlinx.metadata.FlagsKt -> com.android.tools.r8.internal.Mk:
# {"id":"sourceFile","fileName":"Flags.kt"}
    1:1:int flagsOf(com.android.tools.r8.jetbrains.kotlinx.metadata.Flag[]):28:28 -> a
    2:2:int flagsOf(com.android.tools.r8.jetbrains.kotlinx.metadata.Flag[]):25:25 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException -> com.android.tools.r8.internal.dp:
# {"id":"sourceFile","fileName":"InconsistentKotlinMetadataException.kt"}
    1:1:void <init>(java.lang.String,java.lang.Throwable):8:8 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation -> com.android.tools.r8.internal.gx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    java.util.Map arguments -> b
    java.lang.String className -> a
    1:1:void <init>(java.lang.String,java.util.Map):18:18 -> <init>
    1:1:java.util.Map getArguments():18:18 -> a
    1:1:java.lang.String getClassName():18:18 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument -> com.android.tools.r8.internal.ix:
# {"id":"sourceFile","fileName":"annotations.kt"}
    1:1:void <init>():23:23 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$AnnotationValue -> com.android.tools.r8.internal.hx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation annotation -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):65:65 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation getAnnotation():65:65 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ArrayValue -> com.android.tools.r8.internal.ix$a:
# {"id":"sourceFile","fileName":"annotations.kt"}
    java.util.List elements -> a
    1:1:void <init>(java.util.List):66:66 -> <init>
    1:1:java.util.List getElements():66:66 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue -> com.android.tools.r8.internal.jx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    boolean value -> a
    1:1:void <init>(boolean):44:44 -> <init>
    1:1:java.lang.Boolean getValue():44:44 -> a
    1:1:java.lang.Boolean com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue.getValue():44:44 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.Boolean com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue.getValue():44:44 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.Boolean com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue.getValue():44:44 -> equals
    4:4:boolean equals(java.lang.Object):0 -> equals
    5:5:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Boolean com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue.getValue():44:44 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Boolean com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$BooleanValue.getValue():44:44 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue -> com.android.tools.r8.internal.kx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    byte value -> a
    1:1:void <init>(byte):37:37 -> <init>
    1:1:java.lang.Byte getValue():37:37 -> a
    1:1:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue.getValue():37:37 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue.getValue():37:37 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue.getValue():37:37 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ByteValue.getValue():37:37 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue -> com.android.tools.r8.internal.lx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    char value -> a
    1:1:void <init>(char):38:38 -> <init>
    1:1:java.lang.Character getValue():38:38 -> a
    1:1:java.lang.Character com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue.getValue():38:38 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.Character com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue.getValue():38:38 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.Character com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue.getValue():38:38 -> equals
    4:4:boolean equals(java.lang.Object):0 -> equals
    5:5:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Character com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue.getValue():38:38 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Character com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$CharValue.getValue():38:38 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue -> com.android.tools.r8.internal.mx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    double value -> a
    1:1:void <init>(double):43:43 -> <init>
    1:1:java.lang.Double getValue():43:43 -> a
    1:1:java.lang.Double com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue.getValue():43:43 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:java.lang.Double com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue.getValue():43:43 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:java.lang.Double com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue.getValue():43:43 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
    4:4:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Double com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue.getValue():43:43 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Double com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$DoubleValue.getValue():43:43 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$EnumValue -> com.android.tools.r8.internal.nx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    java.lang.String enumClassName -> a
    java.lang.String enumEntryName -> b
    1:1:void <init>(java.lang.String,java.lang.String):63:63 -> <init>
    1:1:java.lang.String getEnumClassName():63:63 -> a
    1:1:java.lang.String getEnumEntryName():63:63 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue -> com.android.tools.r8.internal.ox:
# {"id":"sourceFile","fileName":"annotations.kt"}
    float value -> a
    1:1:void <init>(float):42:42 -> <init>
    1:1:java.lang.Float getValue():42:42 -> a
    1:1:java.lang.Float com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue.getValue():42:42 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:java.lang.Float com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue.getValue():42:42 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:java.lang.Float com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue.getValue():42:42 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
    4:4:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Float com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue.getValue():42:42 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Float com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$FloatValue.getValue():42:42 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue -> com.android.tools.r8.internal.px:
# {"id":"sourceFile","fileName":"annotations.kt"}
    int value -> a
    1:1:void <init>(int):40:40 -> <init>
    1:1:java.lang.Integer getValue():40:40 -> a
    1:1:java.lang.Integer com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue.getValue():40:40 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.Integer com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue.getValue():40:40 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.Integer com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue.getValue():40:40 -> equals
    4:4:boolean equals(java.lang.Object):0 -> equals
    5:5:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Integer com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue.getValue():40:40 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Integer com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$IntValue.getValue():40:40 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$KClassValue -> com.android.tools.r8.internal.qx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    java.lang.String className -> a
    int arrayDimensionCount -> b
    1:1:void <init>(java.lang.String,int):61:61 -> <init>
    1:1:int getArrayDimensionCount():61:61 -> a
    1:1:java.lang.String getClassName():61:61 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LiteralValue -> com.android.tools.r8.internal.rx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    1:1:void <init>():30:30 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue -> com.android.tools.r8.internal.sx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    long value -> a
    1:1:void <init>(long):41:41 -> <init>
    1:1:java.lang.Long getValue():41:41 -> a
    1:1:java.lang.Long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue.getValue():41:41 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.Long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue.getValue():41:41 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.Long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue.getValue():41:41 -> equals
    4:4:boolean equals(java.lang.Object):0 -> equals
    5:5:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue.getValue():41:41 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$LongValue.getValue():41:41 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue -> com.android.tools.r8.internal.tx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    short value -> a
    1:1:void <init>(short):39:39 -> <init>
    1:1:java.lang.Short getValue():39:39 -> a
    1:1:java.lang.Short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue.getValue():39:39 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:boolean equals(java.lang.Object):0:0 -> equals
    3:3:java.lang.Short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue.getValue():39:39 -> equals
    3:3:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.Short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue.getValue():39:39 -> equals
    4:4:boolean equals(java.lang.Object):0 -> equals
    5:5:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.Short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue.getValue():39:39 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.Short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ShortValue.getValue():39:39 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue -> com.android.tools.r8.internal.ux:
# {"id":"sourceFile","fileName":"annotations.kt"}
    java.lang.String value -> a
    1:1:void <init>(java.lang.String):59:59 -> <init>
    1:1:java.lang.String getValue():59:59 -> a
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue.getValue():59:59 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue.getValue():59:59 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue.getValue():59:59 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$StringValue.getValue():59:59 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UByteValue -> com.android.tools.r8.internal.vx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    byte value -> a
    1:1:void <init>(byte):48:48 -> <init>
    1:1:byte getValue-w2LRezQ():48:48 -> a
    1:1:byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UByteValue.getValue-w2LRezQ():48:48 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UByteValue.getValue-w2LRezQ():48:48 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UByteValue.getValue-w2LRezQ():48:48 -> hashCode
    1:1:int hashCode():0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5,"2":6,"3":7}}
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    7:7:java.lang.String toString():0:0 -> toString
    2:2:byte com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UByteValue.getValue-w2LRezQ():48:48 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.UByte.toString-impl(byte):343:343 -> toString
    3:3:java.lang.String toString():0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UIntValue -> com.android.tools.r8.internal.wx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    int value -> a
    1:1:void <init>(int):54:54 -> <init>
    1:1:int getValue-pVg5ArA():54:54 -> a
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UIntValue.getValue-pVg5ArA():54:54 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UIntValue.getValue-pVg5ArA():54:54 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UIntValue.getValue-pVg5ArA():54:54 -> hashCode
    1:1:int hashCode():0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5,"2":6,"3":7}}
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    7:7:java.lang.String toString():0:0 -> toString
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UIntValue.getValue-pVg5ArA():54:54 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.UInt.toString-impl(int):365:365 -> toString
    3:3:java.lang.String toString():0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ULongValue -> com.android.tools.r8.internal.xx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    long value -> a
    1:1:void <init>(long):57:57 -> <init>
    1:1:long getValue-s-VKNKU():57:57 -> a
    1:1:long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ULongValue.getValue-s-VKNKU():57:57 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ULongValue.getValue-s-VKNKU():57:57 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ULongValue.getValue-s-VKNKU():57:57 -> hashCode
    1:1:int hashCode():0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":14,"2":15,"3":16}}
    14:14:java.lang.String toString():0:0 -> toString
    15:15:java.lang.String toString():0:0 -> toString
    16:16:java.lang.String toString():0:0 -> toString
    2:2:long com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ULongValue.getValue-s-VKNKU():57:57 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:11:java.lang.String com.android.tools.r8.jetbrains.kotlin.UnsignedKt.ulongToString(long,int):95:103 -> toString
    3:11:java.lang.String com.android.tools.r8.jetbrains.kotlin.UnsignedKt.ulongToString(long):92 -> toString
    3:11:java.lang.String com.android.tools.r8.jetbrains.kotlin.ULong.toString-impl(long):368 -> toString
    3:11:java.lang.String toString():0 -> toString
    12:12:java.lang.String com.android.tools.r8.jetbrains.kotlin.jvm.internal.Intrinsics.stringPlus(java.lang.String,java.lang.Object):20:20 -> toString
    12:12:java.lang.String com.android.tools.r8.jetbrains.kotlin.UnsignedKt.ulongToString(long,int):103 -> toString
    12:12:java.lang.String com.android.tools.r8.jetbrains.kotlin.UnsignedKt.ulongToString(long):92 -> toString
    12:12:java.lang.String com.android.tools.r8.jetbrains.kotlin.ULong.toString-impl(long):368 -> toString
    12:12:java.lang.String toString():0 -> toString
    13:13:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UShortValue -> com.android.tools.r8.internal.yx:
# {"id":"sourceFile","fileName":"annotations.kt"}
    short value -> a
    1:1:void <init>(short):51:51 -> <init>
    1:1:short getValue-Mh2AYeg():51:51 -> a
    1:1:short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UShortValue.getValue-Mh2AYeg():51:51 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UShortValue.getValue-Mh2AYeg():51:51 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UShortValue.getValue-Mh2AYeg():51:51 -> hashCode
    1:1:int hashCode():0 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5,"2":6,"3":7}}
    5:5:java.lang.String toString():0:0 -> toString
    6:6:java.lang.String toString():0:0 -> toString
    7:7:java.lang.String toString():0:0 -> toString
    2:2:short com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$UShortValue.getValue-Mh2AYeg():51:51 -> toString
    2:2:java.lang.String toString():0 -> toString
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlin.UShort.toString-impl(short):344:344 -> toString
    3:3:java.lang.String toString():0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass -> com.android.tools.r8.internal.zx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List extensions -> q
    java.util.List versionRequirements -> p
    java.lang.String companionObject -> j
    java.lang.String inlineClassUnderlyingPropertyName -> n
    int flags -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType inlineClassUnderlyingType -> o
    java.util.List functions -> f
    java.util.List supertypes -> e
    java.util.List typeParameters -> d
    java.util.List constructors -> i
    java.util.List typeAliases -> h
    java.util.List properties -> g
    java.lang.String name -> c
    java.util.List sealedSubclasses -> m
    java.util.List enumEntries -> l
    java.util.List nestedClasses -> k
    1:1017:void <init>():35:1051 -> <init>
    1018:1018:void <init>():112:112 -> <init>
    1:1:void setFlags(int):39:39 -> a
    2:2:java.util.List getFunctions():59:59 -> a
    3:3:void setInlineClassUnderlyingPropertyName(java.lang.String):99:99 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):120:120 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):126:126 -> a
    6:6:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.getFunctions():59:59 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):126 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):126:126 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):129:129 -> a
    9:9:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.getProperties():64:64 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):129 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):129:129 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):164:164 -> a
    12:894:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):172:1054 -> a
    895:1778:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):173:1056 -> a
    1779:1779:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):174:174 -> a
    1780:1780:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.getFunctions():59:59 -> a
    1780:1780:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):175 -> a
    1781:1781:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):1058:1058 -> a
    1782:1782:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):175:175 -> a
    1783:1783:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.getProperties():64:64 -> a
    1783:1783:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):176 -> a
    1784:1784:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):1060:1060 -> a
    1785:1785:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):176:176 -> a
    1786:1786:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.getTypeAliases():69:69 -> a
    1786:1786:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):177 -> a
    1787:1787:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):1062:1062 -> a
    1788:2675:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):177:1064 -> a
    2676:3564:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):178:1066 -> a
    3565:4453:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):180:1068 -> a
    4454:5343:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):181:1070 -> a
    5344:6234:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):182:1072 -> a
    6235:7124:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):185:1074 -> a
    7125:7125:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):186:186 -> a
    7126:7126:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor.getType():54:54 -> a
    7126:7126:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):186 -> a
    7127:7128:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):186:187 -> a
    1:1:java.util.List getProperties():64:64 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):132:132 -> b
    3:3:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.getTypeAliases():69:69 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):132 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):132:132 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor visitConstructor(int):135:135 -> b
    6:6:void visitCompanionObject(java.lang.String):138:138 -> b
    1:1:java.util.List getTypeAliases():69:69 -> c
    2:2:void visit(int,java.lang.String):115:115 -> c
    3:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.setName(java.lang.String):44:44 -> c
    3:3:void visit(int,java.lang.String):116 -> c
    4:4:void visitEnumEntry(java.lang.String):146:146 -> c
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitInlineClassUnderlyingType(int):158:158 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitSupertype(int):123:123 -> d
    2:2:void visitInlineClassUnderlyingPropertyName(java.lang.String):154:154 -> d
    1:1:void visitNestedClass(java.lang.String):142:142 -> e
    1:1:java.lang.String getCompanionObject():79:79 -> f
    2:2:void visitSealedSubclass(java.lang.String):150:150 -> f
    1:1:java.util.List getConstructors():74:74 -> g
    1:1:java.util.List getEnumEntries():89:89 -> h
    1:1:int getFlags():39:39 -> i
    1:1:java.lang.String getInlineClassUnderlyingPropertyName():99:99 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getInlineClassUnderlyingType():104:104 -> k
    1:1:java.lang.String getName():44:44 -> l
    1:1:java.util.List getNestedClasses():84:84 -> m
    1:1:java.util.List getSealedSubclasses():94:94 -> n
    1:1:java.util.List getSupertypes():54:54 -> o
    1:1:java.util.List getTypeParameters():49:49 -> p
    1:1:java.util.List getVersionRequirements():109:109 -> q
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():161:161 -> r
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor -> com.android.tools.r8.internal.Bx:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor -> com.android.tools.r8.internal.Cx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):57:57 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):57:57 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor.getDelegate():59:59 -> e
    1:1:void visitEnd():170 -> e
    2:2:void visitEnd():170:170 -> e
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier -> com.android.tools.r8.internal.Ex:
# {"id":"sourceFile","fileName":"nodes.kt"}
    1:1:void <init>():972:972 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier$Class -> com.android.tools.r8.internal.Dx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.lang.String name -> a
    1:1:void <init>(java.lang.String):978:978 -> <init>
    1:1:java.lang.String getName():978:978 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier$TypeAlias -> com.android.tools.r8.internal.Ex$a:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.lang.String name -> a
    1:1:void <init>(java.lang.String):993:993 -> <init>
    1:1:java.lang.String getName():993:993 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier$TypeParameter -> com.android.tools.r8.internal.Ex$b:
# {"id":"sourceFile","fileName":"nodes.kt"}
    int id -> a
    1:1:void <init>(int):985:985 -> <init>
    1:1:int getId():985:985 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstantValue -> com.android.tools.r8.internal.Fx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.lang.Object value -> a
    1:1:void <init>(java.lang.Object):1042:1042 -> <init>
    1:1:java.lang.Object getValue():1042:1042 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor -> com.android.tools.r8.internal.Gx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List extensions -> e
    java.util.List versionRequirements -> d
    java.util.List valueParameters -> c
    int flags -> b
    1:745:void <init>(int):307:1051 -> <init>
    746:746:void <init>(int):319:319 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):322:322 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):328:328 -> a
    3:721:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor):336:336 -> a
    722:1442:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor):337:337 -> a
    1443:2164:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor):338:338 -> a
    2165:2165:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmConstructorExtensionVisitor.getType():260:260 -> a
    2165:2165:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor):338 -> a
    2166:2167:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor):338:339 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():325:325 -> b
    1:1:int getFlags():307:307 -> c
    1:1:java.util.List getValueParameters():311:311 -> d
    1:1:java.util.List getVersionRequirements():316:316 -> e
com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor -> com.android.tools.r8.internal.Ix:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor -> com.android.tools.r8.internal.Jx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):263:263 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor):263:263 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String) -> a
    1:1:void visitEnd():291:291 -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement() -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract -> com.android.tools.r8.internal.Kx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List effects -> b
    1:5:void <init>():832:836 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor visitEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):839:839 -> a
    2:205:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor):847:847 -> a
    206:206:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor):848:848 -> a
    1:1:java.util.List getEffects():836:836 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor -> com.android.tools.r8.internal.Lx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):732:732 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor):732:732 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor visitEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):741:741 -> a
    2:2:void visitEnd():747:747 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer -> com.android.tools.r8.internal.Mx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List getFunctions() -> a
    java.util.List getProperties() -> b
    java.util.List getTypeAliases() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor -> com.android.tools.r8.internal.Nx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor):11:11 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String) -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor getDelegate():11:11 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect -> com.android.tools.r8.internal.Ox:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List constructorArguments -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind invocationKind -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression conclusion -> e
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):865:865 -> <init>
    2:9:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):863:870 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConclusionOfConditionalEffect():881:881 -> a
    2:164:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor):889:889 -> a
    165:166:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor):890:891 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConstructorArgument():878:878 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression getConclusion():875:875 -> d
    1:1:java.util.List getConstructorArguments():870:870 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind getInvocationKind():864:864 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType getType():863:863 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression -> com.android.tools.r8.internal.Px:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.lang.Integer parameterIndex -> c
    java.util.List andArguments -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstantValue constantValue -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType isInstanceType -> e
    java.util.List orArguments -> g
    int flags -> b
    1:33:void <init>():901:933 -> <init>
    1:2:void visit(int,java.lang.Integer):936:937 -> a
    3:3:void visitConstantValue(java.lang.Object):941:941 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitIsInstanceType(int):945:945 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitAndArgument():948:948 -> a
    6:97:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor):959:1050 -> a
    98:188:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor):962:1052 -> a
    189:190:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor):963:964 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitOrArgument():951:951 -> c
    1:1:java.util.List getAndArguments():927:927 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstantValue getConstantValue():916:916 -> e
    1:1:int getFlags():905:905 -> f
    1:1:java.util.List getOrArguments():933:933 -> g
    1:1:java.lang.Integer getParameterIndex():911:911 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType isInstanceType():921:921 -> i
com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor -> com.android.tools.r8.internal.Qx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):791:791 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor):791:791 -> <init>
    void visit(int,java.lang.Integer) -> a
    void visitConstantValue(java.lang.Object) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitIsInstanceType(int):818:818 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitAndArgument():825:825 -> a
    1:1:void visitEnd():838:838 -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitOrArgument() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind -> com.android.tools.r8.internal.Rx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind AT_MOST_ONCE -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind AT_LEAST_ONCE -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind EXACTLY_ONCE -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind[] $VALUES -> e
    1:3:void <clinit>():882:884 -> <clinit>
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind[] com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind.$values():0:0 -> <clinit>
    4:4:void <clinit>():884 -> <clinit>
    5:5:void <clinit>():884:884 -> <clinit>
    1:1:void <init>(java.lang.String,int):881:881 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind[] values() -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType -> com.android.tools.r8.internal.Sx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType RETURNS_CONSTANT -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType RETURNS_NOT_NULL -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType[] $VALUES -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType CALLS -> c
    1:3:void <clinit>():870:872 -> <clinit>
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType[] com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType.$values():0:0 -> <clinit>
    4:4:void <clinit>():872 -> <clinit>
    5:5:void <clinit>():872:872 -> <clinit>
    1:1:void <init>(java.lang.String,int):869:869 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType[] values() -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor -> com.android.tools.r8.internal.Tx:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):760:760 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor):760:760 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConclusionOfConditionalEffect():773:773 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConstructorArgument():766:766 -> b
    1:1:void visitEnd():779:779 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType -> com.android.tools.r8.internal.Vx:
# {"id":"sourceFile","fileName":"extensions.kt"}
    com.android.tools.r8.jetbrains.kotlin.reflect.KClass klass -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):31:31 -> <init>
    1:1:boolean equals(java.lang.Object):33:33 -> equals
    1:1:int hashCode():36:36 -> hashCode
    2:2:int com.android.tools.r8.jetbrains.kotlin.jvm.internal.ClassReference.hashCode():94:94 -> hashCode
    2:2:int hashCode():36 -> hashCode
    1:1:java.lang.String toString():39:39 -> toString
    2:30:java.lang.Class com.android.tools.r8.jetbrains.kotlin.jvm.JvmClassMappingKt.getJavaClass(com.android.tools.r8.jetbrains.kotlin.reflect.KClass):0:28 -> toString
    2:30:java.lang.String toString():39 -> toString
    31:31:java.lang.String toString():39:39 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor -> com.android.tools.r8.internal.Wx:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound -> com.android.tools.r8.internal.Xx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType type -> a
    java.lang.String typeFlexibilityId -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):1021:1021 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getType():1021:1021 -> a
    1:1:java.lang.String getTypeFlexibilityId():1021:1021 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction -> com.android.tools.r8.internal.Yx:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List valueParameters -> f
    java.util.List typeParameters -> d
    java.util.List extensions -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType returnType -> g
    java.util.List versionRequirements -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType receiverParameterType -> e
    int flags -> b
    java.lang.String name -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract contract -> i
    1:1:void <init>(int,java.lang.String):352:352 -> <init>
    2:703:void <init>(int,java.lang.String):350:1051 -> <init>
    704:704:void <init>(int,java.lang.String):384:384 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):387:387 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):390:390 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):393:393 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor visitContract():402:402 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):405:405 -> a
    6:648:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):413:413 -> a
    649:1291:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):414:1056 -> a
    1292:1935:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):415:1058 -> a
    1936:2579:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):417:1060 -> a
    2580:2580:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):419:419 -> a
    2581:2581:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor.getType():126:126 -> a
    2581:2581:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):419 -> a
    2582:2583:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):419:420 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):396:396 -> b
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction.setReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):371:371 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):396 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():399:399 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract getContract():381:381 -> d
    1:1:int getFlags():350:350 -> e
    1:1:java.lang.String getName():351:351 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getReceiverParameterType():361:361 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getReturnType():371:371 -> h
    1:1:java.util.List getTypeParameters():356:356 -> i
    1:1:java.util.List getValueParameters():366:366 -> j
    1:1:java.util.List getVersionRequirements():376:376 -> k
com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor -> com.android.tools.r8.internal.ay:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor -> com.android.tools.r8.internal.by:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):301:301 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor):301:301 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):312:312 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):320:320 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):329:329 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor visitContract():349:349 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):357:357 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):337:337 -> b
    2:2:void visitEnd():363:363 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():343:343 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda -> com.android.tools.r8.internal.cy:
# {"id":"sourceFile","fileName":"nodes.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction function -> b
    1:1:void <init>():282:282 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):289:289 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.setFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):286:286 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):289 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor -> com.android.tools.r8.internal.dy:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):240:240 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):240:240 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):248:248 -> a
    2:2:void visitEnd():254:254 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage -> com.android.tools.r8.internal.ey:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List functions -> b
    java.util.List extensions -> e
    java.util.List typeAliases -> d
    java.util.List properties -> c
    1:858:void <init>():194:1051 -> <init>
    859:859:void <init>():211:211 -> <init>
    1:1:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage.getFunctions():198:198 -> a
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):231 -> a
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):1053:1053 -> a
    3:3:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):231:231 -> a
    4:4:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage.getProperties():203:203 -> a
    4:4:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):232 -> a
    5:5:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):1056:1056 -> a
    6:6:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):232:232 -> a
    7:7:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage.getTypeAliases():208:208 -> a
    7:7:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):233 -> a
    8:8:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):1058:1058 -> a
    9:836:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):233:1060 -> a
    837:837:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):234:234 -> a
    838:838:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor.getType():99:99 -> a
    838:838:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):234 -> a
    839:840:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):234:235 -> a
    841:841:java.util.List getFunctions():198:198 -> a
    842:842:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):214:214 -> a
    843:843:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage.getFunctions():198:198 -> a
    843:843:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):214 -> a
    844:844:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):214:214 -> a
    845:845:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):217:217 -> a
    846:846:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage.getProperties():203:203 -> a
    846:846:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):217 -> a
    847:847:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):217:217 -> a
    848:848:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):223:223 -> a
    1:1:java.util.List getProperties():203:203 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):220:220 -> b
    3:3:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage.getTypeAliases():208:208 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):220 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):220:220 -> b
    1:1:java.util.List getTypeAliases():208:208 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor -> com.android.tools.r8.internal.gy:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor -> com.android.tools.r8.internal.hy:
# {"id":"sourceFile","fileName":"visitors.kt"}
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):179:179 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):179:179 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor.getDelegate():181:181 -> e
    1:1:void visitEnd():195 -> e
    2:2:void visitEnd():195:195 -> e
com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty -> com.android.tools.r8.internal.iy:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List typeParameters -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter setterParameter -> h
    java.util.List versionRequirements -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType receiverParameterType -> g
    int getterFlags -> d
    int setterFlags -> e
    int flags -> b
    java.lang.String name -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType returnType -> i
    java.util.List extensions -> k
    1:1:void <init>(int,java.lang.String,int,int):439:439 -> <init>
    2:618:void <init>(int,java.lang.String,int,int):435:1051 -> <init>
    619:619:void <init>(int,java.lang.String,int,int):466:466 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):469:469 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):472:472 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitSetterParameter(int,java.lang.String):475:475 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):484:484 -> a
    5:568:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):492:492 -> a
    569:1132:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):493:1056 -> a
    1133:1695:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):496:1058 -> a
    1696:1696:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):497:497 -> a
    1697:1697:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor.getType():172:172 -> a
    1697:1697:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):497 -> a
    1698:1699:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):497:498 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):478:478 -> b
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty.setReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):458:458 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):478 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():481:481 -> b
    1:1:int getFlags():435:435 -> c
    1:1:int getGetterFlags():437:437 -> d
    1:1:java.lang.String getName():436:436 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getReceiverParameterType():448:448 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getReturnType():458:458 -> g
    1:1:int getSetterFlags():438:438 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter getSetterParameter():453:453 -> i
    1:1:java.util.List getTypeParameters():443:443 -> j
    1:1:java.util.List getVersionRequirements():463:463 -> k
com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor -> com.android.tools.r8.internal.ky:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor -> com.android.tools.r8.internal.ly:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):373:373 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor):373:373 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):384:384 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):392:392 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitSetterParameter(int,java.lang.String):401:401 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):423:423 -> a
    5:5:void visitEnd():429:429 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):409:409 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():415:415 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.KmType -> com.android.tools.r8.internal.my:
# {"id":"sourceFile","fileName":"nodes.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound flexibleTypeUpperBound -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier classifier -> c
    java.util.List arguments -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType outerType -> f
    java.util.List extensions -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType abbreviatedType -> e
    int flags -> b
    1:384:void <init>(int):668:1051 -> <init>
    385:385:void <init>(int):710:710 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):668:668 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier com.android.tools.r8.jetbrains.kotlinx.metadata.KmType.getClassifier():672:672 -> a
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):749 -> a
    3:307:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):750:1054 -> a
    308:313:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):755:760 -> a
    314:314:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):759:759 -> a
    315:315:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    315:315:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):759 -> a
    316:613:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):759:1056 -> a
    614:614:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):766:766 -> a
    615:615:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor.getType():327:327 -> a
    615:615:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):766 -> a
    616:617:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):766:767 -> a
    618:618:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier com.android.tools.r8.jetbrains.kotlinx.metadata.KmType.getClassifier():672:672 -> a
    618:618:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):749 -> a
    619:619:void visitClass(java.lang.String):713:713 -> a
    620:620:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmType.setClassifier(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier):672:672 -> a
    620:620:void visitClass(java.lang.String):713 -> a
    621:621:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitArgument(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):725:725 -> a
    622:622:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitAbbreviatedType(int):732:732 -> a
    623:623:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitFlexibleTypeUpperBound(int,java.lang.String):738:738 -> a
    1:1:void visitTypeAlias(java.lang.String):717:717 -> b
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmType.setClassifier(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier):672:672 -> b
    2:2:void visitTypeAlias(java.lang.String):717 -> b
    3:3:void visitStarProjection():728:728 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitOuterType(int):735:735 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeExtension visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):741:741 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getAbbreviatedType():688:688 -> c
    2:2:void visitTypeParameter(int):721:721 -> c
    3:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmType.setClassifier(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier):672:672 -> c
    3:3:void visitTypeParameter(int):721 -> c
    1:1:java.util.List getArguments():677:677 -> d
    1:1:int getFlags():668:668 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound getFlexibleTypeUpperBound():707:707 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getOuterType():700:700 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias -> com.android.tools.r8.internal.ny:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List typeParameters -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType expandedType -> f
    java.util.List extensions -> i
    java.util.List versionRequirements -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType underlyingType -> e
    java.util.List annotations -> g
    int flags -> b
    java.lang.String name -> c
    1:1:void <init>(int,java.lang.String):511:511 -> <init>
    2:551:void <init>(int,java.lang.String):509:1058 -> <init>
    552:552:void <init>(int,java.lang.String):1057:1057 -> <init>
    553:553:void <init>(int,java.lang.String):539:539 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):542:542 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitExpandedType(int):548:548 -> a
    3:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.setExpandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):526:526 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitExpandedType(int):548 -> a
    4:4:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):551:551 -> a
    5:503:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):566:566 -> a
    504:504:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getUnderlyingType():520:520 -> a
    504:504:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):567 -> a
    505:505:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):567:567 -> a
    506:506:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getUnderlyingType():520:520 -> a
    506:506:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):567 -> a
    507:507:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):567:567 -> a
    508:508:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getUnderlyingType():520:520 -> a
    508:508:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):567 -> a
    509:509:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getExpandedType():526:526 -> a
    509:509:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):568 -> a
    510:510:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):568:568 -> a
    511:511:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getExpandedType():526:526 -> a
    511:511:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):568 -> a
    512:512:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):568:568 -> a
    513:513:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getExpandedType():526:526 -> a
    513:513:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):568 -> a
    514:1011:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):569:569 -> a
    1012:1510:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):570:570 -> a
    1511:2009:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):571:1069 -> a
    2010:2507:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):572:1069 -> a
    2508:2508:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):571:571 -> a
    2509:2509:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getExpandedType():526:526 -> a
    2509:2509:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):568 -> a
    2510:2510:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.getUnderlyingType():520:520 -> a
    2510:2510:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):567 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUnderlyingType(int):545:545 -> b
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias.setUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):520:520 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUnderlyingType(int):545 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():558:558 -> b
    1:1:java.util.List getAnnotations():531:531 -> c
    1:1:int getFlags():509:509 -> d
    1:1:java.lang.String getName():510:510 -> e
    1:1:java.util.List getTypeParameters():515:515 -> f
    1:1:java.util.List getVersionRequirements():536:536 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor -> com.android.tools.r8.internal.py:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):439:439 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor):439:439 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):450:450 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitExpandedType(int):467:467 -> a
    3:3:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):475:475 -> a
    4:4:void visitEnd():496:496 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUnderlyingType(int):458:458 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():482:482 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor -> com.android.tools.r8.internal.ry:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter -> com.android.tools.r8.internal.sy:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List upperBounds -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> e
    int id -> d
    java.util.List extensions -> g
    int flags -> b
    java.lang.String name -> c
    1:1:void <init>(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):636:636 -> <init>
    2:421:void <init>(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):632:1051 -> <init>
    422:422:void <init>(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):643:643 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUpperBound(int):646:646 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):649:649 -> a
    3:400:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor):657:657 -> a
    401:800:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor):658:658 -> a
    801:801:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor.getType():291:291 -> a
    801:801:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor):658 -> a
    802:803:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor):658:659 -> a
    1:1:int getFlags():632:632 -> b
    1:1:int getId():634:634 -> c
    1:1:java.lang.String getName():633:633 -> d
    1:1:java.util.List getUpperBounds():640:640 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance getVariance():635:635 -> f
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor -> com.android.tools.r8.internal.uy:
# {"id":"sourceFile","fileName":"extensions.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor -> com.android.tools.r8.internal.vy:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):544:544 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor):544:544 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUpperBound(int):551:551 -> a
    2:2:void visitEnd():565:565 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection -> com.android.tools.r8.internal.wy:
# {"id":"sourceFile","fileName":"nodes.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection STAR -> c
    1:1:void <clinit>():1010:1010 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):1003:1003 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance component1() -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType component2() -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getType():1003:1003 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance getVariance():1003:1003 -> d
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3,"2":4,"3":5}}
    3:3:java.lang.String toString():0:0 -> toString
    4:4:java.lang.String toString():0:0 -> toString
    5:5:java.lang.String toString():0:0 -> toString
    2:2:java.lang.String toString():0:0 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor -> com.android.tools.r8.internal.xy:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):580:580 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor):580:580 -> <init>
    1:1:void visitClass(java.lang.String):587:587 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitArgument(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):617:617 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitAbbreviatedType(int):639:639 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitFlexibleTypeUpperBound(int,java.lang.String):665:665 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):673:673 -> a
    6:6:void visitEnd():679:679 -> a
    1:1:void visitTypeAlias(java.lang.String):597:597 -> b
    2:2:void visitStarProjection():624:624 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitOuterType(int):654:654 -> b
    1:1:void visitTypeParameter(int):606:606 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter -> com.android.tools.r8.internal.yy:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.util.List extensions -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType type -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmType varargElementType -> e
    int flags -> b
    java.lang.String name -> c
    1:1:void <init>(int,java.lang.String):585:585 -> <init>
    2:477:void <init>(int,java.lang.String):583:1058 -> <init>
    478:478:void <init>(int,java.lang.String):1057:1057 -> <init>
    479:479:void <init>(int,java.lang.String):598:598 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitType(int):601:601 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter.setType(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):590:590 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitType(int):601 -> a
    3:451:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor):615:1063 -> a
    452:897:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor):618:1063 -> a
    898:898:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor):617:617 -> a
    1:1:int getFlags():583:583 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitVarargElementType(int):604:604 -> b
    1:1:java.lang.String getName():584:584 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getType():590:590 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmType getVarargElementType():595:595 -> e
com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor -> com.android.tools.r8.internal.Ay:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):506:506 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor):506:506 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitType(int):513:513 -> a
    2:2:void visitEnd():535:535 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitVarargElementType(int):521:521 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance -> com.android.tools.r8.internal.By:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance INVARIANT -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance OUT -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance IN -> c
    1:11:void <clinit>():850:860 -> <clinit>
    1:1:void <init>(java.lang.String,int):846:846 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion -> com.android.tools.r8.internal.Cy:
# {"id":"sourceFile","fileName":"nodes.kt"}
    int minor -> b
    int patch -> c
    int major -> a
    1:1:void <init>(int,int,int):1030:1030 -> <init>
    1:1:int getMajor():1030:1030 -> a
    1:1:int getMinor():1030:1030 -> b
    1:1:int getPatch():1030:1030 -> c
    1:1:java.lang.String toString():1031:1031 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement -> com.android.tools.r8.internal.Dy:
# {"id":"sourceFile","fileName":"nodes.kt"}
    java.lang.Integer errorCode -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel level -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind kind -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion version -> f
    java.lang.String message -> e
    1:1:void <init>():777:777 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getKind():781:781 -> a
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):820 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getLevel():786:786 -> a
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):820 -> a
    3:3:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):820:820 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():801:801 -> a
    4:4:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821 -> a
    5:5:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821:821 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():801:801 -> a
    6:6:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821 -> a
    7:7:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821:821 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():801:801 -> a
    8:8:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821 -> a
    9:10:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821:822 -> a
    11:13:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():801:801 -> a
    11:13:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):821 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getLevel():786:786 -> a
    14:14:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):820 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getKind():781:781 -> a
    15:15:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):820 -> a
    16:16:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.setKind(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind):781:781 -> a
    16:16:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):804 -> a
    17:17:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.setLevel(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel):786:786 -> a
    17:17:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):805 -> a
    18:19:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):806:807 -> a
    20:20:void visitVersion(int,int,int):811:811 -> a
    21:21:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.setVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion):801:801 -> a
    21:21:void visitVersion(int,int,int):811 -> a
    1:1:java.lang.Integer getErrorCode():791:791 -> b
    1:1:java.lang.String getMessage():796:796 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel -> com.android.tools.r8.internal.Ey:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel HIDDEN -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel ERROR -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel WARNING -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel[] $VALUES -> e
    1:3:void <clinit>():891:893 -> <clinit>
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel[] com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel.$values():0:0 -> <clinit>
    4:4:void <clinit>():893 -> <clinit>
    5:5:void <clinit>():893:893 -> <clinit>
    1:1:void <init>(java.lang.String,int):890:890 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind -> com.android.tools.r8.internal.Fy:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind COMPILER_VERSION -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind API_VERSION -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind LANGUAGE_VERSION -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind[] $VALUES -> e
    1:3:void <clinit>():900:902 -> <clinit>
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind[] com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind.$values():0:0 -> <clinit>
    4:4:void <clinit>():902 -> <clinit>
    5:5:void <clinit>():902:902 -> <clinit>
    1:1:void <init>(java.lang.String,int):899:899 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor -> com.android.tools.r8.internal.Gy:
# {"id":"sourceFile","fileName":"visitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor delegate -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):691:691 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):691:691 -> <init>
    void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String) -> a
    void visitVersion(int,int,int) -> a
    1:1:void visitEnd():720:720 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.NodesKt -> com.android.tools.r8.internal.sH:
# {"id":"sourceFile","fileName":"nodes.kt"}
    1:1:java.lang.Object addTo(java.lang.Object,java.util.Collection):1045:1045 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter -> com.android.tools.r8.internal.jb:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder t -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):413:413 -> <init>
    2:4:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List):413:415 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):425:425 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):36:36 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):425 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor visitConstructor(int):431:431 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):129:129 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor visitConstructor(int):431 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):434:434 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):152:152 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):434 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):437:437 -> a
    8:8:void visitCompanionObject(java.lang.String):443:443 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):471:471 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):440:440 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):253:253 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):440 -> b
    3:5:void visitEnumEntry(java.lang.String):451:451 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitInlineClassUnderlyingType(int):465:465 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitInlineClassUnderlyingType(int):465 -> b
    1:4:void visit(int,java.lang.String):418:421 -> c
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitSupertype(int):428:428 -> c
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> c
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> c
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitSupertype(int):428 -> c
    7:7:void visitInlineClassUnderlyingPropertyName(java.lang.String):461:461 -> c
    1:1:void visitNestedClass(java.lang.String):447:447 -> d
    1:1:void visitSealedSubclass(java.lang.String):457:457 -> e
    2:3:void visitEnd():476:477 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext getC():415:415 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder getT():414:414 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():468:468 -> h
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):288:288 -> h
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> h
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():468 -> h
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitConstructor$1 -> com.android.tools.r8.internal.Za:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):431:431 -> a
    2:433:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitConstructor$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):0:431 -> a
    2:433:java.lang.Object invoke(java.lang.Object):431 -> a
    434:434:java.lang.Object invoke(java.lang.Object):431:431 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitExtensions$1 -> com.android.tools.r8.internal.ab:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> c
    1:1:java.lang.Object invoke(java.lang.Object):471:471 -> a
    2:474:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:472 -> a
    2:474:java.lang.Object invoke(java.lang.Object):471 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitFunction$1 -> com.android.tools.r8.internal.bb:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):434:434 -> a
    2:436:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitFunction$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):0:434 -> a
    2:436:java.lang.Object invoke(java.lang.Object):434 -> a
    437:437:java.lang.Object invoke(java.lang.Object):434:434 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitInlineClassUnderlyingType$1 -> com.android.tools.r8.internal.cb:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):465:465 -> a
    2:467:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitInlineClassUnderlyingType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:465 -> a
    2:467:java.lang.Object invoke(java.lang.Object):465 -> a
    468:468:java.lang.Object invoke(java.lang.Object):465:465 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitProperty$1 -> com.android.tools.r8.internal.db:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):437:437 -> a
    2:439:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):0:437 -> a
    2:439:java.lang.Object invoke(java.lang.Object):437 -> a
    440:440:java.lang.Object invoke(java.lang.Object):437:437 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitSupertype$1 -> com.android.tools.r8.internal.eb:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):428:428 -> a
    2:430:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitSupertype$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:428 -> a
    2:430:java.lang.Object invoke(java.lang.Object):428 -> a
    431:431:java.lang.Object invoke(java.lang.Object):428:428 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeAlias$1 -> com.android.tools.r8.internal.fb:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):440:440 -> a
    2:442:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeAlias$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):0:440 -> a
    2:442:java.lang.Object invoke(java.lang.Object):440 -> a
    443:443:java.lang.Object invoke(java.lang.Object):440:440 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeParameter$1 -> com.android.tools.r8.internal.gb:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):425:425 -> a
    2:427:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitTypeParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):0:425 -> a
    2:427:java.lang.Object invoke(java.lang.Object):425 -> a
    428:428:java.lang.Object invoke(java.lang.Object):425:425 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitVersionRequirement$1 -> com.android.tools.r8.internal.hb:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):468:468 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ClassWriter$visitVersionRequirement$1.invoke(int):468:468 -> a
    2:2:java.lang.Object invoke(java.lang.Object):468 -> a
    3:3:java.lang.Object invoke(java.lang.Object):468:468 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter -> com.android.tools.r8.internal.RA:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder t -> b
    1:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):532:534 -> <init>
    1:1:void setT(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):533:533 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):537:537 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):152:152 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):537 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext getC():534:534 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder getT():533:533 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter$visitFunction$1 -> com.android.tools.r8.internal.QA:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):537:537 -> a
    2:539:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.LambdaWriter$visitFunction$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):0:537 -> a
    2:539:java.lang.Object invoke(java.lang.Object):537 -> a
    540:540:java.lang.Object invoke(java.lang.Object):537:537 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter -> com.android.tools.r8.internal.yL:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder t -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):482:482 -> <init>
    2:4:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List):482:484 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):487:487 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):152:152 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor visitFunction(int,java.lang.String):487 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitProperty(int,java.lang.String,int,int):490:490 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):496:496 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):493:493 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):253:253 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor visitTypeAlias(int,java.lang.String):493 -> b
    1:2:void visitEnd():501:502 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext getC():484:484 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder getT():483:483 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitExtensions$1 -> com.android.tools.r8.internal.uL:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter this$0 -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    1:1:java.lang.Object invoke(java.lang.Object):496:496 -> a
    2:499:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:497 -> a
    2:499:java.lang.Object invoke(java.lang.Object):496 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitFunction$1 -> com.android.tools.r8.internal.vL:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):487:487 -> a
    2:489:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitFunction$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):0:487 -> a
    2:489:java.lang.Object invoke(java.lang.Object):487 -> a
    490:490:java.lang.Object invoke(java.lang.Object):487:487 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitProperty$1 -> com.android.tools.r8.internal.wL:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):490:490 -> a
    2:492:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):0:490 -> a
    2:492:java.lang.Object invoke(java.lang.Object):490 -> a
    493:493:java.lang.Object invoke(java.lang.Object):490:490 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitTypeAlias$1 -> com.android.tools.r8.internal.xL:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):493:493 -> a
    2:495:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.PackageWriter$visitTypeAlias$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):0:493 -> a
    2:495:java.lang.Object invoke(java.lang.Object):493 -> a
    496:496:java.lang.Object invoke(java.lang.Object):493:493 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext -> com.android.tools.r8.internal.TP:
# {"id":"sourceFile","fileName":"readers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable types -> b
    java.util.List contextExtensions -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver strings -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable versionRequirements -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext parent -> d
    java.util.List extensions -> g
    java.util.Map typeParameterNameToId -> f
    1:10:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext,java.util.List):21:30 -> <init>
    11:11:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext,java.util.List,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):26:26 -> <init>
    12:12:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext,java.util.List,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):21:21 -> <init>
    1:1:java.util.List getExtensions$kotlinx_metadata():30:30 -> a
    2:2:java.lang.String className(int):36:36 -> a
    3:61:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadUtilsKt.getClassName(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,int):0:58 -> a
    3:61:java.lang.String className(int):36 -> a
    62:64:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext withTypeParameters(java.util.List):42:44 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver getStrings():22:22 -> b
    2:2:java.lang.String get(int):33:33 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable getTypes():23:23 -> c
    2:2:java.lang.Integer getTypeParameterId(int):39:39 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable getVersionRequirements$kotlinx_metadata():24:24 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadUtilsKt -> com.android.tools.r8.internal.VP:
# {"id":"sourceFile","fileName":"readUtils.kt"}
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):18:18 -> a
    2:3:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadUtilsKt.getClassName(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,int):57:58 -> a
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):18 -> a
    4:55:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):19:70 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):69:69 -> a
    57:58:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):20:21 -> a
    59:59:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlin.TuplesKt.to(java.lang.Object,java.lang.Object):43:43 -> a
    59:59:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):21 -> a
    60:60:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):69:69 -> a
    61:61:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):23:23 -> a
    62:62:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation readAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):17:17 -> a
    63:68:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):28:33 -> a
    69:69:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":217,"2":218,"3":219}}
    217:217:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):34:34 -> a
    218:218:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):34:34 -> a
    219:219:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):34:34 -> a
    103:103:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):34:34 -> a
    104:104:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):33:33 -> a
    105:105:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):32:32 -> a
    106:106:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):31:31 -> a
    107:129:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):30:52 -> a
    130:162:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):51:83 -> a
    163:163:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):82:82 -> a
    164:196:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):51:51 -> a
    197:197:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):50:50 -> a
    198:198:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):49:49 -> a
    199:200:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadUtilsKt.getClassName(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,int):57:58 -> a
    199:200:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):49 -> a
    201:201:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):49:49 -> a
    202:202:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):48:48 -> a
    203:204:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadUtilsKt.getClassName(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,int):57:58 -> a
    203:204:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):48 -> a
    205:205:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):48:48 -> a
    206:206:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):47:47 -> a
    207:207:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):46:46 -> a
    208:208:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):45:45 -> a
    209:209:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):44:44 -> a
    210:213:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):40:43 -> a
    214:214:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):42:42 -> a
    215:215:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):41:41 -> a
    216:216:com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument readAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):39:39 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadUtilsKt$WhenMappings -> com.android.tools.r8.internal.UP:
# {"id":"sourceFile","fileName":"readUtils.kt"}
    int[] $EnumSwitchMapping$0 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt -> com.android.tools.r8.internal.WP:
# {"id":"sourceFile","fileName":"readers.kt"}
    1:1:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):52:52 -> a
    2:59:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):0:57 -> a
    2:59:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    60:60:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.create(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):18:18 -> a
    60:60:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):57 -> a
    60:60:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    61:61:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.getEMPTY():15:15 -> a
    61:61:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.create(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):18 -> a
    61:61:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):57 -> a
    61:61:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    62:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.create(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):18:18 -> a
    62:64:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):57 -> a
    62:64:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    65:526:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):54:515 -> a
    65:526:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    527:527:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):514:514 -> a
    527:527:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    528:528:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):513:513 -> a
    528:528:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    529:529:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeParameterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):501:501 -> a
    529:529:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):518 -> a
    529:529:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    530:530:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):518:518 -> a
    530:530:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    531:985:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):64:518 -> a
    531:985:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    986:986:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):67:67 -> a
    986:986:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    987:1107:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.supertypes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:120 -> a
    987:1107:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):67 -> a
    987:1107:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1108:1108:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.supertypes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):24:24 -> a
    1108:1108:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):67 -> a
    1108:1108:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1109:1114:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):67:72 -> a
    1109:1114:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1115:1127:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):202:214 -> a
    1115:1127:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):72 -> a
    1115:1127:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1128:1142:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):75:89 -> a
    1128:1142:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1143:1143:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):87:87 -> a
    1143:1143:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1144:1144:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    1144:1144:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):87 -> a
    1144:1144:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1145:1155:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):87:97 -> a
    1145:1155:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1156:1156:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.loadInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):115:115 -> a
    1156:1156:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):99 -> a
    1156:1156:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1157:1185:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.inlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:28 -> a
    1157:1185:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.loadInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):115 -> a
    1157:1185:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):99 -> a
    1157:1185:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1186:1593:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.loadInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):118:525 -> a
    1186:1593:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):99 -> a
    1186:1593:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1594:1594:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.loadInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):122:122 -> a
    1594:1594:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):99 -> a
    1594:1594:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1595:1666:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.receiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:71 -> a
    1595:1666:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.loadInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):122 -> a
    1595:1666:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):99 -> a
    1595:1666:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1667:1668:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.loadInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):122:123 -> a
    1667:1668:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):99 -> a
    1667:1668:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1669:1670:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    1669:1670:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):100 -> a
    1669:1670:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1671:1682:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):100:111 -> a
    1671:1682:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):49 -> a
    1683:1683:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):129:129 -> a
    1684:1818:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):0:134 -> a
    1684:1818:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):126 -> a
    1819:1819:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.create(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):18:18 -> a
    1819:1819:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):134 -> a
    1819:1819:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):126 -> a
    1820:1820:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.getEMPTY():15:15 -> a
    1820:1820:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.create(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):18 -> a
    1820:1820:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):134 -> a
    1820:1820:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):126 -> a
    1821:1823:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.create(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):18:18 -> a
    1821:1823:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):134 -> a
    1821:1823:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):126 -> a
    1824:1837:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List):131:144 -> a
    1824:1837:void accept$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,java.util.List,int,java.lang.Object):126 -> a
    1838:1844:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):178:184 -> a
    1845:1851:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):183:189 -> a
    1852:2127:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):283:558 -> a
    1852:2127:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2128:2128:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):557:557 -> a
    2128:2128:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2129:2129:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):556:556 -> a
    2129:2129:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2130:2130:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeParameterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):501:501 -> a
    2130:2130:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):561 -> a
    2130:2130:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2131:2131:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):561:561 -> a
    2131:2131:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2132:2407:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):286:561 -> a
    2132:2407:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2408:2408:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):289:289 -> a
    2408:2408:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2409:2510:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.underlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:101 -> a
    2409:2510:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):289 -> a
    2409:2510:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2511:2514:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):290:293 -> a
    2511:2514:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2515:2622:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.expandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:107 -> a
    2515:2622:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):293 -> a
    2515:2622:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2623:2638:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):294:309 -> a
    2623:2638:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2639:2640:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.expandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):107:108 -> a
    2639:2640:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):293 -> a
    2639:2640:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2641:2642:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.underlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):101:102 -> a
    2641:2642:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):289 -> a
    2641:2642:void visitDeclarations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainerVisitor,java.util.List,java.util.List,java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):189 -> a
    2643:2643:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):194:194 -> a
    2644:2644:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable$Companion.getEMPTY():15:15 -> a
    2644:2644:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):194 -> a
    2645:2649:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):194:198 -> a
    2650:2970:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):218:538 -> a
    2971:2971:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):537:537 -> a
    2972:2972:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):536:536 -> a
    2973:2973:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeParameterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):501:501 -> a
    2973:2973:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):541 -> a
    2974:2974:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):541:541 -> a
    2975:3295:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):221:541 -> a
    3296:3296:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):224:224 -> a
    3297:3354:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.receiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:57 -> a
    3297:3354:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):224 -> a
    3355:3356:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    3355:3356:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):225 -> a
    3357:3364:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):225:232 -> a
    3365:3414:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.returnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:49 -> a
    3365:3414:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):232 -> a
    3415:3419:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):233:237 -> a
    3420:3426:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):432:438 -> a
    3420:3426:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3427:3427:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):437:437 -> a
    3427:3427:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3428:3436:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):436:444 -> a
    3428:3436:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3437:3437:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):443:443 -> a
    3437:3437:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3438:3443:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):442:447 -> a
    3438:3443:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3444:3452:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):454:462 -> a
    3444:3452:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):447 -> a
    3444:3452:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3453:3453:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):450:450 -> a
    3453:3453:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):237 -> a
    3454:3462:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):240:248 -> a
    3463:3464:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.returnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):49:50 -> a
    3463:3464:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):232 -> a
    3465:3761:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):252:548 -> a
    3762:3762:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):547:547 -> a
    3763:3763:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):546:546 -> a
    3764:3764:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeParameterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):501:501 -> a
    3764:3764:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):551 -> a
    3765:3765:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):551:551 -> a
    3766:4062:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):255:551 -> a
    4063:4063:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):258:258 -> a
    4064:4135:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.receiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:71 -> a
    4064:4135:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):258 -> a
    4136:4137:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    4136:4137:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):259 -> a
    4138:4158:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):259:279 -> a
    4159:4163:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):313:317 -> a
    4164:4247:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.varargElementType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:83 -> a
    4164:4247:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):317 -> a
    4248:4249:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    4248:4249:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):318 -> a
    4250:4257:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):318:325 -> a
    4258:4258:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):342:342 -> a
    4259:4383:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.upperBounds(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:124 -> a
    4259:4383:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):342 -> a
    4384:4384:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.upperBounds(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):45:45 -> a
    4384:4384:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):342 -> a
    4385:4393:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):342:350 -> a
    4394:4412:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):355:373 -> a
    4413:4413:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):372:372 -> a
    4414:4414:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):371:371 -> a
    4415:4422:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):370:377 -> a
    4423:4457:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.type(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:34 -> a
    4423:4457:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):377 -> a
    4458:4459:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    4458:4459:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):379 -> a
    4460:4460:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):379:379 -> a
    4461:4461:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):378:378 -> a
    4462:4462:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    4462:4462:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):378 -> a
    4463:4470:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):378:385 -> a
    4471:4566:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.abbreviatedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:95 -> a
    4471:4566:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):385 -> a
    4567:4568:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    4567:4568:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):386 -> a
    4569:4572:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):386:389 -> a
    4573:4662:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.outerType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:89 -> a
    4573:4662:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):389 -> a
    4663:4664:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    4663:4664:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):390 -> a
    4665:4668:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):390:393 -> a
    4669:4709:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.flexibleUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:40 -> a
    4669:4709:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):393 -> a
    4710:4711:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    4710:4711:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):395 -> a
    4712:4712:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):396:396 -> a
    4713:4723:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):394:404 -> a
    4724:4724:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360:360 -> a
    4725:4725:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5094,"2":5095,"3":5096}}
    5094:5094:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360:360 -> a
    5095:5095:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360:360 -> a
    5096:5096:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360:360 -> a
    5085:5085:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360:360 -> a
    5086:5086:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    5086:5086:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360 -> a
    5087:5091:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):360:364 -> a
    5092:5092:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    5092:5092:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):364 -> a
    5093:5093:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):364:364 -> a
    5097:5097:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408:408 -> a
    5098:5200:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Companion.create(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable):0:102 -> a
    5098:5200:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5201:5205:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version$Companion.decode(java.lang.Integer,java.lang.Integer):65:65 -> a
    5201:5205:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Companion.create(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable):100 -> a
    5201:5205:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5210:5214:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version$Companion.decode(java.lang.Integer,java.lang.Integer):70:70 -> a
    5210:5214:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Companion.create(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable):100 -> a
    5210:5214:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5219:5219:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version$Companion.decode(java.lang.Integer,java.lang.Integer):75:75 -> a
    5219:5219:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Companion.create(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable):100 -> a
    5219:5219:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5220:5230:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Companion.create(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable):105:115 -> a
    5220:5230:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):408 -> a
    5231:5234:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):411:414 -> a
    5235:5235:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):413:413 -> a
    5236:5244:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):412:420 -> a
    5245:5245:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):419:419 -> a
    5246:5256:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):418:428 -> a
    5257:5257:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):409:409 -> a
    5258:5258:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    5258:5258:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):409 -> a
    5259:5259:void acceptVersionRequirementVisitor(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):409:409 -> a
    5260:5261:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):467:468 -> a
    5262:5272:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):466:476 -> a
    5273:5273:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):475:475 -> a
    5274:5274:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):474:474 -> a
    5275:5284:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):472:481 -> a
    5285:5398:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.isInstanceType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:113 -> a
    5285:5398:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):481 -> a
    5399:5400:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    5399:5400:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):482 -> a
    5401:5412:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):482:493 -> a
    5413:5414:int getTypeFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):497:498 -> a
    5415:5415:int getPropertyGetterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):504:504 -> a
    5416:5416:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getDefaultPropertyAccessorFlags(int):510:510 -> a
    5416:5416:int getPropertyGetterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):504 -> a
    1:1:int getPropertySetterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):507:507 -> b
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadersKt.getDefaultPropertyAccessorFlags(int):510:510 -> b
    2:2:int getPropertySetterFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):507 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext -> com.android.tools.r8.internal.I20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable versionRequirements -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable strings -> a
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):22:22 -> <init>
    2:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.util.List):22:23 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable getStrings():22:22 -> a
    2:2:int get(java.lang.String):26:26 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable getVersionRequirements():23:23 -> b
    2:2:int getClassName(java.lang.String):29:29 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteUtilsKt -> com.android.tools.r8.internal.J20:
# {"id":"sourceFile","fileName":"writeUtils.kt"}
    1:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder writeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):17:22 -> a
    7:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3058:3059 -> a
    7:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder writeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):22 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder writeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):22:22 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder writeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):20:20 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3060 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder writeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):22 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3060:3060 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder writeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):22 -> a
    13:13:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.ClassNameKt.isLocal(java.lang.String):23:23 -> a
    13:13:int getClassNameIndex(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.lang.String):111 -> a
    14:16:int getClassNameIndex(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable,java.lang.String):112:114 -> a
    17:87:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):29:99 -> a
    88:89:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4369:4370 -> a
    88:89:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):99 -> a
    90:90:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):99:99 -> a
    91:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    91:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371 -> a
    91:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):99 -> a
    92:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371:4371 -> a
    92:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):99 -> a
    93:96:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder writeAnnotationArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.StringTable):101:104 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt -> com.android.tools.r8.internal.H30:
# {"id":"sourceFile","fileName":"writers.kt"}
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor writeProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):189:189 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1 -> com.android.tools.r8.internal.N20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder t -> b
    int $flags -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):129:130 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):133:133 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):227:227 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):133 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):139:139 -> a
    4:7:void visitEnd():144:147 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():136:136 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):288:288 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():136 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder getT():130:130 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitExtensions$1 -> com.android.tools.r8.internal.K20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1 this$0 -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:java.lang.Object invoke(java.lang.Object):139:139 -> a
    2:142:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:140 -> a
    2:142:java.lang.Object invoke(java.lang.Object):139 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1 -> com.android.tools.r8.internal.L20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):133:133 -> a
    2:135:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):0:133 -> a
    2:135:java.lang.Object invoke(java.lang.Object):133 -> a
    136:137:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18807:18808 -> a
    136:137:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):133 -> a
    136:137:java.lang.Object invoke(java.lang.Object):133 -> a
    138:138:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):133:133 -> a
    138:138:java.lang.Object invoke(java.lang.Object):133 -> a
    139:139:java.lang.Object invoke(java.lang.Object):133:133 -> a
    140:140:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    140:140:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809 -> a
    140:140:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):133 -> a
    140:140:java.lang.Object invoke(java.lang.Object):133 -> a
    141:141:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809:18809 -> a
    141:141:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):133 -> a
    141:141:java.lang.Object invoke(java.lang.Object):133 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.M20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):136:136 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeConstructor$1$visitVersionRequirement$1.invoke(int):136:136 -> a
    2:2:java.lang.Object invoke(java.lang.Object):136 -> a
    3:3:java.lang.Object invoke(java.lang.Object):136:136 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1 -> com.android.tools.r8.internal.P20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder t -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):337:338 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor visitEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):341:341 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):351:351 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor visitEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind):341 -> a
    3:3:void visitEnd():344:344 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder getT():338:338 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1$visitEffect$1 -> com.android.tools.r8.internal.O20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):341:341 -> a
    2:343:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeContract$1$visitEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):0:341 -> a
    2:343:java.lang.Object invoke(java.lang.Object):341 -> a
    344:344:java.lang.Object invoke(java.lang.Object):341:341 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1 -> com.android.tools.r8.internal.T20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder t -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType $type -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind $invocationKind -> e
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):351:352 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConclusionOfConditionalEffect():358:358 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):378:378 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConclusionOfConditionalEffect():358 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConstructorArgument():355:355 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):378:378 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitConstructorArgument():355 -> b
    1:4:void visitEnd():362:365 -> c
    5:5:void visitEnd():364:364 -> c
    6:14:void visitEnd():363:371 -> c
    15:15:void visitEnd():369:369 -> c
    16:21:void visitEnd():368:373 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder getT():352:352 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$WhenMappings -> com.android.tools.r8.internal.Q20:
# {"id":"sourceFile","fileName":"writers.kt"}
    int[] $EnumSwitchMapping$1 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1 -> com.android.tools.r8.internal.R20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):358:358 -> a
    2:360:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):0:358 -> a
    2:360:java.lang.Object invoke(java.lang.Object):358 -> a
    361:362:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25927:25928 -> a
    361:362:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):358 -> a
    361:362:java.lang.Object invoke(java.lang.Object):358 -> a
    363:363:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):358:358 -> a
    363:363:java.lang.Object invoke(java.lang.Object):358 -> a
    364:364:java.lang.Object invoke(java.lang.Object):358:358 -> a
    365:365:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    365:365:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929 -> a
    365:365:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):358 -> a
    365:365:java.lang.Object invoke(java.lang.Object):358 -> a
    366:366:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929:25929 -> a
    366:366:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConclusionOfConditionalEffect$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):358 -> a
    366:366:java.lang.Object invoke(java.lang.Object):358 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConstructorArgument$1 -> com.android.tools.r8.internal.S20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):355:355 -> a
    2:357:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffect$1$visitConstructorArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):0:355 -> a
    2:357:java.lang.Object invoke(java.lang.Object):355 -> a
    358:358:java.lang.Object invoke(java.lang.Object):355:355 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1 -> com.android.tools.r8.internal.X20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder t -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):378:379 -> <init>
    1:5:void visit(int,java.lang.Integer):382:386 -> a
    6:9:void visitConstantValue(java.lang.Object):392:395 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitIsInstanceType(int):400:400 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitIsInstanceType(int):400 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitAndArgument():403:403 -> a
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):378:378 -> a
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitAndArgument():403 -> a
    1:1:void visitEnd():409:409 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitOrArgument():406:406 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):378:378 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeEffectExpression(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpressionVisitor visitOrArgument():406 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder getT():379:379 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitAndArgument$1 -> com.android.tools.r8.internal.U20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):403:403 -> a
    2:405:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitAndArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):0:403 -> a
    2:405:java.lang.Object invoke(java.lang.Object):403 -> a
    406:406:java.lang.Object invoke(java.lang.Object):403:403 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitIsInstanceType$1 -> com.android.tools.r8.internal.V20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):400:400 -> a
    2:402:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitIsInstanceType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:400 -> a
    2:402:java.lang.Object invoke(java.lang.Object):400 -> a
    403:403:java.lang.Object invoke(java.lang.Object):400:400 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitOrArgument$1 -> com.android.tools.r8.internal.W20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):406:406 -> a
    2:408:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeEffectExpression$1$visitOrArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):0:406 -> a
    2:408:java.lang.Object invoke(java.lang.Object):406 -> a
    409:409:java.lang.Object invoke(java.lang.Object):406:406 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 -> com.android.tools.r8.internal.f30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder t -> b
    int $flags -> e
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    java.lang.String $name -> d
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,java.lang.String,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):152:153 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):156:156 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):36:36 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):156 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):159:159 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):159 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):162:162 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):227:227 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitValueParameter(int,java.lang.String):162 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor visitContract():171:171 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeContract(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):337:337 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeContract(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmContractVisitor visitContract():171 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):174:174 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):165:165 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):165 -> b
    3:7:void visitEnd():179:183 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():168:168 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):288:288 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():168 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder getT():153:153 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1 -> com.android.tools.r8.internal.Y20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):171:171 -> a
    2:173:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder):0:171 -> a
    2:173:java.lang.Object invoke(java.lang.Object):171 -> a
    174:175:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.build():23898:23899 -> a
    174:175:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder):171 -> a
    174:175:java.lang.Object invoke(java.lang.Object):171 -> a
    176:176:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder):171:171 -> a
    176:176:java.lang.Object invoke(java.lang.Object):171 -> a
    177:177:java.lang.Object invoke(java.lang.Object):171:171 -> a
    178:178:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    178:178:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.build():23900 -> a
    178:178:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder):171 -> a
    178:178:java.lang.Object invoke(java.lang.Object):171 -> a
    179:179:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.build():23900:23900 -> a
    179:179:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitContract$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder):171 -> a
    179:179:java.lang.Object invoke(java.lang.Object):171 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitExtensions$1 -> com.android.tools.r8.internal.Z20:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:java.lang.Object invoke(java.lang.Object):174:174 -> a
    2:177:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:175 -> a
    2:177:java.lang.Object invoke(java.lang.Object):174 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReceiverParameterType$1 -> com.android.tools.r8.internal.a30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):159:159 -> a
    2:161:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReceiverParameterType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:159 -> a
    2:161:java.lang.Object invoke(java.lang.Object):159 -> a
    162:162:java.lang.Object invoke(java.lang.Object):159:159 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReturnType$1 -> com.android.tools.r8.internal.b30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):165:165 -> a
    2:167:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitReturnType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:165 -> a
    2:167:java.lang.Object invoke(java.lang.Object):165 -> a
    168:168:java.lang.Object invoke(java.lang.Object):165:165 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitTypeParameter$1 -> com.android.tools.r8.internal.c30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):156:156 -> a
    2:158:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitTypeParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):0:156 -> a
    2:158:java.lang.Object invoke(java.lang.Object):156 -> a
    159:159:java.lang.Object invoke(java.lang.Object):156:156 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitValueParameter$1 -> com.android.tools.r8.internal.d30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):162:162 -> a
    2:164:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitValueParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):0:162 -> a
    2:164:java.lang.Object invoke(java.lang.Object):162 -> a
    165:165:java.lang.Object invoke(java.lang.Object):162:162 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.e30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):168:168 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeFunction$1$visitVersionRequirement$1.invoke(int):168:168 -> a
    2:2:java.lang.Object invoke(java.lang.Object):168 -> a
    3:3:java.lang.Object invoke(java.lang.Object):168:168 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 -> com.android.tools.r8.internal.m30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder t -> b
    int $getterFlags -> f
    int $setterFlags -> g
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> h
    int $flags -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    java.lang.String $name -> d
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,java.lang.String,int,int,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):189:190 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):193:193 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):36:36 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):193 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):196:196 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReceiverParameterType(int):196 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitSetterParameter(int,java.lang.String):199:199 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):227:227 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor visitSetterParameter(int,java.lang.String):199 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):208:208 -> a
    8:15:void visitEnd():213:220 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):202:202 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitReturnType(int):202 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():205:205 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):288:288 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():205 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder getT():190:190 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitExtensions$1 -> com.android.tools.r8.internal.g30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> c
    1:1:java.lang.Object invoke(java.lang.Object):208:208 -> a
    2:211:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:209 -> a
    2:211:java.lang.Object invoke(java.lang.Object):208 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReceiverParameterType$1 -> com.android.tools.r8.internal.h30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):196:196 -> a
    2:198:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReceiverParameterType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:196 -> a
    2:198:java.lang.Object invoke(java.lang.Object):196 -> a
    199:199:java.lang.Object invoke(java.lang.Object):196:196 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReturnType$1 -> com.android.tools.r8.internal.i30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):202:202 -> a
    2:204:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitReturnType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:202 -> a
    2:204:java.lang.Object invoke(java.lang.Object):202 -> a
    205:205:java.lang.Object invoke(java.lang.Object):202:202 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1 -> com.android.tools.r8.internal.j30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):199:199 -> a
    2:201:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):0:199 -> a
    2:201:java.lang.Object invoke(java.lang.Object):199 -> a
    202:203:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18807:18808 -> a
    202:203:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):199 -> a
    202:203:java.lang.Object invoke(java.lang.Object):199 -> a
    204:204:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):199:199 -> a
    204:204:java.lang.Object invoke(java.lang.Object):199 -> a
    205:205:java.lang.Object invoke(java.lang.Object):199:199 -> a
    206:206:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    206:206:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809 -> a
    206:206:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):199 -> a
    206:206:java.lang.Object invoke(java.lang.Object):199 -> a
    207:207:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809:18809 -> a
    207:207:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitSetterParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):199 -> a
    207:207:java.lang.Object invoke(java.lang.Object):199 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitTypeParameter$1 -> com.android.tools.r8.internal.k30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):193:193 -> a
    2:195:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitTypeParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):0:193 -> a
    2:195:java.lang.Object invoke(java.lang.Object):193 -> a
    196:196:java.lang.Object invoke(java.lang.Object):193:193 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.l30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):205:205 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeProperty$1$visitVersionRequirement$1.invoke(int):205:205 -> a
    2:2:java.lang.Object invoke(java.lang.Object):205 -> a
    3:3:java.lang.Object invoke(java.lang.Object):205:205 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 -> com.android.tools.r8.internal.s30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder t -> b
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> e
    int $flags -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:65 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder access$getT$p(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1):64:64 -> a
    2:2:void visitClass(java.lang.String):68:68 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitArgument(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):82:82 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitArgument(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):82 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitAbbreviatedType(int):98:98 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitAbbreviatedType(int):98 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitFlexibleTypeUpperBound(int,java.lang.String):104:104 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitFlexibleTypeUpperBound(int,java.lang.String):104 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):112:112 -> a
    10:17:void visitEnd():117:124 -> a
    1:1:void visitTypeAlias(java.lang.String):72:72 -> b
    2:4:void visitStarProjection():76:76 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitOuterType(int):101:101 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitOuterType(int):101 -> b
    1:1:void visitTypeParameter(int):94:94 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitAbbreviatedType$1 -> com.android.tools.r8.internal.n30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):98:98 -> a
    2:100:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitAbbreviatedType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:98 -> a
    2:100:java.lang.Object invoke(java.lang.Object):98 -> a
    101:101:java.lang.Object invoke(java.lang.Object):98:98 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitArgument$1 -> com.android.tools.r8.internal.o30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance $variance -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):82:82 -> a
    2:91:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:89 -> a
    2:91:java.lang.Object invoke(java.lang.Object):82 -> a
    92:92:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitArgument$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):83:83 -> a
    92:92:java.lang.Object invoke(java.lang.Object):82 -> a
    93:93:java.lang.Object invoke(java.lang.Object):82:82 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitExtensions$1 -> com.android.tools.r8.internal.p30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 this$0 -> c
    1:1:java.lang.Object invoke(java.lang.Object):112:112 -> a
    2:115:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:113 -> a
    2:115:java.lang.Object invoke(java.lang.Object):112 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitFlexibleTypeUpperBound$1 -> com.android.tools.r8.internal.q30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    java.lang.String $typeFlexibilityId -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 this$0 -> c
    1:1:java.lang.Object invoke(java.lang.Object):104:104 -> a
    2:110:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitFlexibleTypeUpperBound$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:108 -> a
    2:110:java.lang.Object invoke(java.lang.Object):104 -> a
    111:111:java.lang.Object invoke(java.lang.Object):104:104 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitOuterType$1 -> com.android.tools.r8.internal.r30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):101:101 -> a
    2:103:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeType$1$visitOuterType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:101 -> a
    2:103:java.lang.Object invoke(java.lang.Object):101 -> a
    104:104:java.lang.Object invoke(java.lang.Object):101:101 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 -> com.android.tools.r8.internal.x30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder t -> b
    int $flags -> d
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    java.lang.String $name -> e
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):253:254 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):257:257 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):36:36 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor visitTypeParameter(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance):257 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitExpandedType(int):263:263 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitExpandedType(int):263 -> a
    5:5:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):266:266 -> a
    6:10:void visitEnd():278:282 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUnderlyingType(int):260:260 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUnderlyingType(int):260 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():270:270 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):288:288 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeVersionRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor visitVersionRequirement():270 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder getT():254:254 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitExpandedType$1 -> com.android.tools.r8.internal.t30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):263:263 -> a
    2:265:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitExpandedType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:263 -> a
    2:265:java.lang.Object invoke(java.lang.Object):263 -> a
    266:266:java.lang.Object invoke(java.lang.Object):263:263 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitTypeParameter$1 -> com.android.tools.r8.internal.u30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):257:257 -> a
    2:259:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitTypeParameter$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):0:257 -> a
    2:259:java.lang.Object invoke(java.lang.Object):257 -> a
    260:260:java.lang.Object invoke(java.lang.Object):257:257 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitUnderlyingType$1 -> com.android.tools.r8.internal.v30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):260:260 -> a
    2:262:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitUnderlyingType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:260 -> a
    2:262:java.lang.Object invoke(java.lang.Object):260 -> a
    263:263:java.lang.Object invoke(java.lang.Object):260:260 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitVersionRequirement$1 -> com.android.tools.r8.internal.w30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):270:270 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeAlias$1$visitVersionRequirement$1.invoke(int):270:270 -> a
    2:2:java.lang.Object invoke(java.lang.Object):270 -> a
    3:3:java.lang.Object invoke(java.lang.Object):270:270 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1 -> com.android.tools.r8.internal.A30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder t -> b
    int $flags -> f
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> h
    int $id -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    java.lang.String $name -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance $variance -> g
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,java.lang.String,int,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):36:37 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder access$getT$p(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1):36:36 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUpperBound(int):40:40 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitUpperBound(int):40 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):43:43 -> a
    5:16:void visitEnd():48:59 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1$visitExtensions$1 -> com.android.tools.r8.internal.y30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1 this$0 -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType $type -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:java.lang.Object invoke(java.lang.Object):43:43 -> a
    2:46:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1$visitExtensions$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions):0:44 -> a
    2:46:java.lang.Object invoke(java.lang.Object):43 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1$visitUpperBound$1 -> com.android.tools.r8.internal.z30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):40:40 -> a
    2:42:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeTypeParameter$1$visitUpperBound$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:40 -> a
    2:42:java.lang.Object invoke(java.lang.Object):40 -> a
    43:43:java.lang.Object invoke(java.lang.Object):40:40 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1 -> com.android.tools.r8.internal.D30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder t -> b
    int $flags -> d
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    java.lang.String $name -> e
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,java.lang.String,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):227:228 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitType(int):231:231 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitType(int):231 -> a
    3:7:void visitEnd():242:246 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder getT():228:228 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitVarargElementType(int):234:234 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):64:64 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt.access$writeType(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,int,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):1 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor visitVarargElementType(int):234 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitType$1 -> com.android.tools.r8.internal.B30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):231:231 -> a
    2:233:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:231 -> a
    2:233:java.lang.Object invoke(java.lang.Object):231 -> a
    234:234:java.lang.Object invoke(java.lang.Object):231:231 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitVarargElementType$1 -> com.android.tools.r8.internal.C30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):234:234 -> a
    2:236:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeValueParameter$1$visitVarargElementType$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):0:234 -> a
    2:236:java.lang.Object invoke(java.lang.Object):234 -> a
    237:237:java.lang.Object invoke(java.lang.Object):234:234 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1 -> com.android.tools.r8.internal.G30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1 $output -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder t -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):288:288 -> <init>
    1:5:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):292:296 -> a
    6:6:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):295:295 -> a
    7:7:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):294:294 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.getDefaultInstanceForType():21825:21825 -> a
    8:8:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):298 -> a
    9:15:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):298:304 -> a
    16:16:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):303:303 -> a
    17:17:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):302:302 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.getDefaultInstanceForType():21825:21825 -> a
    18:18:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):306 -> a
    19:26:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):306:313 -> a
    27:27:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String):292:292 -> a
    28:31:void visitVersion(int,int,int):319:322 -> a
    32:32:void visitVersion(int,int,int):320:320 -> a
    33:36:void visitEnd():329:332 -> a
    37:37:void visitEnd():330:330 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder getT():289:289 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$1 -> com.android.tools.r8.internal.E30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):322:322 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$1.invoke(int):323:323 -> a
    2:2:java.lang.Object invoke(java.lang.Object):322 -> a
    3:3:java.lang.Object invoke(java.lang.Object):322:322 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$2 -> com.android.tools.r8.internal.F30:
# {"id":"sourceFile","fileName":"writers.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1 this$0 -> b
    1:1:java.lang.Object invoke(java.lang.Object):322:322 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WritersKt$writeVersionRequirement$1$visitVersion$2.invoke(int):324:324 -> a
    2:2:java.lang.Object invoke(java.lang.Object):322 -> a
    3:3:java.lang.Object invoke(java.lang.Object):322:322 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.ExtensionUtilsKt -> com.android.tools.r8.internal.tj:
# {"id":"sourceFile","fileName":"extensionUtils.kt"}
    1:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor applySingleExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):13:16 -> a
    5:13:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmExtension singleOfType(java.util.Collection,com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):25:33 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmClassExtension -> com.android.tools.r8.internal.Ax:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmConstructorExtension -> com.android.tools.r8.internal.Hx:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmExtension -> com.android.tools.r8.internal.Ux:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmFunctionExtension -> com.android.tools.r8.internal.Zx:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPackageExtension -> com.android.tools.r8.internal.fy:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPropertyExtension -> com.android.tools.r8.internal.jy:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeAliasExtension -> com.android.tools.r8.internal.oy:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeExtension -> com.android.tools.r8.internal.qy:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeParameterExtension -> com.android.tools.r8.internal.ty:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmValueParameterExtension -> com.android.tools.r8.internal.zy:
# {"id":"sourceFile","fileName":"extensionNodes.kt"}
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions -> com.android.tools.r8.internal.nE:
# {"id":"sourceFile","fileName":"MetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion Companion -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor writeClassExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor writeConstructorExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor writeFunctionExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor writePackageExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor writePropertyExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor writeTypeExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext) -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor writeTypeParameterExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext) -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion -> com.android.tools.r8.internal.mE:
# {"id":"sourceFile","fileName":"MetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion $$INSTANCE -> a
    com.android.tools.r8.jetbrains.kotlin.Lazy INSTANCES$delegate -> b
    1:1:void <clinit>():84:84 -> <clinit>
    1:1:void <init>():83:83 -> <init>
    1:1:java.util.List getINSTANCES():84:84 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion$INSTANCES$2 -> com.android.tools.r8.internal.lE:
# {"id":"sourceFile","fileName":"MetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion$INSTANCES$2 INSTANCE -> b
    1:3:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.MetadataExtensions$Companion$INSTANCES$2.invoke():85:87 -> a
    1:3:java.lang.Object invoke():84 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation -> com.android.tools.r8.internal.SN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    java.util.List argument_ -> e
    int memoizedSerializedSize -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation defaultInstance -> h
    int id_ -> d
    byte memoizedIsInitialized -> f
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:2653:void <clinit>():1956:4608 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):1875:1875 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):1875:1875 -> <init>
    3:2367:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):1881:4245 -> <init>
    2368:2368:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):1882:1882 -> <init>
    2369:4731:void <init>(boolean):1884:1884 -> <init>
    4732:7078:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1899:4245 -> <init>
    7079:7111:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1900:1932 -> <init>
    7112:7129:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1923:1940 -> <init>
    7130:7145:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1938:1953 -> <init>
    7146:7153:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1944:1951 -> <init>
    1:1:int access$4402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,int):1875:1875 -> a
    2:2:java.util.List access$4500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):1875:1875 -> a
    3:3:java.util.List access$4502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,java.util.List):1875:1875 -> a
    4:11:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):4235:4242 -> a
    1:1:int access$4602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation,int):1875:1875 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$4700(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):1875:1875 -> b
    3:8:boolean isInitialized():4215:4220 -> b
    9:9:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.getArgumentCount():4193:4193 -> b
    9:9:boolean isInitialized():4223 -> b
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.getArgument(int):4199:4199 -> b
    10:10:boolean isInitialized():4224 -> b
    11:16:boolean isInitialized():4224:4229 -> b
    1:14:int getSerializedSize():4247:4260 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder():4324:4324 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilderForType():4325 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():1875 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder():4324:4324 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4327 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.toBuilder():4329 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():1875 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4327:4327 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.toBuilder():4329 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():1875 -> e
    1:1:java.util.List getArgumentList():4180:4180 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation getDefaultInstance():1888:1888 -> h
    1:1:int getId():4171:4171 -> i
    1:1:boolean hasId():4165:4165 -> j
    1:2:void initFields():4210:4211 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder newBuilder():4324:4324 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder():4324:4324 -> m
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4327 -> m
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder toBuilder():4329 -> m
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4327:4327 -> m
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder toBuilder():4329 -> m
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$1 -> com.android.tools.r8.internal.JN:
    1:1:void <init>():1957:1957 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1962:1962 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1957 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument -> com.android.tools.r8.internal.QN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument defaultInstance -> h
    int memoizedSerializedSize -> g
    int nameId_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value value_ -> e
    byte memoizedIsInitialized -> f
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:2074:void <clinit>():2079:4152 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):1996:1996 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):1996:1996 -> <init>
    3:1861:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2002:3860 -> <init>
    1862:1862:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2003:2003 -> <init>
    1863:3719:void <init>(boolean):2005:2005 -> <init>
    3720:5560:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2020:3860 -> <init>
    5561:5598:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2021:2058 -> <init>
    5599:5621:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2044:2066 -> <init>
    5622:5634:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2064:2076 -> <init>
    5635:5639:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2070:2074 -> <init>
    1:1:int access$3802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument,int):1996:1996 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value access$3902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):1996:1996 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$4100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):1996:1996 -> a
    4:11:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):3850:3857 -> a
    1:1:int access$4002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument,int):1996:1996 -> b
    2:11:boolean isInitialized():3828:3837 -> b
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.getValue():3819:3819 -> b
    12:12:boolean isInitialized():3840 -> b
    13:17:boolean isInitialized():3840:3844 -> b
    1:14:int getSerializedSize():3862:3875 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.newBuilder():3939:3939 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.newBuilderForType():3940 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():1996 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.newBuilder():3939:3939 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):3942 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.toBuilder():3944 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():1996 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):3942:3942 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument.toBuilder():3944 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():1996 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument getDefaultInstance():2009:2009 -> g
    1:1:int getNameId():3804:3804 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value getValue():3819:3819 -> i
    1:1:boolean hasNameId():3798:3798 -> j
    1:1:boolean hasValue():3813:3813 -> k
    1:2:void initFields():3823:3824 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder newBuilder():3939:3939 -> m
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$1 -> com.android.tools.r8.internal.KN:
    1:1:void <init>():2080:2080 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2085:2085 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2080 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder -> com.android.tools.r8.internal.LN:
    int nameId_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value value_ -> e
    int bitField0_ -> c
    1:132:void <init>():3956:4087 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):3949:3949 -> a
    2:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):4008:4013 -> a
    8:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.mergeValue(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):4126:4128 -> a
    8:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):4013 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder():2995:2995 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2998 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.mergeValue(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):4128 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):4013 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2998:2998 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.mergeValue(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):4128 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):4013 -> a
    13:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.mergeValue(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):4128:4134 -> a
    13:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):4013 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument):4015:4015 -> a
    21:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4042:4048 -> a
    21:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3949 -> a
    28:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4044:4048 -> a
    28:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3949 -> a
    33:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder setNameId(int):4072:4073 -> a
    35:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder setValue(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):4107:4109 -> a
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.buildPartial():3992:4003 -> c
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.build():3984 -> c
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3949 -> c
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.build():3985:3985 -> c
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3949 -> c
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.build():3986 -> c
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3949 -> c
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.build():3986:3986 -> c
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3949 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.create():3963:3963 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.clone():3976 -> clone
    1:1:java.lang.Object clone():3949 -> clone
    2:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.buildPartial():3992:4003 -> clone
    2:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.clone():3976 -> clone
    2:13:java.lang.Object clone():3949 -> clone
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.clone():3976:3976 -> clone
    14:14:java.lang.Object clone():3949 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.create():3963:3963 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder access$3600():3949 -> f
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder.buildPartial():3992:4003 -> g
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument build():3984 -> g
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument build():3985:3985 -> g
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> g
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument build():3986 -> g
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument build():3986:3986 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value -> com.android.tools.r8.internal.PN:
    int flags_ -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value defaultInstance -> q
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    int arrayDimensionCount_ -> m
    int enumValueId_ -> j
    long intValue_ -> e
    float floatValue_ -> f
    int stringValue_ -> h
    int classId_ -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation annotation_ -> k
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type type_ -> d
    byte memoizedIsInitialized -> o
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> r
    double doubleValue_ -> g
    java.util.List arrayElement_ -> l
    int memoizedSerializedSize -> p
    1:1388:void <clinit>():2398:3785 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):2257:2257 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):2257:2257 -> <init>
    3:620:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2263:2880 -> <init>
    621:621:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2264:2264 -> <init>
    622:1237:void <init>(boolean):2266:2266 -> <init>
    1238:1837:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2281:2880 -> <init>
    1838:1930:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2282:2374 -> <init>
    1931:1932:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2368:2369 -> <init>
    1933:1936:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2361:2364 -> <init>
    1937:1945:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2348:2356 -> <init>
    1946:1947:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2342:2343 -> <init>
    1948:1949:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2337:2338 -> <init>
    1950:1951:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2332:2333 -> <init>
    1952:1953:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2327:2328 -> <init>
    1954:1955:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2322:2323 -> <init>
    1956:1957:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2317:2318 -> <init>
    1958:2035:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2305:2382 -> <init>
    2036:2051:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2380:2395 -> <init>
    2052:2059:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2386:2393 -> <init>
    1:1:boolean hasStringValue():2647:2647 -> A
    1:1:boolean hasType():2581:2581 -> B
    1:11:void initFields():2807:2817 -> C
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder newBuilder():2995:2995 -> D
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder():2995:2995 -> E
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2998 -> E
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder toBuilder():3000 -> E
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2998:2998 -> E
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder toBuilder():3000 -> E
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type access$2302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type):2257:2257 -> a
    2:2:long access$2402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,long):2257:2257 -> a
    3:3:float access$2502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,float):2257:2257 -> a
    4:4:double access$2602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,double):2257:2257 -> a
    5:5:int access$2702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,int):2257:2257 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation access$3002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):2257:2257 -> a
    7:7:java.util.List access$3100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2257:2257 -> a
    8:8:java.util.List access$3102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,java.util.List):2257:2257 -> a
    9:43:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):2843:2877 -> a
    1:1:int access$2802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,int):2257:2257 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$3500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2257:2257 -> b
    3:7:boolean isInitialized():2821:2825 -> b
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.getAnnotation():2706:2706 -> b
    8:8:boolean isInitialized():2826 -> b
    9:10:boolean isInitialized():2826:2827 -> b
    11:11:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.getArrayElementCount():2728:2728 -> b
    11:11:boolean isInitialized():2831 -> b
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.getArrayElement(int):2734:2734 -> b
    12:12:boolean isInitialized():2832 -> b
    13:18:boolean isInitialized():2832:2837 -> b
    1:1:int access$2902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,int):2257:2257 -> c
    2:11:int getSerializedSize():2882:2891 -> c
    12:12:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeSInt64Size(int,long):715:715 -> c
    12:12:int getSerializedSize():2891 -> c
    13:13:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeSInt64SizeNoTag(long):948:948 -> c
    13:13:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeSInt64Size(int,long):715 -> c
    13:13:int getSerializedSize():2891 -> c
    14:14:int getSerializedSize():2894:2894 -> c
    15:15:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeFloatSize(int,float):536:536 -> c
    15:15:int getSerializedSize():2895 -> c
    16:16:int getSerializedSize():2898:2898 -> c
    17:17:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeDoubleSize(int,double):528:528 -> c
    17:17:int getSerializedSize():2899 -> c
    18:47:int getSerializedSize():2902:2931 -> c
    1:1:int access$3202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,int):2257:2257 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder():2995:2995 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilderForType():2996 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():2257 -> d
    1:1:int access$3302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,int):2257:2257 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder():2995:2995 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2998 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.toBuilder():3000 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():2257 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):2998:2998 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value.toBuilder():3000 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():2257 -> e
    1:1:int access$3402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value,int):2257:2257 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation getAnnotation():2706:2706 -> g
    1:1:int getArrayDimensionCount():2780:2780 -> h
    1:1:java.util.List getArrayElementList():2715:2715 -> i
    1:1:int getClassId():2676:2676 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value getDefaultInstance():2270:2270 -> k
    1:1:double getDoubleValue():2638:2638 -> l
    1:1:int getEnumValueId():2691:2691 -> m
    1:1:int getFlags():2803:2803 -> n
    1:1:float getFloatValue():2623:2623 -> o
    1:1:long getIntValue():2608:2608 -> p
    1:1:int getStringValue():2653:2653 -> q
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type getType():2593:2593 -> r
    1:1:boolean hasAnnotation():2700:2700 -> s
    1:1:boolean hasArrayDimensionCount():2762:2762 -> t
    1:1:boolean hasClassId():2666:2666 -> u
    1:1:boolean hasDoubleValue():2632:2632 -> v
    1:1:boolean hasEnumValueId():2685:2685 -> w
    1:1:boolean hasFlags():2793:2793 -> x
    1:1:boolean hasFloatValue():2617:2617 -> y
    1:1:boolean hasIntValue():2602:2602 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$1 -> com.android.tools.r8.internal.MN:
    1:1:void <init>():2399:2399 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2404:2404 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2399 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder -> com.android.tools.r8.internal.NN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type type_ -> d
    int flags_ -> n
    int arrayDimensionCount_ -> m
    int enumValueId_ -> j
    long intValue_ -> e
    float floatValue_ -> f
    int stringValue_ -> h
    int classId_ -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation annotation_ -> k
    int bitField0_ -> c
    double doubleValue_ -> g
    java.util.List arrayElement_ -> l
    1:516:void <init>():3012:3527 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):3005:3005 -> a
    2:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3119:3142 -> a
    26:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.mergeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):3506:3508 -> a
    26:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3142 -> a
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder():4324:4324 -> a
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4327 -> a
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.mergeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):3508 -> a
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3142 -> a
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4327:4327 -> a
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.mergeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):3508 -> a
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3142 -> a
    31:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.mergeAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):3508:3514 -> a
    31:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3142 -> a
    38:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3144:3147 -> a
    42:44:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.ensureArrayElementIsMutable():3530:3532 -> a
    42:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3149 -> a
    45:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value):3150:3160 -> a
    56:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3187:3193 -> a
    56:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3005 -> a
    63:67:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3189:3193 -> a
    63:67:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3005 -> a
    68:71:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type):3236:3239 -> a
    72:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setIntValue(long):3276:3277 -> a
    74:75:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setFloatValue(float):3308:3309 -> a
    76:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setDoubleValue(double):3340:3341 -> a
    78:80:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):3487:3489 -> a
    81:83:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.ensureArrayElementIsMutable():3530:3532 -> a
    81:83:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3607 -> a
    84:84:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3608:3608 -> a
    85:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3058:3058 -> a
    85:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3608 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3059:3059 -> a
    86:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3608 -> a
    87:87:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3608:3608 -> a
    88:88:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    88:88:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3060 -> a
    88:88:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3608 -> a
    89:89:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3060:3060 -> a
    89:89:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder addArrayElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder):3608 -> a
    90:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setArrayDimensionCount(int):3705:3706 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setClassId(int):3416:3417 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3058:3059 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3005 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3060 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3005 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.build():3060:3060 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3005 -> c
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setEnumValueId(int):3452:3453 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.create():3019:3019 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.clone():3050 -> clone
    1:1:java.lang.Object clone():3005 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.clone():3050:3050 -> clone
    2:2:java.lang.Object clone():3005 -> clone
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setFlags(int):3761:3762 -> d
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder setStringValue(int):3372:3373 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder.create():3019:3019 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Builder access$2100():3005 -> f
    1:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value buildPartial():3066:3114 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type -> com.android.tools.r8.internal.ON:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type[] $VALUES -> p
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type BYTE -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type CHAR -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type SHORT -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type INT -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type LONG -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type FLOAT -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type DOUBLE -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type BOOLEAN -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type STRING -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type CLASS -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type ENUM -> m
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type ANNOTATION -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type ARRAY -> o
    1:49:void <clinit>():2421:2469 -> <clinit>
    50:50:void <clinit>():2416:2416 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):2561:2562 -> <init>
    1:1:int getNumber():2526:2526 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2542:2542 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2541:2541 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2540:2540 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2539:2539 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2538:2538 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2537:2537 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2536:2536 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2535:2535 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2534:2534 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2533:2533 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2532:2532 -> a
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2531:2531 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type valueOf(int):2530:2530 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Value$Type[] values():2416:2416 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder -> com.android.tools.r8.internal.RN:
    java.util.List argument_ -> e
    int id_ -> d
    int bitField0_ -> c
    1:138:void <init>():4341:4478 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):4334:4334 -> a
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4394:4401 -> a
    10:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.ensureArgumentIsMutable():4481:4483 -> a
    10:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4403 -> a
    13:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation):4404:4408 -> a
    18:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4433:4439 -> a
    18:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4334 -> a
    25:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4435:4439 -> a
    25:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4334 -> a
    30:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder setId(int):4463:4464 -> a
    32:34:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.ensureArgumentIsMutable():4481:4483 -> a
    32:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder):4558 -> a
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Argument$Builder):4559:4559 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4369:4370 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():4334 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():4334 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371:4371 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():4334 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.create():4348:4348 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.clone():4361 -> clone
    1:1:java.lang.Object clone():4334 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.clone():4361:4361 -> clone
    2:2:java.lang.Object clone():4334 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.create():4348:4348 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder access$4200():4334 -> f
    1:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation buildPartial():4377:4389 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class -> com.android.tools.r8.internal.WN:
    java.util.List enumEntry_ -> r
    java.util.List property_ -> p
    int fqName_ -> f
    byte memoizedIsInitialized -> A
    int bitField0_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> x
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class defaultInstance -> C
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable versionRequirementTable_ -> z
    java.util.List supertypeId_ -> j
    int inlineClassUnderlyingTypeId_ -> w
    java.util.List typeParameter_ -> h
    int inlineClassUnderlyingPropertyName_ -> u
    java.util.List constructor_ -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    java.util.List nestedClassName_ -> l
    java.util.List typeAlias_ -> q
    int nestedClassNameMemoizedSerializedSize -> m
    java.util.List function_ -> o
    int supertypeIdMemoizedSerializedSize -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> D
    java.util.List sealedSubclassFqName_ -> s
    int companionObjectName_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type inlineClassUnderlyingType_ -> v
    java.util.List versionRequirement_ -> y
    int flags_ -> e
    int memoizedSerializedSize -> B
    java.util.List supertype_ -> i
    int sealedSubclassFqNameMemoizedSerializedSize -> t
    1:2946:void <clinit>():8837:11782 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):8534:8534 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):8534:8534 -> <init>
    3:1090:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):8541:9628 -> <init>
    1091:1091:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):8542:8542 -> <init>
    1092:2177:void <init>(boolean):8544:8544 -> <init>
    2178:3247:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8559:9628 -> <init>
    3248:3471:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8560:8783 -> <init>
    3472:3481:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8761:8770 -> <init>
    3482:3485:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8754:8757 -> <init>
    3486:3494:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8741:8749 -> <init>
    3495:3496:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8735:8736 -> <init>
    3497:3505:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8723:8731 -> <init>
    3506:3507:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8717:8718 -> <init>
    3508:3517:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8704:8713 -> <init>
    3518:3521:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8697:8700 -> <init>
    3522:3525:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8689:8692 -> <init>
    3526:3529:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8681:8684 -> <init>
    3530:3533:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8673:8676 -> <init>
    3534:3537:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8665:8668 -> <init>
    3538:3541:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8657:8660 -> <init>
    3542:3551:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8643:8652 -> <init>
    3552:3555:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8636:8639 -> <init>
    3556:3559:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8628:8631 -> <init>
    3560:3563:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8620:8623 -> <init>
    3564:3565:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8614:8615 -> <init>
    3566:3567:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8609:8610 -> <init>
    3568:3577:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8596:8605 -> <init>
    3578:3581:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8589:8592 -> <init>
    3582:3790:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8583:8791 -> <init>
    3791:3836:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8789:8834 -> <init>
    3837:3876:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8795:8834 -> <init>
    1:1:java.util.List getTypeParameterList():9039:9039 -> A
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable getTypeTable():9404:9404 -> B
    1:1:java.util.List getVersionRequirementList():9418:9418 -> C
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable getVersionRequirementTable():9453:9453 -> D
    1:1:boolean hasCompanionObjectName():9024:9024 -> E
    1:1:boolean hasFlags():8981:8981 -> F
    1:1:boolean hasFqName():9009:9009 -> G
    1:1:boolean hasInlineClassUnderlyingPropertyName():9353:9353 -> H
    1:1:boolean hasInlineClassUnderlyingType():9368:9368 -> I
    1:1:boolean hasInlineClassUnderlyingTypeId():9383:9383 -> J
    1:1:boolean hasTypeTable():9398:9398 -> K
    1:1:boolean hasVersionRequirementTable():9447:9447 -> L
    1:19:void initFields():9457:9475 -> M
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder newBuilder():9811:9811 -> N
    1:1:java.util.List access$10000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> a
    2:2:java.util.List access$10002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> a
    3:3:int access$10202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,int):8534:8534 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$10302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):8534:8534 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable access$10502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):8534:8534 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable access$10702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):8534:8534 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getDefaultInstanceForType():8552:8552 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():8534 -> a
    8:13:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9551:9556 -> a
    14:14:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getSupertypeIdList():9110:9110 -> a
    14:14:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9558 -> a
    15:32:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9558:9575 -> a
    33:33:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getNestedClassNameList():9133:9133 -> a
    33:33:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9577 -> a
    34:54:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9577:9597 -> a
    55:55:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getSealedSubclassFqNameList():9331:9331 -> a
    55:55:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9599 -> a
    56:82:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):9599:9625 -> a
    1:1:java.util.List access$10100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> b
    2:2:java.util.List access$10102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> b
    3:3:int access$10402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,int):8534:8534 -> b
    4:9:boolean isInitialized():9479:9484 -> b
    10:10:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getTypeParameterCount():9052:9052 -> b
    10:10:boolean isInitialized():9487 -> b
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getTypeParameter(int):9058:9058 -> b
    11:11:boolean isInitialized():9488 -> b
    12:13:boolean isInitialized():9488:9489 -> b
    14:14:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getSupertypeCount():9087:9087 -> b
    14:14:boolean isInitialized():9493 -> b
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getSupertype(int):9093:9093 -> b
    15:15:boolean isInitialized():9494 -> b
    16:17:boolean isInitialized():9494:9495 -> b
    18:18:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getConstructorCount():9168:9168 -> b
    18:18:boolean isInitialized():9499 -> b
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getConstructor(int):9174:9174 -> b
    19:19:boolean isInitialized():9500 -> b
    20:21:boolean isInitialized():9500:9501 -> b
    22:22:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getFunctionCount():9203:9203 -> b
    22:22:boolean isInitialized():9505 -> b
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getFunction(int):9209:9209 -> b
    23:23:boolean isInitialized():9506 -> b
    24:25:boolean isInitialized():9506:9507 -> b
    26:26:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getPropertyCount():9238:9238 -> b
    26:26:boolean isInitialized():9511 -> b
    27:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getProperty(int):9244:9244 -> b
    27:27:boolean isInitialized():9512 -> b
    28:29:boolean isInitialized():9512:9513 -> b
    30:30:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getTypeAliasCount():9273:9273 -> b
    30:30:boolean isInitialized():9517 -> b
    31:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getTypeAlias(int):9279:9279 -> b
    31:31:boolean isInitialized():9518 -> b
    32:33:boolean isInitialized():9518:9519 -> b
    34:34:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getEnumEntryCount():9308:9308 -> b
    34:34:boolean isInitialized():9523 -> b
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getEnumEntry(int):9314:9314 -> b
    35:35:boolean isInitialized():9524 -> b
    36:41:boolean isInitialized():9524:9529 -> b
    42:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getInlineClassUnderlyingType():9374:9374 -> b
    42:42:boolean isInitialized():9530 -> b
    43:48:boolean isInitialized():9530:9535 -> b
    49:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getTypeTable():9404:9404 -> b
    49:49:boolean isInitialized():9536 -> b
    50:59:boolean isInitialized():9536:9545 -> b
    1:1:java.util.List access$10600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> c
    2:2:java.util.List access$10602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> c
    3:3:int access$10802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,int):8534:8534 -> c
    4:15:int getSerializedSize():9630:9641 -> c
    16:16:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getSupertypeIdList():9110:9110 -> c
    16:16:int getSerializedSize():9645 -> c
    17:43:int getSerializedSize():9645:9671 -> c
    44:44:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getNestedClassNameList():9133:9133 -> c
    44:44:int getSerializedSize():9675 -> c
    45:75:int getSerializedSize():9675:9705 -> c
    76:76:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getSealedSubclassFqNameList():9331:9331 -> c
    76:76:int getSerializedSize():9709 -> c
    77:103:int getSerializedSize():9709:9735 -> c
    104:104:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.getVersionRequirementList():9418:9418 -> c
    104:104:int getSerializedSize():9739 -> c
    105:113:int getSerializedSize():9739:9747 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$10900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> d
    2:2:int access$8902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,int):8534:8534 -> d
    3:3:java.util.List access$9202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> d
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.newBuilder():9811:9811 -> d
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.newBuilderForType():9812 -> d
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():8534 -> d
    1:1:int access$9002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,int):8534:8534 -> e
    2:2:java.util.List access$9200(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> e
    3:3:java.util.List access$9302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> e
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.newBuilder():9811:9811 -> e
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):9814 -> e
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.toBuilder():9816 -> e
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():8534 -> e
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):9814:9814 -> e
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.toBuilder():9816 -> e
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():8534 -> e
    1:1:int access$9102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,int):8534:8534 -> f
    2:2:java.util.List access$9300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> f
    3:3:java.util.List access$9402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> f
    1:1:java.util.List access$9400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> g
    2:2:java.util.List access$9502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> g
    1:1:java.util.List access$9500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> h
    2:2:java.util.List access$9602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> h
    1:1:java.util.List access$9600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> i
    2:2:java.util.List access$9702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> i
    1:1:java.util.List access$9700(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> j
    2:2:java.util.List access$9802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> j
    1:1:java.util.List access$9800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> k
    2:2:java.util.List access$9902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,java.util.List):8534:8534 -> k
    3:3:int getCompanionObjectName():9030:9030 -> k
    1:1:java.util.List access$9900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):8534:8534 -> l
    2:2:java.util.List getConstructorList():9155:9155 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class getDefaultInstance():8548:8548 -> m
    1:1:java.util.List getEnumEntryList():9295:9295 -> n
    1:1:int getFlags():9000:9000 -> o
    1:1:int getFqName():9015:9015 -> p
    1:1:java.util.List getFunctionList():9190:9190 -> q
    1:1:int getInlineClassUnderlyingPropertyName():9359:9359 -> r
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getInlineClassUnderlyingType():9374:9374 -> s
    1:1:int getInlineClassUnderlyingTypeId():9389:9389 -> t
    1:1:java.util.List getNestedClassNameList():9133:9133 -> u
    1:1:java.util.List getPropertyList():9225:9225 -> v
    1:1:java.util.List getSealedSubclassFqNameList():9331:9331 -> w
    1:1:java.util.List getSupertypeIdList():9110:9110 -> x
    1:1:java.util.List getSupertypeList():9074:9074 -> y
    1:1:java.util.List getTypeAliasList():9260:9260 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$1 -> com.android.tools.r8.internal.TN:
    1:1:void <init>():8838:8838 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8843:8843 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):8838 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder -> com.android.tools.r8.internal.UN:
    java.util.List sealedSubclassFqName_ -> r
    java.util.List enumEntry_ -> q
    java.util.List typeAlias_ -> p
    java.util.List property_ -> o
    int companionObjectName_ -> h
    int flags_ -> f
    int fqName_ -> g
    int bitField0_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type inlineClassUnderlyingType_ -> t
    java.util.List versionRequirement_ -> w
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> v
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable versionRequirementTable_ -> x
    java.util.List supertype_ -> j
    java.util.List typeParameter_ -> i
    int inlineClassUnderlyingTypeId_ -> u
    java.util.List function_ -> n
    java.util.List constructor_ -> m
    int inlineClassUnderlyingPropertyName_ -> s
    java.util.List nestedClassName_ -> l
    java.util.List supertypeId_ -> k
    1:1891:void <init>():9827:11717 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):9821:9821 -> a
    2:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):9992:10005 -> a
    16:18:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureTypeParameterIsMutable():10369:10371 -> a
    16:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10007 -> a
    19:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10008:10015 -> a
    27:29:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureSupertypeIsMutable():10494:10496 -> a
    27:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10017 -> a
    30:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10018:10025 -> a
    38:40:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureSupertypeIdIsMutable():10618:10620 -> a
    38:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10027 -> a
    41:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10028:10035 -> a
    49:51:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureNestedClassNameIsMutable():10684:10686 -> a
    49:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10037 -> a
    52:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10038:10045 -> a
    60:62:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureConstructorIsMutable():10751:10753 -> a
    60:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10047 -> a
    63:70:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10048:10055 -> a
    71:73:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureFunctionIsMutable():10876:10878 -> a
    71:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10057 -> a
    74:81:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10058:10065 -> a
    82:84:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensurePropertyIsMutable():11001:11003 -> a
    82:84:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10067 -> a
    85:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10068:10075 -> a
    93:95:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureTypeAliasIsMutable():11126:11128 -> a
    93:95:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10077 -> a
    96:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10078:10085 -> a
    104:106:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureEnumEntryIsMutable():11251:11253 -> a
    104:106:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10087 -> a
    107:114:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10088:10095 -> a
    115:117:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureSealedSubclassFqNameIsMutable():11375:11377 -> a
    115:117:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10097 -> a
    118:126:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10098:10106 -> a
    127:129:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):11510:11512 -> a
    127:129:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10106 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):11512 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10106 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):11512 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10106 -> a
    132:138:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):11512:11518 -> a
    132:138:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10106 -> a
    139:140:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10108:10109 -> a
    141:142:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.setInlineClassUnderlyingTypeId(int):11548:11549 -> a
    141:142:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10109 -> a
    143:144:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10111:10112 -> a
    145:147:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):11602:11604 -> a
    145:147:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10112 -> a
    148:148:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder():13291:13291 -> a
    148:148:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294 -> a
    148:148:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):11604 -> a
    148:148:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10112 -> a
    149:149:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294:13294 -> a
    149:149:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):11604 -> a
    149:149:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10112 -> a
    150:156:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):11604:11610 -> a
    150:156:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10112 -> a
    157:160:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10114:10117 -> a
    161:163:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureVersionRequirementIsMutable():11625:11627 -> a
    161:163:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10119 -> a
    164:169:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10120:10125 -> a
    170:172:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):11756:11758 -> a
    170:172:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10125 -> a
    173:173:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder():22481:22481 -> a
    173:173:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484 -> a
    173:173:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):11758 -> a
    173:173:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10125 -> a
    174:174:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484:22484 -> a
    174:174:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):11758 -> a
    174:174:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10125 -> a
    175:181:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):11758:11764 -> a
    175:181:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10125 -> a
    182:183:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):10127:10128 -> a
    184:190:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):10205:10211 -> a
    184:190:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):9821 -> a
    191:195:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):10207:10211 -> a
    191:195:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):9821 -> a
    196:198:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureTypeParameterIsMutable():10369:10371 -> a
    196:198:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10446 -> a
    199:199:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10447:10447 -> a
    200:200:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7811:7811 -> a
    200:200:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10447 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    201:201:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7812:7812 -> a
    201:201:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10447 -> a
    202:202:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10447:10447 -> a
    203:203:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    203:203:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813 -> a
    203:203:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10447 -> a
    204:204:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813:7813 -> a
    204:204:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):10447 -> a
    205:207:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureSupertypeIsMutable():10494:10496 -> a
    205:207:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addSupertype(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):10571 -> a
    208:208:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addSupertype(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):10572:10572 -> a
    209:211:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureNestedClassNameIsMutable():10684:10686 -> a
    209:211:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addNestedClassName(int):10722 -> a
    212:212:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addNestedClassName(int):10723:10723 -> a
    213:215:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureConstructorIsMutable():10751:10753 -> a
    213:215:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10828 -> a
    216:216:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10829:10829 -> a
    217:217:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14066:14066 -> a
    217:217:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10829 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    218:218:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14067:14067 -> a
    218:218:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10829 -> a
    219:219:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10829:10829 -> a
    220:220:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    220:220:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14068 -> a
    220:220:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10829 -> a
    221:221:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14068:14068 -> a
    221:221:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addConstructor(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder):10829 -> a
    222:224:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureFunctionIsMutable():10876:10878 -> a
    222:224:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10953 -> a
    225:225:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10954:10954 -> a
    226:226:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15398:15398 -> a
    226:226:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10954 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    227:227:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15399:15399 -> a
    227:227:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10954 -> a
    228:228:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10954:10954 -> a
    229:229:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    229:229:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400 -> a
    229:229:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10954 -> a
    230:230:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400:15400 -> a
    230:230:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):10954 -> a
    231:233:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensurePropertyIsMutable():11001:11003 -> a
    231:233:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11078 -> a
    234:234:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11079:11079 -> a
    235:235:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17361:17361 -> a
    235:235:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11079 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    236:236:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17362:17362 -> a
    236:236:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11079 -> a
    237:237:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11079:11079 -> a
    238:238:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    238:238:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363 -> a
    238:238:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11079 -> a
    239:239:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363:17363 -> a
    239:239:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):11079 -> a
    240:242:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureTypeAliasIsMutable():11126:11128 -> a
    240:242:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11203 -> a
    243:243:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11204:11204 -> a
    244:244:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19966:19966 -> a
    244:244:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11204 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    245:245:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19967:19967 -> a
    245:245:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11204 -> a
    246:246:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11204:11204 -> a
    247:247:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    247:247:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19968 -> a
    247:247:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11204 -> a
    248:248:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19968:19968 -> a
    248:248:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):11204 -> a
    249:251:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureEnumEntryIsMutable():11251:11253 -> a
    249:251:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addEnumEntry(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder):11328 -> a
    252:252:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addEnumEntry(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder):11329:11329 -> a
    253:255:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setInlineClassUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):11491:11493 -> a
    256:258:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):11737:11739 -> a
    1:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureSealedSubclassFqNameIsMutable():11375:11377 -> b
    1:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addSealedSubclassFqName(int):11413 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addSealedSubclassFqName(int):11414:11414 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9889:9890 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():9821 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9891 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():9821 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9891:9891 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():9821 -> c
    5:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.ensureVersionRequirementIsMutable():11625:11627 -> c
    5:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addVersionRequirement(int):11683 -> c
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder addVersionRequirement(int):11684:11684 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.create():9834:9834 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.clone():9881 -> clone
    1:1:java.lang.Object clone():9821 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.clone():9881:9881 -> clone
    2:2:java.lang.Object clone():9821 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.getDefaultInstanceForType():9885:9885 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():9821 -> d
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setCompanionObjectName(int):10351:10352 -> d
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setFlags(int):10274:10275 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.create():9834:9834 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder access$8700():9821 -> f
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setFqName(int):10319:10320 -> f
    1:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class buildPartial():9897:9987 -> g
    92:93:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder setInlineClassUnderlyingPropertyName(int):11456:11457 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind -> com.android.tools.r8.internal.VN:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind INTERFACE -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind CLASS -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind COMPANION_OBJECT -> i
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind ENUM_ENTRY -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind ENUM_CLASS -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind OBJECT -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind[] $VALUES -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind ANNOTATION_CLASS -> g
    1:25:void <clinit>():8864:8888 -> <clinit>
    26:26:void <clinit>():8855:8855 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):8954:8955 -> <init>
    1:1:int getNumber():8925:8925 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Kind[] values():8855:8855 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor -> com.android.tools.r8.internal.ZN:
    java.util.List valueParameter_ -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor defaultInstance -> j
    int memoizedSerializedSize -> i
    int bitField0_ -> d
    int flags_ -> e
    java.util.List versionRequirement_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    byte memoizedIsInitialized -> h
    1:671:void <clinit>():13773:14443 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):13667:13667 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):13667:13667 -> <init>
    3:260:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):13674:13931 -> <init>
    261:261:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):13675:13675 -> <init>
    262:517:void <init>(boolean):13677:13677 -> <init>
    518:757:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13692:13931 -> <init>
    758:811:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13693:13746 -> <init>
    812:815:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13730:13733 -> <init>
    816:819:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13722:13725 -> <init>
    820:858:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13716:13754 -> <init>
    859:877:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13752:13770 -> <init>
    878:890:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13758:13770 -> <init>
    1:1:int access$13002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,int):13667:13667 -> a
    2:2:java.util.List access$13100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):13667:13667 -> a
    3:3:java.util.List access$13102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,java.util.List):13667:13667 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.getDefaultInstanceForType():13685:13685 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():13667 -> a
    5:19:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):13914:13928 -> a
    1:1:java.util.List access$13200(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):13667:13667 -> b
    2:2:java.util.List access$13202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,java.util.List):13667:13667 -> b
    3:3:int access$13302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,int):13667:13667 -> b
    4:4:boolean isInitialized():13894:13894 -> b
    5:5:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.getValueParameterCount():13837:13837 -> b
    5:5:boolean isInitialized():13898 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.getValueParameter(int):13843:13843 -> b
    6:6:boolean isInitialized():13899 -> b
    7:16:boolean isInitialized():13899:13908 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$13400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):13667:13667 -> c
    2:17:int getSerializedSize():13933:13948 -> c
    18:18:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.getVersionRequirementList():13864:13864 -> c
    18:18:int getSerializedSize():13952 -> c
    19:23:int getSerializedSize():13952:13956 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.newBuilder():14020:14020 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.newBuilderForType():14021 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():13667 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.newBuilder():14020:14020 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14023 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.toBuilder():14025 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():13667 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14023:14023 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor.toBuilder():14025 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():13667 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor getDefaultInstance():13681:13681 -> k
    1:1:int getFlags():13815:13815 -> l
    1:1:java.util.List getValueParameterList():13824:13824 -> m
    1:1:java.util.List getVersionRequirementList():13864:13864 -> n
    1:1:boolean hasFlags():13802:13802 -> o
    1:3:void initFields():13888:13890 -> p
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder newBuilder():14020:14020 -> q
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$1 -> com.android.tools.r8.internal.XN:
    1:1:void <init>():13774:13774 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13779:13779 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13774 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder -> com.android.tools.r8.internal.YN:
    int flags_ -> f
    java.util.List versionRequirement_ -> h
    int bitField0_ -> e
    java.util.List valueParameter_ -> g
    1:309:void <init>():14036:14344 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):14030:14030 -> a
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14096:14103 -> a
    10:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.ensureValueParameterIsMutable():14222:14224 -> a
    10:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14105 -> a
    13:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14106:14113 -> a
    21:23:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.ensureVersionRequirementIsMutable():14346:14348 -> a
    21:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14115 -> a
    24:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor):14116:14121 -> a
    30:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14146:14152 -> a
    30:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14030 -> a
    37:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14148:14152 -> a
    37:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14030 -> a
    42:44:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.ensureValueParameterIsMutable():14222:14224 -> a
    42:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):14276 -> a
    45:45:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):14277:14277 -> a
    46:48:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.ensureVersionRequirementIsMutable():14346:14348 -> a
    46:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder addVersionRequirement(int):14404 -> a
    49:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder addVersionRequirement(int):14405:14405 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder setFlags(int):14197:14198 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14066:14067 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():14030 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14068 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():14030 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.build():14068:14068 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():14030 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.create():14043:14043 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.clone():14058 -> clone
    1:1:java.lang.Object clone():14030 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.clone():14058:14058 -> clone
    2:2:java.lang.Object clone():14030 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.getDefaultInstanceForType():14062:14062 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():14030 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder.create():14043:14043 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder access$12800():14030 -> f
    1:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor buildPartial():14074:14091 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract -> com.android.tools.r8.internal.cO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract defaultInstance -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    java.util.List effect_ -> c
    byte memoizedIsInitialized -> d
    int memoizedSerializedSize -> e
    1:390:void <clinit>():23702:24091 -> <clinit>
    391:391:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.initFields():23753:23753 -> <clinit>
    391:391:void <clinit>():24092 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):23626:23626 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):23626:23626 -> <init>
    3:151:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):23632:23780 -> <init>
    152:152:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):23633:23633 -> <init>
    153:299:void <init>(boolean):23635:23635 -> <init>
    300:430:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23650:23780 -> <init>
    431:466:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23651:23686 -> <init>
    467:482:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23684:23699 -> <init>
    483:490:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23690:23697 -> <init>
    1:1:java.util.List access$22800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23626:23626 -> a
    2:2:java.util.List access$22802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract,java.util.List):23626:23626 -> a
    3:7:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):23773:23777 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$22900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23626:23626 -> b
    2:2:boolean isInitialized():23757:23757 -> b
    3:3:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.getEffectCount():23736:23736 -> b
    3:3:boolean isInitialized():23761 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.getEffect(int):23742:23742 -> b
    4:4:boolean isInitialized():23762 -> b
    5:10:boolean isInitialized():23762:23767 -> b
    1:10:int getSerializedSize():23782:23791 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder():23855:23855 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilderForType():23856 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():23626 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder():23855:23855 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23858 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.toBuilder():23860 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():23626 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23858:23858 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.toBuilder():23860 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():23626 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract getDefaultInstance():23639:23639 -> g
    1:1:java.util.List getEffectList():23723:23723 -> h
    1:1:void initFields():23753:23753 -> i
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder newBuilder():23855:23855 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder():23855:23855 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23858 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder toBuilder():23860 -> k
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23858:23858 -> k
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder toBuilder():23860 -> k
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$1 -> com.android.tools.r8.internal.aO:
    1:1:void <init>():23703:23703 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23708:23708 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23703 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder -> com.android.tools.r8.internal.bO:
    java.util.List effect_ -> d
    int bitField0_ -> c
    1:91:void <init>():23872:23962 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):23865:23865 -> a
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23917:23921 -> a
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.ensureEffectIsMutable():23965:23967 -> a
    7:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23923 -> a
    10:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23924:23928 -> a
    15:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23949:23955 -> a
    15:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23865 -> a
    22:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23951:23955 -> a
    22:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):23865 -> a
    27:29:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.ensureEffectIsMutable():23965:23967 -> a
    27:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24042 -> a
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24043:24043 -> a
    31:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24721:24721 -> a
    31:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24043 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24722:24722 -> a
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24043 -> a
    33:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24043:24043 -> a
    34:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    34:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24723 -> a
    34:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24043 -> a
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24723:24723 -> a
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder addEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder):24043 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.build():23898:23899 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():23865 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.build():23900 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():23865 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.build():23900:23900 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():23865 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.create():23879:23879 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.clone():23890 -> clone
    1:1:java.lang.Object clone():23865 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.clone():23890:23890 -> clone
    2:2:java.lang.Object clone():23865 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder.create():23879:23879 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder access$22600():23865 -> f
    1:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract buildPartial():23906:23912 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect -> com.android.tools.r8.internal.hO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType effectType_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    java.util.List effectConstructorArgument_ -> e
    int memoizedSerializedSize -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression conclusionOfConditionalEffect_ -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> k
    int bitField0_ -> c
    byte memoizedIsInitialized -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind kind_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect defaultInstance -> j
    1:836:void <clinit>():24269:25104 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):24156:24156 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):24156:24156 -> <init>
    3:426:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):24162:24585 -> <init>
    427:427:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):24163:24163 -> <init>
    428:849:void <init>(boolean):24165:24165 -> <init>
    850:1255:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24180:24585 -> <init>
    1256:1319:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24181:24244 -> <init>
    1320:1328:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24225:24233 -> <init>
    1329:1332:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24217:24220 -> <init>
    1333:1382:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24204:24253 -> <init>
    1383:1398:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24251:24266 -> <init>
    1399:1406:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24257:24264 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType access$23302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType):24156:24156 -> a
    2:2:java.util.List access$23400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24156:24156 -> a
    3:3:java.util.List access$23402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect,java.util.List):24156:24156 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression access$23502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):24156:24156 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind access$23602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind):24156:24156 -> a
    6:6:int access$23702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect,int):24156:24156 -> a
    7:20:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):24569:24582 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$23800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24156:24156 -> b
    2:2:boolean isInitialized():24547:24547 -> b
    3:3:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.getEffectConstructorArgumentCount():24483:24483 -> b
    3:3:boolean isInitialized():24551 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.getEffectConstructorArgument(int):24489:24489 -> b
    4:4:boolean isInitialized():24552 -> b
    5:10:boolean isInitialized():24552:24557 -> b
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.getConclusionOfConditionalEffect():24521:24521 -> b
    11:11:boolean isInitialized():24558 -> b
    12:17:boolean isInitialized():24558:24563 -> b
    1:22:int getSerializedSize():24587:24608 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.newBuilder():24672:24672 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.newBuilderForType():24673 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():24156 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.newBuilder():24672:24672 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24675 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.toBuilder():24677 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():24156 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24675:24675 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect.toBuilder():24677 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():24156 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression getConclusionOfConditionalEffect():24521:24521 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect getDefaultInstance():24169:24169 -> h
    1:1:java.util.List getEffectConstructorArgumentList():24470:24470 -> i
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType getEffectType():24461:24461 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind getKind():24536:24536 -> k
    1:1:boolean hasConclusionOfConditionalEffect():24510:24510 -> l
    1:1:boolean hasEffectType():24455:24455 -> m
    1:1:boolean hasKind():24530:24530 -> n
    1:4:void initFields():24540:24543 -> o
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder newBuilder():24672:24672 -> p
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$1 -> com.android.tools.r8.internal.dO:
    1:1:void <init>():24270:24270 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24275:24275 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24270 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder -> com.android.tools.r8.internal.eO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType effectType_ -> d
    java.util.List effectConstructorArgument_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression conclusionOfConditionalEffect_ -> f
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind kind_ -> g
    1:376:void <init>():24689:25064 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):24682:24682 -> a
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24754:24761 -> a
    10:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.ensureEffectConstructorArgumentIsMutable():24852:24854 -> a
    10:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24763 -> a
    13:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24764:24769 -> a
    19:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.mergeConclusionOfConditionalEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25038:25040 -> a
    19:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24769 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder():25867:25867 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25870 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.mergeConclusionOfConditionalEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25040 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24769 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25870:25870 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.mergeConclusionOfConditionalEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25040 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24769 -> a
    24:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.mergeConclusionOfConditionalEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25040:25046 -> a
    24:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24769 -> a
    31:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect):24771:24774 -> a
    35:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24801:24807 -> a
    35:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24682 -> a
    42:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24803:24807 -> a
    42:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):24682 -> a
    47:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder setEffectType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType):24832:24835 -> a
    51:53:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.ensureEffectConstructorArgumentIsMutable():24852:24854 -> a
    51:53:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24929 -> a
    54:54:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24930:24930 -> a
    55:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25927:25927 -> a
    55:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24930 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25928:25928 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24930 -> a
    57:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24930:24930 -> a
    58:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    58:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929 -> a
    58:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24930 -> a
    59:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929:25929 -> a
    59:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder addEffectConstructorArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):24930 -> a
    60:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder setConclusionOfConditionalEffect(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25009:25011 -> a
    63:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder setKind(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind):25082:25085 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24721:24722 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():24682 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24723 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():24682 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.build():24723:24723 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():24682 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.create():24696:24696 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.clone():24713 -> clone
    1:1:java.lang.Object clone():24682 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.clone():24713:24713 -> clone
    2:2:java.lang.Object clone():24682 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder.create():24696:24696 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$Builder access$23100():24682 -> f
    1:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect buildPartial():24729:24749 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType -> com.android.tools.r8.internal.fO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType RETURNS_CONSTANT -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType CALLS -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType RETURNS_NOT_NULL -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType[] $VALUES -> f
    int value -> b
    1:18:void <clinit>():24304:24321 -> <clinit>
    19:19:void <clinit>():24295:24295 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):24376:24377 -> <init>
    1:1:int getNumber():24351:24351 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24357:24357 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24356:24356 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$EffectType valueOf(int):24355:24355 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind -> com.android.tools.r8.internal.gO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind AT_MOST_ONCE -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind[] $VALUES -> f
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind EXACTLY_ONCE -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind AT_LEAST_ONCE -> e
    1:9:void <clinit>():24391:24399 -> <clinit>
    10:10:void <clinit>():24386:24386 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):24441:24442 -> <init>
    1:1:int getNumber():24416:24416 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24422:24422 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24421:24421 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Effect$InvocationKind valueOf(int):24420:24420 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry -> com.android.tools.r8.internal.kO:
    int memoizedSerializedSize -> g
    int bitField0_ -> d
    int name_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry defaultInstance -> h
    byte memoizedIsInitialized -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:273:void <clinit>():20842:21114 -> <clinit>
    274:274:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.initFields():20874:20874 -> <clinit>
    274:274:void <clinit>():21115 -> <clinit>
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):20771:20771 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):20771:20771 -> <init>
    3:128:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):20778:20903 -> <init>
    129:129:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):20779:20779 -> <init>
    130:253:void <init>(boolean):20781:20781 -> <init>
    254:361:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20796:20903 -> <init>
    362:394:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20797:20829 -> <init>
    395:407:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20827:20839 -> <init>
    408:414:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20833:20839 -> <init>
    1:1:int access$19702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry,int):20771:20771 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$19900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry):20771:20771 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.getDefaultInstanceForType():20789:20789 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():20771 -> a
    4:12:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):20892:20900 -> a
    1:1:int access$19802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry,int):20771:20771 -> b
    2:10:boolean isInitialized():20878:20886 -> b
    1:11:int getSerializedSize():20905:20915 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.newBuilder():20979:20979 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.newBuilderForType():20980 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():20771 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.newBuilder():20979:20979 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry):20982 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.toBuilder():20984 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():20771 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry):20982:20982 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry.toBuilder():20984 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():20771 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry getDefaultInstance():20785:20785 -> k
    1:1:int getName():20870:20870 -> l
    1:1:boolean hasName():20864:20864 -> m
    1:1:void initFields():20874:20874 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder newBuilder():20979:20979 -> o
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$1 -> com.android.tools.r8.internal.iO:
    1:1:void <init>():20843:20843 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20848:20848 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20843 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder -> com.android.tools.r8.internal.jO:
    int name_ -> f
    int bitField0_ -> e
    1:1:void <init>():20995:20995 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):20989:20989 -> a
    2:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry):21041:21046 -> a
    8:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21065:21071 -> a
    8:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20989 -> a
    15:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21067:21071 -> a
    15:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20989 -> a
    20:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder setName(int):21095:21096 -> a
    1:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.buildPartial():21029:21036 -> c
    1:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.build():21021 -> c
    1:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():20989 -> c
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.build():21022:21022 -> c
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():20989 -> c
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.build():21023 -> c
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():20989 -> c
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.build():21023:21023 -> c
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():20989 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.create():21002:21002 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.clone():21013 -> clone
    1:1:java.lang.Object clone():20989 -> clone
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.buildPartial():21029:21036 -> clone
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.clone():21013 -> clone
    2:9:java.lang.Object clone():20989 -> clone
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.clone():21013:21013 -> clone
    10:10:java.lang.Object clone():20989 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.getDefaultInstanceForType():21017:21017 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():20989 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.create():21002:21002 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder access$19500():20989 -> f
    1:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry$Builder.buildPartial():21029:21036 -> g
    1:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry build():21021 -> g
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry build():21022:21022 -> g
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> g
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry build():21023 -> g
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$EnumEntry build():21023:21023 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression -> com.android.tools.r8.internal.oO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    int memoizedSerializedSize -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression defaultInstance -> m
    int isInstanceTypeId_ -> h
    int flags_ -> d
    int valueParameterReference_ -> e
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue constantValue_ -> f
    byte memoizedIsInitialized -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type isInstanceType_ -> g
    java.util.List orArgument_ -> j
    java.util.List andArgument_ -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> n
    1:1328:void <clinit>():25388:26715 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):25261:25261 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):25261:25261 -> <init>
    3:504:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):25267:25768 -> <init>
    505:505:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):25268:25268 -> <init>
    506:1005:void <init>(boolean):25270:25270 -> <init>
    1006:1489:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25285:25768 -> <init>
    1490:1565:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25286:25361 -> <init>
    1566:1569:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25350:25353 -> <init>
    1570:1571:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25344:25345 -> <init>
    1572:1580:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25332:25340 -> <init>
    1581:1588:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25319:25326 -> <init>
    1589:1590:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25314:25315 -> <init>
    1591:1651:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25309:25369 -> <init>
    1652:1670:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25367:25385 -> <init>
    1671:1681:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25373:25383 -> <init>
    1:1:int access$24202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,int):25261:25261 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue access$24402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue):25261:25261 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$24502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):25261:25261 -> a
    4:4:java.util.List access$24700(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25261:25261 -> a
    5:5:java.util.List access$24702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,java.util.List):25261:25261 -> a
    6:28:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):25743:25765 -> a
    1:1:int access$24302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,int):25261:25261 -> b
    2:2:java.util.List access$24800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25261:25261 -> b
    3:3:java.util.List access$24802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,java.util.List):25261:25261 -> b
    4:8:boolean isInitialized():25715:25719 -> b
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.getIsInstanceType():25556:25556 -> b
    9:9:boolean isInitialized():25720 -> b
    10:11:boolean isInitialized():25720:25721 -> b
    12:12:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.getAndArgumentCount():25611:25611 -> b
    12:12:boolean isInitialized():25725 -> b
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.getAndArgument(int):25623:25623 -> b
    13:13:boolean isInitialized():25726 -> b
    14:15:boolean isInitialized():25726:25727 -> b
    16:16:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.getOrArgumentCount():25676:25676 -> b
    16:16:boolean isInitialized():25731 -> b
    17:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.getOrArgument(int):25688:25688 -> b
    17:17:boolean isInitialized():25732 -> b
    18:23:boolean isInitialized():25732:25737 -> b
    1:1:int access$24602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,int):25261:25261 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$25000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25261:25261 -> c
    3:36:int getSerializedSize():25770:25803 -> c
    1:1:int access$24902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression,int):25261:25261 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder():25867:25867 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilderForType():25868 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():25261 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder():25867:25867 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25870 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.toBuilder():25872 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():25261 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25870:25870 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.toBuilder():25872 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():25261 -> e
    1:1:java.util.List getAndArgumentList():25586:25586 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue getConstantValue():25531:25531 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression getDefaultInstance():25274:25274 -> i
    1:1:int getFlags():25491:25491 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getIsInstanceType():25556:25556 -> k
    1:1:int getIsInstanceTypeId():25571:25571 -> l
    1:1:java.util.List getOrArgumentList():25651:25651 -> m
    1:1:int getValueParameterReference():25516:25516 -> n
    1:1:boolean hasConstantValue():25525:25525 -> o
    1:1:boolean hasFlags():25480:25480 -> p
    1:1:boolean hasIsInstanceType():25545:25545 -> q
    1:1:boolean hasIsInstanceTypeId():25565:25565 -> r
    1:1:boolean hasValueParameterReference():25505:25505 -> s
    1:7:void initFields():25705:25711 -> t
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder newBuilder():25867:25867 -> u
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder():25867:25867 -> v
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25870 -> v
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder toBuilder():25872 -> v
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25870:25870 -> v
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder toBuilder():25872 -> v
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$1 -> com.android.tools.r8.internal.lO:
    1:1:void <init>():25389:25389 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25394:25394 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25389 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder -> com.android.tools.r8.internal.mO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type isInstanceType_ -> g
    int isInstanceTypeId_ -> h
    java.util.List orArgument_ -> j
    java.util.List andArgument_ -> i
    int flags_ -> d
    int valueParameterReference_ -> e
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue constantValue_ -> f
    1:625:void <init>():25889:26513 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):25882:25882 -> a
    2:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25973:25984 -> a
    14:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.mergeIsInstanceType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):26258:26260 -> a
    14:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25984 -> a
    17:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    17:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    17:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.mergeIsInstanceType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):26260 -> a
    17:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25984 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.mergeIsInstanceType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):26260 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25984 -> a
    19:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.mergeIsInstanceType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):26260:26266 -> a
    19:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25984 -> a
    26:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25986:25987 -> a
    28:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.setIsInstanceTypeId(int):26301:26302 -> a
    28:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25987 -> a
    30:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25989:25992 -> a
    34:36:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.ensureAndArgumentIsMutable():26319:26321 -> a
    34:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25994 -> a
    37:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):25995:26002 -> a
    45:47:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.ensureOrArgumentIsMutable():26516:26518 -> a
    45:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):26004 -> a
    48:52:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression):26005:26009 -> a
    53:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):26042:26048 -> a
    53:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25882 -> a
    60:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):26044:26048 -> a
    60:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):25882 -> a
    65:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder setFlags(int):26087:26088 -> a
    67:70:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder setConstantValue(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue):26177:26180 -> a
    71:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder setIsInstanceType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):26229:26231 -> a
    74:76:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.ensureAndArgumentIsMutable():26319:26321 -> a
    74:76:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26444 -> a
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26445:26445 -> a
    78:78:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25927:25927 -> a
    78:78:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26445 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25928:25928 -> a
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26445 -> a
    80:80:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26445:26445 -> a
    81:81:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    81:81:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929 -> a
    81:81:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26445 -> a
    82:82:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929:25929 -> a
    82:82:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addAndArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26445 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder setValueParameterReference(int):26139:26140 -> b
    3:5:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.ensureOrArgumentIsMutable():26516:26518 -> b
    3:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26641 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26642:26642 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25927:25927 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26642 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25928:25928 -> b
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26642 -> b
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26642:26642 -> b
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> b
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929 -> b
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26642 -> b
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929:25929 -> b
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder addOrArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder):26642 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25927:25928 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():25882 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():25882 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.build():25929:25929 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():25882 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.create():25896:25896 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.clone():25919 -> clone
    1:1:java.lang.Object clone():25882 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.clone():25919:25919 -> clone
    2:2:java.lang.Object clone():25882 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder.create():25896:25896 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$Builder access$24000():25882 -> f
    1:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression buildPartial():25935:25968 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue -> com.android.tools.r8.internal.nO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue FALSE -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue NULL -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue[] $VALUES -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue TRUE -> c
    int value -> b
    1:9:void <clinit>():25411:25419 -> <clinit>
    10:10:void <clinit>():25406:25406 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):25461:25462 -> <init>
    1:1:int getNumber():25436:25436 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25442:25442 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25441:25441 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Expression$ConstantValue valueOf(int):25440:25440 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function -> com.android.tools.r8.internal.rO:
    int receiverTypeId_ -> l
    java.util.List versionRequirement_ -> o
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function defaultInstance -> s
    int returnTypeId_ -> i
    int oldFlags_ -> f
    int name_ -> g
    int bitField0_ -> d
    int flags_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type receiverType_ -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> t
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract contract_ -> p
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type returnType_ -> h
    java.util.List typeParameter_ -> j
    byte memoizedIsInitialized -> q
    int memoizedSerializedSize -> r
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    java.util.List valueParameter_ -> m
    1:1596:void <clinit>():14810:16405 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):14621:14621 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):14621:14621 -> <init>
    3:584:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):14628:15209 -> <init>
    585:585:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):14629:14629 -> <init>
    586:1165:void <init>(boolean):14631:14631 -> <init>
    1166:1729:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14646:15209 -> <init>
    1730:1863:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14647:14780 -> <init>
    1864:1873:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14758:14767 -> <init>
    1874:1877:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14751:14754 -> <init>
    1878:1886:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14738:14746 -> <init>
    1887:1888:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14732:14733 -> <init>
    1889:1890:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14727:14728 -> <init>
    1891:1892:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14722:14723 -> <init>
    1893:1896:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14715:14718 -> <init>
    1897:1905:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14702:14710 -> <init>
    1906:1909:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14694:14697 -> <init>
    1910:1918:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14681:14689 -> <init>
    1919:1920:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14675:14676 -> <init>
    1921:2039:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14670:14788 -> <init>
    2040:2061:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14786:14807 -> <init>
    2062:2077:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14792:14807 -> <init>
    1:1:boolean hasOldFlags():14877:14877 -> A
    1:1:boolean hasReceiverType():14972:14972 -> B
    1:1:boolean hasReceiverTypeId():14987:14987 -> C
    1:1:boolean hasReturnType():14907:14907 -> D
    1:1:boolean hasReturnTypeId():14922:14922 -> E
    1:1:boolean hasTypeTable():15037:15037 -> F
    1:12:void initFields():15096:15107 -> G
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder newBuilder():15334:15334 -> H
    1:1:int access$13802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):14621:14621 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$14102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):14621:14621 -> a
    3:3:java.util.List access$14300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):14621:14621 -> a
    4:4:java.util.List access$14302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,java.util.List):14621:14621 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable access$14702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):14621:14621 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract access$14902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):14621:14621 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getDefaultInstanceForType():14639:14639 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():14621 -> a
    8:49:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):15165:15206 -> a
    1:1:int access$13902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):14621:14621 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$14402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):14621:14621 -> b
    3:3:java.util.List access$14600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):14621:14621 -> b
    4:4:java.util.List access$14602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,java.util.List):14621:14621 -> b
    5:13:boolean isInitialized():15111:15119 -> b
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getReturnType():14913:14913 -> b
    14:14:boolean isInitialized():15120 -> b
    15:16:boolean isInitialized():15120:15121 -> b
    17:17:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getTypeParameterCount():14950:14950 -> b
    17:17:boolean isInitialized():15125 -> b
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getTypeParameter(int):14956:14956 -> b
    18:18:boolean isInitialized():15126 -> b
    19:24:boolean isInitialized():15126:15131 -> b
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getReceiverType():14978:14978 -> b
    25:25:boolean isInitialized():15132 -> b
    26:27:boolean isInitialized():15132:15133 -> b
    28:28:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getValueParameterCount():15015:15015 -> b
    28:28:boolean isInitialized():15137 -> b
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getValueParameter(int):15021:15021 -> b
    29:29:boolean isInitialized():15138 -> b
    30:35:boolean isInitialized():15138:15143 -> b
    36:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getTypeTable():15043:15043 -> b
    36:36:boolean isInitialized():15144 -> b
    37:42:boolean isInitialized():15144:15149 -> b
    43:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getContract():15092:15092 -> b
    43:43:boolean isInitialized():15150 -> b
    44:53:boolean isInitialized():15150:15159 -> b
    1:1:int access$14002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):14621:14621 -> c
    2:2:java.util.List access$14800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):14621:14621 -> c
    3:3:java.util.List access$14802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,java.util.List):14621:14621 -> c
    4:51:int getSerializedSize():15211:15258 -> c
    52:52:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.getVersionRequirementList():15057:15057 -> c
    52:52:int getSerializedSize():15262 -> c
    53:61:int getSerializedSize():15262:15270 -> c
    1:1:int access$14202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):14621:14621 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$15100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):14621:14621 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.newBuilder():15334:15334 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.newBuilderForType():15335 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():14621 -> d
    1:1:int access$14502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):14621:14621 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.newBuilder():15334:15334 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15337 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.toBuilder():15339 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():14621 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15337:15337 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.toBuilder():15339 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():14621 -> e
    1:1:int access$15002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):14621:14621 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract getContract():15092:15092 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function getDefaultInstance():14635:14635 -> l
    1:1:int getFlags():14868:14868 -> m
    1:1:int getName():14898:14898 -> n
    1:1:int getOldFlags():14883:14883 -> o
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getReceiverType():14978:14978 -> p
    1:1:int getReceiverTypeId():14993:14993 -> q
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getReturnType():14913:14913 -> r
    1:1:int getReturnTypeId():14928:14928 -> s
    1:1:java.util.List getTypeParameterList():14937:14937 -> t
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable getTypeTable():15043:15043 -> u
    1:1:java.util.List getValueParameterList():15002:15002 -> v
    1:1:java.util.List getVersionRequirementList():15057:15057 -> w
    1:1:boolean hasContract():15086:15086 -> x
    1:1:boolean hasFlags():14847:14847 -> y
    1:1:boolean hasName():14892:14892 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$1 -> com.android.tools.r8.internal.pO:
    1:1:void <init>():14811:14811 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14816:14816 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):14811 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder -> com.android.tools.r8.internal.qO:
    java.util.List versionRequirement_ -> p
    int receiverTypeId_ -> m
    int returnTypeId_ -> j
    int name_ -> h
    int flags_ -> f
    int oldFlags_ -> g
    int bitField0_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type receiverType_ -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type returnType_ -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> o
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract contract_ -> q
    java.util.List valueParameter_ -> n
    java.util.List typeParameter_ -> k
    1:991:void <init>():15350:16340 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):15344:15344 -> a
    2:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15465:15470 -> a
    8:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.setOldFlags(int):15705:15706 -> a
    8:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15470 -> a
    10:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15472:15476 -> a
    15:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):15791:15793 -> a
    15:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15476 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):15793 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15476 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):15793 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15476 -> a
    20:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):15793:15799 -> a
    20:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15476 -> a
    27:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15478:15479 -> a
    29:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.setReturnTypeId(int):15829:15830 -> a
    29:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15479 -> a
    31:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15481:15484 -> a
    35:37:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.ensureTypeParameterIsMutable():15847:15849 -> a
    35:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15486 -> a
    38:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15487:15492 -> a
    44:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):16008:16010 -> a
    44:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15492 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):16010 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15492 -> a
    48:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    48:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):16010 -> a
    48:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15492 -> a
    49:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):16010:16016 -> a
    49:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15492 -> a
    56:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15494:15495 -> a
    58:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.setReceiverTypeId(int):16046:16047 -> a
    58:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15495 -> a
    60:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15497:15500 -> a
    64:66:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.ensureValueParameterIsMutable():16064:16066 -> a
    64:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15502 -> a
    67:72:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15503:15508 -> a
    73:75:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):16225:16227 -> a
    73:75:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15508 -> a
    76:76:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder():13291:13291 -> a
    76:76:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294 -> a
    76:76:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):16227 -> a
    76:76:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15508 -> a
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294:13294 -> a
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):16227 -> a
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15508 -> a
    78:84:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):16227:16233 -> a
    78:84:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15508 -> a
    85:88:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15510:15513 -> a
    89:91:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.ensureVersionRequirementIsMutable():16248:16250 -> a
    89:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15515 -> a
    92:97:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15516:15521 -> a
    98:100:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeContract(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):16379:16381 -> a
    98:100:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15521 -> a
    101:101:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder():23855:23855 -> a
    101:101:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23858 -> a
    101:101:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeContract(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):16381 -> a
    101:101:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15521 -> a
    102:102:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):23858:23858 -> a
    102:102:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeContract(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):16381 -> a
    102:102:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15521 -> a
    103:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeContract(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):16381:16387 -> a
    103:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15521 -> a
    110:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function):15523:15524 -> a
    112:118:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):15583:15589 -> a
    112:118:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):15344 -> a
    119:123:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):15585:15589 -> a
    119:123:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):15344 -> a
    124:126:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.ensureTypeParameterIsMutable():15847:15849 -> a
    124:126:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15924 -> a
    127:127:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15925:15925 -> a
    128:128:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7811:7811 -> a
    128:128:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15925 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7812:7812 -> a
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15925 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15925:15925 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15925 -> a
    132:132:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813:7813 -> a
    132:132:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):15925 -> a
    133:135:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder setReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):15989:15991 -> a
    136:138:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.ensureValueParameterIsMutable():16064:16066 -> a
    136:138:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16141 -> a
    139:139:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16142:16142 -> a
    140:140:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18807:18807 -> a
    140:140:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16142 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    141:141:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18808:18808 -> a
    141:141:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16142 -> a
    142:142:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16142:16142 -> a
    143:143:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    143:143:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809 -> a
    143:143:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16142 -> a
    144:144:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809:18809 -> a
    144:144:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder):16142 -> a
    145:147:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.ensureVersionRequirementIsMutable():16248:16250 -> a
    145:147:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addVersionRequirement(int):16306 -> a
    148:148:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder addVersionRequirement(int):16307:16307 -> a
    149:151:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder setContract(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Contract):16360:16362 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder setFlags(int):15658:15659 -> b
    3:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder setReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):15772:15774 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15398:15399 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():15344 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():15344 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400:15400 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():15344 -> c
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder setName(int):15737:15738 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.create():15357:15357 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.clone():15390 -> clone
    1:1:java.lang.Object clone():15344 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.clone():15390:15390 -> clone
    2:2:java.lang.Object clone():15344 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.getDefaultInstanceForType():15394:15394 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():15344 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.create():15357:15357 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder access$13600():15344 -> f
    1:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function buildPartial():15406:15460 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind -> com.android.tools.r8.internal.sO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind DELEGATION -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind[] $VALUES -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind SYNTHESIZED -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind DECLARATION -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind FAKE_OVERRIDE -> d
    int value -> b
    1:13:void <clinit>():205:217 -> <clinit>
    14:14:void <clinit>():196:196 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):268:269 -> <init>
    1:1:int getNumber():242:242 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$MemberKind[] values():196:196 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality -> com.android.tools.r8.internal.tO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality SEALED -> f
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality OPEN -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality ABSTRACT -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality FINAL -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality[] $VALUES -> g
    1:13:void <clinit>():23:35 -> <clinit>
    14:14:void <clinit>() -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):86:87 -> <init>
    1:1:int getNumber():60:60 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality[] values():14:14 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package -> com.android.tools.r8.internal.wO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable versionRequirementTable_ -> i
    byte memoizedIsInitialized -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package defaultInstance -> l
    java.util.List property_ -> f
    java.util.List function_ -> e
    int memoizedSerializedSize -> k
    int bitField0_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> m
    java.util.List typeAlias_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    1:997:void <clinit>():11981:12977 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):11856:11856 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):11856:11856 -> <init>
    3:342:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):11863:12202 -> <init>
    343:343:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):11864:11864 -> <init>
    344:681:void <init>(boolean):11866:11866 -> <init>
    682:1003:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11881:12202 -> <init>
    1004:1073:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11882:11951 -> <init>
    1074:1082:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11930:11938 -> <init>
    1083:1086:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11922:11925 -> <init>
    1087:1090:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11914:11917 -> <init>
    1091:1144:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11906:11959 -> <init>
    1145:1166:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11957:11978 -> <init>
    1167:1182:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11963:11978 -> <init>
    1:1:java.util.List access$11300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):11856:11856 -> a
    2:2:java.util.List access$11302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,java.util.List):11856:11856 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable access$11602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):11856:11856 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable access$11702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):11856:11856 -> a
    5:5:int access$11802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,int):11856:11856 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getDefaultInstanceForType():11874:11874 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():11856 -> a
    7:27:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):12179:12199 -> a
    1:1:java.util.List access$11400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):11856:11856 -> b
    2:2:java.util.List access$11402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,java.util.List):11856:11856 -> b
    3:3:boolean isInitialized():12141:12141 -> b
    4:4:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getFunctionCount():12016:12016 -> b
    4:4:boolean isInitialized():12145 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getFunction(int):12022:12022 -> b
    5:5:boolean isInitialized():12146 -> b
    6:7:boolean isInitialized():12146:12147 -> b
    8:8:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getPropertyCount():12051:12051 -> b
    8:8:boolean isInitialized():12151 -> b
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getProperty(int):12057:12057 -> b
    9:9:boolean isInitialized():12152 -> b
    10:11:boolean isInitialized():12152:12153 -> b
    12:12:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getTypeAliasCount():12086:12086 -> b
    12:12:boolean isInitialized():12157 -> b
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getTypeAlias(int):12092:12092 -> b
    13:13:boolean isInitialized():12158 -> b
    14:19:boolean isInitialized():12158:12163 -> b
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.getTypeTable():12114:12114 -> b
    20:20:boolean isInitialized():12164 -> b
    21:30:boolean isInitialized():12164:12173 -> b
    1:1:java.util.List access$11500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):11856:11856 -> c
    2:2:java.util.List access$11502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,java.util.List):11856:11856 -> c
    3:29:int getSerializedSize():12204:12230 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$11900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):11856:11856 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.newBuilder():12294:12294 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.newBuilderForType():12295 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():11856 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.newBuilder():12294:12294 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12297 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.toBuilder():12299 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():11856 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12297:12297 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.toBuilder():12299 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():11856 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package getDefaultInstance():11870:11870 -> k
    1:1:java.util.List getFunctionList():12003:12003 -> l
    1:1:java.util.List getPropertyList():12038:12038 -> m
    1:1:java.util.List getTypeAliasList():12073:12073 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable getTypeTable():12114:12114 -> o
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable getVersionRequirementTable():12129:12129 -> p
    1:1:boolean hasTypeTable():12108:12108 -> q
    1:1:boolean hasVersionRequirementTable():12123:12123 -> r
    1:5:void initFields():12133:12137 -> s
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder newBuilder():12294:12294 -> t
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$1 -> com.android.tools.r8.internal.uO:
    1:1:void <init>():11982:11982 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11987:11987 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):11982 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder -> com.android.tools.r8.internal.vO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable typeTable_ -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable versionRequirementTable_ -> j
    java.util.List function_ -> f
    java.util.List typeAlias_ -> h
    int bitField0_ -> e
    java.util.List property_ -> g
    1:603:void <init>():12310:12912 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):12304:12304 -> a
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12383:12387 -> a
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.ensureFunctionIsMutable():12480:12482 -> a
    7:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12389 -> a
    10:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12390:12397 -> a
    18:20:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.ensurePropertyIsMutable():12605:12607 -> a
    18:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12399 -> a
    21:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12400:12407 -> a
    29:31:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.ensureTypeAliasIsMutable():12730:12732 -> a
    29:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12409 -> a
    32:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12410:12415 -> a
    38:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):12891:12893 -> a
    38:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12415 -> a
    41:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder():13291:13291 -> a
    41:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294 -> a
    41:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):12893 -> a
    41:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12415 -> a
    42:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294:13294 -> a
    42:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):12893 -> a
    42:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12415 -> a
    43:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeTypeTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):12893:12899 -> a
    43:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12415 -> a
    50:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12417:12418 -> a
    52:54:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):12951:12953 -> a
    52:54:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12418 -> a
    55:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder():22481:22481 -> a
    55:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484 -> a
    55:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):12953 -> a
    55:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12418 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484:22484 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):12953 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12418 -> a
    57:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):12953:12959 -> a
    57:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12418 -> a
    64:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):12420:12421 -> a
    66:72:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):12464:12470 -> a
    66:72:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):12304 -> a
    73:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):12466:12470 -> a
    73:77:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):12304 -> a
    78:80:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.ensureFunctionIsMutable():12480:12482 -> a
    78:80:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12557 -> a
    81:81:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12558:12558 -> a
    82:82:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15398:15398 -> a
    82:82:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12558 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    83:83:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15399:15399 -> a
    83:83:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12558 -> a
    84:84:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12558:12558 -> a
    85:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    85:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400 -> a
    85:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12558 -> a
    86:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400:15400 -> a
    86:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addFunction(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder):12558 -> a
    87:89:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.ensurePropertyIsMutable():12605:12607 -> a
    87:89:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12682 -> a
    90:90:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12683:12683 -> a
    91:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17361:17361 -> a
    91:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12683 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    92:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17362:17362 -> a
    92:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12683 -> a
    93:93:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12683:12683 -> a
    94:94:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    94:94:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363 -> a
    94:94:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12683 -> a
    95:95:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363:17363 -> a
    95:95:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addProperty(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):12683 -> a
    96:98:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.ensureTypeAliasIsMutable():12730:12732 -> a
    96:98:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12807 -> a
    99:99:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12808:12808 -> a
    100:100:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19966:19966 -> a
    100:100:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12808 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    101:101:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19967:19967 -> a
    101:101:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12808 -> a
    102:102:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12808:12808 -> a
    103:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    103:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19968 -> a
    103:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12808 -> a
    104:104:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19968:19968 -> a
    104:104:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder addTypeAlias(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder):12808 -> a
    105:107:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder setVersionRequirementTable(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):12932:12934 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12344:12345 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():12304 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12346 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():12304 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12346:12346 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():12304 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.create():12317:12317 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.clone():12336 -> clone
    1:1:java.lang.Object clone():12304 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.clone():12336:12336 -> clone
    2:2:java.lang.Object clone():12304 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.getDefaultInstanceForType():12340:12340 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():12304 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.create():12317:12317 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder access$11100():12304 -> f
    1:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package buildPartial():12352:12378 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property -> com.android.tools.r8.internal.zO:
    int getterFlags_ -> n
    int setterFlags_ -> o
    int receiverTypeId_ -> l
    java.util.List versionRequirement_ -> p
    int returnTypeId_ -> i
    int oldFlags_ -> f
    int name_ -> g
    int bitField0_ -> d
    int flags_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property defaultInstance -> s
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type receiverType_ -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> t
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type returnType_ -> h
    java.util.List typeParameter_ -> j
    byte memoizedIsInitialized -> q
    int memoizedSerializedSize -> r
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter setterValueParameter_ -> m
    1:1501:void <clinit>():16779:18279 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):16604:16604 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):16604:16604 -> <init>
    3:564:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):16611:17172 -> <init>
    565:565:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):16612:16612 -> <init>
    566:1125:void <init>(boolean):16614:16614 -> <init>
    1126:1669:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16629:17172 -> <init>
    1670:1792:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16630:16752 -> <init>
    1793:1796:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16736:16739 -> <init>
    1797:1798:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16730:16731 -> <init>
    1799:1800:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16725:16726 -> <init>
    1801:1802:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16720:16721 -> <init>
    1803:1804:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16715:16716 -> <init>
    1805:1806:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16710:16711 -> <init>
    1807:1815:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16698:16706 -> <init>
    1816:1824:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16685:16693 -> <init>
    1825:1828:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16677:16680 -> <init>
    1829:1837:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16664:16672 -> <init>
    1838:1839:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16658:16659 -> <init>
    1840:1947:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16653:16760 -> <init>
    1948:1966:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16758:16776 -> <init>
    1967:1979:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16764:16776 -> <init>
    1:1:boolean hasOldFlags():16848:16848 -> A
    1:1:boolean hasReceiverType():16943:16943 -> B
    1:1:boolean hasReceiverTypeId():16958:16958 -> C
    1:1:boolean hasReturnType():16878:16878 -> D
    1:1:boolean hasReturnTypeId():16893:16893 -> E
    1:1:boolean hasSetterFlags():17027:17027 -> F
    1:1:boolean hasSetterValueParameter():16973:16973 -> G
    1:12:void initFields():17071:17082 -> H
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder newBuilder():17297:17297 -> I
    1:1:int access$15502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$15802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):16604:16604 -> a
    3:3:java.util.List access$16000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):16604:16604 -> a
    4:4:java.util.List access$16002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,java.util.List):16604:16604 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter access$16302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):16604:16604 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getDefaultInstanceForType():16622:16622 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():16604 -> a
    7:48:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):17128:17169 -> a
    1:1:int access$15602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$16102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):16604:16604 -> b
    3:3:java.util.List access$16600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):16604:16604 -> b
    4:4:java.util.List access$16602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,java.util.List):16604:16604 -> b
    5:13:boolean isInitialized():17086:17094 -> b
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getReturnType():16884:16884 -> b
    14:14:boolean isInitialized():17095 -> b
    15:16:boolean isInitialized():17095:17096 -> b
    17:17:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getTypeParameterCount():16921:16921 -> b
    17:17:boolean isInitialized():17100 -> b
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getTypeParameter(int):16927:16927 -> b
    18:18:boolean isInitialized():17101 -> b
    19:24:boolean isInitialized():17101:17106 -> b
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getReceiverType():16949:16949 -> b
    25:25:boolean isInitialized():17107 -> b
    26:31:boolean isInitialized():17107:17112 -> b
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getSetterValueParameter():16979:16979 -> b
    32:32:boolean isInitialized():17113 -> b
    33:42:boolean isInitialized():17113:17122 -> b
    1:1:int access$15702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$16800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):16604:16604 -> c
    3:54:int getSerializedSize():17174:17225 -> c
    55:55:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.getVersionRequirementList():17047:17047 -> c
    55:55:int getSerializedSize():17229 -> c
    56:60:int getSerializedSize():17229:17233 -> c
    1:1:int access$15902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.newBuilder():17297:17297 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.newBuilderForType():17298 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():16604 -> d
    1:1:int access$16202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.newBuilder():17297:17297 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17300 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.toBuilder():17302 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():16604 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17300:17300 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property.toBuilder():17302 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():16604 -> e
    1:1:int access$16402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> f
    1:1:int access$16502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> g
    1:1:int access$16702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,int):16604:16604 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property getDefaultInstance():16618:16618 -> k
    1:1:int getFlags():16839:16839 -> l
    1:1:int getGetterFlags():17018:17018 -> m
    1:1:int getName():16869:16869 -> n
    1:1:int getOldFlags():16854:16854 -> o
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getReceiverType():16949:16949 -> p
    1:1:int getReceiverTypeId():16964:16964 -> q
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getReturnType():16884:16884 -> r
    1:1:int getReturnTypeId():16899:16899 -> s
    1:1:int getSetterFlags():17033:17033 -> t
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter getSetterValueParameter():16979:16979 -> u
    1:1:java.util.List getTypeParameterList():16908:16908 -> v
    1:1:java.util.List getVersionRequirementList():17047:17047 -> w
    1:1:boolean hasFlags():16817:16817 -> x
    1:1:boolean hasGetterFlags():17000:17000 -> y
    1:1:boolean hasName():16863:16863 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$1 -> com.android.tools.r8.internal.xO:
    1:1:void <init>():16780:16780 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16785:16785 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):16780 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder -> com.android.tools.r8.internal.yO:
    int getterFlags_ -> o
    java.util.List versionRequirement_ -> q
    int receiverTypeId_ -> m
    int returnTypeId_ -> j
    int name_ -> h
    int flags_ -> f
    int oldFlags_ -> g
    int bitField0_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type receiverType_ -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type returnType_ -> i
    int setterFlags_ -> p
    java.util.List typeParameter_ -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter setterValueParameter_ -> n
    1:868:void <init>():17313:18180 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):17307:17307 -> a
    2:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17427:17432 -> a
    8:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.setOldFlags(int):17652:17653 -> a
    8:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17432 -> a
    10:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17434:17438 -> a
    15:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17738:17740 -> a
    15:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17438 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17740 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17438 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17740 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17438 -> a
    20:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17740:17746 -> a
    20:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17438 -> a
    27:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17440:17441 -> a
    29:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.setReturnTypeId(int):17776:17777 -> a
    29:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17441 -> a
    31:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17443:17446 -> a
    35:37:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.ensureTypeParameterIsMutable():17794:17796 -> a
    35:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17448 -> a
    38:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17449:17454 -> a
    44:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17955:17957 -> a
    44:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17454 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17957 -> a
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17454 -> a
    48:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    48:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17957 -> a
    48:48:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17454 -> a
    49:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17957:17963 -> a
    49:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17454 -> a
    56:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17456:17457 -> a
    58:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.setReceiverTypeId(int):17993:17994 -> a
    58:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17457 -> a
    60:61:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17459:17460 -> a
    62:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeSetterValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18047:18049 -> a
    62:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17460 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder():18755:18755 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18758 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeSetterValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18049 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17460 -> a
    66:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18758:18758 -> a
    66:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeSetterValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18049 -> a
    66:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17460 -> a
    67:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeSetterValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18049:18055 -> a
    67:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17460 -> a
    74:83:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17462:17471 -> a
    84:86:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.ensureVersionRequirementIsMutable():18182:18184 -> a
    84:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17473 -> a
    87:92:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property):17474:17479 -> a
    93:99:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):17526:17532 -> a
    93:99:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):17307 -> a
    100:104:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):17528:17532 -> a
    100:104:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):17307 -> a
    105:107:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.ensureTypeParameterIsMutable():17794:17796 -> a
    105:107:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17871 -> a
    108:108:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17872:17872 -> a
    109:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7811:7811 -> a
    109:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17872 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    110:110:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7812:7812 -> a
    110:110:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17872 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17872:17872 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17872 -> a
    113:113:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813:7813 -> a
    113:113:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):17872 -> a
    114:116:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setReceiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17936:17938 -> a
    117:119:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setSetterValueParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18028:18030 -> a
    120:122:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.ensureVersionRequirementIsMutable():18182:18184 -> a
    120:122:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addVersionRequirement(int):18240 -> a
    123:123:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder addVersionRequirement(int):18241:18241 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setFlags(int):17604:17605 -> b
    3:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setReturnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):17719:17721 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17361:17362 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():17307 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():17307 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363:17363 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():17307 -> c
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setGetterFlags(int):18121:18122 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.create():17320:17320 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.clone():17353 -> clone
    1:1:java.lang.Object clone():17307 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.clone():17353:17353 -> clone
    2:2:java.lang.Object clone():17307 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.getDefaultInstanceForType():17357:17357 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():17307 -> d
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setName(int):17684:17685 -> d
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder setSetterFlags(int):18165:18166 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.create():17320:17320 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder access$15300():17307 -> f
    1:54:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property buildPartial():17369:17422 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type -> com.android.tools.r8.internal.GO:
    int outerTypeId_ -> o
    int typeParameterName_ -> l
    int typeAliasName_ -> m
    int className_ -> j
    int typeParameter_ -> k
    int flexibleUpperBoundId_ -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type defaultInstance -> u
    int flexibleTypeCapabilitiesId_ -> g
    int bitField0_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type abbreviatedType_ -> p
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type outerType_ -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> v
    java.util.List argument_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type flexibleUpperBound_ -> h
    boolean nullable_ -> f
    int memoizedSerializedSize -> t
    byte memoizedIsInitialized -> s
    int flags_ -> r
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    int abbreviatedTypeId_ -> q
    1:2209:void <clinit>():4973:7181 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):4807:4807 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):4807:4807 -> <init>
    3:1248:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):4814:6059 -> <init>
    1249:1249:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):4815:4815 -> <init>
    1250:2493:void <init>(boolean):4817:4817 -> <init>
    2494:3721:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4832:6059 -> <init>
    3722:3838:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4833:4949 -> <init>
    3839:3847:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4936:4944 -> <init>
    3848:3849:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4930:4931 -> <init>
    3850:3851:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4925:4926 -> <init>
    3852:3860:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4913:4921 -> <init>
    3861:3862:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4907:4908 -> <init>
    3863:3864:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4902:4903 -> <init>
    3865:3866:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4897:4898 -> <init>
    3867:3868:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4892:4893 -> <init>
    3869:3877:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4880:4888 -> <init>
    3878:3879:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4874:4875 -> <init>
    3880:3881:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4869:4870 -> <init>
    3882:3885:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4862:4865 -> <init>
    3886:3987:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4856:4957 -> <init>
    3988:4003:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4955:4970 -> <init>
    4004:4013:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4961:4970 -> <init>
    1:1:boolean hasAbbreviatedTypeId():5919:5919 -> A
    1:1:boolean hasClassName():5780:5780 -> B
    1:1:boolean hasFlags():5939:5939 -> C
    1:1:boolean hasFlexibleTypeCapabilitiesId():5730:5730 -> D
    1:1:boolean hasFlexibleUpperBound():5750:5750 -> E
    1:1:boolean hasFlexibleUpperBoundId():5765:5765 -> F
    1:1:boolean hasNullable():5710:5710 -> G
    1:1:boolean hasOuterType():5870:5870 -> H
    1:1:boolean hasOuterTypeId():5889:5889 -> I
    1:1:boolean hasTypeAliasName():5846:5846 -> J
    1:1:boolean hasTypeParameter():5799:5799 -> K
    1:1:boolean hasTypeParameterName():5822:5822 -> L
    1:3:void initFields():5954:5956 -> M
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getDefaultInstance():4821:4821 -> M
    4:4:void initFields():5957 -> M
    5:15:void initFields():5957:5967 -> M
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder newBuilder():6187:6187 -> N
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> O
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> O
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder toBuilder():6192 -> O
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> O
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder toBuilder():6192 -> O
    1:1:java.util.List access$5900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):4807:4807 -> a
    2:2:java.util.List access$5902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,java.util.List):4807:4807 -> a
    3:3:boolean access$6002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,boolean):4807:4807 -> a
    4:4:int access$6102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$6202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):4807:4807 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getDefaultInstanceForType():4825:4825 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():4807 -> a
    7:54:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):6009:6056 -> a
    1:1:int access$6302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$6802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):4807:4807 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$7400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):4807:4807 -> b
    4:4:boolean isInitialized():5971:5971 -> b
    5:5:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getArgumentCount():5688:5688 -> b
    5:5:boolean isInitialized():5975 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getArgument(int):5694:5694 -> b
    6:6:boolean isInitialized():5976 -> b
    7:12:boolean isInitialized():5976:5981 -> b
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getFlexibleUpperBound():5756:5756 -> b
    13:13:boolean isInitialized():5982 -> b
    14:19:boolean isInitialized():5982:5987 -> b
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getOuterType():5880:5880 -> b
    20:20:boolean isInitialized():5988 -> b
    21:26:boolean isInitialized():5988:5993 -> b
    27:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.getAbbreviatedType():5910:5910 -> b
    27:27:boolean isInitialized():5994 -> b
    28:37:boolean isInitialized():5994:6003 -> b
    1:1:int access$6402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$7002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):4807:4807 -> c
    3:15:int getSerializedSize():6061:6073 -> c
    16:16:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeBoolSize(int,boolean):587:587 -> c
    16:16:int getSerializedSize():6074 -> c
    17:63:int getSerializedSize():6077:6123 -> c
    1:1:int access$6502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilderForType():6188 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():4807 -> d
    1:1:int access$6602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.toBuilder():6192 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():4807 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.toBuilder():6192 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():4807 -> e
    1:1:int access$6702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> f
    1:1:int access$6902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> g
    1:1:int access$7102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> h
    1:1:int access$7202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> i
    1:1:int access$7302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,int):4807:4807 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getAbbreviatedType():5910:5910 -> k
    1:1:int getAbbreviatedTypeId():5925:5925 -> l
    1:1:java.util.List getArgumentList():5675:5675 -> m
    1:1:int getClassName():5786:5786 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getDefaultInstance():4821:4821 -> o
    1:1:int getFlags():5950:5950 -> p
    1:1:int getFlexibleTypeCapabilitiesId():5741:5741 -> q
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getFlexibleUpperBound():5756:5756 -> r
    1:1:int getFlexibleUpperBoundId():5771:5771 -> s
    1:1:boolean getNullable():5716:5716 -> t
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getOuterType():5880:5880 -> u
    1:1:int getOuterTypeId():5895:5895 -> v
    1:1:int getTypeAliasName():5857:5857 -> w
    1:1:int getTypeParameter():5809:5809 -> x
    1:1:int getTypeParameterName():5832:5832 -> y
    1:1:boolean hasAbbreviatedType():5904:5904 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$1 -> com.android.tools.r8.internal.AO:
    1:1:void <init>():4974:4974 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4979:4979 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):4974 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument -> com.android.tools.r8.internal.EO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument defaultInstance -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    int memoizedSerializedSize -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection projection_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type_ -> e
    int typeId_ -> f
    int bitField0_ -> c
    byte memoizedIsInitialized -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> j
    1:538:void <clinit>():5125:5662 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):5030:5030 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):5030:5030 -> <init>
    3:271:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):5036:5304 -> <init>
    272:272:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):5037:5037 -> <init>
    273:539:void <init>(boolean):5039:5039 -> <init>
    540:790:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5054:5304 -> <init>
    791:840:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5055:5104 -> <init>
    841:849:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5091:5099 -> <init>
    850:884:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5078:5112 -> <init>
    885:897:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5110:5122 -> <init>
    898:902:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5116:5120 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection access$5202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection):5030:5030 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$5302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):5030:5030 -> a
    3:3:int access$5402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument,int):5030:5030 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$5600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5030:5030 -> a
    5:15:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):5291:5301 -> a
    1:1:int access$5502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument,int):5030:5030 -> b
    2:6:boolean isInitialized():5275:5279 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.getType():5250:5250 -> b
    7:7:boolean isInitialized():5280 -> b
    8:13:boolean isInitialized():5280:5285 -> b
    1:18:int getSerializedSize():5306:5323 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.newBuilder():5387:5387 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.newBuilderForType():5388 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():5030 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.newBuilder():5387:5387 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5390 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.toBuilder():5392 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():5030 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5390:5390 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument.toBuilder():5392 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():5030 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument getDefaultInstance():5043:5043 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection getProjection():5227:5227 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getType():5250:5250 -> i
    1:1:int getTypeId():5265:5265 -> j
    1:1:boolean hasProjection():5221:5221 -> k
    1:1:boolean hasType():5240:5240 -> l
    1:1:boolean hasTypeId():5259:5259 -> m
    1:3:void initFields():5269:5271 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder newBuilder():5387:5387 -> o
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$1 -> com.android.tools.r8.internal.BO:
    1:1:void <init>():5126:5126 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5131:5131 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5126 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder -> com.android.tools.r8.internal.CO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection projection_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type_ -> e
    int typeId_ -> f
    int bitField0_ -> c
    1:138:void <init>():5404:5541 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):5397:5397 -> a
    2:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5462:5467 -> a
    8:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):5600:5602 -> a
    8:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5467 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):5602 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5467 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):5602 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5467 -> a
    13:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):5602:5608 -> a
    13:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5467 -> a
    20:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5469:5470 -> a
    22:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.setTypeId(int):5642:5643 -> a
    22:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5470 -> a
    24:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument):5472:5472 -> a
    25:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5493:5499 -> a
    25:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5397 -> a
    32:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5495:5499 -> a
    32:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):5397 -> a
    37:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder setProjection(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection):5524:5527 -> a
    41:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder setType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):5573:5575 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.build():5434:5435 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():5397 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.build():5436 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():5397 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.build():5436:5436 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():5397 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.create():5411:5411 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.clone():5426 -> clone
    1:1:java.lang.Object clone():5397 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.clone():5426:5426 -> clone
    2:2:java.lang.Object clone():5397 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.create():5411:5411 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder access$5000():5397 -> f
    1:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument buildPartial():5442:5457 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection -> com.android.tools.r8.internal.DO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection INV -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection STAR -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection IN -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection OUT -> d
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection[] $VALUES -> g
    1:13:void <clinit>():5148:5160 -> <clinit>
    14:14:void <clinit>():5143:5143 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):5207:5208 -> <init>
    1:1:int getNumber():5181:5181 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5188:5188 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5187:5187 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5186:5186 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Projection valueOf(int):5185:5185 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder -> com.android.tools.r8.internal.FO:
    int typeAliasName_ -> n
    int typeParameter_ -> l
    int typeParameterName_ -> m
    int flexibleUpperBoundId_ -> j
    int className_ -> k
    int flexibleTypeCapabilitiesId_ -> h
    int bitField0_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type abbreviatedType_ -> q
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type outerType_ -> o
    java.util.List argument_ -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type flexibleUpperBound_ -> i
    boolean nullable_ -> g
    int abbreviatedTypeId_ -> r
    int flags_ -> s
    int outerTypeId_ -> p
    1:830:void <init>():6203:7032 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):6197:6197 -> a
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6328:6332 -> a
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.ensureArgumentIsMutable():6438:6440 -> a
    7:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6334 -> a
    10:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6335:6346 -> a
    22:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeFlexibleUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6683:6685 -> a
    22:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6346 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.create():6210:6210 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.access$5700():6197 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeFlexibleUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6685 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6346 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeFlexibleUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6685 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6346 -> a
    27:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeFlexibleUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6685:6691 -> a
    27:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6346 -> a
    34:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6348:6349 -> a
    36:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.setFlexibleUpperBoundId(int):6721:6722 -> a
    36:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6349 -> a
    38:45:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6351:6358 -> a
    46:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.setTypeParameterName(int):6845:6846 -> a
    46:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6358 -> a
    48:52:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6360:6364 -> a
    53:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeOuterType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6975:6977 -> a
    53:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6364 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.create():6210:6210 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.access$5700():6197 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeOuterType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6977 -> a
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6364 -> a
    57:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    57:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeOuterType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6977 -> a
    57:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6364 -> a
    58:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeOuterType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6977:6983 -> a
    58:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6364 -> a
    65:66:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6366:6367 -> a
    67:68:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.setOuterTypeId(int):7017:7018 -> a
    67:68:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6367 -> a
    69:70:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6369:6370 -> a
    71:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeAbbreviatedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):7071:7073 -> a
    71:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6370 -> a
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.create():6210:6210 -> a
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.access$5700():6197 -> a
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187 -> a
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeAbbreviatedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):7073 -> a
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6370 -> a
    75:75:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    75:75:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeAbbreviatedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):7073 -> a
    75:75:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6370 -> a
    76:82:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeAbbreviatedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):7073:7079 -> a
    76:82:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6370 -> a
    83:84:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6372:6373 -> a
    85:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.setAbbreviatedTypeId(int):7109:7110 -> a
    85:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6373 -> a
    87:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6375:6379 -> a
    92:98:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):6422:6428 -> a
    92:98:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):6197 -> a
    99:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):6424:6428 -> a
    99:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):6197 -> a
    104:106:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.ensureArgumentIsMutable():6438:6440 -> a
    104:106:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder):6515 -> a
    107:107:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder):6516:6516 -> a
    108:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.build():5434:5435 -> a
    108:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder):6516 -> a
    110:110:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder):6516:6516 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.build():5436 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder):6516 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder.build():5436:5436 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder addArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Argument$Builder):6516 -> a
    113:114:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setNullable(boolean):6577:6578 -> a
    115:116:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setClassName(int):6753:6754 -> a
    1:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setAbbreviatedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):7052:7054 -> b
    4:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setFlags(int):7156:7157 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():6197:6197 -> c
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setFlexibleTypeCapabilitiesId(int):6624:6625 -> c
    4:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setFlexibleUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6664:6666 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.create():6210:6210 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.clone():6247 -> clone
    1:1:java.lang.Object clone():6197 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.clone():6247:6247 -> clone
    2:2:java.lang.Object clone():6197 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.getDefaultInstanceForType():6251:6251 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():6197 -> d
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setTypeAliasName(int):6896:6897 -> d
    4:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setOuterType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6948:6950 -> d
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder setTypeParameter(int):6797:6798 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder.create():6210:6210 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder access$5700():6197 -> f
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type build():6255:6256 -> g
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> g
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type build():6257 -> g
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type build():6257:6257 -> g
    1:61:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type buildPartial():6263:6323 -> h
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias -> com.android.tools.r8.internal.JO:
    int memoizedSerializedSize -> o
    int expandedTypeId_ -> k
    int underlyingTypeId_ -> i
    int name_ -> f
    int bitField0_ -> d
    int flags_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias defaultInstance -> p
    byte memoizedIsInitialized -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type expandedType_ -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> q
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type underlyingType_ -> h
    java.util.List typeParameter_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    java.util.List versionRequirement_ -> m
    java.util.List annotation_ -> l
    1:1264:void <clinit>():19485:20748 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):19327:19327 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):19327:19327 -> <init>
    3:464:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):19334:19795 -> <init>
    465:465:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):19335:19335 -> <init>
    466:925:void <init>(boolean):19337:19337 -> <init>
    926:1369:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19352:19795 -> <init>
    1370:1472:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19353:19455 -> <init>
    1473:1476:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19439:19442 -> <init>
    1477:1480:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19431:19434 -> <init>
    1481:1482:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19425:19426 -> <init>
    1483:1491:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19413:19421 -> <init>
    1492:1493:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19407:19408 -> <init>
    1494:1502:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19395:19403 -> <init>
    1503:1506:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19387:19390 -> <init>
    1507:1508:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19381:19382 -> <init>
    1509:1596:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19376:19463 -> <init>
    1597:1618:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19461:19482 -> <init>
    1619:1634:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19467:19482 -> <init>
    1:9:void initFields():19706:19714 -> A
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder newBuilder():19908:19908 -> B
    1:1:int access$18302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,int):19327:19327 -> a
    2:2:java.util.List access$18500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):19327:19327 -> a
    3:3:java.util.List access$18502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,java.util.List):19327:19327 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$18602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19327:19327 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getDefaultInstanceForType():19345:19345 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():19327 -> a
    6:38:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):19760:19792 -> a
    1:1:int access$18402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,int):19327:19327 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$18802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19327:19327 -> b
    3:3:java.util.List access$19000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):19327:19327 -> b
    4:4:java.util.List access$19002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,java.util.List):19327:19327 -> b
    5:10:boolean isInitialized():19718:19723 -> b
    11:11:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getTypeParameterCount():19560:19560 -> b
    11:11:boolean isInitialized():19726 -> b
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getTypeParameter(int):19566:19566 -> b
    12:12:boolean isInitialized():19727 -> b
    13:18:boolean isInitialized():19727:19732 -> b
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getUnderlyingType():19588:19588 -> b
    19:19:boolean isInitialized():19733 -> b
    20:25:boolean isInitialized():19733:19738 -> b
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getExpandedType():19618:19618 -> b
    26:26:boolean isInitialized():19739 -> b
    27:28:boolean isInitialized():19739:19740 -> b
    29:29:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getAnnotationCount():19655:19655 -> b
    29:29:boolean isInitialized():19744 -> b
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getAnnotation(int):19661:19661 -> b
    30:30:boolean isInitialized():19745 -> b
    31:40:boolean isInitialized():19745:19754 -> b
    1:1:int access$18702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,int):19327:19327 -> c
    2:2:java.util.List access$19100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):19327:19327 -> c
    3:3:java.util.List access$19102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,java.util.List):19327:19327 -> c
    4:43:int getSerializedSize():19797:19836 -> c
    44:44:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.getVersionRequirementList():19682:19682 -> c
    44:44:int getSerializedSize():19840 -> c
    45:49:int getSerializedSize():19840:19844 -> c
    1:1:int access$18902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,int):19327:19327 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$19300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):19327:19327 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.newBuilder():19908:19908 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.newBuilderForType():19909 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():19327 -> d
    1:1:int access$19202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,int):19327:19327 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.newBuilder():19908:19908 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):19911 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.toBuilder():19913 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():19327 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):19911:19911 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias.toBuilder():19913 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():19327 -> e
    1:1:java.util.List getAnnotationList():19642:19642 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias getDefaultInstance():19341:19341 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getExpandedType():19618:19618 -> m
    1:1:int getExpandedTypeId():19633:19633 -> n
    1:1:int getFlags():19523:19523 -> o
    1:1:int getName():19538:19538 -> p
    1:1:java.util.List getTypeParameterList():19547:19547 -> q
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getUnderlyingType():19588:19588 -> r
    1:1:int getUnderlyingTypeId():19603:19603 -> s
    1:1:java.util.List getVersionRequirementList():19682:19682 -> t
    1:1:boolean hasExpandedType():19612:19612 -> u
    1:1:boolean hasExpandedTypeId():19627:19627 -> v
    1:1:boolean hasFlags():19512:19512 -> w
    1:1:boolean hasName():19532:19532 -> x
    1:1:boolean hasUnderlyingType():19582:19582 -> y
    1:1:boolean hasUnderlyingTypeId():19597:19597 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$1 -> com.android.tools.r8.internal.HO:
    1:1:void <init>():19486:19486 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19491:19491 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19486 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder -> com.android.tools.r8.internal.IO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type expandedType_ -> k
    int expandedTypeId_ -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type underlyingType_ -> i
    int underlyingTypeId_ -> j
    int flags_ -> f
    int name_ -> g
    java.util.List typeParameter_ -> h
    int bitField0_ -> e
    java.util.List versionRequirement_ -> n
    java.util.List annotation_ -> m
    1:726:void <init>():19924:20649 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):19918:19918 -> a
    2:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20021:20031 -> a
    13:15:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.ensureTypeParameterIsMutable():20218:20220 -> a
    13:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20033 -> a
    16:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20034:20039 -> a
    22:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20379:20381 -> a
    22:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20039 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20381 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20039 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20381 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20039 -> a
    27:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20381:20387 -> a
    27:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20039 -> a
    34:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20041:20042 -> a
    36:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.setUnderlyingTypeId(int):20417:20418 -> a
    36:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20042 -> a
    38:39:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20044:20045 -> a
    40:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeExpandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20471:20473 -> a
    40:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20045 -> a
    43:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    43:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    43:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeExpandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20473 -> a
    43:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20045 -> a
    44:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    44:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeExpandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20473 -> a
    44:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20045 -> a
    45:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeExpandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20473:20479 -> a
    45:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20045 -> a
    52:53:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20047:20048 -> a
    54:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.setExpandedTypeId(int):20509:20510 -> a
    54:55:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20048 -> a
    56:59:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20050:20053 -> a
    60:62:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.ensureAnnotationIsMutable():20527:20529 -> a
    60:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20055 -> a
    63:70:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20056:20063 -> a
    71:73:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.ensureVersionRequirementIsMutable():20651:20653 -> a
    71:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20065 -> a
    74:79:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias):20066:20071 -> a
    80:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20118:20124 -> a
    80:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19918 -> a
    87:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):20120:20124 -> a
    87:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):19918 -> a
    92:94:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.ensureTypeParameterIsMutable():20218:20220 -> a
    92:94:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20295 -> a
    95:95:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20296:20296 -> a
    96:96:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7811:7811 -> a
    96:96:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20296 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    97:97:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7812:7812 -> a
    97:97:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20296 -> a
    98:98:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20296:20296 -> a
    99:99:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    99:99:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813 -> a
    99:99:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20296 -> a
    100:100:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813:7813 -> a
    100:100:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addTypeParameter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder):20296 -> a
    101:103:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder setExpandedType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20452:20454 -> a
    104:106:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.ensureAnnotationIsMutable():20527:20529 -> a
    104:106:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder):20604 -> a
    107:107:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder):20605:20605 -> a
    108:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4369:4370 -> a
    108:109:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder):20605 -> a
    110:110:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder):20605:20605 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371 -> a
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder):20605 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371:4371 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder):20605 -> a
    113:115:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.ensureVersionRequirementIsMutable():20651:20653 -> a
    113:115:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addVersionRequirement(int):20709 -> a
    116:116:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder addVersionRequirement(int):20710:20710 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder setFlags(int):20163:20164 -> b
    3:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder setUnderlyingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):20360:20362 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19966:19967 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():19918 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19968 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():19918 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.build():19968:19968 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():19918 -> c
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder setName(int):20200:20201 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.create():19931:19931 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.clone():19958 -> clone
    1:1:java.lang.Object clone():19918 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.clone():19958:19958 -> clone
    2:2:java.lang.Object clone():19918 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.getDefaultInstanceForType():19962:19962 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():19918 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder.create():19931:19931 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias$Builder access$18100():19918 -> f
    1:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias buildPartial():19974:20016 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter -> com.android.tools.r8.internal.NO:
    int memoizedSerializedSize -> m
    int upperBoundIdMemoizedSerializedSize -> k
    int name_ -> f
    int bitField0_ -> d
    int id_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance variance_ -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter defaultInstance -> n
    byte memoizedIsInitialized -> l
    java.util.List upperBoundId_ -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> o
    java.util.List upperBound_ -> i
    boolean reified_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    1:875:void <clinit>():7386:8260 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):7258:7258 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):7258:7258 -> <init>
    3:391:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):7265:7653 -> <init>
    392:392:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):7266:7266 -> <init>
    393:779:void <init>(boolean):7268:7268 -> <init>
    780:1150:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7283:7653 -> <init>
    1151:1226:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7284:7359 -> <init>
    1227:1230:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7343:7346 -> <init>
    1231:1234:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7335:7338 -> <init>
    1235:1242:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7322:7329 -> <init>
    1243:1244:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7317:7318 -> <init>
    1245:1246:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7312:7313 -> <init>
    1247:1307:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7307:7367 -> <init>
    1308:1326:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7365:7383 -> <init>
    1327:1339:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7371:7383 -> <init>
    1:1:int access$7802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,int):7258:7258 -> a
    2:2:boolean access$8002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,boolean):7258:7258 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance access$8102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance):7258:7258 -> a
    4:4:java.util.List access$8200(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7258:7258 -> a
    5:5:java.util.List access$8202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,java.util.List):7258:7258 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.getDefaultInstanceForType():7276:7276 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():7258 -> a
    7:24:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):7623:7640 -> a
    25:25:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.getUpperBoundIdList():7569:7569 -> a
    25:25:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):7642 -> a
    26:34:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):7642:7650 -> a
    1:1:int access$7902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,int):7258:7258 -> b
    2:2:java.util.List access$8300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7258:7258 -> b
    3:3:java.util.List access$8302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,java.util.List):7258:7258 -> b
    4:13:boolean isInitialized():7595:7604 -> b
    14:14:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.getUpperBoundCount():7546:7546 -> b
    14:14:boolean isInitialized():7607 -> b
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.getUpperBound(int):7552:7552 -> b
    15:15:boolean isInitialized():7608 -> b
    16:25:boolean isInitialized():7608:7617 -> b
    1:1:int access$8402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,int):7258:7258 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$8500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7258:7258 -> c
    3:15:int getSerializedSize():7655:7667 -> c
    16:16:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeBoolSize(int,boolean):587:587 -> c
    16:16:int getSerializedSize():7668 -> c
    17:28:int getSerializedSize():7671:7682 -> c
    29:29:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.getUpperBoundIdList():7569:7569 -> c
    29:29:int getSerializedSize():7686 -> c
    30:39:int getSerializedSize():7686:7695 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.newBuilder():7759:7759 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.newBuilderForType():7760 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():7258 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.newBuilder():7759:7759 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7762 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.toBuilder():7764 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():7258 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7762:7762 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter.toBuilder():7764 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():7258 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter getDefaultInstance():7272:7272 -> k
    1:1:int getId():7479:7479 -> l
    1:1:int getName():7494:7494 -> m
    1:1:boolean getReified():7509:7509 -> n
    1:1:java.util.List getUpperBoundIdList():7569:7569 -> o
    1:1:java.util.List getUpperBoundList():7533:7533 -> p
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance getVariance():7524:7524 -> q
    1:1:boolean hasId():7473:7473 -> r
    1:1:boolean hasName():7488:7488 -> s
    1:1:boolean hasReified():7503:7503 -> t
    1:1:boolean hasVariance():7518:7518 -> u
    1:6:void initFields():7586:7591 -> v
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder newBuilder():7759:7759 -> w
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$1 -> com.android.tools.r8.internal.KO:
    1:1:void <init>():7387:7387 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7392:7392 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7387 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder -> com.android.tools.r8.internal.LO:
    int id_ -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance variance_ -> i
    java.util.List upperBound_ -> j
    int name_ -> g
    int bitField0_ -> e
    boolean reified_ -> h
    java.util.List upperBoundId_ -> k
    1:415:void <init>():7775:8189 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):7769:7769 -> a
    2:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7853:7869 -> a
    19:21:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.ensureUpperBoundIsMutable():8067:8069 -> a
    19:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7871 -> a
    22:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7872:7879 -> a
    30:32:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.ensureUpperBoundIdIsMutable():8191:8193 -> a
    30:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7881 -> a
    33:38:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter):7882:7887 -> a
    39:45:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7920:7926 -> a
    39:45:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7769 -> a
    46:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7922:7926 -> a
    46:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):7769 -> a
    51:52:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder setId(int):7950:7951 -> a
    53:54:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder setReified(boolean):8014:8015 -> a
    55:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder setVariance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance):8047:8050 -> a
    59:61:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.ensureUpperBoundIsMutable():8067:8069 -> a
    59:61:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder addUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):8144 -> a
    62:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder addUpperBound(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder):8145:8145 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder setName(int):7982:7983 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7811:7812 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():7769 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():7769 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.build():7813:7813 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():7769 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.create():7782:7782 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.clone():7803 -> clone
    1:1:java.lang.Object clone():7769 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.clone():7803:7803 -> clone
    2:2:java.lang.Object clone():7769 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.getDefaultInstanceForType():7807:7807 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():7769 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder.create():7782:7782 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder access$7600():7769 -> f
    1:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter buildPartial():7819:7848 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance -> com.android.tools.r8.internal.MO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance[] $VALUES -> f
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance INV -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance IN -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance OUT -> d
    1:9:void <clinit>():7409:7417 -> <clinit>
    10:10:void <clinit>():7404:7404 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):7459:7460 -> <init>
    1:1:int getNumber():7434:7434 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7440:7440 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7439:7439 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Variance valueOf(int):7438:7438 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable -> com.android.tools.r8.internal.QO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    java.util.List type_ -> d
    int memoizedSerializedSize -> g
    int firstNullable_ -> e
    byte memoizedIsInitialized -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable defaultInstance -> h
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:488:void <clinit>():13104:13591 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):13023:13023 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):13023:13023 -> <init>
    3:186:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):13029:13212 -> <init>
    187:187:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):13030:13030 -> <init>
    188:369:void <init>(boolean):13032:13032 -> <init>
    370:535:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13047:13212 -> <init>
    536:568:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13048:13080 -> <init>
    569:585:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13072:13088 -> <init>
    586:601:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13086:13101 -> <init>
    602:609:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13092:13099 -> <init>
    1:1:java.util.List access$12300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13023:13023 -> a
    2:2:java.util.List access$12302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable,java.util.List):13023:13023 -> a
    3:3:int access$12402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable,int):13023:13023 -> a
    4:11:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):13202:13209 -> a
    1:1:int access$12502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable,int):13023:13023 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$12600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13023:13023 -> b
    3:3:boolean isInitialized():13186:13186 -> b
    4:4:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.getTypeCount():13139:13139 -> b
    4:4:boolean isInitialized():13190 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.getType(int):13145:13145 -> b
    5:5:boolean isInitialized():13191 -> b
    6:11:boolean isInitialized():13191:13196 -> b
    1:14:int getSerializedSize():13214:13227 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder():13291:13291 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilderForType():13292 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():13023 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder():13291:13291 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.toBuilder():13296 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():13023 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294:13294 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.toBuilder():13296 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():13023 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable getDefaultInstance():13036:13036 -> g
    1:1:int getFirstNullable():13177:13177 -> h
    1:1:java.util.List getTypeList():13126:13126 -> i
    1:1:boolean hasFirstNullable():13166:13166 -> j
    1:2:void initFields():13181:13182 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder():13291:13291 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder toBuilder():13296 -> l
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13294:13294 -> l
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder toBuilder():13296 -> l
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$1 -> com.android.tools.r8.internal.OO:
    1:1:void <init>():13105:13105 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13110:13110 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13105 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder -> com.android.tools.r8.internal.PO:
    java.util.List type_ -> d
    int firstNullable_ -> e
    int bitField0_ -> c
    1:227:void <init>():13308:13534 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):13301:13301 -> a
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13361:13365 -> a
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.ensureTypeIsMutable():13412:13414 -> a
    7:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13367 -> a
    10:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13368:13373 -> a
    16:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.setFirstNullable(int):13566:13567 -> a
    16:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13373 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):13375:13375 -> a
    19:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13396:13402 -> a
    19:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13301 -> a
    26:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13398:13402 -> a
    26:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):13301 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.build():13336:13337 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():13301 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.build():13338 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():13301 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.build():13338:13338 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():13301 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.create():13315:13315 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.clone():13328 -> clone
    1:1:java.lang.Object clone():13301 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.clone():13328:13328 -> clone
    2:2:java.lang.Object clone():13301 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder.create():13315:13315 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable$Builder access$12100():13301 -> f
    1:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable buildPartial():13344:13356 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter -> com.android.tools.r8.internal.TO:
    int memoizedSerializedSize -> l
    byte memoizedIsInitialized -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type varargElementType_ -> i
    int varargElementTypeId_ -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type_ -> g
    int typeId_ -> h
    int name_ -> f
    int bitField0_ -> d
    int flags_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter defaultInstance -> m
    1:724:void <clinit>():18473:19196 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):18361:18361 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):18361:18361 -> <init>
    3:294:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):18368:18659 -> <init>
    295:295:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):18369:18369 -> <init>
    296:585:void <init>(boolean):18371:18371 -> <init>
    586:859:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18386:18659 -> <init>
    860:925:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18387:18452 -> <init>
    926:927:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18446:18447 -> <init>
    928:936:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18434:18442 -> <init>
    937:945:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18421:18429 -> <init>
    946:947:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18415:18416 -> <init>
    948:998:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18410:18460 -> <init>
    999:1011:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18458:18470 -> <init>
    1012:1018:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18464:18470 -> <init>
    1:1:int access$17202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,int):18361:18361 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$17402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):18361:18361 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$17900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18361:18361 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.getDefaultInstanceForType():18379:18379 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType():18361 -> a
    5:28:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):18633:18656 -> a
    1:1:int access$17302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,int):18361:18361 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type access$17602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):18361:18361 -> b
    3:11:boolean isInitialized():18603:18611 -> b
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.getType():18545:18545 -> b
    12:12:boolean isInitialized():18612 -> b
    13:18:boolean isInitialized():18612:18617 -> b
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.getVarargElementType():18575:18575 -> b
    19:19:boolean isInitialized():18618 -> b
    20:29:boolean isInitialized():18618:18627 -> b
    1:1:int access$17502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,int):18361:18361 -> c
    2:32:int getSerializedSize():18661:18691 -> c
    1:1:int access$17702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,int):18361:18361 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder():18755:18755 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilderForType():18756 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():18361 -> d
    1:1:int access$17802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,int):18361:18361 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder():18755:18755 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18758 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.toBuilder():18760 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():18361 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18758:18758 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.toBuilder():18760 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():18361 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter getDefaultInstance():18375:18375 -> k
    1:1:int getFlags():18515:18515 -> l
    1:1:int getName():18530:18530 -> m
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getType():18545:18545 -> n
    1:1:int getTypeId():18560:18560 -> o
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type getVarargElementType():18575:18575 -> p
    1:1:int getVarargElementTypeId():18590:18590 -> q
    1:1:boolean hasFlags():18502:18502 -> r
    1:1:boolean hasName():18524:18524 -> s
    1:1:boolean hasType():18539:18539 -> t
    1:1:boolean hasTypeId():18554:18554 -> u
    1:1:boolean hasVarargElementType():18569:18569 -> v
    1:1:boolean hasVarargElementTypeId():18584:18584 -> w
    1:6:void initFields():18594:18599 -> x
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder newBuilder():18755:18755 -> y
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder():18755:18755 -> z
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18758 -> z
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder toBuilder():18760 -> z
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18758:18758 -> z
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder toBuilder():18760 -> z
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$1 -> com.android.tools.r8.internal.RO:
    1:1:void <init>():18474:18474 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18479:18479 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18474 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder -> com.android.tools.r8.internal.SO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type varargElementType_ -> j
    int varargElementTypeId_ -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type_ -> h
    int typeId_ -> i
    int flags_ -> f
    int name_ -> g
    int bitField0_ -> e
    1:329:void <init>():18771:19099 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):18765:18765 -> a
    2:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18847:18855 -> a
    11:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19046:19048 -> a
    11:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18855 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19048 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18855 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19048 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18855 -> a
    16:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19048:19054 -> a
    16:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18855 -> a
    23:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18857:18858 -> a
    25:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.setTypeId(int):19084:19085 -> a
    25:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18858 -> a
    27:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18860:18861 -> a
    29:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeVarargElementType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19138:19140 -> a
    29:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18861 -> a
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder():6187:6187 -> a
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190 -> a
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeVarargElementType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19140 -> a
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18861 -> a
    33:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):6190:6190 -> a
    33:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeVarargElementType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19140 -> a
    33:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18861 -> a
    34:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeVarargElementType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19140:19146 -> a
    34:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18861 -> a
    41:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18863:18864 -> a
    43:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.setVarargElementTypeId(int):19176:19177 -> a
    43:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18864 -> a
    45:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter):18866:18867 -> a
    47:53:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18902:18908 -> a
    47:53:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18765 -> a
    54:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18904:18908 -> a
    54:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):18765 -> a
    59:60:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder setFlags(int):18953:18954 -> a
    61:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder setType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19027:19029 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder setName(int):18992:18993 -> b
    3:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder setVarargElementType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type):19119:19121 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18807:18808 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():18765 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():18765 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.build():18809:18809 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():18765 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.create():18778:18778 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.clone():18799 -> clone
    1:1:java.lang.Object clone():18765 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.clone():18799:18799 -> clone
    2:2:java.lang.Object clone():18765 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.getDefaultInstanceForType():18803:18803 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType():18765 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder.create():18778:18778 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter$Builder access$17000():18765 -> f
    1:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter buildPartial():18815:18842 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement -> com.android.tools.r8.internal.YO:
    byte memoizedIsInitialized -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level level_ -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    int memoizedSerializedSize -> k
    int message_ -> h
    int errorCode_ -> g
    int version_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind versionKind_ -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> m
    int versionFull_ -> e
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement defaultInstance -> l
    1:885:void <clinit>():21347:22231 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):21238:21238 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):21238:21238 -> <init>
    3:440:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):21244:21681 -> <init>
    441:441:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):21245:21245 -> <init>
    442:877:void <init>(boolean):21247:21247 -> <init>
    878:1297:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21262:21681 -> <init>
    1298:1360:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21263:21325 -> <init>
    1361:1362:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21313:21314 -> <init>
    1363:1364:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21308:21309 -> <init>
    1365:1372:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21296:21303 -> <init>
    1373:1374:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21291:21292 -> <init>
    1375:1423:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21286:21334 -> <init>
    1424:1436:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21332:21344 -> <init>
    1437:1441:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21338:21342 -> <init>
    1:1:int access$20302(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,int):21238:21238 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level access$20502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level):21238:21238 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind access$20802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind):21238:21238 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$21000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement):21238:21238 -> a
    5:24:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):21659:21678 -> a
    1:1:int access$20402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,int):21238:21238 -> b
    2:6:boolean isInitialized():21649:21653 -> b
    1:1:int access$20602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,int):21238:21238 -> c
    2:31:int getSerializedSize():21683:21712 -> c
    1:1:int access$20702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,int):21238:21238 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.newBuilder():21776:21776 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.newBuilderForType():21777 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():21238 -> d
    1:1:int access$20902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement,int):21238:21238 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.newBuilder():21776:21776 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement):21779 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.toBuilder():21781 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():21238 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement):21779:21779 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement.toBuilder():21781 -> e
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():21238 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement getDefaultInstance():21251:21251 -> g
    1:1:int getErrorCode():21588:21588 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level getLevel():21565:21565 -> i
    1:1:int getMessage():21611:21611 -> j
    1:1:int getVersion():21517:21517 -> k
    1:1:int getVersionFull():21542:21542 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind getVersionKind():21636:21636 -> m
    1:1:boolean hasErrorCode():21578:21578 -> n
    1:1:boolean hasLevel():21555:21555 -> o
    1:1:boolean hasMessage():21601:21601 -> p
    1:1:boolean hasVersion():21505:21505 -> q
    1:1:boolean hasVersionFull():21531:21531 -> r
    1:1:boolean hasVersionKind():21625:21625 -> s
    1:6:void initFields():21640:21645 -> t
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder newBuilder():21776:21776 -> u
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$1 -> com.android.tools.r8.internal.UO:
    1:1:void <init>():21348:21348 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21353:21353 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21348 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder -> com.android.tools.r8.internal.VO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level level_ -> f
    int message_ -> h
    int errorCode_ -> g
    int version_ -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind versionKind_ -> i
    int versionFull_ -> e
    int bitField0_ -> c
    1:379:void <init>():21793:22171 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):21786:21786 -> a
    2:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement):21869:21888 -> a
    22:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21903:21909 -> a
    22:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21786 -> a
    29:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21905:21909 -> a
    29:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):21786 -> a
    34:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder setLevel(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level):22054:22057 -> a
    38:39:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder setErrorCode(int):22104:22105 -> a
    40:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder setVersionKind(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind):22204:22207 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder setMessage(int):22152:22153 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.build():21829:21830 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():21786 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.build():21831 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():21786 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.build():21831:21831 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():21786 -> c
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder setVersion(int):21951:21952 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.create():21800:21800 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.clone():21821 -> clone
    1:1:java.lang.Object clone():21786 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.clone():21821:21821 -> clone
    2:2:java.lang.Object clone():21786 -> clone
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder setVersionFull(int):22004:22005 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.create():21800:21800 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder access$20100():21786 -> f
    1:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement buildPartial():21837:21864 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level -> com.android.tools.r8.internal.WO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level HIDDEN -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level ERROR -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level WARNING -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level[] $VALUES -> f
    int value -> b
    1:9:void <clinit>():21370:21378 -> <clinit>
    10:10:void <clinit>():21365:21365 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):21420:21421 -> <init>
    1:1:int getNumber():21395:21395 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21401:21401 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21400:21400 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Level valueOf(int):21399:21399 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind -> com.android.tools.r8.internal.XO:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind LANGUAGE_VERSION -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind API_VERSION -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind COMPILER_VERSION -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind[] $VALUES -> f
    int value -> b
    1:9:void <clinit>():21435:21443 -> <clinit>
    10:10:void <clinit>():21430:21430 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):21485:21486 -> <init>
    1:1:int getNumber():21460:21460 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21466:21466 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21465:21465 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind valueOf(int):21464:21464 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable -> com.android.tools.r8.internal.bP:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    java.util.List requirement_ -> c
    byte memoizedIsInitialized -> d
    int memoizedSerializedSize -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable defaultInstance -> f
    1:378:void <clinit>():22334:22711 -> <clinit>
    379:379:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.initFields():22385:22385 -> <clinit>
    379:379:void <clinit>():22712 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):22258:22258 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$1):22258:22258 -> <init>
    3:145:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):22264:22406 -> <init>
    146:146:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):22265:22265 -> <init>
    147:287:void <init>(boolean):22267:22267 -> <init>
    288:412:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22282:22406 -> <init>
    413:448:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22283:22318 -> <init>
    449:464:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22316:22331 -> <init>
    465:472:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22322:22329 -> <init>
    1:1:java.util.List access$21400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22258:22258 -> a
    2:2:java.util.List access$21402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable,java.util.List):22258:22258 -> a
    3:7:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):22399:22403 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$21500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22258:22258 -> b
    2:6:boolean isInitialized():22389:22393 -> b
    1:10:int getSerializedSize():22408:22417 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder():22481:22481 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilderForType():22482 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():22258 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder():22481:22481 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.toBuilder():22486 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():22258 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484:22484 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.toBuilder():22486 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():22258 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable getDefaultInstance():22271:22271 -> g
    1:1:int getRequirementCount():22368:22368 -> h
    1:1:java.util.List getRequirementList():22355:22355 -> i
    1:1:void initFields():22385:22385 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder newBuilder():22481:22481 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder():22481:22481 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder toBuilder():22486 -> l
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22484:22484 -> l
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder toBuilder():22486 -> l
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$1 -> com.android.tools.r8.internal.ZO:
    1:1:void <init>():22335:22335 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22340:22340 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22335 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder -> com.android.tools.r8.internal.aP:
    java.util.List requirement_ -> d
    int bitField0_ -> c
    1:85:void <init>():22498:22582 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):22491:22491 -> a
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22543:22547 -> a
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.ensureRequirementIsMutable():22585:22587 -> a
    7:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22549 -> a
    10:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable):22550:22554 -> a
    15:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22569:22575 -> a
    15:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22491 -> a
    22:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22571:22575 -> a
    22:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):22491 -> a
    27:29:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.ensureRequirementIsMutable():22585:22587 -> a
    27:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder addRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):22662 -> a
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder addRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):22663:22663 -> a
    31:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.build():21829:21830 -> a
    31:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder addRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):22663 -> a
    33:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder addRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):22663:22663 -> a
    34:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    34:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.build():21831 -> a
    34:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder addRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):22663 -> a
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder.build():21831:21831 -> a
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder addRequirement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):22663 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.build():22524:22525 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():22491 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.build():22526 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():22491 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.build():22526:22526 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():22491 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.create():22505:22505 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.clone():22516 -> clone
    1:1:java.lang.Object clone():22491 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.clone():22516:22516 -> clone
    2:2:java.lang.Object clone():22491 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder.create():22505:22505 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder access$21200():22491 -> f
    1:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable buildPartial():22532:22538 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility -> com.android.tools.r8.internal.cP:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility[] $VALUES -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility LOCAL -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PRIVATE_TO_THIS -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PUBLIC -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PROTECTED -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility PRIVATE -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility INTERNAL -> c
    int value -> b
    1:21:void <clinit>():105:125 -> <clinit>
    22:22:void <clinit>():96:96 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):186:187 -> <init>
    1:1:int getNumber():158:158 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility[] values():96:96 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.BinaryVersion -> com.android.tools.r8.internal.Z4:
# {"id":"sourceFile","fileName":"BinaryVersion.kt"}
    java.util.List rest -> e
    int patch -> d
    int[] numbers -> a
    int major -> b
    int minor -> c
    1:9:void <init>(int[]):17:25 -> <init>
    10:10:void <init>(int[]):23:23 -> <init>
    11:11:void <init>(int[]):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":40,"2":41,"3":42}}
    40:40:void <init>(int[]):23:23 -> <init>
    41:41:void <init>(int[]):23:23 -> <init>
    42:42:void <init>(int[]):23:23 -> <init>
    34:37:void <init>(int[]):23:26 -> <init>
    38:38:void <init>(int[]):21:21 -> <init>
    1:1:int getMajor():18:18 -> a
    2:3:boolean isCompatibleTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.BinaryVersion):39:40 -> a
    1:1:int getMinor():19:19 -> b
    1:1:int[] toArray():30:30 -> c
    1:2:boolean equals(java.lang.Object):76:77 -> equals
    1:4:int hashCode():80:83 -> hashCode
    1:1:int[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.BinaryVersion.toArray():30:30 -> toString
    1:1:java.lang.String toString():70 -> toString
    2:6:java.lang.String toString():99:103 -> toString
    7:7:java.lang.String toString():71:71 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags -> com.android.tools.r8.internal.Lk:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_CROSSINLINE -> q
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField DECLARES_DEFAULT_VALUE -> p
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_NOT_DEFAULT -> s
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_NOINLINE -> r
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_INLINE_ACCESSOR -> u
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_EXTERNAL_ACCESSOR -> t
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_UNSIGNED -> v
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField HAS_SETTER -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField VISIBILITY -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField HAS_GETTER -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField MODALITY -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_LATEINIT -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField MEMBER_KIND -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_CONST -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_EXTERNAL_PROPERTY -> m
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField HAS_CONSTANT -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_EXPECT_PROPERTY -> o
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_DELEGATED -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField SUSPEND_TYPE -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField HAS_ANNOTATIONS -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_VAR -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField IS_INLINE -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanFirst():245:245 -> <clinit>
    1:1:void <clinit>():17 -> <clinit>
    2:2:void <clinit>():17:17 -> <clinit>
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanFirst():245:245 -> <clinit>
    3:3:void <clinit>():22 -> <clinit>
    4:5:void <clinit>():22:23 -> <clinit>
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.after(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[]):237:237 -> <clinit>
    6:6:void <clinit>():23 -> <clinit>
    7:8:void <clinit>():23:24 -> <clinit>
    9:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.after(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[]):236:237 -> <clinit>
    9:10:void <clinit>():24 -> <clinit>
    11:15:void <clinit>():24:28 -> <clinit>
    16:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.after(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[]):236:237 -> <clinit>
    16:17:void <clinit>():28 -> <clinit>
    18:18:void <clinit>():43:43 -> <clinit>
    19:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.after(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[]):236:237 -> <clinit>
    19:20:void <clinit>():43 -> <clinit>
    21:21:void <clinit>():43:43 -> <clinit>
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):249:249 -> <clinit>
    22:22:void <clinit>():47 -> <clinit>
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    23:23:void <clinit>():49 -> <clinit>
    24:24:void <clinit>():49:49 -> <clinit>
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    25:25:void <clinit>():58 -> <clinit>
    26:26:void <clinit>():58:58 -> <clinit>
    27:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    27:27:void <clinit>():59 -> <clinit>
    28:28:void <clinit>():59:59 -> <clinit>
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    29:29:void <clinit>():60 -> <clinit>
    30:30:void <clinit>():60:60 -> <clinit>
    31:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    31:31:void <clinit>():61 -> <clinit>
    32:32:void <clinit>():61:61 -> <clinit>
    33:33:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    33:33:void <clinit>():62 -> <clinit>
    34:34:void <clinit>():62:62 -> <clinit>
    35:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    35:35:void <clinit>():63 -> <clinit>
    36:36:void <clinit>():63:63 -> <clinit>
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    37:37:void <clinit>():64 -> <clinit>
    38:38:void <clinit>():64:64 -> <clinit>
    39:39:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    39:39:void <clinit>():65 -> <clinit>
    40:40:void <clinit>():65:65 -> <clinit>
    41:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    41:41:void <clinit>():66 -> <clinit>
    42:42:void <clinit>():66:66 -> <clinit>
    43:43:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    43:43:void <clinit>():70 -> <clinit>
    44:44:void <clinit>():70:70 -> <clinit>
    45:45:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    45:45:void <clinit>():71 -> <clinit>
    46:46:void <clinit>():71:71 -> <clinit>
    47:47:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    47:47:void <clinit>():72 -> <clinit>
    48:48:void <clinit>():72:72 -> <clinit>
    49:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):249:250 -> <clinit>
    49:50:void <clinit>():76 -> <clinit>
    51:51:void <clinit>():76:76 -> <clinit>
    52:52:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    52:52:void <clinit>():77 -> <clinit>
    53:53:void <clinit>():77:77 -> <clinit>
    54:54:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanAfter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField):250:250 -> <clinit>
    54:54:void <clinit>():78 -> <clinit>
    55:55:void <clinit>():78:78 -> <clinit>
    56:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField.booleanFirst():245:245 -> <clinit>
    56:56:void <clinit>():85 -> <clinit>
    57:57:void <clinit>():85:85 -> <clinit>
    void $$$reportNull$$$0(int) -> a
    1:1:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):199:199 -> a
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField.toFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite):319:319 -> a
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField.toFlags(java.lang.Object):286 -> a
    2:2:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):199 -> a
    3:3:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):199:199 -> a
    4:4:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField.toFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite):319:319 -> a
    4:4:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField.toFlags(java.lang.Object):286 -> a
    4:4:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):199 -> a
    5:5:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):199:199 -> a
    6:6:int getAccessorFlags(boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Visibility,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Modality,boolean,boolean,boolean):0:0 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField -> com.android.tools.r8.internal.Ik:
    1:1:void <init>(int):269:269 -> <init>
    java.lang.Object get(int) -> a
    1:1:int toFlags(java.lang.Boolean):280:280 -> a
    1:1:java.lang.Boolean get(int):275:275 -> b
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$BooleanFlagField.$$$reportNull$$$0(int):0:0 -> b
    2:2:java.lang.Boolean get(int):275 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField -> com.android.tools.r8.internal.Jk:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[] values -> c
    1:2:void <init>(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite[]):290:291 -> <init>
    1:6:int bitWidth(java.lang.Object[]):295:300 -> a
    7:7:int bitWidth(java.lang.Object[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":308,"2":309,"3":310}}
    308:308:int bitWidth(java.lang.Object[]):300:300 -> a
    309:309:int bitWidth(java.lang.Object[]):300:300 -> a
    310:310:int bitWidth(java.lang.Object[]):300:300 -> a
    307:307:int bitWidth(java.lang.Object[]):300:300 -> a
    311:315:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$EnumLiteFlagField.get(int):306:310 -> a
    311:315:java.lang.Object get(int):286 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$FlagField -> com.android.tools.r8.internal.Kk:
    int bitWidth -> b
    int offset -> a
    1:1:void <init>(int,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.Flags$1):234:234 -> <init>
    2:4:void <init>(int,int):256:258 -> <init>
    java.lang.Object get(int) -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver -> com.android.tools.r8.internal.pG:
# {"id":"sourceFile","fileName":"NameResolver.kt"}
    java.lang.String getString(int) -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoBufUtilKt -> com.android.tools.r8.internal.dP:
# {"id":"sourceFile","fileName":"ProtoBufUtil.kt"}
    1:1:java.lang.Object getExtensionOrNull(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):12:12 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt -> com.android.tools.r8.internal.HP:
# {"id":"sourceFile","fileName":"protoTypeTableUtil.kt"}
    1:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type returnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):62:64 -> a
    4:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type type(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):76:78 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable -> com.android.tools.r8.internal.q00:
# {"id":"sourceFile","fileName":"TypeTable.kt"}
    java.util.List types -> a
    1:20:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):21:40 -> <init>
    21:21:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):28:28 -> <init>
    22:35:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):27:40 -> <init>
    36:36:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeTable):22:22 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type get(int):34:34 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement -> com.android.tools.r8.internal.G10:
# {"id":"sourceFile","fileName":"VersionRequirement.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version version -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind kind -> b
    java.lang.Integer errorCode -> d
    com.android.tools.r8.jetbrains.kotlin.DeprecationLevel level -> c
    java.lang.String message -> e
    1:6:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind,com.android.tools.r8.jetbrains.kotlin.DeprecationLevel,java.lang.Integer,java.lang.String):24:29 -> <init>
    1:1:java.lang.Integer getErrorCode():28:28 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$VersionKind getKind():26:26 -> b
    1:1:com.android.tools.r8.jetbrains.kotlin.DeprecationLevel getLevel():27:27 -> c
    1:1:java.lang.String getMessage():29:29 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version getVersion():25:25 -> e
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":247,"2":248,"3":249}}
    247:247:java.lang.String toString():81:81 -> toString
    248:248:java.lang.String toString():81:81 -> toString
    249:249:java.lang.String toString():81:81 -> toString
    82:82:java.lang.String toString():81:81 -> toString
    83:83:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":250,"2":251,"3":252}}
    250:250:java.lang.String toString():81:81 -> toString
    251:251:java.lang.String toString():81:81 -> toString
    252:252:java.lang.String toString():81:81 -> toString
    164:164:java.lang.String toString():81:81 -> toString
    165:165:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":253,"2":254,"3":255}}
    253:253:java.lang.String toString():81:81 -> toString
    254:254:java.lang.String toString():81:81 -> toString
    255:255:java.lang.String toString():81:81 -> toString
    246:246:java.lang.String toString():81:81 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version -> com.android.tools.r8.internal.F10:
# {"id":"sourceFile","fileName":"VersionRequirement.kt"}
    int minor -> b
    int patch -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version INFINITY -> d
    int major -> a
    1:1:void <clinit>():54:54 -> <clinit>
    1:1:void <init>(int,int,int):31:31 -> <init>
    int component1() -> a
    1:8:void encode(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):39:46 -> a
    9:9:void encode(com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1,com.android.tools.r8.jetbrains.kotlin.jvm.functions.Function1):43:43 -> a
    int component2() -> b
    int component3() -> c
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirement$Version.asString():33:33 -> toString
    1:1:java.lang.String toString():50 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable -> com.android.tools.r8.internal.H10:
# {"id":"sourceFile","fileName":"VersionRequirement.kt"}
    java.util.List infos -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable EMPTY -> b
    int $r8$clinit -> c
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>(java.util.List):11:11 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.VersionRequirementTable access$getEMPTY$cp():11:11 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement get(int):12:12 -> a
    3:3:java.lang.Object com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.getOrNull(java.util.List,int):0:0 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement get(int):12 -> a
    4:4:int com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt__CollectionsKt.getLastIndex(java.util.List):223:223 -> a
    4:4:java.lang.Object com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.getOrNull(java.util.List,int):304 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement get(int):12 -> a
    5:5:java.lang.Object com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.getOrNull(java.util.List,int):304:304 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement get(int):12 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement get(int):12:12 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf -> com.android.tools.r8.internal.Xw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension constructorSignature -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension propertySignature -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension flags -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension methodSignature -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension lambdaClassOriginName -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension typeParameterAnnotation -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension classModuleName -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension typeAnnotation -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension isRaw -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension jvmClassFlags -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension packageModuleName -> m
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension classLocalVariable -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension anonymousObjectOriginName -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension packageLocalVariable -> n
    1:233:void <clinit>():3965:4197 -> <clinit>
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature -> com.android.tools.r8.internal.Jw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature defaultInstance -> h
    int memoizedSerializedSize -> g
    int name_ -> d
    int desc_ -> e
    byte memoizedIsInitialized -> f
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:349:void <clinit>():2670:3018 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1):2595:2595 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1):2595:2595 -> <init>
    3:152:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2601:2750 -> <init>
    153:153:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2602:2602 -> <init>
    154:301:void <init>(boolean):2604:2604 -> <init>
    302:433:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2619:2750 -> <init>
    434:463:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2620:2649 -> <init>
    464:478:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2643:2657 -> <init>
    479:491:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2655:2667 -> <init>
    492:496:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2661:2665 -> <init>
    1:1:int access$2702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature,int):2595:2595 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$3000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2595:2595 -> a
    3:10:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):2740:2747 -> a
    1:1:int access$2802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature,int):2595:2595 -> b
    2:6:boolean isInitialized():2730:2734 -> b
    1:1:int access$2902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature,int):2595:2595 -> c
    2:15:int getSerializedSize():2752:2765 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder():2829:2829 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilderForType():2830 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():2595 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder():2829:2829 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2832 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.toBuilder():2834 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():2595 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2832:2832 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.toBuilder():2834 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():2595 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature getDefaultInstance():2608:2608 -> g
    1:1:int getDesc():2721:2721 -> h
    1:1:int getName():2698:2698 -> i
    1:1:boolean hasDesc():2711:2711 -> j
    1:1:boolean hasName():2692:2692 -> k
    1:2:void initFields():2725:2726 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder newBuilder():2829:2829 -> m
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder():2829:2829 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2832 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder toBuilder():2834 -> n
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2832:2832 -> n
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder toBuilder():2834 -> n
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$1 -> com.android.tools.r8.internal.Hw:
    1:1:void <init>():2671:2671 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2676:2676 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2671 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder -> com.android.tools.r8.internal.Iw:
    int name_ -> d
    int desc_ -> e
    int bitField0_ -> c
    1:1:void <init>():2846:2846 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):2839:2839 -> a
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2898:2905 -> a
    10:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2920:2926 -> a
    10:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2839 -> a
    17:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2922:2926 -> a
    17:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2839 -> a
    22:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder setDesc(int):2994:2995 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder setName(int):2950:2951 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.build():2874:2875 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():2839 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.build():2876 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():2839 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.build():2876:2876 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():2839 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.create():2853:2853 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.clone():2866 -> clone
    1:1:java.lang.Object clone():2839 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.clone():2866:2866 -> clone
    2:2:java.lang.Object clone():2839 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.create():2853:2853 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder access$2500():2839 -> f
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature buildPartial():2882:2893 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature -> com.android.tools.r8.internal.Mw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature defaultInstance -> h
    int memoizedSerializedSize -> g
    int name_ -> d
    int desc_ -> e
    byte memoizedIsInitialized -> f
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:349:void <clinit>():2208:2556 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1):2133:2133 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1):2133:2133 -> <init>
    3:152:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2139:2288 -> <init>
    153:153:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):2140:2140 -> <init>
    154:301:void <init>(boolean):2142:2142 -> <init>
    302:433:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2157:2288 -> <init>
    434:463:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2158:2187 -> <init>
    464:478:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2181:2195 -> <init>
    479:491:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2193:2205 -> <init>
    492:496:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2199:2203 -> <init>
    1:1:int access$2002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature,int):2133:2133 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$2300(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2133:2133 -> a
    3:10:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):2278:2285 -> a
    1:1:int access$2102(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature,int):2133:2133 -> b
    2:6:boolean isInitialized():2268:2272 -> b
    1:1:int access$2202(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature,int):2133:2133 -> c
    2:15:int getSerializedSize():2290:2303 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilderForType():2368 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():2133 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.toBuilder():2372 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():2133 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370:2370 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.toBuilder():2372 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():2133 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getDefaultInstance():2146:2146 -> g
    1:1:int getDesc():2259:2259 -> h
    1:1:int getName():2236:2236 -> i
    1:1:boolean hasDesc():2249:2249 -> j
    1:1:boolean hasName():2230:2230 -> k
    1:2:void initFields():2263:2264 -> l
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder newBuilder():2367:2367 -> m
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370 -> n
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder toBuilder():2372 -> n
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370:2370 -> n
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder toBuilder():2372 -> n
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$1 -> com.android.tools.r8.internal.Kw:
    1:1:void <init>():2209:2209 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2214:2214 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2209 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder -> com.android.tools.r8.internal.Lw:
    int name_ -> d
    int desc_ -> e
    int bitField0_ -> c
    1:1:void <init>():2384:2384 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):2377:2377 -> a
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2436:2443 -> a
    10:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2458:2464 -> a
    10:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2377 -> a
    17:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2460:2464 -> a
    17:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):2377 -> a
    22:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder setDesc(int):2532:2533 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder setName(int):2488:2489 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.build():2412:2413 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():2377 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.build():2414 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():2377 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.build():2414:2414 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():2377 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.create():2391:2391 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.clone():2404 -> clone
    1:1:java.lang.Object clone():2377 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.clone():2404:2404 -> clone
    2:2:java.lang.Object clone():2377 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.create():2391:2391 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder access$1800():2377 -> f
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature buildPartial():2420:2431 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature -> com.android.tools.r8.internal.Pw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature syntheticMethod_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getter_ -> f
    byte memoizedIsInitialized -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature setter_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature delegateMethod_ -> h
    int memoizedSerializedSize -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature defaultInstance -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature field_ -> d
    int bitField0_ -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> l
    1:729:void <clinit>():3224:3952 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1):3094:3094 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1):3094:3094 -> <init>
    3:274:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):3100:3371 -> <init>
    275:275:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):3101:3101 -> <init>
    276:545:void <init>(boolean):3103:3103 -> <init>
    546:799:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3118:3371 -> <init>
    800:884:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3119:3203 -> <init>
    885:893:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3182:3190 -> <init>
    894:902:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3169:3177 -> <init>
    903:911:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3156:3164 -> <init>
    912:980:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3143:3211 -> <init>
    981:993:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3209:3221 -> <init>
    994:998:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3215:3219 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature access$3402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):3094:3094 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$3502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3094:3094 -> a
    3:3:int access$3902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature,int):3094:3094 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$4000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3094:3094 -> a
    5:21:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):3352:3368 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$3602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3094:3094 -> b
    2:6:boolean isInitialized():3342:3346 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$3702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3094:3094 -> c
    2:27:int getSerializedSize():3373:3398 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$3802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3094:3094 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.newBuilder():3462:3462 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.newBuilderForType():3463 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():3094 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.newBuilder():3462:3462 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3465 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.toBuilder():3467 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():3094 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3465:3465 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature.toBuilder():3467 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():3094 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature getDefaultInstance():3107:3107 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getDelegateMethod():3330:3330 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature getField():3252:3252 -> i
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getGetter():3290:3290 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getSetter():3305:3305 -> k
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getSyntheticMethod():3275:3275 -> l
    1:1:boolean hasDelegateMethod():3319:3319 -> m
    1:1:boolean hasField():3246:3246 -> n
    1:1:boolean hasGetter():3284:3284 -> o
    1:1:boolean hasSetter():3299:3299 -> p
    1:1:boolean hasSyntheticMethod():3265:3265 -> q
    1:5:void initFields():3334:3338 -> r
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder newBuilder():3462:3462 -> s
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$1 -> com.android.tools.r8.internal.Nw:
    1:1:void <init>():3225:3225 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3230:3230 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3225 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder -> com.android.tools.r8.internal.Ow:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature syntheticMethod_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature getter_ -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature setter_ -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature delegateMethod_ -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature field_ -> d
    int bitField0_ -> c
    1:379:void <init>():3479:3857 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):3472:3472 -> a
    2:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3549:3551 -> a
    5:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):3632:3634 -> a
    5:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3551 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder():2829:2829 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2832 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):3634 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3551 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):2832:2832 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):3634 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3551 -> a
    10:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):3634:3640 -> a
    10:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3551 -> a
    17:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3553:3554 -> a
    19:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSyntheticMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3712:3714 -> a
    19:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3554 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSyntheticMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3714 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3554 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370:2370 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSyntheticMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3714 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3554 -> a
    24:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSyntheticMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3714:3720 -> a
    24:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3554 -> a
    31:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3556:3557 -> a
    33:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeGetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3776:3778 -> a
    33:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3557 -> a
    36:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> a
    36:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370 -> a
    36:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeGetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3778 -> a
    36:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3557 -> a
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370:2370 -> a
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeGetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3778 -> a
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3557 -> a
    38:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeGetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3778:3784 -> a
    38:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3557 -> a
    45:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3559:3560 -> a
    47:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3836:3838 -> a
    47:49:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3560 -> a
    50:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> a
    50:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370 -> a
    50:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3838 -> a
    50:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3560 -> a
    51:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370:2370 -> a
    51:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3838 -> a
    51:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3560 -> a
    52:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeSetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3838:3844 -> a
    52:58:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3560 -> a
    59:60:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3562:3563 -> a
    61:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeDelegateMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3921:3923 -> a
    61:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3563 -> a
    64:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder():2367:2367 -> a
    64:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370 -> a
    64:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeDelegateMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3923 -> a
    64:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3563 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):2370:2370 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeDelegateMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3923 -> a
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3563 -> a
    66:72:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeDelegateMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3923:3929 -> a
    66:72:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3563 -> a
    73:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature):3565:3565 -> a
    74:80:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3580:3586 -> a
    74:80:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3472 -> a
    81:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3582:3586 -> a
    81:85:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):3472 -> a
    86:88:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature):3613:3615 -> a
    89:91:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder setDelegateMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3892:3894 -> a
    1:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder setGetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3757:3759 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.build():3513:3514 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3472 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.build():3515 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3472 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.build():3515:3515 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():3472 -> c
    5:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder setSetter(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3817:3819 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.create():3486:3486 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.clone():3505 -> clone
    1:1:java.lang.Object clone():3472 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.clone():3505:3505 -> clone
    2:2:java.lang.Object clone():3472 -> clone
    1:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder setSyntheticMethod(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature):3685:3687 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.create():3486:3486 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder access$3200():3472 -> f
    1:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature buildPartial():3521:3544 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes -> com.android.tools.r8.internal.Ww:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes defaultInstance -> h
    java.util.List localName_ -> d
    java.util.List record_ -> c
    int memoizedSerializedSize -> g
    int localNameMemoizedSerializedSize -> e
    byte memoizedIsInitialized -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> i
    1:1924:void <clinit>():171:2094 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1):71:71 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1):71:71 -> <init>
    3:1589:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):77:1663 -> <init>
    1590:1590:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):78:78 -> <init>
    1591:3175:void <init>(boolean):80:80 -> <init>
    3176:4744:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):95:1663 -> <init>
    4745:4793:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):96:144 -> <init>
    4794:4797:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):128:131 -> <init>
    4798:4830:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):120:152 -> <init>
    4831:4849:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):150:168 -> <init>
    4850:4860:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):156:166 -> <init>
    1:1:java.util.List access$1400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):71:71 -> a
    2:2:java.util.List access$1402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes,java.util.List):71:71 -> a
    3:5:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):1649:1651 -> a
    6:6:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.getLocalNameList():1609:1609 -> a
    6:6:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):1653 -> a
    7:14:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):1653:1660 -> a
    1:1:java.util.List access$1500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):71:71 -> b
    2:2:java.util.List access$1502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes,java.util.List):71:71 -> b
    3:7:boolean isInitialized():1639:1643 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$1600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):71:71 -> c
    2:13:int getSerializedSize():1665:1676 -> c
    14:14:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.getLocalNameList():1609:1609 -> c
    14:14:int getSerializedSize():1680 -> c
    15:23:int getSerializedSize():1680:1688 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.newBuilder():1752:1752 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.newBuilderForType():1753 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():71 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.newBuilder():1752:1752 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1755 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.toBuilder():1757 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():71 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1755:1755 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.toBuilder():1757 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():71 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes getDefaultInstance():84:84 -> g
    1:1:java.util.List getLocalNameList():1609:1609 -> h
    1:1:java.util.List getRecordList():1569:1569 -> i
    1:2:void initFields():1634:1635 -> j
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder newBuilder():1752:1752 -> k
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$1 -> com.android.tools.r8.internal.Qw:
    1:1:void <init>():172:172 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):177:177 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):172 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder -> com.android.tools.r8.internal.Rw:
    java.util.List localName_ -> e
    java.util.List record_ -> d
    int bitField0_ -> c
    1:227:void <init>():1769:1995 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):1762:1762 -> a
    2:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1821:1825 -> a
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.ensureRecordIsMutable():1873:1875 -> a
    7:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1827 -> a
    10:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1828:1835 -> a
    18:20:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.ensureLocalNameIsMutable():1997:1999 -> a
    18:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1837 -> a
    21:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes):1838:1842 -> a
    26:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1857:1863 -> a
    26:32:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1762 -> a
    33:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1859:1863 -> a
    33:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1762 -> a
    38:40:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.ensureRecordIsMutable():1873:1875 -> a
    38:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder addAllRecord(java.lang.Iterable):1970 -> a
    41:41:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder addAllRecord(java.lang.Iterable):1971:1971 -> a
    42:44:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.ensureLocalNameIsMutable():1997:1999 -> a
    42:44:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder addAllLocalName(java.lang.Iterable):2069 -> a
    45:45:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder addAllLocalName(java.lang.Iterable):2070:2070 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.build():1797:1798 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():1762 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.build():1799 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():1762 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.build():1799:1799 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():1762 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.create():1776:1776 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.clone():1789 -> clone
    1:1:java.lang.Object clone():1762 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.clone():1789:1789 -> clone
    2:2:java.lang.Object clone():1762 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.create():1776:1776 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder access$1200():1762 -> f
    1:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes buildPartial():1805:1816 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record -> com.android.tools.r8.internal.Vw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    int memoizedSerializedSize -> m
    java.lang.Object string_ -> f
    int replaceCharMemoizedSerializedSize -> k
    int substringIndexMemoizedSerializedSize -> i
    int range_ -> d
    int predefinedIndex_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record defaultInstance -> n
    int bitField0_ -> c
    byte memoizedIsInitialized -> l
    java.util.List replaceChar_ -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser PARSER -> o
    java.util.List substringIndex_ -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation operation_ -> g
    1:1088:void <clinit>():470:1557 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1):329:329 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$1):329:329 -> <init>
    3:491:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):335:823 -> <init>
    492:492:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):336:336 -> <init>
    493:979:void <init>(boolean):338:338 -> <init>
    980:1450:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):353:823 -> <init>
    1451:1540:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):354:443 -> <init>
    1541:1550:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):428:437 -> <init>
    1551:1554:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):421:424 -> <init>
    1555:1564:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):407:416 -> <init>
    1565:1568:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):400:403 -> <init>
    1569:1576:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):387:394 -> <init>
    1577:1578:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):382:383 -> <init>
    1579:1653:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):377:451 -> <init>
    1654:1672:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):449:467 -> <init>
    1673:1683:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):455:465 -> <init>
    1:1:int access$1002(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,int):329:329 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$1100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):329:329 -> a
    3:3:java.lang.Object access$602(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,java.lang.Object):329:329 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation access$702(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation):329:329 -> a
    5:5:java.util.List access$802(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,java.util.List):329:329 -> a
    6:14:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):793:801 -> a
    15:15:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.getSubstringIndexList():707:707 -> a
    15:15:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):803 -> a
    16:21:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):803:808 -> a
    22:22:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.getReplaceCharList():747:747 -> a
    22:22:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):810 -> a
    23:30:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):810:817 -> a
    31:39:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.getStringBytes():659:667 -> a
    31:39:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):818 -> a
    40:42:void writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):818:820 -> a
    1:1:int access$402(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,int):329:329 -> b
    2:2:java.lang.Object access$600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):329:329 -> b
    3:3:java.util.List access$902(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,java.util.List):329:329 -> b
    4:8:boolean isInitialized():783:787 -> b
    1:1:int access$502(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record,int):329:329 -> c
    2:2:java.util.List access$800(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):329:329 -> c
    3:22:int getSerializedSize():825:844 -> c
    23:23:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.getSubstringIndexList():707:707 -> c
    23:23:int getSerializedSize():848 -> c
    24:34:int getSerializedSize():848:858 -> c
    35:35:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.getReplaceCharList():747:747 -> c
    35:35:int getSerializedSize():862 -> c
    36:43:int getSerializedSize():862:869 -> c
    44:52:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.getStringBytes():659:667 -> c
    44:52:int getSerializedSize():870 -> c
    53:53:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeBytesSize(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):637:637 -> c
    53:53:int getSerializedSize():870 -> c
    54:54:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeBytesSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):883:883 -> c
    54:54:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeBytesSize(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):637 -> c
    54:54:int getSerializedSize():870 -> c
    55:56:int getSerializedSize():873:874 -> c
    1:1:java.util.List access$900(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):329:329 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder():938:938 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilderForType():939 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder newBuilderForType():329 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder():938:938 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):941 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.toBuilder():943 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():329 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):941:941 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.toBuilder():943 -> e
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder toBuilder():329 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record getDefaultInstance():342:342 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation getOperation():691:691 -> h
    1:1:int getPredefinedIndex():614:614 -> i
    1:1:int getRange():591:591 -> j
    1:1:int getReplaceCharCount():758:758 -> k
    1:1:java.util.List getReplaceCharList():747:747 -> l
    1:7:java.lang.String getString():637:643 -> m
    8:8:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.toStringUtf8():624:624 -> m
    8:8:java.lang.String getString():643 -> m
    9:10:java.lang.String getString():644:645 -> m
    11:11:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.toStringUtf8():626:626 -> m
    11:11:java.lang.String getString():643 -> m
    1:1:int getSubstringIndexCount():719:719 -> n
    1:1:java.util.List getSubstringIndexList():707:707 -> o
    1:1:boolean hasOperation():681:681 -> p
    1:1:boolean hasPredefinedIndex():604:604 -> q
    1:1:boolean hasRange():581:581 -> r
    1:1:boolean hasString():627:627 -> s
    1:6:void initFields():774:779 -> t
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder newBuilder():938:938 -> u
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder():938:938 -> v
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):941 -> v
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder toBuilder():943 -> v
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record.newBuilder(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):941:941 -> v
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder toBuilder():943 -> v
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$1 -> com.android.tools.r8.internal.Sw:
    1:1:void <init>():471:471 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$1.parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):476:476 -> a
    1:1:java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):471 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder -> com.android.tools.r8.internal.Tw:
    java.lang.Object string_ -> f
    java.util.List replaceChar_ -> i
    int range_ -> d
    java.util.List substringIndex_ -> h
    int predefinedIndex_ -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation operation_ -> g
    int bitField0_ -> c
    1:497:void <init>():955:1451 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite):948:948 -> a
    2:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):1033:1051 -> a
    21:23:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.ensureSubstringIndexIsMutable():1345:1347 -> a
    21:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):1053 -> a
    24:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):1054:1061 -> a
    32:34:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.ensureReplaceCharIsMutable():1453:1455 -> a
    32:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):1063 -> a
    35:39:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record):1064:1068 -> a
    40:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1083:1089 -> a
    40:46:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):948 -> a
    47:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1085:1089 -> a
    47:51:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):948 -> a
    52:53:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder setPredefinedIndex(int):1173:1174 -> a
    54:57:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder setOperation(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation):1322:1325 -> a
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder setRange(int):1125:1126 -> b
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():991:992 -> c
    1:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():948 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():993 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():948 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():993:993 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite build():948 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.create():962:962 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.clone():983 -> clone
    1:1:java.lang.Object clone():948 -> clone
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.clone():983:983 -> clone
    2:2:java.lang.Object clone():948 -> clone
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.create():962:962 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder access$200():948 -> f
    1:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record buildPartial():999:1028 -> g
    1:1:int getRange():1115:1115 -> h
    1:1:int getReplaceCharCount():1479:1479 -> i
    1:1:int getSubstringIndexCount():1373:1373 -> j
    1:1:boolean hasOperation():1301:1301 -> k
    1:1:boolean hasPredefinedIndex():1153:1153 -> l
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation -> com.android.tools.r8.internal.Uw:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation[] $VALUES -> f
    int value -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation DESC_TO_CLASS_ID -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation INTERNAL_TO_CLASS_ID -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation NONE -> c
    1:19:void <clinit>():493:511 -> <clinit>
    20:20:void <clinit>():488:488 -> <clinit>
    1:2:void <init>(java.lang.String,int,int,int):563:564 -> <init>
    1:1:int getNumber():538:538 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation valueOf(int):544:544 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation valueOf(int):543:543 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Operation valueOf(int):542:542 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding -> com.android.tools.r8.internal.h5:
    boolean FORCE_8TO7_ENCODING -> a
    boolean $assertionsDisabled -> b
    1:13:void <clinit>():15:27 -> <clinit>
    void $$$reportNull$$$0(int) -> a
    1:1:java.lang.String[] encodeBytes(byte[]):45:45 -> a
    2:52:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.UtfEncodingKt.bytesToStrings(byte[]):27:77 -> a
    2:52:java.lang.String[] encodeBytes(byte[]):46 -> a
    53:83:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):75:105 -> a
    53:83:java.lang.String[] encodeBytes(byte[]):48 -> a
    84:84:java.lang.String[] encodeBytes(byte[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":134,"2":135,"3":136,"4":137,"5":138}}
    134:134:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    134:134:java.lang.String[] encodeBytes(byte[]):48 -> a
    135:135:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    135:135:java.lang.String[] encodeBytes(byte[]):48 -> a
    136:136:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    136:136:java.lang.String[] encodeBytes(byte[]):48 -> a
    137:137:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    137:137:java.lang.String[] encodeBytes(byte[]):48 -> a
    138:138:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:105 -> a
    138:138:java.lang.String[] encodeBytes(byte[]):48 -> a
    85:87:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.encode8to7(byte[]):105:107 -> a
    85:87:java.lang.String[] encodeBytes(byte[]):48 -> a
    88:88:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.addModuloByte(byte[],int):115:115 -> a
    88:88:java.lang.String[] encodeBytes(byte[]):51 -> a
    89:104:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):130:145 -> a
    89:104:java.lang.String[] encodeBytes(byte[]):52 -> a
    105:105:java.lang.String[] encodeBytes(byte[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":139,"2":140,"3":141,"4":142,"5":143}}
    139:139:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    139:139:java.lang.String[] encodeBytes(byte[]):52 -> a
    140:140:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    140:140:java.lang.String[] encodeBytes(byte[]):52 -> a
    141:141:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    141:141:java.lang.String[] encodeBytes(byte[]):52 -> a
    142:142:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    142:142:java.lang.String[] encodeBytes(byte[]):52 -> a
    143:143:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:145 -> a
    143:143:java.lang.String[] encodeBytes(byte[]):52 -> a
    106:132:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.splitBytesToStringArray(byte[]):145:171 -> a
    106:132:java.lang.String[] encodeBytes(byte[]):52 -> a
    133:133:java.lang.String[] encodeBytes(byte[]):0:0 -> a
    144:145:byte[] decodeBytes(java.lang.String[]):179:180 -> a
    146:147:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.dropMarker(java.lang.String[]):199:200 -> a
    146:147:byte[] decodeBytes(java.lang.String[]):182 -> a
    148:158:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.UtfEncodingKt.stringsToBytes(java.lang.String[]):59:69 -> a
    148:158:byte[] decodeBytes(java.lang.String[]):182 -> a
    159:160:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.dropMarker(java.lang.String[]):199:200 -> a
    159:160:byte[] decodeBytes(java.lang.String[]):185 -> a
    161:162:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):210:211 -> a
    161:162:byte[] decodeBytes(java.lang.String[]):189 -> a
    163:163:byte[] decodeBytes(java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":191,"2":192,"3":193}}
    191:191:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):211:211 -> a
    191:191:byte[] decodeBytes(java.lang.String[]):189 -> a
    192:192:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):211:211 -> a
    192:192:byte[] decodeBytes(java.lang.String[]):189 -> a
    193:193:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):211:211 -> a
    193:193:byte[] decodeBytes(java.lang.String[]):189 -> a
    164:172:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.combineStringArrayIntoBytes(java.lang.String[]):211:219 -> a
    164:172:byte[] decodeBytes(java.lang.String[]):189 -> a
    173:173:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.addModuloByte(byte[],int):115:115 -> a
    173:173:byte[] decodeBytes(java.lang.String[]):191 -> a
    174:190:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.BitEncoding.decode7to8(byte[]):247:263 -> a
    174:190:byte[] decodeBytes(java.lang.String[]):192 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.ClassMapperLite -> com.android.tools.r8.internal.qa:
# {"id":"sourceFile","fileName":"ClassMapperLite.kt"}
    java.util.Map map -> b
    java.lang.String kotlin -> a
    1:15:void <clinit>():17:31 -> <clinit>
    16:29:void <clinit>():23:36 -> <clinit>
    30:30:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":476,"2":477,"3":478}}
    476:476:void <clinit>():36:36 -> <clinit>
    477:477:void <clinit>():36:36 -> <clinit>
    478:478:void <clinit>():36:36 -> <clinit>
    66:79:void <clinit>():36:49 -> <clinit>
    80:80:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":492,"2":493,"3":494,"4":495,"5":496}}
    492:492:void <clinit>():50:50 -> <clinit>
    493:493:void <clinit>():50:50 -> <clinit>
    494:494:void <clinit>():50:50 -> <clinit>
    495:495:void <clinit>():50:50 -> <clinit>
    496:496:void <clinit>():50:50 -> <clinit>
    130:133:void <clinit>():50:53 -> <clinit>
    134:134:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":500,"2":501,"3":502,"4":503,"5":504}}
    500:500:void <clinit>():54:54 -> <clinit>
    501:501:void <clinit>():54:54 -> <clinit>
    502:502:void <clinit>():54:54 -> <clinit>
    503:503:void <clinit>():54:54 -> <clinit>
    504:504:void <clinit>():54:54 -> <clinit>
    135:135:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":505,"2":506,"3":507,"4":508,"5":509}}
    505:505:void <clinit>():54:54 -> <clinit>
    506:506:void <clinit>():54:54 -> <clinit>
    507:507:void <clinit>():54:54 -> <clinit>
    508:508:void <clinit>():54:54 -> <clinit>
    509:509:void <clinit>():54:54 -> <clinit>
    189:189:void <clinit>():54:54 -> <clinit>
    190:190:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":510,"2":511,"3":512,"4":513,"5":514}}
    510:510:void <clinit>():55:55 -> <clinit>
    511:511:void <clinit>():55:55 -> <clinit>
    512:512:void <clinit>():55:55 -> <clinit>
    513:513:void <clinit>():55:55 -> <clinit>
    514:514:void <clinit>():55:55 -> <clinit>
    191:191:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":515,"2":516,"3":517,"4":518,"5":519}}
    515:515:void <clinit>():55:55 -> <clinit>
    516:516:void <clinit>():55:55 -> <clinit>
    517:517:void <clinit>():55:55 -> <clinit>
    518:518:void <clinit>():55:55 -> <clinit>
    519:519:void <clinit>():55:55 -> <clinit>
    246:252:void <clinit>():55:61 -> <clinit>
    253:253:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":528,"2":529,"3":530,"4":531,"5":532}}
    528:528:void <clinit>():64:64 -> <clinit>
    529:529:void <clinit>():64:64 -> <clinit>
    530:530:void <clinit>():64:64 -> <clinit>
    531:531:void <clinit>():64:64 -> <clinit>
    532:532:void <clinit>():64:64 -> <clinit>
    317:317:void <clinit>():64:64 -> <clinit>
    318:318:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":533,"2":534,"3":535,"4":536,"5":537}}
    533:533:void <clinit>():65:65 -> <clinit>
    534:534:void <clinit>():65:65 -> <clinit>
    535:535:void <clinit>():65:65 -> <clinit>
    536:536:void <clinit>():65:65 -> <clinit>
    537:537:void <clinit>():65:65 -> <clinit>
    319:319:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":538,"2":539,"3":540,"4":541,"5":542}}
    538:538:void <clinit>():65:65 -> <clinit>
    539:539:void <clinit>():65:65 -> <clinit>
    540:540:void <clinit>():65:65 -> <clinit>
    541:541:void <clinit>():65:65 -> <clinit>
    542:542:void <clinit>():65:65 -> <clinit>
    384:389:void <clinit>():65:70 -> <clinit>
    390:390:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":548,"2":549,"3":550,"4":551,"5":552}}
    548:548:void <clinit>():71:71 -> <clinit>
    549:549:void <clinit>():71:71 -> <clinit>
    550:550:void <clinit>():71:71 -> <clinit>
    551:551:void <clinit>():71:71 -> <clinit>
    552:552:void <clinit>():71:71 -> <clinit>
    461:461:void <clinit>():71:71 -> <clinit>
    462:462:void <clinit>():22:22 -> <clinit>
    1:1:void map$lambda-0$add(java.util.Map,java.lang.String,java.lang.String):42:42 -> a
    2:2:java.lang.String mapClass(java.lang.String):80:80 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature -> com.android.tools.r8.internal.pw:
# {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
    1:1:void <init>():14:14 -> <init>
    java.lang.String asString() -> a
    1:1:java.lang.String toString():27:27 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field -> com.android.tools.r8.internal.mw:
# {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
    java.lang.String name -> a
    java.lang.String desc -> b
    1:1:void <init>(java.lang.String,java.lang.String):23:23 -> <init>
    1:1:java.lang.String asString():24:24 -> a
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getName():23:23 -> a
    2:2:java.lang.String asString():24 -> a
    3:3:java.lang.String asString():24:24 -> a
    4:4:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getDesc():23:23 -> a
    4:4:java.lang.String asString():24 -> a
    5:5:java.lang.String asString():24:24 -> a
    1:1:java.lang.String getDesc():23:23 -> b
    1:1:java.lang.String getName():23:23 -> c
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getName():23:23 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getName():23:23 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean equals(java.lang.Object):0:0 -> equals
    4:5:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getDesc():23:23 -> equals
    4:5:boolean equals(java.lang.Object):0 -> equals
    6:6:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getName():23:23 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field.getDesc():23:23 -> hashCode
    3:3:int hashCode():0 -> hashCode
    4:4:int hashCode():0:0 -> hashCode
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method -> com.android.tools.r8.internal.nw:
# {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
    java.lang.String name -> a
    java.lang.String desc -> b
    1:1:void <init>(java.lang.String,java.lang.String):19:19 -> <init>
    1:1:java.lang.String asString():20:20 -> a
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getName():19:19 -> a
    2:2:java.lang.String asString():20 -> a
    3:3:java.lang.String asString():20:20 -> a
    4:4:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getDesc():19:19 -> a
    4:4:java.lang.String asString():20 -> a
    5:5:java.lang.String asString():20:20 -> a
    1:1:java.lang.String getDesc():19:19 -> b
    1:1:java.lang.String getName():19:19 -> c
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getName():19:19 -> equals
    1:1:boolean equals(java.lang.Object):0 -> equals
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getName():19:19 -> equals
    2:2:boolean equals(java.lang.Object):0 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean equals(java.lang.Object):0:0 -> equals
    4:5:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getDesc():19:19 -> equals
    4:5:boolean equals(java.lang.Object):0 -> equals
    6:6:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getName():19:19 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
    3:3:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method.getDesc():19:19 -> hashCode
    3:3:int hashCode():0 -> hashCode
    4:4:int hashCode():0:0 -> hashCode
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMetadataVersion -> com.android.tools.r8.internal.Aw:
# {"id":"sourceFile","fileName":"JvmMetadataVersion.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMetadataVersion INSTANCE -> g
    boolean isStrictSemantics -> f
    1:4:void <clinit>():29:32 -> <clinit>
    1:1:void <init>(int[],boolean):14:14 -> <init>
    2:2:void <init>(int[]):15:15 -> <init>
    1:6:boolean isCompatible():19:24 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver -> com.android.tools.r8.internal.Cw:
# {"id":"sourceFile","fileName":"JvmNameResolver.kt"}
    java.util.Set localNameIndices -> c
    java.util.List PREDEFINED_STRINGS -> e
    java.util.List records -> d
    java.util.Map PREDEFINED_STRINGS_MAP -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes types -> a
    java.lang.String[] strings -> b
    1:4:void <clinit>():81:84 -> <clinit>
    5:5:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4465,"2":4466,"3":4467,"4":4468,"5":4469}}
    4465:4465:void <clinit>():84:84 -> <clinit>
    4466:4466:void <clinit>():84:84 -> <clinit>
    4467:4467:void <clinit>():84:84 -> <clinit>
    4468:4468:void <clinit>():84:84 -> <clinit>
    4469:4469:void <clinit>():84:84 -> <clinit>
    89:89:void <clinit>():84:84 -> <clinit>
    90:90:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4470,"2":4471,"3":4472,"4":4473,"5":4474}}
    4470:4470:void <clinit>():85:85 -> <clinit>
    4471:4471:void <clinit>():85:85 -> <clinit>
    4472:4472:void <clinit>():85:85 -> <clinit>
    4473:4473:void <clinit>():85:85 -> <clinit>
    4474:4474:void <clinit>():85:85 -> <clinit>
    175:175:void <clinit>():85:85 -> <clinit>
    176:176:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4475,"2":4476,"3":4477,"4":4478,"5":4479}}
    4475:4475:void <clinit>():86:86 -> <clinit>
    4476:4476:void <clinit>():86:86 -> <clinit>
    4477:4477:void <clinit>():86:86 -> <clinit>
    4478:4478:void <clinit>():86:86 -> <clinit>
    4479:4479:void <clinit>():86:86 -> <clinit>
    262:262:void <clinit>():86:86 -> <clinit>
    263:263:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4480,"2":4481,"3":4482,"4":4483,"5":4484}}
    4480:4480:void <clinit>():87:87 -> <clinit>
    4481:4481:void <clinit>():87:87 -> <clinit>
    4482:4482:void <clinit>():87:87 -> <clinit>
    4483:4483:void <clinit>():87:87 -> <clinit>
    4484:4484:void <clinit>():87:87 -> <clinit>
    350:350:void <clinit>():87:87 -> <clinit>
    351:351:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4485,"2":4486,"3":4487,"4":4488,"5":4489}}
    4485:4485:void <clinit>():88:88 -> <clinit>
    4486:4486:void <clinit>():88:88 -> <clinit>
    4487:4487:void <clinit>():88:88 -> <clinit>
    4488:4488:void <clinit>():88:88 -> <clinit>
    4489:4489:void <clinit>():88:88 -> <clinit>
    439:439:void <clinit>():88:88 -> <clinit>
    440:440:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4491,"2":4492,"3":4493,"4":4494,"5":4495}}
    4491:4491:void <clinit>():90:90 -> <clinit>
    4492:4492:void <clinit>():90:90 -> <clinit>
    4493:4493:void <clinit>():90:90 -> <clinit>
    4494:4494:void <clinit>():90:90 -> <clinit>
    4495:4495:void <clinit>():90:90 -> <clinit>
    530:530:void <clinit>():90:90 -> <clinit>
    531:531:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4496,"2":4497,"3":4498,"4":4499,"5":4500}}
    4496:4496:void <clinit>():90:90 -> <clinit>
    4497:4497:void <clinit>():90:90 -> <clinit>
    4498:4498:void <clinit>():90:90 -> <clinit>
    4499:4499:void <clinit>():90:90 -> <clinit>
    4500:4500:void <clinit>():90:90 -> <clinit>
    621:621:void <clinit>():90:90 -> <clinit>
    622:622:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4501,"2":4502,"3":4503,"4":4504,"5":4505}}
    4501:4501:void <clinit>():90:90 -> <clinit>
    4502:4502:void <clinit>():90:90 -> <clinit>
    4503:4503:void <clinit>():90:90 -> <clinit>
    4504:4504:void <clinit>():90:90 -> <clinit>
    4505:4505:void <clinit>():90:90 -> <clinit>
    712:712:void <clinit>():90:90 -> <clinit>
    713:713:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4506,"2":4507,"3":4508,"4":4509,"5":4510}}
    4506:4506:void <clinit>():90:90 -> <clinit>
    4507:4507:void <clinit>():90:90 -> <clinit>
    4508:4508:void <clinit>():90:90 -> <clinit>
    4509:4509:void <clinit>():90:90 -> <clinit>
    4510:4510:void <clinit>():90:90 -> <clinit>
    803:803:void <clinit>():90:90 -> <clinit>
    804:804:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4511,"2":4512,"3":4513,"4":4514,"5":4515}}
    4511:4511:void <clinit>():91:91 -> <clinit>
    4512:4512:void <clinit>():91:91 -> <clinit>
    4513:4513:void <clinit>():91:91 -> <clinit>
    4514:4514:void <clinit>():91:91 -> <clinit>
    4515:4515:void <clinit>():91:91 -> <clinit>
    895:895:void <clinit>():91:91 -> <clinit>
    896:896:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4516,"2":4517,"3":4518,"4":4519,"5":4520}}
    4516:4516:void <clinit>():91:91 -> <clinit>
    4517:4517:void <clinit>():91:91 -> <clinit>
    4518:4518:void <clinit>():91:91 -> <clinit>
    4519:4519:void <clinit>():91:91 -> <clinit>
    4520:4520:void <clinit>():91:91 -> <clinit>
    987:987:void <clinit>():91:91 -> <clinit>
    988:988:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4521,"2":4522,"3":4523,"4":4524,"5":4525}}
    4521:4521:void <clinit>():91:91 -> <clinit>
    4522:4522:void <clinit>():91:91 -> <clinit>
    4523:4523:void <clinit>():91:91 -> <clinit>
    4524:4524:void <clinit>():91:91 -> <clinit>
    4525:4525:void <clinit>():91:91 -> <clinit>
    1079:1079:void <clinit>():91:91 -> <clinit>
    1080:1080:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4526,"2":4527,"3":4528,"4":4529,"5":4530}}
    4526:4526:void <clinit>():91:91 -> <clinit>
    4527:4527:void <clinit>():91:91 -> <clinit>
    4528:4528:void <clinit>():91:91 -> <clinit>
    4529:4529:void <clinit>():91:91 -> <clinit>
    4530:4530:void <clinit>():91:91 -> <clinit>
    1171:1171:void <clinit>():91:91 -> <clinit>
    1172:1172:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4532,"2":4533,"3":4534,"4":4535,"5":4536}}
    4532:4532:void <clinit>():93:93 -> <clinit>
    4533:4533:void <clinit>():93:93 -> <clinit>
    4534:4534:void <clinit>():93:93 -> <clinit>
    4535:4535:void <clinit>():93:93 -> <clinit>
    4536:4536:void <clinit>():93:93 -> <clinit>
    1265:1265:void <clinit>():93:93 -> <clinit>
    1266:1266:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4537,"2":4538,"3":4539,"4":4540,"5":4541}}
    4537:4537:void <clinit>():94:94 -> <clinit>
    4538:4538:void <clinit>():94:94 -> <clinit>
    4539:4539:void <clinit>():94:94 -> <clinit>
    4540:4540:void <clinit>():94:94 -> <clinit>
    4541:4541:void <clinit>():94:94 -> <clinit>
    1360:1360:void <clinit>():94:94 -> <clinit>
    1361:1361:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4542,"2":4543,"3":4544,"4":4545,"5":4546}}
    4542:4542:void <clinit>():95:95 -> <clinit>
    4543:4543:void <clinit>():95:95 -> <clinit>
    4544:4544:void <clinit>():95:95 -> <clinit>
    4545:4545:void <clinit>():95:95 -> <clinit>
    4546:4546:void <clinit>():95:95 -> <clinit>
    1456:1456:void <clinit>():95:95 -> <clinit>
    1457:1457:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4547,"2":4548,"3":4549,"4":4550,"5":4551}}
    4547:4547:void <clinit>():96:96 -> <clinit>
    4548:4548:void <clinit>():96:96 -> <clinit>
    4549:4549:void <clinit>():96:96 -> <clinit>
    4550:4550:void <clinit>():96:96 -> <clinit>
    4551:4551:void <clinit>():96:96 -> <clinit>
    1553:1553:void <clinit>():96:96 -> <clinit>
    1554:1554:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4553,"2":4554,"3":4555,"4":4556,"5":4557}}
    4553:4553:void <clinit>():98:98 -> <clinit>
    4554:4554:void <clinit>():98:98 -> <clinit>
    4555:4555:void <clinit>():98:98 -> <clinit>
    4556:4556:void <clinit>():98:98 -> <clinit>
    4557:4557:void <clinit>():98:98 -> <clinit>
    1652:1652:void <clinit>():98:98 -> <clinit>
    1653:1653:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4558,"2":4559,"3":4560,"4":4561,"5":4562}}
    4558:4558:void <clinit>():99:99 -> <clinit>
    4559:4559:void <clinit>():99:99 -> <clinit>
    4560:4560:void <clinit>():99:99 -> <clinit>
    4561:4561:void <clinit>():99:99 -> <clinit>
    4562:4562:void <clinit>():99:99 -> <clinit>
    1752:1752:void <clinit>():99:99 -> <clinit>
    1753:1753:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4563,"2":4564,"3":4565,"4":4566,"5":4567}}
    4563:4563:void <clinit>():99:99 -> <clinit>
    4564:4564:void <clinit>():99:99 -> <clinit>
    4565:4565:void <clinit>():99:99 -> <clinit>
    4566:4566:void <clinit>():99:99 -> <clinit>
    4567:4567:void <clinit>():99:99 -> <clinit>
    1852:1852:void <clinit>():99:99 -> <clinit>
    1853:1853:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4568,"2":4569,"3":4570,"4":4571,"5":4572}}
    4568:4568:void <clinit>():99:99 -> <clinit>
    4569:4569:void <clinit>():99:99 -> <clinit>
    4570:4570:void <clinit>():99:99 -> <clinit>
    4571:4571:void <clinit>():99:99 -> <clinit>
    4572:4572:void <clinit>():99:99 -> <clinit>
    1952:1952:void <clinit>():99:99 -> <clinit>
    1953:1953:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4573,"2":4574,"3":4575,"4":4576,"5":4577}}
    4573:4573:void <clinit>():99:99 -> <clinit>
    4574:4574:void <clinit>():99:99 -> <clinit>
    4575:4575:void <clinit>():99:99 -> <clinit>
    4576:4576:void <clinit>():99:99 -> <clinit>
    4577:4577:void <clinit>():99:99 -> <clinit>
    2052:2052:void <clinit>():99:99 -> <clinit>
    2053:2053:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4578,"2":4579,"3":4580,"4":4581,"5":4582}}
    4578:4578:void <clinit>():100:100 -> <clinit>
    4579:4579:void <clinit>():100:100 -> <clinit>
    4580:4580:void <clinit>():100:100 -> <clinit>
    4581:4581:void <clinit>():100:100 -> <clinit>
    4582:4582:void <clinit>():100:100 -> <clinit>
    2153:2153:void <clinit>():100:100 -> <clinit>
    2154:2154:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4583,"2":4584,"3":4585,"4":4586,"5":4587}}
    4583:4583:void <clinit>():100:100 -> <clinit>
    4584:4584:void <clinit>():100:100 -> <clinit>
    4585:4585:void <clinit>():100:100 -> <clinit>
    4586:4586:void <clinit>():100:100 -> <clinit>
    4587:4587:void <clinit>():100:100 -> <clinit>
    2254:2254:void <clinit>():100:100 -> <clinit>
    2255:2255:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4588,"2":4589,"3":4590,"4":4591,"5":4592}}
    4588:4588:void <clinit>():100:100 -> <clinit>
    4589:4589:void <clinit>():100:100 -> <clinit>
    4590:4590:void <clinit>():100:100 -> <clinit>
    4591:4591:void <clinit>():100:100 -> <clinit>
    4592:4592:void <clinit>():100:100 -> <clinit>
    2355:2355:void <clinit>():100:100 -> <clinit>
    2356:2356:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4593,"2":4594,"3":4595,"4":4596,"5":4597}}
    4593:4593:void <clinit>():100:100 -> <clinit>
    4594:4594:void <clinit>():100:100 -> <clinit>
    4595:4595:void <clinit>():100:100 -> <clinit>
    4596:4596:void <clinit>():100:100 -> <clinit>
    4597:4597:void <clinit>():100:100 -> <clinit>
    2456:2456:void <clinit>():100:100 -> <clinit>
    2457:2457:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4599,"2":4600,"3":4601,"4":4602,"5":4603}}
    4599:4599:void <clinit>():102:102 -> <clinit>
    4600:4600:void <clinit>():102:102 -> <clinit>
    4601:4601:void <clinit>():102:102 -> <clinit>
    4602:4602:void <clinit>():102:102 -> <clinit>
    4603:4603:void <clinit>():102:102 -> <clinit>
    2559:2559:void <clinit>():102:102 -> <clinit>
    2560:2560:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4604,"2":4605,"3":4606,"4":4607,"5":4608}}
    4604:4604:void <clinit>():103:103 -> <clinit>
    4605:4605:void <clinit>():103:103 -> <clinit>
    4606:4606:void <clinit>():103:103 -> <clinit>
    4607:4607:void <clinit>():103:103 -> <clinit>
    4608:4608:void <clinit>():103:103 -> <clinit>
    2663:2663:void <clinit>():103:103 -> <clinit>
    2664:2664:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4610,"2":4611,"3":4612,"4":4613,"5":4614}}
    4610:4610:void <clinit>():105:105 -> <clinit>
    4611:4611:void <clinit>():105:105 -> <clinit>
    4612:4612:void <clinit>():105:105 -> <clinit>
    4613:4613:void <clinit>():105:105 -> <clinit>
    4614:4614:void <clinit>():105:105 -> <clinit>
    2769:2769:void <clinit>():105:105 -> <clinit>
    2770:2770:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4615,"2":4616,"3":4617,"4":4618,"5":4619}}
    4615:4615:void <clinit>():105:105 -> <clinit>
    4616:4616:void <clinit>():105:105 -> <clinit>
    4617:4617:void <clinit>():105:105 -> <clinit>
    4618:4618:void <clinit>():105:105 -> <clinit>
    4619:4619:void <clinit>():105:105 -> <clinit>
    2875:2875:void <clinit>():105:105 -> <clinit>
    2876:2876:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4620,"2":4621,"3":4622,"4":4623,"5":4624}}
    4620:4620:void <clinit>():106:106 -> <clinit>
    4621:4621:void <clinit>():106:106 -> <clinit>
    4622:4622:void <clinit>():106:106 -> <clinit>
    4623:4623:void <clinit>():106:106 -> <clinit>
    4624:4624:void <clinit>():106:106 -> <clinit>
    2982:2982:void <clinit>():106:106 -> <clinit>
    2983:2983:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4625,"2":4626,"3":4627,"4":4628,"5":4629}}
    4625:4625:void <clinit>():106:106 -> <clinit>
    4626:4626:void <clinit>():106:106 -> <clinit>
    4627:4627:void <clinit>():106:106 -> <clinit>
    4628:4628:void <clinit>():106:106 -> <clinit>
    4629:4629:void <clinit>():106:106 -> <clinit>
    3089:3089:void <clinit>():106:106 -> <clinit>
    3090:3090:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4630,"2":4631,"3":4632,"4":4633,"5":4634}}
    4630:4630:void <clinit>():107:107 -> <clinit>
    4631:4631:void <clinit>():107:107 -> <clinit>
    4632:4632:void <clinit>():107:107 -> <clinit>
    4633:4633:void <clinit>():107:107 -> <clinit>
    4634:4634:void <clinit>():107:107 -> <clinit>
    3197:3197:void <clinit>():107:107 -> <clinit>
    3198:3198:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4635,"2":4636,"3":4637,"4":4638,"5":4639}}
    4635:4635:void <clinit>():107:107 -> <clinit>
    4636:4636:void <clinit>():107:107 -> <clinit>
    4637:4637:void <clinit>():107:107 -> <clinit>
    4638:4638:void <clinit>():107:107 -> <clinit>
    4639:4639:void <clinit>():107:107 -> <clinit>
    3305:3305:void <clinit>():107:107 -> <clinit>
    3306:3306:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4640,"2":4641,"3":4642,"4":4643,"5":4644}}
    4640:4640:void <clinit>():108:108 -> <clinit>
    4641:4641:void <clinit>():108:108 -> <clinit>
    4642:4642:void <clinit>():108:108 -> <clinit>
    4643:4643:void <clinit>():108:108 -> <clinit>
    4644:4644:void <clinit>():108:108 -> <clinit>
    3414:3414:void <clinit>():108:108 -> <clinit>
    3415:3415:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4645,"2":4646,"3":4647,"4":4648,"5":4649}}
    4645:4645:void <clinit>():108:108 -> <clinit>
    4646:4646:void <clinit>():108:108 -> <clinit>
    4647:4647:void <clinit>():108:108 -> <clinit>
    4648:4648:void <clinit>():108:108 -> <clinit>
    4649:4649:void <clinit>():108:108 -> <clinit>
    3523:3523:void <clinit>():108:108 -> <clinit>
    3524:3524:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4650,"2":4651,"3":4652,"4":4653,"5":4654}}
    4650:4650:void <clinit>():109:109 -> <clinit>
    4651:4651:void <clinit>():109:109 -> <clinit>
    4652:4652:void <clinit>():109:109 -> <clinit>
    4653:4653:void <clinit>():109:109 -> <clinit>
    4654:4654:void <clinit>():109:109 -> <clinit>
    3633:3633:void <clinit>():109:109 -> <clinit>
    3634:3634:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4655,"2":4656,"3":4657,"4":4658,"5":4659}}
    4655:4655:void <clinit>():109:109 -> <clinit>
    4656:4656:void <clinit>():109:109 -> <clinit>
    4657:4657:void <clinit>():109:109 -> <clinit>
    4658:4658:void <clinit>():109:109 -> <clinit>
    4659:4659:void <clinit>():109:109 -> <clinit>
    3743:3743:void <clinit>():109:109 -> <clinit>
    3744:3744:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4660,"2":4661,"3":4662,"4":4663,"5":4664}}
    4660:4660:void <clinit>():110:110 -> <clinit>
    4661:4661:void <clinit>():110:110 -> <clinit>
    4662:4662:void <clinit>():110:110 -> <clinit>
    4663:4663:void <clinit>():110:110 -> <clinit>
    4664:4664:void <clinit>():110:110 -> <clinit>
    3854:3854:void <clinit>():110:110 -> <clinit>
    3855:3855:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4665,"2":4666,"3":4667,"4":4668,"5":4669}}
    4665:4665:void <clinit>():110:110 -> <clinit>
    4666:4666:void <clinit>():110:110 -> <clinit>
    4667:4667:void <clinit>():110:110 -> <clinit>
    4668:4668:void <clinit>():110:110 -> <clinit>
    4669:4669:void <clinit>():110:110 -> <clinit>
    3965:3965:void <clinit>():110:110 -> <clinit>
    3966:3966:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4671,"2":4672,"3":4673,"4":4674,"5":4675}}
    4671:4671:void <clinit>():112:112 -> <clinit>
    4672:4672:void <clinit>():112:112 -> <clinit>
    4673:4673:void <clinit>():112:112 -> <clinit>
    4674:4674:void <clinit>():112:112 -> <clinit>
    4675:4675:void <clinit>():112:112 -> <clinit>
    4078:4078:void <clinit>():112:112 -> <clinit>
    4079:4079:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4676,"2":4677,"3":4678,"4":4679,"5":4680}}
    4676:4676:void <clinit>():112:112 -> <clinit>
    4677:4677:void <clinit>():112:112 -> <clinit>
    4678:4678:void <clinit>():112:112 -> <clinit>
    4679:4679:void <clinit>():112:112 -> <clinit>
    4680:4680:void <clinit>():112:112 -> <clinit>
    4191:4191:void <clinit>():112:112 -> <clinit>
    4192:4192:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4681,"2":4682,"3":4683,"4":4684,"5":4685}}
    4681:4681:void <clinit>():113:113 -> <clinit>
    4682:4682:void <clinit>():113:113 -> <clinit>
    4683:4683:void <clinit>():113:113 -> <clinit>
    4684:4684:void <clinit>():113:113 -> <clinit>
    4685:4685:void <clinit>():113:113 -> <clinit>
    4305:4305:void <clinit>():113:113 -> <clinit>
    4306:4306:void <clinit>():0:0 -> <clinit>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4686,"2":4687,"3":4688,"4":4689,"5":4690}}
    4686:4686:void <clinit>():113:113 -> <clinit>
    4687:4687:void <clinit>():113:113 -> <clinit>
    4688:4688:void <clinit>():113:113 -> <clinit>
    4689:4689:void <clinit>():113:113 -> <clinit>
    4690:4690:void <clinit>():113:113 -> <clinit>
    4419:4419:void <clinit>():113:113 -> <clinit>
    4420:4463:void <clinit>():83:126 -> <clinit>
    4464:4464:void <clinit>():116:116 -> <clinit>
    1:18:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes,java.lang.String[]):13:30 -> <init>
    19:19:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes,java.lang.String[]):22:22 -> <init>
    1:1:java.util.Map access$getPREDEFINED_STRINGS_MAP$cp():13:13 -> a
    2:34:java.lang.String getString(int):34:66 -> a
    35:45:java.lang.String getString(int):60:70 -> a
    1:1:java.lang.String[] getStrings():15:15 -> b
    2:2:java.lang.String getQualifiedClassName(int):74:74 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes getTypes():14:14 -> c
    2:2:boolean isLocalClassName(int):77:77 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil -> com.android.tools.r8.internal.Yw:
# {"id":"sourceFile","fileName":"JvmProtoBufUtil.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil INSTANCE -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite EXTENSION_REGISTRY -> b
    1:1:void <clinit>():19:19 -> <clinit>
    2:15:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf.registerAllExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):10:23 -> <clinit>
    2:15:void <clinit>():19 -> <clinit>
    16:16:void <clinit>():19:19 -> <clinit>
    1:1:void <init>():18:18 -> <init>
    1:120:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.getJvmFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean):0:119 -> a
    1:120:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field getJvmFieldSignature$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean,int,java.lang.Object):106 -> a
    121:121:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    121:121:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.getJvmFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean):119 -> a
    121:121:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field getJvmFieldSignature$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean,int,java.lang.Object):106 -> a
    122:122:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver.getQualifiedClassName(int):74:74 -> a
    122:122:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    122:122:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.getJvmFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean):119 -> a
    122:122:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field getJvmFieldSignature$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean,int,java.lang.Object):106 -> a
    123:123:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    123:123:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.getJvmFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean):119 -> a
    123:123:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field getJvmFieldSignature$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean,int,java.lang.Object):106 -> a
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.getJvmFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean):121:121 -> a
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field getJvmFieldSignature$default(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable,boolean,int,java.lang.Object):106 -> a
    125:125:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27:27 -> a
    126:127:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readClassDataFrom(byte[],java.lang.String[]):31:32 -> a
    126:127:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27 -> a
    128:128:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52:52 -> a
    128:128:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readClassDataFrom(byte[],java.lang.String[]):32 -> a
    128:128:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27 -> a
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1738:1738 -> a
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52 -> a
    129:129:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readClassDataFrom(byte[],java.lang.String[]):32 -> a
    129:129:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52:52 -> a
    130:130:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readClassDataFrom(byte[],java.lang.String[]):32 -> a
    130:130:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):9787:9787 -> a
    131:131:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readClassDataFrom(byte[],java.lang.String[]):32 -> a
    131:131:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27 -> a
    132:132:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readClassDataFrom(byte[],java.lang.String[]):32:32 -> a
    132:132:com.android.tools.r8.jetbrains.kotlin.Pair readClassDataFrom(java.lang.String[],java.lang.String[]):27 -> a
    133:136:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):70:73 -> a
    137:138:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.receiverType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):56:57 -> a
    137:138:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):75 -> a
    139:205:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):75:75 -> a
    272:274:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):142:144 -> a
    275:275:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    275:275:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):77 -> a
    276:276:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver.getQualifiedClassName(int):74:74 -> a
    276:276:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    276:276:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):77 -> a
    277:277:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    277:277:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):77 -> a
    278:278:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):77:77 -> a
    279:280:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.returnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):48:49 -> a
    279:280:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):78 -> a
    281:281:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    281:281:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):78 -> a
    282:282:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver.getQualifiedClassName(int):74:74 -> a
    282:282:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    282:282:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):78 -> a
    283:283:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    283:283:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):78 -> a
    284:284:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):80:80 -> a
    285:285:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":370,"2":371,"3":372}}
    370:370:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):80:80 -> a
    371:371:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):80:80 -> a
    372:372:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):80:80 -> a
    367:367:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):82:82 -> a
    368:369:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.ProtoTypeTableUtilKt.returnType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):49:50 -> a
    368:369:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):78 -> a
    373:431:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmConstructorSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):90:148 -> a
    432:432:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmConstructorSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):100:100 -> a
    433:433:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    433:433:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmConstructorSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):100 -> a
    434:434:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver.getQualifiedClassName(int):74:74 -> a
    434:434:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    434:434:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmConstructorSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):100 -> a
    435:435:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.mapTypeDefault(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver):126:126 -> a
    435:435:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmConstructorSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):100 -> a
    436:439:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method getJvmConstructorSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.NameResolver,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.deserialization.TypeTable):100:103 -> a
    1:2:com.android.tools.r8.jetbrains.kotlin.Pair readFunctionDataFrom(java.lang.String[],java.lang.String[]):47:48 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52:52 -> b
    3:3:com.android.tools.r8.jetbrains.kotlin.Pair readFunctionDataFrom(java.lang.String[],java.lang.String[]):48 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1738:1738 -> b
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52 -> b
    4:4:com.android.tools.r8.jetbrains.kotlin.Pair readFunctionDataFrom(java.lang.String[],java.lang.String[]):48 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52:52 -> b
    5:5:com.android.tools.r8.jetbrains.kotlin.Pair readFunctionDataFrom(java.lang.String[],java.lang.String[]):48 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):15310:15310 -> b
    6:6:com.android.tools.r8.jetbrains.kotlin.Pair readFunctionDataFrom(java.lang.String[],java.lang.String[]):48 -> b
    7:7:com.android.tools.r8.jetbrains.kotlin.Pair readFunctionDataFrom(java.lang.String[],java.lang.String[]):48:48 -> b
    1:1:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37:37 -> c
    2:3:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readPackageDataFrom(byte[],java.lang.String[]):41:42 -> c
    2:3:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52:52 -> c
    4:4:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readPackageDataFrom(byte[],java.lang.String[]):42 -> c
    4:4:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):1738:1738 -> c
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52 -> c
    5:5:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readPackageDataFrom(byte[],java.lang.String[]):42 -> c
    5:5:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readNameResolver(java.io.InputStream,java.lang.String[]):52:52 -> c
    6:6:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readPackageDataFrom(byte[],java.lang.String[]):42 -> c
    6:6:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):12270:12270 -> c
    7:7:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readPackageDataFrom(byte[],java.lang.String[]):42 -> c
    7:7:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
    8:8:com.android.tools.r8.jetbrains.kotlin.Pair com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.readPackageDataFrom(byte[],java.lang.String[]):42:42 -> c
    8:8:com.android.tools.r8.jetbrains.kotlin.Pair readPackageDataFrom(java.lang.String[],java.lang.String[]):37 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable -> com.android.tools.r8.internal.Zw:
# {"id":"sourceFile","fileName":"JvmStringTable.kt"}
    java.util.LinkedHashSet localNames -> d
    java.util.ArrayList records -> b
    java.util.ArrayList strings -> a
    java.util.HashMap map -> c
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):15:15 -> <init>
    2:91:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver):15:104 -> <init>
    92:96:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver):24:28 -> <init>
    1:1:java.util.ArrayList getStrings():16:16 -> a
    2:75:int getStringIndex(java.lang.String):33:106 -> a
    76:79:int getStringIndex(java.lang.String):34:37 -> a
    80:587:java.lang.Object com.android.tools.r8.jetbrains.kotlin.collections.CollectionsKt___CollectionsKt.lastOrNull(java.util.List):0:507 -> a
    80:587:int getStringIndex(java.lang.String):37 -> a
    588:588:int getStringIndex(java.lang.String):37:37 -> a
    589:589:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable.isTrivial(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder):45:45 -> a
    589:589:int getStringIndex(java.lang.String):38 -> a
    590:591:int getStringIndex(java.lang.String):39:40 -> a
    592:667:int getStringIndex(java.lang.String):34:109 -> a
    668:668:int getStringIndex(java.lang.String):107:107 -> a
    669:685:int getQualifiedClassNameIndex(java.lang.String,boolean):57:73 -> a
    686:686:java.lang.Integer com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmNameResolver$Companion.getPredefinedStringIndex(java.lang.String):118:118 -> a
    686:686:int getQualifiedClassNameIndex(java.lang.String,boolean):76 -> a
    687:692:int getQualifiedClassNameIndex(java.lang.String,boolean):78:83 -> a
    693:708:int getQualifiedClassNameIndex(java.lang.String,boolean):74:89 -> a
    709:729:void serializeTo(java.io.OutputStream):95:115 -> a
    730:730:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():991:991 -> a
    730:730:void serializeTo(java.io.OutputStream):96 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    731:731:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():992:992 -> a
    731:731:void serializeTo(java.io.OutputStream):96 -> a
    732:732:void serializeTo(java.io.OutputStream):96:96 -> a
    733:733:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    733:733:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():993 -> a
    733:733:void serializeTo(java.io.OutputStream):96 -> a
    734:734:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Record$Builder.build():993:993 -> a
    734:734:void serializeTo(java.io.OutputStream):96 -> a
    735:736:void serializeTo(java.io.OutputStream):96:97 -> a
    737:738:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.build():1797:1798 -> a
    737:738:void serializeTo(java.io.OutputStream):98 -> a
    739:739:void serializeTo(java.io.OutputStream):98:98 -> a
    740:740:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    740:740:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.build():1799 -> a
    740:740:void serializeTo(java.io.OutputStream):98 -> a
    741:741:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$StringTableTypes$Builder.build():1799:1799 -> a
    741:741:void serializeTo(java.io.OutputStream):98 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner -> com.android.tools.r8.internal.nu:
# {"id":"sourceFile","fileName":"Interner.kt"}
    java.util.HashMap interned -> b
    int firstIndex -> a
    1:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner):8:10 -> <init>
    1:20:java.util.List getAllInternedObjects():13:32 -> a
    21:24:java.lang.Integer find(java.lang.Object):19:22 -> a
    1:1:boolean isEmpty():16:16 -> b
    2:3:int intern(java.lang.Object):26:27 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner$special$$inlined$sortedBy$1 -> com.android.tools.r8.internal.mu:
# {"id":"sourceFile","fileName":"Comparisons.kt"}
    java.util.HashMap $receiver$inlined -> b
    1:1:int compare(java.lang.Object,java.lang.Object):321:321 -> compare
    2:2:int com.android.tools.r8.jetbrains.kotlin.comparisons.ComparisonsKt__ComparisonsKt.compareValues(java.lang.Comparable,java.lang.Comparable):78:78 -> compare
    2:2:int compare(java.lang.Object,java.lang.Object):321 -> compare
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable -> com.android.tools.r8.internal.nG:
# {"id":"sourceFile","fileName":"MutableTable.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.interner -> a
    1:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.<init>():23:28 -> <init>
    1:6:void <init>():56 -> <init>
    7:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner.<init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.Interner,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> <init>
    7:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.<init>():28 -> <init>
    7:7:void <init>():56 -> <init>
    8:8:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.<init>():28:28 -> <init>
    8:8:void <init>():56 -> <init>
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.get(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):35:35 -> a
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.get(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():39:39 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable.createTableBuilder():57:57 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable.createTableBuilder():55 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():40 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    4:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():41:42 -> a
    4:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    6:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable.addElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):55:55 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():42 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    7:67:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable.addElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirementTable$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$VersionRequirement$Builder):0:60 -> a
    7:67:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableVersionRequirementTable.addElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):55 -> a
    7:67:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():42 -> a
    7:67:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    68:68:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():44:44 -> a
    68:68:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    69:69:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():40:40 -> a
    69:69:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.MutableTable.serialize():0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.serialization.TableElementWrapper -> com.android.tools.r8.internal.fY:
# {"id":"sourceFile","fileName":"MutableTable.kt"}
    byte[] bytes -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder builder -> a
    int hashCode -> c
    1:4:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):13:16 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder getBuilder():13:13 -> a
    1:1:boolean equals(java.lang.Object):20:20 -> equals
    1:1:int hashCode():18:18 -> hashCode
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite -> com.android.tools.r8.internal.B0:
    1:1:void <init>():46:46 -> <init>
    void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite.writeTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream) -> a
    1:8:void writeDelimitedTo(java.io.OutputStream):86:93 -> a
    1:6:void writeTo(java.io.OutputStream):77:82 -> b
    int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite.getSerializedSize() -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite.newBuilderForType() -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite.toBuilder() -> e
    1:7:byte[] toByteArray():64:70 -> f
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder -> com.android.tools.r8.internal.A0:
    1:1:void <init>():118:118 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder.mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite) -> a
    1:1:void addAll(java.lang.Iterable,java.util.Collection):334:334 -> a
    2:4:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.checkForNullValues(java.lang.Iterable):348:350 -> a
    2:4:void addAll(java.lang.Iterable,java.util.Collection):335 -> a
    5:11:void addAll(java.lang.Iterable,java.util.Collection):336:342 -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder.build() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder$LimitedInputStream -> com.android.tools.r8.internal.z0:
    int limit -> b
    1:2:void <init>(java.io.InputStream,int):245:246 -> <init>
    1:1:int available():251:251 -> available
    1:6:int read():256:261 -> read
    7:13:int read(byte[],int,int):269:275 -> read
    1:3:long skip(long):282:284 -> skip
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser -> com.android.tools.r8.internal.c1:
    1:1:void <clinit>():78:78 -> <clinit>
    1:1:void <init>():49:49 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):224:224 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    1:1:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    2:13:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint32(int,java.io.InputStream):692:703 -> a
    2:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):228 -> a
    2:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    2:13:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):232:232 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    14:14:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    15:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):191:194 -> a
    15:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):233 -> a
    15:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    15:18:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):70:70 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    19:19:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite.newUninitializedMessageException():102:102 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):57 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):71 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    20:20:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    21:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException.asInvalidProtocolBufferException():81:81 -> a
    21:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):71 -> a
    21:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    21:21:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):71:71 -> a
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    22:22:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):196:196 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):233 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    23:23:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    24:24:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint32(int,java.io.InputStream):705:705 -> a
    24:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):228 -> a
    24:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    24:24:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.malformedVarint():84:84 -> a
    25:25:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint32(int,java.io.InputStream):711 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):228 -> a
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    25:25:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    26:26:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint32(int,java.io.InputStream):711:711 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):228 -> a
    26:26:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    26:26:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    27:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):230:230 -> a
    27:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):245 -> a
    27:27:java.lang.Object parseDelimitedFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> a
    1:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):191:194 -> b
    1:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):209 -> b
    1:4:java.lang.Object parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):70:70 -> b
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):209 -> b
    5:5:java.lang.Object parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite.newUninitializedMessageException():102:102 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):57 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):71 -> b
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):209 -> b
    6:6:java.lang.Object parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException.asInvalidProtocolBufferException():81:81 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):71 -> b
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):209 -> b
    7:7:java.lang.Object parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> b
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.checkMessageInitialized(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):71:71 -> b
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):209 -> b
    8:8:java.lang.Object parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> b
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parsePartialFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):196:196 -> b
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractParser.parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):209 -> b
    9:9:java.lang.Object parseFrom(java.io.InputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):49 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString -> com.android.tools.r8.internal.f6:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString EMPTY -> b
    boolean $assertionsDisabled -> c
    1:22:void <clinit>():60:81 -> <clinit>
    1:1:void <init>():84:84 -> <init>
    int getTreeDepth() -> a
    int partialHash(int,int,int) -> a
    void writeToInternal(java.io.OutputStream,int,int) -> a
    1:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString copyFromUtf8(java.lang.String):269:271 -> a
    4:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concat(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):396:403 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concat(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):399:399 -> a
    13:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString copyFrom(java.lang.Iterable):420:432 -> a
    26:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString balancedConcat(java.util.Iterator,int):442:450 -> a
    35:44:void copyTo(byte[],int,int,int):490:499 -> a
    45:45:void copyTo(byte[],int,int,int):495:495 -> a
    46:46:void copyTo(byte[],int,int,int):491:491 -> a
    47:47:void copyTo(byte[],int,int,int):488:488 -> a
    48:48:void copyTo(byte[],int,int,int):485:485 -> a
    49:49:void copyTo(byte[],int,int,int):482:482 -> a
    void copyToInternal(byte[],int,int,int) -> b
    boolean isBalanced() -> b
    int partialIsValidUtf8(int,int,int) -> b
    boolean isValidUtf8() -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output newOutput():751:751 -> d
    int peekCachedHashCode() -> e
    java.lang.String toString(java.lang.String) -> f
    1:1:java.lang.String toString():1019:1019 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$ByteIterator -> com.android.tools.r8.internal.d6:
    byte nextByte() -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output -> com.android.tools.r8.internal.e6:
    int bufferPos -> f
    byte[] EMPTY_BYTE_ARRAY -> g
    int flushedBuffersTotalBytes -> d
    int initialCapacity -> b
    java.util.ArrayList flushedBuffers -> c
    byte[] buffer -> e
    1:1:void <clinit>():765:765 -> <clinit>
    1:7:void <init>(int):783:789 -> <init>
    1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.flushLastBuffer():914:914 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString toByteString():827 -> a
    2:3:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.copyArray(byte[],int):835:836 -> a
    2:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.flushLastBuffer():916 -> a
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString toByteString():827 -> a
    4:18:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.flushLastBuffer():917:931 -> a
    4:18:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString toByteString():827 -> a
    19:19:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString toByteString():828:828 -> a
    1:1:java.lang.String toString():888:888 -> toString
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.size():872:872 -> toString
    2:2:java.lang.String toString():888 -> toString
    3:3:java.lang.String toString():888:888 -> toString
    1:1:void write(int):794:794 -> write
    2:10:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.flushFullBuffer(int):898:906 -> write
    2:10:void write(int):795 -> write
    11:11:void write(int):797:797 -> write
    12:19:void write(byte[],int,int):802:809 -> write
    20:28:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$Output.flushFullBuffer(int):898:906 -> write
    20:28:void write(byte[],int,int):814 -> write
    29:30:void write(byte[],int,int):815:816 -> write
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream -> com.android.tools.r8.internal.Lb:
    byte[] buffer -> a
    int currentLimit -> h
    int recursionDepth -> i
    java.io.InputStream input -> e
    int lastTag -> f
    int totalBytesRetired -> g
    int bufferPos -> d
    int bufferSize -> b
    int bufferSizeAfterLimit -> c
    1:1:void <init>(java.io.InputStream):898:898 -> <init>
    2:29:void <init>(java.io.InputStream):876:903 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream newInstance(java.io.InputStream):58:58 -> a
    2:2:void checkLastTagWas(int):173:173 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.invalidEndTag():94:94 -> a
    3:3:void checkLastTagWas(int):174 -> a
    4:4:void checkLastTagWas(int):174:174 -> a
    5:6:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):256:257 -> a
    7:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFixed32NoTag(int):410:410 -> a
    7:7:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):258 -> a
    8:8:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):244:244 -> a
    9:10:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.skipMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):286:287 -> a
    9:10:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):245 -> a
    11:14:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):246:249 -> a
    15:16:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):238:239 -> a
    17:17:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBytesNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):455:455 -> a
    17:17:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):240 -> a
    18:18:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> a
    18:18:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBytesNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):455 -> a
    18:18:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):240 -> a
    19:20:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBytesNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):455:456 -> a
    19:20:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):240 -> a
    21:22:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):232:233 -> a
    23:23:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFixed64NoTag(long):405:405 -> a
    23:23:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):234 -> a
    24:24:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readInt64():343:343 -> a
    24:24:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):226 -> a
    25:25:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):227:227 -> a
    26:26:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt64NoTag(long):385:385 -> a
    26:26:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):228 -> a
    27:27:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.invalidWireType():99:99 -> a
    27:27:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):262 -> a
    28:28:boolean skipField(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):262:262 -> a
    29:36:void readGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):420:427 -> a
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.recursionLimitExceeded():104:104 -> a
    37:37:void readGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):421 -> a
    38:38:void readGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):421:421 -> a
    39:47:void readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):471:479 -> a
    48:49:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.popLimit(int):1018:1019 -> a
    48:49:void readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):480 -> a
    50:50:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.recursionLimitExceeded():104:104 -> a
    50:50:void readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):473 -> a
    51:51:void readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):473:473 -> a
    52:60:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):489:497 -> a
    61:62:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.popLimit(int):1018:1019 -> a
    61:62:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):498 -> a
    63:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.recursionLimitExceeded():104:104 -> a
    63:63:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):491 -> a
    64:64:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite readMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite):491:491 -> a
    65:69:int getBytesUntilLimit():1027:1031 -> a
    1:1:boolean readBool():363:363 -> b
    2:3:void popLimit(int):1018:1019 -> b
    1:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString readBytes():504:508 -> c
    6:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.copyFrom(byte[],int,int):206:208 -> c
    6:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString readBytes():508 -> c
    9:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString readBytes():511:517 -> c
    16:23:int pushLimit(int):988:995 -> c
    24:24:int pushLimit(int):991:991 -> c
    25:25:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.negativeSize():78:78 -> c
    25:25:int pushLimit(int):986 -> c
    26:26:int pushLimit(int):986:986 -> c
    1:1:double readDouble():328:328 -> d
    2:2:byte[] readRawBytesSlowPath(int):1177:1177 -> d
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.negativeSize():78:78 -> d
    3:3:byte[] readRawBytesSlowPath(int):1179 -> d
    4:23:byte[] readRawBytesSlowPath(int):1179:1198 -> d
    24:24:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.ensureAvailable(int):1068:1068 -> d
    24:24:byte[] readRawBytesSlowPath(int):1203 -> d
    25:61:byte[] readRawBytesSlowPath(int):1204:1240 -> d
    62:81:byte[] readRawBytesSlowPath(int):1238:1257 -> d
    82:84:byte[] readRawBytesSlowPath(int):1185:1187 -> d
    1:1:int readEnum():570:570 -> e
    2:3:void refillBuffer(int):1081:1082 -> e
    1:1:float readFloat():333:333 -> f
    2:4:void skipRawBytes(int):1272:1274 -> f
    5:25:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.skipRawBytesSlowPath(int):1289:1309 -> f
    5:25:void skipRawBytes(int):1276 -> f
    26:28:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.skipRawBytesSlowPath(int):1291:1293 -> f
    26:28:void skipRawBytes(int):1276 -> f
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.negativeSize():78:78 -> f
    29:29:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.skipRawBytesSlowPath(int):1286 -> f
    29:29:void skipRawBytes(int):1276 -> f
    30:30:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.skipRawBytesSlowPath(int):1286:1286 -> f
    30:30:void skipRawBytes(int):1276 -> f
    1:1:int readInt32():348:348 -> g
    2:41:boolean tryRefillBuffer(int):1095:1134 -> g
    42:42:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.sizeLimitExceeded():110:110 -> g
    42:42:boolean tryRefillBuffer(int):1131 -> g
    43:43:boolean tryRefillBuffer(int):1131:1131 -> g
    44:44:boolean tryRefillBuffer(int):1123:1123 -> g
    45:45:boolean tryRefillBuffer(int):1096:1096 -> g
    1:11:int readRawLittleEndian32():789:799 -> h
    1:11:long readRawLittleEndian64():807:817 -> i
    1:24:int readRawVarint32():602:625 -> j
    25:28:byte com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawByte():1148:1151 -> j
    25:28:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint64SlowPath():778 -> j
    25:28:int readRawVarint32():637 -> j
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.malformedVarint():84:84 -> j
    29:29:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint64SlowPath():784 -> j
    29:29:int readRawVarint32():637 -> j
    30:30:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint64SlowPath():784:784 -> j
    30:30:int readRawVarint32():637 -> j
    31:31:int readRawVarint32():634:634 -> j
    1:35:long readRawVarint64():728:762 -> k
    36:39:byte com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawByte():1148:1151 -> k
    36:39:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint64SlowPath():778 -> k
    36:39:long readRawVarint64():770 -> k
    40:40:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.malformedVarint():84:84 -> k
    40:40:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint64SlowPath():784 -> k
    40:40:long readRawVarint64():770 -> k
    41:41:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readRawVarint64SlowPath():784:784 -> k
    41:41:long readRawVarint64():770 -> k
    42:42:long readRawVarint64():767:767 -> k
    1:1:long readSInt64():590:590 -> l
    1:12:java.lang.String readString():372:383 -> m
    1:1:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.isAtEnd():1041:1041 -> n
    1:1:int readTag():149 -> n
    2:6:int readTag():150:154 -> n
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException.invalidTag():89:89 -> n
    7:7:int readTag():158 -> n
    8:8:int readTag():158:158 -> n
    1:8:void recomputeBufferSizeAfterLimit():1001:1008 -> o
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream -> com.android.tools.r8.internal.Nb:
    byte[] buffer -> a
    java.io.OutputStream output -> d
    int limit -> b
    int position -> c
    1:5:void <init>(byte[],int,int):78:82 -> <init>
    6:10:void <init>(java.io.OutputStream,byte[]):85:89 -> <init>
    int computeRawVarint64Size(long) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream newInstance(java.io.OutputStream,int):106:106 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream newInstance(byte[]):117:117 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.newInstance(byte[],int,int):130:130 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream newInstance(byte[]):117 -> a
    4:4:int computeMessageSize(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):628:628 -> a
    5:6:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeMessageSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):865:866 -> a
    5:6:int computeMessageSize(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):628 -> a
    7:7:int computeEnumSize(int,int):681:681 -> a
    8:8:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeEnumSizeNoTag(int):916:916 -> a
    8:8:int computeEnumSize(int,int):681 -> a
    9:9:int computeInt32SizeNoTag(int):794:794 -> a
    10:11:int computeMessageSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):865:866 -> a
    12:13:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.spaceLeft():984:985 -> a
    12:13:void checkNoSpaceLeft():1001 -> a
    14:14:void checkNoSpaceLeft():1002:1002 -> a
    15:15:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.spaceLeft():987:987 -> a
    15:15:void checkNoSpaceLeft():1001 -> a
    16:16:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    16:16:void writeBool(int,boolean):219 -> a
    17:17:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBoolNoTag(boolean):415:415 -> a
    17:17:void writeBool(int,boolean):220 -> a
    18:18:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    18:18:void writeBytes(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):263 -> a
    19:20:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBytesNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):455:456 -> a
    19:20:void writeBytes(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):264 -> a
    21:21:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    21:21:void writeDouble(int,double):170 -> a
    22:22:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeDoubleNoTag(double):375:375 -> a
    22:22:void writeDouble(int,double):171 -> a
    23:23:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    23:23:void writeFloat(int,float):177 -> a
    24:24:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFloatNoTag(float):380:380 -> a
    24:24:void writeFloat(int,float):178 -> a
    int computeRawVarint32Size(int) -> b
    long encodeZigZag64(long) -> b
    1:2:void writeMessageNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):448:449 -> b
    3:3:int computeInt32Size(int,int):560:560 -> b
    4:4:void flush():974:974 -> b
    5:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():965:966 -> b
    5:6:void flush():975 -> b
    7:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():960:960 -> b
    7:7:void flush():975 -> b
    8:8:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047:1047 -> b
    9:21:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1147:1159 -> b
    9:21:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    22:30:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():958:966 -> b
    22:30:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1161 -> b
    22:30:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    31:36:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1166:1171 -> b
    31:36:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    37:42:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.writeTo(java.io.OutputStream,int,int):564:569 -> b
    37:42:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1171 -> b
    37:42:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    43:43:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.writeTo(java.io.OutputStream,int,int):565:565 -> b
    43:43:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1171 -> b
    43:43:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    44:44:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.writeTo(java.io.OutputStream,int,int):562:562 -> b
    44:44:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1171 -> b
    44:44:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    45:45:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.writeTo(java.io.OutputStream,int,int):559:559 -> b
    45:45:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1171 -> b
    45:45:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    46:46:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():960:960 -> b
    46:46:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,int,int):1161 -> b
    46:46:void writeRawBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):1047 -> b
    47:47:void writeRawBytes(byte[]):1052:1052 -> b
    48:60:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(byte[],int,int):1113:1125 -> b
    48:60:void writeRawBytes(byte[]):1052 -> b
    61:69:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():958:966 -> b
    61:69:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(byte[],int,int):1127 -> b
    61:69:void writeRawBytes(byte[]):1052 -> b
    70:76:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(byte[],int,int):1132:1138 -> b
    70:76:void writeRawBytes(byte[]):1052 -> b
    77:77:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():960:960 -> b
    77:77:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawBytes(byte[],int,int):1127 -> b
    77:77:void writeRawBytes(byte[]):1052 -> b
    78:78:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> b
    78:78:void writeMessage(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):255 -> b
    79:80:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):448:449 -> b
    79:80:void writeMessage(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):256 -> b
    1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> c
    1:1:void writeEnum(int,int):313 -> c
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeEnumNoTag(int):497:497 -> c
    2:2:void writeEnum(int,int):314 -> c
    3:3:int computeTagSize(int):1185:1185 -> c
    4:11:void writeRawLittleEndian64(long):1256:1263 -> c
    1:4:void writeInt32NoTag(int):396:399 -> d
    5:5:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> d
    5:5:void writeInt32(int,int):198 -> d
    6:6:void writeInt32(int,int):199:199 -> d
    7:10:void writeRawVarint64(long):1221:1224 -> d
    1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawByte(byte):1032:1032 -> e
    1:1:void writeRawByte(int):1042 -> e
    2:10:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():958:966 -> e
    2:10:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawByte(byte):1033 -> e
    2:10:void writeRawByte(int):1042 -> e
    11:11:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.refreshBuffer():960:960 -> e
    11:11:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawByte(byte):1033 -> e
    11:11:void writeRawByte(int):1042 -> e
    12:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeRawByte(byte):1036:1036 -> e
    12:12:void writeRawByte(int):1042 -> e
    13:13:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> e
    13:13:void writeSInt64(int,long):341 -> e
    14:14:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSInt64NoTag(long):517:517 -> e
    14:14:void writeSInt64(int,long):342 -> e
    1:4:void writeRawLittleEndian32(int):1246:1249 -> f
    1:4:void writeRawVarint32(int):1195:1198 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream$OutOfSpaceException -> com.android.tools.r8.internal.Mb:
    1:1:void <init>():1016:1016 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite -> com.android.tools.r8.internal.sj:
    java.util.Map extensionsByNumber -> a
    int $r8$clinit -> b
    1:1:void <clinit>():159:159 -> <clinit>
    1:2:void <init>():137:138 -> <init>
    3:4:void <init>(boolean):156:157 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite newInstance():92:92 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension findLiteExtensionByNumber(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,int):117:117 -> a
    3:3:void add(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):125:125 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getContainingTypeDefaultInstance():825:825 -> a
    4:4:void add(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):125 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getNumber():830:830 -> a
    5:5:void add(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):125 -> a
    6:6:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> a
    6:6:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getNumber():830 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void add(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):125 -> a
    7:7:void add(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):125:125 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite$ObjectIntPair -> com.android.tools.r8.internal.rj:
    java.lang.Object object -> a
    int number -> b
    1:3:void <init>(java.lang.Object,int):167:169 -> <init>
    1:5:boolean equals(java.lang.Object):178:182 -> equals
    1:1:int hashCode():174:174 -> hashCode
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet -> com.android.tools.r8.internal.ik:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet DEFAULT_INSTANCE -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap fields -> a
    int $r8$clinit -> e
    boolean isImmutable -> b
    boolean hasLazyField -> c
    1:1:void <clinit>():102:102 -> <clinit>
    1:1:void <init>():76:76 -> <init>
    2:6:void <init>():73:77 -> <init>
    7:7:void <init>(boolean):84:84 -> <init>
    8:21:void <init>(boolean):73:86 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.newFieldSet():92:92 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet clone():134 -> a
    2:12:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet clone():135:145 -> a
    13:13:java.lang.Object getField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):224:224 -> a
    14:14:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):340:340 -> a
    15:15:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    15:15:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):340 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):345:345 -> a
    17:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    17:17:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):345 -> a
    18:18:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):345:345 -> a
    19:19:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.getField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):224:224 -> a
    19:19:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):347 -> a
    20:26:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):350:356 -> a
    27:27:void addRepeatedField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):341:341 -> a
    28:29:boolean isInitialized(java.util.Map$Entry):435:436 -> a
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    30:30:boolean isInitialized(java.util.Map$Entry):436 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    31:31:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    31:31:boolean isInitialized(java.util.Map$Entry):436 -> a
    32:33:boolean isInitialized(java.util.Map$Entry):436:437 -> a
    34:34:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    34:34:boolean isInitialized(java.util.Map$Entry):437 -> a
    35:49:boolean isInitialized(java.util.Map$Entry):439:453 -> a
    50:55:void mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet):481:486 -> a
    56:90:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):556:590 -> a
    91:91:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):575:575 -> a
    92:92:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readSInt32():585:585 -> a
    92:92:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):574 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    93:93:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):574:574 -> a
    94:94:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readSFixed64():580:580 -> a
    94:94:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):573 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    95:95:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):573:573 -> a
    96:96:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readSFixed32():575:575 -> a
    96:96:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):572 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    97:111:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):572:586 -> a
    112:112:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readUInt32():562:562 -> a
    112:112:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):571 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    113:113:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):571:571 -> a
    114:125:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):570:581 -> a
    126:126:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):578:578 -> a
    127:127:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):568:568 -> a
    128:128:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):564:564 -> a
    129:129:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readFixed32():358:358 -> a
    129:129:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):563 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    130:130:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):563:563 -> a
    131:131:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readFixed64():353:353 -> a
    131:131:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):562 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    132:132:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):562:562 -> a
    133:133:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readInt32():348:348 -> a
    133:133:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):561 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    134:134:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):561:561 -> a
    135:135:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readUInt64():338:338 -> a
    135:135:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):560 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    136:136:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):560:560 -> a
    137:137:long com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readInt64():343:343 -> a
    137:137:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):559 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    138:138:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):559:559 -> a
    139:139:float com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readFloat():333:333 -> a
    139:139:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):558 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    140:140:float com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readFloat():333:333 -> a
    140:140:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):558 -> a
    141:141:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):558:558 -> a
    142:142:double com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readDouble():328:328 -> a
    142:142:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):557 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    143:143:double com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readDouble():328:328 -> a
    143:143:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):557 -> a
    144:144:java.lang.Object readPrimitiveField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):557:557 -> a
    145:168:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):679:702 -> a
    169:169:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSInt64NoTag(long):517:517 -> a
    169:169:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):702 -> a
    170:170:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSInt64NoTag(long):517:517 -> a
    170:170:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):702 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    171:171:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):701:701 -> a
    172:172:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSInt32NoTag(int):512:512 -> a
    172:172:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):701 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    173:173:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):700:700 -> a
    174:174:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSFixed64NoTag(long):507:507 -> a
    174:174:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):700 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    175:175:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):699:699 -> a
    176:176:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeSFixed32NoTag(int):502:502 -> a
    176:176:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):699 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    177:178:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):705:706 -> a
    179:179:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeEnumNoTag(int):497:497 -> a
    179:179:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):706 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    180:180:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):708:708 -> a
    181:181:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeEnumNoTag(int):497:497 -> a
    181:181:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):708 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    182:182:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):698:698 -> a
    183:183:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt32NoTag(int):489:489 -> a
    183:183:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):698 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    184:185:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):692:693 -> a
    186:187:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBytesNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):455:456 -> a
    186:187:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):693 -> a
    188:188:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):695:695 -> a
    189:190:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeByteArrayNoTag(byte[]):461:462 -> a
    189:190:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):695 -> a
    191:191:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):690:690 -> a
    192:192:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):689:689 -> a
    193:193:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroupNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):430:430 -> a
    193:193:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):689 -> a
    194:194:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):688:688 -> a
    195:197:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeStringNoTag(java.lang.String):423:425 -> a
    195:197:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):688 -> a
    198:198:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):687:687 -> a
    199:199:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeBoolNoTag(boolean):415:415 -> a
    199:199:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):687 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    200:200:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):686:686 -> a
    201:201:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFixed32NoTag(int):410:410 -> a
    201:201:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):686 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    202:202:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):685:685 -> a
    203:203:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFixed64NoTag(long):405:405 -> a
    203:203:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):685 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    204:204:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):684:684 -> a
    205:205:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):683:683 -> a
    206:206:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt64NoTag(long):385:385 -> a
    206:206:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):683 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    207:207:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):682:682 -> a
    208:208:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeInt64NoTag(long):390:390 -> a
    208:208:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):682 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    209:209:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):681:681 -> a
    210:210:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeFloatNoTag(float):380:380 -> a
    210:210:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):681 -> a
    211:211:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):680:680 -> a
    212:212:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeDoubleNoTag(double):375:375 -> a
    212:212:void writeElementNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):680 -> a
    213:213:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):719:719 -> a
    214:214:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    214:214:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):719 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    215:215:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):720:720 -> a
    216:216:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> a
    216:216:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):720 -> a
    217:217:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    217:217:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):721 -> a
    218:218:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):722:722 -> a
    219:219:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isPacked():710:710 -> a
    219:219:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):723 -> a
    220:220:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    220:220:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):724 -> a
    221:221:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    221:221:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):724 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    222:231:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):727:736 -> a
    232:233:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):657:658 -> a
    232:233:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    234:234:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    234:234:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):233 -> a
    234:234:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
    234:234:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    235:235:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    235:235:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):233 -> a
    235:235:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    235:235:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    236:236:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroupNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):430:430 -> a
    236:236:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):234 -> a
    236:236:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
    236:236:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    237:237:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    237:237:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):235 -> a
    237:237:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
    237:237:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    238:238:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.getWireFormatForFieldType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):472:472 -> a
    238:238:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):660 -> a
    238:238:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    239:239:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    239:239:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):660 -> a
    239:239:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    240:240:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    240:240:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):660 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    240:240:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    241:241:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):661:661 -> a
    241:241:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):737 -> a
    242:243:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):657:658 -> a
    242:243:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    244:244:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    244:244:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):233 -> a
    244:244:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
    244:244:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    245:245:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    245:245:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):233 -> a
    245:245:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    245:245:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    246:246:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroupNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):430:430 -> a
    246:246:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):234 -> a
    246:246:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
    246:246:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    247:247:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    247:247:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeGroup(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):235 -> a
    247:247:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):658 -> a
    247:247:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    248:248:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.getWireFormatForFieldType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):472:472 -> a
    248:248:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):660 -> a
    248:248:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    249:249:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    249:249:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):660 -> a
    249:249:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    250:250:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    250:250:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):660 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    250:250:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    251:251:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.writeElement(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):661:661 -> a
    251:251:void writeField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):744 -> a
    252:293:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):835:876 -> a
    294:294:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):858:858 -> a
    295:295:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeSInt64SizeNoTag(long):948:948 -> a
    295:295:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):858 -> a
    296:296:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):857:857 -> a
    297:297:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeSInt32SizeNoTag(int):940:940 -> a
    297:297:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):857 -> a
    298:298:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):856:856 -> a
    299:313:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):855:869 -> a
    314:314:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeEnumSizeNoTag(int):916:916 -> a
    314:314:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):869 -> a
    315:315:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):872:872 -> a
    316:316:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeEnumSizeNoTag(int):916:916 -> a
    316:316:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):872 -> a
    317:317:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):854:854 -> a
    318:318:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeUInt32SizeNoTag(int):908:908 -> a
    318:318:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):854 -> a
    319:320:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):849:850 -> a
    321:321:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeBytesSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):883:883 -> a
    321:321:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):850 -> a
    322:322:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):852:852 -> a
    323:323:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeByteArraySizeNoTag(byte[]):892:892 -> a
    323:323:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):852 -> a
    324:324:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):864:864 -> a
    325:325:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):847:847 -> a
    326:326:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeGroupSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):844:844 -> a
    326:326:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):847 -> a
    327:327:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):846:846 -> a
    328:332:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeStringSizeNoTag(java.lang.String):831:835 -> a
    328:332:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):846 -> a
    333:333:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):845:845 -> a
    334:334:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):844:844 -> a
    335:335:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):843:843 -> a
    336:336:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):842:842 -> a
    337:337:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):841:841 -> a
    338:338:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeUInt64SizeNoTag(long):777:777 -> a
    338:338:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):841 -> a
    339:339:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):840:840 -> a
    340:340:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.computeInt64SizeNoTag(long):785:785 -> a
    340:340:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):840 -> a
    341:341:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):839:839 -> a
    342:342:int computeElementSizeNoTag(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):838:838 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet emptySet():99:99 -> b
    2:2:boolean hasField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):209:209 -> b
    3:3:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> b
    3:3:boolean hasField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):209 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean hasField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):214:214 -> b
    5:5:boolean hasField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):210:210 -> b
    6:27:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):369:390 -> b
    28:28:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):385:385 -> b
    29:29:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):381:381 -> b
    30:30:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):379:379 -> b
    31:31:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):378:378 -> b
    32:32:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):377:377 -> b
    33:33:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):376:376 -> b
    34:34:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):375:375 -> b
    35:64:void verifyType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Object):374:403 -> b
    65:71:void mergeFromField(java.util.Map$Entry):504:510 -> b
    72:72:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> b
    72:72:void mergeFromField(java.util.Map$Entry):510 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    73:73:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.getField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):224:224 -> b
    73:73:void mergeFromField(java.util.Map$Entry):511 -> b
    74:77:void mergeFromField(java.util.Map$Entry):513:516 -> b
    78:81:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.cloneIfMutable(java.lang.Object):491:494 -> b
    78:81:void mergeFromField(java.util.Map$Entry):516 -> b
    82:85:void mergeFromField(java.util.Map$Entry):516:519 -> b
    86:86:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> b
    86:86:void mergeFromField(java.util.Map$Entry):519 -> b
    87:87:void mergeFromField(java.util.Map$Entry):519:519 -> b
    88:88:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.getField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite):224:224 -> b
    88:88:void mergeFromField(java.util.Map$Entry):520 -> b
    89:89:void mergeFromField(java.util.Map$Entry):522:522 -> b
    90:93:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.cloneIfMutable(java.lang.Object):491:494 -> b
    90:93:void mergeFromField(java.util.Map$Entry):522 -> b
    94:104:void mergeFromField(java.util.Map$Entry):522:532 -> b
    105:108:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.cloneIfMutable(java.lang.Object):491:494 -> b
    105:108:void mergeFromField(java.util.Map$Entry):532 -> b
    109:109:void mergeFromField(java.util.Map$Entry):532:532 -> b
    110:110:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):885:885 -> b
    111:111:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> b
    111:111:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):885 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    112:112:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):886:886 -> b
    113:113:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> b
    113:113:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):886 -> b
    114:114:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> b
    114:114:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):887 -> b
    115:115:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isPacked():710:710 -> b
    115:115:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):888 -> b
    116:124:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):890:898 -> b
    125:131:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.computeElementSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):814:820 -> b
    125:131:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):899 -> b
    132:138:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.computeElementSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,int,java.lang.Object):814:820 -> b
    132:138:int computeFieldSize(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):904 -> b
    1:1:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):238:238 -> c
    2:2:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> c
    2:2:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):238 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:13:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):239:249 -> c
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> c
    14:14:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):249 -> c
    15:15:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):249:249 -> c
    16:29:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):240:253 -> c
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> c
    30:30:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):253 -> c
    31:37:void setField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite,java.lang.Object):253:259 -> c
    38:45:int getSerializedSize():755:762 -> c
    1:1:java.lang.Object clone():50:50 -> clone
    1:8:boolean isInitialized():418:425 -> d
    1:5:java.util.Iterator iterator():197:201 -> e
    1:5:void makeImmutable():107:111 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet newFieldSet():92:92 -> g
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet$FieldDescriptorLite -> com.android.tools.r8.internal.hk:
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite -> com.android.tools.r8.internal.Tl:
    1:1:void <init>():53:53 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder):56:56 -> <init>
    1:738:java.lang.reflect.Method getMethodOrDie(java.lang.Class,java.lang.String,java.lang.Class[]):0:737 -> a
    739:739:boolean parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):73:73 -> a
    740:748:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):517:525 -> a
    740:748:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    749:749:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    749:749:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):525 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    749:749:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    750:750:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):525:525 -> a
    750:750:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    751:751:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet.getWireFormatForFieldType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean):472:472 -> a
    751:751:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):525 -> a
    751:751:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    752:752:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):529:529 -> a
    752:752:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    753:753:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    753:753:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):529 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    753:753:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    754:760:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):540:546 -> a
    754:760:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    761:761:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    761:761:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):546 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    761:761:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    762:763:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):546:547 -> a
    762:763:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    764:764:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readEnum():570:570 -> a
    764:764:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):548 -> a
    764:764:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    765:765:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):549:549 -> a
    765:765:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    766:766:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getEnumType():714:714 -> a
    766:766:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):549 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    766:766:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    767:779:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):549:561 -> a
    767:779:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    780:780:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    780:780:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):561 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    780:780:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    781:791:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):561:571 -> a
    781:791:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    792:792:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    792:792:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):571 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    792:792:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    793:793:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    793:793:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):571 -> a
    793:793:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    794:831:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):571:608 -> a
    794:831:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    832:832:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    832:832:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):608 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    832:832:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    833:833:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):608:608 -> a
    833:833:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    834:834:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):574:574 -> a
    834:834:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    835:835:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    835:835:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):574 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    835:835:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    836:839:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):575:578 -> a
    836:839:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    840:840:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getMessageDefaultInstance():839:839 -> a
    840:840:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):582 -> a
    840:840:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    841:844:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):582:585 -> a
    841:844:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    845:845:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteType():698:698 -> a
    845:845:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):585 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    845:845:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    846:846:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):585:585 -> a
    846:846:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    847:847:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> a
    847:847:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getNumber():830 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    847:847:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):587 -> a
    847:847:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    848:853:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):587:592 -> a
    848:853:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    854:854:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream.readEnum():570:570 -> a
    854:854:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):596 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    854:854:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    855:855:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):597:597 -> a
    855:855:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    856:856:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getEnumType():714:714 -> a
    856:856:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):597 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    856:856:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    857:862:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):597:602 -> a
    857:862:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    863:863:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt32NoTag(int):489:489 -> a
    863:863:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):603 -> a
    863:863:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    864:864:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):614:614 -> a
    864:864:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    865:865:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    865:865:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):614 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    865:865:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    866:869:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):615:618 -> a
    866:869:boolean access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):49 -> a
    870:870:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension newSingularGeneratedExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,java.lang.Class):639:639 -> a
    871:872:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension newRepeatedGeneratedExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean,java.lang.Class):661:662 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder -> com.android.tools.r8.internal.Nl:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString unknownFields -> b
    1:45:void <init>():87:131 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder mergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$Builder setUnknownFields(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):127:127 -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite getDefaultInstanceForType() -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString getUnknownFields():123:123 -> e
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder -> com.android.tools.r8.internal.Ol:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet extensions -> c
    boolean extensionsIsMutable -> d
    1:3:void <init>():332:334 -> <init>
    1:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.ensureExtensionsIsMutable():350:352 -> a
    1:3:void mergeExtensionFields(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage):495 -> a
    4:4:void mergeExtensionFields(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage):496:496 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.buildExtensions():361:361 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet access$000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):327 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.buildExtensions():361:363 -> a
    6:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet access$000(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):327 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getContainingTypeDefaultInstance():825:825 -> a
    9:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):368 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder addExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):453 -> a
    10:10:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):368:368 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder addExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):453 -> a
    11:13:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.ensureExtensionsIsMutable():350:352 -> a
    11:13:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder addExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):454 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder addExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):455:455 -> a
    15:15:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):371:371 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder addExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):453 -> a
    16:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getContainingTypeDefaultInstance():825:825 -> a
    16:16:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):368 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):431 -> a
    17:17:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):368:368 -> a
    17:17:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):431 -> a
    18:20:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.ensureExtensionsIsMutable():350:352 -> a
    18:20:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):432 -> a
    21:21:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):433:433 -> a
    22:22:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    22:22:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.toFieldSetType(java.lang.Object):869 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):433 -> a
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    23:23:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.toFieldSetType(java.lang.Object):870 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    23:23:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):433 -> a
    24:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    24:24:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.toFieldSetType(java.lang.Object):870 -> a
    24:24:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):433 -> a
    25:35:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.toFieldSetType(java.lang.Object):870:880 -> a
    25:35:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):433 -> a
    36:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):433:433 -> a
    37:37:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):371:371 -> a
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder setExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension,java.lang.Object):431 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage -> com.android.tools.r8.internal.Ql:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet extensions -> b
    1:2:void <init>():171:172 -> <init>
    3:4:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableBuilder):175:176 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.FieldSet access$200(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage):164:164 -> a
    2:2:boolean parseUnknownField(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite,int):246:246 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getContainingTypeDefaultInstance():825:825 -> a
    3:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):181 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):211 -> a
    4:4:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):181:181 -> a
    4:4:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):211 -> a
    5:7:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):212:214 -> a
    8:8:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.fromFieldSetType(java.lang.Object):844:844 -> a
    8:8:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):216 -> a
    9:9:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    9:9:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.fromFieldSetType(java.lang.Object):844 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):216 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    10:10:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.fromFieldSetType(java.lang.Object):845 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):216 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    11:11:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.fromFieldSetType(java.lang.Object):845 -> a
    11:11:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):216 -> a
    12:22:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.fromFieldSetType(java.lang.Object):845:855 -> a
    12:22:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):216 -> a
    23:23:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):184:184 -> a
    23:23:java.lang.Object getExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):211 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension.getContainingTypeDefaultInstance():825:825 -> b
    1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):181 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean hasExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):194 -> b
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):181:181 -> b
    2:2:boolean hasExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):194 -> b
    3:3:boolean hasExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):195:195 -> b
    4:4:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage.verifyExtensionContainingType(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):184:184 -> b
    4:4:boolean hasExtension(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension):194 -> b
    1:1:boolean extensionsAreInitialized():233:233 -> g
    1:1:int extensionsSerializedSize():316:316 -> h
    1:1:void makeExtensionsImmutable():261:261 -> i
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage$ExtensionWriter newExtensionWriter():308:308 -> j
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage$ExtensionWriter -> com.android.tools.r8.internal.Pl:
    java.util.Map$Entry next -> b
    java.util.Iterator iter -> a
    boolean messageSetWireFormat -> c
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage,boolean,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$1):270:270 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage,boolean):279:279 -> <init>
    3:12:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtendableMessage,boolean):274:283 -> <init>
    1:1:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):288:288 -> a
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> a
    2:2:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):288 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):289:290 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    5:5:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):290 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    6:6:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):290 -> a
    7:7:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):290:290 -> a
    8:8:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> a
    8:8:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):290 -> a
    9:9:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getNumber():694:694 -> a
    9:9:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    10:10:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293:293 -> a
    11:11:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    11:11:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageSetExtension(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):352 -> a
    11:11:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    12:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    12:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageSetExtension(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):352 -> a
    12:12:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    13:13:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    13:13:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt32(int,int):303 -> a
    13:13:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageSetExtension(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):353 -> a
    13:13:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    14:14:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt32NoTag(int):489:489 -> a
    14:14:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeUInt32(int,int):304 -> a
    14:14:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageSetExtension(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):353 -> a
    14:14:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    15:15:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageSetExtension(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):354:354 -> a
    15:15:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    16:16:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeTag(int,int):1180:1180 -> a
    16:16:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream.writeMessageSetExtension(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):355 -> a
    16:16:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):293 -> a
    17:22:void writeUntil(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedOutputStream):296:301 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor -> com.android.tools.r8.internal.Rl:
    boolean isRepeated -> e
    boolean isPacked -> f
    int number -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap enumTypeMap -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType type -> d
    1:6:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType,boolean,boolean):679:684 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType getLiteType():698:698 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder internalMergeFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):720:720 -> a
    1:1:int compareTo(java.lang.Object):671:671 -> compareTo
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.compareTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor):725:725 -> compareTo
    2:2:int compareTo(java.lang.Object):671 -> compareTo
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$GeneratedExtension -> com.android.tools.r8.internal.Sl:
    java.lang.Object defaultValue -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor descriptor -> d
    java.lang.reflect.Method enumValueOf -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite messageDefaultInstance -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite containingTypeDefaultInstance -> a
    1:25:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor,java.lang.Class):786:810 -> <init>
    26:26:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,java.lang.Object,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor,java.lang.Class):790:790 -> <init>
    1:1:java.lang.Object singularFromFieldSetType(java.lang.Object):860:860 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    2:2:java.lang.Object singularFromFieldSetType(java.lang.Object):860 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> a
    3:3:java.lang.Object singularFromFieldSetType(java.lang.Object):860 -> a
    4:5:java.lang.Object singularFromFieldSetType(java.lang.Object):860:861 -> a
    6:18:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.invokeOrDie(java.lang.reflect.Method,java.lang.Object,java.lang.Object[]):746:758 -> a
    6:18:java.lang.Object singularFromFieldSetType(java.lang.Object):861 -> a
    19:19:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.invokeOrDie(java.lang.reflect.Method,java.lang.Object,java.lang.Object[]):754:754 -> a
    19:19:java.lang.Object singularFromFieldSetType(java.lang.Object):861 -> a
    20:20:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite.invokeOrDie(java.lang.reflect.Method,java.lang.Object,java.lang.Object[]):748:748 -> a
    20:20:java.lang.Object singularFromFieldSetType(java.lang.Object):861 -> a
    1:1:java.lang.Object singularToFieldSetType(java.lang.Object):885:885 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> b
    2:2:java.lang.Object singularToFieldSetType(java.lang.Object):885 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.getLiteJavaType():702:702 -> b
    3:3:java.lang.Object singularToFieldSetType(java.lang.Object):885 -> b
    4:5:java.lang.Object singularToFieldSetType(java.lang.Object):885:886 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal -> com.android.tools.r8.internal.bu:
    byte[] EMPTY_BYTE_ARRAY -> a
    1:6:void <clinit>():383:388 -> <clinit>
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite -> com.android.tools.r8.internal.Zt:
    int getNumber() -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLiteMap -> com.android.tools.r8.internal.au:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Internal$EnumLite findValueByNumber(int) -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException -> com.android.tools.r8.internal.vu:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite unfinishedMessage -> b
    1:1:void <init>(java.lang.String):46:46 -> <init>
    2:2:void <init>(java.lang.String):43:43 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException setUnfinishedMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):57:57 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getUnfinishedMessage():66:66 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.InvalidProtocolBufferException truncatedMessage():70:70 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LazyField$LazyIterator -> com.android.tools.r8.internal.YA:
    java.util.Iterator iterator -> b
    1:2:void <init>(java.util.Iterator):130:131 -> <init>
    1:1:boolean hasNext():136:136 -> hasNext
    1:2:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LazyField$LazyIterator.next():142:143 -> next
    1:2:java.lang.Object next():127 -> next
    1:1:void remove():151:151 -> remove
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString -> com.android.tools.r8.internal.mC:
    int hash -> e
    byte[] bytes -> d
    1:180:void <init>(byte[]):62:241 -> <init>
    181:181:void <init>(byte[]):63:63 -> <init>
    int getTreeDepth() -> a
    1:1:void writeToInternal(java.io.OutputStream,int,int):148:148 -> a
    2:18:boolean equalsRange(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString,int,int):213:229 -> a
    19:19:boolean equalsRange(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString,int,int):218:218 -> a
    20:20:boolean equalsRange(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString,int,int):214:214 -> a
    21:21:int partialHash(int,int,int):271:271 -> a
    22:22:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.hashCode(int,byte[],int,int):276:276 -> a
    22:22:int partialHash(int,int,int):271 -> a
    boolean isBalanced() -> b
    1:1:void copyToInternal(byte[],int,int,int):117:117 -> b
    2:2:int partialIsValidUtf8(int,int,int):170:170 -> b
    1:1:boolean isValidUtf8():164:164 -> c
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> c
    2:2:boolean isValidUtf8():164 -> c
    3:3:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.isValidUtf8(byte[],int,int):122:122 -> c
    3:3:boolean isValidUtf8():164 -> c
    1:1:int peekCachedHashCode():266:266 -> e
    1:17:boolean equals(java.lang.Object):181:197 -> equals
    18:18:boolean equals(java.lang.Object):0:0 -> equals
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":216,"2":217,"3":218}}
    216:216:boolean equals(java.lang.Object):197:197 -> equals
    217:217:boolean equals(java.lang.Object):197:197 -> equals
    218:218:boolean equals(java.lang.Object):197:197 -> equals
    215:215:boolean equals(java.lang.Object):197:197 -> equals
    1:156:java.lang.String toString(java.lang.String):0:155 -> f
    157:157:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> f
    157:157:java.lang.String toString(java.lang.String):155 -> f
    158:158:java.lang.String toString(java.lang.String):155:155 -> f
    int getOffsetIntoBytes() -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$ByteIterator iterator():307:307 -> h
    1:9:int hashCode():251:259 -> hashCode
    1:1:java.util.Iterator iterator():52:52 -> iterator
    1:1:int size():76:76 -> size
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString$LiteralByteIterator -> com.android.tools.r8.internal.lC:
    int position -> b
    int limit -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString this$0 -> d
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString$1):310:310 -> <init>
    2:4:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString):314:316 -> <init>
    1:3:byte nextByte():330:332 -> a
    1:1:boolean hasNext():320:320 -> hasNext
    1:1:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString$LiteralByteIterator.next():325:325 -> next
    1:1:java.lang.Object next():310 -> next
    1:1:void remove():337:337 -> remove
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLiteOrBuilder -> com.android.tools.r8.internal.kE:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite getDefaultInstanceForType() -> a
    boolean isInitialized() -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Parser -> com.android.tools.r8.internal.JL:
    java.lang.Object parsePartialFrom(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.CodedInputStream,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ExtensionRegistryLite) -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString -> com.android.tools.r8.internal.UT:
    int treeDepth -> h
    int hash -> i
    int leftLength -> g
    int totalLength -> d
    int[] minLengthByDepth -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString right -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString left -> e
    1:22:void <clinit>():89:110 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$1):70:70 -> <init>
    2:416:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):129:543 -> <init>
    417:421:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):130:134 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString):70:70 -> a
    2:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):153:160 -> a
    10:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.concatenateBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):214:219 -> a
    10:15:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):164 -> a
    16:28:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):165:177 -> a
    29:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.concatenateBytes(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):214:219 -> a
    29:34:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):177 -> a
    35:36:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):178:179 -> a
    37:37:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.getTreeDepth():277:277 -> a
    37:37:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):179 -> a
    38:56:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString concatenate(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):179:197 -> a
    57:57:int getTreeDepth():277:277 -> a
    58:65:void writeToInternal(java.io.OutputStream,int,int):407:414 -> a
    66:73:int partialHash(int,int,int):568:575 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString):70:70 -> b
    2:2:boolean isBalanced():290:290 -> b
    3:11:void copyToInternal(byte[],int,int,int):360:368 -> b
    12:19:int partialIsValidUtf8(int,int,int):437:444 -> b
    1:2:boolean isValidUtf8():429:430 -> c
    1:1:int peekCachedHashCode():562:562 -> e
    1:20:boolean equals(java.lang.Object):456:475 -> equals
    21:21:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):494:494 -> equals
    21:21:boolean equals(java.lang.Object):480 -> equals
    22:22:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.next():716:716 -> equals
    22:22:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):495 -> equals
    22:22:boolean equals(java.lang.Object):480 -> equals
    23:23:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):498:498 -> equals
    23:23:boolean equals(java.lang.Object):480 -> equals
    24:24:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.next():716:716 -> equals
    24:24:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):499 -> equals
    24:24:boolean equals(java.lang.Object):480 -> equals
    25:25:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> equals
    25:25:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):503 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    25:25:boolean equals(java.lang.Object):480 -> equals
    26:26:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> equals
    26:26:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):503 -> equals
    26:26:boolean equals(java.lang.Object):480 -> equals
    27:27:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> equals
    27:27:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):504 -> equals
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:boolean equals(java.lang.Object):480 -> equals
    28:28:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString.size():76:76 -> equals
    28:28:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):504 -> equals
    28:28:boolean equals(java.lang.Object):480 -> equals
    29:44:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):505:520 -> equals
    29:44:boolean equals(java.lang.Object):480 -> equals
    45:45:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.next():716:716 -> equals
    45:45:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):525 -> equals
    45:45:boolean equals(java.lang.Object):480 -> equals
    46:46:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.next():716:716 -> equals
    46:46:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.equalsFragments(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):531 -> equals
    46:46:boolean equals(java.lang.Object):480 -> equals
    1:422:java.lang.String toString(java.lang.String):0:421 -> f
    423:423:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.size():269:269 -> f
    423:423:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.toByteArray():528 -> f
    423:423:java.lang.String toString(java.lang.String):421 -> f
    424:427:byte[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.toByteArray():530:533 -> f
    424:427:java.lang.String toString(java.lang.String):421 -> f
    428:428:java.lang.String toString(java.lang.String):421:421 -> f
    1:1:int[] access$600():70:70 -> g
    1:9:int hashCode():547:555 -> hashCode
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$ByteIterator com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString.iterator():779:779 -> iterator
    1:1:java.util.Iterator iterator():70 -> iterator
    1:1:int size():269:269 -> size
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer -> com.android.tools.r8.internal.RT:
    java.util.Stack prefixesStack -> a
    1:5:void <init>():602:606 -> <init>
    6:6:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$1):602:602 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.balance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):609:609 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):602 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.balance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):610:616 -> a
    2:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):602 -> a
    9:9:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):628:628 -> a
    10:10:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.insert(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):656:656 -> a
    10:10:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):629 -> a
    11:11:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.getDepthBinForLength(int):695:695 -> a
    11:11:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.insert(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):656 -> a
    11:11:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):629 -> a
    12:36:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.insert(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):657:681 -> a
    12:36:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):629 -> a
    37:37:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.getDepthBinForLength(int):695:695 -> a
    37:37:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.insert(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):681 -> a
    37:37:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):629 -> a
    38:46:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.insert(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):682:690 -> a
    38:46:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):629 -> a
    47:47:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$Balancer.insert(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):664:664 -> a
    47:47:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):629 -> a
    48:53:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):630:635 -> a
    54:54:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":690,"2":691,"3":692}}
    690:690:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):635:635 -> a
    691:691:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):635:635 -> a
    692:692:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):635:635 -> a
    689:689:void doBalance(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):635:635 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator -> com.android.tools.r8.internal.ST:
    java.util.Stack breadCrumbs -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next -> c
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$1):716:716 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):722:722 -> <init>
    3:8:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):718:723 -> <init>
    1:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString getLeafByLeft(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString):728:733 -> a
    1:1:boolean hasNext():752:752 -> hasNext
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():761:761 -> j
    2:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.getNextNonEmptyLeaf():740:743 -> j
    2:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765 -> j
    6:6:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString.isEmpty():135:135 -> j
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator.getNextNonEmptyLeaf():744 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765 -> j
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():765:765 -> j
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.LiteralByteString next():762:762 -> j
    1:1:java.lang.Object next():716:716 -> next
    1:1:void remove():770:770 -> remove
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$RopeByteIterator -> com.android.tools.r8.internal.TT:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.ByteString$ByteIterator bytes -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$PieceIterator pieces -> b
    int bytesRemaining -> d
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$1):782:782 -> <init>
    2:5:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString):788:791 -> <init>
    1:5:byte nextByte():803:807 -> a
    1:1:boolean hasNext():795:795 -> hasNext
    1:1:java.lang.Byte com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.RopeByteString$RopeByteIterator.next():799:799 -> next
    1:1:java.lang.Object next():782 -> next
    1:1:void remove():811:811 -> remove
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$1 -> com.android.tools.r8.internal.nV:
    java.util.Map com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.overflowEntries -> d
    java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.entryList -> c
    boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.isImmutable -> e
    int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.maxArraySize -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntrySet com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.lazyEntrySet -> f
    1:4:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.<init>(int):153:156 -> <init>
    1:4:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.<init>(int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$1):87 -> <init>
    1:4:void <init>(int):100 -> <init>
    java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object) -> a
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$200(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap):87:87 -> a
    2:2:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getArrayEntryAt(int):185:185 -> a
    2:2:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getArrayEntryAt(int):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    3:3:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):296:296 -> a
    3:3:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,int):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:5:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):297:298 -> a
    4:5:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,int):87 -> a
    6:10:java.util.SortedMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getOverflowEntriesMutable():377:381 -> a
    6:10:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):301 -> a
    6:10:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,int):87 -> a
    11:13:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):301:303 -> a
    11:13:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,int):87 -> a
    14:14:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.<init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,java.util.Map$Entry):406:406 -> a
    14:14:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):303 -> a
    14:14:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,int):87 -> a
    15:16:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):303:304 -> a
    15:16:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,int):87 -> a
    17:33:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.binarySearchInArray(java.lang.Comparable):316:332 -> a
    1:1:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$400(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap):87:87 -> b
    2:6:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):237:241 -> b
    7:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.ensureEntryArrayMutable():389:391 -> b
    7:9:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):243 -> b
    10:10:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):245:245 -> b
    11:15:java.util.SortedMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getOverflowEntriesMutable():377:381 -> b
    11:15:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):247 -> b
    16:21:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):247:252 -> b
    22:26:java.util.SortedMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getOverflowEntriesMutable():377:381 -> b
    22:26:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):253 -> b
    27:30:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.put(java.lang.Comparable,java.lang.Object):253:256 -> b
    1:1:java.util.Map com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.access$600(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap):87:87 -> c
    1:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.clear():262:267 -> clear
    1:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.clear():0 -> clear
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.containsKey(java.lang.Object):214:215 -> containsKey
    1:2:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.containsKey(java.lang.Object):0 -> containsKey
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.newFieldMap(int):100:100 -> d
    1:4:java.util.Set com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.entrySet():353:356 -> entrySet
    1:4:java.util.Set com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.entrySet():0 -> entrySet
      # {"id":"com.android.tools.r8.synthesized"}
    1:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.checkMutable():364:365 -> f
    1:6:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.get(java.lang.Object):227:232 -> get
    1:6:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.get(java.lang.Object):0 -> get
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getNumArrayEntries():180:180 -> k
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getNumArrayEntries():0 -> k
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:java.lang.Iterable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getOverflowEntries():195:195 -> l
    1:1:java.lang.Iterable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getOverflowEntries():0 -> l
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.isImmutable():175:175 -> m
    1:1:void makeImmutable():104 -> m
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getNumArrayEntries():180:180 -> m
    2:2:void makeImmutable():105 -> m
    3:5:void makeImmutable():106:108 -> m
    6:6:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> m
    6:6:void makeImmutable():108 -> m
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:13:void makeImmutable():109:115 -> m
    14:14:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.GeneratedMessageLite$ExtensionDescriptor.isRepeated():706:706 -> m
    14:14:void makeImmutable():115 -> m
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:16:void makeImmutable():116:117 -> m
    17:25:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.makeImmutable():161:169 -> m
    17:25:void makeImmutable():121 -> m
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):100:100 -> put
    1:4:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):279:282 -> remove
    1:4:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    5:7:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):296:298 -> remove
    5:7:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):284 -> remove
    5:7:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    8:12:java.util.SortedMap com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.getOverflowEntriesMutable():377:381 -> remove
    8:12:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):301 -> remove
    8:12:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):284 -> remove
    8:12:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    13:15:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):301:303 -> remove
    13:15:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):284 -> remove
    13:15:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    16:16:void com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.<init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,java.util.Map$Entry):406:406 -> remove
    16:16:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):303 -> remove
    16:16:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):284 -> remove
    16:16:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    17:18:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.removeArrayEntryAt(int):303:304 -> remove
    17:18:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):284 -> remove
    17:18:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    19:22:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):288:291 -> remove
    19:22:java.lang.Object com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.remove(java.lang.Object):0 -> remove
      # {"id":"com.android.tools.r8.synthesized"}
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.size():202:202 -> size
    1:1:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap.size():0 -> size
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EmptySet -> com.android.tools.r8.internal.qV:
    java.util.Iterator ITERATOR -> a
    java.lang.Iterable ITERABLE -> b
    1:16:void <clinit>():591:606 -> <clinit>
    1:1:java.util.Iterator access$700():589:589 -> a
    1:1:java.lang.Iterable iterable():615:615 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EmptySet$1 -> com.android.tools.r8.internal.oV:
    1:1:void <init>():591:591 -> <init>
    1:1:java.lang.Object next():598:598 -> next
    1:1:void remove():602:602 -> remove
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EmptySet$2 -> com.android.tools.r8.internal.pV:
    1:1:void <init>():606:606 -> <init>
    1:1:java.util.Iterator iterator():609:609 -> iterator
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry -> com.android.tools.r8.internal.rV:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap this$0 -> d
    java.lang.Comparable key -> b
    java.lang.Object value -> c
    1:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,java.lang.Comparable,java.lang.Object):409:411 -> <init>
    1:1:java.lang.Comparable getKey():416:416 -> b
    1:1:int compareTo(java.lang.Object):400:400 -> compareTo
    2:2:java.lang.Comparable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.getKey():416:416 -> compareTo
    2:2:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.compareTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry):426 -> compareTo
    2:2:int compareTo(java.lang.Object):400 -> compareTo
    3:3:java.lang.Comparable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.getKey():416:416 -> compareTo
    3:3:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.compareTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry):426 -> compareTo
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:int compareTo(java.lang.Object):400 -> compareTo
    4:4:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.compareTo(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry):426:426 -> compareTo
    4:4:int compareTo(java.lang.Object):400 -> compareTo
    1:6:boolean equals(java.lang.Object):442:447 -> equals
    7:7:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.equals(java.lang.Object,java.lang.Object):463:463 -> equals
    7:7:boolean equals(java.lang.Object):447 -> equals
    8:8:boolean equals(java.lang.Object):447:447 -> equals
    9:9:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.equals(java.lang.Object,java.lang.Object):463:463 -> equals
    9:9:boolean equals(java.lang.Object):447 -> equals
    1:1:java.lang.Comparable com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$Entry.getKey():416:416 -> getKey
    1:1:java.lang.Object getKey():400 -> getKey
    1:1:java.lang.Object getValue():421:421 -> getValue
    1:1:int hashCode():452:452 -> hashCode
    1:3:java.lang.Object setValue(java.lang.Object):431:433 -> setValue
    1:1:java.lang.String toString():458:458 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator -> com.android.tools.r8.internal.sV:
    java.util.Iterator lazyOverflowIterator -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap this$0 -> e
    int pos -> b
    boolean nextCalledBeforeRemove -> c
    1:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap):532:534 -> <init>
    4:4:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$1):532:532 -> <init>
    1:1:boolean hasNext():540:540 -> hasNext
    2:5:java.util.Iterator com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator.getOverflowIterator():577:580 -> hasNext
    2:5:boolean hasNext():540 -> hasNext
    6:6:boolean hasNext():540:540 -> hasNext
    1:5:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator.next():546:550 -> next
    1:5:java.lang.Object next():532 -> next
    6:9:java.util.Iterator com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator.getOverflowIterator():577:580 -> next
    6:9:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator.next():552 -> next
    6:9:java.lang.Object next():532 -> next
    10:10:java.util.Map$Entry com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator.next():552:552 -> next
    10:10:java.lang.Object next():532 -> next
    1:8:void remove():557:564 -> remove
    9:12:java.util.Iterator com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntryIterator.getOverflowIterator():577:580 -> remove
    9:12:void remove():566 -> remove
    13:13:void remove():566:566 -> remove
    14:14:void remove():558:558 -> remove
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntrySet -> com.android.tools.r8.internal.tV:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap this$0 -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap):470:470 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$1):470:470 -> <init>
    1:1:boolean add(java.lang.Object):470:470 -> add
    2:3:boolean com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.SmallSortedMap$EntrySet.add(java.util.Map$Entry):499:500 -> add
    2:3:boolean add(java.lang.Object):470 -> add
    1:1:void clear():524:524 -> clear
    1:4:boolean contains(java.lang.Object):490:493 -> contains
    1:1:java.util.Iterator iterator():474:474 -> iterator
    1:3:boolean remove(java.lang.Object):514:516 -> remove
    1:1:int size():479:479 -> size
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException -> com.android.tools.r8.internal.D00:
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):53:53 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8 -> com.android.tools.r8.internal.j10:
    1:66:int partialIsValidUtf8(int,byte[],int,int):163:228 -> a
    67:67:int partialIsValidUtf8(byte[],int,int):252:252 -> a
    68:79:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):270:281 -> a
    68:79:int partialIsValidUtf8(byte[],int,int):256 -> a
    80:85:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.incompleteStateFor(byte[],int,int):341:346 -> a
    80:85:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):289 -> a
    80:85:int partialIsValidUtf8(byte[],int,int):256 -> a
    86:86:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.incompleteStateFor(byte[],int,int):344:344 -> a
    86:86:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):289 -> a
    86:86:int partialIsValidUtf8(byte[],int,int):256 -> a
    87:87:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):291:291 -> a
    87:87:int partialIsValidUtf8(byte[],int,int):256 -> a
    88:93:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.incompleteStateFor(byte[],int,int):341:346 -> a
    88:93:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):304 -> a
    88:93:int partialIsValidUtf8(byte[],int,int):256 -> a
    94:94:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.incompleteStateFor(byte[],int,int):344:344 -> a
    94:94:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):304 -> a
    94:94:int partialIsValidUtf8(byte[],int,int):256 -> a
    95:95:int com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.Utf8.partialIsValidUtf8NonAscii(byte[],int,int):306:306 -> a
    95:95:int partialIsValidUtf8(byte[],int,int):256 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat -> com.android.tools.r8.internal.G20:
    int makeTag(int,int) -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType -> com.android.tools.r8.internal.E20:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType javaType -> b
    int wireType -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType FLOAT -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType DOUBLE -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType[] $VALUES -> v
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType UINT64 -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType INT64 -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType FIXED64 -> i
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType INT32 -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType BOOL -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType FIXED32 -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType GROUP -> m
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType STRING -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType BYTES -> o
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType MESSAGE -> n
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType ENUM -> q
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType UINT32 -> p
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SFIXED64 -> s
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SFIXED32 -> r
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SINT64 -> u
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType SINT32 -> t
    1:26:void <clinit>():108:133 -> <clinit>
    27:27:void <clinit>():107:107 -> <clinit>
    1:1:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$1):107:107 -> <init>
    2:4:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):135:137 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType getJavaType():143:143 -> a
    1:1:int getWireType():144:144 -> b
    boolean isPackable() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$1 -> com.android.tools.r8.internal.A20:
    1:117:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):0:116 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$2 -> com.android.tools.r8.internal.B20:
    1:1:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):119:119 -> <init>
    boolean isPackable() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$3 -> com.android.tools.r8.internal.C20:
    1:1:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):122:122 -> <init>
    boolean isPackable() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$FieldType$4 -> com.android.tools.r8.internal.D20:
    1:1:void <init>(java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType,int):125:125 -> <init>
    boolean isPackable() -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType -> com.android.tools.r8.internal.F20:
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType DOUBLE -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType BOOLEAN -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType[] $VALUES -> l
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType LONG -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType FLOAT -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType ENUM -> j
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType MESSAGE -> k
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType STRING -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType BYTE_STRING -> i
    java.lang.Object defaultDefault -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.WireFormat$JavaType INT -> c
    1:9:void <clinit>():78:86 -> <clinit>
    10:10:void <clinit>():77:77 -> <clinit>
    1:2:void <init>(java.lang.String,int,java.lang.Object):88:89 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor -> com.android.tools.r8.internal.cw:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
    1:1:void <clinit>():85:85 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):47:47 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor):49:49 -> <init>
    void visitJvmFlags(int) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor.getDelegate():51:51 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor getDelegate():47 -> a
    void visitAnonymousObjectOriginName(java.lang.String) -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor.getDelegate():51:51 -> b
    1:1:void visitEnd():75 -> b
    2:2:void visitEnd():75:75 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():54:54 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmConstructorExtensionVisitor -> com.android.tools.r8.internal.fw:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> a
    1:1:void <clinit>():280:280 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmConstructorExtensionVisitor):256:256 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmConstructorExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):256:256 -> <init>
    void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():260:260 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor -> com.android.tools.r8.internal.gw:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor delegate -> a
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor):14:15 -> <init>
    void visitModuleName(java.lang.String) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor getDelegate():15:15 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitLocalDelegatedProperty(int,java.lang.String,int,int):34:34 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt -> com.android.tools.r8.internal.iw:
# {"id":"sourceFile","fileName":"jvmExtensions.kt"}
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmConstructorExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):25:25 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):167 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):167:167 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):31:31 -> a
    3:3:java.util.List getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):191 -> a
    4:4:java.util.List getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):191:191 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):31:31 -> b
    1:1:boolean isRaw(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):182 -> b
    2:2:boolean isRaw(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):182:182 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature -> com.android.tools.r8.internal.jw:
# {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
    java.lang.String name -> a
    java.lang.String desc -> b
    1:1:void <init>(java.lang.String,java.lang.String):51:51 -> <init>
    1:1:java.lang.String asString():52:52 -> a
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature.getDesc():51:51 -> a
    2:2:java.lang.String asString():52 -> a
    3:3:java.lang.String asString():52:52 -> a
    1:1:java.lang.String getDesc():51:51 -> b
    1:1:java.lang.String getName():51:51 -> c
    1:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature.getDesc():51:51 -> equals
    1:2:boolean equals(java.lang.Object):0 -> equals
    3:3:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature.getDesc():51:51 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor -> com.android.tools.r8.internal.lw:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor delegate -> a
    1:1:void <clinit>():161:161 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):122:122 -> <init>
    2:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor):122:123 -> <init>
    1:1:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):136:136 -> a
    2:2:void visitLambdaClassOriginName(java.lang.String):144:144 -> a
    3:3:void visitEnd():151:151 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():126:126 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature -> com.android.tools.r8.internal.ow:
# {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
    1:1:void <init>():16:16 -> <init>
    java.lang.String asString() -> a
    java.lang.String getDesc() -> b
    java.lang.String getName() -> c
    1:1:java.lang.String toString():30:30 -> toString
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature -> com.android.tools.r8.internal.Bw:
# {"id":"sourceFile","fileName":"JvmMemberSignature.kt"}
    java.lang.String name -> a
    java.lang.String desc -> b
    1:1:void <init>(java.lang.String,java.lang.String):40:40 -> <init>
    1:1:java.lang.String asString():41:41 -> a
    2:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature.getDesc():40:40 -> a
    2:2:java.lang.String asString():41 -> a
    3:3:java.lang.String asString():41:41 -> a
    1:1:java.lang.String getDesc():40:40 -> b
    1:1:java.lang.String getName():40:40 -> c
    1:2:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature.getDesc():40:40 -> equals
    1:2:boolean equals(java.lang.Object):0 -> equals
    3:3:boolean equals(java.lang.Object):0:0 -> equals
    1:1:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature.getDesc():40:40 -> hashCode
    1:1:int hashCode():0 -> hashCode
    2:2:int hashCode():0:0 -> hashCode
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor -> com.android.tools.r8.internal.Ew:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
    1:1:void <clinit>():115:115 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):92:92 -> <init>
    2:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor):94:94 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor.getDelegate():96:96 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmDeclarationContainerExtensionVisitor getDelegate():92 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPackageExtensionVisitor.getDelegate():96:96 -> b
    1:1:void visitEnd():105 -> b
    2:2:void visitEnd():105:105 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():99:99 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor -> com.android.tools.r8.internal.Gw:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor delegate -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
    1:1:void <clinit>():249:249 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):168:168 -> <init>
    2:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmPropertyExtensionVisitor):168:169 -> <init>
    1:4:void visit(int,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):191:194 -> a
    5:5:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):208:208 -> a
    6:6:void visitSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):219:219 -> a
    1:1:void visitSyntheticMethodForDelegate(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):232:232 -> b
    2:2:void visitEnd():239:239 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():172:172 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor -> com.android.tools.r8.internal.bx:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor delegate -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
    1:1:void <clinit>():361:361 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):323:323 -> <init>
    2:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeExtensionVisitor):323:324 -> <init>
    void visit(boolean) -> a
    1:1:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):344:344 -> a
    2:2:void visitEnd():351:351 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():327:327 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor -> com.android.tools.r8.internal.dx:
# {"id":"sourceFile","fileName":"jvmExtensionVisitors.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType TYPE -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor delegate -> a
    1:1:void <clinit>():316:316 -> <clinit>
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):287:287 -> <init>
    2:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmTypeParameterExtensionVisitor):287:288 -> <init>
    1:1:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):299:299 -> a
    2:2:void visitEnd():306:306 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType getType():291:291 -> getType
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader -> com.android.tools.r8.internal.lz:
# {"id":"sourceFile","fileName":"KotlinClassHeader.kt"}
    java.lang.String packageName -> g
    java.lang.String extraString -> f
    int[] COMPATIBLE_METADATA_VERSION -> i
    int[] metadataVersion -> b
    int[] bytecodeVersion -> c
    int extraInt -> h
    java.lang.String[] data2 -> e
    java.lang.String[] data1 -> d
    int kind -> a
    1:1:void <clinit>():165:165 -> <clinit>
    1:157:void <init>(java.lang.Integer,int[],int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):25:181 -> <init>
    158:251:void <init>(java.lang.Integer,int[],int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):89:182 -> <init>
    252:273:void <init>(java.lang.Integer,int[],int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):96:117 -> <init>
    1:1:int[] getBytecodeVersion():82:82 -> a
    1:1:java.lang.String[] getData1():89:89 -> b
    1:1:java.lang.String[] getData2():96:96 -> c
    1:1:int getExtraInt():117:117 -> d
    1:1:java.lang.String getExtraString():103:103 -> e
    1:1:int getKind():62:62 -> f
    1:1:int[] getMetadataVersion():70:70 -> g
    1:1:java.lang.String getPackageName():110:110 -> h
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader header -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion Companion -> b
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):25:25 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader getHeader():25:25 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):29:30 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass toKmClass():40:40 -> b
    2:2:com.android.tools.r8.jetbrains.kotlin.Pair getClassData():30:30 -> b
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):48 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass toKmClass():40 -> b
    3:4:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor):48:49 -> b
    3:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass toKmClass():40 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.a:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:1:void <init>():55:55 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):66:66 -> i
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    2:72:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):0:70 -> i
    2:72:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    2:72:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    73:73:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9889:9889 -> i
    73:73:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):70 -> i
    73:73:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    73:73:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9890:9890 -> i
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):70 -> i
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    74:74:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    75:76:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):70:71 -> i
    75:76:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    75:76:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    77:77:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader.<init>(java.lang.Integer,int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):50:50 -> i
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):71 -> i
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    77:77:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    78:78:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):72:72 -> i
    78:78:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    78:78:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> i
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9891 -> i
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):70 -> i
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
    80:80:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder.build():9891:9891 -> i
    80:80:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write(int[],int):70 -> i
    80:80:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$Writer,int[],int,int,java.lang.Object):65 -> i
    80:80:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class write():0 -> i
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class$classData$2 -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.b:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader $header -> b
    1:3:com.android.tools.r8.jetbrains.kotlin.Pair invoke():31:33 -> a
    1:3:java.lang.Object invoke():30 -> a
    4:4:com.android.tools.r8.jetbrains.kotlin.Pair invoke():32:32 -> a
    4:4:java.lang.Object invoke():30 -> a
    5:5:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    5:5:com.android.tools.r8.jetbrains.kotlin.Pair invoke():32 -> a
    5:5:java.lang.Object invoke():30 -> a
    6:6:com.android.tools.r8.jetbrains.kotlin.Pair invoke():32:32 -> a
    6:6:java.lang.Object invoke():30 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion -> com.android.tools.r8.internal.oz:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:1:void <init>():310:310 -> <init>
    1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):345:345 -> a
    1:1:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
    2:2:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6,"2":7,"3":8}}
    6:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):346:346 -> a
    6:6:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
    7:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):346:346 -> a
    7:7:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
    8:8:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):346:346 -> a
    8:8:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
    3:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):347:347 -> a
    3:3:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
    4:4:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):346:346 -> a
    4:4:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
    5:5:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.checkMetadataVersion(int[]):345:345 -> a
    5:5:void access$checkMetadataVersion(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion,int[]):310 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):80:81 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():91:91 -> b
    2:2:com.android.tools.r8.jetbrains.kotlin.Pair getPackageData():81:81 -> b
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):99 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():91 -> b
    3:4:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):99:100 -> b
    3:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():91 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.c:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:1:void <init>():106:106 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):117:117 -> h
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    2:123:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):0:121 -> h
    2:123:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    2:123:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12344:12344 -> h
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):121 -> h
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    125:125:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12345:12345 -> h
    125:125:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):121 -> h
    125:125:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    125:125:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    126:127:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):121:122 -> h
    126:127:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    126:127:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    128:128:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader.<init>(java.lang.Integer,int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):50:50 -> h
    128:128:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):122 -> h
    128:128:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    128:128:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):123:123 -> h
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    129:129:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> h
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12346 -> h
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):121 -> h
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12346:12346 -> h
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write(int[],int):121 -> h
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$Writer,int[],int,int,java.lang.Object):116 -> h
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade write():0 -> h
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade$packageData$2 -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.d:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader $header -> b
    1:3:com.android.tools.r8.jetbrains.kotlin.Pair invoke():82:84 -> a
    1:3:java.lang.Object invoke():81 -> a
    4:4:com.android.tools.r8.jetbrains.kotlin.Pair invoke():83:83 -> a
    4:4:java.lang.Object invoke():81 -> a
    5:5:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    5:5:com.android.tools.r8.jetbrains.kotlin.Pair invoke():83 -> a
    5:5:java.lang.Object invoke():81 -> a
    6:6:com.android.tools.r8.jetbrains.kotlin.Pair invoke():83:83 -> a
    6:6:java.lang.Object invoke():81 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$a:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    java.util.List partClassNames -> c
    1:5:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):205:209 -> <init>
    1:1:java.util.List getPartClassNames():209:209 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):246:247 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():263:263 -> b
    2:2:com.android.tools.r8.jetbrains.kotlin.Pair getPackageData():247:247 -> b
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):271 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():263 -> b
    3:4:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor):271:272 -> b
    3:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage toKmPackage():263 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.e:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:1:void <init>():278:278 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):291:291 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    2:297:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):0:295 -> a
    2:297:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    2:297:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    298:298:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12344:12344 -> a
    298:298:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):295 -> a
    298:298:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    298:298:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    299:299:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12345:12345 -> a
    299:299:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):295 -> a
    299:299:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    299:299:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    300:302:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):295:297 -> a
    300:302:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    300:302:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    303:303:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader.<init>(java.lang.Integer,int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):50:50 -> a
    303:303:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):296 -> a
    303:303:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    303:303:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    304:304:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):299:299 -> a
    304:304:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    304:304:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    305:305:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    305:305:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12346 -> a
    305:305:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):295 -> a
    305:305:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    305:305:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
    306:306:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder.build():12346:12346 -> a
    306:306:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String,int[],int):295 -> a
    306:306:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$Writer,java.lang.String,int[],int,int,java.lang.Object):289 -> a
    306:306:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart write(java.lang.String):0 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart$packageData$2 -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.f:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader $header -> b
    1:3:com.android.tools.r8.jetbrains.kotlin.Pair invoke():248:250 -> a
    1:3:java.lang.Object invoke():247 -> a
    4:4:com.android.tools.r8.jetbrains.kotlin.Pair invoke():249:249 -> a
    4:4:java.lang.Object invoke():247 -> a
    5:5:void com.android.tools.r8.jetbrains.kotlinx.metadata.InconsistentKotlinMetadataException.<init>(java.lang.String,java.lang.Throwable,int,com.android.tools.r8.jetbrains.kotlin.jvm.internal.DefaultConstructorMarker):8:8 -> a
    5:5:com.android.tools.r8.jetbrains.kotlin.Pair invoke():249 -> a
    5:5:java.lang.Object invoke():247 -> a
    6:6:com.android.tools.r8.jetbrains.kotlin.Pair invoke():249:249 -> a
    6:6:java.lang.Object invoke():247 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):132:133 -> <init>
    1:1:boolean isLambda():151:151 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda toKmLambda():145:145 -> c
    2:2:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):162:162 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda toKmLambda():145 -> c
    3:3:com.android.tools.r8.jetbrains.kotlin.Pair getFunctionData():133:133 -> c
    3:3:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):166 -> c
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda toKmLambda():145 -> c
    4:5:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):166:167 -> c
    4:5:com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda toKmLambda():145 -> c
    6:6:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):162:162 -> c
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda toKmLambda():145 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.g:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:1:void <init>():175:175 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):186:186 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    2:192:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):0:190 -> d
    2:192:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    2:192:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    193:194:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15398:15399 -> d
    193:194:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):190 -> d
    193:194:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    193:194:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    195:195:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> d
    195:195:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400 -> d
    195:195:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):190 -> d
    195:195:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    195:195:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    196:196:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder.build():15400:15400 -> d
    196:196:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):190 -> d
    196:196:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    196:196:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    197:358:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):192:353 -> d
    197:358:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    197:358:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    359:359:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):193:193 -> d
    359:359:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    359:359:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    360:363:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):191:194 -> d
    360:363:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    360:363:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    364:364:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader.<init>(java.lang.Integer,int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):50:50 -> d
    364:364:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):194 -> d
    364:364:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    364:364:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
    365:365:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write(int[],int):195:195 -> d
    365:365:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$Writer,int[],int,int,java.lang.Object):185 -> d
    365:365:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass write():0 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass$functionData$2 -> com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.h:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader $header -> b
    1:2:com.android.tools.r8.jetbrains.kotlin.Pair invoke():134:135 -> a
    1:2:java.lang.Object invoke():133 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Unknown -> com.android.tools.r8.internal.pz:
# {"id":"sourceFile","fileName":"KotlinClassMetadata.kt"}
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):308:308 -> <init>
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension -> com.android.tools.r8.internal.bw:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    java.util.List localDelegatedProperties -> c
    int jvmFlags -> f
    java.lang.String anonymousObjectOriginName -> e
    java.lang.String moduleName -> d
    1:2:void <init>():34:35 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):34:34 -> a
    2:139:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor):56:193 -> a
    2:139:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):34 -> a
    140:145:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor):58:63 -> a
    140:145:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):34 -> a
    146:146:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor):56:56 -> a
    146:146:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):34 -> a
    147:147:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitLocalDelegatedProperty(int,java.lang.String,int,int):41:41 -> a
    148:148:void visitModuleName(java.lang.String):44:44 -> a
    149:149:void visitJvmFlags(int):52:52 -> a
    1:1:void visitAnonymousObjectOriginName(java.lang.String):48:48 -> b
    1:1:java.lang.String getAnonymousObjectOriginName():37:37 -> c
    1:1:int getJvmFlags():38:38 -> d
    1:1:java.util.List getLocalDelegatedProperties():35:35 -> e
    1:1:java.lang.String getModuleName():36:36 -> f
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmConstructorExtension -> com.android.tools.r8.internal.ew:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature signature -> b
    1:1:void <init>():145:145 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):145:145 -> a
    2:4:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmConstructorExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor):153:153 -> a
    2:4:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):145 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSignature():146:146 -> a
    6:6:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):149:149 -> a
    1:1:void setSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):146:146 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt -> com.android.tools.r8.internal.hw:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPropertyExtension getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):22:22 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension -> com.android.tools.r8.internal.kw:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature signature -> c
    java.lang.String lambdaClassOriginName -> d
    1:1:void <init>():88:88 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):88:88 -> a
    2:6:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor):101:101 -> a
    2:6:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):88 -> a
    7:7:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):93:93 -> a
    8:8:void visitLambdaClassOriginName(java.lang.String):97:97 -> a
    1:1:java.lang.String getLambdaClassOriginName():90:90 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSignature():89:89 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions -> com.android.tools.r8.internal.zw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    1:1:void <init>():17:17 -> <init>
    void readTypeAliasExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeAlias,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext) -> a
    void readValueParameterExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$ValueParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext) -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17:17 -> a
    2:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):318:320 -> a
    2:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17 -> a
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.build():2412:2413 -> a
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):321 -> a
    5:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.build():2414 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):321 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature$Builder.build():2414:2414 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions.toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):321 -> a
    8:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmMethodSignature access$toJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17 -> a
    9:18:void readClassExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):19:28 -> a
    19:28:void readClassExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):27:36 -> a
    29:33:void readPackageExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):40:44 -> a
    34:41:void readPackageExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):43:50 -> a
    42:43:void readFunctionExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):57:58 -> a
    44:44:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignatureKt.wrapAsPublic(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method):56:56 -> a
    44:44:void readFunctionExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):58 -> a
    45:52:void readFunctionExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):58:65 -> a
    53:61:void readPropertyExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):69:77 -> a
    62:62:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignatureKt.wrapAsPublic(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Field):57:57 -> a
    62:62:void readPropertyExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):78 -> a
    63:64:void readPropertyExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):79:80 -> a
    65:80:void readPropertyExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):76:91 -> a
    81:82:void readConstructorExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):95:96 -> a
    83:83:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignatureKt.wrapAsPublic(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmMemberSignature$Method):56:56 -> a
    83:83:void readConstructorExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):96 -> a
    84:84:void readConstructorExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):96:96 -> a
    85:89:void readTypeParameterExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):100:104 -> a
    90:95:void readTypeExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.ReadContext):108:113 -> a
    96:97:com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassExtensionVisitor writeClassExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):121:122 -> a
    98:99:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor writePackageExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):150:151 -> a
    100:101:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionExtensionVisitor writeFunctionExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):176:177 -> a
    102:103:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor writePropertyExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):193:194 -> a
    104:105:com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructorExtensionVisitor writeConstructorExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):248:249 -> a
    106:107:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor writeTypeParameterExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):261:262 -> a
    108:109:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor writeTypeExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):270:271 -> a
    110:110:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmClassExtension createClassExtension():296:296 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmConstructorExtension createConstructorExtension():307:307 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmFunctionExtension createFunctionExtension():303:303 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPackageExtension createPackageExtension():298:298 -> d
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmPropertyExtension createPropertyExtension():305:305 -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeAliasExtension createTypeAliasExtension() -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeExtension createTypeExtension():311:311 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmTypeParameterExtension createTypeParameterExtension():309:309 -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.extensions.KmValueParameterExtension createValueParameterExtension() -> i
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1 -> com.android.tools.r8.internal.rw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder $proto -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):122:122 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitLocalDelegatedProperty(int,java.lang.String,int,int):129:129 -> a
    2:3:void visitModuleName(java.lang.String):134:135 -> a
    4:4:void visitJvmFlags(int):141:141 -> a
    1:1:void visitAnonymousObjectOriginName(java.lang.String):124:124 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1 -> com.android.tools.r8.internal.qw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class$Builder $proto -> b
    1:1:java.lang.Object invoke(java.lang.Object):129:129 -> a
    2:132:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):0:130 -> a
    2:132:java.lang.Object invoke(java.lang.Object):129 -> a
    133:134:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17361:17362 -> a
    133:134:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):130 -> a
    133:134:java.lang.Object invoke(java.lang.Object):129 -> a
    135:135:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):130:130 -> a
    135:135:java.lang.Object invoke(java.lang.Object):129 -> a
    136:136:java.lang.Object invoke(java.lang.Object):129:129 -> a
    137:137:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    137:137:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363 -> a
    137:137:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):130 -> a
    137:137:java.lang.Object invoke(java.lang.Object):129 -> a
    138:138:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363:17363 -> a
    138:138:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeClassExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):130 -> a
    138:138:java.lang.Object invoke(java.lang.Object):129 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeConstructorExtensions$1 -> com.android.tools.r8.internal.sw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions this$0 -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder $proto -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):249:249 -> <init>
    1:1:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):252:252 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeFunctionExtensions$1 -> com.android.tools.r8.internal.tw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions this$0 -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder $proto -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> e
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):177:177 -> <init>
    1:1:void visit(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):180:180 -> a
    2:2:void visitLambdaClassOriginName(java.lang.String):185:185 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1 -> com.android.tools.r8.internal.vw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder $proto -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> c
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder):151:151 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitLocalDelegatedProperty(int,java.lang.String,int,int):154:154 -> a
    2:3:void visitModuleName(java.lang.String):159:160 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1 -> com.android.tools.r8.internal.uw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package$Builder $proto -> b
    1:1:java.lang.Object invoke(java.lang.Object):154:154 -> a
    2:157:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):0:155 -> a
    2:157:java.lang.Object invoke(java.lang.Object):154 -> a
    158:159:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17361:17362 -> a
    158:159:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):155 -> a
    158:159:java.lang.Object invoke(java.lang.Object):154 -> a
    160:160:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):155:155 -> a
    160:160:java.lang.Object invoke(java.lang.Object):154 -> a
    161:161:java.lang.Object invoke(java.lang.Object):154:154 -> a
    162:162:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    162:162:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363 -> a
    162:162:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):155 -> a
    162:162:java.lang.Object invoke(java.lang.Object):154 -> a
    163:163:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder.build():17363:17363 -> a
    163:163:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePackageExtensions$1$visitLocalDelegatedProperty$1.invoke(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):155 -> a
    163:163:java.lang.Object invoke(java.lang.Object):154 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writePropertyExtensions$1 -> com.android.tools.r8.internal.ww:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions this$0 -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder signatureOrNull -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder $proto -> g
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> f
    int jvmFlags -> c
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Property$Builder):194:195 -> <init>
    1:5:void visit(int,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):207:211 -> a
    6:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.build():2874:2875 -> a
    6:7:void visit(int,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):212 -> a
    8:8:void visit(int,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):209:209 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.build():2876 -> a
    9:9:void visit(int,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):212 -> a
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmFieldSignature$Builder.build():2876:2876 -> a
    10:10:void visit(int,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):212 -> a
    11:14:void visit(int,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):215:218 -> a
    15:15:void visitSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):225:225 -> a
    1:1:void visitSyntheticMethodForDelegate(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):231:231 -> b
    2:6:void visitEnd():235:239 -> b
    7:8:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.build():3513:3514 -> b
    7:8:void visitEnd():239 -> b
    9:9:void visitEnd():239:239 -> b
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> b
    10:10:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.build():3515 -> b
    10:10:void visitEnd():239 -> b
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder.build():3515:3515 -> b
    11:11:void visitEnd():239 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.JvmProtoBuf$JvmPropertySignature$Builder getSignature():199:199 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeTypeExtensions$1 -> com.android.tools.r8.internal.xw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder $proto -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Type$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):271:271 -> <init>
    1:1:void visit(boolean):274:274 -> a
    2:2:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):279:279 -> a
    3:4:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4369:4370 -> a
    3:4:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):279 -> a
    5:5:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):279:279 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371 -> a
    6:6:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):279 -> a
    7:7:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371:4371 -> a
    7:7:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):279 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmMetadataExtensions$writeTypeParameterExtensions$1 -> com.android.tools.r8.internal.yw:
# {"id":"sourceFile","fileName":"JvmMetadataExtensions.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder $proto -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext $c -> d
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$TypeParameter$Builder,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):262:262 -> <init>
    1:1:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):264:264 -> a
    2:3:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4369:4370 -> a
    2:3:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):264 -> a
    4:4:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):264:264 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.UninitializedMessageException com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.AbstractMessageLite$Builder.newUninitializedMessageException(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite):316:316 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371 -> a
    5:5:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):264 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Annotation$Builder.build():4371:4371 -> a
    6:6:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):264 -> a
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension -> com.android.tools.r8.internal.Dw:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    java.util.List localDelegatedProperties -> c
    java.lang.String moduleName -> d
    1:2:void <init>():67:68 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):67:67 -> a
    2:116:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor):79:193 -> a
    2:116:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):67 -> a
    117:120:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor):81:84 -> a
    117:120:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):67 -> a
    121:121:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackageExtensionVisitor):79:79 -> a
    121:121:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):67 -> a
    122:122:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor visitLocalDelegatedProperty(int,java.lang.String,int,int):72:72 -> a
    123:123:void visitModuleName(java.lang.String):75:75 -> a
    1:1:java.util.List getLocalDelegatedProperties():68:68 -> c
    1:1:java.lang.String getModuleName():69:69 -> d
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPropertyExtension -> com.android.tools.r8.internal.Fw:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature syntheticMethodForDelegate -> h
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature syntheticMethodForAnnotations -> g
    int jvmFlags -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature fieldSignature -> d
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature setterSignature -> f
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getterSignature -> e
    1:1:void <init>():108:108 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):108:108 -> a
    2:7:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPropertyExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor):137:137 -> a
    2:7:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):108 -> a
    8:11:void visit(int,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):122:125 -> a
    12:12:void visitSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):129:129 -> a
    1:1:void visitSyntheticMethodForDelegate(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):133:133 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature getFieldSignature():110:110 -> c
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getGetterSignature():111:111 -> d
    1:1:int getJvmFlags():109:109 -> e
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSetterSignature():112:112 -> f
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSyntheticMethodForAnnotations():113:113 -> g
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getSyntheticMethodForDelegate():114:114 -> h
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension -> com.android.tools.r8.internal.ax:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    java.util.List annotations -> d
    boolean isRaw -> c
    1:3:void <init>():172:174 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):172:172 -> a
    2:9:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor):185:192 -> a
    2:9:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):172 -> a
    10:11:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor):187:188 -> a
    10:11:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):172 -> a
    12:12:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeExtensionVisitor):185:185 -> a
    12:12:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):172 -> a
    13:13:void visit(boolean):177:177 -> a
    14:14:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):181:181 -> a
    1:1:java.util.List getAnnotations():174:174 -> b
    1:1:boolean isRaw():173:173 -> c
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension -> com.android.tools.r8.internal.cx:
# {"id":"sourceFile","fileName":"jvmExtensionNodes.kt"}
    java.util.List annotations -> c
    1:2:void <init>():158:159 -> <init>
    1:1:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):158:158 -> a
    2:28:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor):166:192 -> a
    2:28:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):158 -> a
    29:30:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor):167:168 -> a
    29:30:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):158 -> a
    31:31:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterExtensionVisitor):166:166 -> a
    31:31:void accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionVisitor):158 -> a
    32:32:void visitAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):162:162 -> a
    1:1:java.util.List getAnnotations():159:159 -> b
com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmWriteUtilsKt -> com.android.tools.r8.internal.ex:
# {"id":"sourceFile","fileName":"jvmWriteUtils.kt"}
    1:3:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):14:16 -> a
    4:66:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.writeData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable):0:62 -> a
    4:66:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):16 -> a
    67:67:java.lang.String[] com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.deserialization.JvmProtoBufUtil.writeData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.jvm.serialization.JvmStringTable):59:59 -> a
    67:67:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):16 -> a
    68:75:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):17:24 -> a
    76:85:com.android.tools.r8.jetbrains.kotlin.Pair writeProtoBufData(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.protobuf.MessageLite,com.android.tools.r8.jetbrains.kotlinx.metadata.impl.WriteContext):15:24 -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider -> com.android.tools.r8.internal.Hy:
    void get(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmContractVisitorProvider -> com.android.tools.r8.internal.Iy:
com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectExpressionVisitorProvider -> com.android.tools.r8.internal.Jy:
com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectVisitorProvider -> com.android.tools.r8.internal.Ky:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectVisitor get(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider -> com.android.tools.r8.internal.Ly:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor get(int,java.lang.String) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider -> com.android.tools.r8.internal.My:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunctionVisitor get(int,java.lang.String) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmLambdaVisitorProvider -> com.android.tools.r8.internal.Ny:
com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider -> com.android.tools.r8.internal.Oy:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyVisitor get(int,java.lang.String,int,int) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider -> com.android.tools.r8.internal.Py:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAliasVisitor get(int,java.lang.String) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeParameterVisitorProvider -> com.android.tools.r8.internal.Qy:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameterVisitor get(int,java.lang.String,int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeProjectionVisitorProvider -> com.android.tools.r8.internal.Ry:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor get(int,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeStarProjectionVisitorProvider -> com.android.tools.r8.internal.Sy:
com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeVisitorProvider -> com.android.tools.r8.internal.Ty:
com.android.tools.r8.kotlin.KmVisitorProviders$KmValueParameterVisitorProvider -> com.android.tools.r8.internal.Uy:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameterVisitor get(int,java.lang.String) -> a
com.android.tools.r8.kotlin.KmVisitorProviders$KmVersionRequirementVisitorProvider -> com.android.tools.r8.internal.Vy:
com.android.tools.r8.kotlin.Kotlin -> com.android.tools.r8.internal.dz:
    com.android.tools.r8.kotlin.Kotlin$Functional functional -> b
    com.android.tools.r8.kotlin.Kotlin$Metadata metadata -> d
    com.android.tools.r8.kotlin.Kotlin$_Assertions assertions -> e
    com.android.tools.r8.graph.DexString kotlinJvmTypePrefix -> f
    com.android.tools.r8.kotlin.Kotlin$Intrinsics intrinsics -> c
    com.android.tools.r8.graph.DexItemFactory factory -> a
    1:7:void <init>(com.android.tools.r8.graph.DexItemFactory):93:99 -> <init>
com.android.tools.r8.kotlin.Kotlin$ClassClassifiers -> com.android.tools.r8.internal.Yy:
    java.util.Set kotlinPrimitivesDescriptors -> a
    java.util.Set kotlinStaticallyKnownTypes -> b
    1:32:void <clinit>():58:89 -> <clinit>
    1:2:void lambda$static$0(com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder,java.lang.String):81:82 -> a
com.android.tools.r8.kotlin.Kotlin$Functional -> com.android.tools.r8.internal.Zy:
    com.android.tools.r8.graph.DexType lambdaType -> a
    com.android.tools.r8.kotlin.Kotlin this$0 -> b
    1:1:void <init>(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.kotlin.Kotlin$1):102:102 -> <init>
    2:2:void <init>(com.android.tools.r8.kotlin.Kotlin):123:123 -> <init>
    3:11:void <init>(com.android.tools.r8.kotlin.Kotlin):113:121 -> <init>
    12:12:void <init>(com.android.tools.r8.kotlin.Kotlin):118:118 -> <init>
    13:26:void <init>(com.android.tools.r8.kotlin.Kotlin):117:130 -> <init>
    27:27:void <init>(com.android.tools.r8.kotlin.Kotlin):128:128 -> <init>
    1:1:com.android.tools.r8.graph.DexType lambda$new$0(java.lang.Integer):120:120 -> a
com.android.tools.r8.kotlin.Kotlin$Intrinsics -> com.android.tools.r8.internal.az:
    com.android.tools.r8.graph.DexMethod checkNotNullParameter -> d
    com.android.tools.r8.graph.DexMethod checkParameterIsNotNull -> c
    com.android.tools.r8.graph.DexMethod throwParameterIsNullNPE -> b
    com.android.tools.r8.graph.DexMethod throwParameterIsNullException -> a
    1:4:void <init>(com.android.tools.r8.kotlin.Kotlin):163:166 -> <init>
    5:10:void <init>(com.android.tools.r8.kotlin.Kotlin):165:170 -> <init>
    11:18:void <init>(com.android.tools.r8.kotlin.Kotlin):168:175 -> <init>
    19:24:void <init>(com.android.tools.r8.kotlin.Kotlin):173:178 -> <init>
    25:31:void <init>(com.android.tools.r8.kotlin.Kotlin):177:183 -> <init>
    32:37:void <init>(com.android.tools.r8.kotlin.Kotlin):181:186 -> <init>
    38:38:void <init>(com.android.tools.r8.kotlin.Kotlin):185:185 -> <init>
com.android.tools.r8.kotlin.Kotlin$Metadata -> com.android.tools.r8.internal.bz:
    com.android.tools.r8.graph.DexString kind -> a
    com.android.tools.r8.graph.DexString metadataVersion -> b
    com.android.tools.r8.graph.DexString bytecodeVersion -> c
    com.android.tools.r8.graph.DexString data1 -> d
    com.android.tools.r8.graph.DexString data2 -> e
    com.android.tools.r8.graph.DexString extraString -> f
    com.android.tools.r8.graph.DexString packageName -> g
    com.android.tools.r8.graph.DexString extraInt -> h
    1:9:void <init>(com.android.tools.r8.kotlin.Kotlin):144:152 -> <init>
com.android.tools.r8.kotlin.Kotlin$_Assertions -> com.android.tools.r8.internal.cz:
    com.android.tools.r8.graph.DexField enabledField -> b
    com.android.tools.r8.graph.DexType type -> a
    1:5:void <init>(com.android.tools.r8.kotlin.Kotlin):155:159 -> <init>
com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo -> com.android.tools.r8.internal.jz:
    java.util.Map EMPTY_ARGUMENTS -> a
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>():26:26 -> <init>
    boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens) -> a
    1:10:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo.createArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.graph.DexItemFactory):36:45 -> a
    1:10:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo access$500(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.graph.DexItemFactory):26 -> a
    11:20:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo.createArgument(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument,com.android.tools.r8.graph.DexItemFactory):36:45 -> a
    11:20:void lambda$create$0(java.util.LinkedHashMap,com.android.tools.r8.graph.DexItemFactory,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):55 -> a
    21:21:void lambda$create$0(java.util.LinkedHashMap,com.android.tools.r8.graph.DexItemFactory,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):55:55 -> a
    22:26:java.util.Map create(java.util.Map,com.android.tools.r8.graph.DexItemFactory):51:55 -> a
com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationAnnotationValueInfo -> com.android.tools.r8.internal.ez:
    com.android.tools.r8.kotlin.KotlinAnnotationInfo value -> b
    1:2:void <init>(com.android.tools.r8.kotlin.KotlinAnnotationInfo):129:130 -> <init>
    1:2:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationAnnotationValueInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationAnnotationValueInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$AnnotationValue,com.android.tools.r8.graph.DexItemFactory):135:136 -> a
    1:2:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationAnnotationValueInfo access$200(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$AnnotationValue,com.android.tools.r8.graph.DexItemFactory):125 -> a
    3:3:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):141:141 -> a
    4:4:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):147:147 -> a
    5:5:void lambda$rewrite$0(java.util.function.Consumer,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):150:150 -> a
com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationArrayValueInfo -> com.android.tools.r8.internal.fz:
    java.util.List value -> b
    com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationArrayValueInfo EMPTY -> c
    1:2:void <clinit>():160:161 -> <clinit>
    1:2:void <init>(java.util.List):165:166 -> <init>
    1:8:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationArrayValueInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationArrayValueInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ArrayValue,com.android.tools.r8.graph.DexItemFactory):170:177 -> a
    1:8:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationArrayValueInfo access$300(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$ArrayValue,com.android.tools.r8.graph.DexItemFactory):158 -> a
    9:10:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):182:183 -> a
    11:24:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):190:203 -> a
    25:25:void lambda$rewrite$0(java.util.List,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):197:197 -> a
com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationClassValueInfo -> com.android.tools.r8.internal.gz:
    int arrayDimensionCount -> c
    com.android.tools.r8.kotlin.KotlinTypeReference value -> b
    1:3:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,int):64:66 -> <init>
    1:3:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationClassValueInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationClassValueInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$KClassValue,com.android.tools.r8.graph.DexItemFactory):70:72 -> a
    1:3:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationClassValueInfo access$000(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$KClassValue,com.android.tools.r8.graph.DexItemFactory):59 -> a
    4:4:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):77:77 -> a
    5:5:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):83:83 -> a
    6:6:void lambda$rewrite$0(java.util.function.Consumer,java.lang.String):84:84 -> a
com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo -> com.android.tools.r8.internal.hz:
    java.lang.String enumEntryName -> c
    com.android.tools.r8.kotlin.KotlinTypeReference enumClassName -> b
    1:3:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,java.lang.String):96:98 -> <init>
    1:3:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$EnumValue,com.android.tools.r8.graph.DexItemFactory):102:104 -> a
    1:3:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$EnumValue,com.android.tools.r8.graph.DexItemFactory):91 -> a
    4:6:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$EnumValue,com.android.tools.r8.graph.DexItemFactory):103:105 -> a
    4:6:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationEnumValueInfo access$100(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument$EnumValue,com.android.tools.r8.graph.DexItemFactory):91 -> a
    7:7:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):110:110 -> a
    8:8:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):116:116 -> a
    9:9:void lambda$rewrite$0(java.util.function.Consumer,java.lang.String):118:118 -> a
com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationPrimitiveArgumentInfo -> com.android.tools.r8.internal.iz:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument argument -> b
    1:2:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):212:213 -> <init>
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:1:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationPrimitiveArgumentInfo com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationPrimitiveArgumentInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):217:217 -> a
    1:1:com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo$KotlinAnnotationPrimitiveArgumentInfo access$400(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):208 -> a
    2:2:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):228:228 -> a
com.android.tools.r8.kotlin.KotlinAnnotationInfo -> com.android.tools.r8.internal.kz:
    java.util.Map arguments -> b
    java.util.List EMPTY_ANNOTATIONS -> c
    com.android.tools.r8.kotlin.KotlinTypeReference annotationType -> a
    1:1:void <clinit>():24:24 -> <clinit>
    1:3:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,java.util.Map):30:32 -> <init>
    1:3:com.android.tools.r8.kotlin.KotlinAnnotationInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.graph.DexItemFactory):36:38 -> a
    4:6:com.android.tools.r8.kotlin.KotlinAnnotationInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,com.android.tools.r8.graph.DexItemFactory):37:39 -> a
    7:14:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory):43:50 -> a
    15:17:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):57:59 -> a
    18:44:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):58:84 -> a
    45:61:void lambda$rewrite$2(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.kotlin.KmVisitorProviders$KmAnnotationVisitorProvider,java.lang.String):63:79 -> a
    62:64:void lambda$rewrite$1(com.android.tools.r8.utils.BooleanBox,java.util.Map,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,java.lang.String,com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo):70:70 -> a
    65:65:void lambda$rewrite$0(java.util.Map,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):74:74 -> a
    66:67:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):89:90 -> a
    68:68:void lambda$trace$3(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.String,com.android.tools.r8.kotlin.KotlinAnnotationArgumentInfo):90:90 -> a
com.android.tools.r8.kotlin.KotlinClassInfo -> com.android.tools.r8.internal.mz:
    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> l
    com.android.tools.r8.kotlin.KotlinMetadataMembersTracker originalMembersWithKotlinInfo -> t
    com.android.tools.r8.kotlin.KotlinTypeInfo inlineClassUnderlyingType -> r
    java.lang.String packageName -> n
    java.lang.String inlineClassUnderlyingPropertyName -> q
    com.android.tools.r8.kotlin.KotlinTypeReference anonymousObjectOrigin -> m
    com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo declarationContainerInfo -> f
    com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo localDelegatedProperties -> o
    int flags -> a
    java.util.List constructorsWithNoBacking -> e
    java.util.List nestedClasses -> j
    java.util.List sealedSubClasses -> i
    java.util.List superTypes -> h
    int[] metadataVersion -> p
    java.util.List typeParameters -> g
    java.lang.String name -> b
    int jvmFlags -> s
    boolean nameCanBeSynthesizedFromClassOrAnonymousObjectOrigin -> c
    java.lang.String moduleName -> d
    java.util.List enumEntries -> k
    1:22:void <init>(int,java.lang.String,boolean,java.lang.String,com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo,java.util.List,java.util.List,java.util.List,java.util.List,java.util.List,java.util.List,com.android.tools.r8.kotlin.KotlinVersionRequirementInfo,com.android.tools.r8.kotlin.KotlinTypeReference,java.lang.String,com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo,int[],java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker,int):82:103 -> <init>
    1:1:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):113:113 -> a
    2:2:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    2:2:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):114 -> a
    3:6:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):115:118 -> a
    7:11:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):117:121 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.kotlin.KotlinMetadataUtils.toJvmFieldSignature(com.android.tools.r8.graph.DexField):89:89 -> a
    12:12:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):121 -> a
    13:41:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):121:149 -> a
    42:48:void com.android.tools.r8.kotlin.KotlinClassInfo.setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):233:239 -> a
    42:48:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):158 -> a
    49:49:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.missingCompanionObject(com.android.tools.r8.graph.DexClass,java.lang.String):43:43 -> a
    49:49:void com.android.tools.r8.kotlin.KotlinClassInfo.setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):244 -> a
    49:49:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):158 -> a
    50:50:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    50:50:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.missingCompanionObject(com.android.tools.r8.graph.DexClass,java.lang.String):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    50:50:void com.android.tools.r8.kotlin.KotlinClassInfo.setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):244 -> a
    50:50:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):158 -> a
    51:56:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.missingCompanionObject(com.android.tools.r8.graph.DexClass,java.lang.String):44:49 -> a
    51:56:void com.android.tools.r8.kotlin.KotlinClassInfo.setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):244 -> a
    51:56:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):158 -> a
    57:57:void com.android.tools.r8.kotlin.KotlinClassInfo.setCompanionObject(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Reporter):243:243 -> a
    57:57:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):158 -> a
    58:58:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):13:13 -> a
    58:58:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnonymousObjectOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):39 -> a
    58:58:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinClassInfo.getAnonymousObjectOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexItemFactory):192 -> a
    58:58:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):159 -> a
    59:59:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnonymousObjectOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):39:39 -> a
    59:59:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinClassInfo.getAnonymousObjectOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexItemFactory):192 -> a
    59:59:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):159 -> a
    60:60:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinClassInfo.getAnonymousObjectOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexItemFactory):194:194 -> a
    60:60:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):159 -> a
    61:64:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):160:163 -> a
    65:73:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):216:224 -> a
    65:73:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):162 -> a
    74:74:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":122,"2":123,"3":124}}
    122:122:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    122:122:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    122:122:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):162 -> a
    123:123:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    123:123:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    123:123:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):162 -> a
    124:124:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    124:124:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    124:124:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):162 -> a
    75:75:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    75:75:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    75:75:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):162 -> a
    76:82:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):161:167 -> a
    83:83:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):13:13 -> a
    83:83:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):29 -> a
    83:83:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):170 -> a
    84:84:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):29:29 -> a
    84:84:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):170 -> a
    85:87:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):172:174 -> a
    88:92:java.util.List com.android.tools.r8.kotlin.KotlinClassInfo.getSuperTypes(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):225:229 -> a
    88:92:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):174 -> a
    93:93:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):175:175 -> a
    94:101:java.util.List com.android.tools.r8.kotlin.KotlinClassInfo.getSealedSubClasses(java.util.List,com.android.tools.r8.graph.DexItemFactory):213:220 -> a
    94:101:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):175 -> a
    102:102:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):176:176 -> a
    103:109:java.util.List com.android.tools.r8.kotlin.KotlinClassInfo.getNestedClasses(com.android.tools.r8.graph.DexClass,java.util.List,com.android.tools.r8.graph.DexItemFactory):202:208 -> a
    103:109:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):176 -> a
    110:111:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):177:178 -> a
    112:112:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):13:13 -> a
    112:112:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):23 -> a
    112:112:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):182 -> a
    113:113:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):23:23 -> a
    113:113:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):182 -> a
    114:118:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):181:185 -> a
    119:119:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):13:13 -> a
    119:119:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):48 -> a
    119:119:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):187 -> a
    120:120:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):48:48 -> a
    120:120:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):187 -> a
    121:121:com.android.tools.r8.kotlin.KotlinClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):187:187 -> a
    125:133:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):260:268 -> a
    134:178:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.setName(java.lang.String):0:44 -> a
    134:178:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):268 -> a
    179:184:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):273:278 -> a
    185:185:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":641,"2":642,"3":643}}
    641:641:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):279:279 -> a
    642:642:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):279:279 -> a
    643:643:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):279:279 -> a
    464:469:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):279:284 -> a
    470:478:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):216:224 -> a
    470:478:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):284 -> a
    479:479:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":644,"2":645,"3":646}}
    644:644:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    644:644:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    644:644:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):284 -> a
    645:645:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    645:645:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    645:645:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):284 -> a
    646:646:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    646:646:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    646:646:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):284 -> a
    480:480:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    480:480:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinClassName(com.android.tools.r8.graph.DexClass,java.lang.String):220 -> a
    480:480:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):284 -> a
    481:525:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass.setName(java.lang.String):0:44 -> a
    481:525:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):286 -> a
    526:639:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):287:400 -> a
    640:640:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):398:398 -> a
    647:647:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):358:358 -> a
    648:648:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):357:357 -> a
    649:649:void lambda$rewrite$1(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmClassExtensionVisitor,java.lang.String):385:385 -> a
    650:650:java.util.function.Consumer lambda$trace$2(com.android.tools.r8.kotlin.KotlinConstructorInfo):415:415 -> a
    651:660:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):415:424 -> a
    661:661:java.util.function.Consumer lambda$trace$3(com.android.tools.r8.kotlin.KotlinTypeParameterInfo):417:417 -> a
    662:662:java.util.function.Consumer lambda$trace$4(com.android.tools.r8.kotlin.KotlinTypeInfo):418:418 -> a
    663:663:java.util.function.Consumer lambda$trace$5(com.android.tools.r8.kotlin.KotlinTypeReference):419:419 -> a
    1:1:java.util.function.Consumer lambda$trace$6(com.android.tools.r8.kotlin.KotlinTypeReference):420:420 -> b
    1:1:java.lang.String getPackageName():405:405 -> l
    1:1:int[] getMetadataVersion():410:410 -> m
com.android.tools.r8.kotlin.KotlinClassLevelInfo -> com.android.tools.r8.internal.nz:
    boolean isNoKotlinInformation() -> a
    com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens) -> a
    com.android.tools.r8.kotlin.KotlinSyntheticClassInfo asSyntheticClass() -> f
    boolean isSyntheticClass() -> j
    java.lang.String getPackageName() -> l
    int[] getMetadataVersion() -> m
com.android.tools.r8.kotlin.KotlinClassMetadataReader -> com.android.tools.r8.internal.rz:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():34:34 -> <clinit>
    1:3:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):51:53 -> a
    4:4:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    4:4:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    5:5:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66 -> a
    6:6:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66:66 -> a
    7:7:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":286,"2":287,"3":288}}
    286:286:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66:66 -> a
    287:287:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66:66 -> a
    288:288:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66:66 -> a
    73:73:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):66:66 -> a
    74:74:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":292,"2":293,"3":294}}
    292:292:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):70:70 -> a
    293:293:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):70:70 -> a
    294:294:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):70:70 -> a
    146:146:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):72:72 -> a
    147:153:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):67:73 -> a
    154:154:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    154:154:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    155:155:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    155:155:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56 -> a
    156:156:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56:56 -> a
    157:157:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":295,"2":296,"3":297}}
    295:295:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56:56 -> a
    296:296:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56:56 -> a
    297:297:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56:56 -> a
    213:213:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):56:56 -> a
    214:214:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":301,"2":302,"3":303}}
    301:301:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):60:60 -> a
    302:302:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):60:60 -> a
    303:303:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):60:60 -> a
    276:276:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):62:62 -> a
    277:283:com.android.tools.r8.kotlin.KotlinClassLevelInfo getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexAnnotation):57:63 -> a
    304:305:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):78:79 -> a
    306:313:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour com.android.tools.r8.kotlin.KotlinSyntheticClassInfo.getFlavour(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin):109:116 -> a
    306:313:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):80 -> a
    314:318:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):85:89 -> a
    319:321:java.util.Map com.android.tools.r8.kotlin.KotlinClassMetadataReader.toElementMap(com.android.tools.r8.graph.DexEncodedAnnotation):117:119 -> a
    319:321:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):89 -> a
    322:326:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):147:151 -> a
    322:326:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):90 -> a
    327:332:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):91:96 -> a
    333:337:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):147:151 -> a
    333:337:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):97 -> a
    338:338:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):96:96 -> a
    339:339:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):149:149 -> a
    339:339:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):97 -> a
    340:340:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):149:149 -> a
    340:340:boolean isLambda(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClass):90 -> a
    341:343:java.util.Map com.android.tools.r8.kotlin.KotlinClassMetadataReader.toElementMap(com.android.tools.r8.graph.DexEncodedAnnotation):117:119 -> a
    341:343:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):112 -> a
    344:344:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexEncodedAnnotation):112:112 -> a
    345:349:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):147:151 -> a
    345:349:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):126 -> a
    350:365:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):127:142 -> a
    366:369:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):322:322 -> a
    366:369:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
    366:369:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    372:382:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):325:335 -> a
    372:382:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
    372:382:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    383:383:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):334:334 -> a
    383:383:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
    383:383:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    384:384:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):333:333 -> a
    384:384:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
    384:384:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    385:385:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):332:332 -> a
    385:385:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
    385:385:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    386:386:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):331:331 -> a
    386:386:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
    386:386:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    387:397:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):330:340 -> a
    387:397:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
    387:397:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    398:398:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Companion.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):338:338 -> a
    398:398:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata.read(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader):0 -> a
    398:398:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):143 -> a
    399:399:int com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKind(com.android.tools.r8.kotlin.Kotlin,java.util.Map):149:149 -> a
    399:399:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata toKotlinClassMetadata(com.android.tools.r8.kotlin.Kotlin,java.util.Map):126 -> a
    400:417:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.AppView,java.util.function.Consumer):160:177 -> a
    418:438:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.AppView,java.util.function.Consumer):176:196 -> a
    439:439:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.AppView,java.util.function.Consumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":636,"2":637,"3":638}}
    636:636:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.AppView,java.util.function.Consumer):196:196 -> a
    637:637:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.AppView,java.util.function.Consumer):196:196 -> a
    638:638:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.AppView,java.util.function.Consumer):196:196 -> a
    635:635:com.android.tools.r8.kotlin.KotlinClassLevelInfo createKotlinInfo(com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata,com.android.tools.r8.graph.AppView,java.util.function.Consumer):196:196 -> a
    639:639:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):201:201 -> a
    640:640:boolean com.android.tools.r8.graph.DexValue.isDexValueArray():0:0 -> a
    640:640:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):201 -> a
    641:645:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):204:208 -> a
    646:646:int[] getUnboxedIntArray(com.android.tools.r8.graph.DexValue,java.lang.String):202:202 -> a
    1:4:java.lang.String getUnboxedString(com.android.tools.r8.graph.DexValue,java.lang.String):227:230 -> b
    5:5:java.lang.String getUnboxedString(com.android.tools.r8.graph.DexValue,java.lang.String):228:228 -> b
    1:1:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):214:214 -> c
    2:2:boolean com.android.tools.r8.graph.DexValue.isDexValueArray():0:0 -> c
    2:2:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):214 -> c
    3:7:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):217:221 -> c
    8:8:java.lang.String[] getUnboxedStringArray(com.android.tools.r8.graph.DexValue,java.lang.String):215:215 -> c
com.android.tools.r8.kotlin.KotlinClassMetadataReader$MetadataError -> com.android.tools.r8.internal.qz:
    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassMetadataReader$1):233:233 -> <init>
    2:2:void <init>(java.lang.String):235:235 -> <init>
com.android.tools.r8.kotlin.KotlinClassifierInfo -> com.android.tools.r8.internal.xz:
    1:1:void <init>():24:24 -> <init>
    boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens) -> a
    com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.GraphLens) -> a
com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinClassClassifierInfo -> com.android.tools.r8.internal.sz:
    boolean isLocalOrAnonymous -> b
    com.android.tools.r8.kotlin.KotlinTypeReference type -> a
    1:1:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,boolean,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):59:59 -> <init>
    2:4:void <init>(com.android.tools.r8.kotlin.KotlinTypeReference,boolean):64:66 -> <init>
    1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):71:71 -> a
    2:2:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):73:73 -> a
    3:3:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":8,"2":9,"3":10}}
    8:8:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    8:8:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):74 -> a
    9:9:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    9:9:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):74 -> a
    10:10:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> a
    10:10:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):74 -> a
    4:6:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:235 -> a
    4:6:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):74 -> a
    7:7:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,java.lang.String):73:73 -> a
    11:11:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):83:83 -> a
    12:12:com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.GraphLens):88:88 -> a
com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinTypeAliasClassifierInfo -> com.android.tools.r8.internal.tz:
    java.lang.String typeAlias -> a
    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):112:112 -> <init>
    2:3:void <init>(java.lang.String):116:117 -> <init>
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):122:122 -> a
com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinTypeParameterClassifierInfo -> com.android.tools.r8.internal.uz:
    int typeId -> a
    1:1:void <init>(int,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):92:92 -> <init>
    2:3:void <init>(int):96:97 -> <init>
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):102:102 -> a
com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinUnknownClassClassifierInfo -> com.android.tools.r8.internal.vz:
    java.lang.String classifier -> a
    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):132:132 -> <init>
    2:3:void <init>(java.lang.String):135:136 -> <init>
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):141:141 -> a
com.android.tools.r8.kotlin.KotlinClassifierInfo$KotlinUnknownClassifierInfo -> com.android.tools.r8.internal.wz:
    java.lang.String classifier -> a
    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinClassifierInfo$1):151:151 -> <init>
    2:3:void <init>(java.lang.String):154:155 -> <init>
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:1:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):160:160 -> a
com.android.tools.r8.kotlin.KotlinCompanionInfo -> com.android.tools.r8.internal.yz:
    java.lang.String companionObjectFieldName -> a
    1:2:void <init>(java.lang.String):18:19 -> <init>
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:4:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassVisitor,com.android.tools.r8.graph.DexField,com.android.tools.r8.naming.NamingLens):33:36 -> a
    boolean isCompanion() -> d
    com.android.tools.r8.kotlin.KotlinCompanionInfo asCompanion() -> e
com.android.tools.r8.kotlin.KotlinConstructorInfo -> com.android.tools.r8.internal.zz:
    java.util.List valueParameters -> b
    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> c
    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo signature -> d
    int flags -> a
    1:5:void <init>(int,java.util.List,com.android.tools.r8.kotlin.KotlinVersionRequirementInfo,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo):36:40 -> <init>
    1:1:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):0:0 -> a
    1:1:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):68 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmConstructorExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):25:25 -> a
    2:2:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):169 -> a
    2:2:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):68 -> a
    3:3:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.setSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):169:169 -> a
    3:3:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):68 -> a
    4:10:com.android.tools.r8.kotlin.KotlinConstructorInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean):48:54 -> a
    11:13:com.android.tools.r8.kotlin.KotlinConstructorInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean):53:55 -> a
    14:29:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):63:78 -> a
    30:30:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinValueParameterInfo):94:94 -> a
    31:33:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):94:96 -> a
    com.android.tools.r8.kotlin.KotlinConstructorInfo asConstructor() -> g
    boolean isConstructor() -> k
com.android.tools.r8.kotlin.KotlinContractInfo -> com.android.tools.r8.internal.Az:
    java.util.List effects -> a
    com.android.tools.r8.kotlin.KotlinContractInfo NO_EFFECT -> b
    1:1:void <clinit>():23:23 -> <clinit>
    1:2:void <init>(java.util.List):27:28 -> <init>
    1:8:com.android.tools.r8.kotlin.KotlinContractInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):34:41 -> a
    9:13:com.android.tools.r8.kotlin.KotlinEffectInfo com.android.tools.r8.kotlin.KotlinEffectInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):41:45 -> a
    9:13:com.android.tools.r8.kotlin.KotlinContractInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):42 -> a
    14:16:com.android.tools.r8.kotlin.KotlinContractInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):42:44 -> a
    17:17:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinEffectInfo):49:49 -> a
    18:18:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):49:49 -> a
    19:27:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmContractVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):56:64 -> a
com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo -> com.android.tools.r8.internal.Cz:
    java.util.List functionsWithNoBacking -> b
    java.util.List typeAliases -> a
    java.util.List propertiesWithNoBacking -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():37:37 -> <clinit>
    1:4:void <init>(java.util.List,java.util.List,java.util.List):49:52 -> <init>
    1:3:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):64:66 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:0 -> a
    4:4:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):67 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):19:19 -> a
    5:5:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80 -> a
    5:5:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):67 -> a
    6:6:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80:80 -> a
    6:6:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):67 -> a
    7:15:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):69:77 -> a
    16:24:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):73:81 -> a
    25:27:boolean com.android.tools.r8.kotlin.KotlinMetadataUtils.isValidMethodDescriptor(java.lang.String):160:162 -> a
    25:27:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):81 -> a
    28:28:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):93:93 -> a
    29:33:void com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.keepIfInline(int,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,java.util.Map,java.util.function.Consumer):149:153 -> a
    29:33:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):93 -> a
    34:38:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.kotlin.KotlinMetadataUtils.toDefaultJvmMethodSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,int):105:109 -> a
    34:38:void com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.keepIfInline(int,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,java.util.Map,java.util.function.Consumer):156 -> a
    34:38:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):93 -> a
    39:39:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMemberSignature.toString():30:30 -> a
    39:39:void com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.keepIfInline(int,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,java.util.Map,java.util.function.Consumer):156 -> a
    39:39:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):93 -> a
    40:46:void com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.keepIfInline(int,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,java.util.Map,java.util.function.Consumer):156:162 -> a
    40:46:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):93 -> a
    47:71:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):94:118 -> a
    72:73:void com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.keepIfAccessorInline(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Consumer):168:169 -> a
    72:73:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):118 -> a
    74:83:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):119:128 -> a
    84:85:void com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.keepIfAccessorInline(int,com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Consumer):168:169 -> a
    84:85:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):128 -> a
    86:95:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):129:138 -> a
    96:100:java.util.List com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo.getTypeAliases(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):175:179 -> a
    96:100:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):138 -> a
    101:102:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):139:140 -> a
    103:112:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):192:201 -> a
    113:150:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):200:237 -> a
    151:165:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):233:247 -> a
    166:166:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup lambda$rewrite$0(com.android.tools.r8.kotlin.KotlinPropertyInfo):201:201 -> a
    167:167:java.util.function.Consumer lambda$trace$2(com.android.tools.r8.kotlin.KotlinTypeAliasInfo):254:254 -> a
    168:170:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):254:256 -> a
    171:171:java.util.function.Consumer lambda$trace$3(com.android.tools.r8.kotlin.KotlinFunctionInfo):255:255 -> a
    1:1:com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup lambda$rewrite$1(com.android.tools.r8.kotlin.KotlinPropertyInfo):222:222 -> b
    1:1:java.util.function.Consumer lambda$trace$4(com.android.tools.r8.kotlin.KotlinPropertyInfo):256:256 -> c
com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup -> com.android.tools.r8.internal.Bz:
    com.android.tools.r8.graph.DexEncodedField backingField -> a
    com.android.tools.r8.graph.DexEncodedMethod getter -> c
    com.android.tools.r8.graph.DexEncodedMethod setter -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():259:259 -> <clinit>
    1:5:void <init>():259:263 -> <init>
    1:1:com.android.tools.r8.graph.DexEncodedField access$000(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):259:259 -> a
    2:3:void setBackingField(com.android.tools.r8.graph.DexEncodedField):266:267 -> a
    4:5:void setGetter(com.android.tools.r8.graph.DexEncodedMethod):271:272 -> a
    1:1:com.android.tools.r8.graph.DexEncodedMethod access$100(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):259:259 -> b
    2:3:void setSetter(com.android.tools.r8.graph.DexEncodedMethod):276:277 -> b
    1:1:com.android.tools.r8.graph.DexEncodedMethod access$200(com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo$KotlinPropertyGroup):259:259 -> c
com.android.tools.r8.kotlin.KotlinEffectExpressionInfo -> com.android.tools.r8.internal.Dz:
    java.util.List orArguments -> f
    com.android.tools.r8.kotlin.KotlinTypeInfo isInstanceType -> d
    java.util.List andArguments -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstantValue constantValue -> c
    java.util.List NO_EXPRESSIONS -> g
    com.android.tools.r8.kotlin.KotlinEffectExpressionInfo NO_EXPRESSION -> h
    int flags -> a
    java.lang.Integer parameterIndex -> b
    1:3:void <clinit>():24:26 -> <clinit>
    1:7:void <init>(int,java.lang.Integer,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstantValue,com.android.tools.r8.kotlin.KotlinTypeInfo,java.util.List,java.util.List):41:47 -> <init>
    1:9:com.android.tools.r8.kotlin.KotlinEffectExpressionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):53:61 -> a
    10:17:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):66:73 -> a
    18:25:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):78:85 -> a
    26:26:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinEffectExpressionInfo):84:84 -> a
    27:45:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectExpressionVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):90:108 -> a
    1:1:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinEffectExpressionInfo):85:85 -> b
com.android.tools.r8.kotlin.KotlinEffectInfo -> com.android.tools.r8.internal.Ez:
    com.android.tools.r8.kotlin.KotlinEffectExpressionInfo conclusion -> d
    java.util.List constructorArguments -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind invocationKind -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType type -> a
    1:5:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectType,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectInvocationKind,java.util.List,com.android.tools.r8.kotlin.KotlinEffectExpressionInfo):33:37 -> <init>
    1:1:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinEffectExpressionInfo):50:50 -> a
    2:3:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):50:51 -> a
    4:13:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmEffectVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):56:65 -> a
com.android.tools.r8.kotlin.KotlinFieldLevelInfo -> com.android.tools.r8.internal.Fz:
com.android.tools.r8.kotlin.KotlinFileFacadeInfo -> com.android.tools.r8.internal.Gz:
    int[] metadataVersion -> c
    com.android.tools.r8.kotlin.KotlinPackageInfo packageInfo -> a
    java.lang.String packageName -> b
    1:4:void <init>(com.android.tools.r8.kotlin.KotlinPackageInfo,java.lang.String,int[]):27:30 -> <init>
    1:4:com.android.tools.r8.kotlin.KotlinFileFacadeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):40:43 -> a
    5:8:com.android.tools.r8.kotlin.KotlinFileFacadeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):42:45 -> a
    9:13:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):63:67 -> a
    14:14:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):82:82 -> a
    1:1:java.lang.String getPackageName():72:72 -> l
    1:1:int[] getMetadataVersion():77:77 -> m
com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo -> com.android.tools.r8.internal.Hz:
    com.android.tools.r8.kotlin.KotlinTypeInfo kotlinTypeInfo -> b
    java.lang.String typeFlexibilityId -> a
    com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo NO_FLEXIBLE_UPPER_BOUND -> c
    boolean $assertionsDisabled -> d
    1:4:void <clinit>():15:18 -> <clinit>
    1:4:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo):25:28 -> <init>
    1:5:com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):34:38 -> a
    6:14:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):45:53 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor lambda$rewrite$0(com.android.tools.r8.kotlin.KmVisitorProviders$KmFlexibleUpperBoundVisitorProvider,int):54:54 -> a
    16:23:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):59:66 -> a
com.android.tools.r8.kotlin.KotlinFunctionInfo -> com.android.tools.r8.internal.Iz:
    com.android.tools.r8.kotlin.KotlinTypeReference lambdaClassOrigin -> h
    com.android.tools.r8.kotlin.KotlinTypeInfo receiverParameterType -> e
    java.util.List typeParameters -> f
    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> i
    com.android.tools.r8.kotlin.KotlinTypeInfo returnType -> d
    boolean crossInlineParameter -> k
    java.util.List valueParameters -> c
    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo signature -> g
    java.lang.String name -> b
    int flags -> a
    com.android.tools.r8.kotlin.KotlinContractInfo contract -> j
    1:12:void <init>(int,java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,java.util.List,java.util.List,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo,com.android.tools.r8.kotlin.KotlinTypeReference,com.android.tools.r8.kotlin.KotlinVersionRequirementInfo,com.android.tools.r8.kotlin.KotlinContractInfo,boolean):57:68 -> <init>
    1:3:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean):82:84 -> a
    4:4:boolean com.android.tools.r8.kotlin.KotlinValueParameterInfo.isCrossInline():41:41 -> a
    4:4:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean):84 -> a
    5:11:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean):89:95 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):19:19 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80 -> a
    12:12:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean):97 -> a
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80:80 -> a
    13:13:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean):97 -> a
    14:14:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean):97:97 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):19:19 -> a
    15:15:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):90 -> a
    15:15:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinFunctionInfo.getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory):107 -> a
    15:15:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean):99 -> a
    16:16:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):90:90 -> a
    16:16:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinFunctionInfo.getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory):107 -> a
    16:16:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean):99 -> a
    17:17:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinFunctionInfo.getlambdaClassOrigin(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory):109:109 -> a
    17:17:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean):99 -> a
    18:19:com.android.tools.r8.kotlin.KotlinFunctionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,boolean):100:101 -> a
    20:61:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmFunctionVisitorProvider,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):126:167 -> a
    62:62:void lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFunctionExtensionVisitor,java.lang.String):160:160 -> a
    63:63:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinValueParameterInfo):187:187 -> a
    64:76:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):187:199 -> a
    77:77:java.util.function.Consumer lambda$trace$2(com.android.tools.r8.kotlin.KotlinTypeParameterInfo):192:192 -> a
    com.android.tools.r8.kotlin.KotlinFunctionInfo asFunction() -> b
    boolean isFunction() -> h
    1:1:boolean hasCrossInlineParameter():72:72 -> n
com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo -> com.android.tools.r8.internal.Jz:
    java.lang.String name -> b
    com.android.tools.r8.kotlin.KotlinTypeReference type -> a
    1:3:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinTypeReference):26:28 -> <init>
    1:3:com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.graph.DexItemFactory):36:38 -> a
    4:4:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinTypeReference.fromDescriptor(java.lang.String,com.android.tools.r8.graph.DexItemFactory):60:60 -> a
    4:4:com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.graph.DexItemFactory):38 -> a
    5:5:com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.graph.DexItemFactory):38:38 -> a
    6:19:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):47:60 -> a
    20:20:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):66:66 -> a
com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo -> com.android.tools.r8.internal.Kz:
    java.util.List EMPTY_PARAMETERS_LIST -> e
    java.util.List parameters -> c
    boolean $assertionsDisabled -> f
    java.lang.String name -> a
    com.android.tools.r8.kotlin.KotlinTypeReference returnType -> b
    java.lang.String invalidDescriptor -> d
    1:3:void <clinit>():25:27 -> <clinit>
    1:5:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinTypeReference,java.util.List):35:39 -> <init>
    6:10:void <init>(java.lang.String,java.lang.String):42:46 -> <init>
    1:2:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):54:55 -> a
    3:5:boolean com.android.tools.r8.kotlin.KotlinMetadataUtils.isValidMethodDescriptor(java.lang.String):160:162 -> a
    3:5:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):56 -> a
    6:8:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):58:60 -> a
    9:9:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinTypeReference.fromDescriptor(java.lang.String,com.android.tools.r8.graph.DexItemFactory):60:60 -> a
    9:9:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):62 -> a
    10:15:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):63:68 -> a
    16:16:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinTypeReference.fromDescriptor(java.lang.String,com.android.tools.r8.graph.DexItemFactory):60:60 -> a
    16:16:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):69 -> a
    17:19:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.graph.DexItemFactory):69:71 -> a
    20:30:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):79:89 -> a
    31:31:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":137,"2":138,"3":139}}
    137:137:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):94:94 -> a
    138:138:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):94:94 -> a
    139:139:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):95:95 -> a
    127:136:boolean rewrite(java.util.function.Consumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):96:105 -> a
    140:145:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):128:133 -> a
    146:146:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeReference):133:133 -> a
    1:2:java.lang.String toString():111:112 -> toString
    3:3:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":127,"2":128,"3":129}}
    127:127:java.lang.String toString():112:112 -> toString
    128:128:java.lang.String toString():112:112 -> toString
    129:129:java.lang.String toString():112:112 -> toString
    117:126:java.lang.String toString():114:123 -> toString
com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation -> com.android.tools.r8.internal.Mz:
    java.util.Set noExtensionIndicesForFunctions -> a
    java.util.Set noExtensionIndicesForConstructors -> b
    com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation EMPTY -> c
    1:1:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.builder():125:125 -> <clinit>
    1:1:void <clinit>():32 -> <clinit>
    2:2:void <clinit>():32:32 -> <clinit>
    1:1:void <init>(java.util.Set,java.util.Set,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$1):27:27 -> <init>
    2:4:void <init>(java.util.Set,java.util.Set):35:37 -> <init>
    1:1:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder com.android.tools.r8.utils.ReflectionHelper.builder():22:22 -> a
    1:1:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):101 -> a
    2:9:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):101:108 -> a
    10:10:java.lang.Object com.android.tools.r8.utils.ReflectionHelper.performReflection(java.lang.Object,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation):18:18 -> a
    10:10:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):99 -> a
    11:11:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):99:99 -> a
    12:12:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.builder():125:125 -> a
    12:12:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):109 -> a
    13:15:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):109:111 -> a
    16:16:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.empty():129:129 -> a
    16:16:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,com.android.tools.r8.utils.InternalOptions):112 -> a
    17:17:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder com.android.tools.r8.utils.ReflectionHelper.builder():22:22 -> a
    17:17:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):56 -> a
    17:17:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    18:25:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):56:63 -> a
    18:25:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    26:26:java.lang.Object com.android.tools.r8.utils.ReflectionHelper.performReflection(java.lang.Object,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation):18:18 -> a
    26:26:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):54 -> a
    26:26:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    27:27:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):54:54 -> a
    27:27:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    28:28:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.builder():125:125 -> a
    28:28:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):64 -> a
    28:28:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    29:31:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):64:66 -> a
    29:31:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    32:32:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.empty():129:129 -> a
    32:32:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):67 -> a
    32:32:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,com.android.tools.r8.utils.InternalOptions):42 -> a
    33:33:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder com.android.tools.r8.utils.ReflectionHelper.builder():22:22 -> a
    33:33:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):56 -> a
    33:33:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    34:41:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):56:63 -> a
    34:41:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    42:42:java.lang.Object com.android.tools.r8.utils.ReflectionHelper.performReflection(java.lang.Object,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation):18:18 -> a
    42:42:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):54 -> a
    42:42:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    43:43:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):54:54 -> a
    43:43:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    44:44:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.builder():125:125 -> a
    44:44:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):64 -> a
    44:44:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    45:47:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):64:66 -> a
    45:47:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    48:48:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.empty():129:129 -> a
    48:48:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.readPackageDataFromMessage(java.lang.Object,com.android.tools.r8.utils.InternalOptions):67 -> a
    48:48:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,com.android.tools.r8.utils.InternalOptions):47 -> a
    49:49:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder com.android.tools.r8.utils.ReflectionHelper.builder():22:22 -> a
    49:49:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):77 -> a
    50:57:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):77:84 -> a
    58:58:java.lang.Object com.android.tools.r8.utils.ReflectionHelper.performReflection(java.lang.Object,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation):18:18 -> a
    58:58:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):75 -> a
    59:59:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):75:75 -> a
    60:60:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.empty():129:129 -> a
    60:60:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):86 -> a
    61:61:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.builder():125:125 -> a
    61:61:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):88 -> a
    62:64:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):88:90 -> a
    65:65:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation.empty():129:129 -> a
    65:65:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation readInformationFromMessage(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,com.android.tools.r8.utils.InternalOptions):91 -> a
    66:66:boolean hasJvmMethodSignatureExtensionForConstructor(int):121:121 -> a
    1:1:boolean hasJvmMethodSignatureExtensionForFunction(int):117:117 -> b
com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder -> com.android.tools.r8.internal.Lz:
    java.util.Set noExtensionIndicesForFunctions -> a
    java.util.Set noExtensionIndicesForConstructors -> b
    1:4:void <init>():132:135 -> <init>
    5:5:void <init>(com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$1):132:132 -> <init>
    1:1:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder.build():138:138 -> a
    1:1:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation access$000(com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder):132 -> a
    2:3:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder.visit(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):143:144 -> a
    2:3:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder access$200(com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Class):132 -> a
    4:4:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder.visit(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):149:149 -> a
    4:4:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder access$100(com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Package):132 -> a
    5:6:com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation$KotlinJvmSignatureExtensionInformationBuilder visit(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Function,int):159:160 -> a
    7:7:void visitConstructors(java.util.List):166:166 -> a
    8:9:void lambda$visitConstructors$0(com.android.tools.r8.jetbrains.kotlinx.metadata.internal.metadata.ProtoBuf$Constructor,int):169:170 -> a
    1:1:void visitFunctions(java.util.List):154:154 -> b
com.android.tools.r8.kotlin.KotlinLambdaInfo -> com.android.tools.r8.internal.Nz:
    boolean hasBacking -> b
    com.android.tools.r8.kotlin.KotlinFunctionInfo function -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():22:22 -> <clinit>
    1:3:void <init>(com.android.tools.r8.kotlin.KotlinFunctionInfo,boolean):27:29 -> <init>
    1:6:com.android.tools.r8.kotlin.KotlinLambdaInfo create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):42:47 -> a
    7:12:com.android.tools.r8.kotlin.KotlinLambdaInfo create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):43:48 -> a
    13:13:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:0 -> a
    13:13:com.android.tools.r8.kotlin.KotlinLambdaInfo create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):48 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):19:19 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80 -> a
    14:14:com.android.tools.r8.kotlin.KotlinLambdaInfo create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):48 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80:80 -> a
    15:15:com.android.tools.r8.kotlin.KotlinLambdaInfo create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):48 -> a
    16:23:com.android.tools.r8.kotlin.KotlinLambdaInfo create(com.android.tools.r8.graph.DexClass,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):50:57 -> a
    24:35:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmLambdaVisitorProvider,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):65:76 -> a
    36:36:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):81:81 -> a
com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo -> com.android.tools.r8.internal.Oz:
    java.util.List propertyInfos -> a
    com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo EMPTY_DELEGATED_PROPERTIES -> b
    boolean $assertionsDisabled -> c
    1:4:void <clinit>():20:23 -> <clinit>
    1:2:void <init>(java.util.List):27:28 -> <init>
    1:15:com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):33:47 -> a
    16:16:com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):34:34 -> a
    17:17:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinPropertyInfo):52:52 -> a
    18:18:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):52:52 -> a
    19:20:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):58:59 -> a
com.android.tools.r8.kotlin.KotlinMemberLevelInfo -> com.android.tools.r8.internal.Pz:
    boolean isNoKotlinInformation() -> a
    com.android.tools.r8.kotlin.KotlinFunctionInfo asFunction() -> b
    boolean isProperty() -> c
    boolean isCompanion() -> d
    com.android.tools.r8.kotlin.KotlinCompanionInfo asCompanion() -> e
    com.android.tools.r8.kotlin.KotlinConstructorInfo asConstructor() -> g
    boolean isFunction() -> h
    com.android.tools.r8.kotlin.KotlinPropertyInfo asProperty() -> i
    boolean isConstructor() -> k
com.android.tools.r8.kotlin.KotlinMetadataDiagnostic -> com.android.tools.r8.internal.Qz:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    java.lang.String message -> d
    1:4:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String):20:23 -> <init>
    1:1:java.lang.String getDiagnosticMessage():38:38 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():28:28 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():33:33 -> getPosition
com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension -> com.android.tools.r8.internal.Sz:
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> d
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set prunedTypes -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier enqueuerDefinitionSupplier -> b
    1:3:void <clinit>():32:34 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier,java.util.Set):43:46 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension):32:32 -> a
    2:6:void done(com.android.tools.r8.shaking.Enqueuer):56:60 -> a
    7:43:void done(com.android.tools.r8.shaking.Enqueuer):57:93 -> a
    44:44:com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension.definitionsForContext(com.android.tools.r8.graph.ProgramDefinition):50:50 -> a
    44:44:void done(com.android.tools.r8.shaking.Enqueuer):95 -> a
    45:45:void done(com.android.tools.r8.shaking.Enqueuer):96:96 -> a
    46:46:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    46:46:void done(com.android.tools.r8.shaking.Enqueuer):96 -> a
    47:79:void done(com.android.tools.r8.shaking.Enqueuer):100:132 -> a
    80:83:void lambda$done$2(com.android.tools.r8.shaking.Enqueuer,boolean,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):68:71 -> a
    84:84:boolean com.android.tools.r8.shaking.KeepClassInfo.isKotlinMetadataRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,boolean):61:61 -> a
    84:84:void lambda$done$2(com.android.tools.r8.shaking.Enqueuer,boolean,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):71 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    85:86:boolean com.android.tools.r8.shaking.KeepClassInfo.isKotlinMetadataRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,boolean):62:63 -> a
    85:86:void lambda$done$2(com.android.tools.r8.shaking.Enqueuer,boolean,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):71 -> a
    87:99:void lambda$done$2(com.android.tools.r8.shaking.Enqueuer,boolean,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):71:83 -> a
    100:101:com.android.tools.r8.kotlin.KotlinClassLevelInfo com.android.tools.r8.kotlin.KotlinClassMetadataReader.getKotlinInfo(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):41:42 -> a
    100:101:void lambda$done$2(com.android.tools.r8.shaking.Enqueuer,boolean,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):83 -> a
    102:107:void lambda$done$2(com.android.tools.r8.shaking.Enqueuer,boolean,java.util.Set,java.util.Set,com.android.tools.r8.graph.DexProgramClass):82:87 -> a
    108:109:boolean lambda$done$0(com.android.tools.r8.graph.DexAnnotation):79:80 -> a
    110:110:void lambda$done$1(java.util.Set,com.android.tools.r8.graph.DexEncodedMethod):84:84 -> a
    111:111:void lambda$done$3(java.util.Set,com.android.tools.r8.graph.ProgramMethod):106:106 -> a
    112:113:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):115:116 -> a
    114:114:boolean com.android.tools.r8.shaking.KeepClassInfo.isKotlinMetadataRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,boolean):61:61 -> a
    114:114:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):116 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    115:116:boolean com.android.tools.r8.shaking.KeepClassInfo.isKotlinMetadataRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,boolean):62:63 -> a
    115:116:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):116 -> a
    117:127:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):116:126 -> a
    128:128:com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension.definitionsForContext(com.android.tools.r8.graph.ProgramDefinition):50:50 -> a
    128:128:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):126 -> a
    129:129:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):126:126 -> a
    130:131:boolean com.android.tools.r8.kotlin.KotlinClassMetadataReader.hasKotlinClassMetadataAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier):105:106 -> a
    130:131:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):126 -> a
    132:132:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):127:127 -> a
    133:133:void lambda$done$5(com.android.tools.r8.shaking.Enqueuer,boolean,com.android.tools.r8.graph.DexProgramClass):126:126 -> a
    134:134:void lambda$done$7(com.android.tools.r8.graph.DexProgramClass) -> a
    135:135:com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension.definitionsForContext(com.android.tools.r8.graph.ProgramDefinition):50:50 -> a
    135:135:void lambda$done$7(com.android.tools.r8.graph.DexProgramClass):134 -> a
    136:137:void lambda$done$7(com.android.tools.r8.graph.DexProgramClass):134:135 -> a
    138:138:void lambda$done$6(com.android.tools.r8.graph.ProgramMember):137:137 -> a
    139:139:com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension.definitionsForContext(com.android.tools.r8.graph.ProgramDefinition):50:50 -> a
    139:139:void lambda$done$6(com.android.tools.r8.graph.ProgramMember):137 -> a
    140:140:void lambda$done$6(com.android.tools.r8.graph.ProgramMember):137:137 -> a
    1:2:boolean lambda$done$4(com.android.tools.r8.graph.DexAnnotation):121:122 -> b
com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$KotlinMetadataDefinitionSupplier -> com.android.tools.r8.internal.Rz:
    java.util.Set prunedTypes -> c
    com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier enqueuerDefinitionSupplier -> b
    com.android.tools.r8.graph.ProgramDefinition context -> a
    com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension this$0 -> d
    1:1:void <init>(com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier,java.util.Set,com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension$1):141:141 -> <init>
    2:5:void <init>(com.android.tools.r8.kotlin.KotlinMetadataEnqueuerExtension,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier,java.util.Set):150:153 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():174:174 -> a
    1:1:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):158:158 -> d
    1:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):166:169 -> e
com.android.tools.r8.kotlin.KotlinMetadataMembersTracker -> com.android.tools.r8.internal.Tz:
    java.util.Set references -> b
    boolean $assertionsDisabled -> c
    int count -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):22:23 -> <init>
    1:3:void add(com.android.tools.r8.graph.DexMember):27:29 -> a
    4:19:boolean isEqual(com.android.tools.r8.kotlin.KotlinMetadataMembersTracker,com.android.tools.r8.graph.AppView):34:49 -> a
    20:23:void lambda$isEqual$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.Sets$SetView,com.android.tools.r8.graph.DexMember):51:54 -> a
    24:24:void lambda$isEqual$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.Sets$SetView,com.android.tools.r8.graph.DexMember):53:53 -> a
    25:25:boolean com.android.tools.r8.kotlin.KotlinMetadataMembersTracker.isKotlinJvmType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):63:63 -> a
    25:25:boolean lambda$isEqual$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):54 -> a
    26:26:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    26:26:boolean com.android.tools.r8.kotlin.KotlinMetadataMembersTracker.isKotlinJvmType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):63 -> a
    26:26:boolean lambda$isEqual$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):54 -> a
com.android.tools.r8.kotlin.KotlinMetadataRewriter -> com.android.tools.r8.internal.Vz:
    com.android.tools.r8.graph.DexItemFactory factory -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.naming.NamingLens lens -> b
    int[] METADATA_VERSION_1_4 -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.kotlin.Kotlin kotlin -> d
    1:5:void <clinit>():33:37 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):78:82 -> <init>
    com.android.tools.r8.graph.DexAnnotation lambda$writeKotlinInfoToAnnotation$4(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation) -> a
    1:1:boolean com.android.tools.r8.kotlin.KotlinMetadataRewriter.isNotKotlinMetadata(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexType):86:86 -> a
    1:1:boolean lambda$runForR8$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotation):123 -> a
    2:24:void lambda$runForR8$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo,com.android.tools.r8.graph.DexProgramClass):105:127 -> a
    25:26:void lambda$runForR8$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo,com.android.tools.r8.graph.DexProgramClass):122:123 -> a
    27:27:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.keepIf(java.util.function.Predicate):200:200 -> a
    27:27:void lambda$runForR8$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo,com.android.tools.r8.graph.DexProgramClass):123 -> a
    28:28:void lambda$runForR8$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo,com.android.tools.r8.graph.DexProgramClass):120:120 -> a
    29:34:void runForD8(java.util.concurrent.ExecutorService):133:138 -> a
    35:35:void runForD8(java.util.concurrent.ExecutorService):137:137 -> a
    36:42:void lambda$runForD8$2(com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo,com.android.tools.r8.graph.DexProgramClass):140:146 -> a
    43:48:void lambda$runForD8$2(com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo,com.android.tools.r8.graph.DexProgramClass):145:150 -> a
    49:69:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):161:181 -> a
    70:85:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):178:193 -> a
    86:87:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):67:68 -> a
    86:87:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    88:88:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":96,"2":97,"3":98}}
    96:96:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):68:68 -> a
    96:96:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    97:97:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):68:68 -> a
    97:97:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    98:98:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):68:68 -> a
    98:98:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    89:89:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":101,"2":102,"3":103}}
    101:101:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    101:101:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    102:102:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    102:102:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    103:103:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    103:103:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    90:90:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    90:90:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    91:93:java.lang.String com.android.tools.r8.utils.StringUtils.stacktraceAsString(java.lang.Throwable):344:346 -> a
    91:93:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):74 -> a
    91:93:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    94:94:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):74:74 -> a
    94:94:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195 -> a
    95:95:void writeKotlinInfoToAnnotation(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):195:195 -> a
    104:108:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Pair,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):169:173 -> a
    109:109:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Pair,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):170:170 -> a
    110:114:boolean com.android.tools.r8.kotlin.KotlinMetadataRewriter.verifyRewrittenMetadataIsEquivalent(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):201:205 -> a
    110:114:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Pair,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):168 -> a
    115:115:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.Pair,com.android.tools.r8.kotlin.KotlinClassLevelInfo,com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):168:168 -> a
    116:117:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):187:188 -> a
    118:119:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):67:68 -> a
    118:119:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    120:120:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":128,"2":129,"3":130}}
    128:128:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):68:68 -> a
    128:128:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    129:129:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):68:68 -> a
    129:129:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    130:130:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):68:68 -> a
    130:130:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    121:121:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":133,"2":134,"3":135}}
    133:133:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    133:133:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    134:134:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    134:134:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    135:135:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    135:135:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    122:122:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):71:71 -> a
    122:122:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    123:125:java.lang.String com.android.tools.r8.utils.StringUtils.stacktraceAsString(java.lang.Throwable):344:346 -> a
    123:125:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):74 -> a
    123:125:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    126:126:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unexpectedErrorWhenRewriting(com.android.tools.r8.graph.DexType,java.lang.Throwable):74:74 -> a
    126:126:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190 -> a
    127:127:java.lang.Boolean lambda$writeKotlinInfoToAnnotation$5(com.android.tools.r8.graph.DexClass,java.lang.Throwable):190:190 -> a
    136:145:boolean kotlinMetadataFieldExists(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):211:220 -> a
    146:146:boolean lambda$kotlinMetadataFieldExists$6(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):218:218 -> a
    147:149:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):228:230 -> a
    150:154:com.android.tools.r8.graph.DexValue$DexValueArray com.android.tools.r8.kotlin.KotlinMetadataRewriter.createIntArray(int[]):274:278 -> a
    150:154:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):232 -> a
    155:155:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):232:232 -> a
    156:163:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):230:237 -> a
    164:168:com.android.tools.r8.graph.DexValue$DexValueArray com.android.tools.r8.kotlin.KotlinMetadataRewriter.createIntArray(int[]):274:278 -> a
    164:168:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):237 -> a
    169:169:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):237:237 -> a
    170:176:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):235:241 -> a
    177:182:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):240:245 -> a
    183:187:com.android.tools.r8.graph.DexValue$DexValueArray com.android.tools.r8.kotlin.KotlinMetadataRewriter.createStringArray(java.lang.String[]):282:286 -> a
    183:187:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):245 -> a
    188:188:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):245:245 -> a
    189:194:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):244:249 -> a
    195:199:com.android.tools.r8.graph.DexValue$DexValueArray com.android.tools.r8.kotlin.KotlinMetadataRewriter.createStringArray(java.lang.String[]):282:286 -> a
    195:199:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):249 -> a
    200:200:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):249:249 -> a
    201:207:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):248:254 -> a
    208:216:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):252:260 -> a
    217:225:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):257:265 -> a
    226:233:com.android.tools.r8.graph.DexAnnotation createKotlinMetadataAnnotation(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader,java.lang.String,int[],com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo):263:270 -> a
    234:243:int[] getMaxVersion(int[],int[]):291:300 -> a
    1:1:void runForR8(java.util.concurrent.ExecutorService):90:90 -> b
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):392:392 -> b
    2:2:void runForR8(java.util.concurrent.ExecutorService):90 -> b
    3:15:void runForR8(java.util.concurrent.ExecutorService):91:103 -> b
    16:16:void runForR8(java.util.concurrent.ExecutorService):102:102 -> b
com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo -> com.android.tools.r8.internal.Uz:
    boolean writeData2 -> e
    boolean writeExtraString -> f
    boolean writePackageName -> g
    boolean writeExtraInt -> h
    boolean writeKind -> a
    boolean writeMetadataVersion -> b
    boolean writeByteCodeVersion -> c
    boolean writeData1 -> d
    1:1:void <init>(boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean,com.android.tools.r8.kotlin.KotlinMetadataRewriter$1):39:39 -> <init>
    2:10:void <init>(boolean,boolean,boolean,boolean,boolean,boolean,boolean,boolean):57:65 -> <init>
    1:1:com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo.rewriteAll():69:69 -> a
    1:1:com.android.tools.r8.kotlin.KotlinMetadataRewriter$WriteMetadataFieldInfo access$100():39 -> a
com.android.tools.r8.kotlin.KotlinMetadataUtils -> com.android.tools.r8.internal.aA:
    com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo NO_KOTLIN_INFO -> a
    com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo INVALID_KOTLIN_INFO -> b
    1:2:void <clinit>():36:37 -> <clinit>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature toJvmMethodSignature(com.android.tools.r8.graph.DexMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":102,"2":103,"3":104}}
    102:102:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature toJvmMethodSignature(com.android.tools.r8.graph.DexMethod):93:93 -> a
    103:103:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature toJvmMethodSignature(com.android.tools.r8.graph.DexMethod):93:93 -> a
    104:104:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature toJvmMethodSignature(com.android.tools.r8.graph.DexMethod):94:94 -> a
    96:101:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature toJvmMethodSignature(com.android.tools.r8.graph.DexMethod):95:100 -> a
    105:105:com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo getInvalidKotlinInfo():85:85 -> a
    106:114:boolean mayProcessKotlinMetadata(com.android.tools.r8.graph.AppView):177:185 -> a
    115:115:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):195:195 -> a
    116:116:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardIfRule():0:0 -> a
    116:116:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):195 -> a
    117:117:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):197:197 -> a
    118:118:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardKeepRule():0:0 -> a
    118:118:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):199 -> a
    119:129:boolean canBeKotlinMetadataKeepRule(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexItemFactory):202:212 -> a
    1:1:com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo getNoKotlinInfo():81:81 -> b
com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor -> com.android.tools.r8.internal.Yz:
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature fieldSignature -> a
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getterSignature -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature setterSignature -> c
    1:1:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):118:118 -> <init>
    2:8:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):113:119 -> <init>
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature access$100(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):112:112 -> a
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature access$102(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature):112:112 -> a
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$202(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):112:112 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature fieldSignature():146:146 -> a
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$200(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):112:112 -> b
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$302(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):112:112 -> b
    3:3:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature getterSignature():150:150 -> b
    1:1:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature access$300(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):112:112 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature setterSignature():154:154 -> c
com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1 -> com.android.tools.r8.internal.Xz:
    com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor this$0 -> b
    1:1:void <init>(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor):120:120 -> <init>
    1:4:com.android.tools.r8.jetbrains.kotlinx.metadata.KmPropertyExtensionVisitor visitExtensions(com.android.tools.r8.jetbrains.kotlinx.metadata.KmExtensionType):123:126 -> a
com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1$1 -> com.android.tools.r8.internal.Wz:
    com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1 this$1 -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():126:126 -> <clinit>
    1:1:void <init>(com.android.tools.r8.kotlin.KotlinMetadataUtils$KmPropertyProcessor$1):126:126 -> <init>
    1:6:void visit(int,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature):133:138 -> a
com.android.tools.r8.kotlin.KotlinMetadataUtils$NoKotlinInfo -> com.android.tools.r8.internal.Zz:
    java.lang.String name -> a
    1:1:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinMetadataUtils$1):39:39 -> <init>
    2:3:void <init>(java.lang.String):44:45 -> <init>
    boolean isNoKotlinInformation() -> a
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    1:1:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):56:56 -> a
    1:1:java.lang.String getPackageName():61:61 -> l
    1:1:int[] getMetadataVersion():66:66 -> m
    1:1:java.lang.String toString():50:50 -> toString
com.android.tools.r8.kotlin.KotlinMetadataWriter -> com.android.tools.r8.internal.bA:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():47:47 -> <clinit>
    1:122:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getGetterSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):0:121 -> a
    1:122:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):247 -> a
    123:123:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):249:249 -> a
    124:124:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSetterSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):132:132 -> a
    124:124:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):251 -> a
    125:125:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):253:253 -> a
    126:126:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):110:110 -> a
    126:126:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):256 -> a
    127:129:java.lang.String lambda$appendKmDeclarationContainer$12(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):258:260 -> a
    130:130:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):0:0 -> a
    130:130:java.lang.String lambda$appendKmDeclarationContainer$9(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):227 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):19:19 -> a
    131:131:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80 -> a
    131:131:java.lang.String lambda$appendKmDeclarationContainer$9(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):227 -> a
    132:132:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80:80 -> a
    132:132:java.lang.String lambda$appendKmDeclarationContainer$9(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):227 -> a
    133:133:java.lang.String lambda$appendKmDeclarationContainer$9(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):227:227 -> a
    134:134:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):0:0 -> a
    134:134:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):297 -> a
    135:135:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):16:16 -> a
    135:135:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):63 -> a
    135:135:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):297 -> a
    136:136:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):63:63 -> a
    136:136:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):297 -> a
    137:137:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):297:297 -> a
    138:138:void lambda$appendKmPackage$18(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,java.lang.String):293:293 -> a
    139:196:void writeKotlinMetadataAnnotation(java.lang.String,com.android.tools.r8.graph.DexAnnotation,java.io.PrintStream,com.android.tools.r8.kotlin.Kotlin):0:57 -> a
    197:204:java.lang.String kotlinMetadataToString(java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata):63:70 -> a
    205:207:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataWriter.kotlinMultiFileClassFacadeMetadataString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade,java.lang.String):111:113 -> a
    205:207:java.lang.String kotlinMetadataToString(java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata):70 -> a
    208:215:java.lang.String kotlinMetadataToString(java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata):72:79 -> a
    216:224:java.lang.String kotlinClassMetadataToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String):85:93 -> a
    225:225:void lambda$kotlinClassMetadataToString$0(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$Class,java.lang.String):91:91 -> a
    226:234:java.lang.String kotlinFileFacadeMetadataToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String):98:106 -> a
    235:235:void lambda$kotlinFileFacadeMetadataToString$1(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$FileFacade,java.lang.String):104:104 -> a
    236:246:java.lang.String kotlinMultiFileClassPartToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):119:129 -> a
    247:247:void lambda$kotlinMultiFileClassPartToString$2(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):125:125 -> a
    248:248:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart.getFacadeClassName():257:257 -> a
    248:248:void lambda$kotlinMultiFileClassPartToString$2(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):126 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    249:249:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart.getFacadeClassName():257:257 -> a
    249:249:void lambda$kotlinMultiFileClassPartToString$2(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):126 -> a
    250:252:void lambda$kotlinMultiFileClassPartToString$2(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String):125:127 -> a
    253:276:java.lang.String kotlinSyntheticClassToString(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String):134:157 -> a
    277:290:void lambda$kotlinSyntheticClassToString$4(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.StringBuilder,java.lang.String):141:154 -> a
    291:291:void lambda$kotlinSyntheticClassToString$3(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda,java.lang.String):148:148 -> a
    292:296:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):184:188 -> a
    297:297:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":490,"2":491,"3":492}}
    490:490:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):188:188 -> a
    491:491:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):188:188 -> a
    492:492:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):188:188 -> a
    485:485:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):188:188 -> a
    486:489:void com.android.tools.r8.kotlin.KotlinMetadataWriter.appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):162:165 -> a
    486:489:void appendKmList(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.Collection,java.util.function.BiConsumer):188 -> a
    493:496:void lambda$appendKmList$6(java.util.Collection,java.lang.StringBuilder,java.lang.String,java.util.function.BiConsumer):192:195 -> a
    497:498:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):204:205 -> a
    499:499:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":709,"2":710,"3":711}}
    709:709:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):205:205 -> a
    710:710:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):205:205 -> a
    711:711:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):205:205 -> a
    704:704:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):205:205 -> a
    705:708:void com.android.tools.r8.kotlin.KotlinMetadataWriter.appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):162:165 -> a
    705:708:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):205 -> a
    712:712:void lambda$appendKeyValue$7(java.util.function.Consumer,java.lang.String):205:205 -> a
    713:714:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):209:210 -> a
    715:715:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":930,"2":931,"3":932}}
    930:930:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):210:210 -> a
    931:931:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):210:210 -> a
    932:932:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):210:210 -> a
    925:925:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):210:210 -> a
    926:929:void com.android.tools.r8.kotlin.KotlinMetadataWriter.appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):162:165 -> a
    926:929:void appendKeyValue(java.lang.String,java.lang.String,java.lang.StringBuilder,java.lang.String):210 -> a
    933:933:void lambda$appendKeyValue$8(java.lang.StringBuilder,java.lang.String):210:210 -> a
    934:986:void appendKmDeclarationContainer(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer):215:267 -> a
    987:987:void lambda$appendKmDeclarationContainer$10(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):230:230 -> a
    988:988:void lambda$appendKmDeclarationContainer$15(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias):280:280 -> a
    989:989:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):286:286 -> a
    990:990:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):0:0 -> a
    990:990:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):287 -> a
    991:991:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):16:16 -> a
    991:991:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):69 -> a
    991:991:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):287 -> a
    992:992:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):69:69 -> a
    992:992:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):287 -> a
    993:994:void appendKmPackage(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):287:288 -> a
    995:996:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):305:306 -> a
    997:997:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):13:13 -> a
    997:997:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):48 -> a
    997:997:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):306 -> a
    998:998:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):48:48 -> a
    998:998:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):306 -> a
    999:1027:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):306:334 -> a
    1028:1043:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):330:345 -> a
    1044:1044:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1451,"2":1452,"3":1453}}
    1451:1451:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):346:346 -> a
    1452:1452:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):346:346 -> a
    1453:1453:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):346:346 -> a
    1391:1391:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):347:347 -> a
    1392:1395:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):346:349 -> a
    1396:1402:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):348:354 -> a
    1403:1409:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):350:356 -> a
    1410:1410:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):355:355 -> a
    1411:1411:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):13:13 -> a
    1411:1411:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnonymousObjectOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):39 -> a
    1411:1411:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):361 -> a
    1412:1412:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnonymousObjectOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):39:39 -> a
    1412:1412:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):361 -> a
    1413:1413:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):357:357 -> a
    1414:1414:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):13:13 -> a
    1414:1414:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):29 -> a
    1414:1414:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):362 -> a
    1415:1415:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):29:29 -> a
    1415:1415:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):362 -> a
    1416:1450:void appendKmClass(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):362:396 -> a
    1454:1454:void lambda$appendKmClass$19(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):313:313 -> a
    1455:1455:void lambda$appendKmClass$20(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):326:326 -> a
    1456:1456:void lambda$appendKmClass$23(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):374:374 -> a
    1457:1457:java.lang.String lambda$appendKmClass$25(com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):390:390 -> a
    1458:1458:void lambda$appendKmClass$26(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):393:393 -> a
    1459:1459:void appendKmConstructor(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor):401:401 -> a
    1460:1460:void appendKmFunction(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):421:421 -> a
    1461:1461:void appendKmProperty(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):473:473 -> a
    1462:1465:void appendKmType(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):543:546 -> a
    1466:1466:void lambda$appendKmType$41(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection):564:564 -> a
    1467:1467:void lambda$appendKmType$43(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):571:571 -> a
    1468:1468:void lambda$appendKmType$47(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):584:584 -> a
    1469:1469:void lambda$appendKmType$45(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):600:600 -> a
    1470:1470:void lambda$appendKmType$45(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):599:599 -> a
    1471:1471:void lambda$appendKmType$48(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):616:616 -> a
    1472:1472:void appendKmTypeProjection(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection):624:624 -> a
    1473:1473:void lambda$appendValueParameters$53(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter):650:650 -> a
    1474:1477:void appendValueParameter(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter):657:660 -> a
    1478:1478:void appendTypeParameters(java.lang.String,java.lang.StringBuilder,java.util.List):686:686 -> a
    1479:1479:void lambda$appendTypeParameters$57(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):692:692 -> a
    1480:1480:void appendTypeParameter(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):698:698 -> a
    1481:1481:void appendTypeAlias(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias):739:739 -> a
    1482:1482:void appendKmAnnotation(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):787:787 -> a
    1483:1484:void lambda$appendKmAnnotation$73(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,java.lang.String):792:793 -> a
    1485:1485:void lambda$appendKmAnnotation$71(java.lang.StringBuilder,java.util.Map,java.lang.String,java.lang.String):805:805 -> a
    1486:1486:void lambda$appendKmAnnotation$70(java.lang.String,java.lang.StringBuilder,java.util.Map,java.lang.String):810:810 -> a
    1487:1487:void lambda$appendKmAnnotation$69(java.lang.String,java.lang.StringBuilder,java.util.Map,java.lang.String,java.lang.String):815:815 -> a
    1488:1499:void appendKmArgument(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):825:836 -> a
    1500:1500:void appendKmVersionRequirement(java.lang.String,java.lang.StringBuilder,java.util.List):842:842 -> a
    1501:1501:void lambda$appendKmVersionRequirement$76(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement):853:853 -> a
    1502:1504:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):858:860 -> a
    1505:1513:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):859:867 -> a
    1514:1522:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):861:869 -> a
    1523:1523:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):868:868 -> a
    1524:1524:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():801:801 -> a
    1524:1524:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):874 -> a
    1525:1525:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):874:874 -> a
    1526:1526:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):870:870 -> a
    1527:1527:com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement.getVersion():801:801 -> a
    1527:1527:void lambda$appendKmVersionRequirement$75(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement,java.lang.String):874 -> a
    1528:1528:void appendKmContract(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract):881:881 -> a
    1529:1529:void lambda$appendKmContract$78(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect):896:896 -> a
    1530:1530:void appendKmEffect(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect):901:901 -> a
    1531:1531:void lambda$appendKmEffect$81(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression):923:923 -> a
    1532:1532:void appendKmEffectExpression(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression):941:941 -> a
    1:1:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):170:170 -> b
    2:2:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":177,"2":178,"3":179}}
    177:177:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):170:170 -> b
    178:178:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):170:170 -> b
    179:179:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):170:170 -> b
    172:172:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):170:170 -> b
    173:176:void com.android.tools.r8.kotlin.KotlinMetadataWriter.appendKmHelper(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.utils.Action,java.lang.String,java.lang.String):162:165 -> b
    173:176:void appendKmSection(java.lang.String,java.lang.String,java.lang.StringBuilder,java.util.function.Consumer):170 -> b
    180:180:void lambda$appendKmSection$5(java.util.function.Consumer,java.lang.String):173:173 -> b
    181:183:void lambda$appendKmDeclarationContainer$11(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):224:226 -> b
    184:187:void lambda$appendKmDeclarationContainer$11(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):225:228 -> b
    188:188:void lambda$appendKmDeclarationContainer$11(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):220:220 -> b
    189:189:void lambda$appendKmDeclarationContainer$13(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):264:264 -> b
    190:190:void lambda$appendKmClass$21(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):324:324 -> b
    191:191:void lambda$appendKmClass$21(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):320:320 -> b
    192:192:void lambda$appendKmConstructor$28(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,java.lang.String):412:412 -> b
    193:193:void lambda$appendKmFunction$30(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):432:432 -> b
    194:194:void lambda$appendKmProperty$36(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):484:484 -> b
    195:195:void lambda$appendKmType$42(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):562:562 -> b
    196:196:void lambda$appendKmType$42(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):558:558 -> b
    197:197:void lambda$appendKmType$44(java.lang.String,java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):576:576 -> b
    198:198:void lambda$appendKmType$46(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):593:593 -> b
    199:204:void lambda$appendKmType$46(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFlexibleTypeUpperBound,java.lang.String):589:594 -> b
    205:205:void lambda$appendKmTypeProjection$51(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection,java.lang.String):634:634 -> b
    206:206:void appendValueParameters(java.lang.String,java.lang.StringBuilder,java.util.List):644:644 -> b
    207:207:void lambda$appendValueParameter$54(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,java.lang.String):672:672 -> b
    208:208:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):716:716 -> b
    209:209:void lambda$appendTypeParameter$59(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):712:712 -> b
    210:210:void lambda$appendTypeParameter$58(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType):718:718 -> b
    211:211:void lambda$appendTypeAlias$64(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):753:753 -> b
    212:212:void lambda$appendTypeAlias$64(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):749:749 -> b
    213:213:void lambda$appendTypeAlias$63(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):755:755 -> b
    214:219:void lambda$appendKmAnnotation$72(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,java.lang.StringBuilder,java.lang.String):798:803 -> b
    220:220:void lambda$appendKmAnnotation$72(com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation,java.lang.StringBuilder,java.lang.String):799:799 -> b
    221:221:void lambda$appendKmArgument$74(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotationArgument):833:833 -> b
    222:222:void lambda$appendKmContract$79(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,java.lang.String):895:895 -> b
    223:223:void lambda$appendKmContract$79(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,java.lang.String):891:891 -> b
    224:224:void lambda$appendKmEffect$82(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect,java.lang.String):921:921 -> b
    225:225:void lambda$appendKmEffect$82(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect,java.lang.String):917:917 -> b
    226:226:void lambda$appendKmEffect$83(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):934:934 -> b
    227:227:void lambda$appendKmEffectExpression$86(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression):979:979 -> b
    1:1:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):0:0 -> c
    1:1:void lambda$appendTypeParameter$61(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):730 -> c
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):28:28 -> c
    2:2:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):176 -> c
    2:2:void lambda$appendTypeParameter$61(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):730 -> c
    3:3:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):176:176 -> c
    3:3:void lambda$appendTypeParameter$61(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):730 -> c
    4:4:void lambda$appendTypeParameter$61(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):730:730 -> c
    5:5:void lambda$appendTypeParameter$61(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):726:726 -> c
    6:8:void lambda$appendKmDeclarationContainer$14(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):242:244 -> c
    9:28:void lambda$appendKmDeclarationContainer$14(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):243:262 -> c
    29:29:void lambda$appendKmDeclarationContainer$14(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):238:238 -> c
    30:30:void lambda$appendKmPackage$17(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):299:299 -> c
    31:31:void lambda$appendKmClass$22(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):342:342 -> c
    32:41:void lambda$appendKmConstructor$29(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,java.lang.String):406:415 -> c
    42:44:void lambda$appendKmConstructor$29(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmConstructor,java.lang.String):414:416 -> c
    45:45:void lambda$appendKmFunction$31(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):437:437 -> c
    46:46:void lambda$appendKmProperty$37(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):489:489 -> c
    47:47:void lambda$appendKmType$49(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):614:614 -> c
    48:48:void lambda$appendKmType$49(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):610:610 -> c
    49:57:void lambda$appendKmTypeProjection$52(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection,java.lang.String):629:637 -> c
    58:58:void lambda$appendValueParameter$55(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,java.lang.String):679:679 -> c
    59:59:void lambda$appendTypeParameter$60(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmAnnotation):732:732 -> c
    60:60:void lambda$appendTypeAlias$65(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):763:763 -> c
    61:61:void lambda$appendKmVersionRequirement$77(java.lang.StringBuilder,java.util.List,java.lang.String):847:847 -> c
    62:62:void lambda$appendKmContract$80(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,java.lang.String):886:886 -> c
    63:68:void lambda$appendKmEffect$84(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect,java.lang.String):906:911 -> c
    69:92:void lambda$appendKmEffect$84(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffect,java.lang.String):907:930 -> c
    93:93:void lambda$appendKmEffectExpression$85(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):966:966 -> c
    94:94:void lambda$appendKmEffectExpression$88(java.lang.StringBuilder,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression):993:993 -> c
    1:1:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):0:0 -> d
    1:1:void lambda$appendKmClass$24(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):372 -> d
    2:2:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmClassExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):13:13 -> d
    2:2:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):23 -> d
    2:2:void lambda$appendKmClass$24(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):372 -> d
    3:3:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass):23:23 -> d
    3:3:void lambda$appendKmClass$24(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):372 -> d
    4:4:void lambda$appendKmClass$24(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):372:372 -> d
    5:5:void lambda$appendKmClass$24(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):368:368 -> d
    6:8:void lambda$appendKmDeclarationContainer$16(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):276:278 -> d
    9:9:void lambda$appendKmDeclarationContainer$16(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmDeclarationContainer,java.lang.String):272:272 -> d
    10:10:void lambda$appendKmFunction$32(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):442:442 -> d
    11:11:void lambda$appendKmFunction$34(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmContract,java.lang.String):458:458 -> d
    12:12:void lambda$appendKmProperty$38(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):494:494 -> d
    13:67:void lambda$appendKmType$50(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,java.lang.String):551:605 -> d
    68:77:void lambda$appendValueParameter$56(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,java.lang.String):665:674 -> d
    78:96:void lambda$appendTypeParameter$62(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,java.lang.String):703:721 -> d
    97:97:void lambda$appendTypeAlias$66(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):772:772 -> d
    98:98:void lambda$appendKmEffectExpression$87(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):977:977 -> d
    99:99:void lambda$appendKmEffectExpression$87(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):973:973 -> d
    1:3:void lambda$appendKmClass$27(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):387:389 -> e
    4:7:void lambda$appendKmClass$27(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):388:391 -> e
    8:8:void lambda$appendKmClass$27(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmClass,java.lang.String):383:383 -> e
    9:9:void lambda$appendKmFunction$33(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):447:447 -> e
    10:10:void lambda$appendKmProperty$39(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):501:501 -> e
    11:11:void lambda$appendTypeAlias$67(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):779:779 -> e
    12:12:void lambda$appendKmEffectExpression$89(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):991:991 -> e
    13:13:void lambda$appendKmEffectExpression$89(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):987:987 -> e
    1:28:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):426:453 -> f
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):19:19 -> f
    29:29:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80 -> f
    29:29:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):461 -> f
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):80:80 -> f
    30:30:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):461 -> f
    31:33:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):462:462 -> f
    34:34:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmFunctionExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):19:19 -> f
    34:34:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):90 -> f
    34:34:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):468 -> f
    35:35:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLambdaClassOriginName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction):90:90 -> f
    35:35:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):468 -> f
    36:36:void lambda$appendKmFunction$35(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction,java.lang.String):464:464 -> f
    37:62:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):478:503 -> f
    63:63:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):99:99 -> f
    63:63:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):503 -> f
    64:64:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):503:503 -> f
    65:65:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):110:110 -> f
    65:65:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):504 -> f
    66:71:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):505:505 -> f
    72:72:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getGetterSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):121:121 -> f
    72:72:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):510 -> f
    73:78:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):511:511 -> f
    79:79:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSetterSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):132:132 -> f
    79:79:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):516 -> f
    80:85:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):517:517 -> f
    86:86:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):143:143 -> f
    86:86:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):523 -> f
    87:94:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):524:524 -> f
    95:95:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):143:143 -> f
    95:95:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):532 -> f
    96:101:void lambda$appendKmProperty$40(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,java.lang.String):533:533 -> f
    102:139:void lambda$appendTypeAlias$68(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,java.lang.String):744:781 -> f
    140:147:void lambda$appendKmEffectExpression$90(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):946:953 -> f
    148:161:void lambda$appendKmEffectExpression$90(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):947:960 -> f
    162:190:void lambda$appendKmEffectExpression$90(java.lang.StringBuilder,com.android.tools.r8.jetbrains.kotlinx.metadata.KmEffectExpression,java.lang.String):954:982 -> f
com.android.tools.r8.kotlin.KotlinMethodLevelInfo -> com.android.tools.r8.internal.cA:
com.android.tools.r8.kotlin.KotlinMultiFileClassFacadeInfo -> com.android.tools.r8.internal.dA:
    java.util.List partClassNames -> a
    int[] metadataVersion -> c
    java.lang.String packageName -> b
    1:4:void <init>(java.util.List,java.lang.String,int[]):30:33 -> <init>
    1:5:com.android.tools.r8.kotlin.KotlinMultiFileClassFacadeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade,java.lang.String,int[],com.android.tools.r8.graph.DexItemFactory):41:45 -> a
    6:10:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):61:65 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int,int,java.lang.Object):227:227 -> a
    11:11:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
    11:11:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77 -> a
    12:368:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List,int[],int):0:356 -> a
    12:368:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int,int,java.lang.Object):225 -> a
    12:368:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
    12:368:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77 -> a
    369:369:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List,int[],int):233:233 -> a
    369:369:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int,int,java.lang.Object):225 -> a
    369:369:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
    369:369:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77 -> a
    370:370:void com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassHeader.<init>(java.lang.Integer,int[],java.lang.String[],java.lang.String[],java.lang.String,java.lang.String,java.lang.Integer):50:50 -> a
    370:370:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List,int[],int):231 -> a
    370:370:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int,int,java.lang.Object):225 -> a
    370:370:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
    370:370:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77 -> a
    371:371:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List,int[],int):235:235 -> a
    371:371:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int,int,java.lang.Object):225 -> a
    371:371:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
    371:371:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77 -> a
    372:372:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77:77 -> a
    373:373:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List,int[],int):356:356 -> a
    373:373:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write$default(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer,java.util.List,int[],int,int,java.lang.Object):225 -> a
    373:373:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassFacade$Writer.write(java.util.List):0 -> a
    373:373:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):77 -> a
    374:374:void lambda$rewrite$0(java.util.List,java.lang.String):68:68 -> a
    375:375:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinTypeReference):92:92 -> a
    376:376:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):92:92 -> a
    1:1:java.lang.String getPackageName():82:82 -> l
    1:1:int[] getMetadataVersion():87:87 -> m
com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo -> com.android.tools.r8.internal.eA:
    int[] metadataVersion -> d
    java.lang.String facadeClassName -> a
    com.android.tools.r8.kotlin.KotlinPackageInfo packageInfo -> b
    java.lang.String packageName -> c
    1:5:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinPackageInfo,java.lang.String,int[]):32:36 -> <init>
    1:4:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):46:49 -> a
    5:7:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):48:50 -> a
    8:8:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart.getFacadeClassName():257:257 -> a
    8:8:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):51 -> a
    9:9:com.android.tools.r8.kotlin.KotlinMultiFileClassPartInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$MultiFileClassPart,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):52:52 -> a
    10:15:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):70:75 -> a
    16:16:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):90:90 -> a
    1:1:java.lang.String getPackageName():80:80 -> l
    1:1:int[] getMetadataVersion():85:85 -> m
com.android.tools.r8.kotlin.KotlinPackageInfo -> com.android.tools.r8.internal.fA:
    com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo containerInfo -> b
    com.android.tools.r8.kotlin.KotlinMetadataMembersTracker originalMembersWithKotlinInfo -> d
    java.lang.String moduleName -> a
    com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo localDelegatedProperties -> c
    1:5:void <init>(java.lang.String,com.android.tools.r8.kotlin.KotlinDeclarationContainerInfo,com.android.tools.r8.kotlin.KotlinLocalDelegatedPropertyInfo,com.android.tools.r8.kotlin.KotlinMetadataMembersTracker):36:40 -> <init>
    1:3:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):49:51 -> a
    4:4:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.kotlin.KotlinMetadataUtils.toJvmFieldSignature(com.android.tools.r8.graph.DexField):89:89 -> a
    4:4:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):51 -> a
    5:13:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):51:59 -> a
    14:14:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):0:0 -> a
    14:14:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):60 -> a
    15:15:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):16:16 -> a
    15:15:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):69 -> a
    15:15:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):60 -> a
    16:16:java.lang.String com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getModuleName(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):69:69 -> a
    16:16:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):60 -> a
    17:17:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):65:65 -> a
    18:18:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    18:18:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):66 -> a
    19:19:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):61:61 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmPackageExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):16:16 -> a
    20:20:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):63 -> a
    20:20:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):71 -> a
    21:21:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getLocalDelegatedProperties(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage):63:63 -> a
    21:21:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):71 -> a
    22:22:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):72:72 -> a
    23:23:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    23:23:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):73 -> a
    24:24:com.android.tools.r8.kotlin.KotlinPackageInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.kotlin.KotlinJvmSignatureExtensionInformation):70:70 -> a
    25:42:boolean rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmPackage,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):78:95 -> a
    43:44:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):100:101 -> a
com.android.tools.r8.kotlin.KotlinPropertyInfo -> com.android.tools.r8.internal.gA:
    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo syntheticMethodForAnnotations -> n
    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo syntheticMethodForDelegate -> o
    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> i
    int jvmFlags -> j
    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo getterSignature -> l
    com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo setterSignature -> m
    com.android.tools.r8.kotlin.KotlinValueParameterInfo setterParameter -> g
    int getterFlags -> b
    int setterFlags -> c
    int flags -> a
    com.android.tools.r8.kotlin.KotlinTypeInfo returnType -> e
    com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo fieldSignature -> k
    java.util.List typeParameters -> h
    com.android.tools.r8.kotlin.KotlinTypeInfo receiverParameterType -> f
    java.lang.String name -> d
    1:16:void <init>(int,int,int,java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinValueParameterInfo,java.util.List,com.android.tools.r8.kotlin.KotlinVersionRequirementInfo,int,com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo,com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo):78:93 -> <init>
    1:10:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):98:107 -> a
    11:11:int com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getJvmFlags(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):99:99 -> a
    11:11:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):108 -> a
    12:12:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmFieldSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getFieldSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):110:110 -> a
    12:12:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):109 -> a
    13:13:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):109:109 -> a
    14:14:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getGetterSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):121:121 -> a
    14:14:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):111 -> a
    15:15:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):110:110 -> a
    16:16:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSetterSignature(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):132:132 -> a
    16:16:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):113 -> a
    17:17:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):112:112 -> a
    18:18:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSyntheticMethodForAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):143:143 -> a
    18:18:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):115 -> a
    19:19:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):114:114 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmMethodSignature com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getSyntheticMethodForDelegate(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty):156:156 -> a
    20:20:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):117 -> a
    21:21:com.android.tools.r8.kotlin.KotlinPropertyInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmProperty,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):116:116 -> a
    22:62:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):150:190 -> a
    63:75:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmPropertyVisitorProvider,com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):186:198 -> a
    76:99:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):207:230 -> a
    100:100:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeParameterInfo):216:216 -> a
    boolean isProperty() -> c
    com.android.tools.r8.kotlin.KotlinPropertyInfo asProperty() -> i
    1:1:com.android.tools.r8.kotlin.KotlinJvmFieldSignatureInfo getFieldSignature():131:131 -> n
    1:1:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo getGetterSignature():135:135 -> o
    1:1:com.android.tools.r8.kotlin.KotlinJvmMethodSignatureInfo getSetterSignature():139:139 -> p
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser -> com.android.tools.r8.internal.jA:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():23:23 -> <clinit>
    1:17:java.lang.String parseStratumContents(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):193:209 -> a
    18:18:java.lang.String parseStratumContents(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):202:202 -> a
    19:19:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198:198 -> a
    20:34:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):219:233 -> a
    20:34:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    35:35:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):246:246 -> a
    35:35:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    35:35:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    36:39:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):234:237 -> a
    36:39:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    40:40:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    40:40:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    40:40:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    41:41:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":52,"2":53,"3":54,"4":55,"5":56}}
    52:52:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    52:52:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    52:52:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    53:53:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    53:53:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    53:53:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    54:54:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    54:54:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    54:54:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    55:55:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    55:55:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    55:55:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    56:56:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    56:56:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    56:56:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    42:42:int com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.asInteger(java.lang.String):248:248 -> a
    42:42:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):233 -> a
    42:42:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    43:43:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    43:43:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    44:44:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":57,"2":58,"3":59,"4":60,"5":61}}
    57:57:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    57:57:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    58:58:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    58:58:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    59:59:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    59:59:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    60:60:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    60:60:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    61:61:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    61:61:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    45:45:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):230:230 -> a
    45:45:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    46:46:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    46:46:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    47:47:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":62,"2":63,"3":64,"4":65,"5":66}}
    62:62:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    62:62:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    63:63:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    63:63:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    64:64:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    64:64:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    65:65:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    65:65:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    66:66:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    66:66:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    48:48:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):226:226 -> a
    48:48:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    49:49:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    49:49:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    50:50:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":67,"2":68,"3":69,"4":70,"5":71}}
    67:67:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    67:67:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    68:68:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    68:68:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    69:69:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    69:69:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    70:70:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    70:70:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    71:71:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    71:71:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    51:51:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addFileToBuilder(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):221:221 -> a
    51:51:void lambda$parseStratumContents$0(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):198 -> a
    72:72:boolean lambda$parseStratumContents$1(java.lang.String):210:210 -> a
    1:26:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):124:149 -> b
    27:27:boolean com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader.readExpectedLine(java.lang.String):55:55 -> b
    27:27:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):149 -> b
    28:28:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):184:184 -> b
    29:61:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):152:184 -> b
    62:90:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):156:184 -> b
    91:105:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):170:184 -> b
    106:117:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):173:184 -> b
    118:126:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):176:184 -> b
    127:164:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parse(java.lang.String):147:184 -> b
    165:165:void lambda$parseStratumContents$2(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):212:212 -> b
    166:197:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addDebugEntryToBuilder(java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):262:293 -> b
    166:197:void lambda$parseStratumContents$2(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):212 -> b
    198:205:void com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser.addDebugEntryToBuilder(java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder):288:295 -> b
    198:205:void lambda$parseStratumContents$2(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder,java.util.List):212 -> b
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader -> com.android.tools.r8.internal.hA:
    java.io.BufferedReader reader -> b
    java.lang.String readLine -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():40:40 -> <clinit>
    1:2:void <init>(java.lang.String):46:47 -> <init>
    1:1:java.lang.String access$000(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader):40:40 -> a
    2:2:boolean isEOF():67:67 -> a
    3:3:void readUntil(java.lang.String,int,com.android.tools.r8.utils.ThrowingConsumer):85:85 -> a
    4:22:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):93:111 -> a
    23:23:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":138,"2":139,"3":140,"4":141,"5":142}}
    138:138:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):111:111 -> a
    139:139:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):111:111 -> a
    140:140:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):111:111 -> a
    141:141:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):111:111 -> a
    142:142:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):111:111 -> a
    134:137:java.lang.String readUntil(java.util.function.Predicate,int,com.android.tools.r8.utils.ThrowingConsumer):111:114 -> a
    1:1:void readExpectedLineOrThrow(java.lang.String):0:0 -> b
    2:2:boolean com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader.readExpectedLine(java.lang.String):55:55 -> b
    2:2:void readExpectedLineOrThrow(java.lang.String):60 -> b
    3:3:void readExpectedLineOrThrow(java.lang.String):61:61 -> b
    4:4:void readExpectedLineOrThrow(java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":66,"2":67,"3":68}}
    66:66:void readExpectedLineOrThrow(java.lang.String):61:61 -> b
    67:67:void readExpectedLineOrThrow(java.lang.String):61:61 -> b
    68:68:void readExpectedLineOrThrow(java.lang.String):61:61 -> b
    65:65:void readExpectedLineOrThrow(java.lang.String):61:61 -> b
    1:1:java.lang.String readNextLine():51:51 -> c
    1:1:void close():119:119 -> close
    1:73:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$BufferedStringReader readUntil(java.lang.String):0:72 -> d
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$KotlinSourceDebugExtensionParserException -> com.android.tools.r8.internal.iA:
    1:1:void <init>(java.lang.String):36:36 -> <init>
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Position -> com.android.tools.r8.internal.jA$a:
    com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source source -> a
    com.android.tools.r8.naming.Range range -> b
    1:3:void <init>(com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source,com.android.tools.r8.naming.Range):355:357 -> <init>
    1:1:com.android.tools.r8.naming.Range getRange():365:365 -> a
    1:1:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source getSource():361:361 -> b
    1:10:java.lang.String toString():370:379 -> toString
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result -> com.android.tools.r8.internal.jA$b:
    com.android.tools.r8.utils.SegmentTree inlineePositions -> a
    com.android.tools.r8.utils.SegmentTree calleePositions -> b
    1:3:void <init>(com.android.tools.r8.utils.SegmentTree,com.android.tools.r8.utils.SegmentTree):304:306 -> <init>
    1:1:java.util.Map$Entry lookupCalleePosition(int):314:314 -> a
    2:2:int inlinePositionsCount():318:318 -> a
    1:1:java.util.Map$Entry lookupInlinedPosition(int):310:310 -> b
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Source -> com.android.tools.r8.internal.jA$c:
    java.lang.String fileName -> a
    java.lang.String path -> b
    1:1:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$1):328:328 -> <init>
    2:4:void <init>(java.lang.String,java.lang.String):332:334 -> <init>
    1:1:java.lang.String getFileName():338:338 -> a
    1:1:java.lang.String getPath():342:342 -> b
    1:1:java.lang.String toString():347:347 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":349,"2":350,"3":351}}
    349:349:java.lang.String toString():347:347 -> toString
    350:350:java.lang.String toString():347:347 -> toString
    351:351:java.lang.String toString():347:347 -> toString
com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$StratumBuilder -> com.android.tools.r8.internal.kA:
    java.util.Map files -> b
    com.android.tools.r8.utils.SegmentTree segmentTree -> a
    1:4:void <init>():322:325 -> <init>
com.android.tools.r8.kotlin.KotlinSyntheticClassInfo -> com.android.tools.r8.internal.lA:
    com.android.tools.r8.kotlin.KotlinLambdaInfo lambda -> a
    com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour flavour -> d
    int[] metadataVersion -> c
    boolean $assertionsDisabled -> e
    java.lang.String packageName -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:5:void <init>(com.android.tools.r8.kotlin.KotlinLambdaInfo,com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour,java.lang.String,int[]):33:37 -> <init>
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor lambda$rewrite$0(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda) -> a
    1:5:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppView):47:51 -> a
    6:11:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppView):50:55 -> a
    12:12:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    12:12:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppView):55 -> a
    13:13:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppView):54:54 -> a
    14:21:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo$Flavour com.android.tools.r8.kotlin.KotlinSyntheticClassInfo.getFlavour(com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin):109:116 -> a
    14:21:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppView):57 -> a
    22:22:com.android.tools.r8.kotlin.KotlinSyntheticClassInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.KotlinClassMetadata$SyntheticClass,java.lang.String,int[],com.android.tools.r8.graph.DexClass,com.android.tools.r8.kotlin.Kotlin,com.android.tools.r8.graph.AppView):57:57 -> a
    23:27:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):79:83 -> a
    28:28:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.getFunction():286:286 -> a
    28:28:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297 -> a
    28:28:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    29:29:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297:297 -> a
    29:29:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    30:30:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.getFunction():286:286 -> a
    30:30:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297 -> a
    30:30:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    31:31:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297:297 -> a
    31:31:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    32:32:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.getFunction():286:286 -> a
    32:32:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297 -> a
    32:32:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    33:34:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297:298 -> a
    33:34:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    35:37:com.android.tools.r8.jetbrains.kotlinx.metadata.KmFunction com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.getFunction():286:286 -> a
    35:37:void com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambda.accept(com.android.tools.r8.jetbrains.kotlinx.metadata.KmLambdaVisitor):297 -> a
    35:37:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):84 -> a
    38:38:com.android.tools.r8.utils.Pair rewrite(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):86:86 -> a
    39:40:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):91:92 -> a
    com.android.tools.r8.kotlin.KotlinSyntheticClassInfo asSyntheticClass() -> f
    boolean isSyntheticClass() -> j
    1:1:java.lang.String getPackageName():98:98 -> l
    1:1:int[] getMetadataVersion():103:103 -> m
    1:1:boolean isLambda():63:63 -> n
com.android.tools.r8.kotlin.KotlinTypeAliasInfo -> com.android.tools.r8.internal.mA:
    java.util.List annotations -> f
    com.android.tools.r8.kotlin.KotlinTypeInfo expandedType -> d
    java.util.List typeParameters -> e
    com.android.tools.r8.kotlin.KotlinTypeInfo underlyingType -> c
    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo versionRequirements -> g
    boolean $assertionsDisabled -> h
    java.lang.String name -> b
    int flags -> a
    1:1:void <clinit>():20:20 -> <clinit>
    1:10:void <init>(int,java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,java.util.List,java.util.List,com.android.tools.r8.kotlin.KotlinVersionRequirementInfo):37:46 -> <init>
    1:8:com.android.tools.r8.kotlin.KotlinTypeAliasInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeAlias,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):51:58 -> a
    9:20:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeAliasVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):65:76 -> a
    21:24:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):82:85 -> a
    25:25:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeParameterInfo):84:84 -> a
    26:26:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinAnnotationInfo):85:85 -> a
com.android.tools.r8.kotlin.KotlinTypeInfo -> com.android.tools.r8.internal.nA:
    com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo flexibleTypeUpperBound -> g
    java.util.List annotations -> f
    com.android.tools.r8.kotlin.KotlinTypeInfo outerType -> d
    java.util.List arguments -> e
    com.android.tools.r8.kotlin.KotlinClassifierInfo classifier -> b
    com.android.tools.r8.kotlin.KotlinTypeInfo abbreviatedType -> c
    java.util.List EMPTY_ARGUMENTS -> i
    boolean isRaw -> h
    int flags -> a
    1:1:void <clinit>():28:28 -> <clinit>
    1:9:void <init>(int,com.android.tools.r8.kotlin.KotlinClassifierInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo,java.util.List,java.util.List,com.android.tools.r8.kotlin.KotlinFlexibleTypeUpperBoundInfo,boolean):47:55 -> <init>
    1:2:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):62:63 -> a
    3:11:com.android.tools.r8.kotlin.KotlinClassifierInfo com.android.tools.r8.kotlin.KotlinClassifierInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):28:36 -> a
    3:11:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):64 -> a
    12:15:com.android.tools.r8.kotlin.KotlinClassifierInfo com.android.tools.r8.kotlin.KotlinClassifierInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):35:38 -> a
    12:15:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):64 -> a
    16:16:com.android.tools.r8.kotlin.KotlinTypeReference com.android.tools.r8.kotlin.KotlinTypeReference.fromDescriptor(java.lang.String,com.android.tools.r8.graph.DexItemFactory):60:60 -> a
    16:16:com.android.tools.r8.kotlin.KotlinClassifierInfo com.android.tools.r8.kotlin.KotlinClassifierInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):39 -> a
    16:16:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):64 -> a
    17:26:com.android.tools.r8.kotlin.KotlinClassifierInfo com.android.tools.r8.kotlin.KotlinClassifierInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):39:48 -> a
    17:26:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):64 -> a
    27:28:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):53:54 -> a
    27:28:com.android.tools.r8.kotlin.KotlinClassifierInfo com.android.tools.r8.kotlin.KotlinClassifierInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):48 -> a
    27:28:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):64 -> a
    29:29:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":50,"2":51,"3":52,"4":53,"5":54,"6":55}}
    50:50:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):54:54 -> a
    50:50:com.android.tools.r8.kotlin.KotlinClassifierInfo com.android.tools.r8.kotlin.KotlinClassifierInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):48 -> a
    50:50:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):64 -> a
    51:51:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):54:54 -> a
    51:51:com.android.tools.r8.kotlin.KotlinClassifierInfo com.android.tools.r8.kotlin.KotlinClassifierInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):48 -> a
    51:51:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):64 -> a
    52:52:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):54:54 -> a
    52:52:com.android.tools.r8.kotlin.KotlinClassifierInfo com.android.tools.r8.kotlin.KotlinClassifierInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):48 -> a
    52:52:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):64 -> a
    53:53:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):54:54 -> a
    53:53:com.android.tools.r8.kotlin.KotlinClassifierInfo com.android.tools.r8.kotlin.KotlinClassifierInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):48 -> a
    53:53:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):64 -> a
    54:54:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String) -> a
    54:54:com.android.tools.r8.kotlin.KotlinClassifierInfo com.android.tools.r8.kotlin.KotlinClassifierInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):48 -> a
    54:54:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):64 -> a
    55:55:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):54:54 -> a
    55:55:com.android.tools.r8.kotlin.KotlinClassifierInfo com.android.tools.r8.kotlin.KotlinClassifierInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):48 -> a
    55:55:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):64 -> a
    30:30:com.android.tools.r8.kotlin.KotlinMetadataDiagnostic com.android.tools.r8.kotlin.KotlinMetadataDiagnostic.unknownClassifier(java.lang.String):54:54 -> a
    30:30:com.android.tools.r8.kotlin.KotlinClassifierInfo com.android.tools.r8.kotlin.KotlinClassifierInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):48 -> a
    30:30:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):64 -> a
    31:32:com.android.tools.r8.kotlin.KotlinClassifierInfo com.android.tools.r8.kotlin.KotlinClassifierInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmClassifier,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):48:49 -> a
    31:32:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):64 -> a
    33:35:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):65:67 -> a
    36:43:java.util.List com.android.tools.r8.kotlin.KotlinTypeInfo.getArguments(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):76:83 -> a
    36:43:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):67 -> a
    44:46:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):68:70 -> a
    47:49:com.android.tools.r8.kotlin.KotlinTypeInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmType,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):69:71 -> a
    56:85:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):91:120 -> a
    86:95:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):127:136 -> a
    96:96:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeProjectionInfo):134:134 -> a
    97:97:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinAnnotationInfo):136:136 -> a
    98:98:com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.GraphLens):140:140 -> a
com.android.tools.r8.kotlin.KotlinTypeParameterInfo -> com.android.tools.r8.internal.oA:
    java.util.List annotations -> f
    java.util.List originalUpperBounds -> e
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> d
    java.util.List EMPTY_UPPER_BOUNDS -> h
    java.util.List EMPTY_TYPE_PARAMETERS -> g
    int id -> b
    java.lang.String name -> c
    int flags -> a
    1:2:void <clinit>():27:28 -> <clinit>
    1:7:void <init>(int,int,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,java.util.List,java.util.List):43:49 -> <init>
    1:5:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):65:69 -> a
    6:11:com.android.tools.r8.kotlin.KotlinTypeParameterInfo com.android.tools.r8.kotlin.KotlinTypeParameterInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):54:59 -> a
    6:11:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):70 -> a
    12:19:java.util.List com.android.tools.r8.kotlin.KotlinTypeParameterInfo.getUpperBounds(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):77:84 -> a
    12:19:com.android.tools.r8.kotlin.KotlinTypeParameterInfo com.android.tools.r8.kotlin.KotlinTypeParameterInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):59 -> a
    12:19:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):70 -> a
    20:20:com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmTypeParameterExtension com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.impl.JvmExtensionNodesKt.getJvm(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):28:28 -> a
    20:20:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):176 -> a
    20:20:com.android.tools.r8.kotlin.KotlinTypeParameterInfo com.android.tools.r8.kotlin.KotlinTypeParameterInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):60 -> a
    20:20:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):70 -> a
    21:21:java.util.List com.android.tools.r8.jetbrains.kotlinx.metadata.jvm.JvmExtensionsKt.getAnnotations(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter):176:176 -> a
    21:21:com.android.tools.r8.kotlin.KotlinTypeParameterInfo com.android.tools.r8.kotlin.KotlinTypeParameterInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):60 -> a
    21:21:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):70 -> a
    22:22:com.android.tools.r8.kotlin.KotlinTypeParameterInfo com.android.tools.r8.kotlin.KotlinTypeParameterInfo.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeParameter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):60:60 -> a
    22:22:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):70 -> a
    23:25:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):70:72 -> a
    26:40:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeParameterVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):91:105 -> a
    41:41:java.util.function.Consumer lambda$trace$0(com.android.tools.r8.kotlin.KotlinTypeInfo):113:113 -> a
    42:43:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):113:114 -> a
    44:44:java.util.function.Consumer lambda$trace$1(com.android.tools.r8.kotlin.KotlinAnnotationInfo):114:114 -> a
com.android.tools.r8.kotlin.KotlinTypeProjectionInfo -> com.android.tools.r8.internal.pA:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance variance -> a
    com.android.tools.r8.kotlin.KotlinTypeInfo typeInfo -> b
    1:3:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVariance,com.android.tools.r8.kotlin.KotlinTypeInfo):22:24 -> <init>
    1:3:com.android.tools.r8.kotlin.KotlinTypeProjectionInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeProjection,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):29:31 -> a
    4:4:boolean com.android.tools.r8.kotlin.KotlinTypeProjectionInfo.isStarProjection():35:35 -> a
    4:4:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeProjectionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeStarProjectionVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):43 -> a
    5:8:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeProjectionVisitorProvider,com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeStarProjectionVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):44:47 -> a
    9:9:com.android.tools.r8.jetbrains.kotlinx.metadata.KmTypeVisitor lambda$rewrite$0(com.android.tools.r8.kotlin.KmVisitorProviders$KmTypeProjectionVisitorProvider,int):47:47 -> a
    10:11:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):53:54 -> a
com.android.tools.r8.kotlin.KotlinTypeReference -> com.android.tools.r8.internal.qA:
    com.android.tools.r8.graph.DexType known -> a
    java.lang.String originalName -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():25:25 -> <clinit>
    1:4:void <init>(java.lang.String,com.android.tools.r8.graph.DexType):30:33 -> <init>
    5:8:void <init>(java.lang.String):36:39 -> <init>
    1:1:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):52:52 -> a
    2:2:boolean com.android.tools.r8.utils.DescriptorUtils.isValidBinaryName(java.lang.String):562:562 -> a
    2:2:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):52 -> a
    3:3:boolean com.android.tools.r8.utils.DescriptorUtils.isValidBinaryName(java.lang.String):561:561 -> a
    3:3:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):52 -> a
    4:4:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):54:54 -> a
    5:8:com.android.tools.r8.kotlin.KotlinTypeReference fromBinaryName(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):53:56 -> a
    9:14:boolean toRenamedBinaryNameOrDefault(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,java.lang.String):112:117 -> a
    15:18:void lambda$toRenamedBinaryNameOrDefault$0(java.lang.String,java.util.function.Consumer,java.lang.String):120:123 -> a
    19:19:void lambda$toRenamedBinaryNameOrDefault$0(java.lang.String,java.util.function.Consumer,java.lang.String):121:121 -> a
    20:30:com.android.tools.r8.graph.DexType toRewrittenTypeOrNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):132:142 -> a
    31:31:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):392:392 -> a
    31:31:com.android.tools.r8.graph.DexType toRewrittenTypeOrNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):142 -> a
    32:33:com.android.tools.r8.graph.DexType toRewrittenTypeOrNull(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):143:144 -> a
    34:36:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):157:159 -> a
    37:38:com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.GraphLens):164:165 -> a
    39:39:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupClassType(com.android.tools.r8.graph.DexType):392:392 -> a
    39:39:com.android.tools.r8.graph.DexType rewriteType(com.android.tools.r8.graph.GraphLens):165 -> a
    1:5:com.android.tools.r8.kotlin.KotlinTypeReference fromDescriptor(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.lang.String):65:69 -> b
    6:25:boolean toRenamedDescriptorOrDefault(java.util.function.Consumer,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,java.lang.String):77:96 -> b
    1:1:java.lang.String getOriginalName():47:47 -> n
    1:5:java.lang.String toKotlinClassifier(boolean):100:104 -> o
    6:6:java.lang.String toKotlinClassifier(boolean):0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":8,"2":9,"3":10}}
    8:8:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> o
    8:8:java.lang.String toKotlinClassifier(boolean):103 -> o
    9:9:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> o
    9:9:java.lang.String toKotlinClassifier(boolean):103 -> o
    10:10:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> o
    10:10:java.lang.String toKotlinClassifier(boolean):103 -> o
    7:7:java.lang.String com.android.tools.r8.kotlin.KotlinMetadataUtils.getKotlinLocalOrAnonymousNameFromDescriptor(java.lang.String,boolean):233:233 -> o
    7:7:java.lang.String toKotlinClassifier(boolean):103 -> o
    1:1:java.lang.String toString():152:152 -> toString
com.android.tools.r8.kotlin.KotlinValueParameterInfo -> com.android.tools.r8.internal.rA:
    com.android.tools.r8.kotlin.KotlinTypeInfo varargElementType -> d
    java.util.List EMPTY_VALUE_PARAMETERS -> e
    com.android.tools.r8.kotlin.KotlinTypeInfo type -> c
    java.lang.String name -> a
    int flags -> b
    1:1:void <clinit>():22:22 -> <clinit>
    1:5:void <init>(int,java.lang.String,com.android.tools.r8.kotlin.KotlinTypeInfo,com.android.tools.r8.kotlin.KotlinTypeInfo):33:37 -> <init>
    1:6:com.android.tools.r8.kotlin.KotlinValueParameterInfo create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmValueParameter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):49:54 -> a
    7:14:java.util.List create(java.util.List,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):59:66 -> a
    15:19:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmValueParameterVisitorProvider,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):73:77 -> a
    20:22:void trace(com.android.tools.r8.graph.DexDefinitionSupplier):85:87 -> a
com.android.tools.r8.kotlin.KotlinVersionRequirementInfo -> com.android.tools.r8.internal.tA:
    java.util.List versionRequirements -> a
    com.android.tools.r8.kotlin.KotlinVersionRequirementInfo NO_VERSION_REQUIREMENTS -> b
    1:2:void <clinit>():17:18 -> <clinit>
    1:2:void <init>(java.util.List):22:23 -> <init>
    1:8:com.android.tools.r8.kotlin.KotlinVersionRequirementInfo create(java.util.List):27:34 -> a
    9:13:boolean rewrite(com.android.tools.r8.kotlin.KmVisitorProviders$KmVersionRequirementVisitorProvider):38:42 -> a
com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint -> com.android.tools.r8.internal.sA:
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel level -> c
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind kind -> b
    com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion version -> e
    java.lang.Integer errorCode -> a
    java.lang.String message -> d
    1:6:void <init>(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVersionKind,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementLevel,java.lang.Integer,java.lang.String,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersion):60:65 -> <init>
    1:5:com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint.create(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement):69:73 -> a
    1:5:com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint access$000(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirement):47 -> a
    6:6:void com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint.rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):78:78 -> a
    6:6:void access$100(com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):47 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:9:void com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint.rewrite(com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):78:80 -> a
    7:9:void access$100(com.android.tools.r8.kotlin.KotlinVersionRequirementInfo$KotlinVersionRequirementPoint,com.android.tools.r8.jetbrains.kotlinx.metadata.KmVersionRequirementVisitor):47 -> a
com.android.tools.r8.logging.Log -> com.android.tools.r8.internal.AC:
    java.util.Set CLASS_FILTER -> b
    boolean ENABLED -> a
    1:1:void <clinit>():12:12 -> <clinit>
    2:11:java.util.Set com.android.tools.r8.logging.Log.getClassFilter():57:66 -> <clinit>
    2:11:void <clinit>():19 -> <clinit>
    12:12:void <clinit>():19:19 -> <clinit>
    1:2:void debug(java.lang.Class,java.lang.String,java.lang.Object[]):34:35 -> a
    3:3:boolean isLoggingEnabledFor(java.lang.Class):46:46 -> a
    4:7:void log(java.lang.String,java.lang.Class,java.lang.String,java.lang.Object[]):50:53 -> a
    1:2:void info(java.lang.Class,java.lang.String,java.lang.Object[]):28:29 -> b
    1:2:void warn(java.lang.Class,java.lang.String,java.lang.Object[]):40:41 -> c
com.android.tools.r8.naming.ApplyMappingError -> com.android.tools.r8.naming.a:
    1:1:void <init>(java.lang.String,com.android.tools.r8.position.Position):27:27 -> <init>
    1:2:com.android.tools.r8.naming.ApplyMappingError mapToExistingClass(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):32:33 -> a
    1:2:com.android.tools.r8.naming.ApplyMappingError mapToExistingMember(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):39:40 -> b
com.android.tools.r8.naming.ClassNameMapper -> com.android.tools.r8.naming.b:
    java.util.Map signatureMap -> c
    java.util.Set mapVersions -> d
    com.android.tools.r8.utils.BiMapContainer nameMapping -> b
    boolean $assertionsDisabled -> e
    int $r8$clinit -> f
    com.android.tools.r8.com.google.common.collect.ImmutableMap classNameMappings -> a
    1:1:void <clinit>():39:39 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Set,com.android.tools.r8.naming.ClassNameMapper$1):39:39 -> <init>
    2:2:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Set):156:156 -> <init>
    3:10:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Set):151:158 -> <init>
    1:1:com.android.tools.r8.naming.ClassNameMapper$Builder builder():85:85 -> a
    2:2:com.android.tools.r8.naming.ClassNameMapper mapperFromFile(java.nio.file.Path):89:89 -> a
    3:9:com.android.tools.r8.naming.ClassNameMapper mapperFromFile(java.nio.file.Path,com.android.tools.r8.naming.ClassNameMapper$MissingFileAction):94:100 -> a
    10:10:com.android.tools.r8.naming.ClassNameMapper mapperFromBufferedReader(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler):128:128 -> a
    10:10:com.android.tools.r8.naming.ClassNameMapper mapperFromFile(java.nio.file.Path,com.android.tools.r8.naming.ClassNameMapper$MissingFileAction):100 -> a
    11:11:com.android.tools.r8.naming.ClassNameMapper mapperFromString(java.lang.String,com.android.tools.r8.DiagnosticsHandler):110:110 -> a
    12:15:java.io.BufferedReader com.android.tools.r8.com.google.common.io.CharSource.openBufferedStream():112:115 -> a
    12:15:com.android.tools.r8.naming.ClassNameMapper mapperFromString(java.lang.String,com.android.tools.r8.DiagnosticsHandler):110 -> a
    16:16:com.android.tools.r8.naming.ClassNameMapper mapperFromBufferedReader(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler):128:128 -> a
    16:16:com.android.tools.r8.naming.ClassNameMapper mapperFromString(java.lang.String,com.android.tools.r8.DiagnosticsHandler):109 -> a
    17:27:com.android.tools.r8.naming.ClassNameMapper mapperFromBufferedReader(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):137:137 -> a
    36:36:com.android.tools.r8.naming.ClassNameMapper mapperFromBufferedReader(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):146:146 -> a
    37:41:java.lang.String deobfuscateClassName(java.lang.String):199:203 -> a
    42:42:java.lang.String lambda$sorted$0(com.android.tools.r8.naming.ClassNamingForNameMapper):232:232 -> a
    43:43:void write(com.android.tools.r8.utils.ChainableStringConsumer):254:254 -> a
    44:44:java.util.Map getClassNameMappings():162:162 -> a
    44:44:boolean verifyIsSorted():239 -> a
    44:44:void write(com.android.tools.r8.utils.ChainableStringConsumer):254 -> a
    45:47:boolean verifyIsSorted():239:241 -> a
    45:47:void write(com.android.tools.r8.utils.ChainableStringConsumer):254 -> a
    48:48:java.util.Map getClassNameMappings():162:162 -> a
    48:48:boolean verifyIsSorted():241 -> a
    48:48:void write(com.android.tools.r8.utils.ChainableStringConsumer):254 -> a
    49:54:boolean verifyIsSorted():241:246 -> a
    49:54:void write(com.android.tools.r8.utils.ChainableStringConsumer):254 -> a
    55:55:java.util.Map getClassNameMappings():162:162 -> a
    55:55:void write(com.android.tools.r8.utils.ChainableStringConsumer):255 -> a
    56:57:void write(com.android.tools.r8.utils.ChainableStringConsumer):255:256 -> a
    58:59:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):291:292 -> a
    60:60:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):188:188 -> a
    60:60:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):292 -> a
    61:61:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    61:61:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):188 -> a
    61:61:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):292 -> a
    62:62:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):189:189 -> a
    62:62:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):292 -> a
    63:67:com.android.tools.r8.naming.MemberNaming$Signature canonicalizeSignature(com.android.tools.r8.naming.MemberNaming$Signature):166:170 -> a
    63:67:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):189 -> a
    63:67:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):292 -> a
    68:68:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):189:189 -> a
    68:68:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):292 -> a
    69:71:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):292:294 -> a
    72:75:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):175:178 -> a
    72:75:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    76:76:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    76:76:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):178 -> a
    76:76:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    77:79:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):178:180 -> a
    77:79:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    80:80:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    80:80:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):180 -> a
    80:80:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    81:81:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):182:182 -> a
    81:81:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    82:86:com.android.tools.r8.naming.MemberNaming$Signature canonicalizeSignature(com.android.tools.r8.naming.MemberNaming$Signature):166:170 -> a
    82:86:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):184 -> a
    82:86:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    87:87:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):184:184 -> a
    87:87:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294 -> a
    88:92:java.lang.String originalNameOf(com.android.tools.r8.graph.IndexedDexItem):294:298 -> a
    93:102:java.lang.String lookupName(com.android.tools.r8.naming.MemberNaming$Signature,com.android.tools.r8.graph.DexType):303:312 -> a
    103:103:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):316:316 -> a
    104:107:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):175:178 -> a
    104:107:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    108:108:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    108:108:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):178 -> a
    108:108:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    109:111:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):178:180 -> a
    109:111:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    112:112:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    112:112:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):180 -> a
    112:112:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    113:113:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):182:182 -> a
    113:113:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    114:118:com.android.tools.r8.naming.MemberNaming$Signature canonicalizeSignature(com.android.tools.r8.naming.MemberNaming$Signature):166:170 -> a
    114:118:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):184 -> a
    114:118:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    119:119:com.android.tools.r8.naming.MemberNaming$MethodSignature getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):184:184 -> a
    119:119:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):317 -> a
    120:128:com.android.tools.r8.naming.MemberNaming$MethodSignature originalSignatureOf(com.android.tools.r8.graph.DexMethod):318:326 -> a
    129:129:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):330:330 -> a
    130:130:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):188:188 -> a
    130:130:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):331 -> a
    131:131:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    131:131:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):188 -> a
    131:131:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):331 -> a
    132:132:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):189:189 -> a
    132:132:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):331 -> a
    133:137:com.android.tools.r8.naming.MemberNaming$Signature canonicalizeSignature(com.android.tools.r8.naming.MemberNaming$Signature):166:170 -> a
    133:137:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):189 -> a
    133:137:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):331 -> a
    138:138:com.android.tools.r8.naming.MemberNaming$FieldSignature getRenamedFieldSignature(com.android.tools.r8.graph.DexField):189:189 -> a
    138:138:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):331 -> a
    139:147:com.android.tools.r8.naming.MemberNaming$FieldSignature originalSignatureOf(com.android.tools.r8.graph.DexField):332:340 -> a
    148:148:java.lang.String originalNameOf(com.android.tools.r8.graph.DexType):344:344 -> a
    149:149:java.lang.String deobfuscateType(java.lang.String):207:207 -> a
    149:149:java.lang.String originalNameOf(com.android.tools.r8.graph.DexType):344 -> a
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper getClassNaming(java.lang.String):223:223 -> b
    2:2:java.util.Set getMapVersions():348:348 -> b
    1:1:com.android.tools.r8.naming.ClassNameMapper mapperFromString(java.lang.String):104:104 -> c
    2:5:java.io.BufferedReader com.android.tools.r8.com.google.common.io.CharSource.openBufferedStream():112:115 -> c
    2:5:com.android.tools.r8.naming.ClassNameMapper mapperFromString(java.lang.String):104 -> c
    6:6:com.android.tools.r8.naming.ClassNameMapper mapperFromBufferedReader(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler):128:128 -> c
    6:6:com.android.tools.r8.naming.ClassNameMapper mapperFromString(java.lang.String):104 -> c
    7:7:com.android.tools.r8.utils.BiMapContainer getObfuscatedToOriginalMapping():268:268 -> c
    8:8:com.android.tools.r8.com.google.common.collect.ImmutableBiMap$Builder com.android.tools.r8.com.google.common.collect.ImmutableBiMap.builder():121:121 -> c
    8:8:com.android.tools.r8.utils.BiMapContainer getObfuscatedToOriginalMapping():269 -> c
    9:15:com.android.tools.r8.utils.BiMapContainer getObfuscatedToOriginalMapping():270:276 -> c
    1:4:com.android.tools.r8.naming.ClassNameMapper sorted():231:234 -> d
    1:2:boolean equals(java.lang.Object):281:282 -> equals
    1:1:int hashCode():287:287 -> hashCode
    1:3:java.lang.String toString():262:264 -> toString
com.android.tools.r8.naming.ClassNameMapper$Builder -> com.android.tools.r8.naming.b$a:
    java.util.Map mapping -> a
    java.util.LinkedHashSet mapVersions -> b
    1:1:void <init>(com.android.tools.r8.naming.ClassNameMapper$1):46:46 -> <init>
    2:2:void <init>():51:51 -> <init>
    3:4:void <init>():48:49 -> <init>
    1:1:com.android.tools.r8.naming.ClassNaming$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):46:46 -> a
    2:2:com.android.tools.r8.naming.ClassNamingForNameMapper$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):59:59 -> a
    3:3:com.android.tools.r8.naming.ClassNamingForNameMapper$Builder com.android.tools.r8.naming.ClassNamingForNameMapper.builder(java.lang.String,java.lang.String):209:209 -> a
    3:3:com.android.tools.r8.naming.ClassNamingForNameMapper$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):59 -> a
    4:4:com.android.tools.r8.naming.ClassNamingForNameMapper$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):60:60 -> a
    5:5:com.android.tools.r8.naming.ClassNameMapper build():66:66 -> a
    6:6:java.lang.String lambda$buildClassNameMappings$0(com.android.tools.r8.naming.ClassNamingForNameMapper):71:71 -> a
    7:7:void lambda$buildClassNameMappings$1(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,java.lang.String,com.android.tools.r8.naming.ClassNamingForNameMapper$Builder):73:73 -> a
    8:8:com.android.tools.r8.naming.ProguardMap$Builder setCurrentMapVersion(com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation):79:79 -> a
    1:5:com.android.tools.r8.com.google.common.collect.ImmutableMap buildClassNameMappings():70:74 -> b
com.android.tools.r8.naming.ClassNameMapper$MissingFileAction -> com.android.tools.r8.naming.b$b:
    com.android.tools.r8.naming.ClassNameMapper$MissingFileAction MISSING_FILE_IS_EMPTY_MAP -> b
    com.android.tools.r8.naming.ClassNameMapper$MissingFileAction MISSING_FILE_IS_ERROR -> c
    1:2:void <clinit>():42:43 -> <clinit>
    1:1:void <init>(java.lang.String,int):41:41 -> <init>
com.android.tools.r8.naming.ClassNameMinifier -> com.android.tools.r8.naming.f:
    java.util.function.Predicate isUsed -> j
    com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy classNamingStrategy -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean allowMixedCaseNaming -> i
    java.util.Set usedTypeNames -> d
    boolean $assertionsDisabled -> k
    boolean keepInnerClassStructure -> g
    com.android.tools.r8.naming.ClassNameMinifier$Namespace topLevelState -> h
    java.lang.Iterable classes -> c
    java.util.Map renaming -> e
    java.util.Map states -> f
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy,java.lang.Iterable):52:52 -> <init>
    2:30:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy,java.lang.Iterable):40:68 -> <init>
    1:1:java.util.function.Predicate access$100(com.android.tools.r8.naming.ClassNameMinifier):35:35 -> a
    2:2:void setUsedTypeName(java.lang.String):73:73 -> a
    2:2:void access$400(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String):35 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void setUsedTypeName(java.lang.String):73:73 -> a
    3:3:void access$400(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String):35 -> a
    4:23:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):89:108 -> a
    24:29:boolean verifyMemberRenamingOfInnerClasses(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexString):125:125 -> a
    24:29:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):108 -> a
    30:38:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):111:119 -> a
    39:47:java.util.Map getPackageRenaming():135:143 -> a
    39:47:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):119 -> a
    48:48:com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming computeRenaming(com.android.tools.r8.utils.Timing):119:119 -> a
    49:50:void renameDanglingTypes(com.android.tools.r8.graph.ProgramOrClasspathClass):147:148 -> a
    51:51:void renameDanglingTypesInField(com.android.tools.r8.graph.DexClassAndField):152:152 -> a
    52:55:void renameDanglingTypesInMethod(com.android.tools.r8.graph.DexClassAndMethod):156:159 -> a
    56:57:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):175:176 -> a
    58:58:void setUsedTypeName(java.lang.String):73:73 -> a
    58:58:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):176 -> a
    59:59:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):177:177 -> a
    60:73:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):191:204 -> a
    60:73:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):178 -> a
    74:88:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.InnerClassAttribute.getLiveContext(com.android.tools.r8.graph.AppView):101:115 -> a
    74:88:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):204 -> a
    74:88:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):178 -> a
    89:93:void registerClassAsUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):180:184 -> a
    94:94:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):209:209 -> a
    95:108:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):191:204 -> a
    95:108:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):213 -> a
    109:123:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.InnerClassAttribute.getLiveContext(com.android.tools.r8.graph.AppView):101:115 -> a
    109:123:com.android.tools.r8.graph.DexType getOutClassForType(com.android.tools.r8.graph.DexType):204 -> a
    109:123:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):213 -> a
    124:133:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):215:224 -> a
    134:150:com.android.tools.r8.naming.ClassNameMinifier$Namespace getStateForOuterClass(com.android.tools.r8.graph.DexType,java.lang.String):242:258 -> a
    134:150:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):226 -> a
    151:153:com.android.tools.r8.graph.DexString computeName(com.android.tools.r8.graph.DexType):230:232 -> a
    154:158:java.lang.String getParentPackagePrefix(java.lang.String):334:338 -> a
    1:1:com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy access$200(com.android.tools.r8.naming.ClassNameMinifier):35:35 -> b
    2:2:com.android.tools.r8.naming.ClassNameMinifier$Namespace getStateForClass(com.android.tools.r8.graph.DexType):236:236 -> b
    3:3:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getPackageBinaryNameFromJavaType(java.lang.String):380:380 -> b
    3:3:com.android.tools.r8.naming.ClassNameMinifier$Namespace getStateForClass(com.android.tools.r8.graph.DexType):236 -> b
    4:4:com.android.tools.r8.naming.ClassNameMinifier$Namespace getStateForClass(com.android.tools.r8.graph.DexType):238:238 -> b
    5:5:com.android.tools.r8.naming.ClassNameMinifier$Namespace lambda$getStateForClass$2(java.lang.String):238:238 -> b
    1:1:java.util.Set access$300(com.android.tools.r8.naming.ClassNameMinifier):35:35 -> c
    2:2:boolean lambda$new$0(java.lang.String):65:65 -> c
    3:3:void lambda$computeRenaming$1(com.android.tools.r8.graph.DexType):100:100 -> c
    1:7:void renameDanglingType(com.android.tools.r8.graph.DexType):164:170 -> d
com.android.tools.r8.naming.ClassNameMinifier$ClassNamingStrategy -> com.android.tools.r8.naming.c:
    boolean isRenamedByApplyMapping(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate) -> a
    com.android.tools.r8.graph.DexString reservedDescriptor(com.android.tools.r8.graph.DexType) -> b
com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming -> com.android.tools.r8.naming.d:
    java.util.Map packageRenaming -> a
    java.util.Map classRenaming -> b
    1:1:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.naming.ClassNameMinifier$1):76:76 -> <init>
    2:4:void <init>(java.util.Map,java.util.Map):81:83 -> <init>
com.android.tools.r8.naming.ClassNameMinifier$Namespace -> com.android.tools.r8.naming.e:
    char[] packagePrefix -> c
    com.android.tools.r8.naming.ClassNameMinifier this$0 -> f
    int dictionaryIndex -> d
    boolean $assertionsDisabled -> g
    int nameIndex -> e
    java.lang.String packageName -> b
    1:1:void <clinit>():263:263 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String):271:271 -> <init>
    2:2:void <init>(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String,java.lang.String):274:274 -> <init>
    3:15:void <init>(com.android.tools.r8.naming.ClassNameMinifier,java.lang.String,java.lang.String):267:279 -> <init>
    1:3:com.android.tools.r8.graph.DexString nextTypeName(com.android.tools.r8.graph.DexType):287:289 -> a
    4:4:int getDictionaryIndex():295:295 -> a
    1:1:int incrementDictionaryIndex():300:300 -> b
    1:1:int incrementNameIndex():305:305 -> c
    1:1:java.lang.String getPackageName():283:283 -> d
com.android.tools.r8.naming.ClassNaming -> com.android.tools.r8.naming.h:
    com.android.tools.r8.naming.MemberNaming lookup(com.android.tools.r8.naming.MemberNaming$Signature) -> a
com.android.tools.r8.naming.ClassNaming$Builder -> com.android.tools.r8.naming.g:
    1:1:void <init>():19:19 -> <init>
    com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange addMappedRange(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,com.android.tools.r8.naming.Range,java.lang.String) -> a
    void addMappingInformation(com.android.tools.r8.naming.mappinginformation.MappingInformation,java.util.function.Consumer) -> a
    com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming) -> a
com.android.tools.r8.naming.ClassNamingForMapApplier -> com.android.tools.r8.naming.j:
    com.android.tools.r8.com.google.common.collect.ImmutableMap qualifiedMethodMembers -> d
    com.android.tools.r8.position.Position position -> c
    com.android.tools.r8.com.google.common.collect.ImmutableMap fieldMembers -> f
    com.android.tools.r8.com.google.common.collect.ImmutableMap methodMembers -> e
    java.lang.String originalName -> a
    java.lang.String renamedName -> b
    1:1:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.position.Position,java.util.Map,java.util.Map,java.util.Map,com.android.tools.r8.naming.ClassNamingForMapApplier$1):38:38 -> <init>
    2:8:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.position.Position,java.util.Map,java.util.Map,java.util.Map):133:139 -> <init>
    com.android.tools.r8.naming.MemberNaming lookup(com.android.tools.r8.naming.MemberNaming$Signature) -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap getQualifiedMethodMembers():143:143 -> a
    2:3:void forAllFieldNaming(com.android.tools.r8.utils.ThrowingConsumer):156:157 -> a
    2:3:void forAllMemberNaming(com.android.tools.r8.utils.ThrowingConsumer):149 -> a
    4:5:void forAllMethodNaming(com.android.tools.r8.utils.ThrowingConsumer):164:165 -> a
    4:5:void forAllMemberNaming(com.android.tools.r8.utils.ThrowingConsumer):150 -> a
    1:11:boolean equals(java.lang.Object):232:242 -> equals
    1:1:int hashCode():247:247 -> hashCode
    2:2:int com.android.tools.r8.com.google.common.base.Objects.hashCode(java.lang.Object[]):77:77 -> hashCode
    2:2:int hashCode():247 -> hashCode
com.android.tools.r8.naming.ClassNamingForMapApplier$Builder -> com.android.tools.r8.naming.i:
    com.android.tools.r8.position.Position position -> c
    com.android.tools.r8.utils.Reporter reporter -> d
    java.lang.String originalName -> a
    java.util.Map qualifiedMethodMembers -> e
    java.lang.String renamedName -> b
    java.util.Map methodMembers -> f
    java.util.Map fieldMembers -> g
    1:1:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.utils.Reporter,com.android.tools.r8.naming.ClassNamingForMapApplier$1):40:40 -> <init>
    2:2:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.utils.Reporter):50:50 -> <init>
    3:11:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.utils.Reporter):46:54 -> <init>
    com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange addMappedRange(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,com.android.tools.r8.naming.Range,java.lang.String) -> a
    void addMappingInformation(com.android.tools.r8.naming.mappinginformation.MappingInformation,java.util.function.Consumer) -> a
    1:1:java.util.List lambda$addMemberEntry$0(com.android.tools.r8.naming.MemberNaming$MethodSignature):64:64 -> a
    2:2:com.android.tools.r8.naming.ClassNamingForMapApplier build():83:83 -> a
    3:3:boolean com.android.tools.r8.naming.MemberNaming.isMethodNaming():87:87 -> a
    3:3:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):61 -> a
    4:10:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):62:68 -> a
    11:11:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):67:67 -> a
    12:21:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):66:75 -> a
    22:22:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):74:74 -> a
    23:23:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):73:73 -> a
com.android.tools.r8.naming.ClassNamingForNameMapper -> com.android.tools.r8.naming.k:
    com.android.tools.r8.com.google.common.collect.ImmutableMap fieldMembers -> d
    com.android.tools.r8.com.google.common.collect.ImmutableMap methodMembers -> c
    java.lang.String originalName -> a
    java.util.List additionalMappingInfo -> g
    boolean $assertionsDisabled -> h
    java.util.Map mappedRangesByRenamedName -> e
    java.lang.String renamedName -> b
    java.util.Map mappedFieldNamingsByName -> f
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(java.lang.String,java.lang.String,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.List,com.android.tools.r8.naming.ClassNamingForNameMapper$1):35:35 -> <init>
    2:9:void <init>(java.lang.String,java.lang.String,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.List):238:245 -> <init>
    1:1:void lambda$write$0(com.android.tools.r8.utils.ChainableStringConsumer,com.android.tools.r8.naming.mappinginformation.MappingInformation):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":340,"2":341,"3":342}}
    340:340:void lambda$write$0(com.android.tools.r8.utils.ChainableStringConsumer,com.android.tools.r8.naming.mappinginformation.MappingInformation):338:338 -> a
    341:341:void lambda$write$0(com.android.tools.r8.utils.ChainableStringConsumer,com.android.tools.r8.naming.mappinginformation.MappingInformation):338:338 -> a
    342:342:void lambda$write$0(com.android.tools.r8.utils.ChainableStringConsumer,com.android.tools.r8.naming.mappinginformation.MappingInformation):338:338 -> a
    339:339:void lambda$write$0(com.android.tools.r8.utils.ChainableStringConsumer,com.android.tools.r8.naming.mappinginformation.MappingInformation):338:338 -> a
    343:343:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRangesOfName getMappedRangesForRenamedName(java.lang.String):253:253 -> a
    344:350:com.android.tools.r8.naming.MemberNaming lookup(com.android.tools.r8.naming.MemberNaming$Signature):258:264 -> a
    351:351:java.util.Collection allFieldNamings():319:319 -> a
    352:358:void write(com.android.tools.r8.utils.ChainableStringConsumer):335:341 -> a
    359:360:void forAllFieldNaming(com.android.tools.r8.utils.ThrowingConsumer):313:314 -> a
    359:360:void write(com.android.tools.r8.utils.ChainableStringConsumer):341 -> a
    361:369:void write(com.android.tools.r8.utils.ChainableStringConsumer):345:353 -> a
    370:370:void lambda$write$1(com.android.tools.r8.utils.ChainableStringConsumer,com.android.tools.r8.naming.MemberNaming):341:341 -> a
    371:371:int lambda$write$2(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):349:349 -> a
    1:11:com.android.tools.r8.naming.MemberNaming lookupByOriginalSignature(com.android.tools.r8.naming.MemberNaming$Signature):270:280 -> b
    12:20:java.util.List lookupByOriginalName(java.lang.String):289:297 -> b
    21:21:java.util.Collection allMethodNamings():331:331 -> b
    1:1:java.util.List getAdditionalMappingInfo():249:249 -> c
    1:11:boolean equals(java.lang.Object):370:380 -> equals
    1:5:int hashCode():385:389 -> hashCode
    1:3:java.lang.String toString():360:362 -> toString
com.android.tools.r8.naming.ClassNamingForNameMapper$Builder -> com.android.tools.r8.naming.k$a:
    java.util.Map methodMembers -> c
    java.util.Map fieldMembers -> d
    java.lang.String originalName -> a
    java.util.List additionalMappingInfo -> g
    java.util.Map mappedRangesByName -> e
    java.lang.String renamedName -> b
    java.util.Map mappedFieldNamingsByName -> f
    1:1:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.naming.ClassNamingForNameMapper$1):37:37 -> <init>
    2:2:void <init>(java.lang.String,java.lang.String):47:47 -> <init>
    3:11:void <init>(java.lang.String,java.lang.String):41:49 -> <init>
    1:10:com.android.tools.r8.naming.ClassNamingForNameMapper build():69:78 -> a
    11:11:boolean com.android.tools.r8.naming.MemberNaming.isMethodNaming():87:87 -> a
    11:11:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):54 -> a
    12:17:com.android.tools.r8.naming.ClassNaming$Builder addMemberEntry(com.android.tools.r8.naming.MemberNaming):55:60 -> a
    18:20:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange addMappedRange(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,com.android.tools.r8.naming.Range,java.lang.String):95:97 -> a
    21:21:java.util.List lambda$addMappedRange$1(java.lang.String):97:97 -> a
    22:28:void addMappingInformation(com.android.tools.r8.naming.mappinginformation.MappingInformation,java.util.function.Consumer):104:110 -> a
    1:1:java.util.List lambda$addMemberEntry$0(java.lang.String):59:59 -> b
com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange -> com.android.tools.r8.naming.k$b:
    com.android.tools.r8.naming.Range originalRange -> c
    java.util.List additionalMappingInfo -> f
    com.android.tools.r8.naming.Range minifiedRange -> a
    int nextSequenceNumber -> g
    int sequenceNumber -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.naming.MemberNaming$MethodSignature signature -> b
    java.lang.String renamedName -> d
    1:3:void <clinit>():411:413 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,com.android.tools.r8.naming.Range,java.lang.String,com.android.tools.r8.naming.ClassNamingForNameMapper$1):411:411 -> <init>
    2:2:void <init>(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,com.android.tools.r8.naming.Range,java.lang.String):433:433 -> <init>
    3:12:void <init>(com.android.tools.r8.naming.Range,com.android.tools.r8.naming.MemberNaming$MethodSignature,com.android.tools.r8.naming.Range,java.lang.String):428:437 -> <init>
    1:1:java.util.List access$400(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):411:411 -> a
    2:2:int getNextSequenceNumber():416:416 -> a
    3:9:void addMappingInformation(com.android.tools.r8.naming.mappinginformation.MappingInformation,java.util.function.Consumer):442:448 -> a
    10:14:int getOriginalLineNumber(int):493:497 -> a
    15:15:boolean com.android.tools.r8.naming.Range.contains(int):31:31 -> a
    15:15:int getOriginalLineNumber(int):497 -> a
    16:26:int getOriginalLineNumber(int):497:507 -> a
    1:1:int access$500(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):411:411 -> b
    2:2:java.util.List getOutlineCallsiteInformation():481:481 -> b
    3:9:java.util.List filter(java.util.function.Predicate,java.util.function.Function):471:477 -> b
    3:9:java.util.List getOutlineCallsiteInformation():481 -> b
    1:1:java.util.List getRewriteFrameMappingInformation():487:487 -> c
    2:8:java.util.List filter(java.util.function.Predicate,java.util.function.Function):471:477 -> c
    2:8:java.util.List getRewriteFrameMappingInformation():487 -> c
    1:2:boolean isCompilerSynthesized():452:453 -> d
    3:3:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isOutlineMappingInformation():0:0 -> d
    3:3:boolean isCompilerSynthesized():453 -> d
    1:2:boolean isOutlineFrame():461:462 -> e
    3:3:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isOutlineMappingInformation():0:0 -> e
    3:3:boolean isOutlineFrame():462 -> e
    1:10:boolean equals(java.lang.Object):540:549 -> equals
    1:4:int hashCode():555:558 -> hashCode
    1:10:java.lang.String toString():521:530 -> toString
com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRangesOfName -> com.android.tools.r8.naming.k$c:
    java.util.List mappedRanges -> a
    1:2:void <init>(java.util.List):118:119 -> <init>
    1:1:java.util.List access$300(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRangesOfName):115:115 -> a
    2:2:java.util.List allRangesForLine(int):149:149 -> a
    3:5:java.util.List allRangesForLine(int,boolean):162:164 -> a
    6:6:boolean com.android.tools.r8.naming.Range.contains(int):31:31 -> a
    6:6:java.util.List allRangesForLine(int,boolean):170 -> a
    7:15:java.util.List allRangesForLine(int,boolean):173:181 -> a
    16:16:java.util.List getMappedRanges():185:185 -> a
    1:2:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange firstRangeForLine(int):128:129 -> b
    3:3:boolean com.android.tools.r8.naming.Range.contains(int):31:31 -> b
    3:3:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange firstRangeForLine(int):135 -> b
    1:7:boolean equals(java.lang.Object):193:199 -> equals
    1:1:int hashCode():204:204 -> hashCode
com.android.tools.r8.naming.DictionaryReader -> com.android.tools.r8.internal.oh:
    java.nio.file.Path path -> c
    java.io.BufferedReader reader -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():22:22 -> <clinit>
    1:3:void <init>(java.nio.file.Path):27:29 -> <init>
    1:40:java.lang.String readName(com.android.tools.r8.utils.Reporter):33:72 -> a
    41:54:com.android.tools.r8.com.google.common.collect.ImmutableList readAllNames(java.nio.file.Path,com.android.tools.r8.utils.Reporter):84:97 -> a
    55:71:com.android.tools.r8.com.google.common.collect.ImmutableList readAllNames(java.nio.file.Path,com.android.tools.r8.utils.Reporter):86:102 -> a
    1:2:void close():77:78 -> close
com.android.tools.r8.naming.FieldNameMinifier -> com.android.tools.r8.naming.n:
    java.util.Map renaming -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map reservedNamingStates -> d
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
    com.android.tools.r8.naming.MemberNamingStrategy strategy -> e
    boolean $assertionsDisabled -> h
    java.util.Map frontiers -> f
    java.util.Map frontierStatesForInterfaces -> g
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.naming.MemberNamingStrategy):52:52 -> <init>
    2:16:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.naming.MemberNamingStrategy):41:55 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.naming.FieldNameMinifier):37:37 -> a
    2:6:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):63:67 -> a
    7:9:void renameFieldsInInterfaces(java.util.Collection):234:236 -> a
    7:9:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):68 -> a
    10:17:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming computeRenaming(java.util.Collection,com.android.tools.r8.utils.Timing):69:76 -> a
    18:18:com.android.tools.r8.naming.ReservedFieldNamingState getOrCreateReservedFieldNamingState(com.android.tools.r8.graph.DexType):97:97 -> a
    19:34:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):117:132 -> a
    35:35:void com.android.tools.r8.naming.ReservedFieldNamingState.markReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):47:47 -> a
    35:35:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):131 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:void com.android.tools.r8.naming.ReservedFieldNamingState.markReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):47:47 -> a
    36:36:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):131 -> a
    37:43:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):134:140 -> a
    44:45:java.util.Set com.android.tools.r8.utils.SetUtils.newIdentityHashSet(java.lang.Object):45:46 -> a
    44:45:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):141 -> a
    46:56:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):140:150 -> a
    57:72:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):149:164 -> a
    73:73:void lambda$reserveFieldNames$1(com.android.tools.r8.graph.DexClass):163:163 -> a
    74:76:void patchUpAllIndirectlyImplementingInterfacesFromLibraryAndClassPath(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.naming.ReservedFieldNamingState):171:173 -> a
    77:84:com.android.tools.r8.utils.TraversalContinuation lambda$patchUpAllIndirectlyImplementingInterfacesFromLibraryAndClassPath$2(com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):176:183 -> a
    85:89:void renameFieldsInClasses():188:192 -> a
    90:90:void renameFieldsInClasses():191:191 -> a
    91:99:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):194:202 -> a
    100:105:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):200:205 -> a
    106:106:com.android.tools.r8.naming.ReservedFieldNamingState getReservedFieldNamingState(com.android.tools.r8.graph.DexType):93:93 -> a
    106:106:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):205 -> a
    107:109:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):206:208 -> a
    110:110:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    110:110:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):208 -> a
    111:111:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    111:111:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):208 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    112:113:void lambda$renameFieldsInClasses$5(java.util.Map,com.android.tools.r8.graph.DexClass):211:212 -> a
    114:117:void lambda$renameFieldsInUnrelatedClasspathClasses$6(com.android.tools.r8.graph.DexClasspathClass):222:225 -> a
    118:123:void renameFieldsInInterfacePartition(java.util.Set):241:246 -> a
    124:124:com.android.tools.r8.naming.ReservedFieldNamingState getReservedFieldNamingState(com.android.tools.r8.graph.DexType):93:93 -> a
    124:124:void renameFieldsInInterfacePartition(java.util.Set):246 -> a
    125:141:void renameFieldsInInterfacePartition(java.util.Set):248:264 -> a
    142:142:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    142:142:void renameFieldsInInterfacePartition(java.util.Set):265 -> a
    143:143:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    143:143:void renameFieldsInInterfacePartition(java.util.Set):265 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    144:145:void lambda$renameFieldsInInterfacePartition$7(com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState):254:255 -> a
    146:148:com.android.tools.r8.graph.DexString renameField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.FieldNamingState):276:278 -> a
    146:148:void lambda$renameFieldsInClasses$4(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.graph.ProgramField):208 -> a
    149:151:com.android.tools.r8.graph.DexString renameField(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.FieldNamingState):276:278 -> a
    149:151:void lambda$renameFieldsInInterfacePartition$8(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):267 -> a
    152:152:void lambda$renameFieldsInInterfacePartition$8(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):269:269 -> a
    153:153:void com.android.tools.r8.naming.ReservedFieldNamingState.markReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):47:47 -> a
    153:153:void lambda$renameFieldsInInterfacePartition$8(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):268 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    154:154:void com.android.tools.r8.naming.ReservedFieldNamingState.markReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):47:47 -> a
    154:154:void lambda$renameFieldsInInterfacePartition$8(com.android.tools.r8.naming.FieldNamingState,com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.ProgramField):268 -> a
    155:155:void renameNonReboundAccessesToField(com.android.tools.r8.graph.FieldAccessInfo):290:290 -> a
    156:159:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):296:299 -> a
    160:160:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    160:160:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):299 -> a
    161:169:void renameNonReboundAccessToField(com.android.tools.r8.graph.DexField):299:307 -> a
    1:1:com.android.tools.r8.graph.SubtypingInfo access$300(com.android.tools.r8.naming.FieldNameMinifier):37:37 -> b
    2:2:com.android.tools.r8.naming.ReservedFieldNamingState lambda$getOrCreateReservedFieldNamingState$0(com.android.tools.r8.graph.DexType):98:98 -> b
    3:6:void renameFieldsInUnrelatedClasspathClasses():217:220 -> b
    1:1:com.android.tools.r8.naming.FieldNamingState lambda$renameFieldsInClasses$3(com.android.tools.r8.graph.DexType):201:201 -> c
    2:4:void renameNonReboundReferences():284:286 -> c
    1:3:void reserveFieldNames():112:114 -> d
    4:4:void reserveFieldNames():113:113 -> d
com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming -> com.android.tools.r8.naming.l:
    java.util.Map renaming -> a
    1:1:void <init>(java.util.Map,com.android.tools.r8.naming.FieldNameMinifier$1):79:79 -> <init>
    2:3:void <init>(java.util.Map):83:84 -> <init>
    1:1:com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming empty():88:88 -> a
com.android.tools.r8.naming.FieldNameMinifier$InterfacePartitioning -> com.android.tools.r8.naming.m:
    com.android.tools.r8.graph.AppView appView -> b
    java.util.Set visited -> c
    com.android.tools.r8.naming.FieldNameMinifier minifier -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():311:311 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.FieldNameMinifier):317:317 -> <init>
    2:6:void <init>(com.android.tools.r8.naming.FieldNameMinifier):315:319 -> <init>
    1:1:java.util.List access$100(com.android.tools.r8.naming.FieldNameMinifier$InterfacePartitioning,java.util.Collection):311:311 -> a
    2:9:java.util.List sortedPartitions(java.util.Collection):323:330 -> a
    10:43:java.util.Set buildSortedPartition(com.android.tools.r8.graph.DexClass):337:370 -> a
com.android.tools.r8.naming.FieldNamingState -> com.android.tools.r8.naming.p:
    com.android.tools.r8.naming.ReservedFieldNamingState reservedNames -> d
    com.android.tools.r8.naming.MemberNamingStrategy strategy -> e
    java.util.function.BiPredicate isAvailable -> f
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy):25:25 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy,com.android.tools.r8.naming.ReservedFieldNamingState):32:32 -> <init>
    3:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy,com.android.tools.r8.naming.ReservedFieldNamingState,java.util.Map):40:43 -> <init>
    1:1:boolean lambda$new$0(com.android.tools.r8.naming.ReservedFieldNamingState,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.ProgramField):44:44 -> a
    2:2:com.android.tools.r8.naming.FieldNamingState createChildState(com.android.tools.r8.naming.ReservedFieldNamingState):48:48 -> a
    3:8:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):52:57 -> a
    9:9:java.lang.Object com.android.tools.r8.naming.FieldNamingStateBase.getOrCreateInternalState(com.android.tools.r8.graph.DexField):31:31 -> a
    9:9:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
    10:10:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57:57 -> a
    11:11:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):93:93 -> a
    11:11:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:com.android.tools.r8.naming.MemberNamingStrategy access$100(com.android.tools.r8.naming.FieldNamingState):17:17 -> a
    12:12:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):93 -> a
    12:12:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
    13:13:java.util.function.BiPredicate access$000(com.android.tools.r8.naming.FieldNamingState):17:17 -> a
    13:13:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):93 -> a
    13:13:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
    14:15:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):93:94 -> a
    14:15:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
    16:16:com.android.tools.r8.naming.ReservedFieldNamingState access$200(com.android.tools.r8.naming.FieldNamingState):17:17 -> a
    16:16:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):94 -> a
    16:16:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
    17:17:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.FieldNamingState$InternalState.createNewName(com.android.tools.r8.graph.ProgramField):94:94 -> a
    17:17:com.android.tools.r8.graph.DexString getOrCreateNameFor(com.android.tools.r8.graph.ProgramField):57 -> a
    18:18:com.android.tools.r8.naming.FieldNamingState$InternalState createInternalState():66:66 -> a
    18:18:java.lang.Object createInternalState():17 -> a
    19:19:void com.android.tools.r8.naming.FieldNamingState$InternalState.<init>(com.android.tools.r8.naming.FieldNamingState):84:84 -> a
    19:19:com.android.tools.r8.naming.FieldNamingState$InternalState createInternalState():66 -> a
    19:19:java.lang.Object createInternalState():17 -> a
    1:5:com.android.tools.r8.naming.FieldNamingState clone():71:75 -> b
    1:1:java.lang.Object clone():17:17 -> clone
com.android.tools.r8.naming.FieldNamingState$InternalState -> com.android.tools.r8.naming.o:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.naming.FieldNamingState this$0 -> d
    int dictionaryIndex -> b
    int nextNameIndex -> c
    1:1:void <clinit>():78:78 -> <clinit>
    1:3:void <init>(com.android.tools.r8.naming.FieldNamingState,int,int):87:89 -> <init>
    1:1:int getDictionaryIndex():105:105 -> a
    1:1:int incrementDictionaryIndex():110:110 -> b
    1:1:int incrementNameIndex():115:115 -> c
    1:1:java.lang.Object clone():78:78 -> clone
    1:1:com.android.tools.r8.naming.FieldNamingState$InternalState clone():100:100 -> d
com.android.tools.r8.naming.FieldNamingStateBase -> com.android.tools.r8.naming.q:
    java.util.Map internalStates -> c
    com.android.tools.r8.graph.AppView appView -> b
    1:3:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):20:22 -> <init>
    java.lang.Object createInternalState() -> a
    1:4:com.android.tools.r8.graph.DexType getInternalStateKey(com.android.tools.r8.graph.DexType):40:43 -> a
    1:4:java.lang.Object getInternalState(com.android.tools.r8.graph.DexType):26 -> a
    5:5:java.lang.Object getInternalState(com.android.tools.r8.graph.DexType):27:27 -> a
    1:4:com.android.tools.r8.graph.DexType getInternalStateKey(com.android.tools.r8.graph.DexType):40:43 -> b
    1:4:java.lang.Object getOrCreateInternalState(com.android.tools.r8.graph.DexType):35 -> b
    5:5:java.lang.Object getOrCreateInternalState(com.android.tools.r8.graph.DexType):36:36 -> b
    1:1:java.lang.Object lambda$getOrCreateInternalState$0(com.android.tools.r8.graph.DexType):36:36 -> c
com.android.tools.r8.naming.IdentifierMinifier -> com.android.tools.r8.naming.r:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.desugar.records.RecordCfToCfRewriter recordCfToCfRewriter -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.shaking.ProguardClassFilter adaptClassStrings -> b
    com.android.tools.r8.naming.NamingLens lens -> d
    1:1:void <clinit>():39:39 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):46:50 -> <init>
    1:3:void adaptClassStrings(java.util.concurrent.ExecutorService):61:61 -> a
    4:5:void lambda$adaptClassStrings$0(com.android.tools.r8.graph.DexProgramClass):64:65 -> a
    6:10:void adaptClassStringsInStaticField(com.android.tools.r8.graph.DexEncodedField):76:80 -> a
    6:10:void lambda$adaptClassStrings$0(com.android.tools.r8.graph.DexProgramClass):66 -> a
    11:11:void lambda$adaptClassStrings$0(com.android.tools.r8.graph.DexProgramClass):68:68 -> a
    12:28:void adaptClassStringsInMethod(com.android.tools.r8.graph.DexEncodedMethod):86:102 -> a
    29:29:boolean com.android.tools.r8.cf.code.CfInstruction.isConstString():0:0 -> a
    29:29:void adaptClassStringsInMethod(com.android.tools.r8.graph.DexEncodedMethod):102 -> a
    30:35:void adaptClassStringsInMethod(com.android.tools.r8.graph.DexEncodedMethod):103:108 -> a
    36:36:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):114:114 -> a
    37:38:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    37:38:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):114 -> a
    39:45:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):118:124 -> a
    46:46:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":179,"2":180,"3":181}}
    179:179:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):124:124 -> a
    180:180:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    180:180:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):124 -> a
    181:181:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    181:181:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):124 -> a
    171:178:com.android.tools.r8.graph.DexString getRenamedStringLiteral(com.android.tools.r8.graph.DexString):125:132 -> a
    182:188:void replaceDexItemBasedConstStringInMethod(com.android.tools.r8.graph.ProgramMethod):163:169 -> a
    189:189:boolean com.android.tools.r8.code.Instruction.isDexItemBasedConstString():0:0 -> a
    189:189:void replaceDexItemBasedConstStringInMethod(com.android.tools.r8.graph.ProgramMethod):169 -> a
    190:217:void replaceDexItemBasedConstStringInMethod(com.android.tools.r8.graph.ProgramMethod):170:197 -> a
    218:218:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    218:218:void replaceDexItemBasedConstStringInMethod(com.android.tools.r8.graph.ProgramMethod):199 -> a
    219:219:boolean com.android.tools.r8.graph.Code.isThrowNullCode():0:0 -> a
    219:219:void replaceDexItemBasedConstStringInMethod(com.android.tools.r8.graph.ProgramMethod):199 -> a
    220:220:void replaceDexItemBasedConstStringInMethod(com.android.tools.r8.graph.ProgramMethod):199:199 -> a
    221:221:com.android.tools.r8.cf.code.CfInstruction lambda$replaceDexItemBasedConstStringInMethod$2(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction):185:185 -> a
    222:222:boolean com.android.tools.r8.cf.code.CfInstruction.isDexItemBasedConstString():0:0 -> a
    222:222:com.android.tools.r8.cf.code.CfInstruction lambda$replaceDexItemBasedConstStringInMethod$2(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction):185 -> a
    223:227:com.android.tools.r8.cf.code.CfInstruction lambda$replaceDexItemBasedConstStringInMethod$2(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction):186:190 -> a
    228:228:boolean com.android.tools.r8.cf.code.CfInstruction.isInvokeDynamic():0:0 -> a
    228:228:com.android.tools.r8.cf.code.CfInstruction lambda$replaceDexItemBasedConstStringInMethod$2(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction):190 -> a
    229:229:com.android.tools.r8.cf.code.CfInstruction lambda$replaceDexItemBasedConstStringInMethod$2(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction):192:192 -> a
    230:230:com.android.tools.r8.cf.code.CfInstruction lambda$replaceDexItemBasedConstStringInMethod$2(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.cf.code.CfInstruction):191:191 -> a
    1:3:void replaceDexItemBasedConstString(java.util.concurrent.ExecutorService):137:137 -> b
    4:4:void lambda$replaceDexItemBasedConstString$1(com.android.tools.r8.graph.DexProgramClass):141:141 -> b
    5:12:void replaceDexItemBasedConstStringInStaticField(com.android.tools.r8.graph.DexEncodedField):151:158 -> b
    5:12:void lambda$replaceDexItemBasedConstString$1(com.android.tools.r8.graph.DexProgramClass):142 -> b
    13:13:void lambda$replaceDexItemBasedConstString$1(com.android.tools.r8.graph.DexProgramClass):144:144 -> b
    1:4:void run(java.util.concurrent.ExecutorService):54:57 -> c
com.android.tools.r8.naming.IdentifierNameStringMarker -> com.android.tools.r8.internal.Mn:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap identifierNameStrings -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():53:53 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):58:60 -> <init>
    boolean lambda$decoupleIdentifierNameStringForInvokeInstruction$1(com.android.tools.r8.ir.code.ConstString,com.android.tools.r8.ir.code.Instruction) -> a
    boolean lambda$decoupleIdentifierNameStringForInvokeInstruction$2(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Instruction) -> a
    1:3:void decoupleIdentifierNameStringsInFields(java.util.concurrent.ExecutorService):65:65 -> a
    4:4:void lambda$decoupleIdentifierNameStringsInFields$0(com.android.tools.r8.graph.DexProgramClass):68:68 -> a
    5:17:void com.android.tools.r8.naming.IdentifierNameStringMarker.decoupleIdentifierNameStringInStaticField(com.android.tools.r8.graph.DexEncodedField):77:89 -> a
    5:17:void lambda$decoupleIdentifierNameStringsInFields$0(com.android.tools.r8.graph.DexProgramClass):69 -> a
    18:18:void com.android.tools.r8.naming.IdentifierNameStringMarker.decoupleIdentifierNameStringInStaticField(com.android.tools.r8.graph.DexEncodedField):88:88 -> a
    18:18:void lambda$decoupleIdentifierNameStringsInFields$0(com.android.tools.r8.graph.DexProgramClass):69 -> a
    19:49:void decoupleIdentifierNameStringsInBlocks(com.android.tools.r8.ir.code.IRCode,java.util.Set):98:128 -> a
    50:50:void decoupleIdentifierNameStringsInBlocks(com.android.tools.r8.ir.code.IRCode,java.util.Set):127:127 -> a
    51:51:void decoupleIdentifierNameStringsInBlocks(com.android.tools.r8.ir.code.IRCode,java.util.Set):124:124 -> a
    52:106:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.naming.IdentifierNameStringMarker.decoupleIdentifierNameStringForFieldPutInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.FieldInstruction):139:193 -> a
    52:106:void decoupleIdentifierNameStringsInBlocks(com.android.tools.r8.ir.code.IRCode,java.util.Set):123 -> a
    107:108:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):203:204 -> a
    109:110:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexItemFactory):175:176 -> a
    109:110:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):204 -> a
    111:113:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexItemFactory):180:182 -> a
    111:113:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexItemFactory):176 -> a
    111:113:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):204 -> a
    114:227:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):205:318 -> a
    228:231:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):211:214 -> a
    232:233:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):336:337 -> a
    232:233:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):218 -> a
    234:235:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexItemFactory):175:176 -> a
    234:235:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):337 -> a
    234:235:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):218 -> a
    236:238:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexItemFactory):180:182 -> a
    236:238:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexItemFactory):176 -> a
    236:238:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):337 -> a
    236:238:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):218 -> a
    239:242:int com.android.tools.r8.naming.IdentifierNameStringUtils.getPositionOfFirstConstString(com.android.tools.r8.ir.code.Instruction):289:292 -> a
    239:242:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):338 -> a
    239:242:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):218 -> a
    243:246:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):341:344 -> a
    243:246:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):218 -> a
    247:247:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1628:1628 -> a
    247:247:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):344 -> a
    247:247:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):218 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    248:248:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1628:1628 -> a
    248:248:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):344 -> a
    248:248:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):218 -> a
    249:258:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):343:352 -> a
    249:258:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):218 -> a
    259:259:int com.android.tools.r8.naming.IdentifierNameStringMarker.getIdentifierPositionInArguments(com.android.tools.r8.ir.code.InvokeMethod):351:351 -> a
    259:259:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):218 -> a
    260:263:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):219:222 -> a
    264:264:boolean com.android.tools.r8.ir.code.Instruction.isDexItemBasedConstString():0:0 -> a
    264:264:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):222 -> a
    265:282:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):227:244 -> a
    283:283:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    283:283:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    283:283:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):244 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    284:284:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode,java.util.Set):335:335 -> a
    284:284:void com.android.tools.r8.ir.code.Instruction.replace(com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.IRCode):331 -> a
    284:284:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):244 -> a
    285:363:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):247:325 -> a
    364:370:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):324:330 -> a
    371:371:com.android.tools.r8.ir.code.Invoke com.android.tools.r8.ir.code.Invoke.create(com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexProto,com.android.tools.r8.ir.code.Value,java.util.List):230:230 -> a
    371:371:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):329 -> a
    372:372:com.android.tools.r8.ir.code.InstructionListIterator decoupleIdentifierNameStringForInvokeInstruction(com.android.tools.r8.ir.code.IRCode,java.util.ListIterator,com.android.tools.r8.ir.code.InstructionListIterator,com.android.tools.r8.ir.code.InvokeMethod):328:328 -> a
    373:373:com.android.tools.r8.ir.code.Value lambda$decoupleIdentifierNameStringForInvokeInstruction$3(com.android.tools.r8.ir.code.Value[],com.android.tools.r8.ir.code.Value,long):326:326 -> a
    374:386:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):361:373 -> a
    387:387:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":773,"2":774,"3":775}}
    773:773:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):374:374 -> a
    774:774:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):374:374 -> a
    775:775:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):374:374 -> a
    761:772:void warnUndeterminedIdentifierIfNecessary(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexString):374:385 -> a
com.android.tools.r8.naming.IdentifierNameStringUtils -> com.android.tools.r8.internal.Pn:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():41:41 -> <clinit>
    boolean lambda$evaluateTypeArrayContentFromConstructionToUse$0(com.android.tools.r8.ir.code.NewArrayEmpty,com.android.tools.r8.ir.code.Instruction) -> a
    1:89:boolean isReflectionMethod(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod):73:161 -> a
    90:96:boolean isReflectionMethod(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod):114:120 -> a
    97:102:boolean isClassNameValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):186:191 -> a
    103:103:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1636:1636 -> a
    103:103:boolean isClassNameValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):191 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    104:104:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1636:1636 -> a
    104:104:boolean isClassNameValue(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):191 -> a
    105:106:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):205:206 -> a
    107:107:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    107:107:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):209 -> a
    108:109:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):210:211 -> a
    110:110:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1628:1628 -> a
    110:110:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):211 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    111:111:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1628:1628 -> a
    111:111:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):211 -> a
    112:112:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):213:213 -> a
    113:119:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):212:218 -> a
    120:122:boolean com.android.tools.r8.naming.IdentifierNameStringUtils.isClassNameComparison(com.android.tools.r8.ir.code.InvokeVirtual,com.android.tools.r8.graph.DexItemFactory):180:182 -> a
    120:122:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):219 -> a
    123:126:int com.android.tools.r8.naming.IdentifierNameStringUtils.getPositionOfFirstConstString(com.android.tools.r8.ir.code.Instruction):289:292 -> a
    123:126:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):220 -> a
    127:127:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):224:224 -> a
    128:132:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):322:326 -> a
    128:132:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    133:133:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):313:313 -> a
    133:133:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):326 -> a
    133:133:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    134:135:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    134:135:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):313 -> a
    134:135:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):326 -> a
    134:135:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    136:136:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):315:315 -> a
    136:136:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):326 -> a
    136:136:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    137:139:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):328:330 -> a
    137:139:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    140:140:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    140:140:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):330 -> a
    140:140:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    141:141:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromConstStringValue(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.ir.code.Value):331:331 -> a
    141:141:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):223 -> a
    142:164:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):222:244 -> a
    165:165:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> a
    165:165:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):249 -> a
    166:175:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):253:262 -> a
    176:181:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):261:266 -> a
    182:186:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):265:269 -> a
    187:206:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.naming.IdentifierNameStringUtils.retrieveDexTypeListFromClassList(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):535:554 -> a
    187:206:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):269 -> a
    207:207:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    207:207:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.naming.IdentifierNameStringUtils.retrieveDexTypeListFromClassList(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):554 -> a
    207:207:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):269 -> a
    208:227:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.naming.IdentifierNameStringUtils.retrieveDexTypeListFromClassList(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):554:573 -> a
    208:227:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):269 -> a
    228:234:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.naming.IdentifierNameStringUtils.retrieveDexTypeListFromClassList(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):572:578 -> a
    228:234:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):269 -> a
    235:235:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):274:274 -> a
    236:239:com.android.tools.r8.graph.DexMethod com.android.tools.r8.naming.IdentifierNameStringUtils.inferMethodInHolder(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.DexTypeList):401:404 -> a
    236:239:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):274 -> a
    240:245:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):273:278 -> a
    246:246:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    246:246:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):278 -> a
    247:247:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):280:280 -> a
    248:252:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):279:283 -> a
    253:253:com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult identifyIdentifier(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):282:282 -> a
    254:271:com.android.tools.r8.graph.DexMember com.android.tools.r8.naming.IdentifierNameStringUtils.inferMemberFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):339:356 -> a
    254:271:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):303 -> a
    272:273:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    272:273:com.android.tools.r8.graph.DexMember com.android.tools.r8.naming.IdentifierNameStringUtils.inferMemberFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):362 -> a
    272:273:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):303 -> a
    274:280:com.android.tools.r8.graph.DexMember com.android.tools.r8.naming.IdentifierNameStringUtils.inferMemberFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):366:372 -> a
    274:280:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):303 -> a
    281:283:com.android.tools.r8.graph.DexMethod com.android.tools.r8.naming.IdentifierNameStringUtils.inferMethodNameInHolder(com.android.tools.r8.graph.DexClass,java.lang.String):390:392 -> a
    281:283:com.android.tools.r8.graph.DexMember com.android.tools.r8.naming.IdentifierNameStringUtils.inferMemberFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):374 -> a
    281:283:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):303 -> a
    284:284:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):313:313 -> a
    284:284:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):306 -> a
    285:286:java.lang.String com.android.tools.r8.utils.DescriptorUtils.javaTypeToDescriptorIfValidJavaType(java.lang.String):93:94 -> a
    285:286:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):313 -> a
    285:286:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):306 -> a
    287:287:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.inferTypeFromNameString(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexString):315:315 -> a
    287:287:com.android.tools.r8.graph.DexReference inferMemberOrTypeFromNameString(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexString):306 -> a
    288:291:com.android.tools.r8.graph.DexField inferFieldInHolder(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.DexType):380:383 -> a
    292:335:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):433:476 -> a
    336:339:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.getTypeFromConstClassOrBoxedPrimitive(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):412:415 -> a
    336:339:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):476 -> a
    340:340:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    340:340:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.getTypeFromConstClassOrBoxedPrimitive(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):415 -> a
    340:340:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):476 -> a
    341:343:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.getTypeFromConstClassOrBoxedPrimitive(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):416:418 -> a
    341:343:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):476 -> a
    344:344:boolean com.android.tools.r8.ir.code.Instruction.isStaticGet():0:0 -> a
    344:344:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.getTypeFromConstClassOrBoxedPrimitive(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):418 -> a
    344:344:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):476 -> a
    345:347:com.android.tools.r8.graph.DexType com.android.tools.r8.naming.IdentifierNameStringUtils.getTypeFromConstClassOrBoxedPrimitive(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexItemFactory):419:419 -> a
    345:347:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):476 -> a
    348:353:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):481:486 -> a
    354:354:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":851,"2":852,"3":853}}
    851:851:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):489:489 -> a
    852:852:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):489:489 -> a
    853:853:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):489:489 -> a
    847:850:com.android.tools.r8.graph.DexType[] evaluateTypeArrayContentFromConstructionToUse(com.android.tools.r8.ir.code.NewArrayEmpty,java.util.List,int,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.DexItemFactory):493:496 -> a
com.android.tools.r8.naming.InterfaceMethodNameMinifier -> com.android.tools.r8.naming.v:
    com.android.tools.r8.naming.MethodNameMinifier$State minifierState -> e
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> c
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
    com.android.tools.r8.com.google.common.base.Equivalence definitionEquivalence -> d
    boolean $assertionsDisabled -> h
    java.util.Map globalStateMap -> f
    java.util.Map interfaceStateMap -> g
    1:1:void <clinit>():98:98 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MethodNameMinifier$State,com.android.tools.r8.graph.SubtypingInfo):377:377 -> <init>
    2:17:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MethodNameMinifier$State,com.android.tools.r8.graph.SubtypingInfo):370:385 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.naming.InterfaceMethodNameMinifier):98:98 -> a
    2:2:java.util.Comparator getDefaultInterfaceMethodOrdering():400:400 -> a
    3:5:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):414:416 -> a
    6:8:void reserveNamesInInterfaces(java.lang.Iterable):404:406 -> a
    6:8:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):417 -> a
    9:9:void com.android.tools.r8.naming.MethodNameMinifier$State.allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):113:113 -> a
    9:9:void reserveNamesInInterfaces(java.lang.Iterable):406 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):417 -> a
    10:10:void com.android.tools.r8.naming.MethodNameMinifier$State.allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):114:114 -> a
    10:10:void reserveNamesInInterfaces(java.lang.Iterable):406 -> a
    10:10:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):417 -> a
    11:11:void com.android.tools.r8.naming.MethodNameMinifier$State.allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):113:113 -> a
    11:11:void reserveNamesInInterfaces(java.lang.Iterable):406 -> a
    11:11:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):417 -> a
    12:14:void reserveNamesInInterfaces(java.lang.Iterable):407:409 -> a
    12:14:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):417 -> a
    15:19:void patchUpChildrenInReservationStates():630:634 -> a
    15:19:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):420 -> a
    20:140:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):421:541 -> a
    141:150:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):536:545 -> a
    151:165:boolean verifyAllMethodsAreRepresentedIn(java.util.List):685:699 -> a
    151:165:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):545 -> a
    166:166:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):546:546 -> a
    167:181:boolean verifyAllCallSitesAreRepresentedIn(java.util.List):666:680 -> a
    167:181:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):546 -> a
    182:212:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):548:578 -> a
    213:217:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):704:708 -> a
    213:217:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):578 -> a
    218:218:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":250,"2":251,"3":252}}
    250:250:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):709:709 -> a
    250:250:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):578 -> a
    251:251:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):709:709 -> a
    251:251:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):578 -> a
    252:252:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):709:709 -> a
    252:252:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):578 -> a
    219:222:void print(com.android.tools.r8.graph.DexMethod,java.util.Set,java.io.PrintStream):709:712 -> a
    219:222:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):578 -> a
    223:229:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):585:591 -> a
    230:230:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    230:230:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):591 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    231:231:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    231:231:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):591 -> a
    232:236:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):592:596 -> a
    237:238:void com.android.tools.r8.naming.MethodNameMinifier$State.putRenaming(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):99:100 -> a
    237:238:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):596 -> a
    239:240:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):597:598 -> a
    241:241:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    241:241:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):598 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    242:242:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    242:242:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):598 -> a
    243:244:void com.android.tools.r8.naming.MethodNamingState.addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):78:79 -> a
    243:244:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):599 -> a
    245:246:void com.android.tools.r8.naming.MethodNamingState.addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):78:79 -> a
    245:246:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):600 -> a
    247:249:void assignNamesToInterfaceMethods(com.android.tools.r8.utils.Timing,java.lang.Iterable):603:605 -> a
    253:253:com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState lambda$assignNamesToInterfaceMethods$0(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):434:434 -> a
    254:286:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):456:488 -> a
    287:291:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):487:491 -> a
    292:303:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):490:501 -> a
    304:304:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):91:91 -> a
    304:304:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):502 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    305:305:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):92:92 -> a
    305:305:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):502 -> a
    306:307:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):502:503 -> a
    308:309:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):128:129 -> a
    308:309:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):504 -> a
    310:311:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):91:92 -> a
    310:311:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):132 -> a
    310:311:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):504 -> a
    312:314:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):91:91 -> a
    312:314:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):134 -> a
    312:314:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):504 -> a
    315:315:java.lang.Object com.android.tools.r8.utils.DisjointSets.findOrMakeSet(java.lang.Object):92:92 -> a
    315:315:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):134 -> a
    315:315:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):504 -> a
    316:316:java.lang.Object com.android.tools.r8.utils.DisjointSets.unionWithMakeSet(java.lang.Object,java.lang.Object):134:134 -> a
    316:316:void lambda$assignNamesToInterfaceMethods$2(com.android.tools.r8.utils.DisjointSets,com.android.tools.r8.graph.DexCallSite):504 -> a
    317:320:com.android.tools.r8.graph.DexString assignNewName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):609:612 -> a
    321:321:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    321:321:com.android.tools.r8.graph.DexString assignNewName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):612 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    322:322:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    322:322:com.android.tools.r8.graph.DexString assignNewName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):612 -> a
    323:326:com.android.tools.r8.graph.DexString assignNewName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):614:617 -> a
    327:327:boolean lambda$assignNewName$3(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):616:616 -> a
    328:328:com.android.tools.r8.graph.DexString newNameInGroup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.MethodNamingState,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):626:626 -> a
    329:329:void computeReservationFrontiersForAllImplementingClasses(java.lang.Iterable):641:641 -> a
    330:332:void lambda$computeReservationFrontiersForAllImplementingClasses$6(com.android.tools.r8.graph.DexClass):643:645 -> a
    333:338:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):647:652 -> a
    339:339:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> a
    339:339:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):652 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    340:340:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> a
    340:340:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):652 -> a
    341:343:void lambda$computeReservationFrontiersForAllImplementingClasses$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):658:660 -> a
    1:1:com.android.tools.r8.naming.MethodNameMinifier$State access$100(com.android.tools.r8.naming.InterfaceMethodNameMinifier):98:98 -> b
    2:2:com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState lambda$assignNamesToInterfaceMethods$1(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):492:492 -> b
    3:3:boolean lambda$newNameInGroup$4(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):626:626 -> b
    1:1:java.util.Map access$200(com.android.tools.r8.naming.InterfaceMethodNameMinifier):98:98 -> c
    1:1:com.android.tools.r8.com.google.common.base.Equivalence access$300(com.android.tools.r8.naming.InterfaceMethodNameMinifier):98:98 -> d
com.android.tools.r8.naming.InterfaceMethodNameMinifier$1 -> com.android.tools.r8.naming.s:
    com.android.tools.r8.naming.InterfaceMethodNameMinifier this$0 -> a
    1:1:void <init>(com.android.tools.r8.naming.InterfaceMethodNameMinifier):386:386 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):386:386 -> a
    2:2:boolean doEquivalent(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):389:389 -> a
    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):386 -> a
    3:3:int doHash(java.lang.Object):386:386 -> a
    4:4:int doHash(com.android.tools.r8.graph.DexEncodedMethod):394:394 -> a
    4:4:int doHash(java.lang.Object):386 -> a
com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState -> com.android.tools.r8.naming.t:
    java.util.Map methodStates -> c
    java.util.List callSiteCollidingMethods -> d
    java.util.Set callSites -> b
    com.android.tools.r8.naming.InterfaceMethodNameMinifier this$0 -> e
    1:6:void <init>(com.android.tools.r8.naming.InterfaceMethodNameMinifier):238:243 -> <init>
    1:1:java.util.Map access$400(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):238:238 -> a
    2:2:void addState(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):246:246 -> a
    3:3:java.util.Set lambda$addState$0(com.android.tools.r8.graph.DexEncodedMethod):246:246 -> a
    4:4:void addCallSite(com.android.tools.r8.graph.DexCallSite):260:260 -> a
    5:18:com.android.tools.r8.graph.DexString getReservedName():264:277 -> a
    19:19:int lambda$getReservedName$2(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):271:271 -> a
    20:20:boolean isAvailable(com.android.tools.r8.graph.DexString):303:303 -> a
    21:23:java.lang.Object forAnyState(java.util.function.BiFunction):333:335 -> a
    21:23:boolean isAvailable(com.android.tools.r8.graph.DexString):304 -> a
    24:31:boolean isAvailable(com.android.tools.r8.graph.DexString):304:311 -> a
    32:33:java.lang.Boolean lambda$isAvailable$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):306:307 -> a
    34:34:void addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.naming.MethodNameMinifier$State):315:315 -> a
    35:36:void lambda$addRenaming$5(com.android.tools.r8.graph.DexString,com.android.tools.r8.naming.MethodNameMinifier$State,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):317:318 -> a
    37:38:void com.android.tools.r8.naming.MethodNameMinifier$State.putRenaming(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):99:100 -> a
    37:38:void lambda$addRenaming$5(com.android.tools.r8.graph.DexString,com.android.tools.r8.naming.MethodNameMinifier$State,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):318 -> a
    39:39:void forEachState(java.util.function.BiConsumer):323:323 -> a
    40:42:java.lang.Object forAnyState(java.util.function.BiFunction):333:335 -> a
    40:42:void forEachState(java.util.function.BiConsumer):323 -> a
    43:43:java.lang.Object lambda$forEachState$6(java.util.function.BiConsumer,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):325:325 -> a
    44:47:boolean containsReservation(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):345:348 -> a
    1:1:java.util.List access$500(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):238:238 -> b
    2:2:java.util.Set lambda$appendMethodGroupState$1(com.android.tools.r8.graph.DexEncodedMethod):253:253 -> b
    3:3:void reserveName(com.android.tools.r8.graph.DexString):289:289 -> b
    4:7:void lambda$reserveName$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):291:294 -> b
    8:9:void com.android.tools.r8.naming.MethodNameMinifier$State.putRenaming(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):99:100 -> b
    8:9:void lambda$reserveName$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):294 -> b
    10:11:void lambda$reserveName$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):296:297 -> b
    12:13:void com.android.tools.r8.naming.MethodNameMinifier$State.putRenaming(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):99:100 -> b
    12:13:void lambda$reserveName$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):297 -> b
    1:1:java.util.Set access$600(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):238:238 -> c
    1:1:int compareTo(java.lang.Object):238:238 -> compareTo
    2:2:int compareTo(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):359:359 -> compareTo
    2:2:int compareTo(java.lang.Object):238 -> compareTo
    1:4:void appendMethodGroupState(com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceMethodGroupState):250:253 -> d
com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState -> com.android.tools.r8.naming.u:
    com.android.tools.r8.graph.DexClass iface -> a
    java.util.Set reservationTypes -> c
    boolean $assertionsDisabled -> e
    java.util.Set children -> b
    com.android.tools.r8.naming.InterfaceMethodNameMinifier this$0 -> d
    1:1:void <clinit>():100:100 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.InterfaceMethodNameMinifier,com.android.tools.r8.graph.DexClass):109:109 -> <init>
    2:7:void <init>(com.android.tools.r8.naming.InterfaceMethodNameMinifier,com.android.tools.r8.graph.DexClass):105:110 -> <init>
    1:2:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):116:117 -> a
    3:3:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.MethodNameMinifier$State.getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):122:122 -> a
    3:3:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):117 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.MethodNameMinifier$State.getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):122:122 -> a
    4:4:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):117 -> a
    5:5:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):124:124 -> a
    6:14:java.lang.Object forAny(java.util.function.Function):188:196 -> a
    6:14:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):125 -> a
    15:29:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod):125:139 -> a
    30:32:java.lang.Boolean lambda$getReservedName$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):127:129 -> a
    33:33:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> a
    33:33:java.lang.Boolean lambda$getReservedName$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):130 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> a
    34:34:java.lang.Boolean lambda$getReservedName$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):130 -> a
    35:38:java.lang.Boolean lambda$getReservedName$0(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):131:134 -> a
    39:39:void addReservationType(com.android.tools.r8.graph.DexType):143:143 -> a
    40:40:void addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):173:173 -> a
    41:41:void lambda$addRenaming$5(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):175:175 -> a
    42:42:void lambda$addRenaming$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):176:176 -> a
    43:43:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    43:43:void lambda$addRenaming$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):176 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> a
    44:44:void lambda$addRenaming$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):176 -> a
    45:46:void com.android.tools.r8.naming.MethodNamingState.addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):78:79 -> a
    45:46:void lambda$addRenaming$4(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):176 -> a
    47:47:void forAll(java.util.function.Consumer):180:180 -> a
    48:56:java.lang.Object forAny(java.util.function.Function):188:196 -> a
    48:56:void forAll(java.util.function.Consumer):180 -> a
    57:57:java.lang.Object lambda$forAll$6(java.util.function.Consumer,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):182:182 -> a
    58:65:java.lang.Object forChildren(java.util.function.Function):217:224 -> a
    1:1:void lambda$reserveName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):151:151 -> b
    2:2:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> b
    2:2:void lambda$reserveName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):151 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:com.android.tools.r8.naming.MethodReservationState com.android.tools.r8.naming.MethodNameMinifier$State.getReservationState(com.android.tools.r8.graph.DexType):105:105 -> b
    3:3:void lambda$reserveName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):151 -> b
    4:4:void lambda$reserveName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):152:152 -> b
    5:8:void com.android.tools.r8.naming.MethodReservationState.reserveName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):42:45 -> b
    5:8:void lambda$reserveName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):152 -> b
    9:9:boolean isAvailable(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):158:158 -> b
    10:18:java.lang.Object forAny(java.util.function.Function):188:196 -> b
    10:18:boolean isAvailable(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):159 -> b
    19:29:boolean isAvailable(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):159:169 -> b
    30:31:java.lang.Boolean lambda$isAvailable$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):161:162 -> b
    32:32:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> b
    32:32:java.lang.Boolean lambda$isAvailable$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):162 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:33:com.android.tools.r8.naming.MethodNamingState com.android.tools.r8.naming.MethodNameMinifier$State.getNamingState(com.android.tools.r8.graph.DexType):109:109 -> b
    33:33:java.lang.Boolean lambda$isAvailable$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):162 -> b
    34:35:java.lang.Boolean lambda$isAvailable$3(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):163:164 -> b
    36:43:java.lang.Object forParents(java.util.function.Function):200:207 -> b
    44:44:boolean containsReservation(com.android.tools.r8.graph.DexType):234:234 -> b
    1:1:void reserveName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):147:147 -> c
    2:2:void lambda$reserveName$2(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InterfaceMethodNameMinifier$InterfaceReservationState):149:149 -> c
com.android.tools.r8.naming.InternalNamingState -> com.android.tools.r8.naming.w:
    int getDictionaryIndex() -> a
    int incrementDictionaryIndex() -> b
    int incrementNameIndex() -> c
com.android.tools.r8.naming.MapVersion -> com.android.tools.r8.internal.wD:
    com.android.tools.r8.naming.MapVersion[] $VALUES -> h
    com.android.tools.r8.naming.MapVersion MAP_VERSION_UNKNOWN -> g
    com.android.tools.r8.naming.MapVersion MAP_VERSION_EXPERIMENTAL -> f
    com.android.tools.r8.naming.MapVersion MAP_VERSION_NONE -> c
    java.lang.String name -> b
    com.android.tools.r8.naming.MapVersion MAP_VERSION_2_0 -> e
    com.android.tools.r8.naming.MapVersion MAP_VERSION_1_0 -> d
    1:5:void <clinit>():9:13 -> <clinit>
    6:6:void <clinit>():8:8 -> <clinit>
    1:2:void <init>(java.lang.String,int,java.lang.String):19:20 -> <init>
    1:1:com.android.tools.r8.naming.MapVersion[] com.android.tools.r8.naming.MapVersion.values():8:8 -> a
    1:1:com.android.tools.r8.naming.MapVersion fromName(java.lang.String):28 -> a
    2:2:com.android.tools.r8.naming.MapVersion fromName(java.lang.String):28:28 -> a
    3:3:java.lang.String com.android.tools.r8.naming.MapVersion.getName():24:24 -> a
    3:3:com.android.tools.r8.naming.MapVersion fromName(java.lang.String):29 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.naming.MapVersion fromName(java.lang.String):29:29 -> a
    5:5:java.lang.String getName():24:24 -> a
com.android.tools.r8.naming.MemberNaming -> com.android.tools.r8.naming.x:
    com.android.tools.r8.naming.MemberNaming$Signature signature -> a
    com.android.tools.r8.naming.MemberNaming$Signature renamedSignature -> b
    com.android.tools.r8.position.Position position -> c
    1:1:void <init>(com.android.tools.r8.naming.MemberNaming$Signature,java.lang.String):61:61 -> <init>
    2:5:void <init>(com.android.tools.r8.naming.MemberNaming$Signature,com.android.tools.r8.naming.MemberNaming$Signature,com.android.tools.r8.position.Position):64:67 -> <init>
    1:1:com.android.tools.r8.naming.MemberNaming$Signature getOriginalSignature():71:71 -> a
    1:1:java.lang.String getRenamedName():83:83 -> b
    1:1:com.android.tools.r8.naming.MemberNaming$Signature getRenamedSignature():79:79 -> c
    1:6:boolean equals(java.lang.Object):38:43 -> equals
    1:2:int hashCode():48:49 -> hashCode
    1:1:java.lang.String toString():100:100 -> toString
com.android.tools.r8.naming.MemberNaming$FieldSignature -> com.android.tools.r8.naming.x$a:
    java.lang.String type -> c
    1:2:void <init>(java.lang.String,java.lang.String):176:177 -> <init>
    com.android.tools.r8.naming.MemberNaming$FieldSignature asFieldSignature() -> a
    1:3:com.android.tools.r8.naming.MemberNaming$FieldSignature fromDexField(com.android.tools.r8.graph.DexField,boolean):185:187 -> a
    1:3:com.android.tools.r8.naming.MemberNaming$FieldSignature fromDexField(com.android.tools.r8.graph.DexField):181 -> a
    4:8:com.android.tools.r8.graph.DexField toDexField(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):191:191 -> a
    9:9:com.android.tools.r8.naming.MemberNaming$Signature asRenamed(java.lang.String):199:199 -> a
    10:12:void write(java.io.Writer):231:233 -> a
    com.android.tools.r8.naming.MemberNaming$Signature$SignatureKind kind() -> d
    1:5:boolean equals(java.lang.Object):212:216 -> equals
    1:1:int hashCode():221:221 -> hashCode
    1:1:java.lang.String toString():226:226 -> toString
com.android.tools.r8.naming.MemberNaming$MethodSignature -> com.android.tools.r8.naming.x$b:
    boolean $assertionsDisabled -> e
    java.lang.String[] parameters -> d
    java.lang.String type -> c
    1:1:void <clinit>():247:247 -> <clinit>
    1:3:void <init>(java.lang.String,java.lang.String,java.lang.String[]):253:255 -> <init>
    4:6:void <init>(java.lang.String,java.lang.String,java.util.Collection):259:261 -> <init>
    1:1:com.android.tools.r8.naming.MemberNaming$MethodSignature fromDexMethod(com.android.tools.r8.graph.DexMethod):265:265 -> a
    2:9:com.android.tools.r8.naming.MemberNaming$MethodSignature fromDexMethod(com.android.tools.r8.graph.DexMethod,boolean):269:276 -> a
    10:19:com.android.tools.r8.naming.MemberNaming$MethodSignature fromSignature(java.lang.String,java.lang.String):281:290 -> a
    20:28:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):300:308 -> a
    29:29:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):305:305 -> a
    30:30:com.android.tools.r8.naming.MemberNaming$MethodSignature initializer(java.lang.String[]):312:312 -> a
    31:31:com.android.tools.r8.naming.MemberNaming$Signature asRenamed(java.lang.String):317:317 -> a
    32:42:void write(java.io.Writer):354:364 -> a
    com.android.tools.r8.naming.MemberNaming$MethodSignature asMethodSignature() -> b
    com.android.tools.r8.naming.MemberNaming$Signature$SignatureKind kind() -> d
    1:8:boolean equals(java.lang.Object):330:337 -> equals
    1:8:java.lang.String toDescriptor():368:375 -> g
    1:2:com.android.tools.r8.naming.MemberNaming$MethodSignature toUnqualified():295:296 -> h
    1:3:int hashCode():342:344 -> hashCode
    1:1:java.lang.String toString():349:349 -> toString
com.android.tools.r8.naming.MemberNaming$Signature -> com.android.tools.r8.naming.x$c:
    java.lang.String name -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():103:103 -> <clinit>
    1:2:void <init>(java.lang.String):107:108 -> <init>
    com.android.tools.r8.naming.MemberNaming$FieldSignature asFieldSignature() -> a
    com.android.tools.r8.naming.MemberNaming$Signature asRenamed(java.lang.String) -> a
    void write(java.io.Writer) -> a
    com.android.tools.r8.naming.MemberNaming$MethodSignature asMethodSignature() -> b
    1:1:boolean isQualified():124:124 -> c
    com.android.tools.r8.naming.MemberNaming$Signature$SignatureKind kind() -> d
    1:2:java.lang.String toHolderFromQualified():133:134 -> e
    1:2:java.lang.String toUnqualifiedName():128:129 -> f
    1:6:java.lang.String toString():156:161 -> toString
com.android.tools.r8.naming.MemberNamingStrategy -> com.android.tools.r8.naming.y:
    boolean allowMemberRenaming(com.android.tools.r8.graph.DexClass) -> a
    com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass) -> a
    com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass) -> a
    com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate) -> a
    com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate) -> a
com.android.tools.r8.naming.MethodNameMinifier -> com.android.tools.r8.naming.B:
    com.android.tools.r8.naming.MethodNameMinifier$State minifierState -> d
    java.util.Map renaming -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.naming.MemberNamingStrategy strategy -> b
    com.android.tools.r8.naming.MethodReservationState rootReservationState -> i
    com.android.tools.r8.naming.MethodNamingState rootNamingState -> h
    boolean $assertionsDisabled -> j
    com.android.tools.r8.com.google.common.collect.BiMap reservationStates -> e
    java.util.Map namingStates -> f
    java.util.Map frontiers -> g
    1:1:void <clinit>():92:92 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy):144:144 -> <init>
    2:24:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.MemberNamingStrategy):129:151 -> <init>
    java.lang.Object lambda$getNamingKeyTransform$2(com.android.tools.r8.graph.DexMethod) -> a
    1:1:java.util.Map access$000(com.android.tools.r8.naming.MethodNameMinifier):92:92 -> a
    2:2:com.android.tools.r8.naming.MethodNamingState access$200(com.android.tools.r8.naming.MethodNameMinifier,com.android.tools.r8.graph.DexType):92:92 -> a
    3:3:void access$400(com.android.tools.r8.naming.MethodNameMinifier,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):92:92 -> a
    4:26:com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming computeRenaming(java.lang.Iterable,com.android.tools.r8.graph.SubtypingInfo,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):192:214 -> a
    27:30:void assignNamesToClassesMethods():218:221 -> a
    31:31:void assignNamesToClassesMethods():220:220 -> a
    32:35:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):223:226 -> a
    36:36:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":290,"2":291,"3":292}}
    290:290:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):226:226 -> a
    291:291:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):226:226 -> a
    292:292:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):226:226 -> a
    263:273:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):227:237 -> a
    274:287:void assignNameToMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.MethodNamingState):262:275 -> a
    274:287:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):238 -> a
    288:289:void com.android.tools.r8.naming.MethodNamingState.addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):78:79 -> a
    288:289:void assignNameToMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.MethodNamingState):275 -> a
    288:289:void lambda$assignNamesToClassesMethods$4(com.android.tools.r8.graph.DexClass):238 -> a
    293:294:com.android.tools.r8.naming.MethodNamingState lambda$assignNamesToClassesMethods$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.naming.MethodReservationState,com.android.tools.r8.graph.DexType):233:234 -> a
    295:298:void lambda$renameMethodsInUnrelatedClasspathClasses$5(com.android.tools.r8.graph.DexClasspathClass):250:253 -> a
    299:303:void allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):306:310 -> a
    304:304:java.lang.Iterable shuffleMethods(java.lang.Iterable,com.android.tools.r8.utils.InternalOptions):420:420 -> a
    304:304:void allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):310 -> a
    305:308:void allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):310:313 -> a
    309:312:void com.android.tools.r8.naming.MethodReservationState.reserveName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):42:45 -> a
    309:312:void allocateReservationStateAndReserve(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MethodReservationState):313 -> a
    313:313:com.android.tools.r8.naming.MethodReservationState lambda$allocateReservationStateAndReserve$7(com.android.tools.r8.naming.MethodReservationState,com.android.tools.r8.graph.DexType):307:307 -> a
    314:324:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):320:330 -> a
    325:338:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):344:357 -> a
    325:338:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):335 -> a
    339:339:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":681,"2":682,"3":683}}
    681:681:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):357:357 -> a
    681:681:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):335 -> a
    682:682:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):357:357 -> a
    682:682:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):335 -> a
    683:683:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):357:357 -> a
    683:683:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):335 -> a
    340:340:com.android.tools.r8.naming.MethodReservationState findReservationStateInHierarchy(com.android.tools.r8.graph.DexType):358:358 -> a
    340:340:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):335 -> a
    341:341:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):336:336 -> a
    342:342:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":684,"2":685,"3":686}}
    684:684:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):336:336 -> a
    685:685:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):336:336 -> a
    686:686:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):336:336 -> a
    678:680:com.android.tools.r8.naming.MethodNamingState getOrAllocateMethodNamingStates(com.android.tools.r8.graph.DexType):336:338 -> a
    687:694:void renameNonReboundReferences(java.util.concurrent.ExecutorService):364:371 -> a
    695:695:void lambda$renameNonReboundReferences$8(java.util.Map,com.android.tools.r8.graph.DexMethod):369:369 -> a
    696:731:void renameNonReboundMethodReference(com.android.tools.r8.graph.DexMethod,java.util.Map):376:411 -> a
    732:732:boolean lambda$renameNonReboundMethodReference$9(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexEncodedMethod):408:408 -> a
    1:1:com.android.tools.r8.com.google.common.collect.BiMap access$100(com.android.tools.r8.naming.MethodNameMinifier):92:92 -> b
    2:2:java.lang.Object lambda$getReservationKeyTransform$0(com.android.tools.r8.graph.DexMethod):158:158 -> b
    3:3:java.util.function.Function getNamingKeyTransform():166:166 -> b
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> b
    4:4:java.util.function.Function getNamingKeyTransform():166 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> b
    5:5:java.util.function.Function getNamingKeyTransform():166 -> b
    6:7:java.util.function.Function getNamingKeyTransform():167:168 -> b
    8:20:void lambda$reserveNamesInClasses$6(com.android.tools.r8.graph.DexClass):288:300 -> b
    21:21:void lambda$reserveNamesInClasses$6(com.android.tools.r8.graph.DexClass):297:297 -> b
    1:1:com.android.tools.r8.naming.MethodReservationState access$300(com.android.tools.r8.naming.MethodNameMinifier):92:92 -> c
    2:3:java.util.function.Function getReservationKeyTransform():155:156 -> c
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> c
    4:4:java.util.function.Function getReservationKeyTransform():156 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> c
    5:5:java.util.function.Function getReservationKeyTransform():156 -> c
    6:9:java.util.function.Function getReservationKeyTransform():158:161 -> c
    10:10:java.lang.Object lambda$getReservationKeyTransform$1(com.android.tools.r8.graph.DexMethod):161:161 -> c
    1:1:java.util.Map access$500(com.android.tools.r8.naming.MethodNameMinifier):92:92 -> d
    2:5:void renameMethodsInUnrelatedClasspathClasses():245:248 -> d
    1:1:com.android.tools.r8.naming.MemberNamingStrategy access$600(com.android.tools.r8.naming.MethodNameMinifier):92:92 -> e
    2:5:void reserveNamesInClasses():280:280 -> e
    9:11:void reserveNamesInClasses():284:286 -> e
    12:12:void reserveNamesInClasses():285:285 -> e
com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming -> com.android.tools.r8.naming.z:
    java.util.Map renaming -> a
    1:1:void <init>(java.util.Map,com.android.tools.r8.naming.MethodNameMinifier$1):171:171 -> <init>
    2:3:void <init>(java.util.Map):175:176 -> <init>
    1:1:com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming empty():180:180 -> a
com.android.tools.r8.naming.MethodNameMinifier$State -> com.android.tools.r8.naming.A:
    com.android.tools.r8.naming.MethodNameMinifier this$0 -> a
    1:1:void <init>(com.android.tools.r8.naming.MethodNameMinifier):96:96 -> <init>
    1:1:com.android.tools.r8.graph.DexType getFrontier(com.android.tools.r8.graph.DexType):118:118 -> a
com.android.tools.r8.naming.MethodNamingState -> com.android.tools.r8.naming.D:
    com.android.tools.r8.naming.MethodNamingState parentNamingState -> d
    com.android.tools.r8.naming.MemberNamingStrategy namingStrategy -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.naming.MethodReservationState reservationState -> c
    1:1:void <clinit>():19:19 -> <clinit>
    1:4:void <init>(com.android.tools.r8.naming.MethodNamingState,java.util.function.Function,com.android.tools.r8.naming.MemberNamingStrategy,com.android.tools.r8.naming.MethodReservationState):30:33 -> <init>
    1:1:com.android.tools.r8.naming.MethodNamingState createRoot(java.util.function.Function,com.android.tools.r8.naming.MemberNamingStrategy,com.android.tools.r8.naming.MethodReservationState):40:40 -> a
    2:2:com.android.tools.r8.naming.MethodNamingState createChild(com.android.tools.r8.naming.MethodReservationState):44:44 -> a
    3:3:com.android.tools.r8.graph.DexString newOrReservedNameFor(com.android.tools.r8.graph.DexEncodedMethod):49:49 -> a
    4:17:com.android.tools.r8.graph.DexString newOrReservedNameFor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiPredicate):54:67 -> a
    18:29:boolean isAvailable(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):83:94 -> a
    30:36:java.util.Set getUsedBy(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):98:104 -> a
    37:40:com.android.tools.r8.naming.MethodNamingState$InternalNewNameState createInternalState(com.android.tools.r8.graph.DexMethod):124:127 -> a
    37:40:java.lang.Object createInternalState(com.android.tools.r8.graph.DexMethod):19 -> a
    1:3:com.android.tools.r8.graph.DexString nextName(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.BiPredicate):71:73 -> b
    1:6:com.android.tools.r8.graph.DexString getAssignedName(com.android.tools.r8.graph.DexMethod):111:116 -> d
com.android.tools.r8.naming.MethodNamingState$InternalNewNameState -> com.android.tools.r8.naming.C:
    java.util.Map originalToRenamedNames -> c
    java.util.Map usedBy -> d
    int dictionaryIndex -> f
    com.android.tools.r8.naming.MethodNamingState$InternalNewNameState parentInternalState -> b
    boolean $assertionsDisabled -> g
    int nameCount -> e
    1:1:void <clinit>():130:130 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.MethodNamingState$InternalNewNameState,com.android.tools.r8.naming.MethodNamingState$1):130:130 -> <init>
    2:2:void <init>(com.android.tools.r8.naming.MethodNamingState$InternalNewNameState):142:142 -> <init>
    3:19:void <init>(com.android.tools.r8.naming.MethodNamingState$InternalNewNameState):133:149 -> <init>
    1:1:int getDictionaryIndex():154:154 -> a
    2:2:java.util.Set getUsedBy(com.android.tools.r8.graph.DexString):163:163 -> a
    3:3:com.android.tools.r8.graph.DexString getAssignedName(com.android.tools.r8.graph.DexMethod):167:167 -> a
    4:6:void addRenaming(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):171:173 -> a
    1:1:int incrementDictionaryIndex():159:159 -> b
    2:2:java.util.Set lambda$addRenaming$0(com.android.tools.r8.graph.DexString):173:173 -> b
    1:1:int incrementNameIndex():189:189 -> c
    2:7:boolean checkParentPublicNameCountIsLessThanOrEqual():178:183 -> c
    2:7:int incrementNameIndex():189 -> c
    8:8:int incrementNameIndex():190:190 -> c
com.android.tools.r8.naming.MethodNamingStateBase -> com.android.tools.r8.naming.E:
    java.util.Map internalStates -> a
    java.util.function.Function keyTransform -> b
    1:3:void <init>(java.util.function.Function):17:19 -> <init>
    java.lang.Object createInternalState(com.android.tools.r8.graph.DexMethod) -> a
    1:1:java.lang.Object lambda$getOrCreateInternalState$0(com.android.tools.r8.graph.DexMethod,java.lang.Object):29:29 -> a
    1:2:java.lang.Object getInternalState(com.android.tools.r8.graph.DexMethod):23:24 -> b
    1:2:java.lang.Object getOrCreateInternalState(com.android.tools.r8.graph.DexMethod):28:29 -> c
com.android.tools.r8.naming.MethodReservationState -> com.android.tools.r8.naming.G:
    com.android.tools.r8.naming.MethodReservationState parentNamingState -> c
    1:2:void <init>(com.android.tools.r8.naming.MethodReservationState,java.util.function.Function):27:28 -> <init>
    1:1:com.android.tools.r8.naming.MethodReservationState createRoot(java.util.function.Function):33:33 -> a
    2:2:com.android.tools.r8.naming.MethodReservationState createChild():37:37 -> a
    3:8:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexMethod):53:58 -> a
    9:9:com.android.tools.r8.naming.MethodReservationState$InternalReservationState createInternalState(com.android.tools.r8.graph.DexMethod):77:77 -> a
    9:9:java.lang.Object createInternalState(com.android.tools.r8.graph.DexMethod):19 -> a
    1:7:java.util.Set getReservedNamesFor(com.android.tools.r8.graph.DexMethod):64:70 -> d
com.android.tools.r8.naming.MethodReservationState$InternalReservationState -> com.android.tools.r8.naming.F:
    java.util.Map originalToReservedNames -> a
    java.util.Set reservedNames -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():80:80 -> <clinit>
    1:3:void <init>():80:82 -> <init>
    1:1:boolean isReserved(com.android.tools.r8.graph.DexString):85:85 -> a
    2:5:java.util.Set getAssignedNamesFor(com.android.tools.r8.graph.DexMethod):89:92 -> a
    6:14:void reserveName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexString):96:104 -> a
    15:15:java.util.Set lambda$reserveName$0(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):103:103 -> a
com.android.tools.r8.naming.MinifiedRenaming -> com.android.tools.r8.naming.H:
    com.android.tools.r8.graph.AppView appView -> d
    boolean $assertionsDisabled -> g
    java.util.Map packageRenaming -> e
    java.util.Map renaming -> f
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming,com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming,com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming):37:37 -> <init>
    2:14:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming,com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming,com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming):30:42 -> <init>
    1:1:java.lang.String lookupPackageName(java.lang.String):47:47 -> a
    2:2:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):52:52 -> a
    3:18:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):57:72 -> a
    19:27:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):71:79 -> a
    28:33:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):78:83 -> a
    34:37:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):82:85 -> a
    38:38:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):90:90 -> a
    39:39:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):95:95 -> a
    40:40:void lambda$verifyRenamingConsistentWithResolution$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):140:140 -> a
    41:51:void lambda$toString$1(java.lang.StringBuilder,com.android.tools.r8.graph.DexItem,com.android.tools.r8.graph.DexString):150:160 -> a
    1:35:boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod):104:138 -> b
    1:16:java.lang.String toString():147:162 -> toString
com.android.tools.r8.naming.Minifier -> com.android.tools.r8.naming.N:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():38:38 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):42:43 -> <init>
    1:2:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):47:48 -> a
    3:3:com.android.tools.r8.graph.SubtypingInfo com.android.tools.r8.shaking.AppInfoWithLiveness.computeSubtypingInfo():1555:1555 -> a
    3:3:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):48 -> a
    4:42:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):49:87 -> a
    43:51:java.util.List computeReachableInterfacesWithDeterministicOrder(com.android.tools.r8.graph.SubtypingInfo):94:102 -> a
    52:54:void lambda$computeReachableInterfacesWithDeterministicOrder$0(java.util.List,com.android.tools.r8.graph.DexType):97:99 -> a
com.android.tools.r8.naming.Minifier$BaseMinificationNamingStrategy -> com.android.tools.r8.naming.I:
    java.util.List obfuscationDictionary -> a
    com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing mixedCasing -> c
    java.util.Set obfuscationDictionaryForLookup -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():105:105 -> <clinit>
    1:6:void <init>(java.util.List,boolean):113:118 -> <init>
    1:15:java.lang.String nextName(char[],com.android.tools.r8.naming.InternalNamingState):123:137 -> a
com.android.tools.r8.naming.Minifier$MinificationClassNamingStrategy -> com.android.tools.r8.naming.J:
    com.android.tools.r8.graph.DexItemFactory factory -> f
    com.android.tools.r8.graph.AppView appView -> e
    1:2:void <init>(com.android.tools.r8.graph.AppView):149:150 -> <init>
    3:7:void <init>(com.android.tools.r8.graph.AppView):148:152 -> <init>
    boolean isRenamedByApplyMapping(com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):161:161 -> a
    2:2:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":189,"2":190,"3":191}}
    189:189:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):161:161 -> a
    190:190:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):161:161 -> a
    191:191:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):161:161 -> a
    164:180:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):162:178 -> a
    181:185:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):163:167 -> a
    186:186:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    186:186:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):167 -> a
    187:187:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    187:187:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    187:187:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):167 -> a
    188:188:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):167:167 -> a
    1:2:com.android.tools.r8.graph.DexString reservedDescriptor(com.android.tools.r8.graph.DexType):183:184 -> b
com.android.tools.r8.naming.Minifier$MinificationPackageNamingStrategy -> com.android.tools.r8.naming.L:
    com.android.tools.r8.naming.InternalNamingState namingState -> e
    1:2:void <init>(com.android.tools.r8.graph.AppView):221:222 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.AppView):220:220 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.AppView):197:197 -> <init>
    1:2:java.lang.String next(java.lang.String,java.util.function.Predicate):232:233 -> a
com.android.tools.r8.naming.Minifier$MinificationPackageNamingStrategy$1 -> com.android.tools.r8.naming.K:
    int dictionaryIndex -> b
    int nameIndex -> c
    1:4:void <init>(com.android.tools.r8.naming.Minifier$MinificationPackageNamingStrategy):198:201 -> <init>
    1:1:int getDictionaryIndex():205:205 -> a
    1:1:int incrementDictionaryIndex():210:210 -> b
    1:1:int incrementNameIndex():215:215 -> c
com.android.tools.r8.naming.Minifier$MinifierMemberNamingStrategy -> com.android.tools.r8.naming.M:
    com.android.tools.r8.graph.DexItemFactory factory -> f
    com.android.tools.r8.graph.AppView appView -> e
    boolean desugaredLibraryRenaming -> g
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():238:238 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):246:249 -> <init>
    1:1:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):257:257 -> a
    2:3:boolean checkAllowMemberRenaming(com.android.tools.r8.graph.DexType):315:316 -> a
    2:3:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):257 -> a
    4:4:com.android.tools.r8.graph.DexString getNextName(com.android.tools.r8.naming.InternalNamingState):279:279 -> a
    4:4:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):260 -> a
    5:5:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):261:261 -> a
    6:6:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):270:270 -> a
    7:8:boolean checkAllowMemberRenaming(com.android.tools.r8.graph.DexType):315:316 -> a
    7:8:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):270 -> a
    9:9:com.android.tools.r8.graph.DexString getNextName(com.android.tools.r8.naming.InternalNamingState):279:279 -> a
    9:9:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):273 -> a
    10:10:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):274:274 -> a
    11:20:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):284:293 -> a
    21:24:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):292:295 -> a
    25:25:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):288:288 -> a
    26:26:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):302:302 -> a
    27:27:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    27:27:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):302 -> a
    28:30:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):302:304 -> a
    31:31:boolean allowMemberRenaming(com.android.tools.r8.graph.DexClass):311:311 -> a
com.android.tools.r8.naming.NamingLens -> com.android.tools.r8.naming.Q:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>():37:37 -> <init>
    com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType) -> a
    boolean lambda$lookupMethodName$1(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString) -> a
    com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions) -> a
    com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField) -> a
    com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod) -> a
    java.lang.String lookupPackageName(java.lang.String) -> a
    1:12:com.android.tools.r8.graph.DexString lookupMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView):55:66 -> a
    13:17:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):98:98 -> a
    13:17:com.android.tools.r8.graph.DexString lookupMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView):66 -> a
    18:24:com.android.tools.r8.graph.DexString lookupMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView):66:72 -> a
    25:25:com.android.tools.r8.graph.DexString lookupMethodName(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.AppView):68:68 -> a
    26:26:com.android.tools.r8.graph.DexMethod lambda$lookupMethodName$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):70:70 -> a
    27:31:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):98:98 -> a
    27:31:com.android.tools.r8.graph.DexMethod lambda$lookupMethodName$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):70 -> a
    32:32:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):79:79 -> a
    33:33:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    33:33:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):79 -> a
    34:41:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):80:87 -> a
    42:47:com.android.tools.r8.graph.DexProto lookupProto(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexItemFactory):105:105 -> a
    48:48:com.android.tools.r8.graph.DexType lambda$lookupProto$2(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):108:108 -> a
    49:49:com.android.tools.r8.graph.DexType[] lambda$lookupProto$3(int):109:109 -> a
    50:50:com.android.tools.r8.naming.NamingLens getIdentityLens():133:133 -> a
    51:56:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):155:160 -> a
    57:57:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":587,"2":588,"3":589}}
    587:587:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):160:160 -> a
    588:588:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):160:160 -> a
    589:589:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):160:160 -> a
    58:58:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":590,"2":591,"3":592,"4":593}}
    590:590:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):161:161 -> a
    591:591:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):161:161 -> a
    592:592:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):161:161 -> a
    593:593:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):161:161 -> a
    219:223:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):161:165 -> a
    224:228:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexItemFactory):91:91 -> a
    224:228:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):165 -> a
    229:230:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):166:167 -> a
    231:231:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":599,"2":600,"3":601}}
    599:599:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):167:167 -> a
    600:600:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):167:167 -> a
    601:601:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):167:167 -> a
    399:403:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):168:172 -> a
    404:408:com.android.tools.r8.graph.DexMethod lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexItemFactory):98:98 -> a
    404:408:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):172 -> a
    409:410:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):173:174 -> a
    411:411:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":608,"2":609,"3":610}}
    608:608:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):174:174 -> a
    609:609:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):174:174 -> a
    610:610:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):174:174 -> a
    586:586:boolean verifyNoCollisions(java.lang.Iterable,com.android.tools.r8.graph.DexItemFactory):175:175 -> a
    boolean hasPrefixRewritingLogic() -> b
    boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod) -> b
    1:2:com.android.tools.r8.graph.DexString lookupClassDescriptor(com.android.tools.r8.graph.DexType):44:45 -> b
    3:11:com.android.tools.r8.graph.DexType lookupType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):113:121 -> b
    com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType) -> c
    1:1:boolean isIdentityLens():137:137 -> c
    1:2:java.lang.String lookupInternalName(com.android.tools.r8.graph.DexType):141:142 -> d
    com.android.tools.r8.graph.DexString prefixRewrittenType(com.android.tools.r8.graph.DexType) -> e
com.android.tools.r8.naming.NamingLens$IdentityLens -> com.android.tools.r8.naming.O:
    1:1:void <init>(com.android.tools.r8.naming.NamingLens$1):208:208 -> <init>
    2:2:void <init>():210:210 -> <init>
    java.lang.String lookupPackageName(java.lang.String) -> a
    1:1:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):221:221 -> a
    2:2:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):226:226 -> a
    3:3:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):231:231 -> a
    4:4:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):236:236 -> a
    boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod) -> b
    1:1:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):216:216 -> c
com.android.tools.r8.naming.NamingLens$NonIdentityNamingLens -> com.android.tools.r8.naming.P:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():181:181 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexItemFactory):185:186 -> <init>
    1:7:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):195:201 -> c
    8:8:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexString.toArrayDescriptor(int,com.android.tools.r8.graph.DexItemFactory):536:536 -> c
    8:8:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):201 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:12:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexString.toArrayDescriptor(int,com.android.tools.r8.graph.DexItemFactory):536:539 -> c
    9:12:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):201 -> c
    13:14:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):203:204 -> c
    15:15:com.android.tools.r8.graph.DexString lookupDescriptor(com.android.tools.r8.graph.DexType):196:196 -> c
com.android.tools.r8.naming.PrefixRewritingNamingLens -> com.android.tools.r8.naming.S:
    com.android.tools.r8.graph.AppView appView -> e
    boolean $assertionsDisabled -> f
    int $r8$clinit -> g
    com.android.tools.r8.naming.NamingLens namingLens -> d
    1:1:void <clinit>():17:17 -> <clinit>
    1:4:void <init>(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.AppView):36:39 -> <init>
    1:4:com.android.tools.r8.naming.NamingLens createPrefixRewritingNamingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):29:32 -> a
    5:6:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):48:49 -> a
    5:6:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):66 -> a
    7:7:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):67:67 -> a
    8:8:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):72:72 -> a
    9:10:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):48:49 -> a
    9:10:boolean isRenamed(com.android.tools.r8.graph.DexType):43 -> a
    9:10:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):72 -> a
    11:13:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):74:76 -> a
    14:14:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):81:81 -> a
    15:16:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):48:49 -> a
    15:16:boolean isRenamed(com.android.tools.r8.graph.DexType):43 -> a
    15:16:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):81 -> a
    17:19:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):83:85 -> a
    20:20:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):90:90 -> a
    21:22:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):48:49 -> a
    21:22:boolean isRenamed(com.android.tools.r8.graph.DexType):43 -> a
    21:22:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):90 -> a
    23:25:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):92:94 -> a
    26:27:java.lang.String lookupPackageName(java.lang.String):104:105 -> a
    28:28:void lambda$verifyNotPrefixRewrittenPackage$0(java.lang.String,com.android.tools.r8.graph.DexType):111:111 -> a
    1:1:boolean verifyNotPrefixRewrittenPackage(java.lang.String):109:109 -> b
    2:2:boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod):118:118 -> b
    1:2:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):48:49 -> e
    1:2:com.android.tools.r8.graph.DexString prefixRewrittenType(com.android.tools.r8.graph.DexType):61 -> e
com.android.tools.r8.naming.ProguardMap$Builder -> com.android.tools.r8.naming.T:
    1:1:void <init>():12:12 -> <init>
    com.android.tools.r8.naming.ClassNaming$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position) -> a
    com.android.tools.r8.naming.ProguardMap$Builder setCurrentMapVersion(com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation) -> a
com.android.tools.r8.naming.ProguardMapError -> com.android.tools.r8.naming.U:
    1:1:void <init>(java.lang.String,com.android.tools.r8.position.Position):17:17 -> <init>
    1:1:com.android.tools.r8.naming.ProguardMapError duplicateSourceClass(java.lang.String,com.android.tools.r8.position.Position):21:21 -> a
    2:3:com.android.tools.r8.naming.ProguardMapError duplicateSourceMember(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):26:27 -> a
    4:5:com.android.tools.r8.naming.ProguardMapError duplicateTargetClass(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.position.Position):32:33 -> a
com.android.tools.r8.naming.ProguardMapMinifier -> com.android.tools.r8.naming.Y:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.naming.SeedMapper seedMapper -> c
    boolean $assertionsDisabled -> j
    com.android.tools.r8.com.google.common.collect.BiMap mappedNames -> d
    java.util.Set mappedClasses -> e
    java.util.Map additionalFieldNamings -> i
    java.util.Map memberNames -> f
    java.util.Map defaultInterfaceMethodImplementationNames -> g
    java.util.Map additionalMethodNamings -> h
    1:1:void <clinit>():75:75 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):89:89 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView):80:93 -> <init>
    1:8:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):97:104 -> a
    9:9:void com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.forEachInstantiatedLambdaInterfaces(java.util.function.Consumer):247:247 -> a
    9:9:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):105 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:void com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.forEachInstantiatedLambdaInterfaces(java.util.function.Consumer):247:247 -> a
    10:10:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):105 -> a
    11:29:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):112:130 -> a
    30:30:void com.android.tools.r8.graph.SubtypingInfo.forAllImmediateExtendsSubtypes(com.android.tools.r8.graph.DexType,java.util.function.Consumer):202:202 -> a
    30:30:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):130 -> a
    31:34:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):138:141 -> a
    35:44:void computeDefaultInterfaceMethodMethods():345:354 -> a
    35:44:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    45:45:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    45:45:void computeDefaultInterfaceMethodMethods():355 -> a
    45:45:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    46:46:void computeDefaultInterfaceMethodMethods():356:356 -> a
    46:46:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    47:47:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):370:370 -> a
    47:47:void computeDefaultInterfaceMethodMethods():356 -> a
    47:47:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    48:48:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):148:148 -> a
    48:48:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):370 -> a
    48:48:void computeDefaultInterfaceMethodMethods():356 -> a
    48:48:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    49:49:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):373:373 -> a
    49:49:void computeDefaultInterfaceMethodMethods():356 -> a
    49:49:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    50:50:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    50:50:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):374 -> a
    50:50:void computeDefaultInterfaceMethodMethods():356 -> a
    50:50:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    51:62:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):377:388 -> a
    51:62:void computeDefaultInterfaceMethodMethods():356 -> a
    51:62:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    63:67:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):387:391 -> a
    63:67:void computeDefaultInterfaceMethodMethods():356 -> a
    63:67:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    68:68:void computeDefaultInterfaceMethodMappingsForType(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.ClassNamingForMapApplier,java.util.Map):390:390 -> a
    68:68:void computeDefaultInterfaceMethodMethods():356 -> a
    68:68:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):142 -> a
    69:78:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):143:152 -> a
    79:79:java.util.List com.android.tools.r8.graph.DexApplication.classesWithDeterministicOrder(java.util.Collection):136:136 -> a
    79:79:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):153 -> a
    80:110:com.android.tools.r8.naming.NamingLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):153:183 -> a
    111:113:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.DexType):107:109 -> a
    114:117:void lambda$run$1(java.util.Set,java.util.ArrayDeque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):119:122 -> a
    118:120:void lambda$run$2(java.util.ArrayDeque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):133:135 -> a
    121:122:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):193:194 -> a
    123:123:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    123:123:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):198 -> a
    124:130:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):199:205 -> a
    131:131:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    131:131:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):207 -> a
    132:133:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):208:209 -> a
    134:141:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):331:338 -> a
    134:141:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):209 -> a
    142:142:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):337:337 -> a
    142:142:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):209 -> a
    143:147:void checkAndAddMappedNames(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,com.android.tools.r8.position.Position):336:340 -> a
    143:147:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):209 -> a
    148:156:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):210:218 -> a
    157:172:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):215:230 -> a
    173:182:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):229:238 -> a
    183:196:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):233:246 -> a
    197:222:void computeMapping(com.android.tools.r8.graph.DexType,java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo):245:270 -> a
    223:231:void addNonPrivateInterfaceMappings(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.graph.DexType[]):278:286 -> a
    232:232:void lambda$addNonPrivateInterfaceMappings$6(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.naming.MemberNaming):282:282 -> a
    233:238:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):296:301 -> a
    239:241:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):300:302 -> a
    242:242:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    242:242:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):302 -> a
    243:250:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):303:310 -> a
    251:253:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):309:311 -> a
    254:254:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    254:254:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):311 -> a
    255:257:void addMemberNamings(com.android.tools.r8.graph.DexType,com.android.tools.r8.naming.MemberNaming,java.util.Map,boolean):312:314 -> a
    258:260:void addMemberNaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.MemberNaming,java.util.Map):321:321 -> a
    262:265:void addMemberNaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.naming.MemberNaming,java.util.Map):323:326 -> a
    1:1:void lambda$computeMapping$3(com.android.tools.r8.graph.DexType,java.util.Map,com.android.tools.r8.naming.MemberNaming):211:211 -> b
    2:2:void lambda$computeMapping$4(java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):267:267 -> b
    1:1:void lambda$computeMapping$5(java.util.Deque,java.util.Set,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexType):272:272 -> c
com.android.tools.r8.naming.ProguardMapMinifier$ApplyMappingClassNamingStrategy -> com.android.tools.r8.naming.V:
    java.util.Set mappedNames -> h
    boolean $assertionsDisabled -> i
    java.util.Map mappings -> g
    1:1:void <clinit>():396:396 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Set):405:407 -> <init>
    1:3:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexType,char[],com.android.tools.r8.naming.InternalNamingState,java.util.function.Predicate):413:415 -> a
    4:7:boolean lambda$next$0(java.util.function.Predicate,java.lang.String):420:423 -> a
    8:8:boolean isRenamedByApplyMapping(com.android.tools.r8.graph.DexType):451:451 -> a
    1:15:com.android.tools.r8.graph.DexString reservedDescriptor(com.android.tools.r8.graph.DexType):432:446 -> b
com.android.tools.r8.naming.ProguardMapMinifier$ApplyMappingMemberNamingStrategy -> com.android.tools.r8.naming.W:
    boolean $assertionsDisabled -> k
    java.util.Map mappedNames -> i
    com.android.tools.r8.graph.DexItemFactory factory -> j
    1:1:void <clinit>():455:455 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Map):463:466 -> <init>
    boolean allowMemberRenaming(com.android.tools.r8.graph.DexClass) -> a
    1:2:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):474:475 -> a
    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    3:3:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):475 -> a
    4:8:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):476:480 -> a
    9:15:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):553:559 -> a
    9:15:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):481 -> a
    16:16:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):556:556 -> a
    16:16:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):481 -> a
    17:22:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):485:490 -> a
    23:23:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    23:23:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):490 -> a
    24:24:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):490:490 -> a
    25:29:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):499:503 -> a
    30:36:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):553:559 -> a
    30:36:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):504 -> a
    37:37:void reportReservationError(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexString):556:556 -> a
    37:37:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):504 -> a
    38:40:com.android.tools.r8.graph.DexString next(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.naming.InternalNamingState,java.util.function.BiPredicate):508:510 -> a
    41:41:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexClass):515:515 -> a
    42:42:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexClass):520:520 -> a
    43:43:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):524:524 -> a
    44:44:boolean com.android.tools.r8.graph.DexDefinition.isDexEncodedField():0:0 -> a
    44:44:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):524 -> a
    45:63:com.android.tools.r8.graph.DexString getReservedName(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexClass):524:542 -> a
com.android.tools.r8.naming.ProguardMapMinifier$ProguardMapMinifiedRenaming -> com.android.tools.r8.naming.X:
    java.util.Set unmappedReferences -> h
    java.util.Map classRenamingsMappingToDifferentName -> i
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.ClassNameMinifier$ClassRenaming,com.android.tools.r8.naming.MethodNameMinifier$MethodRenaming,com.android.tools.r8.naming.FieldNameMinifier$FieldRenaming,java.util.Set):576:579 -> <init>
    1:2:void lambda$new$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):581:582 -> a
    3:13:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):594:604 -> a
    3:13:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):589 -> a
    14:14:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):603:603 -> a
    14:14:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):589 -> a
    15:19:void checkForUseOfNotMappedReference(com.android.tools.r8.graph.DexType):602:606 -> a
    15:19:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):589 -> a
    20:20:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):590:590 -> a
com.android.tools.r8.naming.ProguardMapReader -> com.android.tools.r8.naming.a0:
    java.lang.String line -> i
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> d
    com.android.tools.r8.naming.MapVersion version -> j
    int lineOffset -> h
    com.android.tools.r8.com.google.gson.JsonParser jsonParser -> c
    java.util.HashMap cache -> k
    boolean $assertionsDisabled -> l
    boolean allowEmptyMappedRanges -> e
    java.io.BufferedReader reader -> b
    boolean allowExperimentalMapping -> f
    int lineNo -> g
    1:1:void <clinit>():63:63 -> <clinit>
    1:1:void <init>(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):80:80 -> <init>
    2:383:void <init>(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):66:447 -> <init>
    384:389:void <init>(java.io.BufferedReader,com.android.tools.r8.DiagnosticsHandler,boolean,boolean):81:86 -> <init>
    1:1:int access$000(com.android.tools.r8.naming.ProguardMapReader):63:63 -> a
    2:3:char peekChar(int):100:101 -> a
    4:4:boolean hasNext():106:106 -> a
    4:4:void expect(char):209 -> a
    5:6:void expect(char):212:213 -> a
    7:7:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    7:7:void expect(char):213 -> a
    8:8:void expect(char):213:213 -> a
    9:9:void expect(char):210:210 -> a
    10:11:boolean isEmptyOrCommentLine(java.lang.String):139:140 -> a
    12:16:boolean hasFirstCharJsonBrace(java.lang.String,int):166:170 -> a
    12:16:boolean isEmptyOrCommentLine(java.lang.String):142 -> a
    17:17:boolean isEmptyOrCommentLine(java.lang.String):143:143 -> a
    18:24:boolean isCommentLineWithJsonBrace():151:157 -> a
    25:29:boolean hasFirstCharJsonBrace(java.lang.String,int):166:170 -> a
    25:29:boolean isCommentLineWithJsonBrace():157 -> a
    30:30:boolean isCommentLineWithJsonBrace():158:158 -> a
    31:34:void parse(com.android.tools.r8.naming.ProguardMap$Builder):220:223 -> a
    35:35:void lambda$parseClassMappings$0(com.android.tools.r8.naming.ProguardMap$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):234:234 -> a
    36:36:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isMapVersionMappingInformation():0:0 -> a
    36:36:void lambda$parseClassMappings$0(com.android.tools.r8.naming.ProguardMap$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):234 -> a
    37:37:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isUnknownJsonMappingInformation():0:0 -> a
    37:37:void lambda$parseClassMappings$0(com.android.tools.r8.naming.ProguardMap$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):235 -> a
    38:40:void lambda$parseClassMappings$0(com.android.tools.r8.naming.ProguardMap$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):234:236 -> a
    41:41:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isMapVersionMappingInformation():0:0 -> a
    41:41:void lambda$parseClassMappings$0(com.android.tools.r8.naming.ProguardMap$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):236 -> a
    42:42:void lambda$parseClassMappings$0(com.android.tools.r8.naming.ProguardMap$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):237:237 -> a
    43:43:void parseMappingInformation(java.util.function.Consumer):271:271 -> a
    44:50:com.android.tools.r8.com.google.gson.JsonObject parseJsonInComment():574:580 -> a
    44:50:void parseMappingInformation(java.util.function.Consumer):273 -> a
    51:51:void parseMappingInformation(java.util.function.Consumer):273:273 -> a
    52:52:void parseMappingInformation(java.util.function.Consumer):271:271 -> a
    53:66:void lambda$parseMappingInformation$1(java.util.function.Consumer,com.android.tools.r8.naming.mappinginformation.MappingInformation):277:290 -> a
    67:103:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):302:338 -> a
    104:104:com.android.tools.r8.naming.Range parseRange():547:547 -> a
    104:104:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    105:111:int parseNumber():563:569 -> a
    105:111:com.android.tools.r8.naming.Range parseRange():550 -> a
    105:111:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    112:117:com.android.tools.r8.naming.Range parseRange():551:556 -> a
    112:117:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    118:124:int parseNumber():563:569 -> a
    118:124:com.android.tools.r8.naming.Range parseRange():557 -> a
    118:124:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    125:125:com.android.tools.r8.naming.Range parseRange():558:558 -> a
    125:125:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    126:131:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):341:346 -> a
    132:133:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):342:343 -> a
    134:134:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    134:134:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):343 -> a
    135:140:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):343:348 -> a
    141:141:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():485:485 -> a
    141:141:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    142:142:boolean hasNext():106:106 -> a
    142:142:void expectWhitespace():199 -> a
    142:142:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():486 -> a
    142:142:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    143:145:void expectWhitespace():199:201 -> a
    143:145:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():486 -> a
    143:145:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    146:150:java.lang.String parseMethodName():459:463 -> a
    146:150:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():487 -> a
    146:150:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    151:155:java.lang.String substring(int):450:454 -> a
    151:155:java.lang.String parseMethodName():465 -> a
    151:155:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():487 -> a
    151:155:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    156:179:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():488:511 -> a
    156:179:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    180:184:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):350:354 -> a
    185:185:com.android.tools.r8.naming.Range parseRange():547:547 -> a
    185:185:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    186:192:int parseNumber():563:569 -> a
    186:192:com.android.tools.r8.naming.Range parseRange():550 -> a
    186:192:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    193:198:com.android.tools.r8.naming.Range parseRange():551:556 -> a
    193:198:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    199:205:int parseNumber():563:569 -> a
    199:205:com.android.tools.r8.naming.Range parseRange():557 -> a
    199:205:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    206:206:com.android.tools.r8.naming.Range parseRange():558:558 -> a
    206:206:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    207:207:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):357:357 -> a
    208:208:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    208:208:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):357 -> a
    209:209:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):357:357 -> a
    210:210:int parseNumber():564:564 -> a
    210:210:com.android.tools.r8.naming.Range parseRange():557 -> a
    210:210:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    211:211:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    211:211:int parseNumber():564 -> a
    211:211:com.android.tools.r8.naming.Range parseRange():557 -> a
    211:211:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    212:212:int parseNumber():564:564 -> a
    212:212:com.android.tools.r8.naming.Range parseRange():557 -> a
    212:212:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    213:213:int parseNumber():564:564 -> a
    213:213:com.android.tools.r8.naming.Range parseRange():550 -> a
    213:213:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    214:214:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    214:214:int parseNumber():564 -> a
    214:214:com.android.tools.r8.naming.Range parseRange():550 -> a
    214:214:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    215:215:int parseNumber():564:564 -> a
    215:215:com.android.tools.r8.naming.Range parseRange():550 -> a
    215:215:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):355 -> a
    216:217:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):360:361 -> a
    218:218:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    218:218:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):361 -> a
    219:222:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):361:364 -> a
    223:224:void skipArrow():517:518 -> a
    223:224:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):365 -> a
    225:225:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):366:366 -> a
    226:230:java.lang.String parseMethodName():459:463 -> a
    226:230:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):367 -> a
    231:235:java.lang.String substring(int):450:454 -> a
    231:235:java.lang.String parseMethodName():465 -> a
    231:235:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):367 -> a
    236:263:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):369:396 -> a
    264:264:com.android.tools.r8.position.TextPosition getPosition():411:411 -> a
    264:264:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):396 -> a
    265:274:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):396:405 -> a
    275:275:void expectWhitespace():204:204 -> a
    275:275:com.android.tools.r8.naming.MemberNaming$Signature parseSignature():486 -> a
    275:275:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):349 -> a
    276:276:int parseNumber():564:564 -> a
    276:276:com.android.tools.r8.naming.Range parseRange():557 -> a
    276:276:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    277:277:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    277:277:int parseNumber():564 -> a
    277:277:com.android.tools.r8.naming.Range parseRange():557 -> a
    277:277:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    278:278:int parseNumber():564:564 -> a
    278:278:com.android.tools.r8.naming.Range parseRange():557 -> a
    278:278:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    279:279:int parseNumber():564:564 -> a
    279:279:com.android.tools.r8.naming.Range parseRange():550 -> a
    279:279:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    280:280:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> a
    280:280:int parseNumber():564 -> a
    280:280:com.android.tools.r8.naming.Range parseRange():550 -> a
    280:280:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    281:281:int parseNumber():564:564 -> a
    281:281:com.android.tools.r8.naming.Range parseRange():550 -> a
    281:281:void parseMemberMappings(com.android.tools.r8.naming.ClassNaming$Builder):339 -> a
    282:282:void lambda$parseMemberMappings$4(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.naming.MemberNaming,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.naming.mappinginformation.MappingInformation):310:310 -> a
    283:283:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isGlobalMappingInformation():0:0 -> a
    283:283:void lambda$parseMemberMappings$4(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.naming.MemberNaming,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.naming.mappinginformation.MappingInformation):310 -> a
    284:293:void lambda$parseMemberMappings$4(com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.naming.MemberNaming,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.naming.mappinginformation.MappingInformation):310:319 -> a
    294:296:void lambda$parseMemberMappings$2(com.android.tools.r8.naming.mappinginformation.MappingInformation,com.android.tools.r8.naming.mappinginformation.MappingInformation):315:315 -> a
    297:306:java.lang.String parseType(boolean):469:478 -> a
    307:311:java.lang.String substring(int):450:454 -> a
    307:311:java.lang.String parseType(boolean):481 -> a
    1:1:int access$100(com.android.tools.r8.naming.ProguardMapReader):63:63 -> b
    2:2:char nextChar():120:120 -> b
    3:3:boolean hasNext():106:106 -> b
    3:3:char nextChar():120 -> b
    4:8:char nextChar():120:124 -> b
    9:9:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> b
    9:9:char nextChar():124 -> b
    10:10:char nextChar():124:124 -> b
    11:11:boolean hasLine():187:187 -> b
    11:11:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):229 -> b
    12:31:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):230:249 -> b
    32:37:boolean acceptString(java.lang.String):532:537 -> b
    32:37:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):249 -> b
    38:38:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":305,"3":306}}
    305:305:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):252:252 -> b
    306:306:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):252:252 -> b
    292:292:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):254:254 -> b
    293:295:boolean acceptArrow():522:524 -> b
    293:295:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):255 -> b
    296:299:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):257:260 -> b
    300:300:com.android.tools.r8.position.TextPosition getPosition():411:411 -> b
    300:300:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):262 -> b
    301:304:void parseClassMappings(com.android.tools.r8.naming.ProguardMap$Builder):262:265 -> b
    307:309:void lambda$parseMemberMappings$3(com.android.tools.r8.naming.mappinginformation.MappingInformation,com.android.tools.r8.naming.mappinginformation.MappingInformation):322:322 -> b
    310:321:void skipIdentifier(boolean):418:429 -> b
    322:322:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> b
    322:322:void skipIdentifier(boolean):429 -> b
    323:334:void skipIdentifier(boolean):429:440 -> b
    335:335:void skipIdentifier(boolean):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":785,"2":786,"3":787}}
    785:785:void skipIdentifier(boolean):440:440 -> b
    786:786:void skipIdentifier(boolean):440:440 -> b
    787:787:void skipIdentifier(boolean):440:440 -> b
    776:776:void skipIdentifier(boolean):441:441 -> b
    777:777:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> b
    777:777:void skipIdentifier(boolean):441 -> b
    778:778:void skipIdentifier(boolean):441:441 -> b
    779:779:void skipIdentifier(boolean):434:434 -> b
    1:5:int nextCodePoint():111:115 -> c
    6:6:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> c
    6:6:int nextCodePoint():115 -> c
    7:7:int nextCodePoint():115:115 -> c
    1:1:void close():73:73 -> close
    1:1:boolean nextLine():129:129 -> d
    2:6:boolean skipLine():178:182 -> d
    2:6:boolean nextLine():132 -> d
    7:7:boolean hasLine():187:187 -> d
    7:7:boolean skipLine():183 -> d
    7:7:boolean nextLine():132 -> d
    8:8:boolean nextLine():130:130 -> d
    9:9:void com.android.tools.r8.naming.ProguardMapReader$ParseException.<init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String):595:595 -> d
    9:9:boolean nextLine():130 -> d
    10:10:boolean nextLine():130:130 -> d
    1:1:int peekCodePoint():96:96 -> e
    1:1:boolean hasNext():106:106 -> f
    1:1:void skipWhitespace():192 -> f
    2:3:void skipWhitespace():192:193 -> f
com.android.tools.r8.naming.ProguardMapReader$ParseException -> com.android.tools.r8.naming.Z:
    int lineNo -> b
    int lineOffset -> c
    java.lang.String msg -> e
    boolean eol -> d
    1:5:void <init>(com.android.tools.r8.naming.ProguardMapReader,java.lang.String,boolean):598:602 -> <init>
    1:1:java.lang.String toString():607:607 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1222,"2":1223,"3":1224}}
    1222:1222:java.lang.String toString():608:608 -> toString
    1223:1223:java.lang.String toString():608:608 -> toString
    1224:1224:java.lang.String toString():608:608 -> toString
    610:610:java.lang.String toString():608:608 -> toString
    611:611:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1226,"2":1227,"3":1228}}
    1226:1226:java.lang.String toString():610:610 -> toString
    1227:1227:java.lang.String toString():610:610 -> toString
    1228:1228:java.lang.String toString():610:610 -> toString
    1221:1221:java.lang.String toString():610:610 -> toString
com.android.tools.r8.naming.ProguardMapSupplier -> com.android.tools.r8.internal.BN:
    com.android.tools.r8.naming.ClassNameMapper classNameMapper -> a
    com.android.tools.r8.utils.InternalOptions options -> c
    com.android.tools.r8.utils.Reporter reporter -> d
    boolean $assertionsDisabled -> f
    int PG_MAP_ID_LENGTH -> e
    com.android.tools.r8.StringConsumer consumer -> b
    1:12:void <clinit>():23:34 -> <clinit>
    1:8:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.utils.InternalOptions):64:71 -> <init>
    1:1:com.android.tools.r8.utils.Reporter access$100(com.android.tools.r8.naming.ProguardMapSupplier):23:23 -> a
    2:2:com.android.tools.r8.naming.ProguardMapSupplier create(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.utils.InternalOptions):76:76 -> a
    3:5:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId com.android.tools.r8.naming.ProguardMapSupplier.computeProguardMapId():88:90 -> a
    3:5:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():80 -> a
    6:6:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47}}
    45:45:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):98:98 -> a
    45:45:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    46:46:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):98:98 -> a
    46:46:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    47:47:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):99:99 -> a
    47:47:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    7:7:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):110:110 -> a
    7:7:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    8:8:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":59,"2":60,"3":61}}
    59:59:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):111:111 -> a
    59:59:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    60:60:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):111:111 -> a
    60:60:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    61:61:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):111:111 -> a
    61:61:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    9:11:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):111:113 -> a
    9:11:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    12:12:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":64,"2":65,"3":66}}
    64:64:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):114:114 -> a
    64:64:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    65:65:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):114:114 -> a
    65:65:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    66:66:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):114:114 -> a
    66:66:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    13:15:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):114:114 -> a
    13:15:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    19:21:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):118:120 -> a
    19:21:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    22:22:com.android.tools.r8.naming.MapVersion com.android.tools.r8.utils.InternalOptions.getMapFileVersion():1845:1845 -> a
    22:22:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):120 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    23:25:com.android.tools.r8.naming.MapVersion com.android.tools.r8.utils.InternalOptions.getMapFileVersion():1845:1847 -> a
    23:25:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):120 -> a
    23:25:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    26:30:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):121:125 -> a
    26:30:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    31:31:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":79,"2":80,"3":81}}
    79:79:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):127:127 -> a
    79:79:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    80:80:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):127:127 -> a
    80:80:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    81:81:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):127:127 -> a
    81:81:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    32:42:void com.android.tools.r8.naming.ProguardMapSupplier.writeMarker(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId):127:137 -> a
    32:42:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():81 -> a
    43:43:void com.android.tools.r8.naming.ProguardMapSupplier.writeBody():94:94 -> a
    43:43:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():82 -> a
    44:44:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId writeProguardMap():83:83 -> a
    1:1:com.android.tools.r8.StringConsumer access$200(com.android.tools.r8.naming.ProguardMapSupplier):23:23 -> b
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker -> com.android.tools.r8.internal.BN$a:
    1:29:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult validateProguardMapHash(java.lang.String):257:285 -> a
    1:1:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):196:196 -> accept
    1:1:void finished(com.android.tools.r8.DiagnosticsHandler):202:202 -> finished
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult -> com.android.tools.r8.internal.BN$a$a:
    boolean error -> a
    java.lang.String message -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():218:218 -> <clinit>
    1:3:void <init>(boolean,java.lang.String):234:236 -> <init>
    1:1:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult createOk():223:223 -> a
    2:2:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult createError(java.lang.String):231:231 -> a
    1:1:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapChecker$VerifyMappingFileHashResult createInfo(java.lang.String):227:227 -> b
    2:3:java.lang.String getMessage():248:249 -> b
    1:1:boolean isError():244:244 -> c
    1:1:boolean isOk():240:240 -> d
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId -> com.android.tools.r8.internal.CN:
    java.lang.String id -> a
    java.lang.String hash -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.naming.ProguardMapSupplier$1):37:37 -> <init>
    2:6:void <init>(java.lang.String,java.lang.String):41:45 -> <init>
    1:1:java.lang.String getHash():55:55 -> a
    1:1:java.lang.String getId():50:50 -> b
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder -> com.android.tools.r8.internal.EN:
    com.android.tools.r8.com.google.common.hash.Hasher hasher -> a
    1:3:void <init>():140:142 -> <init>
    1:1:java.lang.String lambda$getProviderOrDefault$0(com.android.tools.r8.MapIdEnvironment):147:147 -> a
    2:2:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder.accept(java.lang.String):161:161 -> a
    2:2:com.android.tools.r8.utils.ChainableStringConsumer accept(java.lang.String):140 -> a
    3:4:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId build(com.android.tools.r8.MapIdProvider):166:167 -> a
    5:5:com.android.tools.r8.MapIdEnvironment com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder.getEnvironment(java.lang.String):151:151 -> a
    5:5:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId build(com.android.tools.r8.MapIdProvider):167 -> a
    6:7:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId build(com.android.tools.r8.MapIdProvider):167:168 -> a
    1:1:com.android.tools.r8.MapIdProvider getProviderOrDefault(com.android.tools.r8.MapIdProvider):147:147 -> b
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder$1 -> com.android.tools.r8.internal.DN:
    java.lang.String val$hash -> a
    1:1:void <init>(com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapIdBuilder,java.lang.String):151:151 -> <init>
    1:1:java.lang.String getMapHash():154:154 -> getMapHash
com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapWriter -> com.android.tools.r8.internal.FN:
    com.android.tools.r8.naming.ProguardMapSupplier this$0 -> a
    1:1:void <init>(com.android.tools.r8.naming.ProguardMapSupplier):172:172 -> <init>
    1:1:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapWriter com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapWriter.accept(java.lang.String):176:176 -> a
    1:1:com.android.tools.r8.utils.ChainableStringConsumer accept(java.lang.String):172 -> a
com.android.tools.r8.naming.Range -> com.android.tools.r8.internal.NP:
    int to -> b
    boolean isCardinal -> c
    int from -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(int):16:16 -> <init>
    2:2:void <init>(int,int):20:20 -> <init>
    3:7:void <init>(int,int,boolean):23:27 -> <init>
    1:6:boolean equals(java.lang.Object):44:49 -> equals
    1:1:int hashCode():61:61 -> hashCode
    1:1:java.lang.String toString():36:36 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":39,"2":40,"3":41}}
    39:39:java.lang.String toString():36:36 -> toString
    40:40:java.lang.String toString():36:36 -> toString
    41:41:java.lang.String toString():36:36 -> toString
    38:38:java.lang.String toString():36:36 -> toString
com.android.tools.r8.naming.RecordRewritingNamingLens -> com.android.tools.r8.naming.b0:
    com.android.tools.r8.graph.DexItemFactory factory -> e
    boolean $assertionsDisabled -> f
    int $r8$clinit -> g
    com.android.tools.r8.naming.NamingLens namingLens -> d
    1:1:void <clinit>():18:18 -> <clinit>
    1:3:void <init>(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.AppView):36:38 -> <init>
    1:2:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):46:47 -> a
    1:2:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):54 -> a
    3:3:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):55:55 -> a
    4:4:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):60:60 -> a
    5:6:com.android.tools.r8.graph.DexString getRenaming(com.android.tools.r8.graph.DexType):46:47 -> a
    5:6:boolean isRenamed(com.android.tools.r8.graph.DexType):42 -> a
    5:6:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):60 -> a
    7:8:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):60:61 -> a
    9:9:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):67:67 -> a
    10:10:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):73:73 -> a
    11:11:java.lang.String lookupPackageName(java.lang.String):88:88 -> a
    1:1:boolean hasPrefixRewritingLogic():78:78 -> b
    2:2:boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod):93:93 -> b
    1:1:com.android.tools.r8.graph.DexString prefixRewrittenType(com.android.tools.r8.graph.DexType):83:83 -> e
com.android.tools.r8.naming.ReservedFieldNamingState -> com.android.tools.r8.naming.d0:
    com.android.tools.r8.naming.ReservedFieldNamingState interfaceMinificationState -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):20:20 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView):17:17 -> <init>
    1:1:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):29:29 -> a
    1:1:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):24 -> a
    2:2:com.android.tools.r8.graph.DexString getReservedByNameInState(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState,com.android.tools.r8.graph.DexString):43:43 -> a
    2:2:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):29 -> a
    2:2:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):24 -> a
    3:5:com.android.tools.r8.graph.DexString getReservedByNameInInterfaces(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):37:39 -> a
    3:5:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):33 -> a
    3:5:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):24 -> a
    6:6:com.android.tools.r8.graph.DexString getReservedByNameInState(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState,com.android.tools.r8.graph.DexString):43:43 -> a
    6:6:com.android.tools.r8.graph.DexString getReservedByNameInInterfaces(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):39 -> a
    6:6:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):33 -> a
    6:6:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):24 -> a
    7:9:com.android.tools.r8.graph.DexString getReservedByNameInInterfaces(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):37:39 -> a
    7:9:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):25 -> a
    10:10:com.android.tools.r8.graph.DexString getReservedByNameInState(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState,com.android.tools.r8.graph.DexString):43:43 -> a
    10:10:com.android.tools.r8.graph.DexString getReservedByNameInInterfaces(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):39 -> a
    10:10:boolean isReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):25 -> a
    11:12:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState):51:52 -> a
    13:16:void includeInterfaceReservationState(com.android.tools.r8.naming.ReservedFieldNamingState):58:61 -> a
    13:16:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState):54 -> a
    17:17:com.android.tools.r8.naming.ReservedFieldNamingState$InternalState createInternalState():73:73 -> a
    17:17:java.lang.Object createInternalState():15 -> a
    1:3:void setInterfaceMinificationState(com.android.tools.r8.naming.ReservedFieldNamingState):66:68 -> b
com.android.tools.r8.naming.ReservedFieldNamingState$InternalState -> com.android.tools.r8.naming.c0:
    java.util.Map reservedNames -> a
    1:3:void <init>():76:78 -> <init>
    1:2:com.android.tools.r8.graph.DexString getReservedByName(com.android.tools.r8.graph.DexString):81:82 -> a
    3:3:void markReserved(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):86:86 -> a
    4:4:void includeReservations(com.android.tools.r8.naming.ReservedFieldNamingState$InternalState):90:90 -> a
com.android.tools.r8.naming.SeedMapper -> com.android.tools.r8.naming.f0:
    com.android.tools.r8.com.google.common.collect.ImmutableMap mappings -> a
    java.util.Set mappedToDescriptorNames -> b
    com.android.tools.r8.utils.Reporter reporter -> c
    1:1:void <init>(java.util.Map,java.util.Set,com.android.tools.r8.utils.Reporter,com.android.tools.r8.naming.SeedMapper$1):38:38 -> <init>
    2:10:void <init>(java.util.Map,java.util.Set,com.android.tools.r8.utils.Reporter):103:111 -> <init>
    1:1:com.android.tools.r8.naming.SeedMapper seedMapperFromFile(com.android.tools.r8.utils.Reporter,java.nio.file.Path):93:93 -> a
    2:3:com.android.tools.r8.naming.SeedMapper seedMapperFromInputStream(com.android.tools.r8.utils.Reporter,java.io.InputStream):84:85 -> a
    2:3:com.android.tools.r8.naming.SeedMapper seedMapperFromFile(com.android.tools.r8.utils.Reporter,java.nio.file.Path):93 -> a
    4:4:com.android.tools.r8.naming.SeedMapper$Builder builder(com.android.tools.r8.utils.Reporter):79:79 -> a
    4:4:com.android.tools.r8.naming.SeedMapper seedMapperFromInputStream(com.android.tools.r8.utils.Reporter,java.io.InputStream):86 -> a
    4:4:com.android.tools.r8.naming.SeedMapper seedMapperFromFile(com.android.tools.r8.utils.Reporter,java.nio.file.Path):93 -> a
    5:7:com.android.tools.r8.naming.SeedMapper seedMapperFromInputStream(com.android.tools.r8.utils.Reporter,java.io.InputStream):87:89 -> a
    5:7:com.android.tools.r8.naming.SeedMapper seedMapperFromFile(com.android.tools.r8.utils.Reporter,java.nio.file.Path):93 -> a
    8:12:com.android.tools.r8.naming.SeedMapper seedMapperFromInputStream(com.android.tools.r8.utils.Reporter,java.io.InputStream):85:89 -> a
    8:12:com.android.tools.r8.naming.SeedMapper seedMapperFromFile(com.android.tools.r8.utils.Reporter,java.nio.file.Path):93 -> a
    13:13:com.android.tools.r8.naming.ClassNamingForMapApplier getClassNaming(com.android.tools.r8.graph.DexType):153:153 -> a
    14:14:java.util.Set getKeyset():157:157 -> a
    15:15:com.android.tools.r8.naming.ClassNamingForMapApplier getMapping(java.lang.String):165:165 -> a
    1:1:boolean hasMapping(com.android.tools.r8.graph.DexType):148:148 -> b
    2:2:java.util.Set getMappedToDescriptorNames():161:161 -> b
    1:10:void verifyMappingsAreConflictFree():115:124 -> c
    11:11:void verifyMappingsAreConflictFree():121:121 -> c
    12:35:void verifyMappingsAreConflictFree():120:143 -> c
com.android.tools.r8.naming.SeedMapper$Builder -> com.android.tools.r8.naming.e0:
    java.util.Map map -> a
    java.util.Set mappedToDescriptorNames -> b
    com.android.tools.r8.utils.Reporter reporter -> c
    1:1:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.naming.SeedMapper$1):40:40 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.Reporter):46:46 -> <init>
    3:8:void <init>(com.android.tools.r8.utils.Reporter):42:47 -> <init>
    com.android.tools.r8.naming.ProguardMap$Builder setCurrentMapVersion(com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation) -> a
    1:4:com.android.tools.r8.naming.ClassNamingForMapApplier$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):53:56 -> a
    1:4:com.android.tools.r8.naming.ClassNaming$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):40 -> a
    5:5:com.android.tools.r8.naming.ClassNamingForMapApplier$Builder com.android.tools.r8.naming.ClassNamingForMapApplier.builder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.utils.Reporter):105:105 -> a
    5:5:com.android.tools.r8.naming.ClassNamingForMapApplier$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):57 -> a
    5:5:com.android.tools.r8.naming.ClassNaming$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):40 -> a
    6:7:com.android.tools.r8.naming.ClassNamingForMapApplier$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):59:60 -> a
    6:7:com.android.tools.r8.naming.ClassNaming$Builder classNamingBuilder(java.lang.String,java.lang.String,com.android.tools.r8.position.Position):40 -> a
    8:9:com.android.tools.r8.naming.SeedMapper build():73:74 -> a
com.android.tools.r8.naming.SourceFileRewriter -> com.android.tools.r8.internal.AV:
    1:2:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):20:21 -> a
    3:3:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteToDefaultSourceFile(com.android.tools.r8.graph.DexItemFactory):61:61 -> a
    3:3:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):21 -> a
    4:4:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteTo(java.lang.String,boolean):65:65 -> a
    4:4:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteToDefaultSourceFile(com.android.tools.r8.graph.DexItemFactory):61 -> a
    4:4:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):21 -> a
    5:5:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):23:23 -> a
    6:6:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeCompatProvider(com.android.tools.r8.utils.InternalOptions):31:31 -> a
    6:6:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):24 -> a
    7:7:java.lang.String com.android.tools.r8.naming.SourceFileRewriter.getRenameSourceFileAttribute(com.android.tools.r8.utils.InternalOptions):52:52 -> a
    7:7:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeCompatProvider(com.android.tools.r8.utils.InternalOptions):32 -> a
    7:7:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):24 -> a
    8:9:boolean com.android.tools.r8.naming.SourceFileRewriter.isDefaultOrEmpty(java.lang.String,com.android.tools.r8.utils.InternalOptions):56:57 -> a
    8:9:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeCompatProvider(com.android.tools.r8.utils.InternalOptions):34 -> a
    8:9:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):24 -> a
    10:10:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteTo(java.lang.String,boolean):65:65 -> a
    10:10:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeCompatProvider(com.android.tools.r8.utils.InternalOptions):34 -> a
    10:10:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):24 -> a
    11:11:java.lang.String com.android.tools.r8.naming.SourceFileRewriter.getRenameSourceFileAttribute(com.android.tools.r8.utils.InternalOptions):52:52 -> a
    11:11:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeNonCompatProvider(com.android.tools.r8.utils.InternalOptions):41 -> a
    11:11:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):26 -> a
    12:13:boolean com.android.tools.r8.naming.SourceFileRewriter.isDefaultOrEmpty(java.lang.String,com.android.tools.r8.utils.InternalOptions):56:57 -> a
    12:13:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeNonCompatProvider(com.android.tools.r8.utils.InternalOptions):43 -> a
    12:13:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):26 -> a
    14:14:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteTo(java.lang.String,boolean):65:65 -> a
    14:14:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeNonCompatProvider(com.android.tools.r8.utils.InternalOptions):43 -> a
    14:14:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):26 -> a
    15:16:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeNonCompatProvider(com.android.tools.r8.utils.InternalOptions):45:46 -> a
    15:16:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):26 -> a
    17:17:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteToDefaultSourceFile(com.android.tools.r8.graph.DexItemFactory):61:61 -> a
    17:17:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeNonCompatProvider(com.android.tools.r8.utils.InternalOptions):46 -> a
    17:17:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):26 -> a
    18:18:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteTo(java.lang.String,boolean):65:65 -> a
    18:18:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.rewriteToDefaultSourceFile(com.android.tools.r8.graph.DexItemFactory):61 -> a
    18:18:com.android.tools.r8.SourceFileProvider com.android.tools.r8.naming.SourceFileRewriter.computeNonCompatProvider(com.android.tools.r8.utils.InternalOptions):46 -> a
    18:18:com.android.tools.r8.SourceFileProvider computeSourceFileProvider(com.android.tools.r8.SourceFileProvider,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.InternalOptions):26 -> a
com.android.tools.r8.naming.SourceFileRewriter$1 -> com.android.tools.r8.internal.zV:
    java.lang.String val$renaming -> a
    boolean val$allowDiscard -> b
    1:1:void <init>(java.lang.String,boolean):65:65 -> <init>
    1:1:boolean allowDiscardingSourceFile():73:73 -> allowDiscardingSourceFile
    1:1:java.lang.String get(com.android.tools.r8.SourceFileEnvironment):68:68 -> get
com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo -> com.android.tools.r8.internal.wa:
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo TYPE_NAME_INSTANCE -> g
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo SIMPLE_NAME_INSTANCE -> f
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping mapping -> b
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo CANONICAL_NAME_INSTANCE -> c
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo NONE_INSTANCE -> e
    int arrayDepth -> a
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo NAME_INSTANCE -> d
    1:1:void <clinit>():88:88 -> <clinit>
    2:2:void com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo.<init>(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):107:107 -> <clinit>
    2:2:void <clinit>():88 -> <clinit>
    3:6:void <clinit>():88:91 -> <clinit>
    7:7:void com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo.<init>(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):107:107 -> <clinit>
    7:7:void <clinit>():91 -> <clinit>
    8:11:void <clinit>():91:94 -> <clinit>
    12:12:void com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo.<init>(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):107:107 -> <clinit>
    12:12:void <clinit>():94 -> <clinit>
    13:16:void <clinit>():94:97 -> <clinit>
    17:17:void com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo.<init>(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):107:107 -> <clinit>
    17:17:void <clinit>():97 -> <clinit>
    18:21:void <clinit>():97:100 -> <clinit>
    22:22:void com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo.<init>(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):107:107 -> <clinit>
    22:22:void <clinit>():100 -> <clinit>
    23:23:void <clinit>():100:100 -> <clinit>
    1:3:void <init>(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping,int):110:112 -> <init>
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo asClassNameComputationInfo() -> a
    1:2:com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo create(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping,int):117:118 -> a
    3:15:com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo getInstance(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):122:134 -> a
    16:16:com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo getInstance(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):130:130 -> a
    17:25:com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo getInstance(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):124:132 -> a
    26:28:com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo getInstance(com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping):126:128 -> a
    29:33:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.naming.NamingLens):155:155 -> a
    1:1:boolean needsToComputeName():144:144 -> e
    2:2:boolean com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping.needsToComputeClassName():30:30 -> e
    2:2:boolean needsToComputeName():144 -> e
    1:5:boolean equals(java.lang.Object):174:178 -> equals
    1:1:boolean needsToRegisterReference():149:149 -> f
    2:2:boolean com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping.needsToRegisterTypeReference():34:34 -> f
    2:2:boolean needsToRegisterReference():149 -> f
    1:1:com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo none():139:139 -> g
    1:1:int hashCode():183:183 -> hashCode
com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping -> com.android.tools.r8.internal.va:
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping NONE -> b
    boolean $assertionsDisabled -> h
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping NAME -> c
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping TYPE_NAME -> d
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping CANONICAL_NAME -> e
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping[] $VALUES -> g
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo$ClassNameMapping SIMPLE_NAME -> f
    1:7:void <clinit>():22:22 -> <clinit>
    1:1:void <init>(java.lang.String,int):22:22 -> <init>
    1:39:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):44:82 -> a
    40:46:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):68:74 -> a
    47:47:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":231,"2":232,"3":233}}
    231:231:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):77:77 -> a
    232:232:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):77:77 -> a
    233:233:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):77:77 -> a
    124:124:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):77:77 -> a
    125:126:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getCanonicalNameFromDescriptor(java.lang.String):337:338 -> a
    125:126:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):61 -> a
    127:127:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":234,"2":235,"3":236}}
    234:234:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
    235:235:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
    236:236:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
    190:190:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):63:63 -> a
    191:191:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):54:54 -> a
    192:230:com.android.tools.r8.graph.DexString map(java.lang.String,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexItemFactory,int):46:84 -> a
com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo -> com.android.tools.r8.internal.Uj:
    com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo FIELD_NAME_INSTANCE -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():18:18 -> <init>
    com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo asFieldNameComputationInfo() -> b
    boolean needsToComputeName() -> e
    boolean needsToRegisterReference() -> f
    1:1:com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo forFieldName():21:21 -> g
com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo -> com.android.tools.r8.internal.oG:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.naming.dexitembasedstring.ClassNameComputationInfo asClassNameComputationInfo() -> a
    1:2:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):20:21 -> a
    3:3:boolean com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo.isFieldNameComputationInfo():0:0 -> a
    3:3:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):22 -> a
    4:4:boolean com.android.tools.r8.naming.dexitembasedstring.NameComputationInfo.isClassNameComputationInfo():0:0 -> a
    4:4:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):26 -> a
    5:10:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):27:32 -> a
    11:12:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):23:24 -> a
    13:13:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo.internalComputeNameFor(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.naming.NamingLens):28:28 -> a
    13:13:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):24 -> a
    14:14:com.android.tools.r8.graph.DexString computeNameFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):35:35 -> a
    com.android.tools.r8.naming.dexitembasedstring.FieldNameComputationInfo asFieldNameComputationInfo() -> b
    com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo asRecordFieldNamesComputationInfo() -> c
    boolean isRecordFieldNamesComputationInfo() -> d
    boolean needsToComputeName() -> e
    boolean needsToRegisterReference() -> f
com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo -> com.android.tools.r8.internal.mQ:
    com.android.tools.r8.graph.DexField[] fields -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():38:38 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.DexField[]):42:43 -> <init>
    com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens) -> a
    1:4:com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo forFieldNamesAndFields(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexField[]):98:101 -> a
    5:6:boolean com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo.fieldsMatchNames(java.lang.String[],com.android.tools.r8.graph.DexField[]):109:110 -> a
    5:6:com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo forFieldNamesAndFields(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexField[]):102 -> a
    7:9:com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo forFieldNamesAndFields(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexField[]):103:105 -> a
    10:15:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction):122:127 -> a
    16:16:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    16:16:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction):128 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17:22:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction):128:133 -> a
    23:23:com.android.tools.r8.graph.DexString com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo.dexStringFromFieldNames(java.util.List,com.android.tools.r8.graph.DexItemFactory):93:93 -> a
    23:23:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction):133 -> a
    24:24:boolean lambda$internalComputeNameFor$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexField):122:122 -> a
    com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo asRecordFieldNamesComputationInfo() -> c
    boolean isRecordFieldNamesComputationInfo() -> d
    boolean needsToComputeName() -> e
    boolean needsToRegisterReference() -> f
com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo$MatchingRecordFieldNamesComputationInfo -> com.android.tools.r8.internal.kQ:
    1:1:void <init>(com.android.tools.r8.graph.DexField[]):70:70 -> <init>
    1:1:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):79:79 -> a
    2:2:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):84:84 -> a
    3:3:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    3:3:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):86 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):86:86 -> a
    5:5:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):85:85 -> a
    6:10:com.android.tools.r8.graph.DexField com.android.tools.r8.naming.NamingLens.lookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexItemFactory):91:91 -> a
    6:10:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):85 -> a
    11:14:java.lang.String lambda$internalComputeNameFor$0(com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,int):85:88 -> a
com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo$MissMatchingRecordFieldNamesComputationInfo -> com.android.tools.r8.internal.lQ:
    java.lang.String[] fieldNames -> c
    1:1:void <init>(java.lang.String[],com.android.tools.r8.graph.DexField[],com.android.tools.r8.naming.dexitembasedstring.RecordFieldNamesComputationInfo$1):46:46 -> <init>
    2:3:void <init>(java.lang.String[],com.android.tools.r8.graph.DexField[]):52:53 -> <init>
    1:1:com.android.tools.r8.graph.DexString internalComputeNameFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens):62:62 -> a
    2:2:java.lang.String lambda$internalComputeNameFor$0(int):62:62 -> a
com.android.tools.r8.naming.identifiernamestring.ClassForNameIdentifierNameStringLookupResult -> com.android.tools.r8.internal.N9:
    1:1:void <init>(com.android.tools.r8.graph.DexType):14:14 -> <init>
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():634:634 -> a
    1:1:boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions):24 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    boolean isTypeInitializedFromUse() -> d
com.android.tools.r8.naming.identifiernamestring.ClassNameComparisonIdentifierNameStringLookupResult -> com.android.tools.r8.internal.ua:
    1:1:void <init>(com.android.tools.r8.graph.DexType):14:14 -> <init>
    boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions) -> a
    boolean isTypeInitializedFromUse() -> d
com.android.tools.r8.naming.identifiernamestring.DexMemberBasedConstStringIdentifierNameStringLookupResult -> com.android.tools.r8.internal.dh:
    1:1:void <init>(com.android.tools.r8.graph.DexMember):13:13 -> <init>
com.android.tools.r8.naming.identifiernamestring.DexTypeBasedConstStringIdentifierNameStringLookupResult -> com.android.tools.r8.internal.ih:
    1:1:void <init>(com.android.tools.r8.graph.DexType):14:14 -> <init>
    boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions) -> a
    boolean isTypeInitializedFromUse() -> d
com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringLookupResult -> com.android.tools.r8.internal.Ln:
    com.android.tools.r8.graph.DexReference reference -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():13:13 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexReference):17:19 -> <init>
    com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringTypeLookupResult asTypeResult() -> a
    1:1:com.android.tools.r8.naming.identifiernamestring.ClassForNameIdentifierNameStringLookupResult fromClassForName(com.android.tools.r8.graph.DexType):23:23 -> a
    2:2:com.android.tools.r8.naming.identifiernamestring.DexMemberBasedConstStringIdentifierNameStringLookupResult fromDexMemberBasedConstString(com.android.tools.r8.graph.DexMember):38:38 -> a
    1:1:com.android.tools.r8.naming.identifiernamestring.ClassNameComparisonIdentifierNameStringLookupResult fromClassNameComparison(com.android.tools.r8.graph.DexType):28:28 -> b
    2:2:com.android.tools.r8.naming.identifiernamestring.UncategorizedMemberIdentifierNameStringLookupResult fromUncategorized(com.android.tools.r8.graph.DexMember):44:44 -> b
    3:3:com.android.tools.r8.graph.DexReference getReference():56:56 -> b
    boolean isTypeResult() -> c
    1:1:com.android.tools.r8.naming.identifiernamestring.DexTypeBasedConstStringIdentifierNameStringLookupResult fromDexTypeBasedConstString(com.android.tools.r8.graph.DexType):33:33 -> c
com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringMemberLookupResult -> com.android.tools.r8.internal.Nn:
    1:1:void <init>(com.android.tools.r8.graph.DexMember):13:13 -> <init>
com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringTypeLookupResult -> com.android.tools.r8.internal.On:
    1:1:void <init>(com.android.tools.r8.graph.DexType):14:14 -> <init>
    com.android.tools.r8.naming.identifiernamestring.IdentifierNameStringTypeLookupResult asTypeResult() -> a
    boolean isTypeCompatInstantiatedFromUse(com.android.tools.r8.utils.InternalOptions) -> a
    boolean isTypeResult() -> c
    boolean isTypeInitializedFromUse() -> d
com.android.tools.r8.naming.identifiernamestring.UncategorizedMemberIdentifierNameStringLookupResult -> com.android.tools.r8.internal.B00:
    1:1:void <init>(com.android.tools.r8.graph.DexMember):13:13 -> <init>
com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation -> com.android.tools.r8.internal.Ec:
    com.android.tools.r8.naming.MapVersion SUPPORTED_VERSION -> a
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$1):12:12 -> <init>
    2:2:void <init>():28:28 -> <init>
    1:1:boolean com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation.isSupported(com.android.tools.r8.naming.MapVersion):25:25 -> a
    1:1:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):64 -> a
    2:2:com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$Builder.build():20:20 -> a
    2:2:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):65 -> a
    3:3:void com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation.<init>(com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$1):12:12 -> a
    3:3:com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$Builder.build():20 -> a
    3:3:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):65 -> a
    4:4:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):65:65 -> a
    5:5:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):51:51 -> a
    boolean isCompilerSynthesizedMappingInformation() -> f
    1:3:java.lang.String serialize():56:58 -> i
com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation$Builder -> com.android.tools.r8.internal.Dc:
    1:1:com.android.tools.r8.naming.mappinginformation.CompilerSynthesizedMappingInformation build():20:20 -> a
com.android.tools.r8.naming.mappinginformation.FileNameInformation -> com.android.tools.r8.naming.mappinginformation.a:
    java.lang.String fileName -> a
    1:2:void <init>(java.lang.String):21:22 -> <init>
    com.android.tools.r8.naming.mappinginformation.FileNameInformation asFileNameInformation() -> a
    1:1:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):46:46 -> a
    2:2:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isFileNameInformation():0:0 -> a
    2:2:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):46 -> a
    3:3:com.android.tools.r8.naming.mappinginformation.FileNameInformation build(java.lang.String):50:50 -> a
    4:4:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):68:68 -> a
    5:8:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.naming.mappinginformation.MappingInformation.getJsonElementFromObject(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.lang.String,java.lang.String):149:152 -> a
    5:8:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):69 -> a
    9:9:com.android.tools.r8.com.google.gson.JsonElement com.android.tools.r8.naming.mappinginformation.MappingInformation.getJsonElementFromObject(com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.lang.String,java.lang.String):151:151 -> a
    9:9:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):69 -> a
    10:14:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):71:75 -> a
    15:15:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):74:74 -> a
    1:4:java.lang.String serialize():55:58 -> i
    1:1:java.lang.String getFileName():31:31 -> j
com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation -> com.android.tools.r8.naming.mappinginformation.b:
    com.android.tools.r8.naming.MapVersion mapVersion -> a
    java.lang.String value -> b
    1:3:void <init>(com.android.tools.r8.naming.MapVersion,java.lang.String):22:24 -> <init>
    boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation) -> a
    1:10:void deserialize(com.android.tools.r8.com.google.gson.JsonObject,int,java.util.function.Consumer):72:81 -> a
    com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation asMapVersionMappingInformation() -> b
    1:4:java.lang.String serialize():62:65 -> i
    1:1:com.android.tools.r8.naming.MapVersion getMapVersion():48:48 -> j
    1:1:java.lang.String getValue():52:52 -> k
com.android.tools.r8.naming.mappinginformation.MappingInformation -> com.android.tools.r8.naming.mappinginformation.c:
    1:1:void <init>():13:13 -> <init>
    boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation) -> a
    com.android.tools.r8.naming.mappinginformation.FileNameInformation asFileNameInformation() -> a
    1:7:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):86:92 -> a
    8:15:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):91:98 -> a
    16:16:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):97:97 -> a
    17:39:void deserialize(java.lang.String,com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):117:139 -> a
    17:39:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):101 -> a
    40:40:void deserialize(java.lang.String,com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):129:129 -> a
    40:40:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):101 -> a
    41:48:void deserialize(java.lang.String,com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):119:126 -> a
    41:48:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):101 -> a
    49:62:void deserialize(java.lang.String,com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):122:135 -> a
    49:62:void fromJsonObject(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,com.android.tools.r8.DiagnosticsHandler,int,java.util.function.Consumer):101 -> a
    com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation asMapVersionMappingInformation() -> b
    com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation asOutlineCallsiteInformation() -> c
    com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation asRewriteFrameMappingInformation() -> d
    com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation asUnknownJsonMappingInformation() -> e
    boolean isCompilerSynthesizedMappingInformation() -> f
    boolean isOutlineCallsiteInformation() -> g
    boolean isRewriteFrameMappingInformation() -> h
    java.lang.String serialize() -> i
com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics -> com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics:
    com.android.tools.r8.position.Position position -> c
    java.lang.String message -> b
    1:3:void <init>(java.lang.String,com.android.tools.r8.position.Position):34:36 -> <init>
    1:2:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics noHandlerFor(int,java.lang.String):40:41 -> a
    3:4:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics noKeyForObjectWithId(int,java.lang.String,java.lang.String,java.lang.String):70:71 -> a
    5:6:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics invalidValueForObjectWithId(int,java.lang.String,java.lang.String):77:78 -> a
    1:2:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics noKeyInJson(int,java.lang.String):46:47 -> b
    1:1:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics notValidJson(int):52:52 -> c
    1:2:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics notValidString(int,java.lang.String):57:58 -> d
    1:1:java.lang.String getDiagnosticMessage():31:31 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():21:21 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():26:26 -> getPosition
    1:1:com.android.tools.r8.naming.mappinginformation.MappingInformationDiagnostics notAllowedCombination(com.android.tools.r8.naming.mappinginformation.MappingInformation,com.android.tools.r8.naming.mappinginformation.MappingInformation,int):98:98 -> notAllowedCombination
com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation -> com.android.tools.r8.internal.cL:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap positions -> a
    com.android.tools.r8.naming.MapVersion SUPPORTED_VERSION -> b
    1:1:void <clinit>():17:17 -> <clinit>
    1:2:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap):24:25 -> <init>
    1:1:void lambda$serialize$0(com.android.tools.r8.com.google.gson.JsonObject,java.lang.Integer,java.lang.Integer):40:40 -> a
    2:2:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):48:48 -> a
    3:3:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isOutlineCallsiteInformation():0:0 -> a
    3:3:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):48 -> a
    4:4:int rewritePosition(int):62:62 -> a
    5:5:com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap):66:66 -> a
    6:6:boolean com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation.isSupported(com.android.tools.r8.naming.MapVersion):70:70 -> a
    6:6:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):75 -> a
    7:12:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):76:81 -> a
    13:13:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.<init>():176:176 -> a
    13:13:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):81 -> a
    14:15:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):83:84 -> a
    16:16:com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation.create(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap):66:66 -> a
    16:16:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):95 -> a
    17:17:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):95:95 -> a
    18:19:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):78:79 -> a
    20:25:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):87:92 -> a
    26:26:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":121,"2":122,"3":123}}
    121:121:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):92:92 -> a
    122:122:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):92:92 -> a
    123:123:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):92:92 -> a
    118:118:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):92:92 -> a
    119:119:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    119:119:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):92 -> a
    120:120:void lambda$deserialize$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.util.Map$Entry):92:92 -> a
    com.android.tools.r8.naming.mappinginformation.OutlineCallsiteMappingInformation asOutlineCallsiteInformation() -> c
    1:9:java.lang.String serialize():35:43 -> i
com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation -> com.android.tools.r8.internal.eL:
    com.android.tools.r8.naming.MapVersion SUPPORTED_VERSION -> a
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation) -> a
    1:1:boolean com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation.isSupported(com.android.tools.r8.naming.MapVersion):40:40 -> a
    1:1:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):44 -> a
    2:2:void deserialize(com.android.tools.r8.naming.MapVersion,java.util.function.Consumer):45:45 -> a
    1:3:java.lang.String serialize():24:26 -> i
com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation -> com.android.tools.r8.internal.OT:
    java.util.List actions -> b
    java.util.List conditions -> a
    com.android.tools.r8.naming.MapVersion SUPPORTED_VERSION -> c
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>(java.util.List,java.util.List,com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$1):27:27 -> <init>
    2:4:void <init>(java.util.List,java.util.List):37:39 -> <init>
    1:1:void lambda$serialize$0(com.android.tools.r8.com.google.gson.JsonArray,com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition):60:60 -> a
    2:2:void lambda$serialize$1(com.android.tools.r8.com.google.gson.JsonArray,com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction):63:63 -> a
    3:3:boolean com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation.isSupported(com.android.tools.r8.naming.MapVersion):69:69 -> a
    3:3:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):79 -> a
    4:17:void deserialize(com.android.tools.r8.naming.MapVersion,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):82:95 -> a
    18:18:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):74:74 -> a
    19:19:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isRewriteFrameMappingInformation():0:0 -> a
    19:19:boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation):74 -> a
    20:25:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):137:142 -> a
    20:25:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    20:25:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    26:26:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":40,"3":41}}
    40:40:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):143:143 -> a
    40:40:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    40:40:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    41:41:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):143:143 -> a
    41:41:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    41:41:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    27:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):144:145 -> a
    27:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    27:28:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    29:29:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88:88 -> a
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    30:30:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    31:31:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47,"4":48,"5":49}}
    45:45:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    45:45:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    45:45:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    46:46:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    46:46:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    46:46:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    47:47:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    47:47:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    47:47:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    48:48:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    48:48:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    48:48:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    49:49:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    49:49:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    49:49:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    32:32:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    32:32:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147 -> a
    32:32:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    32:32:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    33:33:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):147:147 -> a
    33:33:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    33:33:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    34:34:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    34:34:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    34:34:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    35:35:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":50,"2":51,"3":52,"4":53,"5":54}}
    50:50:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    50:50:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    50:50:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    51:51:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    51:51:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    51:51:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    52:52:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    52:52:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    52:52:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    53:53:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    53:53:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    53:53:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    54:54:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    54:54:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    54:54:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    36:36:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    36:36:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140 -> a
    36:36:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    36:36:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    37:37:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.deserialize(com.android.tools.r8.com.google.gson.JsonElement):140:140 -> a
    37:37:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition.access$200(com.android.tools.r8.com.google.gson.JsonElement):132 -> a
    37:37:void lambda$deserialize$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):88 -> a
    1:9:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):208:216 -> b
    1:9:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    1:9:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    10:10:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):274:274 -> b
    10:10:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    10:10:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    10:10:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    11:11:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.create(int):269:269 -> b
    11:11:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):274 -> b
    11:11:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    11:11:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    11:11:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    12:12:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94:94 -> b
    13:13:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    13:13:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    13:13:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    13:13:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    14:14:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":26,"2":27,"3":28,"4":29,"5":30}}
    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    26:26:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    26:26:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    27:27:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    27:27:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    28:28:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    28:28:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    29:29:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    29:29:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    30:30:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    30:30:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    15:15:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> b
    15:15:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276 -> b
    15:15:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    15:15:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    15:15:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    16:16:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.deserialize(java.lang.String):276:276 -> b
    16:16:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):217 -> b
    16:16:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    16:16:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    17:17:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
    17:17:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    17:17:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    18:18:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":31,"2":32,"3":33,"4":34,"5":35}}
    31:31:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
    31:31:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    31:31:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    32:32:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
    32:32:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    32:32:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    33:33:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
    33:33:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    33:33:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    34:34:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
    34:34:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    34:34:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    35:35:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:219 -> b
    35:35:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    35:35:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    19:20:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):219:220 -> b
    19:20:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    19:20:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    21:21:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":36,"2":37,"3":38,"4":39,"5":40}}
    36:36:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
    36:36:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    36:36:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    37:37:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
    37:37:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    37:37:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    38:38:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
    38:38:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    38:38:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    39:39:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
    39:39:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    39:39:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    40:40:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
    40:40:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    40:40:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    22:22:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):220:220 -> b
    22:22:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    22:22:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    23:23:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    23:23:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    23:23:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    24:24:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":41,"2":42,"3":43,"4":44,"5":45}}
    41:41:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    41:41:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    41:41:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    42:42:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    42:42:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    42:42:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    43:43:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    43:43:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    43:43:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    44:44:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    44:44:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    44:44:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    45:45:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    45:45:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    45:45:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    25:25:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.deserialize(com.android.tools.r8.com.google.gson.JsonElement):212:212 -> b
    25:25:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction.access$100(com.android.tools.r8.com.google.gson.JsonElement):203 -> b
    25:25:void lambda$deserialize$3(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.com.google.gson.JsonElement):94 -> b
    com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation asRewriteFrameMappingInformation() -> d
    1:9:java.lang.String serialize():57:65 -> i
    1:1:java.util.List getActions():47:47 -> j
    1:1:java.util.List getConditions():43:43 -> k
com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder -> com.android.tools.r8.internal.JT:
    java.util.List actions -> b
    java.util.List conditions -> a
    1:4:void <init>():112:115 -> <init>
    1:1:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder addCondition(com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition):118:118 -> a
    2:2:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder addRewriteAction(com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction):123:123 -> a
    3:3:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation build():128:128 -> a
com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Condition -> com.android.tools.r8.internal.KT:
    1:1:void <init>():132:132 -> <init>
    boolean evaluate(com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl) -> a
    com.android.tools.r8.com.google.gson.JsonPrimitive serialize() -> a
com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction -> com.android.tools.r8.internal.LT:
    int numberOfFrames -> b
    1:2:void <init>(int):240:241 -> <init>
    1:1:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    2:2:com.android.tools.r8.com.google.gson.JsonElement serialize():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":504,"2":505,"3":506}}
    504:504:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    505:505:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    506:506:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    252:252:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    253:253:com.android.tools.r8.com.google.gson.JsonElement serialize():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":507,"2":508,"3":509}}
    507:507:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    508:508:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    509:509:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    503:503:com.android.tools.r8.com.google.gson.JsonElement serialize():250:250 -> a
    510:510:void evaluate(com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder):265:265 -> a
com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RewriteAction -> com.android.tools.r8.internal.MT:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():203:203 -> <clinit>
    1:1:void <init>():203:203 -> <init>
    void evaluate(com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder) -> a
    com.android.tools.r8.com.google.gson.JsonElement serialize() -> a
com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition -> com.android.tools.r8.internal.NT:
    com.android.tools.r8.references.ClassReference classReference -> a
    1:2:void <init>(com.android.tools.r8.references.ClassReference):167:168 -> <init>
    1:1:com.android.tools.r8.com.google.gson.JsonPrimitive serialize():173:173 -> a
    2:2:com.android.tools.r8.com.google.gson.JsonPrimitive serialize():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":176,"2":177,"3":178}}
    176:176:com.android.tools.r8.com.google.gson.JsonPrimitive serialize():173:173 -> a
    177:177:com.android.tools.r8.com.google.gson.JsonPrimitive serialize():173:173 -> a
    178:178:com.android.tools.r8.com.google.gson.JsonPrimitive serialize():173:173 -> a
    175:175:com.android.tools.r8.com.google.gson.JsonPrimitive serialize():173:173 -> a
    179:179:boolean evaluate(com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl):188:188 -> a
    180:183:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):192:195 -> a
    184:184:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    185:185:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":188,"2":189,"3":190,"4":191,"5":192}}
    188:188:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    189:189:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    190:190:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    191:191:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    192:192:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    186:186:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    186:186:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193 -> a
    187:187:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition deserialize(java.lang.String):193:193 -> a
    193:193:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$ThrowsCondition create(com.android.tools.r8.references.ClassReference):199:199 -> a
com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation -> com.android.tools.r8.internal.L00:
    java.lang.String id -> a
    java.lang.String payload -> b
    1:3:void <init>(java.lang.String,java.lang.String):16:18 -> <init>
    boolean allowOther(com.android.tools.r8.naming.mappinginformation.MappingInformation) -> a
    1:1:void deserialize(java.lang.String,com.android.tools.r8.com.google.gson.JsonObject,java.util.function.Consumer):52:52 -> a
    com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation asUnknownJsonMappingInformation() -> e
    1:1:java.lang.String serialize():32:32 -> i
    1:1:java.lang.String getId():23:23 -> j
    1:1:java.lang.String getPayload():27:27 -> k
com.android.tools.r8.naming.signature.GenericSignatureAction -> com.android.tools.r8.internal.Yl:
    void parsedIdentifier(java.lang.String) -> a
    java.lang.Object parsedInnerTypeName(java.lang.Object,java.lang.String) -> a
    void parsedSymbol(char) -> a
    java.lang.Object parsedTypeName(java.lang.String,com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition) -> a
    void stop() -> a
com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition -> com.android.tools.r8.internal.Yl$a:
    com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition MEMBER_ANNOTATION -> d
    com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition ENCLOSING_INNER_OR_TYPE_ANNOTATION -> c
    com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition CLASS_SUPER_OR_INTERFACE_ANNOTATION -> b
    1:3:void <clinit>():15:17 -> <clinit>
    1:1:void <init>(java.lang.String,int):14:14 -> <init>
com.android.tools.r8.naming.signature.GenericSignatureParser -> com.android.tools.r8.internal.am:
    com.android.tools.r8.naming.signature.GenericSignatureAction actions -> a
    char[] buffer -> e
    int pos -> f
    char symbol -> b
    boolean $assertionsDisabled -> g
    java.lang.String identifier -> c
    boolean eof -> d
    1:1:void <clinit>():54:54 -> <clinit>
    1:2:void <init>(com.android.tools.r8.naming.signature.GenericSignatureAction):76:77 -> <init>
    1:1:void parseClassSignature(java.lang.String):82:82 -> a
    2:7:void com.android.tools.r8.naming.signature.GenericSignatureParser.setInput(java.lang.String):129:134 -> a
    2:7:void parseClassSignature(java.lang.String):83 -> a
    8:19:void com.android.tools.r8.naming.signature.GenericSignatureParser.parseOptFormalTypeParameters():158:169 -> a
    8:19:void com.android.tools.r8.naming.signature.GenericSignatureParser.parseClassSignature():144 -> a
    8:19:void parseClassSignature(java.lang.String):84 -> a
    20:24:void com.android.tools.r8.naming.signature.GenericSignatureParser.parseClassSignature():147:151 -> a
    20:24:void parseClassSignature(java.lang.String):84 -> a
    25:29:void parseClassSignature(java.lang.String):85:89 -> a
    30:30:void parseClassSignature(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":125,"2":126,"3":127}}
    125:125:void parseClassSignature(java.lang.String):89:89 -> a
    126:126:void parseClassSignature(java.lang.String):89:89 -> a
    127:127:void parseClassSignature(java.lang.String):89:89 -> a
    120:122:void parseClassSignature(java.lang.String):90:92 -> a
    123:123:void parseClassSignature(java.lang.String):87:87 -> a
    128:139:void com.android.tools.r8.naming.signature.GenericSignatureParser.parseOptFormalTypeParameters():158:169 -> a
    128:139:void parseMethodTypeSignature():319 -> a
    140:144:void parseMethodTypeSignature():321:325 -> a
    145:145:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):312:312 -> a
    145:145:void parseMethodTypeSignature():325 -> a
    146:147:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):307:308 -> a
    146:147:void parseMethodTypeSignature():325 -> a
    148:149:void parseMethodTypeSignature():328:329 -> a
    150:151:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateReturnType():350:351 -> a
    150:151:void parseMethodTypeSignature():331 -> a
    152:152:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):312:312 -> a
    152:152:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateReturnType():351 -> a
    152:152:void parseMethodTypeSignature():331 -> a
    153:154:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):307:308 -> a
    153:154:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateReturnType():351 -> a
    153:154:void parseMethodTypeSignature():331 -> a
    155:156:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateReturnType():353:354 -> a
    155:156:void parseMethodTypeSignature():331 -> a
    157:163:void parseMethodTypeSignature():333:339 -> a
    164:172:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeVariableSignature():286:294 -> a
    164:172:void parseMethodTypeSignature():340 -> a
    173:175:void parseMethodTypeSignature():342:344 -> a
    176:190:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):218:232 -> a
    191:193:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():252:254 -> a
    191:193:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):234 -> a
    194:206:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeArgument():268:280 -> a
    194:206:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():256 -> a
    194:206:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):234 -> a
    207:207:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():257:257 -> a
    207:207:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):234 -> a
    208:219:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeArgument():269:280 -> a
    208:219:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():258 -> a
    208:219:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):234 -> a
    220:221:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():261:262 -> a
    220:221:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):234 -> a
    222:228:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):236:242 -> a
    229:231:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():252:254 -> a
    229:231:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):243 -> a
    232:244:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeArgument():268:280 -> a
    232:244:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():256 -> a
    232:244:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):243 -> a
    245:245:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():257:257 -> a
    245:245:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):243 -> a
    246:257:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeArgument():269:280 -> a
    246:257:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():258 -> a
    246:257:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):243 -> a
    258:259:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateOptTypeArguments():261:262 -> a
    258:259:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):243 -> a
    260:261:void parseClassTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):246:247 -> a
    262:268:void expect(char):379:385 -> a
    269:269:void expect(char):380:380 -> a
    270:272:void parseError(java.lang.String,int):443:445 -> a
    1:1:void parseFieldSignature(java.lang.String):114:114 -> b
    2:7:void com.android.tools.r8.naming.signature.GenericSignatureParser.setInput(java.lang.String):129:134 -> b
    2:7:void parseFieldSignature(java.lang.String):115 -> b
    8:13:void parseFieldSignature(java.lang.String):116:121 -> b
    14:14:void parseFieldSignature(java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":141,"2":142,"3":143}}
    141:141:void parseFieldSignature(java.lang.String):121:121 -> b
    142:142:void parseFieldSignature(java.lang.String):121:121 -> b
    143:143:void parseFieldSignature(java.lang.String):121:121 -> b
    136:138:void parseFieldSignature(java.lang.String):122:124 -> b
    139:139:void parseFieldSignature(java.lang.String):119:119 -> b
    144:151:void parseFieldTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):197:204 -> b
    152:166:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):298:312 -> b
    152:166:void parseFieldTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):205 -> b
    167:168:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):307:308 -> b
    167:168:void parseFieldTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):205 -> b
    169:169:void parseFieldTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):211:211 -> b
    170:178:void com.android.tools.r8.naming.signature.GenericSignatureParser.updateTypeVariableSignature():286:294 -> b
    170:178:void parseFieldTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):208 -> b
    179:179:void parseFieldTypeSignature(com.android.tools.r8.naming.signature.GenericSignatureAction$ParserPosition):199:199 -> b
    180:201:void scanIdentifier():405:426 -> b
    202:213:void scanIdentifier():419:430 -> b
    214:214:void com.android.tools.r8.naming.signature.GenericSignatureParser.parseError():439:439 -> b
    214:214:void scanIdentifier():431 -> b
    215:215:void scanIdentifier():434:434 -> b
    1:1:void parseMethodSignature(java.lang.String):98:98 -> c
    2:7:void com.android.tools.r8.naming.signature.GenericSignatureParser.setInput(java.lang.String):129:134 -> c
    2:7:void parseMethodSignature(java.lang.String):99 -> c
    8:13:void parseMethodSignature(java.lang.String):100:105 -> c
    14:14:void parseMethodSignature(java.lang.String):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":125,"2":126,"3":127}}
    125:125:void parseMethodSignature(java.lang.String):105:105 -> c
    126:126:void parseMethodSignature(java.lang.String):105:105 -> c
    127:127:void parseMethodSignature(java.lang.String):105:105 -> c
    120:122:void parseMethodSignature(java.lang.String):106:108 -> c
    123:123:void parseMethodSignature(java.lang.String):103:103 -> c
    128:138:void scanSymbol():364:374 -> c
    1:17:void updateFormalTypeParameter():175:191 -> d
com.android.tools.r8.naming.signature.GenericSignatureRewriter -> com.android.tools.r8.internal.bm:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.naming.NamingLens namingLens -> b
    com.android.tools.r8.graph.GenericSignatureContextBuilder contextBuilder -> c
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.GenericSignatureContextBuilder):35:38 -> <init>
    1:11:void run(java.lang.Iterable,java.util.concurrent.ExecutorService):45:55 -> a
    12:12:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    12:12:void run(java.lang.Iterable,java.util.concurrent.ExecutorService):55 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:boolean com.android.tools.r8.graph.AppView.hasLiveness():667:667 -> a
    13:13:void run(java.lang.Iterable,java.util.concurrent.ExecutorService):55 -> a
    14:23:void run(java.lang.Iterable,java.util.concurrent.ExecutorService):55:64 -> a
    24:24:void run(java.lang.Iterable,java.util.concurrent.ExecutorService):61:61 -> a
    25:25:boolean lambda$run$0(java.util.function.Predicate,com.android.tools.r8.graph.DexType):57:57 -> a
    26:26:boolean lambda$run$1(java.util.function.Predicate,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):60:60 -> a
    27:27:boolean lambda$run$2(java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):64:64 -> a
    28:32:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):67:71 -> a
    33:33:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):70:70 -> a
    34:46:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):68:80 -> a
    47:50:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):70:73 -> a
    47:50:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):80 -> a
    51:51:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):81:81 -> a
    52:52:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):78:78 -> a
    53:66:void lambda$run$5(java.util.function.Predicate,java.util.function.BiPredicate,java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass):77:90 -> a
    67:67:void lambda$run$3(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):88:88 -> a
    68:70:void lambda$run$3(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):87:89 -> a
    71:71:void lambda$run$3(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):85:85 -> a
    72:72:void lambda$run$3(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):84:84 -> a
    73:73:void lambda$run$4(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):100:100 -> a
    74:77:void lambda$run$4(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):99:102 -> a
    78:78:void lambda$run$4(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):96:96 -> a
    79:79:void lambda$run$4(com.android.tools.r8.graph.GenericSignatureTypeRewriter,com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):95:95 -> a
com.android.tools.r8.optimize.ClassAndMemberPublicizer -> com.android.tools.r8.internal.F9:
    com.android.tools.r8.graph.DexApplication application -> a
    com.android.tools.r8.ir.optimize.MethodPoolCollection methodPoolCollection -> d
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.optimize.PublicizerLens$PublicizedLensBuilder lensBuilder -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> c
    1:1:void <clinit>():39:39 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):52:52 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):47:57 -> <init>
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexClassAndMember.getContextType():36:36 -> a
    1:1:java.lang.Boolean lambda$publicizeMethod$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass,java.lang.Boolean):181 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:java.lang.Boolean lambda$publicizeMethod$2(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass,java.lang.Boolean):181:181 -> a
    3:4:com.android.tools.r8.graph.GraphLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):76:77 -> a
    5:9:com.android.tools.r8.graph.GraphLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):82:86 -> a
    10:10:void com.android.tools.r8.shaking.AppInfoWithLiveness.forEachReachableInterface(java.util.function.Consumer):796:796 -> a
    10:10:com.android.tools.r8.graph.GraphLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):86 -> a
    11:14:com.android.tools.r8.graph.GraphLens run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):87:90 -> a
    15:15:void lambda$run$0(com.android.tools.r8.graph.DexClass):86:86 -> a
    16:20:void publicizeType(com.android.tools.r8.graph.DexType):98:102 -> a
    21:21:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):106:106 -> a
    22:22:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClass.getAccessFlags():43:43 -> a
    22:22:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    22:22:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):107 -> a
    23:23:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    23:23:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):107 -> a
    24:24:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):111:111 -> a
    25:25:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    25:25:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):111 -> a
    26:43:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):114:131 -> a
    44:52:void com.android.tools.r8.graph.DexClass.replaceInnerClassAttributeForThisClass(com.android.tools.r8.graph.InnerClassAttribute):1076:1084 -> a
    44:52:void publicizeClass(com.android.tools.r8.graph.DexProgramClass):129 -> a
    53:54:void lambda$publicizeClass$1(java.util.Set,com.android.tools.r8.graph.ProgramMethod):117:118 -> a
    55:55:void publicizeField(com.android.tools.r8.graph.ProgramField):136:136 -> a
    56:56:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    56:56:void publicizeField(com.android.tools.r8.graph.ProgramField):137 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    57:57:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    57:57:void publicizeField(com.android.tools.r8.graph.ProgramField):137 -> a
    58:61:void publicizeField(com.android.tools.r8.graph.ProgramField):140:143 -> a
    62:62:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    62:62:void publicizeField(com.android.tools.r8.graph.ProgramField):147 -> a
    63:91:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):151:179 -> a
    92:92:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):176:176 -> a
    93:93:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClassAndMethod.getAccessFlags():11:11 -> a
    93:93:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    93:93:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):184 -> a
    94:94:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition) -> a
    94:94:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):184 -> a
    95:97:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):188:190 -> a
    98:98:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClassAndMethod.getAccessFlags():11:11 -> a
    98:98:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    98:98:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):195 -> a
    99:99:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    99:99:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):195 -> a
    100:114:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):202:216 -> a
    115:115:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClassAndMethod.getAccessFlags():11:11 -> a
    115:115:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    115:115:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):217 -> a
    116:116:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    116:116:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):217 -> a
    117:117:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):219:219 -> a
    118:118:com.android.tools.r8.graph.AccessFlags com.android.tools.r8.graph.DexClassAndMethod.getAccessFlags():11:11 -> a
    118:118:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94 -> a
    118:118:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):166 -> a
    119:119:void com.android.tools.r8.optimize.ClassAndMemberPublicizer.doPublicize(com.android.tools.r8.graph.ProgramDefinition):94:94 -> a
    119:119:boolean publicizeMethod(com.android.tools.r8.graph.ProgramMethod):166 -> a
com.android.tools.r8.optimize.FieldRebindingIdentityLens -> com.android.tools.r8.internal.fk:
    boolean $assertionsDisabled -> g
    java.util.Map nonReboundFieldReferenceToDefinitionMap -> f
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.FieldRebindingIdentityLens$1):23:23 -> <init>
    2:3:void <init>(java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):31:32 -> <init>
    com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod) -> a
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):60:60 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):70:70 -> a
    3:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):78:78 -> a
    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    4:4:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):78 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:5:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):46:50 -> b
    6:6:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.FieldRebindingIdentityLens.getReboundFieldReference(com.android.tools.r8.graph.DexField):55:55 -> b
    6:6:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):50 -> b
    7:8:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):50:51 -> b
    9:9:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):65:65 -> b
    10:10:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):83:83 -> b
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    1:3:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111:113 -> d
    com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> e
    boolean hasCodeRewritings() -> e
    1:1:boolean isContextFreeForMethods():118:118 -> g
com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder -> com.android.tools.r8.internal.ek:
    java.util.Map nonReboundFieldReferenceToDefinitionMap -> a
    1:1:void <init>(com.android.tools.r8.optimize.FieldRebindingIdentityLens$1):121:121 -> <init>
    2:2:void <init>():126:126 -> <init>
    3:3:void <init>():123:123 -> <init>
    1:1:void recordDefinitionForNonReboundFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):130:130 -> a
    2:3:com.android.tools.r8.optimize.FieldRebindingIdentityLens build(com.android.tools.r8.graph.DexItemFactory):137:138 -> a
com.android.tools.r8.optimize.InvokeSingleTargetExtractor -> com.android.tools.r8.internal.Lu:
    com.android.tools.r8.optimize.InvokeSingleTargetExtractor$InvokeKind kind -> e
    com.android.tools.r8.graph.DexMethod target -> f
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):20:20 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):16:16 -> <init>
    1:7:void setTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.optimize.InvokeSingleTargetExtractor$InvokeKind):24:30 -> a
    8:8:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> a
    8:8:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):83 -> a
    9:9:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> a
    9:9:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):58 -> a
    1:1:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> b
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):48 -> b
    2:2:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> b
    2:2:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):68 -> b
    1:1:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):78 -> c
    2:2:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> c
    2:2:void registerInstanceOf(com.android.tools.r8.graph.DexType):108 -> c
    1:1:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> d
    1:1:void registerNewInstance(com.android.tools.r8.graph.DexType):88 -> d
    2:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):63:63 -> d
    1:1:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> e
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):93 -> e
    1:1:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> f
    1:1:void registerTypeReference(com.android.tools.r8.graph.DexType):103 -> f
    2:2:com.android.tools.r8.optimize.InvokeSingleTargetExtractor$InvokeKind getKind():43:43 -> f
    3:3:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):73:73 -> f
    1:1:void com.android.tools.r8.optimize.InvokeSingleTargetExtractor.invalid():35:35 -> g
    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):98 -> g
    2:2:com.android.tools.r8.graph.DexMethod getTarget():39:39 -> g
    3:3:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):53:53 -> g
com.android.tools.r8.optimize.MemberRebindingAnalysis -> com.android.tools.r8.internal.UD:
    com.android.tools.r8.optimize.MemberRebindingLens$Builder lensBuilder -> d
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.utils.InternalOptions options -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.androidapi.AndroidApiLevelCompute androidApiLevelCompute -> a
    1:1:void <clinit>():47:47 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView):55:60 -> <init>
    1:1:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    1:1:com.android.tools.r8.graph.DexField validMemberRebindingTargetFor(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexField):177 -> a
    2:10:com.android.tools.r8.graph.DexField validMemberRebindingTargetFor(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexField):178:186 -> a
    11:18:com.android.tools.r8.graph.DexField validMemberRebindingTargetFor(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.DexField):182:189 -> a
    19:19:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.optimize.MemberRebindingAnalysis):47:47 -> a
    20:20:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):69:69 -> a
    21:21:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    21:21:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):69 -> a
    22:24:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):69:71 -> a
    25:25:boolean com.android.tools.r8.ir.code.Invoke$Type.isDirect():181:181 -> a
    25:25:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):71 -> a
    26:26:boolean com.android.tools.r8.ir.code.Invoke$Type.isSuper():193:193 -> a
    26:26:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):75 -> a
    27:34:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):75:82 -> a
    35:51:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):78:94 -> a
    52:52:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):322:322 -> a
    52:52:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):94 -> a
    53:57:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):100:104 -> a
    58:58:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):103:103 -> a
    59:59:boolean com.android.tools.r8.graph.Definition.isLibraryMethod():0:0 -> a
    59:59:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):147 -> a
    59:59:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    60:60:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):148:148 -> a
    60:60:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    61:61:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.isInvokeSuperToInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):168:168 -> a
    61:61:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):149 -> a
    61:61:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    62:62:boolean com.android.tools.r8.ir.code.Invoke$Type.isSuper():193:193 -> a
    62:62:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.isInvokeSuperToInterfaceMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):168 -> a
    62:62:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):149 -> a
    62:62:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    63:63:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.isInvokeSuperToAbstractMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):172:172 -> a
    63:63:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):150 -> a
    63:63:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    64:64:boolean com.android.tools.r8.ir.code.Invoke$Type.isSuper():193:193 -> a
    64:64:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.isInvokeSuperToAbstractMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):172 -> a
    64:64:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):150 -> a
    64:64:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    65:65:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):152:152 -> a
    65:65:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    66:66:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.canRebindDirectlyToLibraryMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type):151:151 -> a
    66:66:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):101 -> a
    67:69:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):107:109 -> a
    70:70:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):767:767 -> a
    70:70:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):759 -> a
    70:70:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):109 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexMethod):763:763 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeNoSideEffectsMethod(com.android.tools.r8.graph.DexClassAndMethod):767 -> a
    71:71:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):759 -> a
    71:71:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):109 -> a
    72:72:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexClassAndMethod):775:775 -> a
    72:72:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):759 -> a
    72:72:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):109 -> a
    73:73:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexMethod):771:771 -> a
    73:73:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeValuesMethod(com.android.tools.r8.graph.DexClassAndMethod):775 -> a
    73:73:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isAssumeMethod(com.android.tools.r8.graph.DexClassAndMethod):759 -> a
    73:73:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):109 -> a
    74:96:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):112:134 -> a
    97:103:com.android.tools.r8.graph.DexMethod validMemberRebindingTargetForNonProgramMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod):130:136 -> a
    104:104:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):159:159 -> a
    105:105:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    105:105:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):159 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    106:106:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    106:106:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):159 -> a
    107:107:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):159:159 -> a
    108:108:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    108:108:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):159 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    109:109:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    109:109:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):159 -> a
    110:110:boolean isAccessibleInAllContexts(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.utils.collections.ProgramMethodSet):162:162 -> a
    111:111:boolean lambda$isAccessibleInAllContexts$0(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod):164:164 -> a
    112:113:com.android.tools.r8.graph.DexType firstLibraryClassOrFirstInterfaceTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Object,com.android.tools.r8.graph.DexType,java.util.function.BiFunction):199:200 -> a
    114:119:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.MemberRebindingAnalysis.firstLibraryClass(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):238:243 -> a
    114:119:com.android.tools.r8.graph.DexType firstLibraryClassOrFirstInterfaceTarget(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Object,com.android.tools.r8.graph.DexType,java.util.function.BiFunction):201 -> a
    120:142:com.android.tools.r8.graph.DexType firstLibraryClassForInterfaceTarget(com.android.tools.r8.graph.DexDefinitionSupplier,java.lang.Object,com.android.tools.r8.graph.DexType,java.util.function.BiFunction):209:231 -> a
    143:143:com.android.tools.r8.graph.MethodResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod):255:255 -> a
    144:155:void computeMethodRebinding(com.android.tools.r8.graph.MethodAccessInfoCollection):260:271 -> a
    156:220:void computeMethodRebinding(com.android.tools.r8.utils.BiForEachable,java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type):279:343 -> a
    221:221:java.util.List lambda$computeMethodRebinding$1(com.android.tools.r8.graph.DexProgramClass):284:284 -> a
    222:223:void lambda$computeMethodRebinding$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):284:285 -> a
    224:238:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):289:303 -> a
    239:239:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):365:365 -> a
    239:239:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):310 -> a
    240:240:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    240:240:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):365 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    240:240:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):310 -> a
    241:241:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    241:241:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):365 -> a
    241:241:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):310 -> a
    242:245:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.needsBridgeForInterfaceMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.ir.code.Invoke$Type):365:368 -> a
    242:245:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):310 -> a
    246:246:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):314:314 -> a
    247:251:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingAnalysis.insertBridgeForInterfaceMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.TriConsumer):385:389 -> a
    247:251:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):313 -> a
    252:253:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):318:319 -> a
    254:263:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingAnalysis.insertBridgeForVisibilityIfNeeded(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriConsumer):432:441 -> a
    254:263:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):321 -> a
    264:267:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingAnalysis.insertBridgeForVisibilityIfNeeded(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.TriConsumer):436:439 -> a
    264:267:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):321 -> a
    268:268:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):327:327 -> a
    269:269:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    269:269:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):328 -> a
    270:276:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):329:335 -> a
    277:277:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):333:333 -> a
    278:278:void lambda$computeMethodRebinding$4(java.util.function.Function,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.collections.ProgramMethodSet):331:331 -> a
    279:279:int lambda$computeMethodRebinding$5(com.android.tools.r8.utils.Pair,com.android.tools.r8.utils.Pair):347:347 -> a
    280:291:void lambda$computeMethodRebinding$6(java.util.function.Function,com.android.tools.r8.graph.DexProgramClass,java.util.List):347:358 -> a
    292:301:com.android.tools.r8.graph.DexProgramClass findHolderForInterfaceMethodBridge(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):393:402 -> a
    302:309:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):406:413 -> a
    302:309:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):319 -> a
    310:314:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):412:416 -> a
    310:314:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):319 -> a
    315:319:boolean com.android.tools.r8.optimize.MemberRebindingAnalysis.mayNeedBridgeForVisibility(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClassAndMethod):415:419 -> a
    315:319:boolean lambda$computeMethodRebinding$3(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.ProgramMethod):319 -> a
    320:342:com.android.tools.r8.graph.DexProgramClass findHolderForVisibilityBridge(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,java.lang.String):446:468 -> a
    343:344:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$8(java.util.Set,com.android.tools.r8.graph.FieldAccessInfo):496:497 -> a
    345:350:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$7(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexField):499:504 -> a
    351:356:void lambda$verifyFieldAccessCollectionContainsAllNonReboundFieldReferences$7(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.DexField):500:505 -> a
    357:359:java.util.Set computeNonReboundFieldReferences(java.util.concurrent.ExecutorService):514:516 -> a
    360:360:java.util.Set computeNonReboundFieldReferences(java.util.concurrent.ExecutorService):515:515 -> a
    361:362:void lambda$computeNonReboundFieldReferences$9(java.util.Set,com.android.tools.r8.graph.ProgramMethod):518:519 -> a
    1:1:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnClass(com.android.tools.r8.graph.DexMethod):247:247 -> b
    2:5:void recordNonReboundFieldAccesses(java.util.concurrent.ExecutorService):475:478 -> b
    1:1:com.android.tools.r8.graph.MethodResolutionResult resolveMethodOnInterface(com.android.tools.r8.graph.DexMethod):251:251 -> c
    2:6:com.android.tools.r8.optimize.MemberRebindingLens run(java.util.concurrent.ExecutorService):482:486 -> c
    1:18:boolean verifyFieldAccessCollectionContainsAllNonReboundFieldReferences(java.util.concurrent.ExecutorService):491:508 -> d
com.android.tools.r8.optimize.MemberRebindingAnalysis$1 -> com.android.tools.r8.internal.TD:
    com.android.tools.r8.optimize.MemberRebindingAnalysis this$0 -> f
    java.util.Set val$nonReboundFieldReferences -> e
    1:1:void <init>(com.android.tools.r8.optimize.MemberRebindingAnalysis,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.Set):520:520 -> <init>
    void registerInvokeDirect(com.android.tools.r8.graph.DexMethod) -> a
    1:1:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):524:524 -> a
    2:3:void lambda$registerFieldReference$0(com.android.tools.r8.graph.DexField,java.util.Set,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):548:549 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    void registerInvokeInterface(com.android.tools.r8.graph.DexMethod) -> b
    void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):529:529 -> c
    void registerInvokeStatic(com.android.tools.r8.graph.DexMethod) -> d
    void registerNewInstance(com.android.tools.r8.graph.DexType) -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):534:534 -> e
    void registerInvokeSuper(com.android.tools.r8.graph.DexMethod) -> f
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):539:539 -> g
    1:4:void registerFieldReference(com.android.tools.r8.graph.DexField):543:546 -> i
com.android.tools.r8.optimize.MemberRebindingIdentityLens -> com.android.tools.r8.internal.WD:
    boolean $assertionsDisabled -> h
    java.util.Map nonReboundFieldReferenceToDefinitionMap -> f
    java.util.Map nonReboundMethodReferenceToDefinitionMap -> g
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.MemberRebindingIdentityLens$1):27:27 -> <init>
    2:5:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens):37:40 -> <init>
    com.android.tools.r8.optimize.MemberRebindingIdentityLens asMemberRebindingIdentityLens() -> a
    1:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):74:77 -> a
    5:5:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.MemberRebindingIdentityLens.getReboundMethodReference(com.android.tools.r8.graph.DexMethod):84:84 -> a
    5:5:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):77 -> a
    6:9:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):77:80 -> a
    10:10:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):89:89 -> a
    11:11:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):99:99 -> a
    12:12:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):107:107 -> a
    13:13:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    13:13:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):107 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:15:com.android.tools.r8.optimize.MemberRebindingIdentityLens toRewrittenMemberRebindingIdentityLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):156:157 -> a
    16:16:com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder com.android.tools.r8.optimize.MemberRebindingIdentityLens.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):49:49 -> a
    16:16:com.android.tools.r8.optimize.MemberRebindingIdentityLens toRewrittenMemberRebindingIdentityLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):157 -> a
    17:36:com.android.tools.r8.optimize.MemberRebindingIdentityLens toRewrittenMemberRebindingIdentityLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):158:177 -> a
    37:37:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    37:37:void lambda$toRewrittenMemberRebindingIdentityLens$1(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):170 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:38:void lambda$toRewrittenMemberRebindingIdentityLens$1(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):173:173 -> a
    39:39:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    39:39:void lambda$toRewrittenMemberRebindingIdentityLens$1(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):173 -> a
    40:42:void lambda$toRewrittenMemberRebindingIdentityLens$1(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):172:174 -> a
    43:43:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    43:43:void lambda$toRewrittenMemberRebindingIdentityLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):160 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:void lambda$toRewrittenMemberRebindingIdentityLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):163:163 -> a
    45:45:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    45:45:void lambda$toRewrittenMemberRebindingIdentityLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):163 -> a
    46:48:void lambda$toRewrittenMemberRebindingIdentityLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):162:164 -> a
    1:5:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):59:63 -> b
    6:6:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.MemberRebindingIdentityLens.getReboundFieldReference(com.android.tools.r8.graph.DexField):68:68 -> b
    6:6:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):63 -> b
    7:8:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):63:64 -> b
    9:9:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):94:94 -> b
    10:10:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):112:112 -> b
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    1:3:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):134:136 -> d
    com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> e
    boolean hasCodeRewritings() -> e
    1:1:boolean isContextFreeForMethods():141:141 -> g
com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder -> com.android.tools.r8.internal.VD:
    java.util.Map nonReboundFieldReferenceToDefinitionMap -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map nonReboundMethodReferenceToDefinitionMap -> d
    com.android.tools.r8.graph.GraphLens previousLens -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.MemberRebindingIdentityLens$1):180:180 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):190:190 -> <init>
    3:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):185:192 -> <init>
    1:1:void recordNonReboundFieldAccesses(com.android.tools.r8.graph.FieldAccessInfo):196:196 -> a
    2:2:void lambda$recordNonReboundFieldAccesses$0(com.android.tools.r8.graph.FieldAccessInfo,com.android.tools.r8.graph.DexField):198:198 -> a
    3:3:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):203:203 -> a
    3:3:void lambda$recordNonReboundFieldAccesses$0(com.android.tools.r8.graph.FieldAccessInfo,com.android.tools.r8.graph.DexField):198 -> a
    4:4:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):203:203 -> a
    4:4:void access$300(com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):180 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):203:203 -> a
    5:5:void access$300(com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):180 -> a
    6:6:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundMethodAccess(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):208:208 -> a
    6:6:void access$200(com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):180 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundMethodAccess(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):208:208 -> a
    7:7:void access$200(com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):180 -> a
    8:17:void recordMethodAccess(com.android.tools.r8.graph.DexMethod):213:222 -> a
    18:18:void com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder.recordNonReboundMethodAccess(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):208:208 -> a
    18:18:void recordMethodAccess(com.android.tools.r8.graph.DexMethod):221 -> a
    19:22:com.android.tools.r8.optimize.MemberRebindingIdentityLens build():231:234 -> a
com.android.tools.r8.optimize.MemberRebindingIdentityLensFactory -> com.android.tools.r8.internal.YD:
    1:19:com.android.tools.r8.optimize.MemberRebindingIdentityLens create(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):46:64 -> a
    20:20:com.android.tools.r8.optimize.MemberRebindingIdentityLens create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.MethodAccessInfoCollection):71:71 -> a
    21:21:com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder com.android.tools.r8.optimize.MemberRebindingIdentityLens.builder(com.android.tools.r8.graph.AppView):44:44 -> a
    21:21:com.android.tools.r8.optimize.MemberRebindingIdentityLens create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.MethodAccessInfoCollection):71 -> a
    22:22:com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder com.android.tools.r8.optimize.MemberRebindingIdentityLens.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):49:49 -> a
    22:22:com.android.tools.r8.optimize.MemberRebindingIdentityLens$Builder com.android.tools.r8.optimize.MemberRebindingIdentityLens.builder(com.android.tools.r8.graph.AppView):44 -> a
    22:22:com.android.tools.r8.optimize.MemberRebindingIdentityLens create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.MethodAccessInfoCollection):71 -> a
    23:25:com.android.tools.r8.optimize.MemberRebindingIdentityLens create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollection,com.android.tools.r8.graph.MethodAccessInfoCollection):72:74 -> a
    26:29:void initializeMemberAccessInfoCollectionsForMemberRebinding(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder,java.util.concurrent.ExecutorService):87:90 -> a
    30:30:void initializeMemberAccessInfoCollectionsForMemberRebinding(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder,java.util.concurrent.ExecutorService):89:89 -> a
    31:31:void lambda$initializeMemberAccessInfoCollectionsForMemberRebinding$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder,java.util.Set,java.util.Set,com.android.tools.r8.graph.ProgramMethod):92:92 -> a
    32:32:void com.android.tools.r8.graph.UseRegistry.accept(com.android.tools.r8.graph.ProgramMethod):31:31 -> a
    32:32:void lambda$initializeMemberAccessInfoCollectionsForMemberRebinding$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder,java.util.Set,java.util.Set,com.android.tools.r8.graph.ProgramMethod):99 -> a
com.android.tools.r8.optimize.MemberRebindingIdentityLensFactory$NonReboundMemberReferencesRegistry -> com.android.tools.r8.internal.XD:
    java.util.Set seenFieldReferences -> h
    java.util.Set seenMethodReferences -> i
    com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder methodAccessInfoCollectionBuilder -> g
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> e
    com.android.tools.r8.graph.FieldAccessInfoCollectionImpl fieldAccessInfoCollection -> f
    1:1:void <clinit>():103:103 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection$ConcurrentBuilder,java.util.Set,java.util.Set):118:123 -> <init>
    1:1:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):128:128 -> a
    2:15:void lambda$registerFieldAccess$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):154:167 -> a
    16:16:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> a
    16:16:void lambda$registerFieldAccess$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):167 -> a
    17:19:void lambda$registerFieldAccess$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):168:170 -> a
    20:20:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> a
    20:20:void lambda$registerFieldAccess$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):170 -> a
    21:29:void lambda$registerFieldAccess$0(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):170:178 -> a
    30:30:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):184:184 -> a
    31:37:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod,java.util.Map):208:214 -> a
    38:38:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):46:46 -> a
    38:38:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod,java.util.Map):214 -> a
    39:51:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod,java.util.Map):218:230 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    1:1:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):189:189 -> b
    void registerInstanceOf(com.android.tools.r8.graph.DexType) -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):133:133 -> c
    void registerNewInstance(com.android.tools.r8.graph.DexType) -> d
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):194:194 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):138:138 -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):199:199 -> f
    1:1:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):143:143 -> g
    2:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):204:204 -> g
    1:6:void registerFieldAccess(com.android.tools.r8.graph.DexField):147:152 -> i
com.android.tools.r8.optimize.MemberRebindingLens -> com.android.tools.r8.internal.aE:
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.AppView appView -> f
    java.util.Map methodMaps -> g
    java.util.Map nonReboundFieldReferenceToDefinitionMap -> h
    1:1:void <clinit>():25:25 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map):35:38 -> <init>
    1:1:com.android.tools.r8.optimize.MemberRebindingLens$Builder builder(com.android.tools.r8.graph.AppView):42:42 -> a
    2:2:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):57:57 -> a
    3:3:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):67:67 -> a
    4:4:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):75:75 -> a
    5:5:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    5:5:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):75 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:17:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):121:132 -> a
    18:18:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):131:131 -> a
    19:22:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):130:133 -> a
    23:23:com.android.tools.r8.optimize.FieldRebindingIdentityLens toRewrittenFieldRebindingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):148:148 -> a
    24:24:com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder com.android.tools.r8.optimize.FieldRebindingIdentityLens.builder():36:36 -> a
    24:24:com.android.tools.r8.optimize.FieldRebindingIdentityLens toRewrittenFieldRebindingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):149 -> a
    25:35:com.android.tools.r8.optimize.FieldRebindingIdentityLens toRewrittenFieldRebindingLens(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.GraphLens):150:160 -> a
    36:36:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    36:36:void lambda$toRewrittenFieldRebindingLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):153 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    37:37:void lambda$toRewrittenFieldRebindingLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):156:156 -> a
    38:38:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    38:38:void lambda$toRewrittenFieldRebindingLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):156 -> a
    39:41:void lambda$toRewrittenFieldRebindingLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.FieldRebindingIdentityLens$Builder,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):155:157 -> a
    com.android.tools.r8.optimize.MemberRebindingLens asMemberRebindingLens() -> b
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):62:62 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):81:81 -> b
    3:7:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):106:110 -> b
    8:8:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.MemberRebindingLens.getReboundFieldReference(com.android.tools.r8.graph.DexField):115:115 -> b
    8:8:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):110 -> b
    9:10:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):110:111 -> b
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    1:3:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):89:91 -> d
    com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod) -> e
    1:1:boolean isContextFreeForMethods():96:96 -> g
com.android.tools.r8.optimize.MemberRebindingLens$Builder -> com.android.tools.r8.internal.ZD:
    java.util.Map methodMaps -> b
    java.util.Map nonReboundFieldReferenceToDefinitionMap -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():163:163 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.MemberRebindingLens$1):163:163 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView):170:170 -> <init>
    3:8:void <init>(com.android.tools.r8.graph.AppView):166:171 -> <init>
    1:7:void map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):176:182 -> a
    8:8:java.util.Map lambda$map$0(com.android.tools.r8.ir.code.Invoke$Type):180:180 -> a
    9:10:void recordNonReboundFieldAccesses(com.android.tools.r8.graph.FieldAccessInfo):186:187 -> a
    11:11:void com.android.tools.r8.optimize.MemberRebindingLens$Builder.recordNonReboundFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):194:194 -> a
    11:11:void lambda$recordNonReboundFieldAccesses$1(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):189 -> a
    12:12:com.android.tools.r8.optimize.MemberRebindingLens build():198:198 -> a
com.android.tools.r8.optimize.PublicizerLens -> com.android.tools.r8.internal.MP:
    com.android.tools.r8.graph.AppView appView -> n
    boolean $assertionsDisabled -> p
    java.util.Set publicizedMethods -> o
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.optimize.PublicizerLens$1):16:16 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.AppView,java.util.Set):22:24 -> <init>
    1:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):42:43 -> a
    3:3:boolean com.android.tools.r8.optimize.PublicizerLens.publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):54:54 -> a
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):43 -> a
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    4:4:boolean com.android.tools.r8.optimize.PublicizerLens.publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):54 -> a
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):43 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    5:9:boolean com.android.tools.r8.optimize.PublicizerLens.publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):55:59 -> a
    5:9:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):43 -> a
    10:10:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    10:10:boolean com.android.tools.r8.optimize.PublicizerLens.publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):60 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):43 -> a
    11:11:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    11:11:boolean com.android.tools.r8.optimize.PublicizerLens.publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):60 -> a
    11:11:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):43 -> a
    12:12:boolean com.android.tools.r8.optimize.PublicizerLens.publicizedMethodIsPresentOnHolder(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):60:60 -> a
    12:12:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):43 -> a
    13:17:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):44:48 -> a
    com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> b
    boolean isLegitimateToHaveEmptyMappings() -> m
    1:1:com.android.tools.r8.optimize.PublicizerLens$PublicizedLensBuilder createBuilder():65:65 -> n
com.android.tools.r8.optimize.PublicizerLens$PublicizedLensBuilder -> com.android.tools.r8.internal.LP:
    java.util.Set publicizedMethods -> a
    1:1:void <init>(com.android.tools.r8.optimize.PublicizerLens$1):68:68 -> <init>
    2:2:void <init>():71:71 -> <init>
    3:3:void <init>():69:69 -> <init>
    1:4:com.android.tools.r8.graph.GraphLens build(com.android.tools.r8.graph.AppView):74:77 -> a
    5:5:void add(com.android.tools.r8.graph.DexMethod):81:81 -> a
com.android.tools.r8.optimize.VisibilityBridgeRemover -> com.android.tools.r8.internal.q20:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():23:23 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView):27:28 -> <init>
    1:19:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isUnneededVisibilityBridge(com.android.tools.r8.graph.ProgramMethod):33:51 -> a
    1:19:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):101 -> a
    20:20:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isTargetingSuperMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.InvokeSingleTargetExtractor$InvokeKind,com.android.tools.r8.graph.DexMethod):82:82 -> a
    20:20:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isUnneededVisibilityBridge(com.android.tools.r8.graph.ProgramMethod):51 -> a
    20:20:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):101 -> a
    21:38:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isUnneededVisibilityBridge(com.android.tools.r8.graph.ProgramMethod):55:72 -> a
    21:38:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):101 -> a
    39:39:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isUnneededVisibilityBridge(com.android.tools.r8.graph.ProgramMethod):68:68 -> a
    39:39:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):101 -> a
    40:40:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isTargetingSuperMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.InvokeSingleTargetExtractor$InvokeKind,com.android.tools.r8.graph.DexMethod):84:84 -> a
    40:40:boolean com.android.tools.r8.optimize.VisibilityBridgeRemover.isUnneededVisibilityBridge(com.android.tools.r8.graph.ProgramMethod):51 -> a
    40:40:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):101 -> a
    41:41:void lambda$run$0(java.util.Set,com.android.tools.r8.graph.ProgramMethod):102:102 -> a
    42:48:void run(java.util.concurrent.ExecutorService):90:96 -> a
    49:66:void run(java.util.concurrent.ExecutorService):95:112 -> a
    67:75:void lambda$run$1(java.util.concurrent.ConcurrentHashMap,com.android.tools.r8.graph.DexProgramClass):98:106 -> a
    76:77:void lambda$run$3(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.graph.DexProgramClass,java.util.Set):114:115 -> a
    78:78:void lambda$run$2(com.android.tools.r8.graph.PrunedItems$Builder,com.android.tools.r8.graph.DexEncodedMethod):115:115 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator -> com.android.tools.r8.internal.M2:
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> e
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner codeScanner -> b
    com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsAnalysis effectivelyUnusedArgumentsAnalysis -> c
    com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection reprocessingCriteriaCollection -> d
    1:1:void <clinit>():36:36 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView):57:61 -> <init>
    1:36:void initializeCodeScanner(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):70:105 -> a
    37:48:void lambda$initializeCodeScanner$0(com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.Set):89:100 -> a
    49:61:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):111:123 -> a
    62:62:boolean com.android.tools.r8.ir.conversion.MethodProcessor.isPostMethodProcessor():0:0 -> a
    62:62:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):123 -> a
    63:63:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.conversion.MethodProcessor,com.android.tools.r8.utils.Timing):123:123 -> a
    64:65:void publishDelayedReprocessingCriteria():128:129 -> a
    66:67:void transferArgumentInformation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):133:134 -> a
    68:68:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    68:68:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.remove(com.android.tools.r8.graph.ProgramMethod):108 -> a
    68:68:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.remove(com.android.tools.r8.graph.ProgramMethod):14 -> a
    68:68:void transferArgumentInformation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135 -> a
    69:69:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.remove(com.android.tools.r8.graph.ProgramMethod):108:108 -> a
    69:69:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.remove(com.android.tools.r8.graph.ProgramMethod):14 -> a
    69:69:void transferArgumentInformation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):135 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    70:71:void transferArgumentInformation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):136:137 -> a
    72:89:void tearDownCodeScanner(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):147:164 -> a
    90:92:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator.populateParameterOptimizationInfo(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.List,java.util.function.BiConsumer,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):214:216 -> a
    90:92:void tearDownCodeScanner(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):164 -> a
    93:93:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    93:93:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator.populateParameterOptimizationInfo(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.List,java.util.function.BiConsumer,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):216 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    93:93:void tearDownCodeScanner(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):164 -> a
    94:94:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    94:94:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator.populateParameterOptimizationInfo(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.List,java.util.function.BiConsumer,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):216 -> a
    94:94:void tearDownCodeScanner(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):164 -> a
    95:115:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagator.populateParameterOptimizationInfo(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.List,java.util.function.BiConsumer,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):216:236 -> a
    95:115:void tearDownCodeScanner(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):164 -> a
    116:133:void tearDownCodeScanner(com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):180:197 -> a
    134:137:void lambda$tearDownCodeScanner$2(java.util.Map,java.util.Set,com.android.tools.r8.graph.DexMethodSignature):169:172 -> a
    138:138:com.android.tools.r8.utils.collections.DexMethodSignatureSet lambda$tearDownCodeScanner$1(java.util.Set):171:171 -> a
    139:144:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):250:255 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer -> com.android.tools.r8.internal.O2:
    com.android.tools.r8.graph.AppView appView -> f
    boolean $assertionsDisabled -> h
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens graphLens -> g
    1:1:void <clinit>():39:39 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens):46:48 -> <init>
    void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField) -> a
    void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod) -> a
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer):39:39 -> a
    2:14:void fixupApplication(java.util.Set,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):56:68 -> a
    15:19:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):379:383 -> a
    15:19:void fixupApplication(java.util.Set,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):68 -> a
    20:22:void fixupApplication(java.util.Set,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):70:72 -> a
    23:23:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):383:383 -> a
    23:23:void fixupApplication(java.util.Set,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):68 -> a
    24:25:void fixupClass(com.android.tools.r8.graph.DexProgramClass):76:77 -> a
    26:26:void lambda$fixupFields$1(com.android.tools.r8.graph.DexEncodedField$Builder):84:84 -> a
    27:34:void lambda$fixupMethods$4(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):106:113 -> a
    35:35:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):98:98 -> a
    35:35:void lambda$fixupMethods$4(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):113 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:boolean com.android.tools.r8.graph.proto.ArgumentInfoCollection.isArgumentRemoved(int):98:98 -> a
    36:36:void lambda$fixupMethods$4(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):113 -> a
    37:39:void lambda$fixupMethods$4(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):114:116 -> a
    40:40:void lambda$fixupMethods$3(com.android.tools.r8.graph.MethodAccessFlags):115:115 -> a
    41:44:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer.fixupOptimizationInfos(java.util.concurrent.ExecutorService):124:127 -> a
    41:44:void lambda$fixupApplication$0(java.util.concurrent.ExecutorService):68 -> a
    45:45:void com.android.tools.r8.ir.optimize.info.OptimizationFeedback.fixupOptimizationInfos(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.ir.optimize.info.OptimizationFeedback$OptimizationInfoFixer):54:54 -> a
    45:45:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer.fixupOptimizationInfos(java.util.concurrent.ExecutorService):127 -> a
    45:45:void lambda$fixupApplication$0(java.util.concurrent.ExecutorService):68 -> a
    46:46:com.android.tools.r8.graph.DexField fixupFieldReference(com.android.tools.r8.graph.DexField):160:160 -> a
    47:47:com.android.tools.r8.graph.DexMethod fixupMethodReference(com.android.tools.r8.graph.DexMethod):165:165 -> a
    48:48:com.android.tools.r8.graph.DexType fixupType(com.android.tools.r8.graph.DexType):170:170 -> a
    49:49:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):190:190 -> a
    com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType) -> b
    1:1:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens access$100(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer):39:39 -> b
    2:2:void fixupFields(com.android.tools.r8.graph.DexProgramClass):83:83 -> b
    3:3:void fixupFields(com.android.tools.r8.graph.DexProgramClass):82:82 -> b
    4:10:void fixupFields(com.android.tools.r8.graph.DexProgramClass):81:87 -> b
    11:11:void fixupFields(com.android.tools.r8.graph.DexProgramClass):86:86 -> b
    12:12:void fixupFields(com.android.tools.r8.graph.DexProgramClass):85:85 -> b
    13:13:void lambda$fixupFields$2(com.android.tools.r8.graph.DexEncodedField$Builder):88:88 -> b
    14:22:com.android.tools.r8.graph.DexEncodedMethod lambda$fixupMethods$5(com.android.tools.r8.graph.DexEncodedMethod):95:103 -> b
    1:2:void fixupMethods(com.android.tools.r8.graph.DexProgramClass):92:93 -> c
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer$1 -> com.android.tools.r8.internal.N2:
    com.android.tools.r8.graph.PrunedItems val$prunedItems -> b
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer this$0 -> c
    com.android.tools.r8.graph.GraphLens val$codeLens -> a
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorApplicationFixer,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.PrunedItems):130:130 -> <init>
    1:1:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):134:134 -> a
    2:11:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):142:151 -> a
    12:12:com.android.tools.r8.ir.optimize.info.MethodOptimizationInfoFixer com.android.tools.r8.graph.proto.RewrittenPrototypeDescription.createMethodOptimizationInfoFixer():82:82 -> a
    12:12:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):151 -> a
    13:13:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):152:152 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner -> com.android.tools.r8.internal.P2:
    com.android.tools.r8.ir.code.AliasedValueConfiguration aliasedValueConfiguration -> g
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameterFactory methodParameterFactory -> b
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference methodStates -> f
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set monomorphicVirtualMethods -> c
    boolean $assertionsDisabled -> h
    java.util.Map virtualRootMethods -> e
    com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection reprocessingCriteriaCollection -> d
    1:4:void <clinit>():63:66 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection):92:92 -> <init>
    2:26:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection):70:94 -> <init>
    1:1:void addMonomorphicVirtualMethods(java.util.Set):98:98 -> a
    2:2:void addVirtualRootMethods(java.util.Map):102:102 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference getMethodStates():106:106 -> a
    4:4:boolean isMonomorphicVirtualMethod(com.android.tools.r8.graph.ProgramMethod):132:132 -> a
    5:5:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMonomorphicVirtualMethod(com.android.tools.r8.graph.DexMethod):138:138 -> a
    5:5:boolean isMonomorphicVirtualMethod(com.android.tools.r8.graph.ProgramMethod):132 -> a
    6:6:boolean isMonomorphicVirtualMethod(com.android.tools.r8.graph.ProgramMethod):133:133 -> a
    7:10:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):142:145 -> a
    11:11:boolean com.android.tools.r8.ir.code.Instruction.isInvokeCustom():0:0 -> a
    11:11:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):146 -> a
    12:12:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):147:147 -> a
    13:20:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.scan(com.android.tools.r8.ir.code.InvokeCustom,com.android.tools.r8.graph.ProgramMethod):542:549 -> a
    13:20:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):147 -> a
    21:21:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.utils.Timing):150:150 -> a
    22:55:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):154:187 -> a
    56:56:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    56:56:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):188 -> a
    57:57:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):188:188 -> a
    58:58:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    58:58:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):193 -> a
    59:59:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):194:194 -> a
    60:60:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> a
    60:60:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):200 -> a
    61:61:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):204:204 -> a
    62:62:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    62:62:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):209 -> a
    63:63:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):219:219 -> a
    64:85:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):210:231 -> a
    86:92:void scan(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing):229:235 -> a
    93:99:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):244:250 -> a
    93:99:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    100:101:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.shouldUsePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):535:536 -> a
    100:101:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):252 -> a
    100:101:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    102:102:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMonomorphicVirtualMethod(com.android.tools.r8.graph.DexMethod):138:138 -> a
    102:102:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.shouldUsePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):536 -> a
    102:102:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):252 -> a
    102:102:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    103:109:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):253:259 -> a
    103:109:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    110:110:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):282:282 -> a
    110:110:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    110:110:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    111:111:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    111:111:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):282 -> a
    111:111:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    111:111:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    112:114:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):283:285 -> a
    112:114:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    112:114:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    115:115:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    115:115:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):285 -> a
    115:115:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    115:115:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    116:116:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):325:325 -> a
    116:116:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    116:116:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    116:116:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    117:125:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):324:332 -> a
    117:125:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    117:125:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    117:125:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    126:126:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.getVirtualRootMethod(com.android.tools.r8.graph.ProgramMethod):110:110 -> a
    126:126:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):336 -> a
    126:126:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    126:126:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    126:126:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    127:133:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):338:344 -> a
    127:133:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    127:133:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    127:133:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    134:137:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeBoundsForPolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):343:346 -> a
    134:137:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):287 -> a
    134:137:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    134:137:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    138:138:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):290:290 -> a
    138:138:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    138:138:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    139:139:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    139:139:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):290 -> a
    139:139:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    139:139:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    140:140:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):291:291 -> a
    140:140:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    140:140:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    141:141:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    141:141:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):292 -> a
    141:141:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    141:141:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    142:142:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):294:294 -> a
    142:142:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    142:142:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    143:143:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.unknown():19:19 -> a
    143:143:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):296 -> a
    143:143:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    143:143:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    144:150:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):295:301 -> a
    144:150:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    144:150:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    151:151:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    151:151:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):302 -> a
    151:151:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    151:151:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    152:152:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):311:311 -> a
    152:152:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    152:152:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    153:160:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computePolymorphicMethodState(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom):306:313 -> a
    153:160:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):255 -> a
    153:160:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    161:162:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):261:262 -> a
    161:162:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    163:163:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    163:163:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):266 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    163:163:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    164:164:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.ir.code.InvokeMethod.lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):119:119 -> a
    164:164:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):266 -> a
    164:164:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    165:165:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):268:268 -> a
    165:165:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    166:166:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom):363:363 -> a
    166:166:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):263 -> a
    166:166:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    167:167:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getFirstArgument():285:285 -> a
    167:167:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom):364 -> a
    167:167:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):263 -> a
    167:167:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    168:168:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom):364:364 -> a
    168:168:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):263 -> a
    168:168:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    169:169:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    169:169:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom):364 -> a
    169:169:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):263 -> a
    169:169:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    170:170:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom):357:357 -> a
    170:170:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):263 -> a
    170:170:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    171:171:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.utils.Timing):270:270 -> a
    171:171:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$scan$0(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Timing,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233 -> a
    172:176:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):375:379 -> a
    177:177:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria.alwaysReprocess():34:34 -> a
    177:177:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):380 -> a
    178:186:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):383:391 -> a
    187:187:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):423:423 -> a
    187:187:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    188:188:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    188:188:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):423 -> a
    188:188:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    189:189:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):424:424 -> a
    189:189:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    190:190:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    190:190:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):424 -> a
    190:190:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    191:191:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    191:191:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):425 -> a
    191:191:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    192:192:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):430:430 -> a
    192:192:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    193:193:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    193:193:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):431 -> a
    193:193:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    194:196:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):434:436 -> a
    194:196:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    197:197:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    197:197:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):437 -> a
    197:197:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    198:198:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):438:438 -> a
    198:198:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    199:199:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReceiverParameterState.<init>(com.android.tools.r8.ir.analysis.type.DynamicType):22:22 -> a
    199:199:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForReceiver(com.android.tools.r8.ir.code.InvokeMethodWithReceiver,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):438 -> a
    199:199:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):386 -> a
    200:218:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):385:403 -> a
    219:219:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):449:449 -> a
    219:219:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    220:220:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    220:220:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):449 -> a
    220:220:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    221:221:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):450:450 -> a
    221:221:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    222:222:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    222:222:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):450 -> a
    222:222:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    223:223:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    223:223:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):451 -> a
    223:223:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    224:224:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):454:454 -> a
    224:224:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    225:225:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    225:225:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):454 -> a
    225:225:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    226:226:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Value.getAliasedValue(com.android.tools.r8.ir.code.AliasedValueConfiguration):223:223 -> a
    226:226:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):454 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    226:226:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    227:227:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):456:456 -> a
    227:227:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    228:228:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    228:228:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):456 -> a
    228:228:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    229:240:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):456:467 -> a
    229:240:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    241:241:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):466:466 -> a
    241:241:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    242:244:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):114:116 -> a
    242:244:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):468 -> a
    242:244:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    245:245:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.getVirtualRootMethod(com.android.tools.r8.graph.ProgramMethod):110:110 -> a
    245:245:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):118 -> a
    245:245:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):468 -> a
    245:245:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    246:246:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):117:117 -> a
    246:246:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):468 -> a
    246:246:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    247:257:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):115:125 -> a
    247:257:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):468 -> a
    247:257:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    258:258:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    258:258:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):125 -> a
    258:258:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):468 -> a
    258:258:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    259:260:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.isMethodParameterAlreadyUnknown(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):127:128 -> a
    259:260:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):468 -> a
    259:260:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    261:261:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    261:261:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):469 -> a
    261:261:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    262:263:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):471:472 -> a
    262:263:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    264:264:com.android.tools.r8.ir.analysis.value.BottomValue com.android.tools.r8.ir.analysis.value.AbstractValue.bottom():16:16 -> a
    264:264:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):25 -> a
    264:264:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):472 -> a
    264:264:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    265:265:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):25:25 -> a
    265:265:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):472 -> a
    265:265:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    266:267:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):473:474 -> a
    266:267:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    268:268:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):23:23 -> a
    268:268:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):474 -> a
    268:268:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    269:270:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):476:477 -> a
    269:270:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    271:271:com.android.tools.r8.ir.analysis.value.BottomValue com.android.tools.r8.ir.analysis.value.AbstractValue.bottom():16:16 -> a
    271:271:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):33 -> a
    271:271:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):477 -> a
    271:271:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    272:272:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState.<init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):33:33 -> a
    272:272:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):477 -> a
    272:272:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    273:275:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):482:484 -> a
    273:275:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    276:276:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    276:276:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):485 -> a
    276:276:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    277:277:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):486:486 -> a
    277:277:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    278:278:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState.<init>(com.android.tools.r8.ir.analysis.type.Nullability):27:27 -> a
    278:278:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):486 -> a
    278:278:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    279:284:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):489:494 -> a
    279:284:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    285:285:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> a
    285:285:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):494 -> a
    285:285:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    286:288:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):495:497 -> a
    286:288:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    289:289:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    289:289:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):498 -> a
    289:289:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    290:290:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):499:499 -> a
    290:290:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    291:291:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.<init>(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):29:29 -> a
    291:291:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):499 -> a
    291:291:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    292:293:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):504:505 -> a
    292:293:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    294:294:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    294:294:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):506 -> a
    294:294:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    295:295:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):507:507 -> a
    295:295:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    296:296:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState.<init>(com.android.tools.r8.ir.analysis.value.AbstractValue):21:21 -> a
    296:296:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.computeParameterStateForNonReceiver(com.android.tools.r8.ir.code.InvokeMethod,int,com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria):507 -> a
    296:296:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):397 -> a
    297:310:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown computeMonomorphicMethodState(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom,com.android.tools.r8.ir.analysis.type.DynamicType):396:409 -> a
    311:315:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):511:515 -> a
    316:316:boolean com.android.tools.r8.ir.code.Instruction.isInvokeInterface():0:0 -> a
    316:316:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):515 -> a
    317:317:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):516:516 -> a
    318:318:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.getVirtualRootMethod(com.android.tools.r8.graph.ProgramMethod):110:110 -> a
    318:318:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):517 -> a
    319:319:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):520:520 -> a
    320:320:boolean com.android.tools.r8.ir.code.Instruction.isInvokeSuper():0:0 -> a
    320:320:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):520 -> a
    321:324:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):520:523 -> a
    325:325:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner.getVirtualRootMethod(com.android.tools.r8.graph.ProgramMethod):110:110 -> a
    325:325:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):526 -> a
    326:328:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):527:529 -> a
    329:329:com.android.tools.r8.graph.DexMethod getRepresentative(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.ProgramMethod):528:528 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer -> com.android.tools.r8.internal.S2:
    void acceptCodeScannerResult(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference) -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer andThen(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer):25:25 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer emptyConsumer():12:12 -> emptyConsumer
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer$1 -> com.android.tools.r8.internal.Q2:
    1:1:void <init>():12:12 -> <init>
    void acceptCodeScannerResult(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference) -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer$2 -> com.android.tools.r8.internal.R2:
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer val$nextEventConsumer -> b
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer this$0 -> c
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer val$self -> a
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer):25:25 -> <init>
    1:2:void acceptCodeScannerResult(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):28:29 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens -> com.android.tools.r8.internal.U2:
    boolean $assertionsDisabled -> o
    java.util.Map prototypeChanges -> n
    1:1:void <clinit>():21:21 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,java.util.Map):30:31 -> <init>
    1:1:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens.hasPrototypeChanges(com.android.tools.r8.graph.DexMethod):44:44 -> a
    1:1:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):104 -> a
    2:5:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):105:108 -> a
    6:6:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens.getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):89:89 -> a
    6:6:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):75 -> a
    7:7:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens.hasPrototypeChanges(com.android.tools.r8.graph.DexMethod):44:44 -> a
    7:7:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):76 -> a
    8:11:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):80:83 -> a
    12:12:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):81:81 -> a
    1:8:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):60:67 -> b
    1:1:com.android.tools.r8.graph.DexField internalGetNextFieldSignature(com.android.tools.r8.graph.DexField):94:94 -> d
    1:1:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):89:89 -> e
    1:1:com.android.tools.r8.graph.DexMethod getNextMethodSignature(com.android.tools.r8.graph.DexMethod):99:99 -> f
    1:1:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription getPrototypeChanges(com.android.tools.r8.graph.DexMethod):48:48 -> g
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens.hasPrototypeChanges(com.android.tools.r8.graph.DexMethod):44:44 -> g
    2:2:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription getPrototypeChanges(com.android.tools.r8.graph.DexMethod):48 -> g
    3:4:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription getPrototypeChanges(com.android.tools.r8.graph.DexMethod):48:49 -> g
    1:1:boolean hasPrototypeChanges(com.android.tools.r8.graph.DexMethod):44:44 -> h
    boolean isLegitimateToHaveEmptyMappings() -> m
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder -> com.android.tools.r8.internal.T2:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map prototypeChanges -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newFieldSignatures -> b
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newMethodSignatures -> c
    1:1:void <clinit>():112:112 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):122:122 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.AppView):115:123 -> <init>
    1:3:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder.isEmpty():127:129 -> a
    1:3:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens build():166 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens build():169:169 -> a
    5:9:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder.fixupPrototypeChangesAfterFieldSignatureChanges(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens):178:182 -> a
    5:9:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens build():172 -> a
    10:13:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder.fixupPrototypeChangesAfterFieldSignatureChanges(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens):181:184 -> a
    10:13:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens build():172 -> a
    14:16:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder mergeDisjoint(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder):134:136 -> a
    17:18:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder recordMove(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):141:142 -> a
    19:26:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):148:155 -> a
    27:27:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):153:153 -> a
    28:28:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder recordStaticized(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):161:161 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorIROptimizer -> com.android.tools.r8.internal.V2:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():27:27 -> <clinit>
    1:24:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):40:63 -> a
    25:25:com.android.tools.r8.ir.code.Instruction com.android.tools.r8.ir.analysis.value.SingleValue.createMaterializingInstruction(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.code.TypeAndLocalInfoSupplier):43:43 -> a
    25:25:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):65 -> a
    26:58:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):66:98 -> a
    59:59:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    59:59:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):98 -> a
    60:60:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):99:99 -> a
    61:61:com.android.tools.r8.ir.code.Assume com.android.tools.r8.ir.code.Assume.createAssumeNonNullInstruction(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):52:52 -> a
    61:61:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):101 -> a
    62:70:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):103:111 -> a
    71:72:boolean com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound.strictlyLessThan(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.AppView):225:226 -> a
    71:72:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):111 -> a
    73:73:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):112:112 -> a
    74:74:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    74:74:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):112 -> a
    75:76:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):113:114 -> a
    77:77:com.android.tools.r8.ir.code.Assume com.android.tools.r8.ir.code.Assume.createAssumeDynamicTypeInstruction(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):61:61 -> a
    77:77:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):116 -> a
    78:88:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):118:128 -> a
    89:89:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.ValueFactory.createValue(com.android.tools.r8.ir.analysis.type.TypeElement):13:13 -> a
    89:89:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):128 -> a
    90:91:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):129:130 -> a
    92:92:com.android.tools.r8.ir.code.Assume com.android.tools.r8.ir.code.Assume.createAssumeNonNullInstruction(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.AppView):52:52 -> a
    92:92:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):132 -> a
    93:110:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):134:151 -> a
    111:111:void com.android.tools.r8.ir.analysis.type.TypeAnalysis.<init>(com.android.tools.r8.graph.AppView):42:42 -> a
    111:111:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):151 -> a
    112:112:void optimize(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo):151:151 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorMethodReprocessingEnqueuer -> com.android.tools.r8.internal.X2:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection reprocessingCriteriaCollection -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():33:33 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection):40:42 -> <init>
    1:19:void enqueueMethodForReprocessing(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):55:73 -> a
    20:22:void enqueueAffectedCallees(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder):79:81 -> a
    23:33:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):84:94 -> a
    34:34:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    34:34:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):94 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    35:35:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    35:35:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):94 -> a
    36:45:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):94:103 -> a
    46:46:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria.shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo) -> a
    46:46:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):103 -> a
    47:47:boolean com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.isConcreteCallSiteOptimizationInfo():0:0 -> a
    47:47:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria.shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):46 -> a
    47:47:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):103 -> a
    48:58:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria.shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo):50:60 -> a
    48:58:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):103 -> a
    59:62:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):103:106 -> a
    63:63:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    63:63:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    64:64:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    64:64:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):106 -> a
    65:65:void lambda$enqueueAffectedCallees$0(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.ProgramMethod):106:106 -> a
    66:69:void enqueueAffectedCallers(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService):120:123 -> a
    70:89:void enqueueAffectedCallers(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.concurrent.ExecutorService):122:141 -> a
    90:91:java.util.List lambda$enqueueAffectedCallers$2(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,com.android.tools.r8.graph.DexProgramClass):125:126 -> a
    92:93:void lambda$enqueueAffectedCallers$1(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,java.util.List,com.android.tools.r8.graph.ProgramMethod):129:130 -> a
    94:94:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):124:124 -> a
    94:94:void lambda$enqueueAffectedCallers$1(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,java.util.List,com.android.tools.r8.graph.ProgramMethod):132 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    95:95:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):125:125 -> a
    95:95:void lambda$enqueueAffectedCallers$1(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,java.util.List,com.android.tools.r8.graph.ProgramMethod):132 -> a
    96:98:void lambda$enqueueAffectedCallers$1(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens,java.util.List,com.android.tools.r8.graph.ProgramMethod):132:134 -> a
    99:99:void lambda$enqueueAffectedCallers$3(com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,com.android.tools.r8.graph.GraphLens,java.util.List):143:143 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorMethodReprocessingEnqueuer$AffectedMethodUseRegistry -> com.android.tools.r8.internal.W2:
    com.android.tools.r8.graph.AppView appView -> f
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens graphLens -> g
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens):155:157 -> <init>
    1:1:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):166:166 -> a
    2:2:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):207:207 -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    1:1:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):171:171 -> b
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):212:212 -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):176:176 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):217:217 -> e
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):181:181 -> f
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):186:186 -> g
    2:2:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):222:222 -> g
    1:11:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod):190:200 -> h
    12:12:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorMethodReprocessingEnqueuer$AffectedMethodUseRegistry.markAffected():161:161 -> h
    12:12:void registerInvokeMethod(com.android.tools.r8.graph.DexMethod):201 -> h
    1:9:void registerFieldAccess(com.android.tools.r8.graph.DexField):226:234 -> i
    10:10:void com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorMethodReprocessingEnqueuer$AffectedMethodUseRegistry.markAffected():161:161 -> i
    10:10:void registerFieldAccess(com.android.tools.r8.graph.DexField):235 -> i
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator -> com.android.tools.r8.internal.Y2:
    java.util.function.BiConsumer interfaceDispatchOutsideProgram -> h
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference methodStates -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> i
    com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder postMethodProcessorBuilder -> e
    com.android.tools.r8.utils.InternalOptions options -> d
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> f
    java.util.List stronglyConnectedProgramComponents -> g
    com.android.tools.r8.ir.conversion.IRConverter converter -> b
    1:1:void <clinit>():52:52 -> <clinit>
    1:9:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference,com.android.tools.r8.ir.conversion.PostMethodProcessor$Builder,java.util.List,java.util.function.BiConsumer):73:81 -> <init>
    1:18:void populateOptimizationInfo(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):95:112 -> a
    19:39:void processStronglyConnectedComponent(java.util.Set):127:147 -> a
    40:40:void lambda$processStronglyConnectedComponent$0(java.util.Set,com.android.tools.r8.graph.DexMethodSignature):132:132 -> a
    41:43:void setOptimizationInfo(java.util.concurrent.ExecutorService):151:151 -> a
    44:44:void setOptimizationInfo(com.android.tools.r8.graph.DexProgramClass):156:156 -> a
    45:45:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):160:160 -> a
    46:46:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    46:46:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.remove(com.android.tools.r8.graph.ProgramMethod):108 -> a
    46:46:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.remove(com.android.tools.r8.graph.ProgramMethod):14 -> a
    46:46:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):160 -> a
    47:47:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.remove(com.android.tools.r8.graph.ProgramMethod):108:108 -> a
    47:47:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.remove(com.android.tools.r8.graph.ProgramMethod):14 -> a
    47:47:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):160 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    48:58:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):161:171 -> a
    59:59:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.unknown():19:19 -> a
    59:59:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):172 -> a
    60:68:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):175:183 -> a
    69:69:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    69:69:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):183 -> a
    70:74:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):184:188 -> a
    75:78:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):274:277 -> a
    75:78:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    79:79:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isClassParameter():0:0 -> a
    79:79:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):278 -> a
    79:79:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    80:81:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):281:282 -> a
    80:81:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    82:90:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.shouldWidenDynamicTypeToUnknown(com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):297:305 -> a
    82:90:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):283 -> a
    82:90:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    91:91:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):284:284 -> a
    91:91:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    92:92:com.android.tools.r8.ir.analysis.value.BottomValue com.android.tools.r8.ir.analysis.value.AbstractValue.bottom():16:16 -> a
    92:92:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):288 -> a
    92:92:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    93:93:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):288:288 -> a
    93:93:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    94:94:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.<init>(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):29:29 -> a
    94:94:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):288 -> a
    94:94:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    95:95:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):290:290 -> a
    95:95:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    96:96:com.android.tools.r8.utils.Action com.android.tools.r8.utils.Action.empty():13:13 -> a
    96:96:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):64 -> a
    96:96:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):286 -> a
    96:96:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    97:97:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):64:64 -> a
    97:97:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):286 -> a
    97:97:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    98:107:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorOptimizationInfoPopulator.widenDynamicTypes(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):284:293 -> a
    98:107:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):194 -> a
    108:114:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):199:205 -> a
    115:124:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):202:211 -> a
    125:140:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):209:224 -> a
    141:141:com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple com.android.tools.r8.ir.optimize.info.OptimizationFeedback.getSimple():44:44 -> a
    141:141:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):225 -> a
    142:142:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):227:227 -> a
    143:143:void setOptimizationInfo(com.android.tools.r8.graph.ProgramMethod):226:226 -> a
    144:157:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateAfterUninstantiatedParameterRemoval(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):233:246 -> a
    158:158:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    158:158:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateAfterUninstantiatedParameterRemoval(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):249 -> a
    159:161:java.util.ArrayList com.android.tools.r8.utils.ListUtils.newInitializedArrayList(int,java.lang.Object):207:209 -> a
    159:161:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateAfterUninstantiatedParameterRemoval(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):249 -> a
    162:178:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateAfterUninstantiatedParameterRemoval(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):251:267 -> a
    179:187:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState lambda$getMethodStateAfterUninstantiatedParameterRemoval$1(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):255:263 -> a
    188:188:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.<init>(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType):29:29 -> a
    188:188:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState lambda$getMethodStateAfterUninstantiatedParameterRemoval$1(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):263 -> a
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer -> com.android.tools.r8.internal.b3:
    java.util.Map interfaceDispatchOutsideProgram -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map libraryVirtualMethods -> d
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> b
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.Map):158:158 -> <init>
    2:11:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.Map):152:161 -> <init>
    boolean lambda$computeLibraryVirtualMethods$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass) -> a
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer):81:81 -> a
    2:20:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens run(java.util.List,java.util.function.Consumer,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):170:188 -> a
    21:21:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens.builder(com.android.tools.r8.graph.AppView):35:35 -> a
    21:21:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens run(java.util.List,java.util.function.Consumer,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):188 -> a
    22:24:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens run(java.util.List,java.util.function.Consumer,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):189:191 -> a
    25:29:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder lambda$run$0(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,java.util.function.Consumer,java.util.Set):176:180 -> a
    30:30:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder lambda$run$0(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,java.util.function.Consumer,java.util.Set):179:179 -> a
    31:31:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder lambda$run$0(com.android.tools.r8.contexts.CompilationContext$ProcessorContext,java.util.function.Consumer,java.util.Set):177:177 -> a
    32:32:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer.getOrComputeLibraryVirtualMethods(com.android.tools.r8.graph.DexClass):197:197 -> a
    32:32:com.android.tools.r8.utils.collections.DexMethodSignatureSet access$200(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer,com.android.tools.r8.graph.DexClass):81 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    33:37:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer.getOrComputeLibraryVirtualMethods(com.android.tools.r8.graph.DexClass):197:201 -> a
    33:37:com.android.tools.r8.utils.collections.DexMethodSignatureSet access$200(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer,com.android.tools.r8.graph.DexClass):81 -> a
    38:42:com.android.tools.r8.utils.collections.DexMethodSignatureSet com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer.getOrComputeLibraryVirtualMethods(com.android.tools.r8.graph.DexClass):197:201 -> a
    38:42:void lambda$computeLibraryVirtualMethods$2(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):210 -> a
    43:43:void lambda$computeLibraryVirtualMethods$2(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):210:210 -> a
    44:53:com.android.tools.r8.utils.collections.DexMethodSignatureSet computeLibraryVirtualMethods(com.android.tools.r8.graph.DexClass):205:214 -> a
    54:54:void lambda$computeLibraryVirtualMethods$3(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexClassAndMethod):213:213 -> a
    1:1:com.android.tools.r8.graph.ImmediateProgramSubtypingInfo access$100(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer):81:81 -> b
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges -> com.android.tools.r8.internal.Z2:
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges EMPTY -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet removableParameterIndices -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexType newReturnType -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap newParameterTypes -> b
    1:4:void <clinit>():83:86 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):95:98 -> <init>
    1:1:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges create(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):102:102 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges.empty():128:128 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges create(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):103 -> a
    3:20:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges create(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):106:123 -> a
    21:24:void lambda$create$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,int,com.android.tools.r8.graph.proto.ArgumentInfo):115:118 -> a
    25:25:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRewrittenTypeInfo():0:0 -> a
    25:25:void lambda$create$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,int,com.android.tools.r8.graph.proto.ArgumentInfo):118 -> a
    26:28:void lambda$create$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,int,com.android.tools.r8.graph.proto.ArgumentInfo):118:120 -> a
    29:29:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges empty():128:128 -> a
    1:7:boolean equals(java.lang.Object):138:144 -> equals
    1:1:int hashCode():133:133 -> hashCode
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer -> com.android.tools.r8.internal.a3:
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer this$0 -> j
    java.util.Map allowedPrototypeChangesForVirtualMethods -> d
    com.android.tools.r8.utils.InternalOptions options -> b
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> i
    boolean $assertionsDisabled -> k
    com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions callSiteOptimizationOptions -> c
    com.android.tools.r8.utils.collections.ProgramMethodMap returnValuesForVirtualMethods -> e
    java.util.Map newMethodSignatures -> f
    java.util.Map newMethodSignatureSuffixes -> g
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    java.util.Map occupiedMethodSignatures -> h
    1:1:void <clinit>():218:218 -> <clinit>
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):247:247 -> <init>
    2:30:void <init>(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer,com.android.tools.r8.contexts.CompilationContext$ProcessorContext):220:248 -> <init>
    com.android.tools.r8.graph.DexType lambda$computePrototypeChangesForMethod$16(int) -> a
    1:1:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    1:1:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):630 -> a
    1:1:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):576 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    2:2:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):630 -> a
    2:2:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):576 -> a
    3:64:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):630:691 -> a
    3:64:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):576 -> a
    65:65:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):213:213 -> a
    65:65:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):691 -> a
    65:65:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):576 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    66:66:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.DexField.withType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexItemFactory):213:213 -> a
    66:66:com.android.tools.r8.graph.DexField com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewFieldSignature(com.android.tools.r8.graph.ProgramField):691 -> a
    66:66:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):576 -> a
    67:69:void lambda$visitClass$10(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramField):577:579 -> a
    70:70:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():51:51 -> a
    70:70:boolean isReturnValueUnusedForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet):535 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:71:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():51:51 -> a
    71:71:boolean isReturnValueUnusedForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet):535 -> a
    72:74:boolean isReturnValueUnusedForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet):535:537 -> a
    75:75:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder access$300(com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer,java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):218:218 -> a
    76:88:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder optimize(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):269:281 -> a
    89:89:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens.builder(com.android.tools.r8.graph.AppView):35:35 -> a
    89:89:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder optimize(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):281 -> a
    90:93:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder optimize(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):282:285 -> a
    94:98:com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder optimize(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,java.util.function.Consumer):284:288 -> a
    99:99:boolean lambda$reservePinnedMethodSignatures$0(com.android.tools.r8.graph.DexEncodedMethod):300:300 -> a
    100:101:boolean lambda$reservePinnedMethodSignatures$2(java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):312:313 -> a
    102:102:void lambda$reservePinnedMethodSignatures$3(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass):315:315 -> a
    103:103:void lambda$reservePinnedMethodSignatures$4(com.android.tools.r8.graph.DexMethodSignature):319:319 -> a
    104:111:void reserveMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges):328:335 -> a
    112:113:void computePrototypeChangesForVirtualMethods(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet):344:345 -> a
    114:114:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):349:349 -> a
    115:115:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    115:115:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):349 -> a
    116:121:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.containsImmediateInterfaceOfInstantiatedLambda(com.android.tools.r8.utils.collections.ProgramMethodSet):456:461 -> a
    116:121:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):355 -> a
    122:122:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):361:361 -> a
    123:123:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    123:123:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):361 -> a
    124:126:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):362:364 -> a
    127:127:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    127:127:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):364 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    128:128:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    128:128:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):364 -> a
    129:129:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):472:472 -> a
    129:129:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):366 -> a
    130:130:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():51:51 -> a
    130:130:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):476 -> a
    130:130:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):366 -> a
    131:150:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):476:495 -> a
    131:150:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):366 -> a
    151:151:boolean com.android.tools.r8.ir.optimize.info.CallSiteOptimizationInfo.isConcreteCallSiteOptimizationInfo():0:0 -> a
    151:151:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):495 -> a
    151:151:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):366 -> a
    152:156:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.canRemoveParameterFromVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):497:501 -> a
    152:156:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):366 -> a
    157:157:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):367:367 -> a
    158:170:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewParameterTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):550:562 -> a
    158:170:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):370 -> a
    171:171:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():51:51 -> a
    171:171:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewParameterTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):563 -> a
    171:171:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):370 -> a
    172:172:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewParameterTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):563:563 -> a
    172:172:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):370 -> a
    173:173:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewParameterTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,int):562:562 -> a
    173:173:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):370 -> a
    174:174:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):372:372 -> a
    175:175:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexMethodSignature.getReturnType():41:41 -> a
    175:175:com.android.tools.r8.ir.analysis.value.SingleValue com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getReturnValueForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethodSignature):428 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    175:175:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):379 -> a
    176:176:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProto.getReturnType():62:62 -> a
    176:176:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexMethodSignature.getReturnType():41 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    176:176:com.android.tools.r8.ir.analysis.value.SingleValue com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getReturnValueForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethodSignature):428 -> a
    176:176:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):379 -> a
    177:199:com.android.tools.r8.ir.analysis.value.SingleValue com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getReturnValueForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.DexMethodSignature):428:450 -> a
    177:199:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):379 -> a
    200:217:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewReturnTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.analysis.value.SingleValue):513:530 -> a
    200:217:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):381 -> a
    218:218:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():51:51 -> a
    218:218:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewReturnTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.analysis.value.SingleValue):530 -> a
    218:218:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):381 -> a
    219:219:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewReturnTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.analysis.value.SingleValue):530:530 -> a
    219:219:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):381 -> a
    220:220:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewReturnTypeForVirtualMethods(com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.ir.analysis.value.SingleValue):514:514 -> a
    220:220:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):381 -> a
    221:235:void lambda$computePrototypeChangesForVirtualMethods$6(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):383:397 -> a
    236:238:java.util.Map computeVirtualMethodsBySignature(java.util.Set):406:408 -> a
    239:239:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    239:239:java.util.Map computeVirtualMethodsBySignature(java.util.Set):408 -> a
    240:240:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    240:240:java.util.Map computeVirtualMethodsBySignature(java.util.Set):408 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    241:241:void lambda$computeVirtualMethodsBySignature$7(java.util.Map,com.android.tools.r8.graph.ProgramMethod):412:412 -> a
    242:244:void lambda$computeVirtualMethodsBySignature$7(java.util.Map,com.android.tools.r8.graph.ProgramMethod):411:413 -> a
    245:245:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420:420 -> a
    245:245:boolean lambda$computePrototypeChangesForVirtualMethods$5(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):351 -> a
    246:246:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):64:64 -> a
    246:246:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    246:246:boolean lambda$computePrototypeChangesForVirtualMethods$5(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):351 -> a
    247:249:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):65:67 -> a
    247:249:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420 -> a
    247:249:boolean lambda$computePrototypeChangesForVirtualMethods$5(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):351 -> a
    250:252:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):421:423 -> a
    250:252:boolean lambda$computePrototypeChangesForVirtualMethods$5(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):351 -> a
    253:266:boolean visitClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder):572:585 -> a
    267:267:void com.android.tools.r8.graph.DexProgramClass.forEachProgramInstanceInitializer(java.util.function.Consumer):266:266 -> a
    267:267:boolean visitClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder):585 -> a
    268:299:boolean visitClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder):595:626 -> a
    300:300:boolean lambda$visitClass$9(com.android.tools.r8.graph.DexEncodedField):574:574 -> a
    301:323:void lambda$visitClass$13(com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramMethod):597:619 -> a
    324:329:void lambda$visitClass$13(com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorGraphLens$Builder,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.graph.ProgramMethod):618:623 -> a
    330:330:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):601:601 -> a
    331:331:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):779:779 -> a
    331:331:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):602 -> a
    332:332:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420:420 -> a
    332:332:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    332:332:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):602 -> a
    333:333:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):64:64 -> a
    333:333:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    333:333:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    333:333:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):602 -> a
    334:336:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):65:67 -> a
    334:336:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420 -> a
    334:336:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    334:336:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):602 -> a
    337:339:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):421:423 -> a
    337:339:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    337:339:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):602 -> a
    340:344:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):782:786 -> a
    340:344:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):602 -> a
    345:345:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lambda$visitClass$12(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):606:606 -> a
    346:356:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):696:706 -> a
    357:357:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70:70 -> a
    357:357:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):706 -> a
    358:378:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):709:729 -> a
    379:387:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):728:736 -> a
    388:390:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):735:737 -> a
    391:391:com.android.tools.r8.graph.DexString com.android.tools.r8.graph.DexClassAndMember.getName():53:53 -> a
    391:391:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):739 -> a
    392:402:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):739:749 -> a
    403:419:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):738:754 -> a
    420:420:com.android.tools.r8.graph.DexMethod getNewMethodSignature(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):753:753 -> a
    421:423:boolean lambda$getNewMethodSignature$14(com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges,com.android.tools.r8.graph.DexMethod):743:745 -> a
    424:430:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isMethodSignatureFresh(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges):766:772 -> a
    424:430:boolean lambda$getNewMethodSignature$14(com.android.tools.r8.utils.IntBox,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$AllowedPrototypeChanges,com.android.tools.r8.graph.DexMethod):744 -> a
    431:431:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):779:779 -> a
    431:431:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):588 -> a
    432:432:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420:420 -> a
    432:432:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    432:432:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):588 -> a
    433:433:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):64:64 -> a
    433:433:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    433:433:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    433:433:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):588 -> a
    434:436:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):65:67 -> a
    434:436:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):420 -> a
    434:436:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    434:436:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):588 -> a
    437:439:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.isPrototypeChangesAllowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet):421:423 -> a
    437:439:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):781 -> a
    437:439:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):588 -> a
    440:442:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForDirectMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet):782:784 -> a
    440:442:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):588 -> a
    443:444:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):590:591 -> a
    445:445:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexClassAndMethod):66:66 -> a
    445:445:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):591 -> a
    446:446:void lambda$visitClass$11(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.graph.ProgramMethod):593:593 -> a
    447:454:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):796:803 -> a
    455:455:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.proto.RewrittenPrototypeDescription.withExtraParameters(com.android.tools.r8.ir.conversion.ExtraParameter[]):255:255 -> a
    455:455:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):804 -> a
    456:468:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):805:817 -> a
    469:469:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):814:814 -> a
    470:470:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticItems.createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView):501:501 -> a
    470:470:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):814 -> a
    471:472:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):818:819 -> a
    473:473:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.proto.RewrittenPrototypeDescription.withExtraParameters(com.android.tools.r8.ir.conversion.ExtraParameter[]):255:255 -> a
    473:473:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):820 -> a
    474:476:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):821:823 -> a
    477:479:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription selectInitArgumentTypeForInstanceInitializer(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.utils.collections.DexMethodSignatureSet):822:824 -> a
    480:482:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):892:894 -> a
    483:483:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewReturnType(com.android.tools.r8.graph.ProgramMethod):901:901 -> a
    483:483:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):896 -> a
    484:484:com.android.tools.r8.graph.DexType com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.getNewReturnType(com.android.tools.r8.graph.ProgramMethod):900:900 -> a
    484:484:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):896 -> a
    485:485:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):896:896 -> a
    486:486:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod):895:895 -> a
    487:506:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):906:925 -> a
    507:507:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    507:507:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):925 -> a
    508:510:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):925:925 -> a
    512:514:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):927:929 -> a
    515:515:boolean com.android.tools.r8.ir.analysis.type.TypeElement.isTop():0:0 -> a
    515:515:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):930 -> a
    516:529:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):928:941 -> a
    530:530:com.android.tools.r8.graph.DexType getNewReturnType(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.OptionalBool,com.android.tools.r8.ir.analysis.value.SingleValue):940:940 -> a
    531:561:com.android.tools.r8.graph.DexType getNewParameterType(com.android.tools.r8.graph.ProgramMethod,int):965:995 -> a
    562:563:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1006:1007 -> a
    564:571:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1016:1023 -> a
    564:571:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    572:572:com.android.tools.r8.graph.proto.RemovedReceiverInfo$Builder com.android.tools.r8.graph.proto.RemovedReceiverInfo$Builder.create():54:54 -> a
    572:572:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1026 -> a
    572:572:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    573:573:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1026:1026 -> a
    573:573:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    574:592:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1025:1043 -> a
    574:592:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    593:609:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1039:1055 -> a
    593:609:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    610:630:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1050:1070 -> a
    610:630:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    631:640:com.android.tools.r8.graph.proto.ArgumentInfoCollection com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computeParameterChangesForMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.IntFunction,java.util.function.IntPredicate):1064:1073 -> a
    631:640:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1008 -> a
    641:641:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,java.util.function.IntFunction,java.util.function.IntPredicate):1005:1005 -> a
    642:653:com.android.tools.r8.graph.proto.RewrittenTypeInfo computeReturnChangesForMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):1079:1090 -> a
    654:654:void lambda$computeReturnChangesForMethod$18(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.proto.RewrittenTypeInfo$Builder):1086:1086 -> a
    boolean lambda$computePrototypeChangesForMethod$17(int) -> b
    1:22:void reservePinnedMethodSignatures(java.util.Set):296:317 -> b
    23:26:void lambda$reservePinnedMethodSignatures$1(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):302:305 -> b
    27:36:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):830:839 -> b
    37:45:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForAbstractVirtualMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):864:872 -> b
    37:45:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):839 -> b
    46:57:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForAbstractVirtualMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):870:881 -> b
    46:57:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):839 -> b
    58:70:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForAbstractVirtualMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):875:887 -> b
    58:70:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):839 -> b
    71:71:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorProgramOptimizer$StronglyConnectedComponentOptimizer.computePrototypeChangesForAbstractVirtualMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet):884:884 -> b
    71:71:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):839 -> b
    72:79:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):846:853 -> b
    80:80:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription computePrototypeChangesForVirtualMethod(com.android.tools.r8.graph.ProgramMethod):852:852 -> b
    81:81:com.android.tools.r8.graph.DexType lambda$computePrototypeChangesForMethod$15(com.android.tools.r8.graph.ProgramMethod,int):893:893 -> b
    1:13:com.android.tools.r8.ir.analysis.value.SingleValue getReturnValue(com.android.tools.r8.graph.ProgramMethod):948:960 -> c
    1:2:boolean lambda$isReturnValueUnusedForVirtualMethods$8(com.android.tools.r8.graph.ProgramMethod):540:541 -> d
com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods -> com.android.tools.r8.internal.d3:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference methodStates -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():19:19 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):28:31 -> <init>
    1:18:void initializeUnoptimizableMethodStates(java.util.Collection):38:55 -> a
    19:19:void disableArgumentPropagationForMethod(com.android.tools.r8.graph.ProgramMethod):59:59 -> a
    1:3:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):63:63 -> b
    1:3:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    4:4:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":23,"2":24,"3":25}}
    23:23:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):63:63 -> b
    23:23:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    24:24:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):63:63 -> b
    24:24:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    25:25:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):63:63 -> b
    25:25:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    5:9:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):66:70 -> b
    5:9:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    10:10:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.ProgramMethod):105:105 -> b
    10:10:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):70 -> b
    10:10:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    11:11:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):64:64 -> b
    11:11:boolean com.android.tools.r8.shaking.KeepMethodInfo.isArgumentPropagationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):60 -> b
    11:11:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):70 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    11:11:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    12:14:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):65:67 -> b
    12:14:boolean com.android.tools.r8.shaking.KeepMethodInfo.isArgumentPropagationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):60 -> b
    12:14:boolean com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorUnoptimizableMethods.isUnoptimizableMethod(com.android.tools.r8.graph.ProgramMethod):70 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    12:14:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):44 -> b
    15:16:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):45:46 -> b
    17:17:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> b
    17:17:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):46 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:18:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> b
    18:18:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):46 -> b
    19:22:boolean lambda$initializeUnoptimizableMethodStates$0(com.android.tools.r8.graph.ProgramMethod):47:50 -> b
com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomArrayTypeParameterState -> com.android.tools.r8.internal.G5:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomArrayTypeParameterState INSTANCE -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():13:15 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):30:30 -> a
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):33 -> a
    3:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):36:40 -> a
    8:8:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isArrayParameter():0:0 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):40 -> a
    9:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):41:44 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):45 -> a
    14:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):47:48 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomArrayTypeParameterState get():20:20 -> g
com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomClassTypeParameterState -> com.android.tools.r8.internal.H5:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomClassTypeParameterState INSTANCE -> a
    1:3:void <clinit>():15:17 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):32:32 -> a
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):35 -> a
    3:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):38:45 -> a
    11:11:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isClassParameter():0:0 -> a
    11:11:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):46 -> a
    12:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):46:49 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):50 -> a
    17:18:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):51:52 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomClassTypeParameterState get():22:22 -> g
com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState -> com.android.tools.r8.internal.J5:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState INSTANCE -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy() -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):49:49 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,java.util.function.Function,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):58:58 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):49:49 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,java.util.function.Function,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):58 -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom asMonomorphicOrBottom() -> h
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom asPolymorphicOrBottom() -> i
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState get():20:20 -> k
com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomParameterState -> com.android.tools.r8.internal.K5:
    1:1:void <init>():13:13 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):17:17 -> a
    2:2:com.android.tools.r8.ir.analysis.value.BottomValue com.android.tools.r8.ir.analysis.value.AbstractValue.bottom():16:16 -> a
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):17 -> a
    boolean isBottom() -> c
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy() -> f
com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomPrimitiveTypeParameterState -> com.android.tools.r8.internal.O5:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomPrimitiveTypeParameterState INSTANCE -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():12:14 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    1:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):30:31 -> a
    3:3:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):34 -> a
    4:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):37:38 -> a
    6:6:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isPrimitiveParameter():0:0 -> a
    6:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):38 -> a
    7:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):38:39 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomPrimitiveTypeParameterState get():20:20 -> g
com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomReceiverParameterState -> com.android.tools.r8.internal.P5:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomReceiverParameterState INSTANCE -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():13:15 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):30:30 -> a
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):33 -> a
    3:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):36:40 -> a
    8:8:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isReceiverParameter():0:0 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):40 -> a
    9:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):41:44 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):45 -> a
    14:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):47:48 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomReceiverParameterState get():20:20 -> g
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState -> com.android.tools.r8.internal.Kc:
    com.android.tools.r8.ir.analysis.type.Nullability nullability -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():18:18 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.analysis.type.Nullability,java.util.Set):32:35 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.Nullability com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState.getNullability():70:70 -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):52 -> a
    2:5:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):52:55 -> a
    6:6:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    6:6:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):55 -> a
    7:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):102:103 -> a
    9:9:boolean com.android.tools.r8.ir.analysis.type.Nullability.isUnknown():53:53 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):103 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:11:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):103:104 -> a
    12:12:boolean com.android.tools.r8.ir.analysis.type.Nullability.isUnknown():53:53 -> a
    12:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):105 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):106 -> a
    14:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):108:109 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):110 -> a
    17:17:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):113:113 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy():93:93 -> f
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState asArrayParameter() -> g
    1:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():40:41 -> k
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.bottomArrayTypeParameter():16:16 -> k
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():42 -> k
    4:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():44:46 -> k
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():60:60 -> q
    1:1:com.android.tools.r8.ir.analysis.type.Nullability getNullability():70:70 -> r
    1:1:boolean isEffectivelyBottom():84:84 -> s
    1:1:boolean isEffectivelyUnknown():88:88 -> t
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState -> com.android.tools.r8.internal.Nc:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> d
    com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> c
    1:1:void <clinit>():19:19 -> <clinit>
    1:5:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue,com.android.tools.r8.ir.analysis.type.DynamicType,java.util.Set):34:38 -> <init>
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.getDynamicType():65:65 -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):56 -> a
    2:3:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):56:57 -> a
    4:4:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isNull():42:42 -> a
    4:4:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):57 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:8:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):57:60 -> a
    9:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):107:114 -> a
    17:27:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):112:122 -> a
    28:28:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    28:28:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):123 -> a
    29:30:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):125:126 -> a
    31:31:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    31:31:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):127 -> a
    32:35:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):129:132 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy():98:98 -> f
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState asClassParameter() -> h
    1:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():43:44 -> k
    3:3:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> k
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():44 -> k
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():45:45 -> k
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.bottomClassTypeParameter():20:20 -> k
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():46 -> k
    6:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():48:50 -> k
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():65:65 -> q
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState.getDynamicType():65:65 -> r
    1:1:com.android.tools.r8.ir.analysis.type.Nullability getNullability():70 -> r
    2:2:com.android.tools.r8.ir.analysis.type.Nullability getNullability():70:70 -> r
    1:1:boolean isEffectivelyBottom():89:89 -> s
    2:2:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> s
    2:2:boolean isEffectivelyBottom():89 -> s
    3:3:boolean isEffectivelyBottom():89:89 -> s
    1:1:boolean isEffectivelyUnknown():93:93 -> t
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState -> com.android.tools.r8.internal.Pc:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    1:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):30:36 -> a
    8:8:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):53 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):53:53 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    10:10:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):53 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    11:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):54:55 -> a
    11:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    13:13:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):57 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    14:14:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):57:57 -> a
    14:14:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    15:15:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    15:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):57 -> a
    15:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    16:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):58:61 -> a
    16:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    20:20:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    20:20:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):62 -> a
    20:20:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    21:21:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):61:61 -> a
    21:21:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):36 -> a
    22:22:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,java.util.function.Function,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):45:45 -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState asConcrete() -> d
    boolean isConcrete() -> e
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState -> com.android.tools.r8.internal.Qc:
    java.util.List parameterStates -> c
    boolean isReturnValueUsed -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:3:void <init>(boolean,java.util.List):23:25 -> <init>
    4:8:void <init>(boolean,java.util.List):24:28 -> <init>
    1:1:boolean lambda$new$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):25:25 -> a
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isReceiverParameter():0:0 -> a
    2:2:boolean lambda$new$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):25 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown create(boolean,java.util.List):33:33 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown create(boolean,java.util.List):34 -> a
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown create(boolean,java.util.List):35:35 -> a
    6:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState getParameterState(int):39:39 -> a
    7:7:boolean isEffectivelyUnknown(boolean,java.util.List):60:60 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():65:65 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    9:9:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():65 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():65:65 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    11:11:java.util.List com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.getParameterStates():43:43 -> a
    11:11:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():66 -> a
    11:11:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    12:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():66:69 -> a
    12:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy():16 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():65:65 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    17:17:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    17:17:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():65 -> a
    17:17:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    18:18:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():65:65 -> a
    18:18:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    19:19:java.util.List com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.getParameterStates():43:43 -> a
    19:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():66 -> a
    19:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    20:23:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.mutableCopy():66:69 -> a
    20:23:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():16 -> a
    24:26:void setParameterState(int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):127:129 -> a
    27:27:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isReceiverParameter():0:0 -> a
    27:27:void setParameterState(int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):129 -> a
    28:31:void setParameterState(int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):127:130 -> a
    32:32:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    32:32:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):77 -> a
    33:33:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    33:33:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):77 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    34:34:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):77 -> a
    35:35:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):78:78 -> a
    36:36:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    36:36:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):79 -> a
    37:37:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):78:78 -> a
    38:38:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.isReturnValueUsed():47:47 -> a
    38:38:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):82 -> a
    39:39:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):83:83 -> a
    40:40:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    40:40:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):87 -> a
    41:41:int com.android.tools.r8.graph.DexMethodSignature.getArity():29:29 -> a
    41:41:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    42:42:int com.android.tools.r8.graph.DexMethodSignature.getArity():29 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):87 -> a
    43:43:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    43:43:int com.android.tools.r8.graph.DexMethodSignature.getArity():29 -> a
    43:43:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):87 -> a
    44:44:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88:88 -> a
    45:45:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    45:45:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    46:46:int com.android.tools.r8.graph.DexMethodSignature.getArity():29:29 -> a
    46:46:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    47:47:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    47:47:int com.android.tools.r8.graph.DexMethodSignature.getArity():29 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    47:47:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    48:48:int com.android.tools.r8.graph.DexProto.getArity():91:91 -> a
    48:48:int com.android.tools.r8.graph.DexMethodSignature.getArity():29 -> a
    48:48:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    49:54:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88:93 -> a
    55:55:com.android.tools.r8.utils.Action com.android.tools.r8.utils.Action.empty():13:13 -> a
    55:55:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):64 -> a
    55:55:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):93 -> a
    56:56:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):64:64 -> a
    56:56:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):93 -> a
    57:57:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):92:92 -> a
    58:58:int com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState.size():134:134 -> a
    58:58:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):97 -> a
    59:60:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):98:99 -> a
    61:61:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexMethodSignature.getParameter(int):33:33 -> a
    61:61:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):100 -> a
    62:64:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):101:103 -> a
    65:65:com.android.tools.r8.utils.Action com.android.tools.r8.utils.Action.empty():13:13 -> a
    65:65:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):64 -> a
    65:65:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):103 -> a
    66:66:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):64:64 -> a
    66:66:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):103 -> a
    67:71:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):101:105 -> a
    72:72:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState.isReceiverParameter():0:0 -> a
    72:72:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):105 -> a
    73:77:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):104:108 -> a
    78:78:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    78:78:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):108 -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState asMonomorphic() -> b
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom asMonomorphicOrBottom() -> h
    1:1:java.util.List getParameterStates():43:43 -> k
    1:1:boolean isEffectivelyBottom():51:51 -> l
    2:2:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> l
    2:2:boolean isEffectivelyBottom():51 -> l
    1:1:boolean isEffectivelyUnknown():55:55 -> m
    1:1:boolean isReturnValueUsed():47:47 -> n
    1:1:int size():134:134 -> o
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom -> com.android.tools.r8.internal.Rc:
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown -> com.android.tools.r8.internal.Sc:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy() -> a
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState -> com.android.tools.r8.internal.Uc:
    java.util.Set inParameters -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():15:15 -> <clinit>
    1:2:void <init>(java.util.Set):26:27 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState asConcrete() -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):112:112 -> a
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):115 -> a
    3:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):118:124 -> a
    10:18:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):122:130 -> a
    19:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action):129:129 -> a
    20:27:boolean mutableJoinInParameters(com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState):134:141 -> a
    1:3:boolean widenInParameters(com.android.tools.r8.graph.AppView):149:151 -> b
    boolean isConcrete() -> d
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteArrayTypeParameterState asArrayParameter() -> g
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteClassTypeParameterState asClassParameter() -> h
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState asPrimitiveParameter() -> i
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState asReferenceParameter() -> j
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters() -> k
    1:5:java.util.Set copyInParameters():37:41 -> l
    1:2:java.util.Set getInParameters():49:50 -> m
    1:1:boolean hasInParameters():45:45 -> n
    1:1:void internalClearInParameters():33:33 -> o
    boolean isReferenceParameter() -> p
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState -> com.android.tools.r8.internal.Vc:
    java.util.Map receiverBoundsToState -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():19:19 -> <clinit>
    1:4:void <init>(java.util.Map):27:30 -> <init>
    5:8:void <init>(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):35:38 -> <init>
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown create(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):44:44 -> a
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown create(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):44 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.unknown():19:19 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown create(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):45 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown create(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):46:46 -> a
    5:5:void forEach(java.util.function.BiConsumer):100:100 -> a
    6:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateForBounds(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):104:105 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState getMethodStateForBounds(com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):109 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():122:122 -> a
    10:10:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.isEffectivelyBottom():113:113 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():122 -> a
    11:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():122:126 -> a
    16:16:void com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.forEach(java.util.function.BiConsumer):100:100 -> a
    16:16:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():126 -> a
    17:17:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy():127:127 -> a
    18:18:void lambda$mutableCopy$0(java.util.Map,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):126:126 -> a
    19:19:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):165:165 -> a
    20:20:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.isEffectivelyBottom():113:113 -> a
    20:20:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):165 -> a
    21:22:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):165:166 -> a
    23:23:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.isEffectivelyBottom():113:113 -> a
    23:23:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):167 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.isEffectivelyBottom():113:113 -> a
    24:24:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):167 -> a
    25:30:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):167:172 -> a
    31:31:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):55:55 -> a
    31:31:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    32:32:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.isEffectivelyBottom():113:113 -> a
    32:32:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):55 -> a
    32:32:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    33:35:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):55:57 -> a
    33:35:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    36:36:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    36:36:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):57 -> a
    36:36:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    37:37:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):58:58 -> a
    37:37:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    38:38:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    38:38:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):59 -> a
    38:38:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    39:43:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):61:65 -> a
    39:43:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    44:44:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    44:44:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):65 -> a
    44:44:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    45:48:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):65:68 -> a
    45:48:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    49:51:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):86:88 -> a
    49:51:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    49:51:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    52:52:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    52:52:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    52:52:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    52:52:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    53:53:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88:88 -> a
    53:53:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    53:53:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    54:54:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    54:54:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> a
    54:54:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    54:54:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    55:55:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    55:55:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):91 -> a
    55:55:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    55:55:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    56:59:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):91:94 -> a
    56:59:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    56:59:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    60:60:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    60:60:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):89 -> a
    60:60:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):67 -> a
    60:60:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    61:61:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):69:69 -> a
    61:61:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    62:62:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    62:62:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):69 -> a
    62:62:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    63:63:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> a
    63:63:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):70 -> a
    63:63:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    64:64:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.add(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):72:72 -> a
    64:64:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):172 -> a
    65:65:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> a
    65:65:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):173 -> a
    66:68:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):176:178 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):135:135 -> b
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.isEffectivelyBottom():113:113 -> b
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):135 -> b
    3:17:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):135:149 -> b
    18:20:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):86:88 -> b
    18:20:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> b
    21:21:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> b
    21:21:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> b
    21:21:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> b
    22:22:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88:88 -> b
    22:22:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> b
    23:23:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> b
    23:23:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):88 -> b
    23:23:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> b
    24:24:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):91:91 -> b
    24:24:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> b
    25:25:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> b
    25:25:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):91 -> b
    25:25:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> b
    26:29:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):91:94 -> b
    26:29:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> b
    30:30:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> b
    30:30:com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState.joinInner(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):89 -> b
    30:30:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):148 -> b
    31:31:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):150:150 -> b
    32:32:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isUnknown():0:0 -> b
    32:32:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):150 -> b
    33:33:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.unknown():14:14 -> b
    33:33:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):151 -> b
    34:36:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):153:155 -> b
    37:37:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.bottom():10:10 -> b
    37:37:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):156 -> b
    38:38:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopyWithRewrittenBounds(com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner):157:157 -> b
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom asPolymorphicOrBottom() -> i
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState asPolymorphic() -> j
    1:1:boolean isEffectivelyBottom():113:113 -> k
    1:1:boolean isEffectivelyUnknown():117:117 -> l
    1:1:java.util.Collection values():183:183 -> m
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom -> com.android.tools.r8.internal.Wc:
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrUnknown -> com.android.tools.r8.internal.Xc:
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState -> com.android.tools.r8.internal.Zc:
    com.android.tools.r8.ir.analysis.value.AbstractValue abstractValue -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.analysis.value.AbstractValue,java.util.Set):26:29 -> <init>
    1:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):58:65 -> a
    9:14:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):63:68 -> a
    15:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    15:15:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):69 -> a
    16:17:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):71:72 -> a
    18:18:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    18:18:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):73 -> a
    19:20:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):75:76 -> a
    21:21:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):83:83 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy():50:50 -> f
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePrimitiveTypeParameterState asPrimitiveParameter() -> i
    1:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():38:39 -> k
    3:3:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> k
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():39 -> k
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.bottomPrimitiveTypeParameter():24:24 -> k
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():40 -> k
    5:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():42:44 -> k
    1:1:boolean isEffectivelyBottom():92:92 -> q
    2:2:boolean com.android.tools.r8.ir.analysis.value.AbstractValue.isBottom():0:0 -> q
    2:2:boolean isEffectivelyBottom():92 -> q
    3:3:boolean isEffectivelyBottom():92:92 -> q
    1:1:boolean isEffectivelyUnknown():96:96 -> r
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReceiverParameterState -> com.android.tools.r8.internal.ad:
    com.android.tools.r8.ir.analysis.type.DynamicType dynamicType -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():17:17 -> <clinit>
    1:4:void <init>(com.android.tools.r8.ir.analysis.type.DynamicType,java.util.Set):27:30 -> <init>
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):47:47 -> a
    2:2:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):47 -> a
    3:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):96:99 -> a
    7:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    7:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):100 -> a
    8:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):102:103 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    10:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):104 -> a
    11:12:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action):106:107 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy():85:85 -> f
    1:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():35:36 -> k
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.bottomReceiverParameter():28:28 -> k
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():37 -> k
    4:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState clearInParameters():39:41 -> k
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType():52:52 -> q
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReceiverParameterState.getDynamicType():52:52 -> r
    1:1:com.android.tools.r8.ir.analysis.type.Nullability getNullability():57 -> r
    2:2:com.android.tools.r8.ir.analysis.type.Nullability getNullability():57:57 -> r
    1:1:boolean isEffectivelyBottom():66:66 -> s
    1:1:boolean isEffectivelyUnknown():70:70 -> t
com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState -> com.android.tools.r8.internal.cd:
    1:1:void <init>(java.util.Set):18:18 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Action) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteReferenceTypeParameterState asReferenceParameter() -> j
    boolean isReferenceParameter() -> p
    com.android.tools.r8.ir.analysis.type.DynamicType getDynamicType() -> q
    com.android.tools.r8.ir.analysis.type.Nullability getNullability() -> r
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter -> com.android.tools.r8.internal.NE:
    int index -> b
    com.android.tools.r8.graph.DexMethod method -> a
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,int):15:17 -> <init>
    1:1:int getIndex():25:25 -> a
    1:1:com.android.tools.r8.graph.DexMethod getMethod():21:21 -> b
    1:5:boolean equals(java.lang.Object):30:34 -> equals
    1:1:int hashCode():39:39 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":90,"2":91,"3":92}}
    90:90:java.lang.String toString():44:44 -> toString
    91:91:java.lang.String toString():44:44 -> toString
    92:92:java.lang.String toString():44:44 -> toString
    45:45:java.lang.String toString():44:44 -> toString
    46:46:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":93,"2":94,"3":95}}
    93:93:java.lang.String toString():44:44 -> toString
    94:94:java.lang.String toString():44:44 -> toString
    95:95:java.lang.String toString():44:44 -> toString
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameterFactory -> com.android.tools.r8.internal.OE:
    java.util.Map methodParameters -> a
    1:3:void <init>():12:14 -> <init>
    1:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter create(com.android.tools.r8.graph.ProgramMethod,int):17:17 -> a
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState -> com.android.tools.r8.internal.VE:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy() -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,java.util.function.Function,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState asMonomorphic() -> b
    boolean isPolymorphic() -> c
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState asConcrete() -> d
    boolean isConcrete() -> e
    boolean isMonomorphic() -> f
    boolean isBottom() -> g
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom asMonomorphicOrBottom() -> h
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom asPolymorphicOrBottom() -> i
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState asPolymorphic() -> j
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase -> com.android.tools.r8.internal.WE:
    1:1:void <init>():7:7 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState asMonomorphic() -> b
    boolean isPolymorphic() -> c
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMethodState asConcrete() -> d
    boolean isConcrete() -> e
    boolean isMonomorphic() -> f
    boolean isBottom() -> g
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrBottom asMonomorphicOrBottom() -> h
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodStateOrBottom asPolymorphicOrBottom() -> i
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcretePolymorphicMethodState asPolymorphic() -> j
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection -> com.android.tools.r8.optimize.argumentpropagation.codescanner.a:
    java.util.Map methodStates -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(java.util.Map):21:23 -> <init>
    java.lang.Object getKey(com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$addTemporaryMethodState$1(java.util.function.Function,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.AppView,java.lang.Object,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):70 -> a
    2:10:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$addTemporaryMethodState$1(java.util.function.Function,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.AppView,java.lang.Object,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):70:78 -> a
    11:14:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$addTemporaryMethodState$1(java.util.function.Function,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.AppView,java.lang.Object,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):77:80 -> a
    15:15:void addMethodState(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):32:32 -> a
    16:19:void addMethodState(com.android.tools.r8.graph.AppView,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):37:40 -> a
    20:24:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$addMethodState$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.graph.AppView,java.lang.Object,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):45:49 -> a
    25:28:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState lambda$addMethodState$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.graph.AppView,java.lang.Object,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):48:51 -> a
    29:29:void addTemporaryMethodState(com.android.tools.r8.graph.AppView,java.lang.Object,java.util.function.Function,com.android.tools.r8.utils.Timing):66:66 -> a
    30:30:void addMethodStates(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection):87:87 -> a
    31:31:void forEach(java.util.function.BiConsumer):92:92 -> a
    32:32:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(java.lang.Object):100:100 -> a
    33:33:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    33:33:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(java.lang.Object):100 -> a
    34:34:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(java.lang.Object):100:100 -> a
    35:35:boolean isEmpty():104:104 -> a
    36:36:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState removeOrElse(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):112:112 -> a
    com.android.tools.r8.graph.DexMethodSignature getSignature(java.lang.Object) -> b
    1:1:void lambda$addMethodStates$2(com.android.tools.r8.graph.AppView,java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):88:88 -> b
    2:2:void set(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):117:117 -> b
    3:6:void set(java.lang.Object,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):121:124 -> b
    3:6:void set(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):117 -> b
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference -> com.android.tools.r8.optimize.argumentpropagation.codescanner.b:
    1:1:void <init>(java.util.Map):17:17 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> a
    1:1:java.lang.Object getKey(com.android.tools.r8.graph.ProgramMethod):14 -> a
    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature(java.lang.Object):14:14 -> b
    2:2:com.android.tools.r8.graph.DexMethodSignature getSignature(com.android.tools.r8.graph.DexMethod):35:35 -> b
    2:2:com.android.tools.r8.graph.DexMethodSignature getSignature(java.lang.Object):14 -> b
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference createConcurrent():25:25 -> b
    4:4:com.android.tools.r8.graph.DexMethod getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> b
    4:4:java.lang.Object getKey(com.android.tools.r8.graph.ProgramMethod):14 -> b
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96 -> b
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(com.android.tools.r8.graph.ProgramMethod):14 -> b
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96:96 -> b
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(com.android.tools.r8.graph.ProgramMethod):14 -> b
com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature -> com.android.tools.r8.optimize.argumentpropagation.codescanner.c:
    1:1:void <init>(java.util.Map):16:16 -> <init>
    1:1:com.android.tools.r8.graph.DexMethodSignature getKey(com.android.tools.r8.graph.ProgramMethod):29:29 -> a
    1:1:java.lang.Object getKey(com.android.tools.r8.graph.ProgramMethod):13 -> a
    1:1:com.android.tools.r8.graph.DexMethodSignature getSignature(java.lang.Object):13:13 -> b
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature create():20:20 -> b
    3:3:com.android.tools.r8.graph.DexMethodSignature getKey(com.android.tools.r8.graph.ProgramMethod):29:29 -> b
    3:3:java.lang.Object getKey(com.android.tools.r8.graph.ProgramMethod):13 -> b
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96 -> b
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(com.android.tools.r8.graph.ProgramMethod):13 -> b
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96:96 -> b
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState get(com.android.tools.r8.graph.ProgramMethod):13 -> b
com.android.tools.r8.optimize.argumentpropagation.codescanner.NonEmptyParameterState -> com.android.tools.r8.internal.yH:
    1:1:void <init>():7:7 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.NonEmptyParameterState asNonEmpty() -> b
com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState -> com.android.tools.r8.internal.FL:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteParameterState asConcrete() -> a
    com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.NonEmptyParameterState asNonEmpty() -> b
    boolean isBottom() -> c
    boolean isConcrete() -> d
    boolean isUnknown() -> e
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy() -> f
com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner -> com.android.tools.r8.internal.iW:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner CLONER -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner IDENTITY -> b
    1:14:void <clinit>():23:36 -> <clinit>
    1:1:void <init>():21:21 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState) -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner getCloner():50:50 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner getIdentity():54:54 -> b
com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner$1 -> com.android.tools.r8.internal.gW:
    1:1:void <init>():24:24 -> <init>
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):27:27 -> a
    2:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):32:32 -> a
com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner$2 -> com.android.tools.r8.internal.hW:
    1:1:void <init>():37:37 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState) -> a
com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState -> com.android.tools.r8.internal.M00:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState INSTANCE -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():18:18 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown mutableCopy() -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableCopy() -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner) -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethodSignature,java.util.function.Function,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner) -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState get():21:21 -> k
com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState -> com.android.tools.r8.internal.N00:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState INSTANCE -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableJoin(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.StateCloner,com.android.tools.r8.utils.Action) -> a
    1:1:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):25:25 -> a
    2:2:com.android.tools.r8.ir.analysis.value.UnknownValue com.android.tools.r8.ir.analysis.value.AbstractValue.unknown():20:20 -> a
    2:2:com.android.tools.r8.ir.analysis.value.AbstractValue getAbstractValue(com.android.tools.r8.graph.AppView):25 -> a
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState mutableCopy() -> f
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState get():20:20 -> g
com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis -> com.android.tools.r8.internal.m20:
    java.util.Set monomorphicVirtualMethods -> g
    java.util.Map virtualRootMethodsPerClass -> f
    java.util.Map virtualRootMethods -> h
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):114:114 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):105:110 -> <init>
    1:5:void initializeVirtualRootMethods(java.util.Collection,com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorCodeScanner):121:125 -> a
    6:7:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):130:131 -> a
    8:8:void com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis.promoteToFinalIfPossible(com.android.tools.r8.graph.DexProgramClass):211:211 -> a
    8:8:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):132 -> a
    9:9:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    9:9:void com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis.promoteToFinalIfPossible(com.android.tools.r8.graph.DexProgramClass):211 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):132 -> a
    10:10:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    10:10:void com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis.promoteToFinalIfPossible(com.android.tools.r8.graph.DexProgramClass):211 -> a
    10:10:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):132 -> a
    11:15:void com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis.promoteToFinalIfPossible(com.android.tools.r8.graph.DexProgramClass):211:215 -> a
    11:15:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):132 -> a
    16:16:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):134:134 -> a
    17:19:void lambda$computeVirtualRootMethodsState$2(java.util.Map,com.android.tools.r8.graph.DexProgramClass):150:152 -> a
    20:22:void lambda$computeVirtualRootMethodsState$1(java.util.Map,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):154:154 -> a
    23:23:com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod lambda$computeVirtualRootMethodsState$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):155:155 -> a
    24:28:void lambda$computeVirtualRootMethodsState$3(java.util.Map,com.android.tools.r8.graph.ProgramMethod):159:163 -> a
    29:29:void com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod.<init>(com.android.tools.r8.graph.ProgramMethod):44:44 -> a
    29:29:void lambda$computeVirtualRootMethodsState$3(java.util.Map,com.android.tools.r8.graph.ProgramMethod):163 -> a
    30:30:void lambda$computeVirtualRootMethodsState$3(java.util.Map,com.android.tools.r8.graph.ProgramMethod):163:163 -> a
    31:33:void lambda$prune$6(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):177:179 -> a
    34:34:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    34:34:void lambda$prune$6(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):179 -> a
    35:54:void lambda$prune$6(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):183:202 -> a
    55:57:void lambda$prune$4(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):195:195 -> a
    58:58:void promoteToFinalIfPossible(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):220:220 -> a
    59:59:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    59:59:void promoteToFinalIfPossible(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):220 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    60:60:com.android.tools.r8.utils.InternalOptions$TestingOptions com.android.tools.r8.graph.AppView.testing():506:506 -> a
    60:60:void promoteToFinalIfPossible(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):220 -> a
    61:66:void promoteToFinalIfPossible(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):220:225 -> a
    1:1:void lambda$prune$5(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):204:204 -> b
    1:3:void prune(com.android.tools.r8.graph.DexProgramClass):172:174 -> i
    4:4:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> i
    4:4:void prune(com.android.tools.r8.graph.DexProgramClass):174 -> i
    5:5:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> i
    5:5:void prune(com.android.tools.r8.graph.DexProgramClass):174 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:2:void visit(com.android.tools.r8.graph.DexProgramClass):140:141 -> k
    1:2:java.util.Map computeVirtualRootMethodsState(com.android.tools.r8.graph.DexProgramClass):146:147 -> l
    3:3:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> l
    3:3:java.util.Map computeVirtualRootMethodsState(com.android.tools.r8.graph.DexProgramClass):147 -> l
    4:4:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> l
    4:4:java.util.Map computeVirtualRootMethodsState(com.android.tools.r8.graph.DexProgramClass):147 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:java.util.Map computeVirtualRootMethodsState(com.android.tools.r8.graph.DexProgramClass):157:157 -> l
    6:6:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> l
    6:6:java.util.Map computeVirtualRootMethodsState(com.android.tools.r8.graph.DexProgramClass):157 -> l
com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod -> com.android.tools.r8.internal.l20:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod parent -> a
    com.android.tools.r8.utils.collections.ProgramMethodSet overrides -> c
    com.android.tools.r8.graph.ProgramMethod root -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():37:37 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):47:47 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod):41:49 -> <init>
    1:3:void addOverride(com.android.tools.r8.graph.ProgramMethod):53:55 -> a
    4:4:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod.hasParent():62:62 -> a
    4:4:void addOverride(com.android.tools.r8.graph.ProgramMethod):56 -> a
    5:5:void addOverride(com.android.tools.r8.graph.ProgramMethod):57:57 -> a
    6:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.VirtualRootMethodsAnalysis$VirtualRootMethod getParent():66:66 -> a
    7:8:void forEach(java.util.function.Consumer):90:91 -> a
    1:1:com.android.tools.r8.graph.ProgramMethod getRoot():70:70 -> b
    1:12:com.android.tools.r8.graph.ProgramMethod getSingleNonAbstractMethod():74:85 -> c
    13:13:com.android.tools.r8.graph.ProgramMethod getSingleNonAbstractMethod():84:84 -> c
    1:1:boolean hasOverrides():95:95 -> d
    1:1:boolean isInterfaceMethodWithSiblings():101:101 -> e
com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter -> com.android.tools.r8.internal.OH:
    1:1:void <init>():32:32 -> <init>
    void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult) -> a
    void processWorklist() -> a
    1:2:com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):39:40 -> a
    3:3:boolean com.android.tools.r8.graph.GraphLens.isArgumentPropagatorGraphLens():0:0 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):43 -> a
    4:6:com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):44:46 -> a
    7:7:boolean lambda$create$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):40:40 -> a
    8:8:boolean com.android.tools.r8.graph.GraphLens.isArgumentPropagatorGraphLens():0:0 -> a
    8:8:boolean lambda$create$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):40 -> a
com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$EmptyNullCheckInserter -> com.android.tools.r8.internal.MH:
    1:1:void <init>():208:208 -> <init>
    void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult) -> a
    void processWorklist() -> a
com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl -> com.android.tools.r8.internal.NH:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Map worklist -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ir.code.IRCode code -> b
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens graphLens -> c
    1:1:void <clinit>():54:54 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):63:63 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):60:66 -> <init>
    boolean lambda$processWorklist$0(com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.BasicBlock) -> a
    1:1:void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):73:73 -> a
    2:2:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    2:2:void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):73 -> a
    3:4:void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):78:79 -> a
    5:5:boolean com.android.tools.r8.graph.proto.ArgumentInfo.isRemovedReceiverInfo():0:0 -> a
    5:5:void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):79 -> a
    6:18:void insertNullCheckForInvokeReceiverIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult):83:95 -> a
    19:29:void processWorklist():100:110 -> a
    30:30:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    30:30:void processWorklist():110 -> a
    31:37:void processWorklist():114:120 -> a
    38:46:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Value):172:180 -> a
    38:46:void processWorklist():121 -> a
    47:54:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Instruction):195:202 -> a
    47:54:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Value):180 -> a
    47:54:void processWorklist():121 -> a
    55:58:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Value):187:190 -> a
    55:58:void processWorklist():121 -> a
    59:66:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Instruction):195:202 -> a
    59:66:boolean com.android.tools.r8.optimize.argumentpropagation.lenscoderewriter.NullCheckInserter$NullCheckInserterImpl.isReadOfEffectivelyUnreadField(com.android.tools.r8.ir.code.Value):190 -> a
    59:66:void processWorklist():121 -> a
    67:73:void processWorklist():125:131 -> a
    74:94:void processWorklist():130:150 -> a
    95:105:void processWorklist():149:159 -> a
    106:106:com.android.tools.r8.ir.code.BasicBlock com.android.tools.r8.ir.code.BasicBlockIterator.previousUntil(java.util.function.Predicate):68:68 -> a
    106:106:void processWorklist():159 -> a
    107:113:void processWorklist():160:166 -> a
com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator -> com.android.tools.r8.internal.Wo:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference methodStates -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.conversion.IRConverter converter -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():43:43 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.conversion.IRConverter,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):52:55 -> <init>
    1:12:void process(java.util.Set):75:86 -> a
    13:15:void lambda$process$0(java.util.Deque,com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode):91:93 -> a
    16:16:void lambda$propagate$1(java.util.function.Consumer,com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode):111:111 -> a
    17:19:void postProcessMethodStates(java.util.concurrent.ExecutorService):122:122 -> a
    20:20:void postProcessMethodStates(com.android.tools.r8.graph.DexProgramClass):127:127 -> a
    21:25:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):131:135 -> a
    26:26:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    26:26:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):135 -> a
    27:30:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):135:138 -> a
    31:31:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    31:31:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):138 -> a
    32:34:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):138:140 -> a
    35:35:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.unknown():19:19 -> a
    35:35:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):140 -> a
    36:36:void postProcessMethodState(com.android.tools.r8.graph.ProgramMethod):140:140 -> a
    1:10:void run(java.util.concurrent.ExecutorService):61:70 -> b
    11:20:void propagate(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode,java.util.function.Consumer):101:110 -> b
    21:25:void propagate(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode,java.util.function.Consumer):108:112 -> b
    26:26:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> b
    26:26:void propagate(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode,java.util.function.Consumer):112 -> b
    27:31:void propagate(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode,java.util.function.Consumer):113:117 -> b
com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph -> com.android.tools.r8.internal.Uo:
    java.util.Map nodes -> a
    com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator this$0 -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():144:144 -> <clinit>
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator,java.lang.Iterable):148:148 -> <init>
    2:5:void <init>(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator,java.lang.Iterable):146:149 -> <init>
    1:1:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):144:144 -> a
    2:3:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.forEachNeighbor(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode,java.util.function.Consumer):154:155 -> a
    2:3:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):144 -> a
    4:4:void forEachNode(java.util.function.Consumer):160:160 -> a
    5:5:void lambda$forEachNode$0(java.util.function.Consumer,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):160:160 -> a
    6:6:void add(com.android.tools.r8.graph.DexProgramClass):164:164 -> a
    7:7:void add(com.android.tools.r8.graph.ProgramMethod):168:168 -> a
    8:8:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> a
    8:8:java.lang.Object com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):14 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96 -> a
    8:8:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    8:8:void add(com.android.tools.r8.graph.ProgramMethod):168 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    9:9:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    9:9:void add(com.android.tools.r8.graph.ProgramMethod):168 -> a
    10:18:void add(com.android.tools.r8.graph.ProgramMethod):171:179 -> a
    19:19:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):191:191 -> a
    19:19:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    20:20:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    20:20:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):191 -> a
    20:20:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    21:30:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):195:204 -> a
    21:30:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    31:33:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.getEnclosingMethod(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):261:263 -> a
    31:33:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):205 -> a
    31:33:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    34:34:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.getEnclosingMethod(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):262:262 -> a
    34:34:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):205 -> a
    34:34:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    35:37:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):210:212 -> a
    35:37:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    38:38:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.getMethodState(com.android.tools.r8.graph.ProgramMethod):272:272 -> a
    38:38:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):216 -> a
    38:38:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    39:39:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> a
    39:39:java.lang.Object com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):14 -> a
    39:39:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96 -> a
    39:39:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    39:39:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.getMethodState(com.android.tools.r8.graph.ProgramMethod):272 -> a
    39:39:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):216 -> a
    39:39:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    40:40:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    40:40:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    40:40:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.getMethodState(com.android.tools.r8.graph.ProgramMethod):272 -> a
    40:40:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):216 -> a
    40:40:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    41:49:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):217:225 -> a
    41:49:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    50:50:com.android.tools.r8.optimize.argumentpropagation.codescanner.UnknownParameterState com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.unknown():32:32 -> a
    50:50:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):226 -> a
    50:50:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    51:56:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):226:231 -> a
    51:56:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    57:57:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    57:57:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):231 -> a
    57:57:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    58:64:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):231:237 -> a
    58:64:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    65:72:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):234:241 -> a
    65:72:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    73:73:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState.isUnknown():0:0 -> a
    73:73:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):241 -> a
    73:73:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    74:75:void com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$FlowGraph.add(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):242:243 -> a
    74:75:void add(com.android.tools.r8.graph.ProgramMethod):180 -> a
    76:79:com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode getOrCreateParameterNode(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):249:252 -> a
    80:80:com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode getOrCreateParameterNode(com.android.tools.r8.graph.ProgramMethod,int,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState):251:251 -> a
    81:82:com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode lambda$getOrCreateParameterNode$1(com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,int,com.android.tools.r8.graph.ProgramMethod,java.lang.Integer,com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode):256:257 -> a
com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode -> com.android.tools.r8.internal.Vo:
    java.util.Set predecessors -> d
    java.util.Set successors -> e
    com.android.tools.r8.graph.DexType parameterType -> c
    boolean pending -> f
    boolean $assertionsDisabled -> g
    int parameterIndex -> b
    com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState methodState -> a
    1:1:void <clinit>():276:276 -> <clinit>
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,int,com.android.tools.r8.graph.DexType):288:288 -> <init>
    2:11:void <init>(com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodState,int,com.android.tools.r8.graph.DexType):282:291 -> <init>
    1:2:void addPredecessor(com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode):295:296 -> a
    3:6:void clearPredecessors():300:303 -> a
    7:13:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState addState(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.NonEmptyParameterState,com.android.tools.r8.utils.Action):330:336 -> a
    14:22:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState addState(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.argumentpropagation.codescanner.NonEmptyParameterState,com.android.tools.r8.utils.Action):332:340 -> a
    23:23:void setState(com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState):351:351 -> a
    1:1:java.util.Set getPredecessors():307:307 -> b
    1:1:com.android.tools.r8.optimize.argumentpropagation.codescanner.ParameterState getState():311:311 -> c
    1:1:java.util.Set getSuccessors():315:315 -> d
    1:1:boolean hasSuccessors():319:319 -> e
    1:1:boolean isPending():323:323 -> f
    1:1:void setPending():346:346 -> g
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.propagation.InParameterFlowPropagator$ParameterNode.isPending():323:323 -> g
    2:2:void setPending():346 -> g
    3:4:void setPending():346:347 -> g
    1:2:void unsetPending():355:356 -> h
com.android.tools.r8.optimize.argumentpropagation.propagation.InterfaceMethodArgumentPropagator -> com.android.tools.r8.internal.Mt:
    boolean $assertionsDisabled -> i
    java.util.function.Consumer interfaceDispatchOutsideProgram -> h
    java.util.Map methodStatesToPropagate -> g
    1:1:void <clinit>():41:41 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference,java.util.function.Consumer):54:54 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference,java.util.function.Consumer):45:55 -> <init>
    1:2:void run(java.util.Collection):60:61 -> a
    3:5:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):66:68 -> a
    6:9:void lambda$computeInterfaceState$0(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature,com.android.tools.r8.graph.DexProgramClass):97:100 -> a
    10:19:void lambda$computeInterfaceState$1(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature,com.android.tools.r8.graph.ProgramMethod):106:115 -> a
    20:20:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    20:20:void lambda$computeInterfaceState$1(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature,com.android.tools.r8.graph.ProgramMethod):115 -> a
    21:22:void lambda$computeInterfaceState$1(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature,com.android.tools.r8.graph.ProgramMethod):115:116 -> a
    23:24:void lambda$propagateInterfaceStateToClassHierarchy$3(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):133:134 -> a
    25:25:com.android.tools.r8.graph.MethodResolutionResult com.android.tools.r8.graph.AppInfoWithClassHierarchy.resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexClass):784:784 -> a
    25:25:void lambda$propagateInterfaceStateToClassHierarchy$3(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):134 -> a
    26:34:void lambda$propagateInterfaceStateToClassHierarchy$3(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):135:143 -> a
    35:35:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    35:35:void lambda$propagateInterfaceStateToClassHierarchy$3(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):143 -> a
    36:50:void lambda$propagateInterfaceStateToClassHierarchy$3(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):144:158 -> a
    51:84:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):166:199 -> a
    85:115:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):175:205 -> a
    116:116:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> a
    116:116:java.lang.Object com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):14 -> a
    116:116:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96 -> a
    116:116:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    116:116:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):205 -> a
    117:117:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    117:117:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    117:117:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):205 -> a
    118:118:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):205:205 -> a
    119:119:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isPolymorphic():0:0 -> a
    119:119:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):205 -> a
    120:122:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState transformInterfaceMethodStateForClassMethod(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):207:209 -> a
    123:137:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound lambda$transformInterfaceMethodStateForClassMethod$6(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):179:193 -> a
    138:140:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound lambda$transformInterfaceMethodStateForClassMethod$6(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):192:194 -> a
    141:141:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound lambda$transformInterfaceMethodStateForClassMethod$6(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound):191:191 -> a
    142:142:boolean lambda$transformInterfaceMethodStateForClassMethod$5(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.lang.Boolean):188:188 -> a
    1:1:void lambda$propagateInterfaceStateToClassHierarchy$4(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature,com.android.tools.r8.graph.DexProgramClass):131:131 -> b
    2:5:boolean verifyAllInterfacesFinished(java.util.Collection):217:217 -> b
    1:1:boolean isRoot(com.android.tools.r8.graph.DexProgramClass):75:75 -> c
    2:2:void propagateInterfaceStateToClassHierarchy(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature):127:127 -> c
    1:1:void prune(com.android.tools.r8.graph.DexProgramClass):87:87 -> i
    1:3:void visit(com.android.tools.r8.graph.DexProgramClass):80:82 -> k
    1:2:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):93:94 -> l
    3:3:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> l
    3:3:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):94 -> l
    4:4:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> l
    4:4:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):94 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):104:104 -> l
    6:6:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> l
    6:6:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):104 -> l
    7:7:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature computeInterfaceState(com.android.tools.r8.graph.DexProgramClass):119:119 -> l
    1:1:boolean lambda$propagateInterfaceStateToClassHierarchy$2(com.android.tools.r8.graph.DexProgramClass):129:129 -> m
com.android.tools.r8.optimize.argumentpropagation.propagation.MethodArgumentPropagator -> com.android.tools.r8.internal.uE:
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference methodStates -> f
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):21:22 -> <init>
com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator -> com.android.tools.r8.internal.Y10:
    boolean $assertionsDisabled -> h
    java.util.Map propagationStates -> g
    1:1:void <clinit>():34:34 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):175:175 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference):169:169 -> <init>
    1:1:com.android.tools.r8.graph.ImmediateProgramSubtypingInfo access$000(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> a
    2:3:void run(java.util.Collection):180:181 -> a
    4:5:boolean com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.verifyAllClassesFinished(java.util.Collection):309:310 -> a
    4:5:void run(java.util.Collection):181 -> a
    6:6:void run(java.util.Collection):182:182 -> a
    7:7:boolean com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.verifyStatePruned():316:316 -> a
    7:7:void run(java.util.Collection):182 -> a
    8:22:void lambda$computePropagationState$1(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):197:211 -> a
    23:23:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    23:23:void lambda$computePropagationState$1(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):211 -> a
    24:25:void lambda$computePropagationState$1(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):218:219 -> a
    26:31:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):221:226 -> a
    32:36:boolean com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.isUpperBoundSatisfied(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):263:267 -> a
    32:36:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):227 -> a
    37:44:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):228:235 -> a
    45:56:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):233:244 -> a
    57:64:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):241:248 -> a
    65:67:void lambda$computePropagationState$0(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.ConcreteMonomorphicMethodStateOrUnknown):247:249 -> a
    68:68:void computeFinalMethodStates(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):279:279 -> a
    69:69:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    69:69:void computeFinalMethodStates(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):279 -> a
    70:70:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    70:70:void computeFinalMethodStates(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):279 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:72:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):283:284 -> a
    71:72:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    73:73:com.android.tools.r8.optimize.argumentpropagation.codescanner.BottomMethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState.bottom():15:15 -> a
    73:73:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.remove(com.android.tools.r8.graph.ProgramMethod):108 -> a
    73:73:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.remove(com.android.tools.r8.graph.ProgramMethod):14 -> a
    73:73:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):284 -> a
    73:73:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    74:74:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.remove(com.android.tools.r8.graph.ProgramMethod):108:108 -> a
    74:74:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.remove(com.android.tools.r8.graph.ProgramMethod):14 -> a
    74:74:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):284 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    74:74:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    75:75:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):288:288 -> a
    75:75:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    76:76:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):30:30 -> a
    76:76:java.lang.Object com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.getKey(com.android.tools.r8.graph.ProgramMethod):14 -> a
    76:76:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96 -> a
    76:76:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    76:76:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):288 -> a
    76:76:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    77:77:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollection.get(com.android.tools.r8.graph.ProgramMethod):96:96 -> a
    77:77:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionByReference.get(com.android.tools.r8.graph.ProgramMethod):14 -> a
    77:77:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):288 -> a
    77:77:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    78:82:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):289:293 -> a
    78:82:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    83:83:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):149:149 -> a
    83:83:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
    83:83:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    83:83:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    84:84:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36:36 -> a
    84:84:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    84:84:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    85:85:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):149:149 -> a
    85:85:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
    85:85:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    85:85:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    86:86:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):150:150 -> a
    86:86:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    86:86:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    87:91:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):150:154 -> a
    87:91:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
    87:91:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    87:91:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    92:92:com.android.tools.r8.graph.AppView com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.access$300(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> a
    92:92:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):156 -> a
    92:92:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
    92:92:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    92:92:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    93:93:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):156:156 -> a
    93:93:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
    93:93:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    93:93:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    94:94:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.computeMethodStateForPolymorhicMethod(com.android.tools.r8.graph.ProgramMethod):155:155 -> a
    94:94:com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState.access$1100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):36 -> a
    94:94:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):297 -> a
    94:94:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    95:95:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):298:298 -> a
    95:95:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    96:96:boolean com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateBase.isMonomorphic():0:0 -> a
    96:96:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):298 -> a
    96:96:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    97:98:void com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator.computeFinalMethodState(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState):298:299 -> a
    97:98:void lambda$computeFinalMethodStates$2(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState,com.android.tools.r8.graph.ProgramMethod):279 -> a
    1:1:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> b
    1:1:com.android.tools.r8.graph.AppView access$1000(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> c
    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> d
    1:1:com.android.tools.r8.graph.AppView access$400(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> e
    1:1:com.android.tools.r8.graph.AppView access$500(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> f
    1:1:com.android.tools.r8.graph.AppView access$600(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> g
    1:1:com.android.tools.r8.graph.AppView access$700(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> h
    1:1:com.android.tools.r8.graph.AppView access$800(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> i
    2:3:void prune(com.android.tools.r8.graph.DexProgramClass):304:305 -> i
    1:1:com.android.tools.r8.graph.AppView access$900(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator):34:34 -> j
    1:2:void visit(com.android.tools.r8.graph.DexProgramClass):187:188 -> k
    1:4:void computePropagationState(com.android.tools.r8.graph.DexProgramClass):192:195 -> l
    5:5:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> l
    5:5:void computePropagationState(com.android.tools.r8.graph.DexProgramClass):195 -> l
    6:6:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> l
    6:6:void computePropagationState(com.android.tools.r8.graph.DexProgramClass):195 -> l
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void computePropagationState(com.android.tools.r8.graph.DexProgramClass):255:255 -> l
com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator$PropagationState -> com.android.tools.r8.internal.X10:
    java.util.Map activeUntilLowerBound -> b
    java.util.Map inactiveUntilUpperBound -> c
    com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator this$0 -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature active -> a
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:void <init>(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator,com.android.tools.r8.graph.DexProgramClass):52:52 -> <init>
    2:16:void <init>(com.android.tools.r8.optimize.argumentpropagation.propagation.VirtualDispatchMethodArgumentPropagator,com.android.tools.r8.graph.DexProgramClass):40:54 -> <init>
    1:24:void addParentState(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):64:87 -> a
    25:30:void lambda$addParentState$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature):75:80 -> a
    31:39:void lambda$addParentState$3(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature):89:97 -> a
    40:88:void lambda$addParentState$3(com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodStateCollectionBySignature):95:143 -> a
    89:90:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):105:106 -> a
    91:91:com.android.tools.r8.graph.MethodResolutionResult com.android.tools.r8.graph.AppInfoWithClassHierarchy.resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethodSignature):680:680 -> a
    91:91:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):106 -> a
    92:94:com.android.tools.r8.graph.MethodResolutionResult com.android.tools.r8.graph.AppInfoWithClassHierarchy.resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexString):685:687 -> a
    92:94:com.android.tools.r8.graph.MethodResolutionResult com.android.tools.r8.graph.AppInfoWithClassHierarchy.resolveMethodOn(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexMethodSignature):680 -> a
    92:94:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):106 -> a
    95:104:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):106:115 -> a
    105:122:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):114:131 -> a
    123:127:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):129:133 -> a
    128:128:void lambda$addParentState$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodState):132:132 -> a
    1:1:void lambda$new$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):55:55 -> b
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.AlwaysFalseParameterReprocessingCriteria -> com.android.tools.r8.internal.D1:
    com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.AlwaysFalseParameterReprocessingCriteria INSTANCE -> a
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>():24:24 -> <init>
    boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType) -> a
    boolean shouldReprocessDueToDynamicType() -> a
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.AlwaysTrueParameterReprocessingCriteria -> com.android.tools.r8.internal.K1:
    com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.AlwaysTrueParameterReprocessingCriteria INSTANCE -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>():22:22 -> <init>
    boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType) -> a
    boolean shouldReprocessDueToDynamicType() -> a
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection -> com.android.tools.r8.internal.c3:
    java.util.Map reproccessingCriteria -> b
    java.util.Map delayedReproccessingCriteria -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():34:34 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):44:44 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.AppView):38:45 -> <init>
    1:2:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria getReprocessingCriteria(com.android.tools.r8.graph.ProgramMethod):49:50 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria.alwaysReprocess():34:34 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria getReprocessingCriteria(com.android.tools.r8.graph.ProgramMethod):50 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria getReprocessingCriteria(com.android.tools.r8.graph.ProgramMethod):49:49 -> a
    5:6:void publishDelayedReprocessingCriteria():54:55 -> a
    7:7:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):63:63 -> a
    8:8:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    8:8:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):63 -> a
    9:10:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):67:68 -> a
    11:12:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):89:90 -> a
    11:12:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria.builder():26:26 -> a
    13:13:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):93 -> a
    13:13:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    14:18:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):96:100 -> a
    14:18:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    19:19:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    19:19:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):100 -> a
    19:19:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    20:20:java.util.Set com.android.tools.r8.ir.code.Value.aliasedUsers():362:362 -> a
    20:20:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):100 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    21:64:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):100:143 -> a
    21:64:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    65:99:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ArgumentPropagatorReprocessingCriteriaCollection.analyzeArgumentUses(com.android.tools.r8.ir.code.Argument):118:152 -> a
    65:99:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):71 -> a
    100:100:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria.isAlwaysReprocess():0:0 -> a
    100:100:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):72 -> a
    101:101:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):73:73 -> a
    102:114:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):70:82 -> a
    115:115:void analyzeArgumentUses(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):81:81 -> a
    1:1:boolean verifyNoDelayedReprocessingCriteria():156:156 -> b
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria -> com.android.tools.r8.internal.TE:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap reproccesingCriteria -> a
    com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.MethodReprocessingCriteria ALWAYS_REPROCESS -> b
    boolean $assertionsDisabled -> c
    1:3:void <clinit>():16:18 -> <clinit>
    1:2:void <init>():23:24 -> <init>
    3:5:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):28:30 -> <init>
    1:3:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria getParameterReprocessingCriteria(int):38:38 -> a
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria -> com.android.tools.r8.internal.FH:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():24:24 -> <clinit>
    1:2:void <init>(boolean):26:27 -> <init>
    boolean shouldReprocessDueToDynamicType() -> a
    1:1:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):37:37 -> a
    2:15:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria.shouldReprocessReferenceParameter(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):73:86 -> a
    2:15:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):38 -> a
    16:16:com.android.tools.r8.ir.analysis.type.Nullability com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.getNullability(int):123:123 -> a
    16:16:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria.shouldReprocessReferenceParameter(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):89 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):38 -> a
    17:17:com.android.tools.r8.ir.analysis.type.Nullability com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo.getNullability(int):123:123 -> a
    17:17:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria.shouldReprocessReferenceParameter(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):89 -> a
    17:17:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):38 -> a
    18:18:boolean com.android.tools.r8.ir.analysis.type.Nullability.isUnknown():53:53 -> a
    18:18:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria.shouldReprocessReferenceParameter(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):89 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:18:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):38 -> a
    19:19:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):41:41 -> a
    20:20:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.NonTrivialParameterReprocessingCriteria.shouldReprocessPrimitiveParameter(com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int):63:63 -> a
    20:20:boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType):42 -> a
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria -> com.android.tools.r8.internal.EL:
    1:1:void <init>():15:15 -> <init>
    boolean shouldReprocess(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.ConcreteCallSiteOptimizationInfo,int,com.android.tools.r8.graph.DexType) -> a
    boolean shouldReprocessDueToDynamicType() -> a
com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder -> com.android.tools.r8.internal.DL:
    boolean reprocessDueToAbstractValue -> a
    boolean reprocessDueToDynamicType -> b
    boolean reprocessDueToNullability -> c
    1:1:void <init>():58:58 -> <init>
    1:2:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria build():90:91 -> a
    3:3:boolean com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder.shouldNeverReprocess():84:84 -> a
    3:3:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria build():93 -> a
    4:6:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria build():94:96 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder setReprocessDueToAbstractValue():65:65 -> b
    1:1:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder setReprocessDueToDynamicType():70:70 -> c
    1:1:com.android.tools.r8.optimize.argumentpropagation.reprocessingcriteria.ParameterReprocessingCriteria$Builder setReprocessDueToNullability():75:75 -> d
    1:1:boolean shouldAlwaysReprocess():80:80 -> e
com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsAnalysis -> com.android.tools.r8.internal.Oh:
    java.util.Map constraints -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.collections.ProgramMethodSet optimizableVirtualMethods -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():66:66 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):81:81 -> <init>
    2:12:void <init>(com.android.tools.r8.graph.AppView):72:82 -> <init>
    boolean lambda$computeEffectivelyUnusedConstraints$2(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.Value) -> a
    1:3:void initializeOptimizableVirtualMethods(java.util.Set):87:89 -> a
    4:4:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    4:4:void initializeOptimizableVirtualMethods(java.util.Set):89 -> a
    5:5:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    5:5:void initializeOptimizableVirtualMethods(java.util.Set):89 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void initializeOptimizableVirtualMethods(java.util.Set):98:98 -> a
    7:7:void lambda$initializeOptimizableVirtualMethods$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):93:93 -> a
    8:10:void lambda$initializeOptimizableVirtualMethods$0(java.util.Map,com.android.tools.r8.graph.ProgramMethod):92:94 -> a
    11:11:void lambda$initializeOptimizableVirtualMethods$1(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):100:100 -> a
    12:12:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.getFirst():51:51 -> a
    12:12:void lambda$initializeOptimizableVirtualMethods$1(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):101 -> a
    13:15:void lambda$initializeOptimizableVirtualMethods$1(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.ProgramMethodSet):101:103 -> a
    16:38:java.util.Set computeEffectivelyUnusedConstraints(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.code.Value):132:154 -> a
    39:43:boolean com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsAnalysis.isUnoptimizable(com.android.tools.r8.graph.ProgramMethod):209:213 -> a
    39:43:java.util.Set computeEffectivelyUnusedConstraints(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.code.Value):155 -> a
    44:51:java.util.Set computeEffectivelyUnusedConstraints(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.code.Value):159:166 -> a
    52:52:java.util.Set computeEffectivelyUnusedConstraints(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Argument,com.android.tools.r8.ir.code.Value):165:165 -> a
    53:54:void computeEffectivelyUnusedArguments():177:178 -> a
    55:65:void com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph.removeUnoptimizableNodes():167:177 -> a
    55:65:void computeEffectivelyUnusedArguments():182 -> a
    66:66:void computeEffectivelyUnusedArguments():187:187 -> a
    67:67:boolean com.android.tools.r8.utils.WorkList.isEmpty():112:112 -> a
    67:67:void computeEffectivelyUnusedArguments():188 -> a
    68:68:boolean com.android.tools.r8.utils.WorkList.isEmpty():112:112 -> a
    68:68:void computeEffectivelyUnusedArguments():189 -> a
    69:83:void computeEffectivelyUnusedArguments():190:204 -> a
    84:88:boolean com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsAnalysis.isUnoptimizable(com.android.tools.r8.graph.ProgramMethod):209:213 -> a
    84:88:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):112 -> a
    89:99:void scan(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):115:125 -> a
    100:102:void onMethodPruned(com.android.tools.r8.graph.ProgramMethod):221:223 -> a
com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph -> com.android.tools.r8.internal.Ph:
    java.util.Map nodes -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):34:34 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView):32:35 -> <init>
    1:2:com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph create(com.android.tools.r8.graph.AppView,java.util.Map):41:42 -> a
    3:3:java.util.Collection getNodes():92:92 -> a
    4:4:com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph.getOrCreateNode(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):96:96 -> a
    4:4:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):44 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:6:com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph.getOrCreateNode(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):96:97 -> a
    5:6:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):44 -> a
    7:7:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):45:45 -> a
    8:12:void com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph.addConstraintEdge(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Map):56:60 -> a
    8:12:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):46 -> a
    13:41:void com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph.addConstraintEdge(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Map):59:87 -> a
    13:41:void lambda$create$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraph,java.util.Map,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,java.util.Set):46 -> a
    42:42:com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode getOrCreateNode(com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter,com.android.tools.r8.graph.ProgramMethod):102:102 -> a
    43:53:void removeClosedCycles(java.util.function.Consumer):116:126 -> a
    54:54:boolean com.android.tools.r8.utils.dfs.DFSWorklistItem.isFullyVisited():0:0 -> a
    54:54:void removeClosedCycles(java.util.function.Consumer):127 -> a
    55:59:void removeClosedCycles(java.util.function.Consumer):130:134 -> a
    60:76:boolean lambda$removeClosedCycles$3(com.android.tools.r8.utils.dfs.DFSStack,com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode,java.util.function.Consumer,java.util.Deque,com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):136:152 -> a
    77:77:boolean lambda$removeClosedCycles$2(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):140:140 -> a
    1:1:com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode lambda$getOrCreateNode$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.optimize.argumentpropagation.codescanner.MethodParameter):103:103 -> b
    2:7:void remove(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):107:112 -> b
    1:3:boolean verifyContains(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):161:163 -> c
com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode -> com.android.tools.r8.internal.Qh:
    java.util.Set predecessors -> c
    java.util.Set successors -> d
    boolean unoptimizable -> e
    boolean $assertionsDisabled -> f
    int argumentIndex -> b
    com.android.tools.r8.graph.ProgramMethod method -> a
    1:1:void <clinit>():15:15 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,int):25:25 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.ProgramMethod,int):20:27 -> <init>
    1:4:void addSuccessor(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):31:34 -> a
    5:9:void com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode.clearSuccessors():44:48 -> a
    5:9:void cleanForRemoval():39 -> a
    10:14:void com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode.clearPredecessors():52:56 -> a
    10:14:void cleanForRemoval():40 -> a
    15:15:void lambda$setUnused$1(java.util.BitSet):112:112 -> a
    1:1:int getArgumentIndex():60:60 -> b
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode.isUnused():89:89 -> b
    2:2:boolean lambda$removeUnusedSuccessors$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):96 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:boolean com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode.isUnused():89:90 -> b
    3:4:boolean lambda$removeUnusedSuccessors$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):96 -> b
    5:6:boolean lambda$removeUnusedSuccessors$0(com.android.tools.r8.optimize.argumentpropagation.unusedarguments.EffectivelyUnusedArgumentsGraphNode):97:98 -> b
    1:1:com.android.tools.r8.graph.ProgramMethod getMethod():64:64 -> c
    1:1:java.util.Set getPredecessors():68:68 -> d
    1:1:java.util.Set getSuccessors():72:72 -> e
    1:6:boolean isNullable():76:81 -> f
    1:1:boolean isUnoptimizable():85:85 -> g
    1:1:void removeUnusedSuccessors():94:94 -> h
    1:1:void setUnoptimizable():106:106 -> i
    1:7:void setUnused():110:116 -> j
com.android.tools.r8.optimize.argumentpropagation.utils.BidirectedGraph -> com.android.tools.r8.internal.O4:
    1:1:void <init>():14:14 -> <init>
    void forEachNeighbor(java.lang.Object,java.util.function.Consumer) -> a
    void forEachNode(java.util.function.Consumer) -> a
    1:3:java.util.List computeStronglyConnectedComponents():25:27 -> a
    4:9:void lambda$computeStronglyConnectedComponents$0(java.util.Set,java.util.List,java.lang.Object):29:34 -> a
    10:15:java.util.Set computeStronglyConnectedComponent(java.lang.Object):40:45 -> a
com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal -> com.android.tools.r8.internal.of:
    java.util.Map states -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.List newlySeenButNotFinishedRoots -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> b
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):56:56 -> <init>
    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):42:58 -> <init>
    1:4:java.util.Deque com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.computeRoots(java.util.Collection):77:80 -> a
    1:4:void run(java.util.Collection):67 -> a
    5:8:void run(java.util.Collection):68:71 -> a
    9:11:void prioritizeNewlySeenButNotFinishedRoots(java.util.Deque):102:102 -> a
    20:21:void prioritizeNewlySeenButNotFinishedRoots(java.util.Deque):111:112 -> a
    22:22:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):155:155 -> a
    23:23:boolean isClassFinished(com.android.tools.r8.graph.DexProgramClass):174:174 -> a
    1:1:boolean isClassSeenButNotFinished(com.android.tools.r8.graph.DexProgramClass):170:170 -> b
    1:7:boolean isRoot(com.android.tools.r8.graph.DexProgramClass):87:93 -> c
    1:2:boolean lambda$prioritizeNewlySeenButNotFinishedRoots$0(com.android.tools.r8.graph.DexProgramClass):105:106 -> d
    1:1:boolean lambda$processSuperClasses$1(com.android.tools.r8.graph.DexProgramClass):137:137 -> e
    1:1:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):139:139 -> f
    2:2:boolean com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.isClassUnseen(com.android.tools.r8.graph.DexProgramClass):166:166 -> f
    2:2:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):139 -> f
    3:4:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):139:140 -> f
    5:7:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.processClass(com.android.tools.r8.graph.DexProgramClass):159:161 -> f
    5:7:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):141 -> f
    8:8:boolean com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.isClassUnseen(com.android.tools.r8.graph.DexProgramClass):166:166 -> f
    8:8:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.markSeenButNotFinished(com.android.tools.r8.graph.DexProgramClass):178 -> f
    8:8:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.processClass(com.android.tools.r8.graph.DexProgramClass):162 -> f
    8:8:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):141 -> f
    9:10:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.markSeenButNotFinished(com.android.tools.r8.graph.DexProgramClass):178:179 -> f
    9:10:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.processClass(com.android.tools.r8.graph.DexProgramClass):162 -> f
    9:10:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):141 -> f
    11:12:void lambda$processSuperClasses$2(com.android.tools.r8.graph.DexProgramClass):144:145 -> f
    1:1:void processSubclasses(com.android.tools.r8.graph.DexProgramClass):151:151 -> g
    1:3:void processSuperClasses(com.android.tools.r8.graph.DexProgramClass):133:135 -> h
    void prune(com.android.tools.r8.graph.DexProgramClass) -> i
    1:8:void traverse(com.android.tools.r8.graph.DexProgramClass):117:124 -> j
    9:11:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.processClass(com.android.tools.r8.graph.DexProgramClass):159:161 -> j
    9:11:void traverse(com.android.tools.r8.graph.DexProgramClass):125 -> j
    12:12:boolean com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.isClassUnseen(com.android.tools.r8.graph.DexProgramClass):166:166 -> j
    12:12:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.markSeenButNotFinished(com.android.tools.r8.graph.DexProgramClass):178 -> j
    12:12:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.processClass(com.android.tools.r8.graph.DexProgramClass):162 -> j
    12:12:void traverse(com.android.tools.r8.graph.DexProgramClass):125 -> j
    13:14:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.markSeenButNotFinished(com.android.tools.r8.graph.DexProgramClass):178:179 -> j
    13:14:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.processClass(com.android.tools.r8.graph.DexProgramClass):162 -> j
    13:14:void traverse(com.android.tools.r8.graph.DexProgramClass):125 -> j
    15:15:void traverse(com.android.tools.r8.graph.DexProgramClass):128:128 -> j
    16:18:void com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal.markFinished(com.android.tools.r8.graph.DexProgramClass):183:185 -> j
    16:18:void traverse(com.android.tools.r8.graph.DexProgramClass):129 -> j
    void visit(com.android.tools.r8.graph.DexProgramClass) -> k
com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal$TraversalState -> com.android.tools.r8.internal.nf:
    com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal$TraversalState FINISHED -> c
    com.android.tools.r8.optimize.argumentpropagation.utils.DepthFirstTopDownClassHierarchyTraversal$TraversalState SEEN -> b
    1:5:void <clinit>():30:34 -> <clinit>
    1:1:void <init>(java.lang.String,int):26:26 -> <init>
com.android.tools.r8.optimize.argumentpropagation.utils.ParameterRemovalUtils -> com.android.tools.r8.internal.CL:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():13:13 -> <clinit>
    1:2:boolean canRemoveUnusedParametersFrom(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):17:18 -> a
    3:3:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):64:64 -> a
    3:3:boolean canRemoveUnusedParametersFrom(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):19 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:6:boolean com.android.tools.r8.shaking.KeepMethodInfo.isParameterRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):65:67 -> a
    4:6:boolean canRemoveUnusedParametersFrom(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):19 -> a
    7:10:boolean canRemoveUnusedParametersFrom(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):22:25 -> a
    11:22:boolean canRemoveUnusedParameter(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,int):30:41 -> a
com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph -> com.android.tools.r8.internal.UM:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.ImmediateProgramSubtypingInfo immediateSubtypingInfo -> b
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo):20:22 -> <init>
    1:1:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):13:13 -> a
    2:2:void com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph.forEachNeighbor(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):27:27 -> a
    2:2:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):13 -> a
    3:3:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> a
    3:3:void com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph.forEachNeighbor(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):27 -> a
    3:3:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):13 -> a
    4:4:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> a
    4:4:void com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph.forEachNeighbor(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):27 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):13 -> a
    5:5:void com.android.tools.r8.optimize.argumentpropagation.utils.ProgramClassesBidirectedGraph.forEachNeighbor(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):28:28 -> a
    5:5:void forEachNeighbor(java.lang.Object,java.util.function.Consumer):13 -> a
    6:6:void forEachNode(java.util.function.Consumer):33:33 -> a
com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils -> com.android.tools.r8.internal.y20:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:2:com.android.tools.r8.ir.analysis.type.DynamicType widenDynamicReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):28:29 -> a
    3:3:com.android.tools.r8.ir.analysis.type.DynamicType widenDynamicReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.type.DynamicType):25:25 -> a
    4:4:com.android.tools.r8.ir.analysis.type.DynamicType widenDynamicNonReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):34:34 -> a
    5:5:com.android.tools.r8.ir.analysis.type.DynamicType com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.widenDynamicNonReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):42:42 -> a
    5:5:com.android.tools.r8.ir.analysis.type.DynamicType widenDynamicNonReceiverType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):34 -> a
    6:17:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):50:61 -> a
    18:18:boolean com.android.tools.r8.ir.analysis.type.Nullability.strictlyLessThan(com.android.tools.r8.ir.analysis.type.Nullability):87:87 -> a
    18:18:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):61 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:boolean com.android.tools.r8.ir.analysis.type.Nullability.strictlyLessThan(com.android.tools.r8.ir.analysis.type.Nullability):87:87 -> a
    19:19:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):61 -> a
    20:21:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):62:63 -> a
    22:22:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.hasTrivialLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):87:87 -> a
    22:22:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):64 -> a
    23:27:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):92:96 -> a
    23:27:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.hasTrivialLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):87 -> a
    23:27:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):64 -> a
    28:28:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    28:28:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):97 -> a
    28:28:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.hasTrivialLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):87 -> a
    28:28:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):64 -> a
    29:31:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):100:102 -> a
    29:31:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.hasTrivialLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):87 -> a
    29:31:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):64 -> a
    32:32:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):101:101 -> a
    32:32:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.hasTrivialLowerBound(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType):87 -> a
    32:32:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):64 -> a
    33:33:com.android.tools.r8.ir.analysis.type.NotNullDynamicType com.android.tools.r8.ir.analysis.type.DynamicType.definitelyNotNull():87:87 -> a
    33:33:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):65 -> a
    34:38:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):69:73 -> a
    39:43:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):92:96 -> a
    39:43:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):82 -> a
    44:44:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    44:44:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):97 -> a
    44:44:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):82 -> a
    45:47:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):100:102 -> a
    45:47:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):82 -> a
    48:48:boolean com.android.tools.r8.optimize.argumentpropagation.utils.WideningUtils.isEffectivelyFinal(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):101:101 -> a
    48:48:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):82 -> a
    49:49:com.android.tools.r8.ir.analysis.type.DynamicType internalWidenDynamicClassType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.DynamicType,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.Nullability):82:82 -> a
com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting -> com.android.tools.r8.internal.V5:
    com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingResult result -> b
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple feedback -> c
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> d
    1:4:void <clinit>():70:73 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):81:83 -> <init>
    1:1:void run():87:87 -> a
    2:2:com.android.tools.r8.graph.SubtypingInfo com.android.tools.r8.shaking.AppInfoWithLiveness.computeSubtypingInfo():1555:1555 -> a
    2:2:void run():87 -> a
    3:26:void run():88:111 -> a
    27:27:void lambda$run$0(com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.graph.DexProgramClass):90:90 -> a
    28:30:void lambda$run$1(com.android.tools.r8.graph.MethodAccessInfoCollection$Modifier,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.optimize.info.bridge.BridgeInfo):113:115 -> a
    31:80:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):157:206 -> a
    81:83:java.util.Map$Entry com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.findMostFrequentBridge(java.util.Map):268:270 -> a
    81:83:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):209 -> a
    84:86:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):210:212 -> a
    87:94:java.util.List com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.getBridgesEligibleForHoisting(java.lang.Iterable,com.android.tools.r8.graph.DexMethod):279:286 -> a
    87:94:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):216 -> a
    95:95:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):217:217 -> a
    96:99:boolean com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.mayBecomeInaccessibleAfterHoisting(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):292:295 -> a
    96:99:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):220 -> a
    100:100:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    100:100:boolean com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.mayBecomeInaccessibleAfterHoisting(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):295 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    100:100:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):220 -> a
    101:101:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    101:101:boolean com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.mayBecomeInaccessibleAfterHoisting(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):295 -> a
    101:101:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):220 -> a
    102:114:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):226:238 -> a
    115:117:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):299:301 -> a
    115:117:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    118:139:com.android.tools.r8.graph.CfCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCfCodeForVirtualBridge(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):310:331 -> a
    118:139:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):301 -> a
    118:139:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    140:140:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    140:140:com.android.tools.r8.graph.CfCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCfCodeForVirtualBridge(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):331 -> a
    140:140:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):301 -> a
    140:140:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    141:141:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a
    141:141:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    141:141:com.android.tools.r8.graph.CfCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCfCodeForVirtualBridge(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):331 -> a
    141:141:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):301 -> a
    141:141:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    142:142:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a
    142:142:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    142:142:com.android.tools.r8.graph.CfCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCfCodeForVirtualBridge(com.android.tools.r8.graph.CfCode,com.android.tools.r8.graph.DexMethod):331 -> a
    142:142:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):301 -> a
    142:142:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    143:144:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):303:304 -> a
    143:144:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    145:149:com.android.tools.r8.graph.DexCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createDexCodeForVirtualBridge(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):336:340 -> a
    145:149:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):304 -> a
    145:149:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    150:150:boolean com.android.tools.r8.code.Instruction.isInvokeVirtual():0:0 -> a
    150:150:com.android.tools.r8.graph.DexCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createDexCodeForVirtualBridge(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):340 -> a
    150:150:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):304 -> a
    150:150:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    151:157:com.android.tools.r8.graph.DexCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createDexCodeForVirtualBridge(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):341:347 -> a
    151:157:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):304 -> a
    151:157:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    158:158:boolean com.android.tools.r8.code.Instruction.isInvokeVirtualRange():0:0 -> a
    158:158:com.android.tools.r8.graph.DexCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createDexCodeForVirtualBridge(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):349 -> a
    158:158:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):304 -> a
    158:158:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    159:178:com.android.tools.r8.graph.DexCode com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createDexCodeForVirtualBridge(com.android.tools.r8.graph.DexCode,com.android.tools.r8.graph.DexMethod):350:369 -> a
    159:178:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):304 -> a
    159:178:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    179:194:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239:254 -> a
    195:204:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):251:260 -> a
    205:205:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):306:306 -> a
    205:205:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    206:206:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":208,"2":209,"3":210}}
    208:208:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):306:306 -> a
    208:208:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    209:209:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):306:306 -> a
    209:209:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    210:210:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):306:306 -> a
    210:210:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    207:207:com.android.tools.r8.graph.Code com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.createCodeForVirtualBridge(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):306:306 -> a
    207:207:void hoistBridgeIfPossible(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,java.util.Set):239 -> a
    211:211:java.util.List lambda$hoistBridgeIfPossible$2(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):201:201 -> a
    1:8:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.SubtypingInfo):124:131 -> b
    9:15:java.util.Set com.android.tools.r8.optimize.bridgehoisting.BridgeHoisting.getCandidatesForHoisting(java.util.Set):139:145 -> b
    9:15:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.SubtypingInfo):133 -> b
    16:17:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.SubtypingInfo):133:134 -> b
com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens -> com.android.tools.r8.internal.W5:
    com.android.tools.r8.utils.collections.BidirectionalManyToOneMap bridgeToHoistedBridgeMap -> f
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneMap):25:26 -> <init>
    com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod) -> a
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):48:48 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):58:58 -> a
    3:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):66:66 -> a
    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    4:4:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):66 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> b
    1:1:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):31:31 -> b
    2:2:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens.getNextMethodSignature(com.android.tools.r8.graph.DexMethod):43:43 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):32 -> b
    3:3:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):53:53 -> b
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    1:3:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):73:75 -> d
    1:2:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):37:38 -> e
    3:3:boolean hasCodeRewritings():85:85 -> e
    1:1:boolean isContextFreeForMethods():80:80 -> g
com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingResult -> com.android.tools.r8.internal.X5:
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap bridgeToHoistedBridgeMap -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():20:20 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):28:28 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView):26:29 -> <init>
    1:1:void forEachHoistedBridge(java.util.function.BiConsumer):33:33 -> a
    2:5:void lambda$forEachHoistedBridge$0(java.util.function.BiConsumer,java.util.Set,com.android.tools.r8.graph.DexMethod):35:38 -> a
    6:6:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):48:48 -> a
    7:7:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap.getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> a
    7:7:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):49 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):49:49 -> a
    9:9:java.util.LinkedHashSet com.android.tools.r8.com.google.common.collect.Sets.newLinkedHashSet():305:305 -> a
    9:9:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):50 -> a
    10:20:void move(java.lang.Iterable,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):51:61 -> a
    21:25:void recordNonReboundMethodAccesses(com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder):66:70 -> a
    26:31:void lambda$recordNonReboundMethodAccesses$3(com.android.tools.r8.graph.MethodAccessInfoCollection,com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder,com.android.tools.r8.graph.DexMethod):72:77 -> a
    32:32:void lambda$recordNonReboundMethodAccesses$1(com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):75:75 -> a
    33:33:com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens buildLens():86:86 -> a
    34:34:boolean com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingResult.isEmpty():44:44 -> a
    34:34:com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens buildLens():86 -> a
    35:36:com.android.tools.r8.optimize.bridgehoisting.BridgeHoistingLens buildLens():86:87 -> a
    1:1:boolean isEmpty():44:44 -> b
    2:2:void lambda$recordNonReboundMethodAccesses$2(com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):80:80 -> b
com.android.tools.r8.optimize.interfaces.analysis.EmptyOpenClosedInterfacesAnalysis -> com.android.tools.r8.internal.ei:
    com.android.tools.r8.optimize.interfaces.analysis.EmptyOpenClosedInterfacesAnalysis INSTANCE -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>():15:15 -> <init>
    void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode) -> a
    void onPrimaryOptimizationPassComplete() -> b
    void prepareForPrimaryOptimizationPass() -> c
    1:1:com.android.tools.r8.optimize.interfaces.analysis.EmptyOpenClosedInterfacesAnalysis getInstance():18:18 -> d
com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysis -> com.android.tools.r8.internal.EK:
    1:1:void <init>():10:10 -> <init>
    void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode) -> a
    1:1:com.android.tools.r8.optimize.interfaces.analysis.EmptyOpenClosedInterfacesAnalysis empty():13:13 -> a
    void onPrimaryOptimizationPassComplete() -> b
    void prepareForPrimaryOptimizationPass() -> c
com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl -> com.android.tools.r8.internal.FK:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set openInterfaces -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():42:42 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView):49:51 -> <init>
    1:22:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):56:77 -> a
    23:28:void com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.analyzeReturn(com.android.tools.r8.ir.code.Return,com.android.tools.r8.graph.ProgramMethod):113:118 -> a
    23:28:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):77 -> a
    29:29:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):74:74 -> a
    30:31:void com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.analyzeInvokeMethod(com.android.tools.r8.ir.code.InvokeMethod):103:104 -> a
    30:31:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):74 -> a
    32:32:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    32:32:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getArgumentForParameter(int):280 -> a
    32:32:void com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.analyzeInvokeMethod(com.android.tools.r8.ir.code.InvokeMethod):105 -> a
    32:32:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):74 -> a
    33:34:com.android.tools.r8.ir.code.Value com.android.tools.r8.ir.code.Invoke.getArgumentForParameter(int):280:281 -> a
    33:34:void com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.analyzeInvokeMethod(com.android.tools.r8.ir.code.InvokeMethod):105 -> a
    33:34:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):74 -> a
    35:37:void com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.analyzeInvokeMethod(com.android.tools.r8.ir.code.InvokeMethod):106:108 -> a
    35:37:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):74 -> a
    38:38:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):67:67 -> a
    39:40:void com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.analyzeFieldPut(com.android.tools.r8.ir.code.FieldPut):97:98 -> a
    39:40:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):67 -> a
    41:41:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexField.getTypeElement(com.android.tools.r8.graph.AppView):74:74 -> a
    41:41:void com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.analyzeFieldPut(com.android.tools.r8.ir.code.FieldPut):98 -> a
    41:41:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):67 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    42:42:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexField.getTypeElement(com.android.tools.r8.graph.AppView):74:74 -> a
    42:42:void com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.analyzeFieldPut(com.android.tools.r8.ir.code.FieldPut):98 -> a
    42:42:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):67 -> a
    43:43:void com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.analyzeFieldPut(com.android.tools.r8.ir.code.FieldPut):99:99 -> a
    43:43:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):67 -> a
    44:44:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):63:63 -> a
    45:52:void com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.analyzeArrayPut(com.android.tools.r8.ir.code.ArrayPut):86:93 -> a
    45:52:void analyze(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.IRCode):63 -> a
    53:61:void checkAssignment(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement):124:132 -> a
    62:67:void lambda$checkAssignment$0(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):134:139 -> a
    68:69:boolean com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.verifyOpenInterfaceWitnessIsSuppressed(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexClass):191:192 -> a
    68:69:void lambda$checkAssignment$0(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):142 -> a
    70:70:void lambda$checkAssignment$0(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":73,"2":74,"3":75}}
    73:73:boolean com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.verifyOpenInterfaceWitnessIsSuppressed(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexClass):192:192 -> a
    73:73:void lambda$checkAssignment$0(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):142 -> a
    74:74:boolean com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.verifyOpenInterfaceWitnessIsSuppressed(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexClass):192:192 -> a
    74:74:void lambda$checkAssignment$0(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):142 -> a
    75:75:boolean com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.verifyOpenInterfaceWitnessIsSuppressed(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexClass):192:192 -> a
    75:75:void lambda$checkAssignment$0(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):142 -> a
    71:71:boolean com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.verifyOpenInterfaceWitnessIsSuppressed(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexClass):194:194 -> a
    71:71:void lambda$checkAssignment$0(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):142 -> a
    72:72:void lambda$checkAssignment$0(com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexType):143:143 -> a
    1:4:void onPrimaryOptimizationPassComplete():156:159 -> b
    5:5:void onPrimaryOptimizationPassComplete():157:157 -> b
    6:13:void com.android.tools.r8.optimize.interfaces.analysis.OpenClosedInterfacesAnalysisImpl.includeParentOpenInterfaces():176:183 -> b
    6:13:void onPrimaryOptimizationPassComplete():162 -> b
    14:19:void onPrimaryOptimizationPassComplete():163:168 -> b
    20:20:void onPrimaryOptimizationPassComplete():167:167 -> b
    21:28:void onPrimaryOptimizationPassComplete():163:170 -> b
    1:1:void prepareForPrimaryOptimizationPass():149:149 -> c
    1:1:java.util.Set lambda$onPrimaryOptimizationPassComplete$1():169:169 -> d
com.android.tools.r8.optimize.interfaces.collection.DefaultOpenClosedInterfacesCollection -> com.android.tools.r8.internal.af:
    com.android.tools.r8.optimize.interfaces.collection.DefaultOpenClosedInterfacesCollection INSTANCE -> b
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>():17:17 -> <init>
    boolean isDefinitelyClosed(com.android.tools.r8.graph.DexClass) -> a
    com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
    com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection withoutPrunedItems(com.android.tools.r8.graph.PrunedItems) -> a
    1:1:com.android.tools.r8.optimize.interfaces.collection.DefaultOpenClosedInterfacesCollection getInstance():20:20 -> b
com.android.tools.r8.optimize.interfaces.collection.NonEmptyOpenClosedInterfacesCollection -> com.android.tools.r8.internal.xH:
    java.util.Set openInterfaceTypes -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():14:14 -> <clinit>
    1:2:void <init>(java.util.Set):18:19 -> <init>
    1:2:boolean isDefinitelyClosed(com.android.tools.r8.graph.DexClass):24:25 -> a
    3:6:com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):30:33 -> a
    7:7:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    7:7:com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):33 -> a
    8:10:com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):33:35 -> a
    11:20:com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):40:49 -> a
com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection -> com.android.tools.r8.internal.GK:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>():27:27 -> <init>
    boolean isDefinitelyClosed(com.android.tools.r8.graph.DexClass) -> a
    com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
    com.android.tools.r8.optimize.interfaces.collection.OpenClosedInterfacesCollection withoutPrunedItems(com.android.tools.r8.graph.PrunedItems) -> a
    1:1:com.android.tools.r8.optimize.interfaces.collection.DefaultOpenClosedInterfacesCollection getDefault():30:30 -> a
    2:4:boolean isDefinitelyInstanceOfStaticType(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Value):41:41 -> a
    5:46:boolean isDefinitelyInstanceOfStaticType(com.android.tools.r8.graph.AppView,java.util.function.Supplier,com.android.tools.r8.ir.analysis.type.TypeElement):47:88 -> a
    47:48:boolean lambda$isDefinitelyInstanceOfStaticType$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):65:66 -> a
    1:1:com.android.tools.r8.ir.analysis.type.DynamicType lambda$isDefinitelyInstanceOfStaticType$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView):42:42 -> b
    2:2:com.android.tools.r8.ir.analysis.type.DynamicTypeWithUpperBound com.android.tools.r8.ir.code.Value.getDynamicType(com.android.tools.r8.graph.AppView):1098:1098 -> b
    2:2:com.android.tools.r8.ir.analysis.type.DynamicType lambda$isDefinitelyInstanceOfStaticType$0(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.AppView):42 -> b
com.android.tools.r8.optimize.proto.ProtoNormalizer -> com.android.tools.r8.internal.rP:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():44:44 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.AppView):50:53 -> <init>
    1:1:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):57:57 -> a
    2:2:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):379:379 -> a
    2:2:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):57 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:6:void com.android.tools.r8.utils.Timing.time(java.lang.String,com.android.tools.r8.utils.ThrowingAction):381:383 -> a
    4:6:void run(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):57 -> a
    7:16:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):76:85 -> a
    17:17:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    17:17:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexItemFactory):66 -> a
    17:17:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):85 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    18:18:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexItemFactory):70:70 -> a
    18:18:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethodSignature.withHolder(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexItemFactory):66 -> a
    18:18:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):85 -> a
    19:25:com.android.tools.r8.graph.DexEncodedMethod lambda$run$2(java.util.Map,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder,com.android.tools.r8.graph.DexEncodedMethod):87:93 -> a
    26:29:void lambda$run$1(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod$Builder):96:99 -> a
    30:77:com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState computeGlobalReservationState(java.util.concurrent.ExecutorService):115:162 -> a
    78:93:void lambda$computeGlobalReservationState$4(java.util.Map,java.util.Set,com.android.tools.r8.graph.DexTypeList,java.util.Set):137:152 -> a
    94:95:void com.android.tools.r8.optimize.proto.ProtoNormalizer.computeExtraReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet):193:194 -> a
    94:95:void lambda$computeGlobalReservationState$5(java.util.Set,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):158 -> a
    96:96:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$8(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexMethodSignature):218:218 -> a
    97:98:java.util.Map computeInstanceInitializerCollisions(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):226:227 -> a
    99:99:void com.android.tools.r8.graph.DexProgramClass.forEachProgramInstanceInitializer(java.util.function.Consumer):266:266 -> a
    99:99:java.util.Map computeInstanceInitializerCollisions(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):227 -> a
    100:100:void com.android.tools.r8.graph.DexProgramClass.forEachProgramInstanceInitializer(java.util.function.Consumer):266:266 -> a
    100:100:java.util.Map computeInstanceInitializerCollisions(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):227 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    101:107:void lambda$computeInstanceInitializerCollisions$9(com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,java.util.Map,com.android.tools.r8.graph.ProgramMethod):229:235 -> a
    108:126:void resolveInstanceInitializerCollisions(java.util.Map):242:260 -> a
    127:128:java.lang.Object com.android.tools.r8.utils.IterableUtils.min(java.lang.Iterable,java.util.Comparator):101:102 -> a
    127:128:void resolveInstanceInitializerCollisions(java.util.Map):260 -> a
    129:136:void resolveInstanceInitializerCollisions(java.util.Map):260:267 -> a
    137:149:void resolveInstanceInitializerCollisions(java.util.Map):266:278 -> a
    150:151:void lambda$resolveInstanceInitializerCollisions$10(com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):245:246 -> a
    152:166:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer.isUnoptimizable(com.android.tools.r8.graph.ProgramMethod):283:297 -> a
    152:166:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):170 -> a
    167:167:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer.isUnoptimizable(com.android.tools.r8.graph.ProgramMethod):296:296 -> a
    167:167:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):170 -> a
    168:168:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):175:175 -> a
    169:169:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:162 -> a
    169:169:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):175 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    170:176:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:168 -> a
    170:176:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):175 -> a
    177:177:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):175:175 -> a
    178:183:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):174:179 -> a
    184:184:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexClassAndMethod):66:66 -> a
    184:184:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):179 -> a
    185:185:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):184:184 -> a
    186:186:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:162 -> a
    186:186:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):184 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    187:193:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:168 -> a
    187:193:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):184 -> a
    194:194:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):184:184 -> a
    195:197:void computeReservationsFromMethod(com.android.tools.r8.graph.ProgramMethod,java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):183:185 -> a
    198:198:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.getFirst(java.lang.Iterable,java.lang.Object):779:779 -> a
    198:198:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$6(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):215 -> a
    199:199:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterators.getNext(java.util.Iterator,java.lang.Object):845:845 -> a
    199:199:java.lang.Object com.android.tools.r8.com.google.common.collect.Iterables.getFirst(java.lang.Iterable,java.lang.Object):779 -> a
    199:199:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$6(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):215 -> a
    200:200:com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$6(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet):215:215 -> a
    com.android.tools.r8.graph.DexMethodSignature lambda$computeNewInstanceInitializerSignatures$7(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.utils.collections.DexMethodSignatureSet) -> b
    1:1:void lambda$run$0(java.util.concurrent.ExecutorService):57:57 -> b
    2:2:void lambda$computeGlobalReservationState$3(java.util.Map,java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):128:128 -> b
    3:10:java.util.Map computeNewInstanceInitializerSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):205:212 -> b
    1:7:void run(java.util.concurrent.ExecutorService):61:67 -> c
    8:8:com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens.builder(com.android.tools.r8.graph.AppView):40:40 -> c
    8:8:void run(java.util.concurrent.ExecutorService):67 -> c
    9:47:void run(java.util.concurrent.ExecutorService):68:106 -> c
com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState -> com.android.tools.r8.internal.pP:
    java.util.Map reservedParameters -> a
    com.android.tools.r8.utils.collections.DexMethodSignatureSet unoptimizableSignatures -> b
    1:3:void <init>(java.util.Map,com.android.tools.r8.utils.collections.DexMethodSignatureSet):315:317 -> <init>
    1:1:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37:37 -> a
    1:1:com.android.tools.r8.graph.DexTypeList getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):339 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    2:2:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:com.android.tools.r8.graph.DexTypeList getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):339 -> a
    3:3:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:162 -> a
    3:3:com.android.tools.r8.graph.DexTypeList getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):339 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:10:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexTypeList.getSorted():162:168 -> a
    4:10:com.android.tools.r8.graph.DexTypeList getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):339 -> a
    11:11:com.android.tools.r8.graph.DexTypeList getReservedParameters(com.android.tools.r8.graph.DexMethodSignature):340:340 -> a
    12:13:java.util.Map selectDeterministicTarget(java.util.Map):322:323 -> a
    14:22:void lambda$selectDeterministicTarget$0(java.util.Map,com.android.tools.r8.graph.DexTypeList,java.util.Set):325:333 -> a
com.android.tools.r8.optimize.proto.ProtoNormalizer$LocalReservationState -> com.android.tools.r8.internal.qP:
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newMethodSignatures -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():348:348 -> <clinit>
    1:3:void <init>():348:350 -> <init>
    1:1:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.isUnoptimizable(com.android.tools.r8.graph.DexMethodSignature):344:344 -> a
    1:1:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):374 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState.isUnoptimizable(com.android.tools.r8.graph.DexMethodSignature):344:344 -> a
    2:2:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):374 -> a
    3:8:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):375:380 -> a
    9:9:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37:37 -> a
    9:9:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):381 -> a
    10:10:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexProto.getParameters():87:87 -> a
    10:10:com.android.tools.r8.graph.DexTypeList com.android.tools.r8.graph.DexMethodSignature.getParameters():37 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):381 -> a
    11:11:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):382:382 -> a
    12:31:com.android.tools.r8.graph.DexMethodSignature internalGetAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState,boolean):380:399 -> a
    32:32:com.android.tools.r8.graph.DexMethodSignature getAndReserveNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):365:365 -> a
    1:1:com.android.tools.r8.graph.DexMethodSignature getNewMethodSignature(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.optimize.proto.ProtoNormalizer$GlobalReservationState):357:357 -> b
com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens -> com.android.tools.r8.internal.tP:
    boolean $assertionsDisabled -> h
    com.android.tools.r8.utils.collections.BidirectionalOneToOneMap newMethodSignatures -> f
    java.util.Map prototypeChanges -> g
    1:1:void <clinit>():25:25 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,java.util.Map):34:36 -> <init>
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):45:45 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):55:55 -> a
    3:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):63:63 -> a
    4:4:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    4:4:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):63 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):103:103 -> a
    6:6:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens.getNextMethodSignature(com.android.tools.r8.graph.DexMethod):133:133 -> a
    6:6:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):104 -> a
    7:14:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):108:115 -> a
    15:15:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):114:114 -> a
    16:16:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):113:113 -> a
    17:25:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):110:118 -> a
    com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult) -> b
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):50:50 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):71:71 -> b
    3:3:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> b
    3:3:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):71 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexMethod com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens.getNextMethodSignature(com.android.tools.r8.graph.DexMethod):133:133 -> b
    4:4:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):71 -> b
    com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType) -> d
    1:5:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):78:82 -> d
    6:6:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.graph.GraphLens.lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod):461:461 -> d
    6:6:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):82 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:9:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):86:86 -> d
    1:1:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):128:128 -> e
    1:1:boolean isContextFreeForMethods():92:92 -> g
com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder -> com.android.tools.r8.internal.sP:
    java.util.Map prototypeChanges -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newMethodSignatures -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():136:136 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$1):136:136 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView):144:144 -> <init>
    3:9:void <init>(com.android.tools.r8.graph.AppView):139:145 -> <init>
    1:3:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription recordNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):150:152 -> a
    4:18:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder.computePrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):164:178 -> a
    4:18:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription recordNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):154 -> a
    19:29:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder.computePrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):177:187 -> a
    19:29:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription recordNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):154 -> a
    30:30:boolean com.android.tools.r8.graph.proto.ArgumentPermutation.isDefault():0:0 -> a
    30:30:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder.computePrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):187 -> a
    30:30:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription recordNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):154 -> a
    31:37:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens$Builder.computePrototypeChanges(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):187:193 -> a
    31:37:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription recordNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):154 -> a
    38:41:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription recordNewMethodSignature(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexMethod):155:158 -> a
    42:42:com.android.tools.r8.optimize.proto.ProtoNormalizerGraphLens build():201:201 -> a
    1:1:boolean isEmpty():197:197 -> b
com.android.tools.r8.org.objectweb.asm.AnnotationVisitor -> com.android.tools.r8.internal.c2:
    com.android.tools.r8.org.objectweb.asm.AnnotationVisitor av -> a
    1:1:void <init>(int):59:59 -> <init>
    2:16:void <init>(int,com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):70:84 -> <init>
    1:2:void visit(java.lang.String,java.lang.Object):99:100 -> a
    3:4:void visitEnum(java.lang.String,java.lang.String,java.lang.String):112:113 -> a
    5:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):127:128 -> a
    7:8:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):145:146 -> a
    9:10:void visitEnd():153:154 -> a
com.android.tools.r8.org.objectweb.asm.AnnotationWriter -> com.android.tools.r8.internal.d2:
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter nextAnnotation -> h
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter previousAnnotation -> g
    com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> b
    int numElementValuePairs -> f
    com.android.tools.r8.org.objectweb.asm.ByteVector annotation -> d
    int numElementValuePairsOffset -> e
    boolean useNamedValues -> c
    1:9:void <init>(com.android.tools.r8.org.objectweb.asm.SymbolTable,boolean,com.android.tools.r8.org.objectweb.asm.ByteVector,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):115:123 -> <init>
    1:4:com.android.tools.r8.org.objectweb.asm.AnnotationWriter create(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):143:146 -> a
    5:5:com.android.tools.r8.org.objectweb.asm.AnnotationWriter create(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):175:175 -> a
    6:6:void com.android.tools.r8.org.objectweb.asm.TypeReference.putTarget(int,com.android.tools.r8.org.objectweb.asm.ByteVector):433:433 -> a
    6:6:com.android.tools.r8.org.objectweb.asm.AnnotationWriter create(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):177 -> a
    7:25:void com.android.tools.r8.org.objectweb.asm.TypeReference.putTarget(int,com.android.tools.r8.org.objectweb.asm.ByteVector):412:430 -> a
    7:25:com.android.tools.r8.org.objectweb.asm.AnnotationWriter create(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):177 -> a
    26:26:void com.android.tools.r8.org.objectweb.asm.TypeReference.putTarget(int,com.android.tools.r8.org.objectweb.asm.ByteVector):407:407 -> a
    26:26:com.android.tools.r8.org.objectweb.asm.AnnotationWriter create(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):177 -> a
    27:30:com.android.tools.r8.org.objectweb.asm.AnnotationWriter create(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):178:181 -> a
    31:98:void visit(java.lang.String,java.lang.Object):193:260 -> a
    99:105:void visitEnum(java.lang.String,java.lang.String,java.lang.String):268:274 -> a
    106:112:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):281:287 -> a
    113:125:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):294:306 -> a
    126:129:void visitEnd():311:314 -> a
    130:145:int computeAnnotationsSize(com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter):375:390 -> a
    146:158:void putAnnotations(int,com.android.tools.r8.org.objectweb.asm.ByteVector):412:424 -> a
    159:159:void putAnnotations(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.ByteVector):457:457 -> a
    160:165:void putAnnotations(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.ByteVector):456:461 -> a
    166:171:void putAnnotations(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.ByteVector):460:465 -> a
    172:177:void putAnnotations(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.ByteVector):464:469 -> a
    178:178:void putAnnotations(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.AnnotationWriter,com.android.tools.r8.org.objectweb.asm.ByteVector):468:468 -> a
    179:202:void putParameterAnnotations(int,com.android.tools.r8.org.objectweb.asm.AnnotationWriter[],int,com.android.tools.r8.org.objectweb.asm.ByteVector):526:549 -> a
    1:8:int computeAnnotationsSize(java.lang.String):334:341 -> b
com.android.tools.r8.org.objectweb.asm.Attribute -> com.android.tools.r8.internal.X3:
    byte[] content -> b
    java.lang.String type -> a
    com.android.tools.r8.org.objectweb.asm.Attribute nextAttribute -> c
    1:2:void <init>(java.lang.String):64:65 -> <init>
    1:3:com.android.tools.r8.org.objectweb.asm.Attribute read(com.android.tools.r8.org.objectweb.asm.ClassReader,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):128:130 -> a
    4:4:com.android.tools.r8.org.objectweb.asm.ByteVector write(com.android.tools.r8.org.objectweb.asm.ClassWriter,byte[],int,int,int):159:159 -> a
    5:18:int computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,int):247:260 -> a
    19:29:void putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,int,com.android.tools.r8.org.objectweb.asm.ByteVector):336:346 -> a
com.android.tools.r8.org.objectweb.asm.Attribute$Set -> com.android.tools.r8.internal.W3:
    com.android.tools.r8.org.objectweb.asm.Attribute[] data -> b
    int size -> a
    1:6:void <init>():351:356 -> <init>
    1:2:com.android.tools.r8.org.objectweb.asm.Attribute[] toArray():369:370 -> a
    3:4:boolean com.android.tools.r8.org.objectweb.asm.Attribute$Set.contains(com.android.tools.r8.org.objectweb.asm.Attribute):375:376 -> a
    3:4:void addAttributes(com.android.tools.r8.org.objectweb.asm.Attribute):361 -> a
    5:10:void com.android.tools.r8.org.objectweb.asm.Attribute$Set.add(com.android.tools.r8.org.objectweb.asm.Attribute):384:389 -> a
    5:10:void addAttributes(com.android.tools.r8.org.objectweb.asm.Attribute):362 -> a
    11:11:void addAttributes(com.android.tools.r8.org.objectweb.asm.Attribute):364:364 -> a
com.android.tools.r8.org.objectweb.asm.ByteVector -> com.android.tools.r8.internal.h6:
    byte[] data -> a
    int length -> b
    1:2:void <init>():45:46 -> <init>
    3:4:void <init>(int):54:55 -> <init>
    5:7:void <init>(byte[]):63:65 -> <init>
    1:8:com.android.tools.r8.org.objectweb.asm.ByteVector put11(int,int):92:99 -> a
    9:19:com.android.tools.r8.org.objectweb.asm.ByteVector put122(int,int,int):195:205 -> a
    20:35:com.android.tools.r8.org.objectweb.asm.ByteVector putLong(long):216:231 -> a
    36:60:com.android.tools.r8.org.objectweb.asm.ByteVector putUTF8(java.lang.String):244:268 -> a
    61:61:com.android.tools.r8.org.objectweb.asm.ByteVector putUTF8(java.lang.String):246:246 -> a
    62:100:com.android.tools.r8.org.objectweb.asm.ByteVector encodeUtf8(java.lang.String,int,int):285:323 -> a
    101:101:com.android.tools.r8.org.objectweb.asm.ByteVector encodeUtf8(java.lang.String,int,int):298:298 -> a
    102:108:com.android.tools.r8.org.objectweb.asm.ByteVector putByteArray(byte[],int,int):339:345 -> a
    109:113:void enlarge(int):355:359 -> a
    1:6:com.android.tools.r8.org.objectweb.asm.ByteVector putByte(int):75:80 -> b
    7:16:com.android.tools.r8.org.objectweb.asm.ByteVector put112(int,int,int):152:161 -> b
    1:9:com.android.tools.r8.org.objectweb.asm.ByteVector put12(int,int):130:138 -> c
    10:19:com.android.tools.r8.org.objectweb.asm.ByteVector putInt(int):172:181 -> c
    1:8:com.android.tools.r8.org.objectweb.asm.ByteVector putShort(int):110:117 -> d
com.android.tools.r8.org.objectweb.asm.ClassReader -> com.android.tools.r8.internal.La:
    int[] bootstrapMethodOffsets -> f
    byte[] classFileBuffer -> b
    int[] cpInfoOffsets -> c
    com.android.tools.r8.org.objectweb.asm.ConstantDynamic[] constantDynamicValues -> e
    java.lang.String[] constantUtf8Values -> d
    int maxStringLength -> g
    int header -> a
    1:1:void <init>(byte[]):166:166 -> <init>
    2:2:void <init>(byte[],int,int):180:180 -> <init>
    3:9:void <init>(byte[],int,boolean):192:198 -> <init>
    10:10:void <init>(byte[],int,boolean):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":306,"2":307,"3":308}}
    306:306:void <init>(byte[],int,boolean):198:198 -> <init>
    307:307:void <init>(byte[],int,boolean):198:198 -> <init>
    308:308:void <init>(byte[],int,boolean):198:198 -> <init>
    209:272:void <init>(byte[],int,boolean):199:262 -> <init>
    273:305:void <init>(byte[],int,boolean):243:275 -> <init>
    1:1:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,int):424:424 -> a
    2:10:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):445:453 -> a
    11:11:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    11:11:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):454 -> a
    12:12:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    12:12:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):455 -> a
    13:13:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):456:456 -> a
    14:14:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    14:14:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):459 -> a
    15:71:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):459:515 -> a
    72:72:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    72:72:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):516 -> a
    73:92:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):517:536 -> a
    93:106:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):533:546 -> a
    107:107:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    107:107:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):547 -> a
    108:130:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):548:570 -> a
    131:137:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):569:575 -> a
    138:138:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):773:773 -> a
    138:138:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    139:139:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readModule(int,char[]):3756:3756 -> a
    139:139:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):777 -> a
    139:139:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    140:155:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):778:793 -> a
    140:155:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    156:156:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readPackage(int,char[]):3771:3771 -> a
    156:156:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):796 -> a
    156:156:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    157:163:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):796:802 -> a
    157:163:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    164:164:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readModule(int,char[]):3756:3756 -> a
    164:164:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):806 -> a
    164:164:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    165:172:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):807:814 -> a
    165:172:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    173:173:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readPackage(int,char[]):3771:3771 -> a
    173:173:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):819 -> a
    173:173:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    174:179:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):820:825 -> a
    174:179:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    180:180:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readModule(int,char[]):3756:3756 -> a
    180:180:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):827 -> a
    180:180:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    181:189:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):827:835 -> a
    181:189:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    190:190:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readPackage(int,char[]):3771:3771 -> a
    190:190:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):839 -> a
    190:190:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    191:196:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):840:845 -> a
    191:196:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    197:197:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readModule(int,char[]):3756:3756 -> a
    197:197:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):847 -> a
    197:197:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    198:206:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):847:855 -> a
    198:206:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    207:207:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    207:207:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):858 -> a
    207:207:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    208:213:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):858:863 -> a
    208:213:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    214:214:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    214:214:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):867 -> a
    214:214:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    215:217:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):868:870 -> a
    215:217:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    218:218:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    218:218:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):872 -> a
    218:218:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    219:226:void com.android.tools.r8.org.objectweb.asm.ClassReader.readModuleAttributes(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,int,java.lang.String):872:879 -> a
    219:226:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):580 -> a
    227:227:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):586:586 -> a
    228:228:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    228:228:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):591 -> a
    229:246:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):592:609 -> a
    247:266:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):608:627 -> a
    267:288:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):626:647 -> a
    289:314:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):646:671 -> a
    315:338:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):670:693 -> a
    339:339:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    339:339:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):696 -> a
    340:347:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):696:703 -> a
    348:348:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    348:348:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):707 -> a
    349:357:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):706:714 -> a
    358:358:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    358:358:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):718 -> a
    359:359:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    359:359:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):719 -> a
    360:361:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):720:721 -> a
    362:373:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):717:728 -> a
    374:451:int com.android.tools.r8.org.objectweb.asm.ClassReader.readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):892:969 -> a
    374:451:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):731 -> a
    452:471:int com.android.tools.r8.org.objectweb.asm.ClassReader.readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):968:987 -> a
    452:471:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):731 -> a
    472:493:int com.android.tools.r8.org.objectweb.asm.ClassReader.readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):986:1007 -> a
    472:493:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):731 -> a
    494:519:int com.android.tools.r8.org.objectweb.asm.ClassReader.readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1006:1031 -> a
    494:519:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):731 -> a
    520:542:int com.android.tools.r8.org.objectweb.asm.ClassReader.readRecordComponent(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1030:1052 -> a
    520:542:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):731 -> a
    543:543:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):736:736 -> a
    544:631:int com.android.tools.r8.org.objectweb.asm.ClassReader.readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1066:1153 -> a
    544:631:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):739 -> a
    632:651:int com.android.tools.r8.org.objectweb.asm.ClassReader.readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1152:1171 -> a
    632:651:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):739 -> a
    652:673:int com.android.tools.r8.org.objectweb.asm.ClassReader.readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1170:1191 -> a
    652:673:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):739 -> a
    674:699:int com.android.tools.r8.org.objectweb.asm.ClassReader.readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1190:1215 -> a
    674:699:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):739 -> a
    700:722:int com.android.tools.r8.org.objectweb.asm.ClassReader.readField(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1214:1236 -> a
    700:722:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):739 -> a
    723:723:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):741:741 -> a
    724:780:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1250:1306 -> a
    724:780:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    781:781:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    781:781:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1309 -> a
    781:781:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    782:830:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1309:1357 -> a
    782:830:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    831:851:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1353:1373 -> a
    831:851:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    852:872:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1369:1389 -> a
    852:872:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    873:900:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1387:1414 -> a
    873:900:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    901:920:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1413:1432 -> a
    901:920:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    921:942:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1431:1452 -> a
    921:942:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    943:968:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1451:1476 -> a
    943:968:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    969:969:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1475:1475 -> a
    969:969:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    970:983:void com.android.tools.r8.org.objectweb.asm.ClassReader.readParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2944:2957 -> a
    970:983:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1489 -> a
    970:983:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    984:984:void com.android.tools.r8.org.objectweb.asm.ClassReader.readParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2956:2956 -> a
    984:984:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1489 -> a
    984:984:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    985:998:void com.android.tools.r8.org.objectweb.asm.ClassReader.readParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2944:2957 -> a
    985:998:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1495 -> a
    985:998:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    999:999:void com.android.tools.r8.org.objectweb.asm.ClassReader.readParameterAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2956:2956 -> a
    999:999:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1495 -> a
    999:999:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    1000:1013:int com.android.tools.r8.org.objectweb.asm.ClassReader.readMethod(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1505:1518 -> a
    1000:1013:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):744 -> a
    1014:1014:void accept(com.android.tools.r8.org.objectweb.asm.ClassVisitor,com.android.tools.r8.org.objectweb.asm.Attribute[],int):748:748 -> a
    1015:1319:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1539:1843 -> a
    1320:1373:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1745:1798 -> a
    1374:1379:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1780:1785 -> a
    1380:1556:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1724:1900 -> a
    1557:1557:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2709:2709 -> a
    1557:1557:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1901 -> a
    1558:1560:com.android.tools.r8.org.objectweb.asm.Label com.android.tools.r8.org.objectweb.asm.ClassReader.readLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2680:2682 -> a
    1558:1560:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710 -> a
    1558:1560:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1901 -> a
    1561:1561:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710:2710 -> a
    1561:1561:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1901 -> a
    1562:1562:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1902:1902 -> a
    1563:1563:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2709:2709 -> a
    1563:1563:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1903 -> a
    1564:1566:com.android.tools.r8.org.objectweb.asm.Label com.android.tools.r8.org.objectweb.asm.ClassReader.readLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2680:2682 -> a
    1564:1566:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710 -> a
    1564:1566:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1903 -> a
    1567:1567:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710:2710 -> a
    1567:1567:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1903 -> a
    1568:1580:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1908:1920 -> a
    1581:1581:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2709:2709 -> a
    1581:1581:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1922 -> a
    1582:1584:com.android.tools.r8.org.objectweb.asm.Label com.android.tools.r8.org.objectweb.asm.ClassReader.readLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2680:2682 -> a
    1582:1584:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710 -> a
    1582:1584:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1922 -> a
    1585:1585:void com.android.tools.r8.org.objectweb.asm.ClassReader.createDebugLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2710:2710 -> a
    1585:1585:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1922 -> a
    1586:1655:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1923:1992 -> a
    1656:1663:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3198:3205 -> a
    1656:1663:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1664:1664:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    1664:1664:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3205 -> a
    1664:1664:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1665:1713:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3205:3253 -> a
    1665:1713:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1714:1732:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3231:3249 -> a
    1714:1732:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1733:1733:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3225:3225 -> a
    1733:1733:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1734:1740:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3222:3228 -> a
    1734:1740:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1741:1741:void com.android.tools.r8.org.objectweb.asm.ClassReader.computeImplicitFrame(com.android.tools.r8.org.objectweb.asm.Context):3219:3219 -> a
    1741:1741:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1994 -> a
    1742:1813:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2004:2075 -> a
    1814:1814:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2068:2068 -> a
    1815:1890:int com.android.tools.r8.org.objectweb.asm.ClassReader.readStackMapFrame(int,boolean,boolean,com.android.tools.r8.org.objectweb.asm.Context):3279:3354 -> a
    1815:1890:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2088 -> a
    1891:1891:int com.android.tools.r8.org.objectweb.asm.ClassReader.readStackMapFrame(int,boolean,boolean,com.android.tools.r8.org.objectweb.asm.Context):3351:3351 -> a
    1891:1891:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2088 -> a
    1892:2292:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2097:2497 -> a
    2293:2293:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2344:2344 -> a
    2294:2294:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2343:2343 -> a
    2295:2306:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2322:2333 -> a
    2307:2307:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2325:2325 -> a
    2308:2308:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2290:2290 -> a
    2309:2309:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2288:2288 -> a
    2310:2310:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    2310:2310:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2493 -> a
    2311:2311:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2493:2493 -> a
    2312:2312:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2492:2492 -> a
    2313:2316:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2352:2355 -> a
    2317:2321:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2354:2358 -> a
    2322:2322:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    2322:2322:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2483 -> a
    2323:2323:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2483:2483 -> a
    2324:2339:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2459:2474 -> a
    2340:2341:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2438:2439 -> a
    2342:2342:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    2342:2342:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2440 -> a
    2343:2350:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2441:2448 -> a
    2351:2361:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2384:2394 -> a
    2362:2371:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2367:2376 -> a
    2372:2372:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2283:2283 -> a
    2373:2578:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2282:2487 -> a
    2579:2579:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2261:2261 -> a
    2580:2769:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2237:2426 -> a
    2770:2770:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2421:2421 -> a
    2771:2771:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2417:2417 -> a
    2772:2772:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2413:2413 -> a
    2773:3074:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2213:2514 -> a
    3075:3104:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2513:2542 -> a
    3105:3176:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2541:2612 -> a
    3177:3206:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2611:2640 -> a
    3207:3233:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):2639:2665 -> a
    3234:3234:void readCode(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int):1546:1546 -> a
    3235:3238:com.android.tools.r8.org.objectweb.asm.Label com.android.tools.r8.org.objectweb.asm.ClassReader.readLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2679:2682 -> a
    3235:3238:com.android.tools.r8.org.objectweb.asm.Label createLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2695 -> a
    3239:3239:com.android.tools.r8.org.objectweb.asm.Label createLabel(int,com.android.tools.r8.org.objectweb.asm.Label[]):2696:2696 -> a
    3240:3293:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2737:2790 -> a
    3294:3346:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2753:2805 -> a
    3347:3361:int[] readTypeAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.Context,int,boolean):2804:2818 -> a
    3362:3367:int getTypeAnnotationBytecodeOffset(int[],int):2837:2842 -> a
    3368:3426:int readTypeAnnotationTarget(com.android.tools.r8.org.objectweb.asm.Context,int):2858:2916 -> a
    3427:3474:int readTypeAnnotationTarget(com.android.tools.r8.org.objectweb.asm.Context,int):2875:2922 -> a
    3475:3492:int readElementValues(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,boolean,char[]):2986:3003 -> a
    3493:3499:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3025:3031 -> a
    3500:3653:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3029:3182 -> a
    3654:3661:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3070:3077 -> a
    3662:3685:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3074:3097 -> a
    3686:3764:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3096:3174 -> a
    3765:3765:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3173:3173 -> a
    3766:3803:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3112:3149 -> a
    3804:3824:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3136:3156 -> a
    3825:3836:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3155:3166 -> a
    3837:3841:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3165:3169 -> a
    3842:3847:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3128:3133 -> a
    3848:3853:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3104:3109 -> a
    3854:3856:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3064:3066 -> a
    3857:3857:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3062:3062 -> a
    3858:3860:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3056:3056 -> a
    3861:3861:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3052:3052 -> a
    3862:3862:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3051:3051 -> a
    3863:3865:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3043:3043 -> a
    3866:3868:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3038:3038 -> a
    3917:3917:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3087:3087 -> a
    3918:3918:int readElementValue(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,int,java.lang.String,char[]):3086:3086 -> a
    3919:3951:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3379:3411 -> a
    3952:3952:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3407:3407 -> a
    3953:3953:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    3953:3953:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3403 -> a
    3954:3954:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3403:3403 -> a
    3955:3955:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3400:3400 -> a
    3956:3956:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3397:3397 -> a
    3957:3957:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3394:3394 -> a
    3958:3958:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3391:3391 -> a
    3959:3959:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3388:3388 -> a
    3960:3960:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3385:3385 -> a
    3961:3961:int readVerificationTypeInfo(int,java.lang.Object[],int,char[],com.android.tools.r8.org.objectweb.asm.Label[]):3382:3382 -> a
    3962:3991:int getFirstAttributeOffset():3430:3459 -> a
    3992:3998:com.android.tools.r8.org.objectweb.asm.Attribute readAttribute(com.android.tools.r8.org.objectweb.asm.Attribute[],java.lang.String,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):3529:3535 -> a
    3999:3999:int getItem(int):3562:3562 -> a
    4000:4016:java.lang.String readUtf(int,int,char[]):3691:3707 -> a
    4017:4046:java.lang.Object readConst(int,char[]):3820:3849 -> a
    4047:4063:com.android.tools.r8.org.objectweb.asm.ConstantDynamic com.android.tools.r8.org.objectweb.asm.ClassReader.readConstantDynamic(int,char[]):3785:3801 -> a
    4047:4063:java.lang.Object readConst(int,char[]):3847 -> a
    4064:4068:java.lang.Object readConst(int,char[]):3835:3839 -> a
    4069:4069:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassReader.readClass(int,char[]):3741:3741 -> a
    4069:4069:java.lang.Object readConst(int,char[]):3840 -> a
    4070:4074:java.lang.Object readConst(int,char[]):3841:3845 -> a
    4075:4075:java.lang.Object readConst(int,char[]):3833:3833 -> a
    4076:4076:java.lang.Object readConst(int,char[]):3831:3831 -> a
    4077:4077:java.lang.Object readConst(int,char[]):3829:3829 -> a
    4078:4078:java.lang.Object readConst(int,char[]):3827:3827 -> a
    4079:4079:java.lang.Object readConst(int,char[]):3825:3825 -> a
    4080:4080:java.lang.Object readConst(int,char[]):3823:3823 -> a
    1:24:int[] readBootstrapMethodsAttribute(int):3475:3498 -> b
    25:25:int getItemCount():3548:3548 -> b
    26:26:java.lang.String readStringish(int,char[]):3726:3726 -> b
    1:1:int getMaxStringLength():3573:3573 -> c
    2:2:int readByte(int):3584:3584 -> c
    3:7:java.lang.String readUTF8(int,char[]):3652:3656 -> c
    1:2:int readInt(int):3619:3620 -> d
    3:9:java.lang.String readUtf(int,char[]):3669:3675 -> d
    1:2:long readLong(int):3634:3635 -> e
    1:2:short readShort(int):3607:3608 -> f
    1:2:int readUnsignedShort(int):3595:3596 -> g
com.android.tools.r8.org.objectweb.asm.ClassTooLargeException -> com.android.tools.r8.internal.Ua:
    java.lang.String className -> b
    int constantPoolCount -> c
    1:1:void <init>(java.lang.String,int):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":53,"2":54,"3":55,"4":56,"5":57}}
    53:53:void <init>(java.lang.String,int):49:49 -> <init>
    54:54:void <init>(java.lang.String,int):49:49 -> <init>
    55:55:void <init>(java.lang.String,int):49:49 -> <init>
    56:56:void <init>(java.lang.String,int):49:49 -> <init>
    57:57:void <init>(java.lang.String,int):49:49 -> <init>
    50:52:void <init>(java.lang.String,int):49:51 -> <init>
    1:1:java.lang.String getClassName():60:60 -> a
    1:1:int getConstantPoolCount():69:69 -> b
com.android.tools.r8.org.objectweb.asm.ClassVisitor -> com.android.tools.r8.internal.Ya:
    com.android.tools.r8.org.objectweb.asm.ClassVisitor cv -> b
    int api -> a
    1:1:void <init>(int):58:58 -> <init>
    2:16:void <init>(int,com.android.tools.r8.org.objectweb.asm.ClassVisitor):70:84 -> <init>
    1:5:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):111:115 -> a
    6:7:void visitSource(java.lang.String,java.lang.String):128:129 -> a
    8:12:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):144:148 -> a
    13:13:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):145:145 -> a
    14:18:void visitNestHost(java.lang.String):164:168 -> a
    19:19:void visitNestHost(java.lang.String):165:165 -> a
    20:21:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):183:184 -> a
    22:23:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):197:198 -> a
    24:28:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):220:224 -> a
    29:29:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):221:221 -> a
    30:31:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):235:236 -> a
    32:33:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):287:288 -> a
    34:35:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):337:338 -> a
    36:37:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):365:366 -> a
    38:39:void visitEnd():376:377 -> a
    1:5:void visitNestMember(java.lang.String):250:254 -> b
    6:6:void visitNestMember(java.lang.String):251:251 -> b
    7:11:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):304:308 -> b
    12:12:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):305:305 -> b
    1:5:void visitPermittedSubclass(java.lang.String):265:269 -> c
    6:6:void visitPermittedSubclass(java.lang.String):266:266 -> c
com.android.tools.r8.org.objectweb.asm.ClassWriter -> com.android.tools.r8.internal.ib:
# {"id":"sourceFile","fileName":"ClassWriter.java"}
    int numberOfInnerClasses -> n
    com.android.tools.r8.org.objectweb.asm.FieldWriter firstField -> j
    int interfaceCount -> h
    int thisClass -> f
    com.android.tools.r8.org.objectweb.asm.ByteVector debugExtension -> t
    com.android.tools.r8.org.objectweb.asm.ModuleWriter moduleWriter -> y
    int numberOfPermittedSubclasses -> C
    int numberOfNestMemberClasses -> A
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation -> x
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation -> v
    com.android.tools.r8.org.objectweb.asm.MethodWriter firstMethod -> l
    com.android.tools.r8.org.objectweb.asm.ByteVector nestMemberClasses -> B
    com.android.tools.r8.org.objectweb.asm.ByteVector permittedSubclasses -> D
    com.android.tools.r8.org.objectweb.asm.RecordComponentWriter lastRecordComponent -> F
    int sourceFileIndex -> s
    int enclosingMethodIndex -> q
    com.android.tools.r8.org.objectweb.asm.FieldWriter lastField -> k
    com.android.tools.r8.org.objectweb.asm.ByteVector innerClasses -> o
    com.android.tools.r8.org.objectweb.asm.Attribute firstAttribute -> G
    int compute -> H
    int superClass -> g
    int accessFlags -> e
    int version -> c
    com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> d
    int[] interfaces -> i
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation -> w
    int nestHostClassIndex -> z
    com.android.tools.r8.org.objectweb.asm.MethodWriter lastMethod -> m
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation -> u
    int signatureIndex -> r
    com.android.tools.r8.org.objectweb.asm.RecordComponentWriter firstRecordComponent -> E
    int enclosingClassIndex -> p
    1:8:void <init>(com.android.tools.r8.org.objectweb.asm.ClassReader,int):257:264 -> <init>
    void visitEnd() -> a
    1:16:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):280:295 -> a
    17:20:void visitSource(java.lang.String,java.lang.String):302:305 -> a
    21:26:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):312:317 -> a
    27:27:void visitNestHost(java.lang.String):322:322 -> a
    28:30:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):328:330 -> a
    31:35:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):337:341 -> a
    36:41:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):349:354 -> a
    42:43:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):362:363 -> a
    44:60:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):387:403 -> a
    61:68:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):429:436 -> a
    69:76:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):446:453 -> a
    77:77:int newConst(java.lang.Object):802:802 -> a
    1:5:void visitNestMember(java.lang.String):368:372 -> b
    6:13:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):412:419 -> b
    14:127:byte[] toByteArray():477:590 -> b
    128:128:int com.android.tools.r8.org.objectweb.asm.Attribute.getAttributeCount():172:172 -> b
    128:128:byte[] toByteArray():591 -> b
    129:129:byte[] toByteArray():592:592 -> b
    130:136:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int):219:225 -> b
    130:136:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable):191 -> b
    130:136:byte[] toByteArray():592 -> b
    137:254:byte[] toByteArray():596:713 -> b
    255:263:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int,com.android.tools.r8.org.objectweb.asm.ByteVector):307:315 -> b
    255:263:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.ByteVector):279 -> b
    255:263:byte[] toByteArray():713 -> b
    264:264:byte[] toByteArray():718:718 -> b
    265:282:com.android.tools.r8.org.objectweb.asm.Attribute[] com.android.tools.r8.org.objectweb.asm.ClassWriter.getAttributePrototypes():768:785 -> b
    265:282:byte[] com.android.tools.r8.org.objectweb.asm.ClassWriter.replaceAsmInstructions(byte[],boolean):735 -> b
    265:282:byte[] toByteArray():718 -> b
    283:306:byte[] com.android.tools.r8.org.objectweb.asm.ClassWriter.replaceAsmInstructions(byte[],boolean):736:759 -> b
    283:306:byte[] toByteArray():718 -> b
    307:307:byte[] toByteArray():720:720 -> b
    308:308:byte[] toByteArray():599:599 -> b
    1:5:void visitPermittedSubclass(java.lang.String):377:381 -> c
com.android.tools.r8.org.objectweb.asm.ConstantDynamic -> com.android.tools.r8.internal.vd:
    java.lang.Object[] bootstrapMethodArguments -> d
    java.lang.String name -> a
    java.lang.String descriptor -> b
    com.android.tools.r8.org.objectweb.asm.Handle bootstrapMethod -> c
    1:5:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):67:71 -> <init>
    1:1:com.android.tools.r8.org.objectweb.asm.Handle getBootstrapMethod():98:98 -> a
    2:2:java.lang.Object getBootstrapMethodArgument(int):121:121 -> a
    1:1:int getBootstrapMethodArgumentCount():109:109 -> b
    1:1:java.lang.Object[] getBootstrapMethodArgumentsUnsafe():132:132 -> c
    1:1:java.lang.String getDescriptor():89:89 -> d
    1:1:java.lang.String getName():80:80 -> e
    1:8:boolean equals(java.lang.Object):150:157 -> equals
    1:4:int hashCode():162:165 -> hashCode
    1:7:java.lang.String toString():170:176 -> toString
com.android.tools.r8.org.objectweb.asm.Constants -> com.android.tools.r8.internal.Bd:
# {"id":"sourceFile","fileName":"Constants.java"}
    1:2:void checkAsmExperimental(java.lang.Object):186:187 -> a
    3:10:boolean com.android.tools.r8.org.objectweb.asm.Constants.isWhitelisted(java.lang.String):194:201 -> a
    3:10:void checkAsmExperimental(java.lang.Object):188 -> a
    11:11:void checkAsmExperimental(java.lang.Object):189:189 -> a
    12:20:void com.android.tools.r8.org.objectweb.asm.Constants.checkIsPreview(java.io.InputStream):210:210 -> a
    12:20:void checkAsmExperimental(java.lang.Object):189 -> a
    24:24:void com.android.tools.r8.org.objectweb.asm.Constants.checkIsPreview(java.io.InputStream):214:214 -> a
    24:24:void checkAsmExperimental(java.lang.Object):189 -> a
    25:25:void com.android.tools.r8.org.objectweb.asm.Constants.checkIsPreview(java.io.InputStream):207:207 -> a
    25:25:void checkAsmExperimental(java.lang.Object):189 -> a
com.android.tools.r8.org.objectweb.asm.Context -> com.android.tools.r8.internal.Ud:
    int currentFrameType -> n
    java.lang.String currentMethodDescriptor -> f
    int currentFrameLocalCount -> o
    char[] charBuffer -> c
    int currentFrameOffset -> m
    int currentTypeAnnotationTarget -> h
    com.android.tools.r8.org.objectweb.asm.Attribute[] attributePrototypes -> a
    int currentMethodAccessFlags -> d
    int parsingOptions -> b
    com.android.tools.r8.org.objectweb.asm.Label[] currentMethodLabels -> g
    com.android.tools.r8.org.objectweb.asm.Label[] currentLocalVariableAnnotationRangeEnds -> k
    com.android.tools.r8.org.objectweb.asm.Label[] currentLocalVariableAnnotationRangeStarts -> j
    com.android.tools.r8.org.objectweb.asm.TypePath currentTypeAnnotationTargetPath -> i
    java.lang.Object[] currentFrameStackTypes -> s
    java.lang.Object[] currentFrameLocalTypes -> q
    int currentFrameStackCount -> r
    java.lang.String currentMethodName -> e
    int[] currentLocalVariableAnnotationRangeIndices -> l
    int currentFrameLocalCountDelta -> p
    1:1:void <init>():36:36 -> <init>
com.android.tools.r8.org.objectweb.asm.CurrentFrame -> com.android.tools.r8.internal.Yd:
    1:1:void <init>(com.android.tools.r8.org.objectweb.asm.Label):40:40 -> <init>
    1:4:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):51:54 -> a
com.android.tools.r8.org.objectweb.asm.Edge -> com.android.tools.r8.internal.Nh:
    com.android.tools.r8.org.objectweb.asm.Label successor -> b
    int info -> a
    com.android.tools.r8.org.objectweb.asm.Edge nextEdge -> c
    1:4:void <init>(int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Edge):86:89 -> <init>
com.android.tools.r8.org.objectweb.asm.FieldVisitor -> com.android.tools.r8.internal.ok:
    com.android.tools.r8.org.objectweb.asm.FieldVisitor fv -> b
    int api -> a
    1:1:void <init>(int):57:57 -> <init>
    2:10:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):69:77 -> <init>
    11:11:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":95,"2":96,"3":97,"4":98,"5":99}}
    95:95:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):77:77 -> <init>
    96:96:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):77:77 -> <init>
    97:97:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):77:77 -> <init>
    98:98:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):77:77 -> <init>
    99:99:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):77:77 -> <init>
    88:94:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):77:83 -> <init>
    1:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):95:96 -> a
    3:7:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):116:120 -> a
    8:8:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):117:117 -> a
    9:10:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):131:132 -> a
    11:12:void visitEnd():141:142 -> a
com.android.tools.r8.org.objectweb.asm.FieldWriter -> com.android.tools.r8.internal.pk:
    com.android.tools.r8.org.objectweb.asm.Attribute firstAttribute -> m
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation -> i
    com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> c
    int constantValueIndex -> h
    int descriptorIndex -> f
    int signatureIndex -> g
    int accessFlags -> d
    int nameIndex -> e
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation -> l
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation -> j
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation -> k
    1:10:void <init>(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):127:136 -> <init>
    void visitEnd() -> a
    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):147:151 -> a
    6:11:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):159:164 -> a
    12:13:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):172:173 -> a
    14:45:void putFieldInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):220:251 -> a
    46:46:int com.android.tools.r8.org.objectweb.asm.Attribute.getAttributeCount():172:172 -> a
    46:46:void putFieldInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):252 -> a
    47:65:void putFieldInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):254:272 -> a
    66:74:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int,com.android.tools.r8.org.objectweb.asm.ByteVector):307:315 -> a
    66:74:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.ByteVector):279 -> a
    66:74:void putFieldInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):272 -> a
    75:75:void collectAttributePrototypes(com.android.tools.r8.org.objectweb.asm.Attribute$Set):282:282 -> a
    1:14:int computeFieldInfoSize():195:208 -> b
    15:21:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int):219:225 -> b
    15:21:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable):191 -> b
    15:21:int computeFieldInfoSize():208 -> b
com.android.tools.r8.org.objectweb.asm.Frame -> com.android.tools.r8.internal.gl:
    short outputStackTop -> g
    short outputStackStart -> f
    int[] initializations -> i
    int[] inputLocals -> b
    int[] inputStack -> c
    int[] outputLocals -> d
    int initializationCount -> h
    int[] outputStack -> e
    com.android.tools.r8.org.objectweb.asm.Label owner -> a
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.Label):242:243 -> <init>
    1:8:void copyFrom(com.android.tools.r8.org.objectweb.asm.Frame):255:262 -> a
    9:16:int getAbstractTypeFromApiFormat(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.Object):281:288 -> a
    17:75:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):316:374 -> a
    76:110:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):336:370 -> a
    111:111:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":845,"3":846}}
    845:845:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):366:366 -> a
    846:846:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):366:366 -> a
    478:478:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):367:367 -> a
    479:479:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":847,"3":848}}
    847:847:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):332:332 -> a
    848:848:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):332:332 -> a
    812:812:int getAbstractTypeFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,int):333:333 -> a
    849:869:void setInputFrameFromDescriptor(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,java.lang.String,int):397:417 -> a
    870:893:void setInputFrameFromApiFormat(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,java.lang.Object[],int,java.lang.Object[]):440:463 -> a
    894:894:int getInputStackSize():467:467 -> a
    895:895:void push(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String):551:551 -> a
    896:903:int com.android.tools.r8.org.objectweb.asm.Type.getReturnTypeOffset(java.lang.String):392:399 -> a
    896:903:void push(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String):551 -> a
    904:908:void push(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String):552:556 -> a
    909:915:void pop(int):581:587 -> a
    916:922:void pop(java.lang.String):597:603 -> a
    923:923:void pop(java.lang.String):601:601 -> a
    924:939:int getInitializedType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int):645:660 -> a
    940:940:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1106:1106 -> a
    941:972:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):733:764 -> a
    973:973:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):752:752 -> a
    974:974:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):749:749 -> a
    975:976:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):745:746 -> a
    977:981:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):738:742 -> a
    982:1008:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):735:761 -> a
    1009:1012:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):755:758 -> a
    1013:1013:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):700:700 -> a
    1014:1023:int com.android.tools.r8.org.objectweb.asm.Frame.getLocal(int):481:490 -> a
    1014:1023:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):768 -> a
    1024:1024:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):768:768 -> a
    1025:1026:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):729:730 -> a
    1027:1027:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):724:724 -> a
    1028:1029:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):717:718 -> a
    1030:1127:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):712:809 -> a
    1128:1137:int com.android.tools.r8.org.objectweb.asm.Frame.getLocal(int):481:490 -> a
    1128:1137:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):811 -> a
    1138:1138:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):818:818 -> a
    1139:1139:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):813:813 -> a
    1140:1141:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):790:791 -> a
    1142:1151:int com.android.tools.r8.org.objectweb.asm.Frame.getLocal(int):481:490 -> a
    1142:1151:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):793 -> a
    1152:1152:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):800:800 -> a
    1153:1153:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):795:795 -> a
    1154:1469:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):783:1098 -> a
    1470:1475:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1084:1089 -> a
    1476:1503:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1053:1080 -> a
    1504:1504:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1077:1077 -> a
    1505:1505:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1068:1068 -> a
    1506:1506:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1065:1065 -> a
    1507:1519:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1062:1074 -> a
    1520:1520:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1071:1071 -> a
    1521:1521:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1059:1059 -> a
    1522:1522:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1056:1056 -> a
    1523:1523:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1050:1050 -> a
    1524:1525:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1046:1047 -> a
    1526:1529:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1036:1039 -> a
    1530:1541:void com.android.tools.r8.org.objectweb.asm.Frame.addInitializedType(int):619:630 -> a
    1530:1541:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1040 -> a
    1542:1542:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1043:1043 -> a
    1543:1544:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1029:1030 -> a
    1545:1546:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1025:1026 -> a
    1547:1547:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1022:1022 -> a
    1548:1548:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1019:1019 -> a
    1549:1549:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1017:1017 -> a
    1550:1551:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):1012:1013 -> a
    1552:1787:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):772:1007 -> a
    1788:2011:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):778:1001 -> a
    2012:2013:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):994:995 -> a
    2014:2016:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):989:991 -> a
    2017:2017:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):985:985 -> a
    2018:2020:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):980:982 -> a
    2021:2023:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):973:975 -> a
    2024:2025:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):965:966 -> a
    2026:2028:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):953:955 -> a
    2029:2030:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):942:943 -> a
    2031:2034:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):918:921 -> a
    2035:2044:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):906:915 -> a
    2045:2052:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):896:903 -> a
    2053:2058:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):888:893 -> a
    2059:2065:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):879:885 -> a
    2066:2070:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):872:876 -> a
    2071:2073:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):867:869 -> a
    2074:2074:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):864:864 -> a
    2075:2075:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):832:832 -> a
    2076:2351:void execute(int,int,com.android.tools.r8.org.objectweb.asm.Symbol,com.android.tools.r8.org.objectweb.asm.SymbolTable):828:1103 -> a
    2352:2362:int getConcreteOutputType(int,int):1129:1139 -> a
    2363:2438:boolean merge(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.Frame,int):1169:1244 -> a
    2439:2506:boolean merge(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,int[],int):1268:1335 -> a
    2507:2544:void accept(com.android.tools.r8.org.objectweb.asm.MethodWriter):1356:1393 -> a
    1:11:void setLocal(int,int):504:514 -> b
    12:27:void push(int):524:539 -> b
    28:32:int pop():567:571 -> b
com.android.tools.r8.org.objectweb.asm.Handle -> com.android.tools.r8.internal.pm:
    boolean isInterface -> e
    java.lang.String name -> c
    java.lang.String owner -> b
    int tag -> a
    java.lang.String descriptor -> d
    1:6:void <init>(int,java.lang.String,java.lang.String,java.lang.String,boolean):98:103 -> <init>
    1:1:java.lang.String getDesc():142:142 -> a
    1:1:java.lang.String getName():133:133 -> b
    1:1:java.lang.String getOwner():124:124 -> c
    1:1:int getTag():115:115 -> d
    1:1:boolean isInterface():151:151 -> e
    1:9:boolean equals(java.lang.Object):159:167 -> equals
    1:3:int hashCode():172:174 -> hashCode
    1:1:java.lang.String toString():187:187 -> toString
com.android.tools.r8.org.objectweb.asm.Handler -> com.android.tools.r8.internal.qm:
    com.android.tools.r8.org.objectweb.asm.Handler nextHandler -> f
    com.android.tools.r8.org.objectweb.asm.Label handlerPc -> c
    int catchType -> d
    com.android.tools.r8.org.objectweb.asm.Label endPc -> b
    com.android.tools.r8.org.objectweb.asm.Label startPc -> a
    java.lang.String catchTypeDescriptor -> e
    1:6:void <init>(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int,java.lang.String):90:95 -> <init>
    1:17:com.android.tools.r8.org.objectweb.asm.Handler removeRange(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):123:139 -> a
    18:19:void com.android.tools.r8.org.objectweb.asm.Handler.<init>(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):106:107 -> a
    18:19:com.android.tools.r8.org.objectweb.asm.Handler removeRange(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):139 -> a
    20:20:com.android.tools.r8.org.objectweb.asm.Handler removeRange(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):143:143 -> a
    21:22:void com.android.tools.r8.org.objectweb.asm.Handler.<init>(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):106:107 -> a
    21:22:com.android.tools.r8.org.objectweb.asm.Handler removeRange(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):143 -> a
    23:23:com.android.tools.r8.org.objectweb.asm.Handler removeRange(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):147:147 -> a
    24:25:void com.android.tools.r8.org.objectweb.asm.Handler.<init>(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):106:107 -> a
    24:25:com.android.tools.r8.org.objectweb.asm.Handler removeRange(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):147 -> a
    26:27:com.android.tools.r8.org.objectweb.asm.Handler removeRange(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):147:148 -> a
    28:29:void com.android.tools.r8.org.objectweb.asm.Handler.<init>(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):106:107 -> a
    28:29:com.android.tools.r8.org.objectweb.asm.Handler removeRange(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label):148 -> a
com.android.tools.r8.org.objectweb.asm.Label -> com.android.tools.r8.internal.xA:
    com.android.tools.r8.org.objectweb.asm.Frame frame -> k
    com.android.tools.r8.org.objectweb.asm.Edge outgoingEdges -> m
    int bytecodeOffset -> e
    int[] forwardReferences -> f
    short inputStackSize -> g
    short outputStackSize -> h
    com.android.tools.r8.org.objectweb.asm.Label nextBasicBlock -> l
    int[] otherLineNumbers -> d
    short outputStackMax -> i
    short subroutineId -> j
    java.lang.Object info -> a
    short lineNumber -> c
    com.android.tools.r8.org.objectweb.asm.Label EMPTY_LIST -> o
    short flags -> b
    com.android.tools.r8.org.objectweb.asm.Label nextListElement -> n
    1:1:void <clinit>():130:130 -> <clinit>
    1:1:void <init>():289:289 -> <init>
    1:1:com.android.tools.r8.org.objectweb.asm.Label getCanonicalInstance():322:322 -> a
    2:14:void addLineNumber(int):335:347 -> a
    15:20:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor,boolean):358:363 -> a
    21:33:void put(com.android.tools.r8.org.objectweb.asm.ByteVector,int,boolean):386:398 -> a
    34:45:void addForwardReference(int,int,int):417:428 -> a
    46:79:boolean resolve(byte[],int):446:479 -> a
    80:90:void markSubroutine(short):507:517 -> a
    91:103:com.android.tools.r8.org.objectweb.asm.Label com.android.tools.r8.org.objectweb.asm.Label.pushSuccessors(com.android.tools.r8.org.objectweb.asm.Label):592:604 -> a
    91:103:void markSubroutine(short):518 -> a
    104:119:void addSubroutineRetSuccessors(com.android.tools.r8.org.objectweb.asm.Label):542:557 -> a
    120:132:com.android.tools.r8.org.objectweb.asm.Label com.android.tools.r8.org.objectweb.asm.Label.pushSuccessors(com.android.tools.r8.org.objectweb.asm.Label):592:604 -> a
    120:132:void addSubroutineRetSuccessors(com.android.tools.r8.org.objectweb.asm.Label):570 -> a
    133:135:void addSubroutineRetSuccessors(com.android.tools.r8.org.objectweb.asm.Label):574:576 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":622,"2":623,"3":624}}
    622:622:java.lang.String toString():620:620 -> toString
    623:623:java.lang.String toString():620:620 -> toString
    624:624:java.lang.String toString():620:620 -> toString
    621:621:java.lang.String toString():620:620 -> toString
com.android.tools.r8.org.objectweb.asm.MethodTooLargeException -> com.android.tools.r8.internal.XE:
    int codeSize -> e
    java.lang.String methodName -> c
    java.lang.String className -> b
    java.lang.String descriptor -> d
    1:5:void <init>(java.lang.String,java.lang.String,java.lang.String,int):57:61 -> <init>
    1:1:java.lang.String getClassName():70:70 -> a
    1:1:int getCodeSize():97:97 -> b
    1:1:java.lang.String getDescriptor():88:88 -> c
    1:1:java.lang.String getMethodName():79:79 -> d
com.android.tools.r8.org.objectweb.asm.MethodVisitor -> com.android.tools.r8.internal.YE:
    int api -> h
    com.android.tools.r8.org.objectweb.asm.MethodVisitor mv -> i
    1:1:void <init>(int):71:71 -> <init>
    2:10:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):82:90 -> <init>
    11:11:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":108,"2":109,"3":110,"4":111,"5":112}}
    108:108:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> <init>
    109:109:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> <init>
    110:110:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> <init>
    111:111:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> <init>
    112:112:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:90 -> <init>
    101:107:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor):90:96 -> <init>
    1:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():128:129 -> a
    3:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):143:144 -> a
    5:6:void visitAnnotableParameterCount(int,boolean):191:192 -> a
    7:8:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):212:213 -> a
    9:10:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):224:225 -> a
    11:12:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):299:300 -> a
    13:14:void visitInsn(int):323:324 -> a
    15:16:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):390:391 -> a
    17:17:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):430:430 -> a
    18:18:void com.android.tools.r8.org.objectweb.asm.MethodVisitor.visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String):410:410 -> a
    18:18:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):434 -> a
    19:25:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):432:438 -> a
    26:30:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):458:462 -> a
    31:31:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):459:459 -> a
    32:33:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):477:478 -> a
    34:35:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):488:489 -> a
    36:45:void visitLdcInsn(java.lang.Object):541:550 -> a
    46:47:void visitIincInsn(int,int):561:562 -> a
    48:49:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):577:578 -> a
    50:51:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):591:592 -> a
    52:53:void visitMultiANewArrayInsn(java.lang.String,int):603:604 -> a
    54:58:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):629:633 -> a
    59:59:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):630:630 -> a
    60:61:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):655:656 -> a
    62:63:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):707:708 -> a
    64:68:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):740:744 -> a
    69:69:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):741:741 -> a
    1:5:void visitParameter(java.lang.String,int):111:115 -> b
    6:6:void visitParameter(java.lang.String,int):112:112 -> b
    7:8:void visitCode():231:232 -> b
    9:10:void visitIntInsn(int,int):343:344 -> b
    11:15:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):677:681 -> b
    16:16:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):678:678 -> b
    17:18:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):760:761 -> b
    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):167:171 -> c
    6:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):168:168 -> c
    7:8:void visitTypeInsn(int,java.lang.String):373:374 -> c
    9:10:void visitMaxs(int,int):772:773 -> c
    11:12:void visitEnd():782:783 -> c
    1:2:void visitVarInsn(int,int):358:359 -> d
com.android.tools.r8.org.objectweb.asm.MethodWriter -> com.android.tools.r8.internal.ZE:
    boolean hasSubroutines -> d0
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation -> I
    int nameIndex -> l
    com.android.tools.r8.org.objectweb.asm.ByteVector code -> r
    com.android.tools.r8.org.objectweb.asm.ByteVector lineNumberTable -> v
    int signatureIndex -> G
    com.android.tools.r8.org.objectweb.asm.ByteVector localVariableTypeTable -> z
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter[] lastRuntimeInvisibleParameterAnnotations -> M
    int relativeStackSize -> X
    int localVariableTypeTableLength -> y
    int compute -> T
    int lineNumberTableLength -> u
    int maxLocals -> q
    int invisibleAnnotableParameterCount -> L
    int sourceLength -> h0
    java.lang.String name -> m
    com.android.tools.r8.org.objectweb.asm.Label currentBasicBlock -> W
    int lastBytecodeOffset -> f0
    com.android.tools.r8.org.objectweb.asm.ByteVector defaultValue -> P
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation -> N
    int maxRelativeStackSize -> Y
    com.android.tools.r8.org.objectweb.asm.Attribute firstAttribute -> S
    int parametersCount -> Q
    int[] previousFrame -> b0
    int descriptorIndex -> n
    boolean hasAsmInstructions -> e0
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastCodeRuntimeVisibleTypeAnnotation -> C
    com.android.tools.r8.org.objectweb.asm.Label lastBasicBlock -> V
    int numberOfExceptions -> E
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation -> O
    com.android.tools.r8.org.objectweb.asm.ByteVector localVariableTable -> x
    int stackMapTableNumberOfEntries -> A
    int currentLocals -> Z
    com.android.tools.r8.org.objectweb.asm.ByteVector stackMapTableEntries -> B
    com.android.tools.r8.org.objectweb.asm.Label firstBasicBlock -> U
    int localVariableTableLength -> w
    com.android.tools.r8.org.objectweb.asm.Handler lastHandler -> t
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter[] lastRuntimeVisibleParameterAnnotations -> K
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation -> H
    int previousFrameOffset -> a0
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastCodeRuntimeInvisibleTypeAnnotation -> D
    int visibleAnnotableParameterCount -> J
    int accessFlags -> k
    com.android.tools.r8.org.objectweb.asm.ByteVector parameters -> R
    int sourceOffset -> g0
    java.lang.String descriptor -> o
    com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> j
    int[] exceptionIndexTable -> F
    com.android.tools.r8.org.objectweb.asm.Handler firstHandler -> s
    int[] STACK_SIZE_DELTA -> i0
    int[] currentFrame -> c0
    int maxStack -> p
    1:1:void <clinit>():81:81 -> <clinit>
    1:1:void <init>(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],int):595:595 -> <init>
    2:306:void <init>(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],int):320:624 -> <init>
    1:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():651:652 -> a
    3:7:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):658:662 -> a
    8:10:void visitAnnotableParameterCount(int,boolean):683:685 -> a
    11:24:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):693:706 -> a
    25:30:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):716:721 -> a
    31:131:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):737:837 -> a
    132:138:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):828:834 -> a
    139:141:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):821:823 -> a
    142:143:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):816:817 -> a
    144:147:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):809:812 -> a
    148:207:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):798:857 -> a
    208:208:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):779:779 -> a
    209:221:void visitInsn(int):862:874 -> a
    222:231:void visitInsn(int):868:877 -> a
    232:255:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):992:1015 -> a
    256:256:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):1011:1011 -> a
    257:257:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):1008:1008 -> a
    258:274:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):1005:1021 -> a
    275:275:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):999:999 -> a
    276:280:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):1033:1037 -> a
    281:284:int com.android.tools.r8.org.objectweb.asm.Symbol.getArgumentsAndReturnSizes():238:241 -> a
    281:284:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):1038 -> a
    285:291:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):1038:1044 -> a
    292:295:int com.android.tools.r8.org.objectweb.asm.Symbol.getArgumentsAndReturnSizes():238:241 -> a
    292:295:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):1047 -> a
    296:303:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):1051:1058 -> a
    304:304:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):1045:1045 -> a
    305:314:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1069:1078 -> a
    315:318:int com.android.tools.r8.org.objectweb.asm.Symbol.getArgumentsAndReturnSizes():238:241 -> a
    315:318:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1081 -> a
    319:323:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1083:1087 -> a
    324:324:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1079:1079 -> a
    325:424:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):1094:1193 -> a
    425:495:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):1201:1271 -> a
    496:523:void visitLdcInsn(java.lang.Object):1277:1304 -> a
    524:524:void visitLdcInsn(java.lang.Object):1298:1298 -> a
    525:530:void visitIincInsn(int,int):1311:1316 -> a
    531:543:void visitIincInsn(int,int):1314:1326 -> a
    544:553:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):1334:1343 -> a
    554:564:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):1348:1358 -> a
    565:585:void visitSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):1362:1382 -> a
    586:597:void visitMultiANewArrayInsn(java.lang.String,int):1388:1399 -> a
    598:598:void visitMultiANewArrayInsn(java.lang.String,int):1395:1395 -> a
    599:608:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):1408:1417 -> a
    609:617:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):1429:1437 -> a
    618:643:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):1463:1488 -> a
    644:664:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):1504:1524 -> a
    665:670:int visitFrameStart(int,int,int):1821:1826 -> a
    671:689:boolean canCopyMethodAttributes(com.android.tools.r8.org.objectweb.asm.ClassReader,boolean,boolean,int,int,int):2026:2044 -> a
    690:739:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2181:2230 -> a
    740:740:int com.android.tools.r8.org.objectweb.asm.Attribute.getAttributeCount():172:172 -> a
    740:740:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2231 -> a
    741:745:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2234:2238 -> a
    746:746:int com.android.tools.r8.org.objectweb.asm.Handler.getExceptionTableLength(com.android.tools.r8.org.objectweb.asm.Handler):163:163 -> a
    746:746:int com.android.tools.r8.org.objectweb.asm.Handler.getExceptionTableSize(com.android.tools.r8.org.objectweb.asm.Handler):176 -> a
    746:746:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2238 -> a
    747:792:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2240:2285 -> a
    793:793:int com.android.tools.r8.org.objectweb.asm.Handler.getExceptionTableLength(com.android.tools.r8.org.objectweb.asm.Handler):163:163 -> a
    793:793:void com.android.tools.r8.org.objectweb.asm.Handler.putExceptionTable(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.ByteVector):187 -> a
    793:793:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2285 -> a
    794:802:void com.android.tools.r8.org.objectweb.asm.Handler.putExceptionTable(com.android.tools.r8.org.objectweb.asm.Handler,com.android.tools.r8.org.objectweb.asm.ByteVector):187:195 -> a
    794:802:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2285 -> a
    803:809:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2286:2292 -> a
    810:810:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2291:2291 -> a
    811:841:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2290:2320 -> a
    842:847:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2319:2324 -> a
    848:878:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2323:2353 -> a
    879:892:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2349:2362 -> a
    893:915:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2358:2380 -> a
    916:924:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int,com.android.tools.r8.org.objectweb.asm.ByteVector):307:315 -> a
    916:924:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.ByteVector):279 -> a
    916:924:void putMethodInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):2380 -> a
    925:926:void collectAttributePrototypes(com.android.tools.r8.org.objectweb.asm.Attribute$Set):2390:2391 -> a
    void visitCode() -> b
    1:5:void visitParameter(java.lang.String,int):642:646 -> b
    6:23:void visitIntInsn(int,int):884:901 -> b
    24:24:void visitIntInsn(int,int):894:894 -> b
    25:30:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):1444:1449 -> b
    31:36:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1535:1540 -> b
    37:46:void putFrameType(java.lang.Object):1974:1983 -> b
    void visitEnd() -> c
    1:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):670:675 -> c
    7:21:void visitTypeInsn(int,java.lang.String):970:984 -> c
    22:22:void visitTypeInsn(int,java.lang.String):977:977 -> c
    23:23:void visitMaxs(int,int):1545:1545 -> c
    24:28:void com.android.tools.r8.org.objectweb.asm.MethodWriter.computeAllFrames():1560:1564 -> c
    24:28:void visitMaxs(int,int):1546 -> c
    29:29:int com.android.tools.r8.org.objectweb.asm.Frame.getAbstractTypeFromInternalName(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String):302:302 -> c
    29:29:void com.android.tools.r8.org.objectweb.asm.MethodWriter.computeAllFrames():1564 -> c
    29:29:void visitMaxs(int,int):1546 -> c
    30:108:void com.android.tools.r8.org.objectweb.asm.MethodWriter.computeAllFrames():1566:1644 -> c
    30:108:void visitMaxs(int,int):1546 -> c
    109:109:int com.android.tools.r8.org.objectweb.asm.Frame.getAbstractTypeFromInternalName(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String):302:302 -> c
    109:109:void com.android.tools.r8.org.objectweb.asm.MethodWriter.computeAllFrames():1645 -> c
    109:109:void visitMaxs(int,int):1546 -> c
    110:121:void com.android.tools.r8.org.objectweb.asm.MethodWriter.computeAllFrames():1645:1656 -> c
    110:121:void visitMaxs(int,int):1546 -> c
    122:223:void com.android.tools.r8.org.objectweb.asm.MethodWriter.computeMaxStackAndLocal():1662:1763 -> c
    122:223:void visitMaxs(int,int):1548 -> c
    224:227:void visitMaxs(int,int):1550:1553 -> c
    228:228:void addSuccessorToCurrentBasicBlock(int,com.android.tools.r8.org.objectweb.asm.Label):1782:1782 -> c
    1:31:void visitVarInsn(int,int):908:938 -> d
    32:70:void visitVarInsn(int,int):926:964 -> d
    71:86:int computeMethodInfoSize():2077:2092 -> d
    87:87:int com.android.tools.r8.org.objectweb.asm.Handler.getExceptionTableLength(com.android.tools.r8.org.objectweb.asm.Handler):163:163 -> d
    87:87:int com.android.tools.r8.org.objectweb.asm.Handler.getExceptionTableSize(com.android.tools.r8.org.objectweb.asm.Handler):176 -> d
    87:87:int computeMethodInfoSize():2092 -> d
    88:116:int computeMethodInfoSize():2093:2121 -> d
    117:178:int computeMethodInfoSize():2086:2147 -> d
    179:181:int com.android.tools.r8.org.objectweb.asm.AnnotationWriter.computeParameterAnnotationsSize(java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter[],int):498:500 -> d
    179:181:int computeMethodInfoSize():2143 -> d
    182:188:int computeMethodInfoSize():2150:2156 -> d
    189:191:int com.android.tools.r8.org.objectweb.asm.AnnotationWriter.computeParameterAnnotationsSize(java.lang.String,com.android.tools.r8.org.objectweb.asm.AnnotationWriter[],int):498:500 -> d
    189:191:int computeMethodInfoSize():2152 -> d
    192:202:int computeMethodInfoSize():2159:2169 -> d
    203:209:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int):219:225 -> d
    203:209:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable):191 -> d
    203:209:int computeMethodInfoSize():2169 -> d
    1:10:void endCurrentBasicBlockWithNoSuccessor():1794:1803 -> e
    11:11:void putAbstractTypes(int,int):1959:1959 -> e
    12:15:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1422:1425 -> e
    12:15:void putAbstractTypes(int,int):1959 -> e
    16:17:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1418:1419 -> e
    16:17:void putAbstractTypes(int,int):1959 -> e
    18:69:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1414:1465 -> e
    18:69:void putAbstractTypes(int,int):1959 -> e
    70:70:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1450:1450 -> e
    70:70:void putAbstractTypes(int,int):1959 -> e
    71:71:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1447:1447 -> e
    71:71:void putAbstractTypes(int,int):1959 -> e
    72:72:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1444:1444 -> e
    72:72:void putAbstractTypes(int,int):1959 -> e
    73:94:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1441:1462 -> e
    73:94:void putAbstractTypes(int,int):1959 -> e
    95:95:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1456:1456 -> e
    95:95:void putAbstractTypes(int,int):1959 -> e
    96:113:void com.android.tools.r8.org.objectweb.asm.Frame.putAbstractType(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,com.android.tools.r8.org.objectweb.asm.ByteVector):1453:1470 -> e
    96:113:void putAbstractTypes(int,int):1959 -> e
    1:1:boolean hasAsmInstructions():633:633 -> f
    2:3:void setMethodAttributesSource(int,int):2065:2066 -> f
    1:1:boolean hasFrames():629:629 -> g
    2:2:void visitAbstractType(int,int):1837:1837 -> g
    1:3:void visitFrameEnd():1846:1848 -> h
    4:90:void com.android.tools.r8.org.objectweb.asm.MethodWriter.putFrame():1859:1945 -> h
    4:90:void visitFrameEnd():1850 -> h
    91:94:void com.android.tools.r8.org.objectweb.asm.MethodWriter.putFrame():1935:1938 -> h
    91:94:void visitFrameEnd():1850 -> h
    95:100:void com.android.tools.r8.org.objectweb.asm.MethodWriter.putFrame():1927:1932 -> h
    95:100:void visitFrameEnd():1850 -> h
    101:104:void com.android.tools.r8.org.objectweb.asm.MethodWriter.putFrame():1921:1924 -> h
    101:104:void visitFrameEnd():1850 -> h
    105:106:void com.android.tools.r8.org.objectweb.asm.MethodWriter.putFrame():1917:1918 -> h
    105:106:void visitFrameEnd():1850 -> h
    107:107:void com.android.tools.r8.org.objectweb.asm.MethodWriter.putFrame():1914:1914 -> h
    107:107:void visitFrameEnd():1850 -> h
    108:111:void visitFrameEnd():1851:1854 -> h
com.android.tools.r8.org.objectweb.asm.ModuleVisitor -> com.android.tools.r8.internal.vF:
    com.android.tools.r8.org.objectweb.asm.ModuleVisitor mv -> a
    1:1:void <init>(int):57:57 -> <init>
    2:10:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):68:76 -> <init>
    11:11:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":94,"2":95,"3":96,"4":97,"5":98}}
    94:94:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):76:76 -> <init>
    95:95:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):76:76 -> <init>
    96:96:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):76:76 -> <init>
    97:97:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):76:76 -> <init>
    98:98:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):76:76 -> <init>
    87:93:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor):76:82 -> <init>
    1:2:void visitMainClass(java.lang.String):91:92 -> a
    3:4:void visitRequire(java.lang.String,int,java.lang.String):116:117 -> a
    5:6:void visitExport(java.lang.String,int,java.lang.String[]):131:132 -> a
    7:8:void visitProvide(java.lang.String,java.lang.String[]):171:172 -> a
    9:10:void visitEnd():181:182 -> a
    1:2:void visitPackage(java.lang.String):102:103 -> b
    3:4:void visitOpen(java.lang.String,int,java.lang.String[]):146:147 -> b
    1:2:void visitUse(java.lang.String):158:159 -> c
com.android.tools.r8.org.objectweb.asm.ModuleWriter -> com.android.tools.r8.internal.wF:
    com.android.tools.r8.org.objectweb.asm.ByteVector usesIndex -> m
    int providesCount -> n
    com.android.tools.r8.org.objectweb.asm.ByteVector opens -> k
    int usesCount -> l
    int opensCount -> j
    com.android.tools.r8.org.objectweb.asm.ByteVector packageIndex -> q
    int exportsCount -> h
    com.android.tools.r8.org.objectweb.asm.ByteVector provides -> o
    int requiresCount -> f
    int moduleFlags -> d
    int moduleVersionIndex -> e
    int moduleNameIndex -> c
    com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> b
    com.android.tools.r8.org.objectweb.asm.ByteVector exports -> i
    int mainClassIndex -> r
    com.android.tools.r8.org.objectweb.asm.ByteVector requires -> g
    int packageCount -> p
    1:11:void <init>(com.android.tools.r8.org.objectweb.asm.SymbolTable,int,int,int):97:107 -> <init>
    void visitEnd() -> a
    1:1:void visitMainClass(java.lang.String):112:112 -> a
    2:6:void visitRequire(java.lang.String,int,java.lang.String):123:127 -> a
    7:16:void visitExport(java.lang.String,int,java.lang.String[]):132:141 -> a
    17:22:void visitProvide(java.lang.String,java.lang.String[]):166:171 -> a
    23:52:void putAttributes(com.android.tools.r8.org.objectweb.asm.ByteVector):221:250 -> a
    1:2:void visitPackage(java.lang.String):117:118 -> b
    3:12:void visitOpen(java.lang.String,int,java.lang.String[]):146:155 -> b
    13:23:int computeAttributesSize():196:206 -> b
    1:2:void visitUse(java.lang.String):160:161 -> c
    3:3:int getAttributeCount():186:186 -> c
com.android.tools.r8.org.objectweb.asm.Opcodes -> com.android.tools.r8.internal.DK:
    java.lang.Integer FLOAT -> c
    java.lang.Integer DOUBLE -> d
    java.lang.Integer LONG -> e
    java.lang.Integer NULL -> f
    java.lang.Integer UNINITIALIZED_THIS -> g
    java.lang.Integer TOP -> a
    java.lang.Integer INTEGER -> b
    1:7:void <clinit>():392:398 -> <clinit>
com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor -> com.android.tools.r8.internal.gQ:
    com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor delegate -> a
    1:1:void <init>(int):57:57 -> <init>
    2:10:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):68:76 -> <init>
    11:11:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":94,"2":95,"3":96,"4":97,"5":98}}
    94:94:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):76:76 -> <init>
    95:95:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):76:76 -> <init>
    96:96:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):76:76 -> <init>
    97:97:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):76:76 -> <init>
    98:98:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):76:76 -> <init>
    87:93:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):76:82 -> <init>
    1:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):103:104 -> a
    3:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):126:127 -> a
    5:6:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):138:139 -> a
    7:8:void visitEnd():148:149 -> a
com.android.tools.r8.org.objectweb.asm.RecordComponentWriter -> com.android.tools.r8.internal.hQ:
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleTypeAnnotation -> h
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleTypeAnnotation -> i
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeVisibleAnnotation -> f
    com.android.tools.r8.org.objectweb.asm.AnnotationWriter lastRuntimeInvisibleAnnotation -> g
    com.android.tools.r8.org.objectweb.asm.Attribute firstAttribute -> j
    com.android.tools.r8.org.objectweb.asm.SymbolTable symbolTable -> b
    int descriptorIndex -> d
    int signatureIndex -> e
    int nameIndex -> c
    1:6:void <init>(com.android.tools.r8.org.objectweb.asm.SymbolTable,java.lang.String,java.lang.String,java.lang.String):97:102 -> <init>
    void visitEnd() -> a
    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):113:117 -> a
    6:11:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):125:130 -> a
    12:13:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):138:139 -> a
    14:33:void putRecordComponentInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):181:200 -> a
    34:34:int com.android.tools.r8.org.objectweb.asm.Attribute.getAttributeCount():172:172 -> a
    34:34:void putRecordComponentInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):201 -> a
    35:45:void putRecordComponentInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):203:213 -> a
    46:54:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int,com.android.tools.r8.org.objectweb.asm.ByteVector):307:315 -> a
    46:54:void com.android.tools.r8.org.objectweb.asm.Attribute.putAttributes(com.android.tools.r8.org.objectweb.asm.SymbolTable,com.android.tools.r8.org.objectweb.asm.ByteVector):279 -> a
    46:54:void putRecordComponentInfo(com.android.tools.r8.org.objectweb.asm.ByteVector):213 -> a
    55:55:void collectAttributePrototypes(com.android.tools.r8.org.objectweb.asm.Attribute$Set):223:223 -> a
    1:9:int computeRecordComponentInfoSize():161:169 -> b
    10:16:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable,byte[],int,int,int):219:225 -> b
    10:16:int com.android.tools.r8.org.objectweb.asm.Attribute.computeAttributesSize(com.android.tools.r8.org.objectweb.asm.SymbolTable):191 -> b
    10:16:int computeRecordComponentInfoSize():169 -> b
com.android.tools.r8.org.objectweb.asm.SymbolTable -> com.android.tools.r8.internal.OX:
    com.android.tools.r8.org.objectweb.asm.ClassWriter classWriter -> a
    int typeCount -> k
    int bootstrapMethodCount -> i
    com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry[] typeTable -> l
    int constantPoolCount -> g
    int entryCount -> e
    int majorVersion -> c
    com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry[] entries -> f
    com.android.tools.r8.org.objectweb.asm.ByteVector bootstrapMethods -> j
    com.android.tools.r8.org.objectweb.asm.ClassReader sourceClassReader -> b
    java.lang.String className -> d
    com.android.tools.r8.org.objectweb.asm.ByteVector constantPool -> h
    1:6:void <init>(com.android.tools.r8.org.objectweb.asm.ClassWriter):121:126 -> <init>
    1:3:int computeBootstrapMethodsSize():358:360 -> a
    4:9:void putBootstrapMethods(com.android.tools.r8.org.objectweb.asm.ByteVector):373:378 -> a
    10:29:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry put(com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry):407:426 -> a
    30:31:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):457:458 -> a
    32:32:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantInteger(int):615:615 -> a
    32:32:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):458 -> a
    33:34:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):459:460 -> a
    35:35:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantInteger(int):615:615 -> a
    35:35:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):460 -> a
    36:37:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):461:462 -> a
    38:38:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantInteger(int):615:615 -> a
    38:38:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):462 -> a
    39:40:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):463:464 -> a
    41:41:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantInteger(int):615:615 -> a
    41:41:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):464 -> a
    42:43:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):465:466 -> a
    44:44:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantInteger(int):615:615 -> a
    44:44:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):466 -> a
    45:48:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):467:470 -> a
    49:49:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantLong(long):670:670 -> a
    49:49:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):470 -> a
    50:53:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):471:474 -> a
    54:54:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantString(java.lang.String):604:604 -> a
    54:54:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):474 -> a
    55:59:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):475:479 -> a
    60:60:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantClass(java.lang.String):513:513 -> a
    60:60:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):479 -> a
    61:61:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):481:481 -> a
    62:62:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantMethodType(java.lang.String):865:865 -> a
    62:62:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):481 -> a
    63:63:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):483:483 -> a
    64:64:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantClass(java.lang.String):513:513 -> a
    64:64:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):483 -> a
    65:72:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):485:492 -> a
    73:85:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):487:499 -> a
    86:87:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantDynamic(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):884:885 -> a
    86:87:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):495 -> a
    88:88:com.android.tools.r8.org.objectweb.asm.Symbol addConstant(java.lang.Object):501:501 -> a
    89:89:com.android.tools.r8.org.objectweb.asm.Symbol addConstantClass(java.lang.String):513:513 -> a
    90:90:com.android.tools.r8.org.objectweb.asm.Symbol addConstantFieldref(java.lang.String,java.lang.String,java.lang.String):526:526 -> a
    91:91:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodref(java.lang.String,java.lang.String,java.lang.String,boolean):542:542 -> a
    92:92:com.android.tools.r8.org.objectweb.asm.Symbol addConstantInteger(int):615:615 -> a
    93:93:com.android.tools.r8.org.objectweb.asm.Symbol addConstantFloat(float):626:626 -> a
    94:102:com.android.tools.r8.org.objectweb.asm.Symbol addConstantIntegerOrFloat(int,int):639:647 -> a
    103:103:com.android.tools.r8.org.objectweb.asm.Symbol addConstantLong(long):670:670 -> a
    104:104:com.android.tools.r8.org.objectweb.asm.Symbol addConstantDouble(double):681:681 -> a
    105:115:com.android.tools.r8.org.objectweb.asm.Symbol addConstantLongOrDouble(int,long):694:704 -> a
    116:117:com.android.tools.r8.org.objectweb.asm.Symbol addConstantInvokeDynamic(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):905:906 -> a
    118:143:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1040:1065 -> a
    144:144:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1060:1060 -> a
    145:163:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1059:1077 -> a
    164:183:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addBootstrapMethod(int,int,int):1096:1115 -> a
    164:183:com.android.tools.r8.org.objectweb.asm.Symbol addBootstrapMethod(com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):1082 -> a
    184:184:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String):1241:1241 -> a
    184:184:com.android.tools.r8.org.objectweb.asm.Symbol addConstantUtf8Reference(int,java.lang.String):999 -> a
    185:193:com.android.tools.r8.org.objectweb.asm.Symbol addConstantUtf8Reference(int,java.lang.String):1000:1008 -> a
    194:194:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String,java.lang.String):1249:1249 -> a
    194:194:int addConstantNameAndType(java.lang.String,java.lang.String):729 -> a
    195:206:int addConstantNameAndType(java.lang.String,java.lang.String):730:741 -> a
    207:207:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String,java.lang.String,int):1254:1254 -> a
    207:207:com.android.tools.r8.org.objectweb.asm.Symbol addConstantDynamicOrInvokeDynamicReference(int,java.lang.String,java.lang.String,int):924 -> a
    208:220:com.android.tools.r8.org.objectweb.asm.Symbol addConstantDynamicOrInvokeDynamicReference(int,java.lang.String,java.lang.String,int):925:937 -> a
    221:221:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String,java.lang.String,java.lang.String):1259:1259 -> a
    221:221:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):559 -> a
    222:233:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):560:571 -> a
    234:234:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantClass(java.lang.String):513:513 -> a
    234:234:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):572 -> a
    235:235:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):572:572 -> a
    236:238:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry addConstantMemberReference(int,java.lang.String,java.lang.String,java.lang.String):571:573 -> a
    239:239:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String,java.lang.String,java.lang.String,int):1268:1268 -> a
    239:239:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):811 -> a
    240:253:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):812:825 -> a
    254:254:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantFieldref(java.lang.String,java.lang.String,java.lang.String):526:526 -> a
    254:254:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):825 -> a
    255:257:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):825:827 -> a
    258:258:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantMethodref(java.lang.String,java.lang.String,java.lang.String,boolean):542:542 -> a
    258:258:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):828 -> a
    259:259:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):828:828 -> a
    260:263:com.android.tools.r8.org.objectweb.asm.Symbol addConstantMethodHandle(int,java.lang.String,java.lang.String,java.lang.String,boolean):827:830 -> a
    1:1:java.lang.String getClassName():306:306 -> b
    2:2:void putConstantPool(com.android.tools.r8.org.objectweb.asm.ByteVector):348:348 -> b
    3:3:com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry get(int):394:394 -> b
    4:4:com.android.tools.r8.org.objectweb.asm.Symbol addConstantModule(java.lang.String):972:972 -> b
    5:14:int addMergedType(int,int):1193:1202 -> b
    15:15:java.lang.ClassLoader com.android.tools.r8.org.objectweb.asm.ClassWriter.getClassLoader():1051:1051 -> b
    15:15:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1014 -> b
    15:15:int addMergedType(int,int):1202 -> b
    16:38:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1017:1039 -> b
    16:38:int addMergedType(int,int):1202 -> b
    39:39:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1034:1034 -> b
    39:39:int addMergedType(int,int):1202 -> b
    40:41:int addMergedType(int,int):1202:1203 -> b
    42:42:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1025:1025 -> b
    42:42:int addMergedType(int,int):1202 -> b
    43:43:java.lang.String com.android.tools.r8.org.objectweb.asm.ClassWriter.getCommonSuperClass(java.lang.String,java.lang.String):1019:1019 -> b
    43:43:int addMergedType(int,int):1202 -> b
    44:44:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String,int):1245:1245 -> b
    44:44:int addUninitializedType(java.lang.String,int):1161 -> b
    45:55:int addUninitializedType(java.lang.String,int):1162:1172 -> b
    56:65:int com.android.tools.r8.org.objectweb.asm.SymbolTable.addTypeInternal(com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry):1216:1225 -> b
    56:65:int addUninitializedType(java.lang.String,int):1172 -> b
    1:2:int setMajorVersionAndClassName(int,java.lang.String):318:319 -> c
    3:3:com.android.tools.r8.org.objectweb.asm.Symbol com.android.tools.r8.org.objectweb.asm.SymbolTable.addConstantClass(java.lang.String):513:513 -> c
    3:3:int setMajorVersionAndClassName(int,java.lang.String):320 -> c
    4:4:int setMajorVersionAndClassName(int,java.lang.String):320:320 -> c
    5:5:int getConstantPoolCount():329:329 -> c
    6:6:com.android.tools.r8.org.objectweb.asm.Symbol addConstantPackage(java.lang.String):983:983 -> c
    7:7:com.android.tools.r8.org.objectweb.asm.Symbol getType(int):1129:1129 -> c
    1:1:int getConstantPoolLength():338:338 -> d
    2:2:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String):1241:1241 -> d
    2:2:int addConstantUtf8(java.lang.String):764 -> d
    3:13:int addConstantUtf8(java.lang.String):765:775 -> d
    1:1:int getMajorVersion():297:297 -> e
    2:2:int com.android.tools.r8.org.objectweb.asm.SymbolTable.hash(int,java.lang.String):1241:1241 -> e
    2:2:int addType(java.lang.String):1140 -> e
    3:10:int addType(java.lang.String):1141:1148 -> e
    11:20:int com.android.tools.r8.org.objectweb.asm.SymbolTable.addTypeInternal(com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry):1216:1225 -> e
    11:20:int addType(java.lang.String):1148 -> e
    1:1:com.android.tools.r8.org.objectweb.asm.ClassReader getSource():288:288 -> f
com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry -> com.android.tools.r8.internal.NX:
    long com.android.tools.r8.org.objectweb.asm.Symbol.data -> f
    int hashCode -> h
    int com.android.tools.r8.org.objectweb.asm.Symbol.info -> g
    int com.android.tools.r8.org.objectweb.asm.Symbol.tag -> b
    java.lang.String com.android.tools.r8.org.objectweb.asm.Symbol.owner -> c
    com.android.tools.r8.org.objectweb.asm.SymbolTable$Entry next -> i
    java.lang.String com.android.tools.r8.org.objectweb.asm.Symbol.value -> e
    int com.android.tools.r8.org.objectweb.asm.Symbol.index -> a
    java.lang.String com.android.tools.r8.org.objectweb.asm.Symbol.name -> d
    1:7:void com.android.tools.r8.org.objectweb.asm.Symbol.<init>(int,int,java.lang.String,java.lang.String,java.lang.String,long):220:226 -> <init>
    1:7:void <init>(int,int,long,int):1318 -> <init>
    8:8:void <init>(int,int,long,int):1319:1319 -> <init>
    9:15:void com.android.tools.r8.org.objectweb.asm.Symbol.<init>(int,int,java.lang.String,java.lang.String,java.lang.String,long):220:226 -> <init>
    9:15:void <init>(int,int,java.lang.String,java.lang.String,int):1313 -> <init>
    16:16:void <init>(int,int,java.lang.String,java.lang.String,int):1314:1314 -> <init>
    17:23:void com.android.tools.r8.org.objectweb.asm.Symbol.<init>(int,int,java.lang.String,java.lang.String,java.lang.String,long):220:226 -> <init>
    17:23:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,long,int):1297 -> <init>
    24:24:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,long,int):1298:1298 -> <init>
    25:31:void com.android.tools.r8.org.objectweb.asm.Symbol.<init>(int,int,java.lang.String,java.lang.String,java.lang.String,long):220:226 -> <init>
    25:31:void <init>(int,int,java.lang.String,int):1302 -> <init>
    32:32:void <init>(int,int,java.lang.String,int):1303:1303 -> <init>
    33:39:void com.android.tools.r8.org.objectweb.asm.Symbol.<init>(int,int,java.lang.String,java.lang.String,java.lang.String,long):220:226 -> <init>
    33:39:void <init>(int,int,java.lang.String,long,int):1307 -> <init>
    40:40:void <init>(int,int,java.lang.String,long,int):1308:1308 -> <init>
com.android.tools.r8.org.objectweb.asm.Type -> com.android.tools.r8.internal.lZ:
    com.android.tools.r8.org.objectweb.asm.Type FLOAT_TYPE -> k
    com.android.tools.r8.org.objectweb.asm.Type INT_TYPE -> j
    com.android.tools.r8.org.objectweb.asm.Type DOUBLE_TYPE -> m
    com.android.tools.r8.org.objectweb.asm.Type LONG_TYPE -> l
    int valueEnd -> d
    int valueBegin -> c
    int sort -> a
    com.android.tools.r8.org.objectweb.asm.Type VOID_TYPE -> e
    com.android.tools.r8.org.objectweb.asm.Type CHAR_TYPE -> g
    java.lang.String valueBuffer -> b
    com.android.tools.r8.org.objectweb.asm.Type BOOLEAN_TYPE -> f
    com.android.tools.r8.org.objectweb.asm.Type SHORT_TYPE -> i
    com.android.tools.r8.org.objectweb.asm.Type BYTE_TYPE -> h
    1:26:void <clinit>():85:110 -> <clinit>
    1:5:void <init>(int,java.lang.String,int,int):159:163 -> <init>
    1:30:com.android.tools.r8.org.objectweb.asm.Type[] getArgumentTypes(java.lang.String):302:331 -> a
    31:57:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):417:443 -> a
    58:58:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):437:437 -> a
    59:59:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):421:421 -> a
    60:80:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):419:439 -> a
    81:81:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):433:433 -> a
    82:88:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):429:435 -> a
    89:107:com.android.tools.r8.org.objectweb.asm.Type getTypeInternal(java.lang.String,int,int):423:441 -> a
    108:137:java.lang.String getClassName():458:487 -> a
    138:138:java.lang.String getClassName():485:485 -> a
    139:139:java.lang.String getClassName():478:478 -> a
    140:140:int com.android.tools.r8.org.objectweb.asm.Type.getDimensions():671:671 -> a
    140:140:com.android.tools.r8.org.objectweb.asm.Type com.android.tools.r8.org.objectweb.asm.Type.getElementType():241 -> a
    140:140:java.lang.String getClassName():478 -> a
    141:141:com.android.tools.r8.org.objectweb.asm.Type com.android.tools.r8.org.objectweb.asm.Type.getElementType():242:242 -> a
    141:141:java.lang.String getClassName():478 -> a
    142:142:java.lang.String getClassName():478:478 -> a
    143:143:int com.android.tools.r8.org.objectweb.asm.Type.getDimensions():671:671 -> a
    143:143:java.lang.String getClassName():479 -> a
    144:146:java.lang.String getClassName():480:482 -> a
    147:147:java.lang.String getClassName():476:476 -> a
    148:148:java.lang.String getClassName():474:474 -> a
    149:149:java.lang.String getClassName():472:472 -> a
    150:150:java.lang.String getClassName():470:470 -> a
    151:151:java.lang.String getClassName():468:468 -> a
    152:152:java.lang.String getClassName():466:466 -> a
    153:153:java.lang.String getClassName():464:464 -> a
    154:154:java.lang.String getClassName():462:462 -> a
    155:155:java.lang.String getClassName():460:460 -> a
    1:6:java.lang.String getDescriptor():519:524 -> b
    7:26:int getArgumentsAndReturnSizes(java.lang.String):731:750 -> b
    1:1:com.android.tools.r8.org.objectweb.asm.Type getMethodType(java.lang.String):264:264 -> c
    2:2:java.lang.String getInternalName():499:499 -> c
    1:2:com.android.tools.r8.org.objectweb.asm.Type getObjectType(java.lang.String):252:253 -> d
    3:20:int getSize():684:701 -> d
    1:8:int com.android.tools.r8.org.objectweb.asm.Type.getReturnTypeOffset(java.lang.String):392:399 -> e
    1:8:com.android.tools.r8.org.objectweb.asm.Type getReturnType(java.lang.String):369 -> e
    9:9:com.android.tools.r8.org.objectweb.asm.Type getReturnType(java.lang.String):369:369 -> e
    10:10:com.android.tools.r8.org.objectweb.asm.Type getReturnType(java.lang.String):368:368 -> e
    11:11:int getSort():660:660 -> e
    1:17:boolean equals(java.lang.Object):847:863 -> equals
    1:1:com.android.tools.r8.org.objectweb.asm.Type getType(java.lang.String):177:177 -> f
    1:4:int hashCode():877:880 -> hashCode
    1:1:java.lang.String toString():893:893 -> toString
com.android.tools.r8.org.objectweb.asm.TypePath -> com.android.tools.r8.internal.k00:
    byte[] typePathContainer -> a
    int typePathOffset -> b
    1:3:void <init>(byte[],int):72:74 -> <init>
    1:4:void put(com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.ByteVector):195:198 -> a
    1:1:int com.android.tools.r8.org.objectweb.asm.TypePath.getLength():84:84 -> toString
    1:1:java.lang.String toString():163 -> toString
    2:2:java.lang.String toString():164:164 -> toString
    3:3:int com.android.tools.r8.org.objectweb.asm.TypePath.getStep(int):96:96 -> toString
    3:3:java.lang.String toString():166 -> toString
    4:4:java.lang.String toString():180:180 -> toString
    5:5:int com.android.tools.r8.org.objectweb.asm.TypePath.getStepArgument(int):108:108 -> toString
    5:5:java.lang.String toString():177 -> toString
    6:6:java.lang.String toString():177:177 -> toString
    7:7:java.lang.String toString():174:174 -> toString
    8:8:java.lang.String toString():171:171 -> toString
    9:24:java.lang.String toString():168:183 -> toString
com.android.tools.r8.org.objectweb.asm.TypeReference -> com.android.tools.r8.internal.l00:
    int targetTypeAndInfo -> a
    1:2:void <init>(int):193:194 -> <init>
    1:1:int getExceptionIndex():359:359 -> a
    1:1:int getFormalParameterIndex():348:348 -> b
    1:1:int getSort():303:303 -> c
    1:1:int getSuperTypeIndex():338:338 -> d
    1:1:int getTryCatchBlockIndex():370:370 -> e
    1:1:int getTypeArgumentIndex():382:382 -> f
    1:1:int getTypeParameterBoundIndex():327:327 -> g
    1:1:int getTypeParameterIndex():315:315 -> h
com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter -> com.android.tools.r8.internal.rv:
    java.util.BitSet mainSubroutineInsns -> F
    java.util.BitSet sharedSubroutineInsns -> H
    java.util.Map subroutinesInsns -> G
    1:1:void <init>(com.android.tools.r8.org.objectweb.asm.MethodVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):101:101 -> <init>
    2:2:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):137:137 -> <init>
    3:76:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):65:138 -> <init>
    1:4:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):143:146 -> a
    5:27:void findReachableInsns(int,java.util.BitSet,java.util.BitSet):239:261 -> a
    28:36:void findReachableInsns(int,java.util.BitSet,java.util.BitSet):260:268 -> a
    37:45:void findReachableInsns(int,java.util.BitSet,java.util.BitSet):267:275 -> a
    1:1:void visitEnd():152:152 -> c
    2:3:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.findSubroutinesInsns():165:166 -> c
    2:3:void visitEnd():154 -> c
    4:23:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.findSubroutineInsns(int,java.util.BitSet,java.util.BitSet):189:208 -> c
    4:23:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.findSubroutinesInsns():166 -> c
    4:23:void visitEnd():154 -> c
    24:27:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.findSubroutinesInsns():168:171 -> c
    24:27:void visitEnd():154 -> c
    28:47:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.findSubroutineInsns(int,java.util.BitSet,java.util.BitSet):189:208 -> c
    28:47:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.findSubroutinesInsns():171 -> c
    28:47:void visitEnd():154 -> c
    48:57:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():302:311 -> c
    48:57:void visitEnd():155 -> c
    58:62:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):340:344 -> c
    58:62:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    58:62:void visitEnd():155 -> c
    63:63:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabel(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):546:546 -> c
    63:63:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):345 -> c
    63:63:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    63:63:void visitEnd():155 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    64:64:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabel(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):546:546 -> c
    64:64:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):345 -> c
    64:64:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    64:64:void visitEnd():155 -> c
    65:83:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):347:365 -> c
    65:83:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    65:83:void visitEnd():155 -> c
    84:95:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):363:374 -> c
    84:95:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    84:95:void visitEnd():155 -> c
    96:96:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):371:371 -> c
    96:96:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    96:96:void visitEnd():155 -> c
    97:97:void visitEnd():0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":147,"2":148,"3":149,"4":150,"5":151,"6":152}}
    147:147:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):371:371 -> c
    147:147:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    147:147:void visitEnd():155 -> c
    148:148:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):371:371 -> c
    148:148:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    148:148:void visitEnd():155 -> c
    149:149:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):371:371 -> c
    149:149:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    149:149:void visitEnd():155 -> c
    150:150:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):371:371 -> c
    150:150:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    150:150:void visitEnd():155 -> c
    151:151:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):371:371 -> c
    151:151:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    151:151:void visitEnd():155 -> c
    152:152:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):371:371 -> c
    152:152:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    152:152:void visitEnd():155 -> c
    98:105:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):371:378 -> c
    98:105:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    98:105:void visitEnd():155 -> c
    106:106:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabelForJumpInsn(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):534:534 -> c
    106:106:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):379 -> c
    106:106:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    106:106:void visitEnd():155 -> c
    107:120:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):384:397 -> c
    107:120:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    107:120:void visitEnd():155 -> c
    121:121:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabel(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):546:546 -> c
    121:121:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):397 -> c
    121:121:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    121:121:void visitEnd():155 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    122:122:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabel(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):546:546 -> c
    122:122:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):397 -> c
    122:122:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    122:122:void visitEnd():155 -> c
    123:123:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):398:398 -> c
    123:123:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    123:123:void visitEnd():155 -> c
    124:124:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabel(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):546:546 -> c
    124:124:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):398 -> c
    124:124:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    124:124:void visitEnd():155 -> c
    125:125:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):400:400 -> c
    125:125:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    125:125:void visitEnd():155 -> c
    126:126:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabelForJumpInsn(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):534:534 -> c
    126:126:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):401 -> c
    126:126:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    126:126:void visitEnd():155 -> c
    127:127:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):405:405 -> c
    127:127:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    127:127:void visitEnd():155 -> c
    128:136:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):403:411 -> c
    128:136:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    128:136:void visitEnd():155 -> c
    137:137:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabel(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):546:546 -> c
    137:137:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):411 -> c
    137:137:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    137:137:void visitEnd():155 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    138:138:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabel(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):546:546 -> c
    138:138:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):411 -> c
    138:138:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    138:138:void visitEnd():155 -> c
    139:139:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):412:412 -> c
    139:139:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    139:139:void visitEnd():155 -> c
    140:140:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabel(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):546:546 -> c
    140:140:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):412 -> c
    140:140:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    140:140:void visitEnd():155 -> c
    141:141:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitInstantiation(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.List,com.android.tools.r8.org.objectweb.asm.tree.InsnList,java.util.List,java.util.List):414:414 -> c
    141:141:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():312 -> c
    141:141:void visitEnd():155 -> c
    142:144:void com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter.emitCode():315:317 -> c
    142:144:void visitEnd():155 -> c
    145:146:void visitEnd():157:158 -> c
com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation -> com.android.tools.r8.internal.qv:
    java.util.Map clonedLabels -> d
    java.util.BitSet subroutineInsns -> c
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode returnLabel -> e
    com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter this$0 -> f
    com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation parent -> b
    1:5:void <init>(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter,com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.BitSet):454:458 -> <init>
    6:29:void <init>(com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter,com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation,java.util.BitSet):457:480 -> <init>
    1:11:com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation findOwner(int):507:517 -> a
    12:12:com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation findOwner(int):516:516 -> a
    1:1:java.util.Set entrySet():553:553 -> entrySet
    1:1:boolean equals(java.lang.Object):563:563 -> equals
    1:1:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.get(java.lang.Object):558:558 -> get
    1:1:java.lang.Object get(java.lang.Object):427 -> get
    2:2:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.getClonedLabelForJumpInsn(com.android.tools.r8.org.objectweb.asm.tree.LabelNode):534:534 -> get
    2:2:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.commons.JSRInlinerAdapter$Instantiation.get(java.lang.Object):558 -> get
    2:2:java.lang.Object get(java.lang.Object):427 -> get
    1:1:int hashCode():568:568 -> hashCode
com.android.tools.r8.org.objectweb.asm.signature.SignatureReader -> com.android.tools.r8.internal.CU:
    java.lang.String signatureValue -> a
    1:2:void <init>(java.lang.String):49:50 -> <init>
    1:17:void accept(com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):64:80 -> a
    18:63:void accept(com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):79:124 -> a
    64:159:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):154:249 -> a
    160:227:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):173:240 -> a
    228:228:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):236:236 -> a
    229:229:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):235:235 -> a
    230:230:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):229:229 -> a
    231:241:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):196:206 -> a
    242:242:int parseType(java.lang.String,int,com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor):168:168 -> a
com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor -> com.android.tools.r8.internal.DU:
    1:1:void <init>(int):74:74 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode -> com.android.tools.r8.internal.w:
    java.util.List visibleTypeAnnotations -> b
    java.util.List invisibleTypeAnnotations -> c
    int index -> f
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode previousInsn -> d
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode nextInsn -> e
    int opcode -> a
    1:3:void <init>(int):126:128 -> <init>
    void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor) -> a
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map) -> a
    1:1:int getOpcode():137:137 -> a
    2:21:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode cloneAnnotations(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):241:260 -> a
    int getType() -> b
    1:5:void acceptAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor):180:184 -> b
    6:15:void acceptAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor):183:192 -> b
    16:16:void acceptAnnotations(com.android.tools.r8.org.objectweb.asm.MethodVisitor):191:191 -> b
com.android.tools.r8.org.objectweb.asm.tree.AnnotationNode -> com.android.tools.r8.internal.b2:
    java.util.List values -> c
    java.lang.String desc -> b
    1:3:void <init>(java.lang.String):63:65 -> <init>
    4:5:void <init>(int,java.lang.String):78:79 -> <init>
    6:7:void <init>(java.util.List):88:89 -> <init>
    void visitEnd() -> a
    1:8:void visit(java.lang.String,java.lang.Object):98:105 -> a
    9:13:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(byte[]):70:74 -> a
    9:13:void visit(java.lang.String,java.lang.Object):105 -> a
    14:16:void visit(java.lang.String,java.lang.Object):105:107 -> a
    17:21:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(boolean[]):81:85 -> a
    17:21:void visit(java.lang.String,java.lang.Object):107 -> a
    22:24:void visit(java.lang.String,java.lang.Object):107:109 -> a
    25:29:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(short[]):92:96 -> a
    25:29:void visit(java.lang.String,java.lang.Object):109 -> a
    30:32:void visit(java.lang.String,java.lang.Object):109:111 -> a
    33:37:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(char[]):103:107 -> a
    33:37:void visit(java.lang.String,java.lang.Object):111 -> a
    38:42:void visit(java.lang.String,java.lang.Object):111:115 -> a
    43:47:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(long[]):136:140 -> a
    43:47:void visit(java.lang.String,java.lang.Object):115 -> a
    48:50:void visit(java.lang.String,java.lang.Object):115:117 -> a
    51:55:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(float[]):125:129 -> a
    51:55:void visit(java.lang.String,java.lang.Object):117 -> a
    56:58:void visit(java.lang.String,java.lang.Object):117:119 -> a
    59:63:java.util.List com.android.tools.r8.org.objectweb.asm.tree.Util.asArrayList(double[]):147:151 -> a
    59:63:void visit(java.lang.String,java.lang.Object):119 -> a
    64:66:void visit(java.lang.String,java.lang.Object):119:121 -> a
    67:73:void visitEnum(java.lang.String,java.lang.String,java.lang.String):127:133 -> a
    74:81:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):138:145 -> a
    82:90:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):151:159 -> a
    91:98:void accept(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):190:197 -> a
    99:115:void accept(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,java.lang.String,java.lang.Object):211:227 -> a
com.android.tools.r8.org.objectweb.asm.tree.ClassNode -> com.android.tools.r8.internal.xa:
    java.util.List invisibleTypeAnnotations -> f
    java.util.List visibleTypeAnnotations -> e
    java.util.List invisibleAnnotations -> d
    java.util.List visibleAnnotations -> c
    java.util.List permittedSubclasses -> j
    java.util.List nestMembers -> i
    java.util.List innerClasses -> h
    java.util.List attrs -> g
    java.util.List methods -> m
    java.util.List fields -> l
    java.util.List recordComponents -> k
    1:5:void <init>(int):163:167 -> <init>
    void visitEnd() -> a
    void visitNestHost(java.lang.String) -> a
    void visitOuterClass(java.lang.String,java.lang.String,java.lang.String) -> a
    void visitSource(java.lang.String,java.lang.String) -> a
    1:1:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):187:187 -> a
    2:2:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):198:198 -> a
    3:7:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):216:220 -> a
    8:12:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):228:232 -> a
    13:13:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):239:239 -> a
    14:15:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):255:256 -> a
    16:16:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):274:274 -> a
    17:17:void com.android.tools.r8.org.objectweb.asm.tree.FieldNode.<init>(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):102:102 -> a
    17:17:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):274 -> a
    18:18:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):275:275 -> a
    19:19:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):286:286 -> a
    20:20:void com.android.tools.r8.org.objectweb.asm.tree.MethodNode.<init>(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):195:195 -> a
    20:20:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):286 -> a
    21:21:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):287:287 -> a
    1:1:void visitNestMember(java.lang.String):244:244 -> b
    2:2:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):262:262 -> b
    3:3:void com.android.tools.r8.org.objectweb.asm.tree.RecordComponentNode.<init>(java.lang.String,java.lang.String,java.lang.String):79:79 -> b
    3:3:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):262 -> b
    4:4:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):263:263 -> b
    1:1:void visitPermittedSubclass(java.lang.String):249:249 -> c
com.android.tools.r8.org.objectweb.asm.tree.FieldInsnNode -> com.android.tools.r8.internal.Qj:
    java.lang.String owner -> g
    java.lang.String desc -> i
    java.lang.String name -> h
    1:4:void <init>(int,java.lang.String,java.lang.String,java.lang.String):65:68 -> <init>
    1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):88:89 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):94:94 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.FieldNode -> com.android.tools.r8.internal.Yj:
    java.util.List visibleTypeAnnotations -> f
    java.util.List invisibleAnnotations -> e
    java.util.List visibleAnnotations -> d
    java.lang.Object value -> c
    java.util.List attrs -> h
    java.util.List invisibleTypeAnnotations -> g
    1:6:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):130:135 -> <init>
    void visitEnd() -> a
    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):144:148 -> a
    6:10:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):156:160 -> a
    11:11:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):167:167 -> a
com.android.tools.r8.org.objectweb.asm.tree.FrameNode -> com.android.tools.r8.internal.hl:
    int type -> g
    java.util.List stack -> i
    java.util.List local -> h
    1:1:void <init>():73:73 -> <init>
    2:22:void <init>(int,int,java.lang.Object[],int,java.lang.Object[]):97:117 -> <init>
    23:23:void <init>(int,int,java.lang.Object[],int,java.lang.Object[]):114:114 -> <init>
    24:24:void <init>(int,int,java.lang.Object[],int,java.lang.Object[]):109:109 -> <init>
    25:25:void <init>(int,int,java.lang.Object[],int,java.lang.Object[]):106:106 -> <init>
    26:27:void <init>(int,int,java.lang.Object[],int,java.lang.Object[]):102:103 -> <init>
    1:19:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):128:146 -> a
    20:20:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):143:143 -> a
    21:21:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):140:140 -> a
    22:22:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):137:137 -> a
    23:23:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):134:134 -> a
    24:24:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):131:131 -> a
    25:44:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):152:171 -> a
    45:51:java.lang.Object[] asArray(java.util.List):178:184 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.IincInsnNode -> com.android.tools.r8.internal.Un:
    int incr -> h
    int var -> g
    1:3:void <init>(int,int):54:56 -> <init>
    1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):66:67 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72:72 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.InnerClassNode -> com.android.tools.r8.internal.Np:
    1:1:void <init>(java.lang.String,java.lang.String,java.lang.String,int):70:70 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.InsnList -> com.android.tools.r8.internal.Pp:
    int size -> b
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode lastInsn -> d
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode[] cache -> e
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode firstInsn -> c
    1:1:void <init>():38:38 -> <init>
    1:1:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode getFirst():70:70 -> a
    2:5:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):142:145 -> a
    6:16:void add(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):226:236 -> a
    17:28:void insert(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):314:325 -> a
    1:1:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode getLast():79:79 -> b
    2:5:int indexOf(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):130:133 -> b
    6:17:void insertBefore(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):364:375 -> b
    1:24:void set(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):194:217 -> c
    25:48:void remove(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):412:435 -> c
    49:54:void resetLabels():470:475 -> c
    1:6:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode[] toArray():177:182 -> d
    1:7:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode get(int):93:99 -> h
    8:8:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode get(int):94:94 -> h
    1:1:java.util.ListIterator com.android.tools.r8.org.objectweb.asm.tree.InsnList.iterator(int):167:167 -> iterator
    1:1:java.util.ListIterator com.android.tools.r8.org.objectweb.asm.tree.InsnList.iterator():156 -> iterator
    1:1:java.util.Iterator iterator():38 -> iterator
    1:1:int size():61:61 -> size
com.android.tools.r8.org.objectweb.asm.tree.InsnList$InsnListIterator -> com.android.tools.r8.internal.Op:
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode remove -> d
    com.android.tools.r8.org.objectweb.asm.tree.InsnList this$0 -> e
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode nextInsn -> b
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode previousInsn -> c
    1:14:void <init>(com.android.tools.r8.org.objectweb.asm.tree.InsnList,int):489:502 -> <init>
    15:15:void <init>(com.android.tools.r8.org.objectweb.asm.tree.InsnList,int):491:491 -> <init>
    1:9:void add(java.lang.Object):579:587 -> add
    1:1:boolean hasNext():508:508 -> hasNext
    1:1:boolean hasPrevious():540:540 -> hasPrevious
    1:7:java.lang.Object next():513:519 -> next
    8:8:java.lang.Object next():514:514 -> next
    1:7:int nextIndex():557:563 -> nextIndex
    1:7:java.lang.Object previous():545:551 -> previous
    8:8:java.lang.Object previous():546:546 -> previous
    1:7:int previousIndex():568:574 -> previousIndex
    1:10:void remove():525:534 -> remove
    1:9:void set(java.lang.Object):592:600 -> set
com.android.tools.r8.org.objectweb.asm.tree.InsnNode -> com.android.tools.r8.internal.Qp:
    1:1:void <init>(int):55:55 -> <init>
    1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):65:66 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):71:71 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.IntInsnNode -> com.android.tools.r8.internal.lt:
    int operand -> g
    1:2:void <init>(int,int):51:52 -> <init>
    1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):71:72 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):77:77 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.InvokeDynamicInsnNode -> com.android.tools.r8.internal.Cu:
    java.lang.String name -> g
    java.lang.String desc -> h
    com.android.tools.r8.org.objectweb.asm.Handle bsm -> i
    java.lang.Object[] bsmArgs -> j
    1:5:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):70:74 -> <init>
    1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):84:85 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90:90 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.JumpInsnNode -> com.android.tools.r8.internal.Zv:
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode label -> g
    1:2:void <init>(int,com.android.tools.r8.org.objectweb.asm.tree.LabelNode):57:58 -> <init>
    1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):79:80 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):85:85 -> a
    4:4:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.clone(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,java.util.Map):215:215 -> a
    4:4:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):85 -> a
    5:5:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):85:85 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.LabelNode -> com.android.tools.r8.internal.yA:
    com.android.tools.r8.org.objectweb.asm.Label value -> g
    1:1:void <init>():40:40 -> <init>
    1:1:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):68:68 -> a
    2:2:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):73:73 -> a
    int getType() -> b
    1:4:com.android.tools.r8.org.objectweb.asm.Label getLabel():60:63 -> c
    1:1:void resetLabel():77:77 -> d
com.android.tools.r8.org.objectweb.asm.tree.LdcInsnNode -> com.android.tools.r8.internal.ZA:
    java.lang.Object cst -> g
    1:2:void <init>(java.lang.Object):64:65 -> <init>
    1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):75:76 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):81:81 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.LineNumberNode -> com.android.tools.r8.internal.HB:
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode start -> h
    int line -> g
    1:3:void <init>(int,com.android.tools.r8.org.objectweb.asm.tree.LabelNode):55:57 -> <init>
    1:1:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):67:67 -> a
    2:2:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72:72 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.clone(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,java.util.Map):215:215 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72 -> a
    4:4:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72:72 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.LocalVariableAnnotationNode -> com.android.tools.r8.internal.yC:
    java.util.List start -> f
    java.util.List index -> h
    java.util.List end -> g
    1:4:void <init>(int,int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.tree.LabelNode[],com.android.tools.r8.org.objectweb.asm.tree.LabelNode[],int[],java.lang.String):116:119 -> <init>
    1:10:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor,boolean):129:138 -> a
    11:11:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor,boolean):137:137 -> a
com.android.tools.r8.org.objectweb.asm.tree.LocalVariableNode -> com.android.tools.r8.internal.zC:
    int index -> f
    java.lang.String name -> a
    java.lang.String signature -> c
    java.lang.String desc -> b
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode end -> e
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode start -> d
    1:7:void <init>(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.LabelNode,com.android.tools.r8.org.objectweb.asm.tree.LabelNode,int):74:80 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.LookupSwitchInsnNode -> com.android.tools.r8.internal.eD:
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode dflt -> g
    java.util.List labels -> i
    java.util.List keys -> h
    1:4:void <init>(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,int[],com.android.tools.r8.org.objectweb.asm.tree.LabelNode[]):61:64 -> <init>
    1:10:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):74:83 -> a
    11:11:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):88:88 -> a
    12:12:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.clone(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,java.util.Map):215:215 -> a
    12:12:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):89 -> a
    13:13:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):89:89 -> a
    14:16:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.clone(java.util.List,java.util.Map):227:229 -> a
    14:16:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):89 -> a
    17:19:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):89:91 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.MethodInsnNode -> com.android.tools.r8.internal.BE:
    java.lang.String owner -> g
    java.lang.String desc -> i
    java.lang.String name -> h
    boolean itf -> j
    1:5:void <init>(int,java.lang.String,java.lang.String,java.lang.String,boolean):91:95 -> <init>
    1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):115:116 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):121:121 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.MethodNode -> com.android.tools.r8.internal.FE:
    java.util.List attrs -> r
    java.util.List invisibleTypeAnnotations -> q
    com.android.tools.r8.org.objectweb.asm.tree.InsnList instructions -> x
    java.util.List visibleTypeAnnotations -> p
    java.util.List invisibleAnnotations -> o
    int access -> j
    java.lang.String name -> k
    java.lang.String desc -> l
    java.lang.Object annotationDefault -> s
    java.util.List tryCatchBlocks -> y
    int maxLocals -> A
    java.util.List localVariables -> B
    java.util.List[] visibleParameterAnnotations -> u
    int maxStack -> z
    java.util.List[] invisibleParameterAnnotations -> w
    java.util.List invisibleLocalVariableAnnotations -> D
    java.util.List visibleLocalVariableAnnotations -> C
    int invisibleAnnotableParameterCount -> v
    boolean visited -> E
    int visibleAnnotableParameterCount -> t
    java.util.List visibleAnnotations -> n
    java.util.List parameters -> m
    1:11:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):222:232 -> <init>
    1:1:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():250:250 -> a
    2:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):262:266 -> a
    7:9:void visitAnnotableParameterCount(int,boolean):286:288 -> a
    10:24:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):296:310 -> a
    25:25:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):317:317 -> a
    26:26:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):332:332 -> a
    27:33:java.lang.Object[] com.android.tools.r8.org.objectweb.asm.tree.MethodNode.getLabelNodes(java.lang.Object[]):550:556 -> a
    27:33:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):336 -> a
    34:40:java.lang.Object[] com.android.tools.r8.org.objectweb.asm.tree.MethodNode.getLabelNodes(java.lang.Object[]):550:556 -> a
    34:40:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):338 -> a
    41:41:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):338:338 -> a
    42:42:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):332:332 -> a
    43:43:void visitInsn(int):343:343 -> a
    44:44:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):364:364 -> a
    45:52:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):374:381 -> a
    53:53:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):390:390 -> a
    54:54:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):397:397 -> a
    55:55:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):402:402 -> a
    56:56:void visitLdcInsn(java.lang.Object):407:407 -> a
    57:57:void visitIincInsn(int,int):412:412 -> a
    58:58:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):418:418 -> a
    59:61:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] com.android.tools.r8.org.objectweb.asm.tree.MethodNode.getLabelNodes(com.android.tools.r8.org.objectweb.asm.Label[]):542:544 -> a
    59:61:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):418 -> a
    62:62:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):418:418 -> a
    63:63:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):423:423 -> a
    64:66:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] com.android.tools.r8.org.objectweb.asm.tree.MethodNode.getLabelNodes(com.android.tools.r8.org.objectweb.asm.Label[]):542:544 -> a
    64:66:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):423 -> a
    67:67:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):423:423 -> a
    68:68:void visitMultiANewArrayInsn(java.lang.String,int):428:428 -> a
    69:69:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):435:435 -> a
    70:70:int com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.getOpcode():137:137 -> a
    70:70:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):436 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:71:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.getPrevious():154:154 -> a
    71:71:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):437 -> a
    72:78:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):440:446 -> a
    79:81:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):454:456 -> a
    82:85:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):482:485 -> a
    86:86:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):497:497 -> a
    87:90:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] com.android.tools.r8.org.objectweb.asm.tree.MethodNode.getLabelNodes(com.android.tools.r8.org.objectweb.asm.Label[]):542:542 -> a
    87:90:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):499 -> a
    91:92:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] com.android.tools.r8.org.objectweb.asm.tree.MethodNode.getLabelNodes(com.android.tools.r8.org.objectweb.asm.Label[]):543:544 -> a
    91:92:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):499 -> a
    93:93:void com.android.tools.r8.org.objectweb.asm.tree.LocalVariableAnnotationNode.<init>(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.tree.LabelNode[],com.android.tools.r8.org.objectweb.asm.tree.LabelNode[],int[],java.lang.String):87:87 -> a
    93:93:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):499 -> a
    94:98:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):501:505 -> a
    99:101:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):660:662 -> a
    102:102:void com.android.tools.r8.org.objectweb.asm.tree.ParameterNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):66:66 -> a
    102:102:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):662 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    103:103:void com.android.tools.r8.org.objectweb.asm.tree.ParameterNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):66:66 -> a
    103:103:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):662 -> a
    104:127:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):666:689 -> a
    128:137:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):688:697 -> a
    138:188:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):696:746 -> a
    189:189:void com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode.updateIndex(int):89:89 -> a
    189:189:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):746 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    190:196:void com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode.updateIndex(int):90:96 -> a
    190:196:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):746 -> a
    197:205:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):747:755 -> a
    206:206:void com.android.tools.r8.org.objectweb.asm.tree.LocalVariableNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):89:89 -> a
    206:206:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):755 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    207:209:void com.android.tools.r8.org.objectweb.asm.tree.LocalVariableNode.accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):89:89 -> a
    207:209:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):755 -> a
    210:223:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):759:772 -> a
    void visitCode() -> b
    1:4:void visitParameter(java.lang.String,int):241:244 -> b
    5:5:void visitIntInsn(int,int):348:348 -> b
    6:13:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):462:469 -> b
    14:14:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):512:512 -> b
    15:18:com.android.tools.r8.org.objectweb.asm.tree.LabelNode getLabelNode(com.android.tools.r8.org.objectweb.asm.Label):535:538 -> b
    void visitEnd() -> c
    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):274:278 -> c
    6:6:void visitTypeInsn(int,java.lang.String):358:358 -> c
    7:8:void visitMaxs(int,int):517:518 -> c
    1:1:void visitVarInsn(int,int):353:353 -> d
com.android.tools.r8.org.objectweb.asm.tree.MethodNode$1 -> com.android.tools.r8.internal.EE:
    com.android.tools.r8.org.objectweb.asm.tree.MethodNode this$0 -> b
    1:1:void <init>(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,int):251:251 -> <init>
    1:2:boolean add(java.lang.Object):254:255 -> add
com.android.tools.r8.org.objectweb.asm.tree.ModuleExportNode -> com.android.tools.r8.internal.qF:
    1:1:void <init>(java.lang.String,int,java.util.List):64:64 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.ModuleNode -> com.android.tools.r8.internal.rF:
    java.util.List packages -> b
    java.util.List uses -> f
    java.util.List opens -> e
    java.util.List exports -> d
    java.util.List requires -> c
    java.util.List provides -> g
    1:1:void <init>(java.lang.String,int,java.lang.String):87:87 -> <init>
    void visitEnd() -> a
    void visitMainClass(java.lang.String) -> a
    1:4:void visitRequire(java.lang.String,int,java.lang.String):148:151 -> a
    5:8:void visitExport(java.lang.String,int,java.lang.String[]):156:159 -> a
    9:12:void visitProvide(java.lang.String,java.lang.String[]):180:183 -> a
    1:4:void visitPackage(java.lang.String):140:143 -> b
    5:8:void visitOpen(java.lang.String,int,java.lang.String[]):164:167 -> b
    1:4:void visitUse(java.lang.String):172:175 -> c
com.android.tools.r8.org.objectweb.asm.tree.ModuleOpenNode -> com.android.tools.r8.internal.sF:
    1:1:void <init>(java.lang.String,int,java.util.List):64:64 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.ModuleProvideNode -> com.android.tools.r8.internal.tF:
    1:1:void <init>(java.lang.String,java.util.List):53:53 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.ModuleRequireNode -> com.android.tools.r8.internal.uF:
    1:1:void <init>(java.lang.String,int,java.lang.String):59:59 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.MultiANewArrayInsnNode -> com.android.tools.r8.internal.FF:
    java.lang.String desc -> g
    int dims -> h
    1:3:void <init>(java.lang.String,int):54:56 -> <init>
    1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):66:67 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):72:72 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.ParameterNode -> com.android.tools.r8.internal.BL:
    java.lang.String name -> a
    int access -> b
    1:3:void <init>(java.lang.String,int):55:57 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.RecordComponentNode -> com.android.tools.r8.internal.fQ:
    java.util.List visibleAnnotations -> b
    java.util.List attrs -> f
    java.util.List invisibleTypeAnnotations -> e
    java.util.List visibleTypeAnnotations -> d
    java.util.List invisibleAnnotations -> c
    1:1:void <init>(int,java.lang.String,java.lang.String,java.lang.String):96:96 -> <init>
    void visitEnd() -> a
    1:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):108:112 -> a
    6:10:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):120:124 -> a
    11:11:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):131:131 -> a
com.android.tools.r8.org.objectweb.asm.tree.TableSwitchInsnNode -> com.android.tools.r8.internal.gY:
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode dflt -> i
    int max -> h
    java.util.List labels -> j
    int min -> g
    1:5:void <init>(int,int,com.android.tools.r8.org.objectweb.asm.tree.LabelNode,com.android.tools.r8.org.objectweb.asm.tree.LabelNode[]):66:70 -> <init>
    1:6:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):80:85 -> a
    7:7:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90:90 -> a
    8:8:com.android.tools.r8.org.objectweb.asm.tree.LabelNode com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.clone(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,java.util.Map):215:215 -> a
    8:8:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90 -> a
    9:9:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90:90 -> a
    10:12:com.android.tools.r8.org.objectweb.asm.tree.LabelNode[] com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode.clone(java.util.List,java.util.Map):227:229 -> a
    10:12:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90 -> a
    13:14:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):90:91 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode -> com.android.tools.r8.internal.jZ:
    java.util.List invisibleTypeAnnotations -> f
    java.util.List visibleTypeAnnotations -> e
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode start -> a
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode handler -> c
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode end -> b
    java.lang.String type -> d
    1:5:void <init>(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,com.android.tools.r8.org.objectweb.asm.tree.LabelNode,com.android.tools.r8.org.objectweb.asm.tree.LabelNode,java.lang.String):73:77 -> <init>
    1:3:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):107:107 -> a
    5:9:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):109:113 -> a
    10:19:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):112:121 -> a
    20:20:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):120:120 -> a
com.android.tools.r8.org.objectweb.asm.tree.TypeAnnotationNode -> com.android.tools.r8.internal.f00:
    int typeRef -> d
    com.android.tools.r8.org.objectweb.asm.TypePath typePath -> e
    1:3:void <init>(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String):62:64 -> <init>
    4:6:void <init>(int,int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String):82:84 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.TypeInsnNode -> com.android.tools.r8.internal.j00:
    java.lang.String desc -> g
    1:2:void <init>(int,java.lang.String):56:57 -> <init>
    1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):77:78 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):83:83 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.Util -> com.android.tools.r8.internal.k10:
    1:2:java.util.List add(java.util.List,java.lang.Object):44:45 -> a
    3:5:java.util.List asArrayList(int):50:52 -> a
    6:10:java.util.List asArrayList(java.lang.Object[]):59:63 -> a
    11:15:java.util.List asArrayList(int[]):114:118 -> a
    16:18:java.util.List asArrayList(int,java.lang.Object[]):157:159 -> a
com.android.tools.r8.org.objectweb.asm.tree.VarInsnNode -> com.android.tools.r8.internal.B10:
    int var -> g
    1:2:void <init>(int,int):53:54 -> <init>
    1:2:void accept(com.android.tools.r8.org.objectweb.asm.MethodVisitor):74:75 -> a
    3:3:com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode clone(java.util.Map):80:80 -> a
    int getType() -> b
com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer -> com.android.tools.r8.internal.M1:
    com.android.tools.r8.org.objectweb.asm.tree.InsnList insnList -> i
    int insnListSize -> j
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine[] subroutines -> m
    int[] instructionsToProcess -> o
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter interpreter -> h
    java.util.List[] handlers -> k
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] frames -> l
    boolean[] inInstructionsToProcess -> n
    int numInstructionsToProcess -> p
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):88:89 -> <init>
    1:159:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):0:158 -> a
    160:160:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):461:461 -> a
    160:160:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    161:161:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.newFrame(int,int):531:531 -> a
    161:161:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):461 -> a
    161:161:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    162:166:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):463:467 -> a
    162:166:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    167:167:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    167:167:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newParameterValue(boolean,int,com.android.tools.r8.org.objectweb.asm.Type):97 -> a
    167:167:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):467 -> a
    167:167:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    168:176:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):466:474 -> a
    168:176:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    177:177:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    177:177:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newParameterValue(boolean,int,com.android.tools.r8.org.objectweb.asm.Type):97 -> a
    177:177:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):474 -> a
    177:177:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    178:183:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):472:477 -> a
    178:183:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    184:184:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    184:184:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newEmptyValue(int):126 -> a
    184:184:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):477 -> a
    184:184:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    185:190:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):477:482 -> a
    185:190:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    191:191:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    191:191:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newEmptyValue(int):126 -> a
    191:191:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):482 -> a
    191:191:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    192:195:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):482:485 -> a
    192:195:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    196:196:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    196:196:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newReturnTypeValue(com.android.tools.r8.org.objectweb.asm.Type):111 -> a
    196:196:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):485 -> a
    196:196:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    197:197:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.computeInitialFrame(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):485:485 -> a
    197:197:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):163 -> a
    198:277:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):164:243 -> a
    278:309:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):237:268 -> a
    310:405:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):185:280 -> a
    406:406:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.newControlFlowExceptionEdge(int,com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode):586:586 -> a
    406:406:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):282 -> a
    407:407:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.newFrame(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame):541:541 -> a
    407:407:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):283 -> a
    408:409:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):284:285 -> a
    410:410:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    410:410:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newExceptionValue(com.android.tools.r8.org.objectweb.asm.tree.TryCatchBlockNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.Type):145 -> a
    410:410:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):285 -> a
    411:421:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):285:295 -> a
    422:422:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1015,"2":1016,"3":1017,"4":1018,"5":1019}}
    1015:1015:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):295:295 -> a
    1016:1016:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):295:295 -> a
    1017:1017:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):295:295 -> a
    1018:1018:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):295:295 -> a
    1019:1019:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):295:295 -> a
    718:718:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):296:296 -> a
    719:719:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):291:291 -> a
    720:720:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1020,"2":1021,"3":1022,"4":1023,"5":1024}}
    1020:1020:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):291:291 -> a
    1021:1021:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):291:291 -> a
    1022:1022:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):291:291 -> a
    1023:1023:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):291:291 -> a
    1024:1024:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):291:291 -> a
    1012:1012:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] analyze(java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.MethodNode):292:292 -> a
    1025:1087:void findSubroutine(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine,java.util.List):385:447 -> a
    1088:1088:void findSubroutine(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine,java.util.List):391:391 -> a
    1089:1089:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame[] getFrames():498:498 -> a
    1090:1090:void merge(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine):605:605 -> a
    1091:1091:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.newFrame(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame):541:541 -> a
    1091:1091:void merge(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine):607 -> a
    1092:1110:void merge(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine):607:625 -> a
    1111:1114:void merge(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine,boolean[]):653:656 -> a
    1115:1115:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer.newFrame(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame):541:541 -> a
    1115:1115:void merge(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine,boolean[]):658 -> a
    1116:1127:void merge(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine,boolean[]):658:669 -> a
com.android.tools.r8.org.objectweb.asm.tree.analysis.AnalyzerException -> com.android.tools.r8.internal.N1:
    com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode node -> b
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String):52:53 -> <init>
    3:4:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Throwable):65:66 -> <init>
    5:6:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):82:83 -> <init>
    7:7:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":97,"2":98,"3":99,"4":100,"5":101}}
    97:97:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
    98:98:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
    99:99:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
    100:100:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
    101:101:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
    90:90:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):83:83 -> <init>
    91:96:void <init>(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,java.lang.Object,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):82:87 -> <init>
com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue -> com.android.tools.r8.internal.I4:
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue FLOAT_VALUE -> d
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue INT_VALUE -> c
    com.android.tools.r8.org.objectweb.asm.Type type -> a
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue UNINITIALIZED_VALUE -> b
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue RETURNADDRESS_VALUE -> h
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue REFERENCE_VALUE -> g
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue DOUBLE_VALUE -> f
    com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue LONG_VALUE -> e
    1:20:void <clinit>():41:60 -> <clinit>
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.Type):70:71 -> <init>
    1:1:int getSize():85:85 -> a
    1:1:boolean isReference():94:94 -> b
    1:5:boolean equals(java.lang.Object):101:105 -> equals
    1:1:int hashCode():114:114 -> hashCode
    1:8:java.lang.String toString():119:126 -> toString
com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier -> com.android.tools.r8.internal.J4:
    com.android.tools.r8.org.objectweb.asm.Type com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.NULL_TYPE -> h
    1:1:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.<clinit>():56:56 -> <clinit>
    1:1:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.<init>(int):79:79 -> <init>
    1:1:void <init>():50 -> <init>
    1:1:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43:43 -> a
    2:108:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):193:299 -> a
    2:108:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    109:110:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):211:212 -> a
    109:110:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    111:112:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):207:208 -> a
    111:112:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    113:113:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):199:199 -> a
    113:113:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    114:114:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    114:114:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):199 -> a
    114:114:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    115:143:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):200:228 -> a
    115:143:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    144:145:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):223:224 -> a
    144:145:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    146:147:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):219:220 -> a
    146:147:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    148:149:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):215:216 -> a
    148:149:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    150:240:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):195:285 -> a
    150:240:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    241:274:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):257:290 -> a
    241:274:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    275:324:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):247:296 -> a
    275:324:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    325:325:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    325:325:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):301 -> a
    325:325:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    326:326:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    326:326:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):303 -> a
    326:326:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    327:327:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):306:306 -> a
    327:327:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    328:328:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.getElementValue(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):436:436 -> a
    328:328:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):307 -> a
    328:328:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    329:392:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):272:335 -> a
    329:392:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):309 -> a
    329:392:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    393:393:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):317:317 -> a
    393:393:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):309 -> a
    393:393:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    394:394:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):315:315 -> a
    394:394:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):309 -> a
    394:394:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    395:408:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):295:308 -> a
    395:408:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):309 -> a
    395:408:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    409:444:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):288:323 -> a
    409:444:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):309 -> a
    409:444:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    445:445:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):304:304 -> a
    445:445:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    446:446:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):302:302 -> a
    446:446:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    447:447:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43:43 -> a
    448:472:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):72:96 -> a
    448:472:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    473:473:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):87:87 -> a
    473:473:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    474:478:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):79:83 -> a
    474:478:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    479:507:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):75:103 -> a
    479:507:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    508:529:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):85:106 -> a
    508:529:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    530:530:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):104:104 -> a
    530:530:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    531:531:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):101:101 -> a
    531:531:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    532:532:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):99:99 -> a
    532:532:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    533:533:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):97:97 -> a
    533:533:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    534:534:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):95:95 -> a
    534:534:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    535:594:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):112:171 -> a
    535:594:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    535:594:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    595:613:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):137:155 -> a
    595:613:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    595:613:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    614:625:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):151:162 -> a
    614:625:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    614:625:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    626:626:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):135:135 -> a
    626:626:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    626:626:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    627:627:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):132:132 -> a
    627:627:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    627:627:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    628:628:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):129:129 -> a
    628:628:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    628:628:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    629:629:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):125:125 -> a
    629:629:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    629:629:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    630:630:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):122:122 -> a
    630:630:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    630:630:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    631:686:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):114:169 -> a
    631:686:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    631:686:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    687:687:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):167:167 -> a
    687:687:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    687:687:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    688:688:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):165:165 -> a
    688:688:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):50 -> a
    688:688:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode):0 -> a
      # {"id":"com.android.tools.r8.synthesized"}
    689:701:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):377:389 -> a
    689:701:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    702:702:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    702:702:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):389 -> a
    702:702:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    703:713:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):390:400 -> a
    703:713:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    714:714:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    714:714:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):401 -> a
    714:714:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    715:715:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    715:715:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    716:716:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":725,"2":726,"3":727,"4":728,"5":729}}
    725:725:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    725:725:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    726:726:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    726:726:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    727:727:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    727:727:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    728:728:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    728:728:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    729:729:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    729:729:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    717:717:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):402:402 -> a
    717:717:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    718:724:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):353:359 -> a
    718:724:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):406 -> a
    718:724:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List):43 -> a
    1:1:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43:43 -> b
    2:69:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):112:179 -> b
    2:69:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    70:70:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):153:153 -> b
    70:70:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    71:78:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):139:146 -> b
    71:78:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    79:79:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isArrayValue(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):425:425 -> b
    79:79:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):159 -> b
    79:79:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    80:80:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):162:162 -> b
    80:80:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    81:81:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):160:160 -> b
    81:81:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    82:124:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):132:174 -> b
    82:124:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    125:125:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):172:172 -> b
    125:125:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    126:146:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):156:176 -> b
    126:146:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    147:147:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> b
    147:147:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):181 -> b
    147:147:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    148:148:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):184:184 -> b
    148:148:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    149:149:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):182:182 -> b
    149:149:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> b
    150:230:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):184:264 -> b
    231:231:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):208:208 -> b
    232:237:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):198:203 -> b
    238:302:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):193:257 -> b
    303:303:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):255:255 -> b
    304:304:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):251:251 -> b
    305:305:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":615,"2":616,"3":617}}
    615:615:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):249:249 -> b
    616:616:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):249:249 -> b
    617:617:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):249:249 -> b
    554:554:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):249:249 -> b
    555:575:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):227:247 -> b
    576:576:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):243:243 -> b
    577:577:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):237:237 -> b
    578:578:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):235:235 -> b
    579:587:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):233:241 -> b
    588:588:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):239:239 -> b
    589:589:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):231:231 -> b
    590:590:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):229:229 -> b
    591:591:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):225:225 -> b
com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame -> com.android.tools.r8.internal.fl:
# {"id":"sourceFile","fileName":"Frame.java"}
    int numStack -> d
    int maxStack -> e
    int numLocals -> c
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value returnValue -> a
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value[] values -> b
    1:5:void <init>(int,int):95:99 -> <init>
    6:7:void <init>(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame):108:109 -> <init>
    1:9:com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame init(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame):119:127 -> a
    10:10:void setReturn(com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):160:160 -> a
    11:14:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):192:195 -> a
    15:15:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    16:16:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":210,"2":211,"3":212,"4":213,"5":214}}
    210:210:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    211:211:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    212:212:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    213:213:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    214:214:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    209:209:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getLocal(int):193:193 -> a
    215:218:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):207:210 -> a
    219:219:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    220:220:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":429,"2":430,"3":431,"4":432,"5":433}}
    429:429:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    430:430:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    431:431:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    432:432:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    433:433:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    428:428:void setLocal(int,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):208:208 -> a
    434:434:void clearStack():247:247 -> a
    435:441:void push(com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):271:277 -> a
    442:448:void push(com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):273:279 -> a
    449:796:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):298:645 -> a
    797:797:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2039,"2":2040,"3":2041}}
    2039:2039:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):645:645 -> a
    2040:2040:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):645:645 -> a
    2041:2041:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):645:645 -> a
    1442:1442:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):645:645 -> a
    1443:1460:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):319:336 -> a
    1461:1461:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    1461:1461:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newEmptyValue(int):126 -> a
    1461:1461:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):337 -> a
    1462:1466:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):337:341 -> a
    1467:1467:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.newValue(com.android.tools.r8.org.objectweb.asm.Type):50:50 -> a
    1467:1467:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter.newEmptyValue(int):126 -> a
    1467:1467:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):342 -> a
    1468:1757:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):342:631 -> a
    1758:1758:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):627:627 -> a
    1759:1759:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):623:623 -> a
    1760:1760:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):620:620 -> a
    1761:1761:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):615:615 -> a
    1762:1762:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):612:612 -> a
    1763:1773:void com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame.executeInvokeInsn(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):674:684 -> a
    1763:1773:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):612 -> a
    1774:1774:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):609:609 -> a
    1775:1785:void com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame.executeInvokeInsn(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.lang.String,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):674:684 -> a
    1775:1785:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):609 -> a
    1786:1786:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):603:603 -> a
    1787:1787:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):600:600 -> a
    1788:1788:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):597:597 -> a
    1789:1790:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):592:593 -> a
    1791:1793:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):587:589 -> a
    1794:1794:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.returnOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43:43 -> a
    1794:1794:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):589 -> a
    1795:1795:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    1795:1795:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.returnOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):413 -> a
    1795:1795:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.returnOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1795:1795:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):589 -> a
    1796:1796:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.returnOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):414:414 -> a
    1796:1796:void com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.returnOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1796:1796:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):589 -> a
    1797:1797:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):580:580 -> a
    1798:1798:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):574:574 -> a
    1799:1801:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):567:569 -> a
    1802:1802:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):556:556 -> a
    1803:1803:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):548:548 -> a
    1804:1805:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):530:531 -> a
    1806:1806:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):527:527 -> a
    1807:1809:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):519:521 -> a
    1810:1816:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):466:472 -> a
    1817:1817:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):469:469 -> a
    1818:1839:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):436:457 -> a
    1840:1853:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame.executeDupX2(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):652:665 -> a
    1840:1853:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):461 -> a
    1854:1854:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):464:464 -> a
    1855:1878:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):411:434 -> a
    1879:1894:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):394:409 -> a
    1895:1896:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):405:406 -> a
    1897:1898:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):388:389 -> a
    1899:1912:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame.executeDupX2(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):652:665 -> a
    1899:1912:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):389 -> a
    1913:1913:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):392:392 -> a
    1914:1921:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):378:385 -> a
    1922:1922:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):381:381 -> a
    1923:1928:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):370:375 -> a
    1929:1929:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):372:372 -> a
    1930:1931:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):365:366 -> a
    1932:1933:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):360:361 -> a
    1934:1937:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):354:357 -> a
    1938:1938:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43:43 -> a
    1938:1938:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    1939:1977:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):322:360 -> a
    1939:1977:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1939:1977:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    1978:1979:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):340:341 -> a
    1978:1979:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1978:1979:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    1980:1981:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):336:337 -> a
    1980:1981:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1980:1981:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    1982:1982:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):328:328 -> a
    1982:1982:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1982:1982:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    1983:1983:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    1983:1983:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):328 -> a
    1983:1983:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1983:1983:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    1984:2012:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):329:357 -> a
    1984:2012:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    1984:2012:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2013:2014:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):352:353 -> a
    2013:2014:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2013:2014:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2015:2016:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):348:349 -> a
    2015:2016:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2015:2016:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2017:2018:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):344:345 -> a
    2017:2018:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2017:2018:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2019:2020:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):324:325 -> a
    2019:2020:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2019:2020:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2021:2021:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    2021:2021:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):362 -> a
    2021:2021:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2021:2021:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2022:2022:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):365:365 -> a
    2022:2022:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2022:2022:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2023:2023:boolean com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.isSubTypeOf(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):449:449 -> a
    2023:2023:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):367 -> a
    2023:2023:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2023:2023:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2024:2024:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):368:368 -> a
    2024:2024:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2024:2024:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2025:2025:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):366:366 -> a
    2025:2025:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2025:2025:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2026:2026:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):363:363 -> a
    2026:2026:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicVerifier.ternaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):43 -> a
    2026:2026:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):357 -> a
    2027:2027:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):642:642 -> a
    2028:2032:void execute(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):634:638 -> a
    2042:2047:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):699:704 -> a
    2048:2048:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):50:50 -> a
    2048:2048:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):704 -> a
    2049:2050:com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue,com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicValue):372:373 -> a
    2049:2050:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value com.android.tools.r8.org.objectweb.asm.tree.analysis.BasicInterpreter.merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value):50 -> a
    2049:2050:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):704 -> a
    2051:2052:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):705:706 -> a
    2053:2053:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter):700:700 -> a
    2054:2056:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame,boolean[]):726:728 -> a
    1:1:int getLocals():170:170 -> b
    2:2:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value getStack(int):231:231 -> b
    1:1:int getStackSize():220:220 -> c
    1:4:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value pop():257:260 -> d
    5:5:com.android.tools.r8.org.objectweb.asm.tree.analysis.Value pop():258:258 -> d
    1:1:java.lang.String toString():742:742 -> toString
    2:2:int com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame.getLocals():170:170 -> toString
    2:2:java.lang.String toString():743 -> toString
    3:5:java.lang.String toString():744:746 -> toString
    6:6:int com.android.tools.r8.org.objectweb.asm.tree.analysis.Frame.getStackSize():220:220 -> toString
    6:6:java.lang.String toString():747 -> toString
    7:9:java.lang.String toString():748:750 -> toString
com.android.tools.r8.org.objectweb.asm.tree.analysis.Interpreter -> com.android.tools.r8.internal.ou:
    1:1:void <init>(int):61:61 -> <init>
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value binaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value) -> a
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value copyOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value) -> a
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value naryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,java.util.List) -> a
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value newOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode) -> a
    com.android.tools.r8.org.objectweb.asm.tree.analysis.Value unaryOperation(com.android.tools.r8.org.objectweb.asm.tree.AbstractInsnNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Value) -> b
com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine -> com.android.tools.r8.internal.xX:
    java.util.List callers -> c
    boolean[] localsUsed -> b
    com.android.tools.r8.org.objectweb.asm.tree.LabelNode start -> a
    1:5:void <init>(com.android.tools.r8.org.objectweb.asm.tree.LabelNode,int,com.android.tools.r8.org.objectweb.asm.tree.JumpInsnNode):61:65 -> <init>
    6:9:void <init>(com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine):73:76 -> <init>
    1:11:boolean merge(com.android.tools.r8.org.objectweb.asm.tree.analysis.Subroutine):89:99 -> a
com.android.tools.r8.org.objectweb.asm.tree.analysis.Value -> com.android.tools.r8.internal.p10:
# {"id":"sourceFile","fileName":"Value.java"}
com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter -> com.android.tools.r8.internal.o9:
    boolean useNamedValue -> b
    boolean visitEndCalled -> c
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,boolean):55:56 -> <init>
    1:1:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():131:131 -> a
    1:1:void visit(java.lang.String,java.lang.Object):61 -> a
    2:3:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkName(java.lang.String):125:126 -> a
    2:3:void visit(java.lang.String,java.lang.Object):62 -> a
    4:27:void visit(java.lang.String,java.lang.Object):63:86 -> a
    28:28:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():132:132 -> a
    28:28:void visit(java.lang.String,java.lang.Object):61 -> a
    29:29:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():131:131 -> a
    29:29:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):103 -> a
    30:31:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkName(java.lang.String):125:126 -> a
    30:31:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):104 -> a
    32:33:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):106:107 -> a
    34:34:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    34:34:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):107 -> a
    35:35:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():132:132 -> a
    35:35:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):103 -> a
    36:36:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():131:131 -> a
    36:36:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):112 -> a
    37:38:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkName(java.lang.String):125:126 -> a
    37:38:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):113 -> a
    39:39:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):114:114 -> a
    40:40:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():132:132 -> a
    40:40:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):112 -> a
    41:41:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():131:131 -> a
    41:41:void visitEnd():119 -> a
    42:43:void visitEnd():120:121 -> a
    44:44:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():132:132 -> a
    44:44:void visitEnd():119 -> a
    45:45:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():131:131 -> a
    45:45:void visitEnum(java.lang.String,java.lang.String,java.lang.String):91 -> a
    46:47:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkName(java.lang.String):125:126 -> a
    46:47:void visitEnum(java.lang.String,java.lang.String,java.lang.String):92 -> a
    48:52:void visitEnum(java.lang.String,java.lang.String,java.lang.String):94:98 -> a
    53:53:void visitEnum(java.lang.String,java.lang.String,java.lang.String):96:96 -> a
    54:54:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.checkVisitEndNotCalled():132:132 -> a
    54:54:void visitEnum(java.lang.String,java.lang.String,java.lang.String):91 -> a
com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter -> com.android.tools.r8.internal.t9:
    boolean visitNestHostCalled -> i
    java.lang.String nestMemberPackageName -> j
    boolean visitEndCalled -> k
    boolean visitCalled -> e
    boolean visitModuleCalled -> f
    int version -> d
    boolean visitSourceCalled -> g
    boolean visitOuterClassCalled -> h
    java.util.Map labelInsnIndices -> l
    boolean checkDataFlow -> c
    1:3:void <init>(int,com.android.tools.r8.org.objectweb.asm.ClassVisitor,boolean):196:198 -> <init>
    1:36:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):213:248 -> a
    37:37:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    37:37:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):612 -> a
    37:37:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    38:38:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):693:693 -> a
    38:38:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    38:38:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    39:41:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):717:719 -> a
    39:41:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    39:41:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    39:41:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    42:42:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    42:42:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719 -> a
    42:42:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    42:42:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    42:42:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    43:44:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719:720 -> a
    43:44:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    43:44:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    43:44:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    45:45:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    45:45:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):722 -> a
    45:45:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    45:45:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    45:45:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    46:46:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):723:723 -> a
    46:46:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    46:46:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    46:46:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    47:47:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    47:47:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):695 -> a
    47:47:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    47:47:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    48:50:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):717:719 -> a
    48:50:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    48:50:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    48:50:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    51:51:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    51:51:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719 -> a
    51:51:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    51:51:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    51:51:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    52:53:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719:720 -> a
    52:53:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    52:53:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    52:53:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    54:54:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    54:54:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):722 -> a
    54:54:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    54:54:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    54:54:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    55:55:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):723:723 -> a
    55:55:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    55:55:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):613 -> a
    55:55:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    56:56:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):615:615 -> a
    56:56:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    57:57:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    57:57:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):616 -> a
    57:57:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    58:61:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkClassSignature(java.lang.String):617:620 -> a
    58:61:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):251 -> a
    62:68:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):253:259 -> a
    69:69:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":380,"2":381,"3":382,"4":383,"5":384}}
    380:380:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):259:259 -> a
    381:381:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):259:259 -> a
    382:382:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):259:259 -> a
    383:383:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):259:259 -> a
    384:384:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):259:259 -> a
    328:333:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):259:264 -> a
    334:334:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):232:232 -> a
    335:335:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):214:214 -> a
    385:390:void visitSource(java.lang.String,java.lang.String):269:274 -> a
    391:391:void visitSource(java.lang.String,java.lang.String):271:271 -> a
    392:402:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):279:289 -> a
    403:403:com.android.tools.r8.org.objectweb.asm.ModuleVisitor visitModule(java.lang.String,int,java.lang.String):281:281 -> a
    404:413:void visitNestHost(java.lang.String):295:304 -> a
    414:414:void visitNestHost(java.lang.String):301:301 -> a
    415:415:void visitNestHost(java.lang.String):298:298 -> a
    416:427:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):334:345 -> a
    428:428:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):340:340 -> a
    429:429:void visitOuterClass(java.lang.String,java.lang.String,java.lang.String):336:336 -> a
    430:456:void visitInnerClass(java.lang.String,java.lang.String,java.lang.String,int):351:377 -> a
    457:471:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):400:414 -> a
    472:472:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkUnqualifiedName(int,java.lang.String,java.lang.String):1214:1214 -> a
    472:472:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):414 -> a
    473:475:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):415:417 -> a
    476:481:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkConstant(java.lang.Object):1144:1149 -> a
    476:481:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):420 -> a
    482:482:com.android.tools.r8.org.objectweb.asm.FieldVisitor visitField(int,java.lang.String,java.lang.String,java.lang.String,java.lang.Object):422:422 -> a
    483:484:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):432:433 -> a
    485:488:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):569:572 -> a
    485:488:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    489:489:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1015,"2":1016,"3":1017,"4":1018,"5":1019}}
    1015:1015:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):572:572 -> a
    1015:1015:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    1016:1016:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):572:572 -> a
    1016:1016:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    1017:1017:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):572:572 -> a
    1017:1017:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    1018:1018:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):572:572 -> a
    1018:1018:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    1019:1019:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):572:572 -> a
    1019:1019:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    490:490:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodAccess(int,int,int):572:572 -> a
    490:490:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):433 -> a
    491:494:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):450:453 -> a
    495:495:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    495:495:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):640 -> a
    495:495:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    496:496:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):693:693 -> a
    496:496:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    496:496:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    497:499:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):717:719 -> a
    497:499:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    497:499:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    497:499:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    500:500:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    500:500:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719 -> a
    500:500:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    500:500:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    500:500:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    501:502:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719:720 -> a
    501:502:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    501:502:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    501:502:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    503:503:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    503:503:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):722 -> a
    503:503:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    503:503:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    503:503:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    504:504:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):723:723 -> a
    504:504:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):694 -> a
    504:504:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    504:504:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    505:505:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    505:505:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):695 -> a
    505:505:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    505:505:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    506:508:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):717:719 -> a
    506:508:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    506:508:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    506:508:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    509:509:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    509:509:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719 -> a
    509:509:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    509:509:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    509:509:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    510:511:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):719:720 -> a
    510:511:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    510:511:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    510:511:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    512:512:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    512:512:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):722 -> a
    512:512:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    512:512:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    512:512:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    513:513:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameter(java.lang.String,int):723:723 -> a
    513:513:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeParameters(java.lang.String,int):696 -> a
    513:513:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):641 -> a
    513:513:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    514:515:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):643:644 -> a
    514:515:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    516:516:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    516:516:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):644 -> a
    516:516:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    517:517:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):644:644 -> a
    517:517:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    518:518:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    518:518:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkJavaTypeSignature(java.lang.String,int):866 -> a
    518:518:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):645 -> a
    518:518:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    519:519:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkJavaTypeSignature(java.lang.String,int):877:877 -> a
    519:519:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):645 -> a
    519:519:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    520:520:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):647:647 -> a
    520:520:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    521:521:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    521:521:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):648 -> a
    521:521:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    522:522:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    522:522:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkJavaTypeSignature(java.lang.String,int):866 -> a
    522:522:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):651 -> a
    522:522:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    523:523:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkJavaTypeSignature(java.lang.String,int):877:877 -> a
    523:523:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):651 -> a
    523:523:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    524:524:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    524:524:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):653 -> a
    524:524:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    525:525:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    525:525:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):655 -> a
    525:525:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    526:526:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):656:656 -> a
    526:526:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    527:529:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeVariableSignature(java.lang.String,int):845:847 -> a
    527:529:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):658 -> a
    527:529:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    530:531:void com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkMethodSignature(java.lang.String):661:662 -> a
    530:531:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):455 -> a
    532:533:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):458:459 -> a
    534:534:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1020,"2":1021,"3":1022,"4":1023,"5":1024}}
    1020:1020:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):459:459 -> a
    1021:1021:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):459:459 -> a
    1022:1022:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):459:459 -> a
    1023:1023:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):459:459 -> a
    1024:1024:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):459:459 -> a
    993:1014:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):459:480 -> a
    1025:1027:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):486:488 -> a
    1028:1028:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    1028:1028:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):488 -> a
    1029:1034:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):494:499 -> a
    1035:1035:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1542,"2":1543,"3":1544}}
    1542:1542:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):499:499 -> a
    1543:1543:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):499:499 -> a
    1544:1544:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):499:499 -> a
    1535:1540:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):500:505 -> a
    1541:1541:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    1541:1541:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):505 -> a
    1545:1549:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):510:514 -> a
    1550:1552:void visitEnd():519:521 -> a
    1553:1558:void checkAccess(int,int):550:555 -> a
    1559:1559:void checkAccess(int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3224,"2":3225,"3":3226,"4":3227,"5":3228}}
    3224:3224:void checkAccess(int,int):555:555 -> a
    3225:3225:void checkAccess(int,int):555:555 -> a
    3226:3226:void checkAccess(int,int):555:555 -> a
    3227:3227:void checkAccess(int,int):555:555 -> a
    3228:3228:void checkAccess(int,int):555:555 -> a
    2114:2114:void checkAccess(int,int):555:555 -> a
    2115:2115:void checkAccess(int,int):551:551 -> a
    2116:2116:void checkAccess(int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3229,"2":3230,"3":3231,"4":3232,"5":3233}}
    3229:3229:void checkAccess(int,int):551:551 -> a
    3230:3230:void checkAccess(int,int):551:551 -> a
    3231:3231:void checkAccess(int,int):551:551 -> a
    3232:3232:void checkAccess(int,int):551:551 -> a
    3233:3233:void checkAccess(int,int):551:551 -> a
    2667:2667:void checkAccess(int,int):551:551 -> a
    2668:2668:void checkAccess(int,int):547:547 -> a
    2669:2669:void checkAccess(int,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3234,"2":3235,"3":3236,"4":3237,"5":3238}}
    3234:3234:void checkAccess(int,int):547:547 -> a
    3235:3235:void checkAccess(int,int):547:547 -> a
    3236:3236:void checkAccess(int,int):547:547 -> a
    3237:3237:void checkAccess(int,int):547:547 -> a
    3238:3238:void checkAccess(int,int):547:547 -> a
    3216:3216:void checkAccess(int,int):547:547 -> a
    3239:3240:int checkClassTypeSignature(java.lang.String,int):771:772 -> a
    3241:3241:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3241:3241:int checkClassTypeSignature(java.lang.String,int):773 -> a
    3242:3242:int checkClassTypeSignature(java.lang.String,int):774:774 -> a
    3243:3243:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3243:3243:int checkClassTypeSignature(java.lang.String,int):776 -> a
    3244:3244:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):800:800 -> a
    3244:3244:int checkClassTypeSignature(java.lang.String,int):777 -> a
    3245:3245:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3245:3245:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):824 -> a
    3245:3245:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):801 -> a
    3245:3245:int checkClassTypeSignature(java.lang.String,int):777 -> a
    3246:3246:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):830:830 -> a
    3246:3246:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):801 -> a
    3246:3246:int checkClassTypeSignature(java.lang.String,int):777 -> a
    3247:3247:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3247:3247:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):802 -> a
    3247:3247:int checkClassTypeSignature(java.lang.String,int):777 -> a
    3248:3248:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3248:3248:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):824 -> a
    3248:3248:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):803 -> a
    3248:3248:int checkClassTypeSignature(java.lang.String,int):777 -> a
    3249:3249:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):830:830 -> a
    3249:3249:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):803 -> a
    3249:3249:int checkClassTypeSignature(java.lang.String,int):777 -> a
    3250:3250:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3250:3250:int checkClassTypeSignature(java.lang.String,int):779 -> a
    3251:3251:int checkClassTypeSignature(java.lang.String,int):780:780 -> a
    3252:3252:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3252:3252:int checkClassTypeSignature(java.lang.String,int):781 -> a
    3253:3253:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):800:800 -> a
    3253:3253:int checkClassTypeSignature(java.lang.String,int):782 -> a
    3254:3254:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3254:3254:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):824 -> a
    3254:3254:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):801 -> a
    3254:3254:int checkClassTypeSignature(java.lang.String,int):782 -> a
    3255:3255:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):830:830 -> a
    3255:3255:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):801 -> a
    3255:3255:int checkClassTypeSignature(java.lang.String,int):782 -> a
    3256:3256:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3256:3256:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):802 -> a
    3256:3256:int checkClassTypeSignature(java.lang.String,int):782 -> a
    3257:3257:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3257:3257:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):824 -> a
    3257:3257:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):803 -> a
    3257:3257:int checkClassTypeSignature(java.lang.String,int):782 -> a
    3258:3258:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArgument(java.lang.String,int):830:830 -> a
    3258:3258:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeArguments(java.lang.String,int):803 -> a
    3258:3258:int checkClassTypeSignature(java.lang.String,int):782 -> a
    3259:3259:int checkClassTypeSignature(java.lang.String,int):785:785 -> a
    3260:3260:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> a
    3260:3260:int checkChar(char,java.lang.String,int):908 -> a
    3261:3261:int checkChar(char,java.lang.String,int):911:911 -> a
    3262:3262:void checkTypeRef(int):967:967 -> a
    3263:3263:void checkTypeRef(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4232,"2":4233,"3":4234}}
    4232:4232:void checkTypeRef(int):967:967 -> a
    4233:4233:void checkTypeRef(int):967:967 -> a
    4234:4234:void checkTypeRef(int):967:967 -> a
    4231:4231:void checkTypeRef(int):968:968 -> a
    4235:4235:void printAnalyzerResult(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.io.PrintWriter):1092:1092 -> a
    4236:4236:void com.android.tools.r8.org.objectweb.asm.util.Textifier.<init>():115:115 -> a
    4236:4236:void printAnalyzerResult(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.io.PrintWriter):1092 -> a
    4237:4237:void printAnalyzerResult(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.io.PrintWriter):1093:1093 -> a
    4238:4238:void com.android.tools.r8.org.objectweb.asm.util.TraceMethodVisitor.<init>(com.android.tools.r8.org.objectweb.asm.util.Printer):55:55 -> a
    4238:4238:void printAnalyzerResult(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.io.PrintWriter):1093 -> a
    4239:4261:void printAnalyzerResult(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.io.PrintWriter):1095:1117 -> a
    4262:4269:void printAnalyzerResult(com.android.tools.r8.org.objectweb.asm.tree.MethodNode,com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.io.PrintWriter):1116:1123 -> a
    1:3:void visitNestMember(java.lang.String):309:311 -> b
    4:8:java.lang.String com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.packageName(java.lang.String):979:983 -> b
    4:8:void visitNestMember(java.lang.String):315 -> b
    9:15:void visitNestMember(java.lang.String):316:322 -> b
    16:16:void visitNestMember(java.lang.String):319:319 -> b
    17:17:void visitNestMember(java.lang.String):312:312 -> b
    18:19:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):383:384 -> b
    20:20:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkUnqualifiedName(int,java.lang.String,java.lang.String):1214:1214 -> b
    20:20:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):384 -> b
    21:26:com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor visitRecordComponent(java.lang.String,java.lang.String,java.lang.String):385:390 -> b
    27:31:void checkState():530:534 -> b
    32:32:void checkState():531:531 -> b
    33:39:void checkFullyQualifiedName(int,java.lang.String,java.lang.String):587:593 -> b
    40:40:void checkFullyQualifiedName(int,java.lang.String,java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":634,"2":635,"3":636,"4":637,"5":638,"6":639,"7":640}}
    634:634:void checkFullyQualifiedName(int,java.lang.String,java.lang.String):593:593 -> b
    635:635:void checkFullyQualifiedName(int,java.lang.String,java.lang.String):593:593 -> b
    636:636:void checkFullyQualifiedName(int,java.lang.String,java.lang.String):593:593 -> b
    637:637:void checkFullyQualifiedName(int,java.lang.String,java.lang.String):593:593 -> b
    638:638:void checkFullyQualifiedName(int,java.lang.String,java.lang.String):593:593 -> b
    639:639:void checkFullyQualifiedName(int,java.lang.String,java.lang.String):593:593 -> b
    640:640:void checkFullyQualifiedName(int,java.lang.String,java.lang.String):593:593 -> b
    633:633:void checkFullyQualifiedName(int,java.lang.String,java.lang.String):593:593 -> b
    641:641:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> b
    641:641:int checkReferenceTypeSignature(java.lang.String,int):743 -> b
    642:644:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkTypeVariableSignature(java.lang.String,int):845:847 -> b
    642:644:int checkReferenceTypeSignature(java.lang.String,int):749 -> b
    645:645:char com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.getChar(java.lang.String,int):922:922 -> b
    645:645:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkJavaTypeSignature(java.lang.String,int):866 -> b
    645:645:int checkReferenceTypeSignature(java.lang.String,int):747 -> b
    646:646:int com.android.tools.r8.org.objectweb.asm.util.CheckClassAdapter.checkJavaTypeSignature(java.lang.String,int):877:877 -> b
    646:646:int checkReferenceTypeSignature(java.lang.String,int):747 -> b
    647:647:int checkReferenceTypeSignature(java.lang.String,int):745:745 -> b
    1:3:void visitPermittedSubclass(java.lang.String):327:329 -> c
    4:8:int checkSignatureIdentifier(java.lang.String,int):890:894 -> c
    1:3:void checkFieldSignature(java.lang.String):675:677 -> d
    1:13:java.lang.String getUnqualifiedName(java.lang.String):1127:1139 -> e
com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter -> com.android.tools.r8.internal.u9:
    boolean visitEndCalled -> c
    1:1:void <init>(int,com.android.tools.r8.org.objectweb.asm.FieldVisitor):70:70 -> <init>
    1:1:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():113:113 -> a
    1:1:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):75 -> a
    2:3:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):77:78 -> a
    4:4:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    4:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):78 -> a
    5:5:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():114:114 -> a
    5:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):75 -> a
    6:6:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():113:113 -> a
    6:6:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):98 -> a
    7:7:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):102:102 -> a
    8:8:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():114:114 -> a
    8:8:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):98 -> a
    9:9:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():113:113 -> a
    9:9:void visitEnd():107 -> a
    10:11:void visitEnd():108:109 -> a
    12:12:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():114:114 -> a
    12:12:void visitEnd():107 -> a
    13:13:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled():113:113 -> a
    13:13:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):84 -> a
    14:22:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):85:93 -> a
    23:23:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    23:23:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):93 -> a
    24:24:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):87:87 -> a
    25:25:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":115,"2":116,"3":117}}
    115:115:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):87:87 -> a
    116:116:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):87:87 -> a
    117:117:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):87:87 -> a
    113:113:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):88:88 -> a
    114:114:void com.android.tools.r8.org.objectweb.asm.util.CheckFieldAdapter.checkVisitEndNotCalled() -> a
    114:114:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):84 -> a
com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter -> com.android.tools.r8.internal.x9:
    boolean visitCodeCalled -> n
    java.util.Map labelInsnIndices -> r
    int visibleAnnotableParameterCount -> l
    boolean visitMaxCalled -> o
    int invisibleAnnotableParameterCount -> m
    boolean visitEndCalled -> p
    int version -> j
    java.util.Set referencedLabels -> s
    int access -> k
    java.util.List handlers -> w
    int numCompressedFrames -> v
    int lastFrameInsnIndex -> t
    int numExpandedFrames -> u
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method[] OPCODE_METHODS -> x
    int insnCount -> q
    1:1:void <clinit>():83:83 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor,java.util.Map):391:391 -> <init>
    2:65:void <init>(int,com.android.tools.r8.org.objectweb.asm.MethodVisitor,java.util.Map):331:394 -> <init>
    66:98:void <init>(int,int,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.MethodVisitor,java.util.Map):446:478 -> <init>
    1:3:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):493:495 -> a
    4:4:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    4:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):495 -> a
    5:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():519:520 -> a
    7:13:void visitAnnotableParameterCount(int,boolean):525:531 -> a
    14:25:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):537:548 -> a
    26:26:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    26:26:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):548 -> a
    27:31:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):553:557 -> a
    32:32:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):555:555 -> a
    33:63:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):576:606 -> a
    64:64:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":736,"2":737,"3":738,"4":739,"5":740}}
    736:736:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):606:606 -> a
    737:737:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):606:606 -> a
    738:738:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):606:606 -> a
    739:739:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):606:606 -> a
    740:740:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):606:606 -> a
    670:704:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):606:640 -> a
    705:705:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):614:614 -> a
    706:706:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):610:610 -> a
    707:707:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):577:577 -> a
    741:745:void visitInsn(int):645:649 -> a
    746:750:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):703:707 -> a
    751:751:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkUnqualifiedName(int,java.lang.String,java.lang.String):1214:1214 -> a
    751:751:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):707 -> a
    752:754:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):708:710 -> a
    755:781:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):720:746 -> a
    782:788:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):755:761 -> a
    789:789:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1557,"2":1558,"3":1559}}
    1557:1557:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):761:761 -> a
    1558:1558:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):761:761 -> a
    1559:1559:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):761:761 -> a
    1550:1556:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):761:767 -> a
    1560:1566:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):772:778 -> a
    1567:1574:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):783:790 -> a
    1575:1575:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):787:787 -> a
    1576:1580:void visitLdcInsn(java.lang.Object):795:799 -> a
    1581:1586:void visitIincInsn(int,int):804:809 -> a
    1587:1587:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkSignedShort(int,java.lang.String):1121:1121 -> a
    1587:1587:void visitIincInsn(int,int):807 -> a
    1588:1599:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):815:826 -> a
    1600:1600:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2440,"2":2441,"3":2442,"4":2443,"5":2444}}
    2440:2440:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):826:826 -> a
    2441:2441:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):826:826 -> a
    2442:2442:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):826:826 -> a
    2443:2443:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):826:826 -> a
    2444:2444:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):826:826 -> a
    2426:2430:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):826:830 -> a
    2431:2431:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):823:823 -> a
    2432:2432:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):818:818 -> a
    2445:2452:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):835:842 -> a
    2453:2453:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3304,"2":3305,"3":3306,"4":3307,"5":3308}}
    3304:3304:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):842:842 -> a
    3305:3305:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):842:842 -> a
    3306:3306:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):842:842 -> a
    3307:3307:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):842:842 -> a
    3308:3308:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):842:842 -> a
    3295:3300:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):842:847 -> a
    3301:3301:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):839:839 -> a
    3309:3326:void visitMultiANewArrayInsn(java.lang.String,int):852:869 -> a
    3327:3327:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    3328:3328:void visitMultiANewArrayInsn(java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5920,"2":5921,"3":5922,"4":5923,"5":5924}}
    5920:5920:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    5921:5921:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    5922:5922:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    5923:5923:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    5924:5924:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    4192:4192:void visitMultiANewArrayInsn(java.lang.String,int):864:864 -> a
    4193:4193:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    4194:4194:void visitMultiANewArrayInsn(java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5925,"2":5926,"3":5927,"4":5928,"5":5929}}
    5925:5925:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    5926:5926:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    5927:5927:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    5928:5928:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    5929:5929:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    5054:5054:void visitMultiANewArrayInsn(java.lang.String,int):860:860 -> a
    5055:5055:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    5056:5056:void visitMultiANewArrayInsn(java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5930,"2":5931,"3":5932,"4":5933,"5":5934}}
    5930:5930:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    5931:5931:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    5932:5932:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    5933:5933:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    5934:5934:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    5912:5912:void visitMultiANewArrayInsn(java.lang.String,int):856:856 -> a
    5935:5947:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):875:887 -> a
    5948:5948:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":6842,"2":6843,"3":6844}}
    6842:6842:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):887:887 -> a
    6843:6843:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):887:887 -> a
    6844:6844:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):887:887 -> a
    6835:6840:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):887:892 -> a
    6841:6841:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    6841:6841:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):892 -> a
    6845:6860:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):898:913 -> a
    6861:6861:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):906:906 -> a
    6862:6864:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):939:941 -> a
    6865:6865:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkUnqualifiedName(int,java.lang.String,java.lang.String):1214:1214 -> a
    6865:6865:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):941 -> a
    6866:6879:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):942:955 -> a
    6880:6880:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):952:952 -> a
    6881:6885:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):967:971 -> a
    6886:6886:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7882,"2":7883,"3":7884}}
    7882:7882:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):971:971 -> a
    7883:7883:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):971:971 -> a
    7884:7884:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):971:971 -> a
    7857:7880:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):971:994 -> a
    7881:7881:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):980:980 -> a
    7885:7886:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1096:1097 -> a
    7887:7887:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":8985,"2":8986,"3":8987,"4":8988,"5":8989}}
    8985:8985:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1097:1097 -> a
    8986:8986:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1097:1097 -> a
    8987:8987:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1097:1097 -> a
    8988:8988:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1097:1097 -> a
    8989:8989:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1097:1097 -> a
    8984:8984:void checkOpcodeMethod(int,com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method):1097:1097 -> a
    8990:8996:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1233:1239 -> a
    8997:8999:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1238:1240 -> a
    9000:9000:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":12747,"2":12748,"3":12749,"4":12750,"5":12751,"6":12752,"7":12753}}
    12747:12747:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1240:1240 -> a
    12748:12748:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1240:1240 -> a
    12749:12749:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1240:1240 -> a
    12750:12750:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1240:1240 -> a
    12751:12751:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1240:1240 -> a
    12752:12752:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1240:1240 -> a
    12753:12753:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1240:1240 -> a
    10240:10249:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1240:1249 -> a
    10250:10254:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1246:1250 -> a
    10255:10255:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":12763,"2":12764,"3":12765,"4":12766,"5":12767,"6":12768,"7":12769}}
    12763:12763:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1250:1250 -> a
    12764:12764:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1250:1250 -> a
    12765:12765:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1250:1250 -> a
    12766:12766:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1250:1250 -> a
    12767:12767:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1250:1250 -> a
    12768:12768:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1250:1250 -> a
    12769:12769:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1250:1250 -> a
    11505:11505:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1250:1250 -> a
    11506:11506:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    11507:11507:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":12770,"2":12771,"3":12772,"4":12773,"5":12774,"6":12775}}
    12770:12770:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    12771:12771:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    12772:12772:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    12773:12773:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    12774:12774:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    12775:12775:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    12741:12741:void checkIdentifier(int,java.lang.String,int,int,java.lang.String):1234:1234 -> a
    12776:12780:void checkInternalName(int,java.lang.String,java.lang.String):1297:1301 -> a
    12781:12787:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkInternalClassName(int,java.lang.String,java.lang.String):1319:1325 -> a
    12781:12787:void checkInternalName(int,java.lang.String,java.lang.String):1303 -> a
    12788:12788:void checkInternalName(int,java.lang.String,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":14090,"2":14091,"3":14092,"4":14093,"5":14094,"6":14095,"7":14096}}
    14090:14090:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkInternalClassName(int,java.lang.String,java.lang.String):1325:1325 -> a
    14090:14090:void checkInternalName(int,java.lang.String,java.lang.String):1303 -> a
    14091:14091:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkInternalClassName(int,java.lang.String,java.lang.String):1325:1325 -> a
    14091:14091:void checkInternalName(int,java.lang.String,java.lang.String):1303 -> a
    14092:14092:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkInternalClassName(int,java.lang.String,java.lang.String):1325:1325 -> a
    14092:14092:void checkInternalName(int,java.lang.String,java.lang.String):1303 -> a
    14093:14093:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkInternalClassName(int,java.lang.String,java.lang.String):1325:1325 -> a
    14093:14093:void checkInternalName(int,java.lang.String,java.lang.String):1303 -> a
    14094:14094:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkInternalClassName(int,java.lang.String,java.lang.String):1325:1325 -> a
    14094:14094:void checkInternalName(int,java.lang.String,java.lang.String):1303 -> a
    14095:14095:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkInternalClassName(int,java.lang.String,java.lang.String):1325:1325 -> a
    14095:14095:void checkInternalName(int,java.lang.String,java.lang.String):1303 -> a
    14096:14096:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkInternalClassName(int,java.lang.String,java.lang.String):1325:1325 -> a
    14096:14096:void checkInternalName(int,java.lang.String,java.lang.String):1303 -> a
    12789:12789:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkInternalClassName(int,java.lang.String,java.lang.String):1325:1325 -> a
    12789:12789:void checkInternalName(int,java.lang.String,java.lang.String):1303 -> a
    12790:12790:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    12791:12791:void checkInternalName(int,java.lang.String,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":14097,"2":14098,"3":14099,"4":14100,"5":14101,"6":14102}}
    14097:14097:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    14098:14098:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    14099:14099:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    14100:14100:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    14101:14101:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    14102:14102:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    14089:14089:void checkInternalName(int,java.lang.String,java.lang.String):1298:1298 -> a
    14103:14144:int checkDescriptor(int,java.lang.String,int,boolean):1355:1396 -> a
    14145:14145:int checkDescriptor(int,java.lang.String,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":21154,"2":21155,"3":21156,"4":21157,"5":21158}}
    21154:21154:int checkDescriptor(int,java.lang.String,int,boolean):1396:1396 -> a
    21155:21155:int checkDescriptor(int,java.lang.String,int,boolean):1396:1396 -> a
    21156:21156:int checkDescriptor(int,java.lang.String,int,boolean):1396:1396 -> a
    21157:21157:int checkDescriptor(int,java.lang.String,int,boolean):1396:1396 -> a
    21158:21158:int checkDescriptor(int,java.lang.String,int,boolean):1396:1396 -> a
    15541:15541:int checkDescriptor(int,java.lang.String,int,boolean):1396:1396 -> a
    15542:15548:int checkDescriptor(int,java.lang.String,int,boolean):1376:1382 -> a
    15549:15549:int checkDescriptor(int,java.lang.String,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":21159,"2":21160,"3":21161,"4":21162,"5":21163}}
    21159:21159:int checkDescriptor(int,java.lang.String,int,boolean):1382:1382 -> a
    21160:21160:int checkDescriptor(int,java.lang.String,int,boolean):1382:1382 -> a
    21161:21161:int checkDescriptor(int,java.lang.String,int,boolean):1382:1382 -> a
    21162:21162:int checkDescriptor(int,java.lang.String,int,boolean):1382:1382 -> a
    21163:21163:int checkDescriptor(int,java.lang.String,int,boolean):1382:1382 -> a
    16931:16931:int checkDescriptor(int,java.lang.String,int,boolean):1382:1382 -> a
    16932:16932:int checkDescriptor(int,java.lang.String,int,boolean):1363:1363 -> a
    16933:16933:int checkDescriptor(int,java.lang.String,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":21164,"2":21165,"3":21166,"4":21167,"5":21168}}
    21164:21164:int checkDescriptor(int,java.lang.String,int,boolean):1363:1363 -> a
    21165:21165:int checkDescriptor(int,java.lang.String,int,boolean):1363:1363 -> a
    21166:21166:int checkDescriptor(int,java.lang.String,int,boolean):1363:1363 -> a
    21167:21167:int checkDescriptor(int,java.lang.String,int,boolean):1363:1363 -> a
    21168:21168:int checkDescriptor(int,java.lang.String,int,boolean):1363:1363 -> a
    18296:18323:int checkDescriptor(int,java.lang.String,int,boolean):1363:1390 -> a
    18324:18330:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkInternalClassName(int,java.lang.String,java.lang.String):1319:1325 -> a
    18324:18330:int checkDescriptor(int,java.lang.String,int,boolean):1390 -> a
    18331:18331:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    18332:18332:int checkDescriptor(int,java.lang.String,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":21197,"2":21198,"3":21199,"4":21200,"5":21201}}
    21197:21197:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    21198:21198:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    21199:21199:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    21200:21200:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    21201:21201:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    19724:19724:int checkDescriptor(int,java.lang.String,int,boolean):1392:1392 -> a
    19725:19725:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    19726:19726:int checkDescriptor(int,java.lang.String,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":21202,"2":21203,"3":21204,"4":21205,"5":21206}}
    21202:21202:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    21203:21203:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    21204:21204:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    21205:21205:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    21206:21206:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    21113:21113:int checkDescriptor(int,java.lang.String,int,boolean):1387:1387 -> a
    21114:21114:int checkDescriptor(int,java.lang.String,int,boolean):1356:1356 -> a
    21207:21208:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1440:1441 -> a
    21209:21209:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":24093,"2":24094,"3":24095,"4":24096,"5":24097,"6":24098}}
    24093:24093:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    24094:24094:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    24095:24095:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    24096:24096:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    24097:24097:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    24098:24098:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    22650:22650:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1441:1441 -> a
    22651:22651:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    22652:22652:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":24099,"2":24100,"3":24101,"4":24102,"5":24103,"6":24104}}
    24099:24099:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    24100:24100:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    24101:24101:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    24102:24102:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    24103:24103:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    24104:24104:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    24090:24090:void checkLabel(com.android.tools.r8.org.objectweb.asm.Label,boolean,java.lang.String):1438:1438 -> a
    1:1:void visitParameter(java.lang.String,int):484:484 -> b
    2:2:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkUnqualifiedName(int,java.lang.String,java.lang.String):1214:1214 -> b
    2:2:void visitParameter(java.lang.String,int):484 -> b
    3:5:void visitParameter(java.lang.String,int):486:488 -> b
    6:10:void visitCode():562:566 -> b
    11:11:void visitCode():563:563 -> b
    12:24:void visitIntInsn(int,int):654:666 -> b
    25:25:void visitIntInsn(int,int):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":716,"2":717,"3":718,"4":719,"5":720}}
    716:716:void visitIntInsn(int,int):666:666 -> b
    717:717:void visitIntInsn(int,int):666:666 -> b
    718:718:void visitIntInsn(int,int):666:666 -> b
    719:719:void visitIntInsn(int,int):666:666 -> b
    720:720:void visitIntInsn(int,int):666:666 -> b
    691:696:void visitIntInsn(int,int):666:671 -> b
    697:697:void visitIntInsn(int,int):662:662 -> b
    698:698:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkSignedShort(int,java.lang.String):1121:1121 -> b
    698:698:void visitIntInsn(int,int):662 -> b
    699:714:void visitIntInsn(int,int):659:674 -> b
    715:715:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkSignedByte(int,java.lang.String):1109:1109 -> b
    715:715:void visitIntInsn(int,int):659 -> b
    721:730:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):919:928 -> b
    731:731:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> b
    731:731:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):928 -> b
    732:732:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):923:923 -> b
    733:733:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1657,"2":1658,"3":1659}}
    1657:1657:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):923:923 -> b
    1658:1658:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):923:923 -> b
    1659:1659:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):923:923 -> b
    1656:1656:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):923:923 -> b
    1660:1664:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1000:1004 -> b
    1665:1679:void checkFrameValue(java.lang.Object):1071:1085 -> b
    1680:1685:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1264:1269 -> b
    1686:1688:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1268:1270 -> b
    1689:1689:void checkMethodIdentifier(int,java.lang.String,java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5526,"2":5527,"3":5528,"4":5529,"5":5530,"6":5531,"7":5532}}
    5526:5526:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1270:1270 -> b
    5527:5527:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1270:1270 -> b
    5528:5528:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1270:1270 -> b
    5529:5529:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1270:1270 -> b
    5530:5530:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1270:1270 -> b
    5531:5531:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1270:1270 -> b
    5532:5532:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1270:1270 -> b
    2959:2968:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1270:1279 -> b
    2969:2973:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1276:1280 -> b
    2974:2974:void checkMethodIdentifier(int,java.lang.String,java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5542,"2":5543,"3":5544,"4":5545,"5":5546,"6":5547,"7":5548}}
    5542:5542:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1280:1280 -> b
    5543:5543:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1280:1280 -> b
    5544:5544:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1280:1280 -> b
    5545:5545:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1280:1280 -> b
    5546:5546:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1280:1280 -> b
    5547:5547:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1280:1280 -> b
    5548:5548:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1280:1280 -> b
    4254:4254:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1280:1280 -> b
    4255:4255:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    4256:4256:void checkMethodIdentifier(int,java.lang.String,java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5549,"2":5550,"3":5551,"4":5552,"5":5553,"6":5554}}
    5549:5549:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    5550:5550:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    5551:5551:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    5552:5552:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    5553:5553:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    5554:5554:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    5521:5521:void checkMethodIdentifier(int,java.lang.String,java.lang.String):1265:1265 -> b
    1:9:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):501:509 -> c
    10:10:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":526,"2":527,"3":528}}
    526:526:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):509:509 -> c
    527:527:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):509:509 -> c
    528:528:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):509:509 -> c
    519:524:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):509:514 -> c
    525:525:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> c
    525:525:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):514 -> c
    529:534:void visitTypeInsn(int,java.lang.String):689:694 -> c
    535:535:void visitTypeInsn(int,java.lang.String):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1233,"2":1234,"3":1235,"4":1236,"5":1237}}
    1233:1233:void visitTypeInsn(int,java.lang.String):694:694 -> c
    1234:1234:void visitTypeInsn(int,java.lang.String):694:694 -> c
    1235:1235:void visitTypeInsn(int,java.lang.String):694:694 -> c
    1236:1236:void visitTypeInsn(int,java.lang.String):694:694 -> c
    1237:1237:void visitTypeInsn(int,java.lang.String):694:694 -> c
    1229:1232:void visitTypeInsn(int,java.lang.String):694:697 -> c
    1238:1253:void visitMaxs(int,int):1009:1024 -> c
    1254:1262:void visitMaxs(int,int):1021:1029 -> c
    1263:1265:void visitEnd():1034:1036 -> c
    1266:1294:void checkLdcConstant(java.lang.Object):1159:1187 -> c
    1295:1295:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    1296:1296:void checkLdcConstant(java.lang.Object):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2509,"2":2510,"3":2511,"4":2512,"5":2513}}
    2509:2509:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    2510:2510:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    2511:2511:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    2512:2512:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    2513:2513:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    2473:2473:void checkLdcConstant(java.lang.Object):1177:1177 -> c
    2474:2501:void checkLdcConstant(java.lang.Object):1172:1199 -> c
    2502:2502:void checkLdcConstant(java.lang.Object):1191:1191 -> c
    2503:2508:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter.checkConstant(java.lang.Object):1144:1149 -> c
    2503:2508:void checkLdcConstant(java.lang.Object):1202 -> c
    1:6:void visitVarInsn(int,int):679:684 -> d
    7:8:void checkVisitCodeCalled():1045:1046 -> d
    9:11:void checkDescriptor(int,java.lang.String,boolean):1338:1340 -> d
    12:12:void checkDescriptor(int,java.lang.String,boolean):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1353,"2":1354,"3":1355,"4":1356,"5":1357}}
    1353:1353:void checkDescriptor(int,java.lang.String,boolean):1340:1340 -> d
    1354:1354:void checkDescriptor(int,java.lang.String,boolean):1340:1340 -> d
    1355:1355:void checkDescriptor(int,java.lang.String,boolean):1340:1340 -> d
    1356:1356:void checkDescriptor(int,java.lang.String,boolean):1340:1340 -> d
    1357:1357:void checkDescriptor(int,java.lang.String,boolean):1340:1340 -> d
    1352:1352:void checkDescriptor(int,java.lang.String,boolean):1340:1340 -> d
    1:2:void checkVisitEndNotCalled():1060:1061 -> e
    3:16:void checkMethodDescriptor(int,java.lang.String):1407:1420 -> e
    17:17:void checkMethodDescriptor(int,java.lang.String):1417:1417 -> e
    18:18:void checkMethodDescriptor(int,java.lang.String):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4290,"2":4291,"3":4292,"4":4293,"5":4294}}
    4290:4290:void checkMethodDescriptor(int,java.lang.String):1417:1417 -> e
    4291:4291:void checkMethodDescriptor(int,java.lang.String):1417:1417 -> e
    4292:4292:void checkMethodDescriptor(int,java.lang.String):1417:1417 -> e
    4293:4293:void checkMethodDescriptor(int,java.lang.String):1417:1417 -> e
    4294:4294:void checkMethodDescriptor(int,java.lang.String):1417:1417 -> e
    1435:1442:void checkMethodDescriptor(int,java.lang.String):1417:1424 -> e
    1443:1443:void checkMethodDescriptor(int,java.lang.String):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4301,"2":4302,"3":4303,"4":4304,"5":4305}}
    4301:4301:void checkMethodDescriptor(int,java.lang.String):1424:1424 -> e
    4302:4302:void checkMethodDescriptor(int,java.lang.String):1424:1424 -> e
    4303:4303:void checkMethodDescriptor(int,java.lang.String):1424:1424 -> e
    4304:4304:void checkMethodDescriptor(int,java.lang.String):1424:1424 -> e
    4305:4305:void checkMethodDescriptor(int,java.lang.String):1424:1424 -> e
    2867:2867:void checkMethodDescriptor(int,java.lang.String):1424:1424 -> e
    2868:2868:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> e
    2869:2869:void checkMethodDescriptor(int,java.lang.String):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4306,"2":4307,"3":4308,"4":4309,"5":4310}}
    4306:4306:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> e
    4307:4307:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> e
    4308:4308:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> e
    4309:4309:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> e
    4310:4310:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> e
    4280:4280:void checkMethodDescriptor(int,java.lang.String):1411:1411 -> e
    4281:4281:void checkMethodDescriptor(int,java.lang.String):1408:1408 -> e
    1:2:void checkVisitMaxsNotCalled():1053:1054 -> f
    3:3:void checkUnsignedShort(int,java.lang.String):1133:1133 -> f
com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$1 -> com.android.tools.r8.internal.v9:
    com.android.tools.r8.org.objectweb.asm.MethodVisitor val$methodVisitor -> F
    1:1:void <init>(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[],com.android.tools.r8.org.objectweb.asm.MethodVisitor):448:448 -> <init>
    1:15:void visitEnd():451:465 -> c
    16:20:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$1.throwError(com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.lang.Exception):470:474 -> c
    16:20:void visitEnd():462 -> c
    21:22:void visitEnd():455:456 -> c
    23:27:void com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$1.throwError(com.android.tools.r8.org.objectweb.asm.tree.analysis.Analyzer,java.lang.Exception):470:474 -> c
    23:27:void visitEnd():460 -> c
com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method -> com.android.tools.r8.internal.w9:
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_INT_INSN -> c
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_VAR_INSN -> d
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_TYPE_INSN -> e
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_FIELD_INSN -> f
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_METHOD_INSN -> g
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_JUMP_INSN -> h
    com.android.tools.r8.org.objectweb.asm.util.CheckMethodAdapter$Method VISIT_INSN -> b
    1:7:void <clinit>():73:79 -> <clinit>
    1:1:void <init>(java.lang.String,int):72:72 -> <init>
com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter -> com.android.tools.r8.internal.z9:
    com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet requiredModules -> c
    boolean visitEndCalled -> i
    int classVersion -> h
    com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet usedServices -> f
    boolean isOpen -> b
    com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet providedServices -> g
    com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet exportedPackages -> d
    com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet openedPackages -> e
    1:1:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor,boolean):92:92 -> <init>
    2:51:void <init>(int,com.android.tools.r8.org.objectweb.asm.ModuleVisitor,boolean):44:93 -> <init>
    1:2:void visitMainClass(java.lang.String):99:100 -> a
    3:15:void visitRequire(java.lang.String,int,java.lang.String):111:123 -> a
    16:16:void visitRequire(java.lang.String,int,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":145,"2":146,"3":147,"4":148,"5":149,"6":150}}
    145:145:void visitRequire(java.lang.String,int,java.lang.String):123:123 -> a
    146:146:void visitRequire(java.lang.String,int,java.lang.String):123:123 -> a
    147:147:void visitRequire(java.lang.String,int,java.lang.String):123:123 -> a
    148:148:void visitRequire(java.lang.String,int,java.lang.String):123:123 -> a
    149:149:void visitRequire(java.lang.String,int,java.lang.String):123:123 -> a
    150:150:void visitRequire(java.lang.String,int,java.lang.String):123:123 -> a
    139:144:void visitRequire(java.lang.String,int,java.lang.String):123:128 -> a
    151:160:void visitExport(java.lang.String,int,java.lang.String[]):133:142 -> a
    161:170:void visitProvide(java.lang.String,java.lang.String[]):172:181 -> a
    171:171:void visitProvide(java.lang.String,java.lang.String[]):176:176 -> a
    172:174:void visitEnd():186:188 -> a
    1:2:void visitPackage(java.lang.String):105:106 -> b
    3:15:void visitOpen(java.lang.String,int,java.lang.String[]):147:159 -> b
    16:16:void visitOpen(java.lang.String,int,java.lang.String[]):149:149 -> b
    17:18:void checkVisitEndNotCalled():192:193 -> b
    1:4:void visitUse(java.lang.String):164:167 -> c
com.android.tools.r8.org.objectweb.asm.util.CheckModuleAdapter$NameSet -> com.android.tools.r8.internal.y9:
    java.util.HashSet names -> b
    java.lang.String type -> a
    1:3:void <init>(java.lang.String):202:204 -> <init>
    1:2:void checkNameNotAlreadyDeclared(java.lang.String):208:209 -> a
com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter -> com.android.tools.r8.internal.C9:
    boolean visitEndCalled -> b
    1:1:void <init>(int,com.android.tools.r8.org.objectweb.asm.RecordComponentVisitor):74:74 -> <init>
    1:1:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():117:117 -> a
    1:1:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):79 -> a
    2:3:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):81:82 -> a
    4:4:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    4:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):82 -> a
    5:5:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():118:118 -> a
    5:5:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):79 -> a
    6:6:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():117:117 -> a
    6:6:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):102 -> a
    7:7:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):106:106 -> a
    8:8:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():118:118 -> a
    8:8:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):102 -> a
    9:9:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():117:117 -> a
    9:9:void visitEnd():111 -> a
    10:11:void visitEnd():112:113 -> a
    12:12:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():118:118 -> a
    12:12:void visitEnd():111 -> a
    13:13:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled():117:117 -> a
    13:13:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):88 -> a
    14:22:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):89:97 -> a
    23:23:void com.android.tools.r8.org.objectweb.asm.util.CheckAnnotationAdapter.<init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor):51:51 -> a
    23:23:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):97 -> a
    24:24:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):91:91 -> a
    25:25:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":119,"2":120,"3":121}}
    119:119:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):91:91 -> a
    120:120:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):91:91 -> a
    121:121:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):91:91 -> a
    117:117:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):92:92 -> a
    118:118:void com.android.tools.r8.org.objectweb.asm.util.CheckRecordComponentAdapter.checkVisitEndNotCalled() -> a
    118:118:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):88 -> a
com.android.tools.r8.org.objectweb.asm.util.Printer -> com.android.tools.r8.internal.PM:
    java.util.List text -> c
    java.lang.StringBuilder stringBuilder -> b
    java.lang.String[] TYPES -> e
    java.lang.String[] OPCODES -> d
    int api -> a
    1:208:void <clinit>():54:261 -> <clinit>
    1:4:void <init>(int):325:328 -> <init>
    void visit(java.lang.String,java.lang.Object) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitAnnotation(java.lang.String,java.lang.String) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitAnnotationDefault() -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitArray(java.lang.String) -> a
    void visitEnum(java.lang.String,java.lang.String,java.lang.String) -> a
    void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitMethodAnnotation(java.lang.String,boolean) -> a
    void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitParameterAnnotation(int,java.lang.String,boolean) -> a
    com.android.tools.r8.org.objectweb.asm.util.Printer visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean) -> a
    1:23:void appendString(java.lang.StringBuilder,java.lang.String):1241:1263 -> a
    24:37:void appendString(java.lang.StringBuilder,java.lang.String):1253:1266 -> a
com.android.tools.r8.org.objectweb.asm.util.Textifier -> com.android.tools.r8.internal.hY:
    java.lang.String tab2 -> g
    java.lang.String tab -> f
    java.lang.String ltab -> i
    java.lang.String tab3 -> h
    int numAnnotationValues -> k
    java.util.Map labelNames -> j
    java.util.List FRAME_TYPES -> l
    1:2:void <clinit>():84:85 -> <clinit>
    1:1:void <init>(int):129:129 -> <init>
    2:11:void <init>(int):88:97 -> <init>
    1:3:void visit(java.lang.String,java.lang.Object):557:559 -> a
    4:4:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitString(java.lang.String):667:667 -> a
    4:4:void visit(java.lang.String,java.lang.Object):559 -> a
    5:6:void visit(java.lang.String,java.lang.Object):560:561 -> a
    7:7:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitType(com.android.tools.r8.org.objectweb.asm.Type):671:671 -> a
    7:7:void visit(java.lang.String,java.lang.Object):561 -> a
    8:9:void visit(java.lang.String,java.lang.Object):562:563 -> a
    10:10:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitByte(byte):659:659 -> a
    10:10:void visit(java.lang.String,java.lang.Object):563 -> a
    11:12:void visit(java.lang.String,java.lang.Object):564:565 -> a
    13:13:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitBoolean(boolean):663:663 -> a
    13:13:void visit(java.lang.String,java.lang.Object):565 -> a
    14:15:void visit(java.lang.String,java.lang.Object):566:567 -> a
    16:16:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitShort(short):655:655 -> a
    16:16:void visit(java.lang.String,java.lang.Object):567 -> a
    17:18:void visit(java.lang.String,java.lang.Object):568:569 -> a
    19:19:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitChar(char):651:651 -> a
    19:19:void visit(java.lang.String,java.lang.Object):569 -> a
    20:21:void visit(java.lang.String,java.lang.Object):570:571 -> a
    22:22:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInt(int):635:635 -> a
    22:22:void visit(java.lang.String,java.lang.Object):571 -> a
    23:24:void visit(java.lang.String,java.lang.Object):572:573 -> a
    25:25:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitFloat(float):643:643 -> a
    25:25:void visit(java.lang.String,java.lang.Object):573 -> a
    26:27:void visit(java.lang.String,java.lang.Object):574:575 -> a
    28:28:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLong(long):639:639 -> a
    28:28:void visit(java.lang.String,java.lang.Object):575 -> a
    29:30:void visit(java.lang.String,java.lang.Object):576:577 -> a
    31:31:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitDouble(double):647:647 -> a
    31:31:void visit(java.lang.String,java.lang.Object):577 -> a
    32:38:void visit(java.lang.String,java.lang.Object):578:584 -> a
    39:39:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitByte(byte):659:659 -> a
    39:39:void visit(java.lang.String,java.lang.Object):584 -> a
    40:44:void visit(java.lang.String,java.lang.Object):586:590 -> a
    45:45:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitBoolean(boolean):663:663 -> a
    45:45:void visit(java.lang.String,java.lang.Object):590 -> a
    46:50:void visit(java.lang.String,java.lang.Object):592:596 -> a
    51:51:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitShort(short):655:655 -> a
    51:51:void visit(java.lang.String,java.lang.Object):596 -> a
    52:56:void visit(java.lang.String,java.lang.Object):598:602 -> a
    57:57:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitChar(char):651:651 -> a
    57:57:void visit(java.lang.String,java.lang.Object):602 -> a
    58:62:void visit(java.lang.String,java.lang.Object):604:608 -> a
    63:63:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInt(int):635:635 -> a
    63:63:void visit(java.lang.String,java.lang.Object):608 -> a
    64:68:void visit(java.lang.String,java.lang.Object):610:614 -> a
    69:69:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLong(long):639:639 -> a
    69:69:void visit(java.lang.String,java.lang.Object):614 -> a
    70:74:void visit(java.lang.String,java.lang.Object):616:620 -> a
    75:75:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitFloat(float):643:643 -> a
    75:75:void visit(java.lang.String,java.lang.Object):620 -> a
    76:80:void visit(java.lang.String,java.lang.Object):622:626 -> a
    81:81:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitDouble(double):647:647 -> a
    81:81:void visit(java.lang.String,java.lang.Object):626 -> a
    82:84:void visit(java.lang.String,java.lang.Object):629:631 -> a
    85:88:void visitEnum(java.lang.String,java.lang.String,java.lang.String):676:679 -> a
    89:94:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotation(java.lang.String,java.lang.String):684:689 -> a
    89:94:com.android.tools.r8.org.objectweb.asm.util.Printer visitAnnotation(java.lang.String,java.lang.String):51 -> a
    95:98:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitArray(java.lang.String):694:697 -> a
    95:98:com.android.tools.r8.org.objectweb.asm.util.Printer visitArray(java.lang.String):51 -> a
    99:100:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotationDefault():778:779 -> a
    99:100:com.android.tools.r8.org.objectweb.asm.util.Printer visitAnnotationDefault():51 -> a
    101:112:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitParameterAnnotation(int,java.lang.String,boolean):806:817 -> a
    101:112:com.android.tools.r8.org.objectweb.asm.util.Printer visitParameterAnnotation(int,java.lang.String,boolean):51 -> a
    113:141:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):837:865 -> a
    142:143:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):861:862 -> a
    144:144:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):858:858 -> a
    145:145:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):855:855 -> a
    146:148:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):850:852 -> a
    149:174:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):843:868 -> a
    175:184:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):925:934 -> a
    185:196:com.android.tools.r8.org.objectweb.asm.util.Printer visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):1093:1104 -> a
    197:215:com.android.tools.r8.org.objectweb.asm.util.Printer visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):1142:1160 -> a
    216:221:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotation(java.lang.String,boolean):1201:1206 -> a
    216:221:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMethodAnnotation(java.lang.String,boolean):784 -> a
    216:221:com.android.tools.r8.org.objectweb.asm.util.Printer visitMethodAnnotation(java.lang.String,boolean):51 -> a
    222:222:void appendDescriptor(int,java.lang.String):1335:1335 -> a
    223:223:void appendDescriptor(int,java.lang.String):1332:1332 -> a
    224:227:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1368:1371 -> a
    228:228:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1605,"2":1606,"3":1607}}
    1605:1605:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1373:1373 -> a
    1606:1606:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1373:1373 -> a
    1607:1607:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1373:1373 -> a
    1601:1604:void appendLabel(com.android.tools.r8.org.objectweb.asm.Label):1373:1376 -> a
    1608:1645:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1385:1422 -> a
    1646:1662:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1402:1418 -> a
    1663:1671:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1406:1414 -> a
    1672:1672:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1399:1399 -> a
    1673:1673:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1396:1396 -> a
    1674:1674:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1393:1393 -> a
    1675:1722:void appendHandle(com.android.tools.r8.org.objectweb.asm.Handle):1390:1437 -> a
    1723:1812:void appendTypeReference(int):1459:1548 -> a
    1813:1815:void appendTypeReference(int):1543:1545 -> a
    1816:1818:void appendTypeReference(int):1538:1540 -> a
    1819:1821:void appendTypeReference(int):1533:1535 -> a
    1822:1824:void appendTypeReference(int):1528:1530 -> a
    1825:1825:void appendTypeReference(int):1525:1525 -> a
    1826:1826:void appendTypeReference(int):1522:1522 -> a
    1827:1827:void appendTypeReference(int):1519:1519 -> a
    1828:1828:void appendTypeReference(int):1516:1516 -> a
    1829:1829:void appendTypeReference(int):1513:1513 -> a
    1830:1830:void appendTypeReference(int):1510:1510 -> a
    1831:1831:void appendTypeReference(int):1507:1507 -> a
    1832:1832:void appendTypeReference(int):1504:1504 -> a
    1833:1833:void appendTypeReference(int):1501:1501 -> a
    1834:1836:void appendTypeReference(int):1496:1498 -> a
    1837:1837:void appendTypeReference(int):1493:1493 -> a
    1838:1838:void appendTypeReference(int):1490:1490 -> a
    1839:1839:void appendTypeReference(int):1487:1487 -> a
    1840:1844:void appendTypeReference(int):1480:1484 -> a
    1845:1849:void appendTypeReference(int):1473:1477 -> a
    1850:1850:void appendTypeReference(int):1470:1470 -> a
    1851:1853:void appendTypeReference(int):1465:1467 -> a
    1854:1854:void appendTypeReference(int):1462:1462 -> a
    1855:1867:void appendFrameTypes(int,java.lang.Object[]):1562:1574 -> a
    1:12:com.android.tools.r8.org.objectweb.asm.util.Textifier visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):1222:1233 -> b
    13:13:void maybeAppendComma(int):1449:1449 -> b
    14:14:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.createTextifier():1600:1600 -> b
    14:14:com.android.tools.r8.org.objectweb.asm.util.Textifier addNewTextifier(java.lang.String):1586 -> b
    15:15:com.android.tools.r8.org.objectweb.asm.util.Textifier addNewTextifier(java.lang.String):1587:1587 -> b
    16:16:java.util.List com.android.tools.r8.org.objectweb.asm.util.Printer.getText():1205:1205 -> b
    16:16:com.android.tools.r8.org.objectweb.asm.util.Textifier addNewTextifier(java.lang.String):1587 -> b
    17:19:com.android.tools.r8.org.objectweb.asm.util.Textifier addNewTextifier(java.lang.String):1587:1589 -> b
    1:4:void visitAnnotationValue(java.lang.String):706:709 -> c
com.android.tools.r8.org.objectweb.asm.util.TraceAnnotationVisitor -> com.android.tools.r8.internal.NY:
    com.android.tools.r8.org.objectweb.asm.util.Printer printer -> b
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.AnnotationVisitor,com.android.tools.r8.org.objectweb.asm.util.Printer):60:61 -> <init>
    1:2:void visit(java.lang.String,java.lang.Object):66:67 -> a
    3:4:void visitEnum(java.lang.String,java.lang.String,java.lang.String):72:73 -> a
    5:6:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,java.lang.String):78:79 -> a
    7:8:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitArray(java.lang.String):84:85 -> a
    9:10:void visitEnd():90:91 -> a
com.android.tools.r8.org.objectweb.asm.util.TraceMethodVisitor -> com.android.tools.r8.internal.OY:
    com.android.tools.r8.org.objectweb.asm.util.Printer p -> j
    1:2:void <init>(com.android.tools.r8.org.objectweb.asm.MethodVisitor,com.android.tools.r8.org.objectweb.asm.util.Printer):65:66 -> <init>
    1:3:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotation(java.lang.String,boolean):77:79 -> a
    4:4:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):92:92 -> a
    5:5:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):1242:1242 -> a
    5:5:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMethodAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):822 -> a
    5:5:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):92 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    6:19:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):1242:1255 -> a
    6:19:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMethodAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):822 -> a
    6:19:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):92 -> a
    20:20:void visitAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):93:93 -> a
    21:22:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitAnnotationDefault():98:99 -> a
    23:23:void visitAnnotableParameterCount(int,boolean):104:104 -> a
    24:24:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotableParameterCount(int,boolean):795:795 -> a
    24:24:com.android.tools.r8.org.objectweb.asm.util.Printer com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotableParameterCount(int,boolean):51 -> a
    24:24:void visitAnnotableParameterCount(int,boolean):104 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    25:29:com.android.tools.r8.org.objectweb.asm.util.Textifier com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotableParameterCount(int,boolean):795:799 -> a
    25:29:com.android.tools.r8.org.objectweb.asm.util.Printer com.android.tools.r8.org.objectweb.asm.util.Textifier.visitAnnotableParameterCount(int,boolean):51 -> a
    25:29:void visitAnnotableParameterCount(int,boolean):104 -> a
    30:30:void visitAnnotableParameterCount(int,boolean):105:105 -> a
    31:33:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitParameterAnnotation(int,java.lang.String,boolean):111:113 -> a
    34:35:void visitFrame(int,int,java.lang.Object[],int,java.lang.Object[]):129:130 -> a
    36:36:void visitInsn(int):135:135 -> a
    37:37:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInsn(int):873:873 -> a
    37:37:void visitInsn(int):135 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:40:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInsn(int):873:875 -> a
    38:40:void visitInsn(int):135 -> a
    41:41:void visitInsn(int):136:136 -> a
    42:42:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):160:160 -> a
    43:43:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):909:909 -> a
    43:43:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):160 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:50:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):909:915 -> a
    44:50:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):160 -> a
    51:51:void visitFieldInsn(int,java.lang.String,java.lang.String,java.lang.String):161:161 -> a
    52:52:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):173:173 -> a
    53:53:void com.android.tools.r8.org.objectweb.asm.util.Printer.visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String):965:965 -> a
    53:53:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):181 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    54:65:void visitMethodInsn(int,java.lang.String,java.lang.String,java.lang.String,boolean):175:186 -> a
    66:66:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):196:196 -> a
    67:67:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):943:943 -> a
    67:67:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):196 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    68:89:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):943:964 -> a
    68:89:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):196 -> a
    90:90:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitType(com.android.tools.r8.org.objectweb.asm.Type):671:671 -> a
    90:90:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):966 -> a
    90:90:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):196 -> a
    91:102:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):968:979 -> a
    91:102:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):196 -> a
    103:103:void visitInvokeDynamicInsn(java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Handle,java.lang.Object[]):197:197 -> a
    104:104:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):202:202 -> a
    105:105:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):984:984 -> a
    105:105:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):202 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    106:110:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):984:988 -> a
    106:110:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):202 -> a
    111:111:void visitJumpInsn(int,com.android.tools.r8.org.objectweb.asm.Label):203:203 -> a
    112:112:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):208:208 -> a
    113:113:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLabel(com.android.tools.r8.org.objectweb.asm.Label):993:993 -> a
    113:113:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):208 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    114:118:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLabel(com.android.tools.r8.org.objectweb.asm.Label):993:997 -> a
    114:118:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):208 -> a
    119:119:void visitLabel(com.android.tools.r8.org.objectweb.asm.Label):209:209 -> a
    120:120:void visitLdcInsn(java.lang.Object):214:214 -> a
    121:121:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLdcInsn(java.lang.Object):1002:1002 -> a
    121:121:void visitLdcInsn(java.lang.Object):214 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    122:132:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLdcInsn(java.lang.Object):1002:1012 -> a
    122:132:void visitLdcInsn(java.lang.Object):214 -> a
    133:133:void visitLdcInsn(java.lang.Object):215:215 -> a
    134:134:void visitIincInsn(int,int):220:220 -> a
    135:135:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitIincInsn(int,int):1017:1017 -> a
    135:135:void visitIincInsn(int,int):220 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    136:144:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitIincInsn(int,int):1017:1025 -> a
    136:144:void visitIincInsn(int,int):220 -> a
    145:145:void visitIincInsn(int,int):221:221 -> a
    146:146:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):227:227 -> a
    147:147:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):1031:1031 -> a
    147:147:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):227 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    148:158:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):1031:1041 -> a
    148:158:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):227 -> a
    159:159:void visitTableSwitchInsn(int,int,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label[]):228:228 -> a
    160:160:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):233:233 -> a
    161:161:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):1046:1046 -> a
    161:161:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):233 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    162:172:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):1046:1056 -> a
    162:172:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):233 -> a
    173:173:void visitLookupSwitchInsn(com.android.tools.r8.org.objectweb.asm.Label,int[],com.android.tools.r8.org.objectweb.asm.Label[]):234:234 -> a
    174:174:void visitMultiANewArrayInsn(java.lang.String,int):239:239 -> a
    175:175:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMultiANewArrayInsn(java.lang.String,int):1061:1061 -> a
    175:175:void visitMultiANewArrayInsn(java.lang.String,int):239 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    176:180:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMultiANewArrayInsn(java.lang.String,int):1061:1065 -> a
    176:180:void visitMultiANewArrayInsn(java.lang.String,int):239 -> a
    181:181:void visitMultiANewArrayInsn(java.lang.String,int):240:240 -> a
    182:182:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):246:246 -> a
    183:183:com.android.tools.r8.org.objectweb.asm.util.Printer com.android.tools.r8.org.objectweb.asm.util.Textifier.visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):1071:1071 -> a
    183:183:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):246 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    184:185:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitInsnAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):247:248 -> a
    186:186:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):254:254 -> a
    187:187:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):1077:1077 -> a
    187:187:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):254 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    188:198:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):1077:1087 -> a
    188:198:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):254 -> a
    199:199:void visitTryCatchBlock(com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,java.lang.String):255:255 -> a
    200:200:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):274:274 -> a
    201:201:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):1115:1115 -> a
    201:201:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):274 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    202:214:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):1115:1127 -> a
    202:214:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):274 -> a
    215:227:void com.android.tools.r8.org.objectweb.asm.util.Textifier.appendJavaDeclaration(java.lang.String,java.lang.String):1346:1358 -> a
    215:227:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):1128 -> a
    215:227:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):274 -> a
    228:228:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):1130:1130 -> a
    228:228:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):274 -> a
    229:229:void visitLocalVariable(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.org.objectweb.asm.Label,com.android.tools.r8.org.objectweb.asm.Label,int):275:275 -> a
    230:233:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitLocalVariableAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,com.android.tools.r8.org.objectweb.asm.Label[],com.android.tools.r8.org.objectweb.asm.Label[],int[],java.lang.String,boolean):287:290 -> a
    1:1:void visitParameter(java.lang.String,int):71:71 -> b
    2:2:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitParameter(java.lang.String,int):769:769 -> b
    2:2:void visitParameter(java.lang.String,int):71 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitParameter(java.lang.String,int):769:770 -> b
    3:4:void visitParameter(java.lang.String,int):71 -> b
    5:41:void com.android.tools.r8.org.objectweb.asm.util.Textifier.appendAccess(int):1269:1305 -> b
    5:41:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitParameter(java.lang.String,int):771 -> b
    5:41:void visitParameter(java.lang.String,int):71 -> b
    42:43:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitParameter(java.lang.String,int):772:773 -> b
    42:43:void visitParameter(java.lang.String,int):71 -> b
    44:44:void visitParameter(java.lang.String,int):72:72 -> b
    45:46:void visitCode():118:119 -> b
    47:47:void visitIntInsn(int,int):141:141 -> b
    48:48:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitIntInsn(int,int):880:880 -> b
    48:48:void visitIntInsn(int,int):141 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    49:56:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitIntInsn(int,int):880:887 -> b
    49:56:void visitIntInsn(int,int):141 -> b
    57:57:void visitIntInsn(int,int):142:142 -> b
    58:60:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTryCatchAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):261:263 -> b
    61:61:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):297:297 -> b
    62:62:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1165:1165 -> b
    62:62:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):297 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    63:67:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):1165:1169 -> b
    63:67:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):297 -> b
    68:68:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):298:298 -> b
    1:1:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):85:85 -> c
    2:2:com.android.tools.r8.org.objectweb.asm.util.Printer com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMethodTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):790:790 -> c
    2:2:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):85 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:4:com.android.tools.r8.org.objectweb.asm.AnnotationVisitor visitTypeAnnotation(int,com.android.tools.r8.org.objectweb.asm.TypePath,java.lang.String,boolean):86:87 -> c
    5:5:void visitTypeInsn(int,java.lang.String):153:153 -> c
    6:6:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitTypeInsn(int,java.lang.String):899:899 -> c
    6:6:void visitTypeInsn(int,java.lang.String):153 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:11:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitTypeInsn(int,java.lang.String):899:903 -> c
    7:11:void visitTypeInsn(int,java.lang.String):153 -> c
    12:12:void visitTypeInsn(int,java.lang.String):154:154 -> c
    13:13:void visitMaxs(int,int):303:303 -> c
    14:14:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMaxs(int,int):1174:1174 -> c
    14:14:void visitMaxs(int,int):303 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:21:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitMaxs(int,int):1174:1180 -> c
    15:21:void visitMaxs(int,int):303 -> c
    22:22:void visitMaxs(int,int):304:304 -> c
    23:24:void visitEnd():309:310 -> c
    1:1:void visitVarInsn(int,int):147:147 -> d
    2:2:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitVarInsn(int,int):892:892 -> d
    2:2:void visitVarInsn(int,int):147 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:5:void com.android.tools.r8.org.objectweb.asm.util.Textifier.visitVarInsn(int,int):892:894 -> d
    3:5:void visitVarInsn(int,int):147 -> d
    6:6:void visitVarInsn(int,int):148:148 -> d
com.android.tools.r8.org.objectweb.asm.util.TraceSignatureVisitor -> com.android.tools.r8.internal.RY:
    int arrayStack -> j
    java.lang.String separator -> k
    int argumentStack -> i
    java.lang.StringBuilder declaration -> b
    boolean formalTypeParameterVisited -> e
    boolean interfaceBoundVisited -> f
    boolean parameterTypeVisited -> g
    boolean interfaceVisited -> h
    java.util.Map BASE_TYPES -> l
    boolean isInterface -> a
    java.lang.StringBuilder exceptions -> d
    java.lang.StringBuilder returnType -> c
    1:11:void <clinit>():52:62 -> <clinit>
    1:1:void <init>(int):112:112 -> <init>
    2:12:void <init>(int):104:114 -> <init>
    13:13:void <init>(java.lang.StringBuilder):118:118 -> <init>
    14:30:void <init>(java.lang.StringBuilder):104:120 -> <init>
    1:6:void visitBaseType(char):203:208 -> a
    7:7:void visitBaseType(char):205:205 -> a
    8:19:void visitClassType(java.lang.String):227:238 -> a
    20:25:void endType():335:340 -> a
    1:3:void visitFormalTypeParameter(java.lang.String):125:127 -> b
    4:17:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitTypeArgument(char):266:279 -> b
    18:18:java.lang.String getDeclaration():300:300 -> b
    1:8:void visitInnerClassType(java.lang.String):243:250 -> c
    9:9:java.lang.String getExceptions():318:318 -> c
    1:3:void visitTypeVariable(java.lang.String):213:215 -> d
    4:4:java.lang.String getReturnType():309:309 -> d
    1:1:void startType():331:331 -> e
    1:2:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitArrayType():220:221 -> f
    1:2:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitClassBound():132:133 -> g
    1:5:void visitEnd():285:289 -> h
    1:6:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitExceptionType():193:198 -> i
    1:7:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitInterface():155:161 -> j
    1:3:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitInterfaceBound():139:141 -> k
    1:3:void com.android.tools.r8.org.objectweb.asm.util.TraceSignatureVisitor.endFormals():324:326 -> l
    1:3:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitParameterType():167 -> l
    4:10:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitParameterType():168:174 -> l
    1:3:void com.android.tools.r8.org.objectweb.asm.util.TraceSignatureVisitor.endFormals():324:326 -> m
    1:3:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitReturnType():180 -> m
    4:11:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitReturnType():181:188 -> m
    1:3:void com.android.tools.r8.org.objectweb.asm.util.TraceSignatureVisitor.endFormals():324:326 -> n
    1:3:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitSuperclass():147 -> n
    4:5:com.android.tools.r8.org.objectweb.asm.signature.SignatureVisitor visitSuperclass():148:149 -> n
    1:7:void visitTypeArgument():255:261 -> o
com.android.tools.r8.origin.ArchiveEntryOrigin -> com.android.tools.r8.origin.ArchiveEntryOrigin:
    java.lang.String entryName -> f
    1:2:void <init>(java.lang.String,com.android.tools.r8.origin.Origin):18:19 -> <init>
    1:1:java.lang.String getEntryName():28:28 -> getEntryName
    1:1:java.lang.String part():24:24 -> part
com.android.tools.r8.origin.CommandLineOrigin -> com.android.tools.r8.origin.a:
    com.android.tools.r8.origin.CommandLineOrigin INSTANCE -> f
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    1:1:java.lang.String part():17:17 -> part
com.android.tools.r8.origin.EmbeddedOrigin -> com.android.tools.r8.origin.b:
    com.android.tools.r8.origin.EmbeddedOrigin INSTANCE -> f
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>():12:12 -> <init>
    1:1:java.lang.String part():17:17 -> part
com.android.tools.r8.origin.Origin -> com.android.tools.r8.origin.Origin:
    com.android.tools.r8.origin.Origin ROOT -> c
    com.android.tools.r8.origin.Origin parent -> b
    com.android.tools.r8.origin.Origin UNKNOWN -> d
    boolean $assertionsDisabled -> e
    1:17:void <clinit>():26:42 -> <clinit>
    1:1:void <init>(com.android.tools.r8.origin.Origin$1):27:27 -> <init>
    2:3:void <init>():67:68 -> <init>
    4:6:void <init>(com.android.tools.r8.origin.Origin):71:73 -> <init>
    1:2:java.util.List buildParts(int):87:88 -> a
    1:1:int compareTo(java.lang.Object):26:26 -> compareTo
    2:11:int compareTo(com.android.tools.r8.origin.Origin):130:139 -> compareTo
    1:8:boolean equals(java.lang.Object):115:122 -> equals
    1:4:com.android.tools.r8.origin.Origin getFromHierarchy(java.lang.Class):101:104 -> getFromHierarchy
    1:2:int hashCode():145:146 -> hashCode
    1:1:com.android.tools.r8.origin.Origin parent():79:79 -> parent
    1:1:java.util.List parts():83:83 -> parts
    1:1:com.android.tools.r8.origin.Origin root():58:58 -> root
    1:1:java.lang.String toString():153:153 -> toString
    1:1:com.android.tools.r8.origin.Origin unknown():62:62 -> unknown
com.android.tools.r8.origin.Origin$1 -> com.android.tools.r8.origin.c:
    1:1:void <init>():30:30 -> <init>
    1:1:java.util.List buildParts(int):38:38 -> a
    1:1:int compareTo(java.lang.Object):30:30 -> compareTo
    1:1:java.lang.String part():33:33 -> part
com.android.tools.r8.origin.Origin$2 -> com.android.tools.r8.origin.d:
    1:1:void <init>():43:43 -> <init>
    1:2:java.util.List buildParts(int):51:52 -> a
    1:1:int compareTo(java.lang.Object):43:43 -> compareTo
    1:1:java.lang.String part():46:46 -> part
com.android.tools.r8.origin.PathOrigin -> com.android.tools.r8.origin.PathOrigin:
    java.nio.file.Path path -> f
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():13:13 -> <clinit>
    1:3:void <init>(java.nio.file.Path):19:21 -> <init>
    1:1:java.nio.file.Path getPath():30:30 -> getPath
    1:1:java.lang.String part():26:26 -> part
com.android.tools.r8.origin.SynthesizedOrigin -> com.android.tools.r8.origin.e:
    java.lang.String reason -> f
    1:2:void <init>(java.lang.String,java.lang.Class):13:14 -> <init>
    1:1:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":22,"2":23,"3":24}}
    22:22:java.lang.String part():20:20 -> part
    23:23:java.lang.String part():20:20 -> part
    24:24:java.lang.String part():20:20 -> part
    21:21:java.lang.String part():20:20 -> part
com.android.tools.r8.position.MethodPosition -> com.android.tools.r8.position.MethodPosition:
    com.android.tools.r8.references.MethodReference method -> a
    com.android.tools.r8.position.Position textPosition -> b
    1:1:void <init>(com.android.tools.r8.graph.DexMethod):24:24 -> <init>
    2:2:void <init>(com.android.tools.r8.references.MethodReference):29:29 -> <init>
    3:5:void <init>(com.android.tools.r8.references.MethodReference,com.android.tools.r8.position.Position):32:34 -> <init>
    1:1:com.android.tools.r8.position.MethodPosition create(com.android.tools.r8.graph.ProgramMethod):38:38 -> create
    2:6:com.android.tools.r8.position.MethodPosition create(com.android.tools.r8.graph.DexEncodedMethod):42:46 -> create
    7:7:com.android.tools.r8.position.MethodPosition create(com.android.tools.r8.references.MethodReference):50:50 -> create
    8:8:com.android.tools.r8.position.MethodPosition create(com.android.tools.r8.references.MethodReference,com.android.tools.r8.position.Position):54:54 -> create
    1:2:boolean equals(java.lang.Object):104:105 -> equals
    1:1:java.lang.String getDescription():94:94 -> getDescription
    1:1:java.lang.String getHolder():68:68 -> getHolder
    1:1:com.android.tools.r8.references.MethodReference getMethod():59:59 -> getMethod
    1:1:java.lang.String getName():63:63 -> getName
    1:3:java.util.List getParameterTypes():78:80 -> getParameterTypes
    1:1:java.lang.String getReturnType():73:73 -> getReturnType
    1:1:com.android.tools.r8.position.Position getTextPosition():84:84 -> getTextPosition
    1:1:int hashCode():99:99 -> hashCode
    1:1:java.lang.String toString():89:89 -> toString
com.android.tools.r8.position.Position -> com.android.tools.r8.position.Position:
    1:1:void <clinit>():19:19 -> <clinit>
com.android.tools.r8.position.Position$1 -> com.android.tools.r8.position.a:
    1:1:void <init>():19:19 -> <init>
    1:1:java.lang.String getDescription():22:22 -> getDescription
com.android.tools.r8.position.TextPosition -> com.android.tools.r8.position.TextPosition:
    long offset -> a
    int line -> b
    int column -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():12:12 -> <clinit>
    1:7:void <init>(long,int,int):27:33 -> <init>
    1:3:boolean equals(java.lang.Object):75:77 -> equals
    1:1:int getColumn():48:48 -> getColumn
    1:1:java.lang.String getDescription():0:0 -> getDescription
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":127,"2":128,"3":129}}
    127:127:java.lang.String getDescription():62:62 -> getDescription
    128:128:java.lang.String getDescription():62:62 -> getDescription
    129:129:java.lang.String getDescription():62:62 -> getDescription
    63:63:java.lang.String getDescription():62:62 -> getDescription
    64:64:java.lang.String getDescription():0:0 -> getDescription
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":130,"2":131,"3":132}}
    130:130:java.lang.String getDescription():62:62 -> getDescription
    131:131:java.lang.String getDescription():62:62 -> getDescription
    132:132:java.lang.String getDescription():62:62 -> getDescription
    126:126:java.lang.String getDescription():62:62 -> getDescription
    1:1:int getLine():40:40 -> getLine
    1:1:long getOffset():52:52 -> getOffset
    1:1:int hashCode():67:67 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":59,"2":60,"3":61}}
    59:59:java.lang.String toString():57:57 -> toString
    60:60:java.lang.String toString():57:57 -> toString
    61:61:java.lang.String toString():57:57 -> toString
    58:58:java.lang.String toString():57:57 -> toString
com.android.tools.r8.position.TextRange -> com.android.tools.r8.position.TextRange:
    com.android.tools.r8.position.TextPosition end -> b
    com.android.tools.r8.position.TextPosition start -> a
    1:3:void <init>(com.android.tools.r8.position.TextPosition,com.android.tools.r8.position.TextPosition):14:16 -> <init>
    1:3:boolean equals(java.lang.Object):43:45 -> equals
    1:1:java.lang.String getDescription():57:57 -> getDescription
    1:1:com.android.tools.r8.position.TextPosition getEnd():30:30 -> getEnd
    1:1:com.android.tools.r8.position.TextPosition getStart():23:23 -> getStart
    1:1:int hashCode():35:35 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":54,"2":55,"3":56}}
    54:54:java.lang.String toString():52:52 -> toString
    55:55:java.lang.String toString():52:52 -> toString
    56:56:java.lang.String toString():52:52 -> toString
    53:53:java.lang.String toString():52:52 -> toString
com.android.tools.r8.references.ArrayReference -> com.android.tools.r8.references.ArrayReference:
    java.lang.String descriptor -> c
    com.android.tools.r8.references.TypeReference baseType -> b
    int dimensions -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():13:13 -> <clinit>
    1:5:void <init>(int,com.android.tools.r8.references.TypeReference,java.lang.String):22:26 -> <init>
    1:10:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):30:39 -> a
    11:11:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":51,"2":52,"3":53,"4":54,"5":55}}
    51:51:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):39:39 -> a
    52:52:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):39:39 -> a
    53:53:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):39:39 -> a
    54:54:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):39:39 -> a
    55:55:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):39:39 -> a
    50:50:com.android.tools.r8.references.ArrayReference fromDescriptor(java.lang.String):39:39 -> a
    56:59:com.android.tools.r8.references.ArrayReference fromBaseType(com.android.tools.r8.references.TypeReference,int):43:46 -> a
    60:65:java.lang.String com.android.tools.r8.utils.DescriptorUtils.toArrayDescriptor(int,java.lang.String):108:113 -> a
    60:65:com.android.tools.r8.references.ArrayReference fromBaseType(com.android.tools.r8.references.TypeReference,int):46 -> a
    66:66:com.android.tools.r8.references.ArrayReference fromBaseType(com.android.tools.r8.references.TypeReference,int):46:46 -> a
    1:5:boolean equals(java.lang.Object):81:85 -> equals
    1:1:com.android.tools.r8.references.TypeReference getBaseType():58:58 -> getBaseType
    1:1:java.lang.String getDescriptor():73:73 -> getDescriptor
    1:1:int getDimensions():50:50 -> getDimensions
    1:1:com.android.tools.r8.references.TypeReference getMemberType():54:54 -> getMemberType
    1:1:int hashCode():90:90 -> hashCode
com.android.tools.r8.references.ClassReference -> com.android.tools.r8.references.ClassReference:
    java.lang.String descriptor -> a
    1:2:void <init>(java.lang.String):17:18 -> <init>
    1:1:com.android.tools.r8.references.ClassReference fromDescriptor(java.lang.String):22:22 -> a
    1:4:boolean equals(java.lang.Object):49:52 -> equals
    1:1:java.lang.String getBinaryName():26:26 -> getBinaryName
    1:1:java.lang.String getDescriptor():41:41 -> getDescriptor
    1:1:int hashCode():57:57 -> hashCode
    1:1:java.lang.String toString():62:62 -> toString
com.android.tools.r8.references.FieldReference -> com.android.tools.r8.references.FieldReference:
    com.android.tools.r8.references.ClassReference holderClass -> a
    java.lang.String fieldName -> b
    com.android.tools.r8.references.TypeReference fieldType -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:7:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String,com.android.tools.r8.references.TypeReference):23:29 -> <init>
    1:7:boolean equals(java.lang.Object):52:58 -> equals
    1:1:java.lang.String getFieldName():37:37 -> getFieldName
    1:1:com.android.tools.r8.references.TypeReference getFieldType():41:41 -> getFieldType
    1:1:com.android.tools.r8.references.ClassReference getHolderClass():33:33 -> getHolderClass
    1:1:int hashCode():63:63 -> hashCode
    1:1:java.lang.String toString():68:68 -> toString
com.android.tools.r8.references.MethodReference -> com.android.tools.r8.references.MethodReference:
    com.android.tools.r8.references.ClassReference holderClass -> a
    java.util.List formalTypes -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.references.TypeReference returnType -> d
    java.lang.String methodName -> b
    1:1:void <clinit>():20:20 -> <clinit>
    1:7:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):32:38 -> <init>
    1:8:boolean equals(java.lang.Object):65:72 -> equals
    1:1:java.util.List getFormalTypes():50:50 -> getFormalTypes
    1:1:com.android.tools.r8.references.ClassReference getHolderClass():42:42 -> getHolderClass
    1:3:java.lang.String getMethodDescriptor():81:81 -> getMethodDescriptor
    5:5:java.lang.String getMethodDescriptor():83:83 -> getMethodDescriptor
    1:1:java.lang.String getMethodName():46:46 -> getMethodName
    1:1:com.android.tools.r8.references.TypeReference getReturnType():54:54 -> getReturnType
    1:1:int hashCode():77:77 -> hashCode
    1:1:java.lang.String toString():88:88 -> toString
com.android.tools.r8.references.PackageReference -> com.android.tools.r8.references.PackageReference:
    java.lang.String packageName -> a
    1:6:void <init>(java.lang.String):19:24 -> <init>
    7:7:void <init>(java.lang.String):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":37,"2":38,"3":39,"4":40,"5":41,"6":42}}
    37:37:void <init>(java.lang.String):24:24 -> <init>
    38:38:void <init>(java.lang.String):24:24 -> <init>
    39:39:void <init>(java.lang.String):24:24 -> <init>
    40:40:void <init>(java.lang.String):24:24 -> <init>
    41:41:void <init>(java.lang.String):24:24 -> <init>
    42:42:void <init>(java.lang.String):24:24 -> <init>
    31:33:void <init>(java.lang.String):24:26 -> <init>
    34:34:void <init>(java.lang.String):21:21 -> <init>
    1:5:boolean equals(java.lang.Object):38:42 -> equals
    1:1:java.lang.String getPackageName():30:30 -> getPackageName
    1:1:int hashCode():47:47 -> hashCode
com.android.tools.r8.references.PrimitiveReference -> com.android.tools.r8.references.PrimitiveReference:
    com.android.tools.r8.references.PrimitiveReference LONG -> g
    com.android.tools.r8.references.PrimitiveReference FLOAT -> f
    com.android.tools.r8.references.PrimitiveReference DOUBLE -> h
    com.android.tools.r8.references.PrimitiveReference CHAR -> c
    boolean $assertionsDisabled -> i
    com.android.tools.r8.references.PrimitiveReference BYTE -> b
    com.android.tools.r8.references.PrimitiveReference INT -> e
    com.android.tools.r8.references.PrimitiveReference SHORT -> d
    com.android.tools.r8.references.PrimitiveReference BOOL -> a
    1:61:void <clinit>():10:70 -> <clinit>
    1:1:void <init>(com.android.tools.r8.references.PrimitiveReference$1):12:12 -> <init>
    2:2:void <init>():78:78 -> <init>
    1:1:int hashCode():124:124 -> hashCode
com.android.tools.r8.references.PrimitiveReference$1 -> com.android.tools.r8.references.a:
    1:1:void <init>():15:15 -> <init>
    1:1:java.lang.String getDescriptor():18:18 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$2 -> com.android.tools.r8.references.b:
    1:1:void <init>():23:23 -> <init>
    1:1:java.lang.String getDescriptor():26:26 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$3 -> com.android.tools.r8.references.c:
    1:1:void <init>():31:31 -> <init>
    1:1:java.lang.String getDescriptor():34:34 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$4 -> com.android.tools.r8.references.d:
    1:1:void <init>():39:39 -> <init>
    1:1:java.lang.String getDescriptor():42:42 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$5 -> com.android.tools.r8.references.e:
    1:1:void <init>():47:47 -> <init>
    1:1:java.lang.String getDescriptor():50:50 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$6 -> com.android.tools.r8.references.f:
    1:1:void <init>():55:55 -> <init>
    1:1:java.lang.String getDescriptor():58:58 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$7 -> com.android.tools.r8.references.g:
    1:1:void <init>():63:63 -> <init>
    1:1:java.lang.String getDescriptor():66:66 -> getDescriptor
com.android.tools.r8.references.PrimitiveReference$8 -> com.android.tools.r8.references.h:
    1:1:void <init>():71:71 -> <init>
    1:1:java.lang.String getDescriptor():74:74 -> getDescriptor
com.android.tools.r8.references.Reference -> com.android.tools.r8.references.Reference:
    1:8:void <clinit>():29:36 -> <clinit>
    1:1:com.android.tools.r8.references.ArrayReference array(com.android.tools.r8.references.TypeReference,int):109:109 -> array
    1:1:com.android.tools.r8.references.ArrayReference arrayFromDescriptor(java.lang.String):104:104 -> arrayFromDescriptor
    1:1:com.android.tools.r8.references.MethodReference classConstructor(com.android.tools.r8.references.ClassReference):183:183 -> classConstructor
    1:1:com.android.tools.r8.references.ClassReference classFromBinaryName(java.lang.String):85:85 -> classFromBinaryName
    1:1:com.android.tools.r8.references.ClassReference classFromClass(java.lang.Class):99:99 -> classFromClass
    1:1:com.android.tools.r8.references.ClassReference classFromDescriptor(java.lang.String):76:76 -> classFromDescriptor
    1:1:com.android.tools.r8.references.ClassReference classFromTypeName(java.lang.String):94:94 -> classFromTypeName
    1:1:com.android.tools.r8.references.FieldReference field(com.android.tools.r8.references.ClassReference,java.lang.String,com.android.tools.r8.references.TypeReference):189:189 -> field
    1:4:com.android.tools.r8.references.FieldReference fieldFromField(java.lang.reflect.Field):194:197 -> fieldFromField
    5:5:com.android.tools.r8.references.TypeReference typeFromClass(java.lang.Class):67:67 -> fieldFromField
    5:5:com.android.tools.r8.references.FieldReference fieldFromField(java.lang.reflect.Field):197 -> fieldFromField
    6:6:com.android.tools.r8.references.FieldReference fieldFromField(java.lang.reflect.Field):197:197 -> fieldFromField
    1:2:com.android.tools.r8.references.MethodReference method(com.android.tools.r8.references.ClassReference,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):118:119 -> method
    1:11:com.android.tools.r8.references.MethodReference methodFromDescriptor(java.lang.String,java.lang.String,java.lang.String):153:163 -> methodFromDescriptor
    12:12:com.android.tools.r8.references.MethodReference methodFromDescriptor(java.lang.String,java.lang.String,java.lang.String):159:159 -> methodFromDescriptor
    13:23:com.android.tools.r8.references.MethodReference methodFromDescriptor(com.android.tools.r8.references.ClassReference,java.lang.String,java.lang.String):169:179 -> methodFromDescriptor
    24:24:com.android.tools.r8.references.MethodReference methodFromDescriptor(com.android.tools.r8.references.ClassReference,java.lang.String,java.lang.String):175:175 -> methodFromDescriptor
    1:6:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Method):124:129 -> methodFromMethod
    7:7:com.android.tools.r8.references.TypeReference typeFromClass(java.lang.Class):67:67 -> methodFromMethod
    7:7:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Method):130 -> methodFromMethod
    8:14:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Method):130:136 -> methodFromMethod
    15:15:com.android.tools.r8.references.TypeReference typeFromClass(java.lang.Class):67:67 -> methodFromMethod
    15:15:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Method):136 -> methodFromMethod
    16:16:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Method):132:132 -> methodFromMethod
    17:20:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Constructor):141:144 -> methodFromMethod
    21:21:com.android.tools.r8.references.TypeReference typeFromClass(java.lang.Class):67:67 -> methodFromMethod
    21:21:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Constructor):145 -> methodFromMethod
    22:24:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.reflect.Constructor):145:147 -> methodFromMethod
    1:1:com.android.tools.r8.references.PackageReference packageFromPackage(java.lang.Package):208:208 -> packageFromPackage
    1:1:com.android.tools.r8.references.PackageReference packageFromString(java.lang.String):203:203 -> packageFromString
    1:20:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):81:100 -> primitiveFromDescriptor
    1:20:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    21:21:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):0:0 -> primitiveFromDescriptor
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60,"4":61,"5":62}}
    58:58:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
    58:58:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    59:59:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
    59:59:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    60:60:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
    60:60:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    61:61:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
    61:61:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    62:62:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
    62:62:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    22:22:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):100:100 -> primitiveFromDescriptor
    22:22:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    23:35:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):84:96 -> primitiveFromDescriptor
    23:35:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    36:42:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):92:98 -> primitiveFromDescriptor
    36:42:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    43:43:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):88:88 -> primitiveFromDescriptor
    43:43:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    44:44:com.android.tools.r8.references.PrimitiveReference com.android.tools.r8.references.PrimitiveReference.fromDescriptor(java.lang.String):86:86 -> primitiveFromDescriptor
    44:44:com.android.tools.r8.references.PrimitiveReference primitiveFromDescriptor(java.lang.String):71 -> primitiveFromDescriptor
    1:1:com.android.tools.r8.references.TypeReference returnTypeFromDescriptor(java.lang.String):43:43 -> returnTypeFromDescriptor
    1:1:com.android.tools.r8.references.TypeReference returnTypeFromTypeName(java.lang.String):47:47 -> returnTypeFromTypeName
    1:7:com.android.tools.r8.references.TypeReference typeFromDescriptor(java.lang.String):51:57 -> typeFromDescriptor
    8:8:com.android.tools.r8.references.TypeReference typeFromDescriptor(java.lang.String):55:55 -> typeFromDescriptor
    9:9:com.android.tools.r8.references.TypeReference typeFromDescriptor(java.lang.String):53:53 -> typeFromDescriptor
    1:1:com.android.tools.r8.references.TypeReference typeFromTypeName(java.lang.String):62:62 -> typeFromTypeName
com.android.tools.r8.references.TypeReference -> com.android.tools.r8.references.TypeReference:
    1:1:java.lang.String getTypeName():64:64 -> getTypeName
com.android.tools.r8.relocator.Relocator -> com.android.tools.r8.relocator.Relocator:
    1:3:void lambda$run$0(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):49:51 -> a
    1:1:void lambda$run$1(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):69:69 -> b
    1:11:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):79:89 -> c
    12:12:void com.android.tools.r8.naming.signature.GenericSignatureRewriter.<init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens):31:31 -> c
    12:12:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):89 -> c
    13:25:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):89:101 -> c
    26:26:java.lang.RuntimeException com.android.tools.r8.utils.ExceptionUtils.unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> c
    26:26:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):96 -> c
    27:32:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.InternalOptions):96:101 -> c
    1:5:void run(com.android.tools.r8.relocator.RelocatorCommand):42:46 -> run
    6:6:void run(com.android.tools.r8.relocator.RelocatorCommand):45:45 -> run
    7:10:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService):64:67 -> run
    11:11:void run(com.android.tools.r8.relocator.RelocatorCommand,java.util.concurrent.ExecutorService):66:66 -> run
com.android.tools.r8.relocator.RelocatorCommand -> com.android.tools.r8.relocator.RelocatorCommand:
    com.android.tools.r8.ClassFileConsumer consumer -> e
    com.android.tools.r8.com.google.common.collect.ImmutableMap mapping -> g
    com.android.tools.r8.graph.DexItemFactory factory -> d
    java.util.Set OPTIONS_WITH_PARAMETER -> i
    java.lang.String USAGE_MESSAGE -> j
    int threadCount -> h
    boolean $assertionsDisabled -> k
    boolean printHelp -> a
    boolean printVersion -> b
    com.android.tools.r8.utils.AndroidApp app -> f
    com.android.tools.r8.utils.Reporter reporter -> c
    1:13:void <clinit>():44:56 -> <clinit>
    14:14:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable[]):472:472 -> <clinit>
    14:14:void <clinit>():55 -> <clinit>
    15:15:void <clinit>():53:53 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ClassFileConsumer,int,com.android.tools.r8.relocator.RelocatorCommand$1):45:45 -> <init>
    2:2:void <init>(boolean,boolean,com.android.tools.r8.relocator.RelocatorCommand$1):45:45 -> <init>
    3:11:void <init>(boolean,boolean):76:84 -> <init>
    12:20:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.ClassFileConsumer,int):93:101 -> <init>
    1:1:java.util.Set access$000():45:45 -> a
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder builder():105:105 -> builder
    2:2:void com.android.tools.r8.relocator.RelocatorCommand$Builder.<init>():183:183 -> builder
    2:2:com.android.tools.r8.relocator.RelocatorCommand$Builder builder():105 -> builder
    3:3:com.android.tools.r8.relocator.RelocatorCommand$Builder builder(com.android.tools.r8.DiagnosticsHandler):113:113 -> builder
    4:4:void com.android.tools.r8.relocator.RelocatorCommand$Builder.<init>(com.android.tools.r8.DiagnosticsHandler):187:187 -> builder
    4:4:com.android.tools.r8.relocator.RelocatorCommand$Builder builder(com.android.tools.r8.DiagnosticsHandler):113 -> builder
    1:1:com.android.tools.r8.utils.AndroidApp getApp():133:133 -> getApp
    1:1:com.android.tools.r8.ClassFileConsumer getConsumer():125:125 -> getConsumer
    1:1:com.android.tools.r8.graph.DexItemFactory getFactory():121:121 -> getFactory
    1:10:com.android.tools.r8.utils.InternalOptions getInternalOptions():146:155 -> getInternalOptions
    11:11:com.android.tools.r8.shaking.ProguardPathList$Builder com.android.tools.r8.shaking.ProguardPathList$Builder.addFileName(java.lang.String):30:30 -> getInternalOptions
    11:11:com.android.tools.r8.utils.InternalOptions getInternalOptions():155 -> getInternalOptions
    12:19:com.android.tools.r8.utils.InternalOptions getInternalOptions():155:162 -> getInternalOptions
    1:1:java.util.Map getMapping():167:167 -> getMapping
    1:1:com.android.tools.r8.utils.Reporter getReporter():117:117 -> getReporter
    1:1:int getThreadCount():129:129 -> getThreadCount
    1:1:boolean isPrintHelp():137:137 -> isPrintHelp
    1:1:boolean isPrintVersion():141:141 -> isPrintVersion
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):109:109 -> parse
com.android.tools.r8.relocator.RelocatorCommand$Builder -> com.android.tools.r8.relocator.RelocatorCommand$Builder:
    com.android.tools.r8.ClassFileConsumer consumer -> d
    com.android.tools.r8.utils.AndroidApp$Builder app -> a
    com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder mapping -> c
    boolean printVersion -> f
    boolean printHelp -> g
    int threadCount -> e
    boolean $assertionsDisabled -> h
    com.android.tools.r8.utils.Reporter reporter -> b
    1:1:void <clinit>():170:170 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp$Builder):190:190 -> <init>
    2:18:void <init>(com.android.tools.r8.utils.AndroidApp$Builder):176:192 -> <init>
    1:5:void lambda$addProgramFiles$0(java.util.Collection):247:251 -> a
    6:6:void error(com.android.tools.r8.origin.Origin,java.lang.Throwable):319:319 -> a
    6:6:void lambda$addProgramFiles$0(java.util.Collection):251 -> a
    7:9:void lambda$addProgramFile$1(java.nio.file.Path):263:265 -> a
    10:10:void error(com.android.tools.r8.origin.Origin,java.lang.Throwable):319:319 -> a
    10:10:void lambda$addProgramFile$1(java.nio.file.Path):265 -> a
    11:15:void lambda$build$2(com.android.tools.r8.utils.Box):302:306 -> a
    16:17:void validate():292:293 -> a
    16:17:void lambda$build$2(com.android.tools.r8.utils.Box):307 -> a
    18:22:void lambda$build$2(com.android.tools.r8.utils.Box):308:312 -> a
    23:23:void lambda$build$2(com.android.tools.r8.utils.Box):310:310 -> a
    24:24:void lambda$build$2(com.android.tools.r8.utils.Box):303:303 -> a
    25:34:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):361:370 -> a
    35:35:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2122,"2":2123,"3":2124}}
    2122:2122:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    2123:2123:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    2124:2124:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    405:405:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    406:406:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2125,"2":2126,"3":2127}}
    2125:2125:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    2126:2126:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    2127:2127:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:370 -> a
    776:824:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):370:418 -> a
    825:825:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2175,"2":2176,"3":2177,"4":2178,"5":2179}}
    2175:2175:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):418:418 -> a
    2176:2176:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):418:418 -> a
    2177:2177:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):418:418 -> a
    2178:2178:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):418:418 -> a
    2179:2179:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):418:418 -> a
    1243:1243:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):418:418 -> a
    1244:1249:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):383:388 -> a
    1250:1250:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2180,"2":2181,"3":2182}}
    2180:2180:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):388:388 -> a
    2181:2181:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):388:388 -> a
    2182:2182:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):388:388 -> a
    1640:1640:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):390:390 -> a
    1641:1647:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):388:394 -> a
    1648:1676:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):380:408 -> a
    1677:1677:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2202,"2":2203,"3":2204,"4":2205,"5":2206,"6":2207}}
    2202:2202:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:408 -> a
    2203:2203:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:408 -> a
    2204:2204:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:408 -> a
    2205:2205:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:408 -> a
    2206:2206:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:408 -> a
    2207:2207:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:408 -> a
    2085:2092:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):408:415 -> a
    2093:2093:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):413:413 -> a
    2094:2121:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.relocator.RelocatorCommand$Builder):397:424 -> a
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder addPackageMapping(com.android.tools.r8.references.PackageReference,com.android.tools.r8.references.PackageReference):272:272 -> addPackageMapping
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder addProgramFile(java.nio.file.Path):260:260 -> addProgramFile
    2:4:void guard(java.lang.Runnable):325:327 -> addProgramFile
    2:4:com.android.tools.r8.relocator.RelocatorCommand$Builder addProgramFile(java.nio.file.Path):260 -> addProgramFile
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder addProgramFiles(java.nio.file.Path[]):240:240 -> addProgramFiles
    2:2:com.android.tools.r8.relocator.RelocatorCommand$Builder addProgramFiles(java.util.Collection):245:245 -> addProgramFiles
    3:5:void guard(java.lang.Runnable):325:327 -> addProgramFiles
    3:5:com.android.tools.r8.relocator.RelocatorCommand$Builder addProgramFiles(java.util.Collection):245 -> addProgramFiles
    1:17:com.android.tools.r8.relocator.RelocatorCommand build():298:314 -> build
    1:1:void error(com.android.tools.r8.Diagnostic):225:225 -> error
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):343:343 -> parse
    2:2:com.android.tools.r8.relocator.RelocatorCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):357:357 -> parse
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder setConsumer(com.android.tools.r8.ClassFileConsumer):287:287 -> setConsumer
    1:4:com.android.tools.r8.relocator.RelocatorCommand$Builder setOutputPath(java.nio.file.Path):206:209 -> setOutputPath
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder setPrintHelp(boolean):214:214 -> setPrintHelp
    1:1:com.android.tools.r8.relocator.RelocatorCommand$Builder setPrintVersion(boolean):219:219 -> setPrintVersion
    1:3:com.android.tools.r8.relocator.RelocatorCommand$Builder setThreadCount(int):231:233 -> setThreadCount
com.android.tools.r8.relocator.RelocatorCommandLine -> com.android.tools.r8.relocator.a:
    1:8:void run(java.lang.String[]):31:38 -> a
    9:9:void run(java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":51,"2":52,"3":53}}
    51:51:void run(java.lang.String[]):38:38 -> a
    52:52:void run(java.lang.String[]):38:38 -> a
    53:53:void run(java.lang.String[]):38:38 -> a
    47:50:void run(java.lang.String[]):38:41 -> a
com.android.tools.r8.relocator.RelocatorDiagnostic -> com.android.tools.r8.relocator.b:
    java.lang.String message -> b
    1:2:void <init>(java.lang.String):16:17 -> <init>
    1:1:java.lang.String getDiagnosticMessage():32:32 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():22:22 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():27:27 -> getPosition
com.android.tools.r8.relocator.SimplePackagesRewritingMapper -> com.android.tools.r8.relocator.d:
    java.util.Map typeMappings -> b
    com.android.tools.r8.graph.AppView appView -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):30:30 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.AppView):28:31 -> <init>
    1:57:com.android.tools.r8.naming.NamingLens compute(java.util.Map):37:93 -> a
    58:64:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):66:72 -> a
    65:65:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    65:65:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):78 -> a
    66:67:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):82:83 -> a
    68:68:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):36:36 -> a
    68:68:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    69:69:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":81,"2":82,"3":83}}
    81:81:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):36:36 -> a
    81:81:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    82:82:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):36:36 -> a
    82:82:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    83:83:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):36:36 -> a
    83:83:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    70:70:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":84,"2":85,"3":86,"4":87}}
    84:84:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):37:37 -> a
    84:84:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    85:85:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):37:37 -> a
    85:85:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    86:86:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):37:37 -> a
    86:86:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    87:87:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):37:37 -> a
    87:87:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    71:71:com.android.tools.r8.relocator.RelocatorDiagnostic com.android.tools.r8.relocator.RelocatorDiagnostic.typeRelocateAmbiguous(com.android.tools.r8.graph.DexType):37:37 -> a
    71:71:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83 -> a
    72:77:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):83:88 -> a
    78:80:void lambda$compute$0(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):87:89 -> a
com.android.tools.r8.relocator.SimplePackagesRewritingMapper$RelocatorNamingLens -> com.android.tools.r8.relocator.c:
    java.util.Map typeMappings -> d
    java.util.Map packageMappings -> e
    1:1:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.relocator.SimplePackagesRewritingMapper$1):96:96 -> <init>
    2:4:void <init>(java.util.Map,java.util.Map,com.android.tools.r8.graph.DexItemFactory):105:107 -> <init>
    1:1:java.lang.String lookupPackageName(java.lang.String):112:112 -> a
    2:2:com.android.tools.r8.graph.DexString internalLookupClassDescriptor(com.android.tools.r8.graph.DexType):117:117 -> a
    3:3:com.android.tools.r8.graph.DexString lookupInnerName(com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.utils.InternalOptions):122:122 -> a
    4:4:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexMethod):127:127 -> a
    5:5:com.android.tools.r8.graph.DexString lookupName(com.android.tools.r8.graph.DexField):132:132 -> a
    boolean verifyRenamingConsistentWithResolution(com.android.tools.r8.graph.DexMethod) -> b
com.android.tools.r8.repackaging.Repackaging -> com.android.tools.r8.internal.DS:
    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.repackaging.Repackaging$RepackagingConfiguration repackagingConfiguration -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():60:60 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView):66:70 -> <init>
    1:3:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):76:78 -> a
    4:40:boolean verifyIdentityRepackaging(com.android.tools.r8.graph.AppView):86:122 -> a
    41:41:void com.android.tools.r8.graph.AppView.rewriteWithLensAndApplication(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication):748:748 -> a
    41:41:boolean verifyIdentityRepackaging(com.android.tools.r8.graph.AppView):123 -> a
    42:42:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):130:130 -> a
    43:43:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isNone():1247:1247 -> a
    43:43:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):130 -> a
    44:48:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):134:138 -> a
    49:63:void com.android.tools.r8.repackaging.Repackaging.processPackagesInDesiredLocation(com.android.tools.r8.graph.ProgramPackageCollection,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,java.util.Set):202:216 -> a
    49:63:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):139 -> a
    64:66:void com.android.tools.r8.repackaging.Repackaging.processRemainingPackages(com.android.tools.r8.graph.ProgramPackageCollection,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,java.util.Set,java.util.concurrent.ExecutorService):231:233 -> a
    64:66:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):140 -> a
    67:73:java.util.Collection com.android.tools.r8.repackaging.Repackaging.computeClassesToRepackage(com.android.tools.r8.graph.ProgramPackage,java.util.concurrent.ExecutorService):306:312 -> a
    67:73:void com.android.tools.r8.repackaging.Repackaging.processRemainingPackages(com.android.tools.r8.graph.ProgramPackageCollection,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,java.util.Set,java.util.concurrent.ExecutorService):235 -> a
    67:73:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):140 -> a
    74:100:void com.android.tools.r8.repackaging.Repackaging.processRemainingPackages(com.android.tools.r8.graph.ProgramPackageCollection,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,java.util.Set,java.util.concurrent.ExecutorService):236:262 -> a
    74:100:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):140 -> a
    101:101:void com.android.tools.r8.repackaging.Repackaging.processRemainingPackages(com.android.tools.r8.graph.ProgramPackageCollection,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,java.util.Set,java.util.concurrent.ExecutorService):258:258 -> a
    101:101:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):140 -> a
    102:113:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):142:153 -> a
    114:115:com.android.tools.r8.repackaging.RepackagingLens com.android.tools.r8.repackaging.RepackagingLens$Builder.build(com.android.tools.r8.graph.AppView,java.util.Map):105:106 -> a
    114:115:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):153 -> a
    116:116:com.android.tools.r8.repackaging.RepackagingLens run(com.android.tools.r8.graph.DirectMappedDexApplication$Builder,java.util.concurrent.ExecutorService):154:154 -> a
    117:117:boolean lambda$run$0(java.util.Map$Entry):142:142 -> a
    118:146:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramPackage,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):272:300 -> a
    147:147:void processClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramPackage,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):298:298 -> a
com.android.tools.r8.repackaging.Repackaging$1 -> com.android.tools.r8.internal.yS:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():87:87 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):87:87 -> <init>
    1:1:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):95:95 -> a
    2:2:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):100:100 -> a
    3:3:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):105:105 -> a
    com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType) -> b
com.android.tools.r8.repackaging.Repackaging$2 -> com.android.tools.r8.internal.zS:
    1:1:void <init>(com.android.tools.r8.graph.AppView):109:109 -> <init>
    boolean isLegitimateToHaveEmptyMappings() -> m
com.android.tools.r8.repackaging.Repackaging$DefaultRepackagingConfiguration -> com.android.tools.r8.internal.AS:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.naming.Minifier$MinificationPackageNamingStrategy packageMinificationStrategy -> e
    com.android.tools.r8.utils.InternalOptions options -> c
    boolean $assertionsDisabled -> f
    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> d
    1:1:void <clinit>():328:328 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView):336:341 -> <init>
    1:5:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):346:350 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isRepackageClasses():1255:1255 -> a
    6:6:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):350 -> a
    7:7:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isMinification():1259:1259 -> a
    7:7:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):352 -> a
    8:14:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):354:360 -> a
    15:20:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):357:362 -> a
    21:21:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isFlattenPackageHierarchy():1251:1251 -> a
    21:21:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):362 -> a
    22:27:java.lang.String getNewPackageDescriptor(com.android.tools.r8.graph.ProgramPackage,java.util.Set):362:367 -> a
    28:32:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):373:377 -> a
    33:33:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isRepackageClasses():1255:1255 -> a
    33:33:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):377 -> a
    34:34:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):378:378 -> a
    35:35:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isMinification():1259:1259 -> a
    35:35:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):379 -> a
    36:40:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):381:385 -> a
    41:41:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isFlattenPackageHierarchy():1251:1251 -> a
    41:41:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):385 -> a
    42:42:boolean isPackageInTargetLocation(com.android.tools.r8.graph.ProgramPackage):385:385 -> a
    43:54:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):423:434 -> a
    55:55:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":500,"2":501,"3":502}}
    500:500:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):434:434 -> a
    501:501:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):434:434 -> a
    502:502:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):434:434 -> a
    491:493:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):436:438 -> a
    494:498:boolean com.android.tools.r8.repackaging.Repackaging$DefaultRepackagingConfiguration.isRepackageTypeUsed(com.android.tools.r8.graph.DexType,com.android.tools.r8.com.google.common.collect.BiMap):451:455 -> a
    494:498:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):444 -> a
    499:499:com.android.tools.r8.graph.DexType getRepackagedType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.lang.String,com.android.tools.r8.com.google.common.collect.BiMap):445:445 -> a
    1:13:boolean mayHavePinnedPackagePrivateOrProtectedItem(com.android.tools.r8.graph.ProgramPackage):396:408 -> b
com.android.tools.r8.repackaging.Repackaging$RepackagingConfiguration -> com.android.tools.r8.internal.BS:
com.android.tools.r8.repackaging.Repackaging$RepackagingTreeFixer -> com.android.tools.r8.internal.CS:
    com.android.tools.r8.repackaging.RepackagingLens$Builder lensBuilder -> g
    com.android.tools.r8.com.google.common.collect.BiMap mappings -> f
    boolean $assertionsDisabled -> h
    1:1:void <clinit>():158:158 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.BiMap,com.android.tools.r8.repackaging.RepackagingLens$Builder):167:171 -> <init>
    1:1:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):181:181 -> a
    2:2:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):92:92 -> a
    2:2:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):181 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):92:92 -> a
    3:3:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):181 -> a
    4:4:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):186:186 -> a
    5:5:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):96:96 -> a
    5:5:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):186 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):96:96 -> a
    6:6:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):186 -> a
    7:7:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):191:191 -> a
    8:8:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):100:100 -> a
    8:8:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):191 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:void com.android.tools.r8.repackaging.RepackagingLens$Builder.recordMove(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):100:100 -> a
    9:9:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):191 -> a
    1:1:com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType):176:176 -> b
com.android.tools.r8.repackaging.RepackagingAnnotationTracer -> com.android.tools.r8.internal.ES:
    com.android.tools.r8.repackaging.RepackagingUseRegistry registry -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.repackaging.RepackagingUseRegistry):24:26 -> <init>
    1:1:void trace(com.android.tools.r8.graph.DexAnnotationSet):30:30 -> a
    2:2:void trace(com.android.tools.r8.graph.ParameterAnnotationsList):34:34 -> a
    3:3:void traceAnnotation(com.android.tools.r8.graph.DexAnnotation):38:38 -> a
    4:5:void traceEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):42:43 -> a
    6:6:void traceAnnotationElement(com.android.tools.r8.graph.DexAnnotationElement):47:47 -> a
    7:61:void traceDexValue(com.android.tools.r8.graph.DexValue):51:105 -> a
    62:62:void traceDexValue(com.android.tools.r8.graph.DexValue):65:65 -> a
    63:63:com.android.tools.r8.graph.DexEncodedAnnotation com.android.tools.r8.graph.DexValue$DexValueAnnotation.getValue():1703:1703 -> a
    63:63:void traceDexValue(com.android.tools.r8.graph.DexValue):65 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    64:80:void traceDexValue(com.android.tools.r8.graph.DexValue):65:81 -> a
    81:105:void traceDexValue(com.android.tools.r8.graph.DexValue):77:101 -> a
    106:106:void traceDexValue(com.android.tools.r8.graph.DexValue):86:86 -> a
    107:107:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    107:107:void traceDexValue(com.android.tools.r8.graph.DexValue):87 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    108:108:boolean com.android.tools.r8.graph.DexMethodHandle.isFieldHandle():290:290 -> a
    108:108:void traceDexValue(com.android.tools.r8.graph.DexValue):87 -> a
    109:111:void traceDexValue(com.android.tools.r8.graph.DexValue):88:90 -> a
    112:112:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    112:112:void traceDexValue(com.android.tools.r8.graph.DexValue):90 -> a
    113:120:void traceDexValue(com.android.tools.r8.graph.DexValue):90:97 -> a
com.android.tools.r8.repackaging.RepackagingConstraintGraph -> com.android.tools.r8.internal.GS:
    com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node libraryBoundaryNode -> e
    com.android.tools.r8.graph.ProgramPackage pkg -> b
    java.util.Map nodes -> c
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set pinnedNodes -> d
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():39:39 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramPackage):47:47 -> <init>
    2:10:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramPackage):43:51 -> <init>
    1:2:com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node createNode(com.android.tools.r8.graph.DexDefinition):76:77 -> a
    3:8:void populateConstraints(java.util.concurrent.ExecutorService):94:99 -> a
    9:9:void com.android.tools.r8.graph.ProgramPackage.forEachClass(java.util.function.Consumer):56:56 -> a
    9:9:void populateConstraints(java.util.concurrent.ExecutorService):99 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:void populateConstraints(java.util.concurrent.ExecutorService):100:100 -> a
    11:41:void registerReferencesFromClass(com.android.tools.r8.graph.DexProgramClass):104:134 -> a
    42:42:void lambda$registerReferencesFromClass$0(com.android.tools.r8.repackaging.RepackagingUseRegistry,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute):129:129 -> a
    43:50:void registerReferencesFromField(com.android.tools.r8.graph.ProgramField):138:145 -> a
    51:63:void registerReferencesFromMethod(com.android.tools.r8.graph.ProgramMethod):149:161 -> a
    64:76:void registerReferencesFromMethod(com.android.tools.r8.graph.ProgramMethod):160:172 -> a
    77:90:java.util.Collection computeClassesToRepackage():177:190 -> a
    1:9:boolean initializeGraph():60:68 -> b
    10:10:com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node getNode(com.android.tools.r8.graph.DexDefinition):82:82 -> b
    11:11:boolean com.android.tools.r8.graph.DexDefinition.isNotProgramDefinition(com.android.tools.r8.graph.AppView):141:141 -> b
    11:11:com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node getNode(com.android.tools.r8.graph.DexDefinition):82 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:15:boolean com.android.tools.r8.graph.DexDefinition.isNotProgramDefinition(com.android.tools.r8.graph.AppView):142:145 -> b
    12:15:com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node getNode(com.android.tools.r8.graph.DexDefinition):82 -> b
    16:22:com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node getNode(com.android.tools.r8.graph.DexDefinition):83:89 -> b
com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node -> com.android.tools.r8.internal.FS:
    com.android.tools.r8.graph.DexDefinition definitionForDebugging -> a
    java.util.Set neighbors -> b
    1:1:void <init>(com.android.tools.r8.graph.DexDefinition):201:201 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.DexDefinition):199:202 -> <init>
    1:2:void addNeighbor(com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node):206:207 -> a
    3:3:java.util.Set getNeighbors():211:211 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":218,"2":219,"3":220}}
    218:218:java.lang.String toString():216:216 -> toString
    219:219:java.lang.String toString():216:216 -> toString
    220:220:java.lang.String toString():216:216 -> toString
    217:217:java.lang.String toString():216:216 -> toString
com.android.tools.r8.repackaging.RepackagingLens -> com.android.tools.r8.internal.IS:
    com.android.tools.r8.com.google.common.collect.BiMap newTypes -> n
    boolean $assertionsDisabled -> p
    java.util.Map packageRenamings -> o
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map,com.android.tools.r8.repackaging.RepackagingLens$1):23:23 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,com.android.tools.r8.utils.collections.BidirectionalOneToOneMap,com.android.tools.r8.com.google.common.collect.BiMap,java.util.Map):34:36 -> <init>
    1:1:java.lang.String lookupPackageName(java.lang.String):41:41 -> a
    2:3:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):46:47 -> a
    4:12:boolean isSimpleRenaming(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):53:61 -> a
    13:13:boolean isSimpleTypeRenamingOrEqual(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):70:70 -> a
    14:20:boolean isSimpleTypeRenamingOrEqual(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember):74:80 -> a
    21:21:boolean isSimpleTypeRenamingOrEqual(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.DexMember):77:77 -> a
com.android.tools.r8.repackaging.RepackagingLens$Builder -> com.android.tools.r8.internal.HS:
    com.android.tools.r8.com.google.common.collect.BiMap newTypes -> a
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newFieldSignatures -> b
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap newMethodSignatures -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():83:83 -> <clinit>
    1:6:void <init>():83:88 -> <init>
com.android.tools.r8.repackaging.RepackagingUseRegistry -> com.android.tools.r8.internal.JS:
    com.android.tools.r8.graph.InitClassLens initClassLens -> h
    boolean $assertionsDisabled -> k
    com.android.tools.r8.repackaging.RepackagingConstraintGraph constraintGraph -> g
    com.android.tools.r8.utils.InternalOptions options -> f
    com.android.tools.r8.shaking.AppInfoWithLiveness appInfo -> e
    com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node node -> i
    com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node missingTypeNode -> j
    1:1:void <clinit>():35:35 -> <clinit>
    1:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.repackaging.RepackagingConstraintGraph,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.repackaging.RepackagingConstraintGraph$Node):49:55 -> <init>
    1:6:boolean isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.DexClass):59:64 -> a
    7:7:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult):111:111 -> a
    8:21:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):116:129 -> a
    22:22:boolean com.android.tools.r8.graph.MethodResolutionResult.isClassNotFoundResult():0:0 -> a
    22:22:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):129 -> a
    23:23:boolean com.android.tools.r8.graph.MethodResolutionResult.isArrayCloneMethodResult():0:0 -> a
    23:23:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):130 -> a
    24:42:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):131:149 -> a
    43:49:boolean com.android.tools.r8.repackaging.RepackagingUseRegistry.isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,boolean):72:78 -> a
    43:49:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):151 -> a
    50:56:boolean com.android.tools.r8.repackaging.RepackagingUseRegistry.isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,boolean):77:83 -> a
    50:56:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):151 -> a
    57:57:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    57:57:boolean com.android.tools.r8.repackaging.RepackagingUseRegistry.isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,boolean):84 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    57:57:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):151 -> a
    58:58:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    58:58:boolean com.android.tools.r8.repackaging.RepackagingUseRegistry.isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,boolean):84 -> a
    58:58:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):151 -> a
    59:62:boolean com.android.tools.r8.repackaging.RepackagingUseRegistry.isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,boolean):84:87 -> a
    59:62:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):151 -> a
    63:63:boolean com.android.tools.r8.repackaging.RepackagingUseRegistry.isOnlyAccessibleFromSamePackage(com.android.tools.r8.graph.SuccessfulMemberResolutionResult,boolean):85:85 -> a
    63:63:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):151 -> a
    64:64:void registerMemberAccess(com.android.tools.r8.graph.MemberResolutionResult,boolean):152:152 -> a
    65:75:void registerTypeAccess(com.android.tools.r8.graph.DexType,java.util.function.Consumer):162:172 -> a
    76:78:void registerClassTypeAccess(com.android.tools.r8.graph.DexClass,java.util.function.Predicate):184:186 -> a
    79:79:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):202:202 -> a
    80:80:void com.android.tools.r8.repackaging.RepackagingUseRegistry.registerMemberAccessForInvoke(com.android.tools.r8.graph.MemberResolutionResult):107:107 -> a
    80:80:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):202 -> a
    81:81:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):222:222 -> a
    82:84:void registerEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):262:264 -> a
    85:92:void registerEnclosingMethodAttribute(com.android.tools.r8.graph.EnclosingMethodAttribute):263:270 -> a
    93:93:void registerInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute):280:280 -> a
    94:94:void registerNestHostAttribute(com.android.tools.r8.graph.NestHostClassAttribute):290:290 -> a
    95:95:void registerNestHostAttribute(com.android.tools.r8.graph.NestHostClassAttribute):289:289 -> a
    96:96:void registerNestMemberClassAttributes(java.util.List):300:300 -> a
    97:97:void lambda$registerNestMemberClassAttributes$5(com.android.tools.r8.graph.NestMemberClassAttribute):303:303 -> a
    98:98:void lambda$registerNestMemberClassAttributes$5(com.android.tools.r8.graph.NestMemberClassAttribute):302:302 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):192:192 -> b
    2:2:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):212:212 -> b
    3:3:void com.android.tools.r8.repackaging.RepackagingUseRegistry.registerMemberAccessForInvoke(com.android.tools.r8.graph.MemberResolutionResult):107:107 -> b
    3:3:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):212 -> b
    4:4:void lambda$registerEnclosingMethodAttribute$0(com.android.tools.r8.graph.DexClass):265:265 -> b
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):227:227 -> c
    2:2:void registerInstanceOf(com.android.tools.r8.graph.DexType):252:252 -> c
    3:3:void lambda$registerInnerClassAttribute$1(com.android.tools.r8.graph.DexClass):281:281 -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):207:207 -> d
    2:2:void com.android.tools.r8.repackaging.RepackagingUseRegistry.registerMemberAccessForInvoke(com.android.tools.r8.graph.MemberResolutionResult):107:107 -> d
    2:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):207 -> d
    3:3:void registerNewInstance(com.android.tools.r8.graph.DexType):232:232 -> d
    4:4:void lambda$registerNestHostAttribute$3(com.android.tools.r8.graph.DexClass):291:291 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):237:237 -> e
    2:2:void lambda$registerNestMemberClassAttributes$4(com.android.tools.r8.graph.DexClass):303:303 -> e
    1:1:void registerClassTypeAccess(com.android.tools.r8.graph.DexClass):177:177 -> f
    2:2:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):217:217 -> f
    3:3:void com.android.tools.r8.repackaging.RepackagingUseRegistry.registerMemberAccessForInvoke(com.android.tools.r8.graph.MemberResolutionResult):107:107 -> f
    3:3:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):217 -> f
    4:4:void registerTypeReference(com.android.tools.r8.graph.DexType):247:247 -> f
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):197:197 -> g
    2:2:void com.android.tools.r8.repackaging.RepackagingUseRegistry.registerMemberAccessForInvoke(com.android.tools.r8.graph.MemberResolutionResult):107:107 -> g
    2:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):197 -> g
    3:3:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):242:242 -> g
    4:4:void lambda$registerInnerClassAttribute$2(com.android.tools.r8.graph.DexType):281:281 -> g
    1:4:com.android.tools.r8.graph.ProgramMethod registerMethodReference(com.android.tools.r8.graph.DexMethod):99:102 -> h
    5:5:void registerTypeAccess(com.android.tools.r8.graph.DexType):158:158 -> h
    1:1:void registerFieldAccess(com.android.tools.r8.graph.DexField):95:95 -> i
com.android.tools.r8.retrace.InvalidMappingFileException -> com.android.tools.r8.retrace.InvalidMappingFileException:
    1:1:void <init>(java.lang.Throwable):13:13 -> <init>
    1:1:java.lang.String getMessage():18:18 -> getMessage
com.android.tools.r8.retrace.ProguardMapProducer -> com.android.tools.r8.retrace.ProguardMapProducer:
    1:1:java.io.Reader lambda$fromString$0(java.lang.String):23:23 -> a
    2:2:java.io.Reader lambda$fromPath$1(java.nio.file.Path):27:27 -> a
    1:1:com.android.tools.r8.retrace.ProguardMapProducer fromBytes(byte[][]):31:31 -> fromBytes
    2:9:byte[] com.android.tools.r8.com.google.common.primitives.Bytes.concat(byte[][]):161:168 -> fromBytes
    2:9:com.android.tools.r8.retrace.ProguardMapProducer fromBytes(byte[][]):31 -> fromBytes
    10:10:com.android.tools.r8.retrace.ProguardMapProducer fromBytes(byte[][]):31:31 -> fromBytes
    1:1:com.android.tools.r8.retrace.ProguardMapProducer fromPath(java.nio.file.Path):27:27 -> fromPath
    1:1:com.android.tools.r8.retrace.ProguardMapProducer fromString(java.lang.String):23:23 -> fromString
com.android.tools.r8.retrace.Retrace -> com.android.tools.r8.retrace.Retrace:
    com.android.tools.r8.retrace.StackTraceElementProxyRetracer proxyRetracer -> b
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> c
    com.android.tools.r8.retrace.StackTraceLineParser stackTraceLineParser -> a
    boolean $assertionsDisabled -> e
    boolean isVerbose -> d
    1:5:void <clinit>():59:63 -> <clinit>
    1:5:void <init>(com.android.tools.r8.retrace.StackTraceLineParser,com.android.tools.r8.retrace.StackTraceElementProxyRetracer,com.android.tools.r8.DiagnosticsHandler,boolean):165:169 -> <init>
    1:42:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):69:110 -> a
    1:42:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    43:49:com.android.tools.r8.retrace.ProguardMapProducer getMappingSupplier(java.lang.String,com.android.tools.r8.DiagnosticsHandler):137:143 -> a
    43:49:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):110 -> a
    43:49:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    50:51:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):110:111 -> a
    50:51:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    52:54:com.android.tools.r8.retrace.ProguardMapProducer getMappingSupplier(java.lang.String,com.android.tools.r8.DiagnosticsHandler):139:139 -> a
    52:54:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):110 -> a
    52:54:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    56:56:com.android.tools.r8.retrace.ProguardMapProducer getMappingSupplier(java.lang.String,com.android.tools.r8.DiagnosticsHandler):141:141 -> a
    56:56:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):110 -> a
    56:56:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    57:57:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):114:114 -> a
    57:57:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    58:58:java.util.List getStackTraceFromFile(java.lang.String,com.android.tools.r8.DiagnosticsHandler):149:149 -> a
    58:58:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):114 -> a
    58:58:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    59:60:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):114:115 -> a
    59:60:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    61:62:java.util.List getStackTraceFromFile(java.lang.String,com.android.tools.r8.DiagnosticsHandler):151:152 -> a
    61:62:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):114 -> a
    61:62:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    63:66:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):118:118 -> a
    63:66:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    69:70:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):121:122 -> a
    69:70:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    71:76:java.util.List getStackTraceFromStandardInput(boolean):418:423 -> a
    71:76:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):130 -> a
    71:76:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    77:77:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):130:130 -> a
    77:77:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    78:79:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):385:386 -> a
    80:80:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":878,"2":879,"3":880}}
    878:878:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):386:386 -> a
    879:879:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):386:386 -> a
    880:880:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):386:386 -> a
    466:470:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):386:390 -> a
    471:471:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":884,"2":885,"3":886}}
    884:884:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):390:390 -> a
    885:885:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):390:390 -> a
    886:886:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):390:390 -> a
    861:875:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):390:404 -> a
    876:877:com.android.tools.r8.retrace.RetraceCommand$Builder parseArguments(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):126:127 -> a
    876:877:void run(java.lang.String[],com.android.tools.r8.DiagnosticsHandler):382 -> a
    887:889:void lambda$retraceStackTrace$0(java.lang.Object,int):183:183 -> a
    891:891:void lambda$retraceStackTrace$0(java.lang.Object,int):185:185 -> a
    892:921:com.android.tools.r8.retrace.RetraceStackTraceContext lambda$retraceStackTrace$2(com.android.tools.r8.retrace.Retrace$RetraceStackTraceElementProxyEquivalence,java.util.List,com.android.tools.r8.retrace.RetraceStackTraceContext,java.lang.Object):195:224 -> a
    922:932:void lambda$retraceStackTrace$1(java.util.Set,com.android.tools.r8.retrace.Retrace$RetraceStackTraceElementProxyEquivalence,com.android.tools.r8.utils.Box,java.util.List,java.util.List,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):206:216 -> a
    933:939:void lambda$retraceFrame$3(java.util.List,java.util.Map,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):242:248 -> a
    940:940:void lambda$retraceFrame$4(java.util.List,java.util.Map,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):252:252 -> a
    941:942:java.lang.Object lambda$retraceLine$5(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):268:269 -> a
    943:960:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):287:304 -> a
    961:961:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):306:306 -> a
    961:961:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):306 -> a
    962:965:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):295:298 -> a
    966:966:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):290:290 -> a
    967:967:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):306:306 -> a
    967:967:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):306 -> a
    968:982:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):306:320 -> a
    983:1013:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):318:348 -> a
    1014:1014:void lambda$runForTesting$6(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation):326:326 -> a
    1015:1015:boolean com.android.tools.r8.naming.MapVersion.isUnknown():37:37 -> a
    1015:1015:void lambda$runForTesting$6(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation):326 -> a
    1016:1016:void lambda$runForTesting$6(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation):328:328 -> a
    1017:1017:void lambda$runForTesting$6(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.naming.mappinginformation.MapVersionMappingInformation):327:327 -> a
    1018:1020:void lambda$run$7(com.android.tools.r8.DiagnosticsHandler,java.util.List):396:398 -> a
    1021:1021:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):306:306 -> a
    1021:1021:void lambda$run$7(com.android.tools.r8.DiagnosticsHandler,java.util.List):400 -> a
    1022:1022:void lambda$run$7(com.android.tools.r8.DiagnosticsHandler,java.util.List):396:396 -> a
    1023:1023:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):306:306 -> a
    1023:1023:void lambda$run$7(com.android.tools.r8.DiagnosticsHandler,java.util.List):400 -> a
    1024:1025:void lambda$run$7(com.android.tools.r8.DiagnosticsHandler,java.util.List):400:401 -> a
    1026:1026:void lambda$main$8(java.lang.String[]):413:413 -> a
    1:1:void main(java.lang.String[]):413:413 -> main
    2:7:void withMainProgramHandler(com.android.tools.r8.retrace.Retrace$MainAction):434:439 -> main
    2:7:void main(java.lang.String[]):413 -> main
    8:8:void withMainProgramHandler(com.android.tools.r8.retrace.Retrace$MainAction):437:437 -> main
    8:8:void main(java.lang.String[]):413 -> main
    1:17:java.util.List retraceFrame(java.lang.Object):236:252 -> retraceFrame
    1:8:java.util.List retraceLine(java.lang.Object):264:271 -> retraceLine
    1:15:java.util.List retraceStackTrace(java.util.List):179:193 -> retraceStackTrace
    16:16:java.util.List retraceStackTrace(java.util.List):191:191 -> retraceStackTrace
    1:2:void run(com.android.tools.r8.retrace.RetraceCommand):281:282 -> run
    3:11:void run(java.lang.String[]):354:362 -> run
    12:12:void run(java.lang.String[]):0:0 -> run
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":398,"2":399,"3":400,"4":401,"5":402}}
    398:398:void run(java.lang.String[]):363:363 -> run
    399:399:void run(java.lang.String[]):363:363 -> run
    400:400:void run(java.lang.String[]):363:363 -> run
    401:401:void run(java.lang.String[]):363:363 -> run
    402:402:void run(java.lang.String[]):363:363 -> run
    375:379:void run(java.lang.String[]):363:367 -> run
    380:397:void run(java.lang.String[]):359:376 -> run
com.android.tools.r8.retrace.Retrace$1 -> com.android.tools.r8.retrace.a:
    1:1:void <init>():372:372 -> <init>
com.android.tools.r8.retrace.Retrace$MainAction -> com.android.tools.r8.retrace.b:
com.android.tools.r8.retrace.Retrace$RetraceDiagnosticsHandler -> com.android.tools.r8.retrace.c:
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> a
    boolean printInfo -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():443:443 -> <clinit>
    1:3:void <init>(com.android.tools.r8.DiagnosticsHandler,boolean):448:450 -> <init>
    1:1:void error(com.android.tools.r8.Diagnostic):456:456 -> error
    1:2:void info(com.android.tools.r8.Diagnostic):466:467 -> info
    1:1:void warning(com.android.tools.r8.Diagnostic):461:461 -> warning
com.android.tools.r8.retrace.Retrace$RetraceStackTraceElementProxyEquivalence -> com.android.tools.r8.retrace.d:
    boolean isVerbose -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():472:472 -> <clinit>
    1:2:void <init>(boolean):478:479 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):472:472 -> a
    2:2:int doHash(java.lang.Object):472:472 -> a
    3:80:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):488:565 -> a
    81:82:boolean compareRetracedTypeReference(com.android.tools.r8.retrace.RetracedTypeReference,com.android.tools.r8.retrace.RetracedTypeReference):591:592 -> a
    81:82:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):566 -> a
    83:94:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):570:581 -> a
    95:96:boolean compareRetracedTypeReference(com.android.tools.r8.retrace.RetracedTypeReference,com.android.tools.r8.retrace.RetracedTypeReference):591:592 -> a
    95:96:boolean doEquivalent(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy):580 -> a
    97:97:java.lang.String lambda$doEquivalent$0(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):492:492 -> a
    98:100:boolean testNotEqualProperty(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceElementProxy,java.util.function.Function,java.util.function.Function):605:607 -> a
com.android.tools.r8.retrace.RetraceCommand -> com.android.tools.r8.retrace.RetraceCommand:
    java.util.List stackTrace -> a
    com.android.tools.r8.retrace.RetraceOptions options -> c
    java.util.function.Consumer retracedStackTraceConsumer -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():13:13 -> <clinit>
    1:1:void <init>(java.util.List,java.util.function.Consumer,com.android.tools.r8.retrace.RetraceOptions,com.android.tools.r8.retrace.RetraceCommand$1):14:14 -> <init>
    2:8:void <init>(java.util.List,java.util.function.Consumer,com.android.tools.r8.retrace.RetraceOptions):24:30 -> <init>
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder builder(com.android.tools.r8.DiagnosticsHandler):59:59 -> builder
    2:2:com.android.tools.r8.retrace.RetraceCommand$Builder builder():64:64 -> builder
    1:1:com.android.tools.r8.retrace.RetraceOptions getOptions():50:50 -> getOptions
    1:1:java.util.function.Consumer getRetracedStackTraceConsumer():46:46 -> getRetracedStackTraceConsumer
    1:1:java.util.List getStackTrace():42:42 -> getStackTrace
    1:1:boolean printMemory():38:38 -> printMemory
    1:1:boolean printTimes():34:34 -> printTimes
com.android.tools.r8.retrace.RetraceCommand$1 -> com.android.tools.r8.retrace.e:
    1:1:void <init>():64:64 -> <init>
com.android.tools.r8.retrace.RetraceCommand$Builder -> com.android.tools.r8.retrace.RetraceCommand$Builder:
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> b
    com.android.tools.r8.retrace.ProguardMapProducer proguardMapProducer -> c
    java.util.List stackTrace -> e
    java.util.function.Consumer retracedStackTraceConsumer -> f
    boolean verifyMappingFileHash -> g
    boolean isVerbose -> a
    java.lang.String regularExpression -> d
    1:1:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.retrace.RetraceCommand$1):68:68 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler):78:78 -> <init>
    3:9:void <init>(com.android.tools.r8.DiagnosticsHandler):73:79 -> <init>
    1:20:com.android.tools.r8.retrace.RetraceCommand build():138:157 -> build
    21:21:com.android.tools.r8.retrace.RetraceCommand build():148:148 -> build
    22:22:com.android.tools.r8.retrace.RetraceCommand build():142:142 -> build
    23:23:com.android.tools.r8.retrace.RetraceCommand build():139:139 -> build
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder setProguardMapProducer(com.android.tools.r8.retrace.ProguardMapProducer):94:94 -> setProguardMapProducer
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder setRegularExpression(java.lang.String):106:106 -> setRegularExpression
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder setRetracedStackTraceConsumer(java.util.function.Consumer):133:133 -> setRetracedStackTraceConsumer
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder setStackTrace(java.util.List):117:117 -> setStackTrace
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder setVerbose(boolean):84:84 -> setVerbose
    1:1:com.android.tools.r8.retrace.RetraceCommand$Builder setVerifyMappingFileHash(boolean):123:123 -> setVerifyMappingFileHash
com.android.tools.r8.retrace.RetraceFailedException -> com.android.tools.r8.retrace.RetraceFailedException:
    1:1:void <init>():17:17 -> <init>
    2:2:void <init>(java.lang.String,java.lang.Throwable):21:21 -> <init>
com.android.tools.r8.retrace.RetraceHelper -> com.android.tools.r8.retrace.f:
    1:1:void runForTesting(com.android.tools.r8.retrace.RetraceCommand,boolean):10:10 -> a
com.android.tools.r8.retrace.RetraceInvalidRewriteFrameDiagnostics -> com.android.tools.r8.retrace.RetraceInvalidRewriteFrameDiagnostics:
    int numberOfFramesToRemove -> b
    java.lang.String method -> c
    1:3:void <init>(int,java.lang.String):18:20 -> <init>
    1:1:com.android.tools.r8.retrace.RetraceInvalidRewriteFrameDiagnostics create(int,java.lang.String):44:44 -> create
    1:1:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":72,"2":73,"3":74}}
    72:72:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    73:73:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    74:74:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    36:36:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    37:37:java.lang.String getDiagnosticMessage():0:0 -> getDiagnosticMessage
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":75,"2":76,"3":77}}
    75:75:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    76:76:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    77:77:java.lang.String getDiagnosticMessage():35:35 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():25:25 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():30:30 -> getPosition
com.android.tools.r8.retrace.RetraceInvalidStackTraceLineDiagnostics -> com.android.tools.r8.retrace.RetraceInvalidStackTraceLineDiagnostics:
    int lineNumber -> b
    java.lang.String message -> c
    1:3:void <init>(int,java.lang.String):21:23 -> <init>
    1:1:com.android.tools.r8.retrace.RetraceInvalidStackTraceLineDiagnostics createNull(int):42:42 -> createNull
    1:1:java.lang.String getDiagnosticMessage():38:38 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():28:28 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():33:33 -> getPosition
com.android.tools.r8.retrace.RetraceOptions -> com.android.tools.r8.retrace.RetraceOptions:
    com.android.tools.r8.retrace.ProguardMapProducer proguardMapProducer -> e
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> d
    boolean $assertionsDisabled -> f
    boolean isVerbose -> a
    java.lang.String regularExpression -> c
    boolean verifyMappingFileHash -> b
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(java.lang.String,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.retrace.ProguardMapProducer,boolean,boolean,com.android.tools.r8.retrace.RetraceOptions$1):17:17 -> <init>
    2:10:void <init>(java.lang.String,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.retrace.ProguardMapProducer,boolean,boolean):30:38 -> <init>
    1:1:com.android.tools.r8.retrace.RetraceOptions$Builder builder():63:63 -> builder
    2:2:com.android.tools.r8.retrace.RetraceOptions$Builder builder(com.android.tools.r8.DiagnosticsHandler):68:68 -> builder
    1:1:java.lang.String defaultRegularExpression():72:72 -> defaultRegularExpression
    1:1:com.android.tools.r8.DiagnosticsHandler getDiagnosticsHandler():54:54 -> getDiagnosticsHandler
    1:1:com.android.tools.r8.retrace.ProguardMapProducer getProguardMapProducer():58:58 -> getProguardMapProducer
    1:1:java.lang.String getRegularExpression():50:50 -> getRegularExpression
    1:1:boolean isVerbose():42:42 -> isVerbose
    1:1:boolean isVerifyMappingFileHash():46:46 -> isVerifyMappingFileHash
com.android.tools.r8.retrace.RetraceOptions$1 -> com.android.tools.r8.retrace.g:
    1:1:void <init>():63:63 -> <init>
com.android.tools.r8.retrace.RetraceOptions$Builder -> com.android.tools.r8.retrace.RetraceOptions$Builder:
    com.android.tools.r8.retrace.ProguardMapProducer proguardMapProducer -> d
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> c
    boolean isVerbose -> a
    boolean verifyMappingFileHash -> b
    java.lang.String regularExpression -> e
    1:1:void <init>(com.android.tools.r8.DiagnosticsHandler):84:84 -> <init>
    2:5:void <init>(com.android.tools.r8.DiagnosticsHandler):82:85 -> <init>
    1:10:com.android.tools.r8.retrace.RetraceOptions build():123:132 -> build
    11:11:com.android.tools.r8.retrace.RetraceOptions build():130:130 -> build
    12:12:com.android.tools.r8.retrace.RetraceOptions build():127:127 -> build
    13:13:com.android.tools.r8.retrace.RetraceOptions build():124:124 -> build
    1:1:com.android.tools.r8.retrace.RetraceOptions$Builder setProguardMapProducer(com.android.tools.r8.retrace.ProguardMapProducer):106:106 -> setProguardMapProducer
    1:1:com.android.tools.r8.retrace.RetraceOptions$Builder setRegularExpression(java.lang.String):118:118 -> setRegularExpression
    1:1:com.android.tools.r8.retrace.RetraceOptions$Builder setVerbose(boolean):90:90 -> setVerbose
    1:1:com.android.tools.r8.retrace.RetraceOptions$Builder setVerifyMappingFileHash(boolean):96:96 -> setVerifyMappingFileHash
com.android.tools.r8.retrace.RetraceResult -> com.android.tools.r8.retrace.RetraceResult:
    1:1:java.util.stream.Stream flatMap(java.util.function.Function):38:38 -> flatMap
    1:1:void forEach(java.util.function.Consumer):33:33 -> forEach
    1:1:boolean isAmbiguous():28:28 -> isAmbiguous
com.android.tools.r8.retrace.RetraceStackTraceContext -> com.android.tools.r8.retrace.RetraceStackTraceContext:
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.builder():69:69 -> empty
    1:1:com.android.tools.r8.retrace.RetraceStackTraceContext empty():14 -> empty
    2:2:com.android.tools.r8.retrace.RetraceStackTraceContext empty():14:14 -> empty
com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult -> com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult:
    1:1:void forEach(java.util.function.Consumer):19:19 -> forEach
com.android.tools.r8.retrace.RetraceUnknownMapVersionDiagnostic -> com.android.tools.r8.retrace.RetraceUnknownMapVersionDiagnostic:
    java.lang.String versionName -> b
    1:2:void <init>(java.lang.String):18:19 -> <init>
    1:1:com.android.tools.r8.retrace.RetraceUnknownMapVersionDiagnostic create(java.lang.String):40:40 -> create
    1:4:java.lang.String getDiagnosticMessage():34:34 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():24:24 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():29:29 -> getPosition
com.android.tools.r8.retrace.Retracer -> com.android.tools.r8.retrace.Retracer:
    1:1:com.android.tools.r8.retrace.Retracer createDefault(com.android.tools.r8.retrace.ProguardMapProducer,com.android.tools.r8.DiagnosticsHandler):75:75 -> createDefault
    1:1:com.android.tools.r8.retrace.Retracer createExperimental(com.android.tools.r8.retrace.ProguardMapProducer,com.android.tools.r8.DiagnosticsHandler):80:80 -> createExperimental
com.android.tools.r8.retrace.StackTraceElementProxy -> com.android.tools.r8.retrace.StackTraceElementProxy:
    1:1:void <init>():11:11 -> <init>
com.android.tools.r8.retrace.StackTraceElementProxyRetracer -> com.android.tools.r8.retrace.StackTraceElementProxyRetracer:
    1:1:com.android.tools.r8.retrace.StackTraceElementProxyRetracer createDefault(com.android.tools.r8.retrace.Retracer):17:17 -> createDefault
com.android.tools.r8.retrace.StackTraceLineParser -> com.android.tools.r8.retrace.StackTraceLineParser:
    1:1:com.android.tools.r8.retrace.StackTraceLineParser createRegularExpressionParser(java.lang.String):18:18 -> createRegularExpressionParser
com.android.tools.r8.retrace.StringRetrace -> com.android.tools.r8.retrace.StringRetrace:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():24:24 -> <clinit>
    1:1:void <init>(com.android.tools.r8.retrace.StackTraceLineParser,com.android.tools.r8.retrace.StackTraceElementProxyRetracer,com.android.tools.r8.DiagnosticsHandler,boolean):32:32 -> <init>
    1:9:void lambda$retrace$0(java.util.List,java.util.List,int):85:93 -> a
    10:15:int com.android.tools.r8.utils.StringUtils.firstNonWhitespaceCharacter(java.lang.String):331:336 -> a
    10:15:void lambda$retrace$0(java.util.List,java.util.List,int):93 -> a
    16:21:void lambda$retrace$0(java.util.List,java.util.List,int):93:98 -> a
    22:27:void lambda$retrace$0(java.util.List,java.util.List,int):95:100 -> a
    28:33:void joinAmbiguousLines(java.util.List,java.util.function.Consumer):122:127 -> a
    34:38:void lambda$joinAmbiguousLines$2(java.util.Set,java.util.List,java.util.function.Consumer,java.util.List,int):130:134 -> a
    39:43:void lambda$joinAmbiguousLines$1(boolean,java.util.function.Consumer,java.lang.String):137:141 -> a
    44:49:void lambda$joinAmbiguousLines$1(boolean,java.util.function.Consumer,java.lang.String):138:143 -> a
    1:4:com.android.tools.r8.retrace.StringRetrace create(com.android.tools.r8.retrace.RetraceOptions):43:46 -> create
    5:5:com.android.tools.r8.retrace.StringRetrace create(com.android.tools.r8.retrace.RetraceOptions):42:42 -> create
    6:8:com.android.tools.r8.retrace.StringRetrace create(com.android.tools.r8.retrace.Retracer,com.android.tools.r8.DiagnosticsHandler,java.lang.String,boolean):64:66 -> create
    1:4:java.util.List retrace(java.util.List):79:82 -> retrace
    5:6:java.util.List retrace(java.lang.String):115:116 -> retrace
com.android.tools.r8.retrace.internal.Definition -> com.android.tools.r8.internal.cf:
# {"id":"sourceFile","fileName":"Definition.java"}
com.android.tools.r8.retrace.internal.DirectClassNameMapperProguardMapProducer -> com.android.tools.r8.internal.ph:
    com.android.tools.r8.naming.ClassNameMapper getClassNameMapper() -> a
    1:1:java.io.Reader get():11:11 -> get
    2:2:java.io.BufferedReader get():17:17 -> get
com.android.tools.r8.retrace.internal.FieldDefinition -> com.android.tools.r8.internal.Oj:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.retrace.internal.FieldDefinition substituteHolder(com.android.tools.r8.references.ClassReference) -> a
com.android.tools.r8.retrace.internal.FieldDefinition$BaseFieldDefinition -> com.android.tools.r8.internal.Mj:
    com.android.tools.r8.references.ClassReference classReference -> a
    java.lang.String name -> b
    1:1:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String,com.android.tools.r8.retrace.internal.FieldDefinition$1):25:25 -> <init>
    2:4:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String):29:31 -> <init>
    1:1:com.android.tools.r8.retrace.internal.FieldDefinition substituteHolder(com.android.tools.r8.references.ClassReference):46:46 -> a
    2:2:com.android.tools.r8.retrace.internal.FieldDefinition com.android.tools.r8.retrace.internal.FieldDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> a
    2:2:com.android.tools.r8.retrace.internal.FieldDefinition substituteHolder(com.android.tools.r8.references.ClassReference):46 -> a
    1:5:boolean equals(java.lang.Object):54:58 -> equals
    1:1:com.android.tools.r8.references.ClassReference getHolderClass():41:41 -> getHolderClass
    1:1:java.lang.String getName():36:36 -> getName
    1:1:int hashCode():63:63 -> hashCode
com.android.tools.r8.retrace.internal.FieldDefinition$FullFieldDefinition -> com.android.tools.r8.internal.Nj:
    com.android.tools.r8.references.FieldReference fieldReference -> a
    1:1:void <init>(com.android.tools.r8.references.FieldReference,com.android.tools.r8.retrace.internal.FieldDefinition$1):67:67 -> <init>
    2:3:void <init>(com.android.tools.r8.references.FieldReference):71:72 -> <init>
    1:2:com.android.tools.r8.retrace.internal.FieldDefinition substituteHolder(com.android.tools.r8.references.ClassReference):87:88 -> a
    3:3:com.android.tools.r8.retrace.internal.FieldDefinition com.android.tools.r8.retrace.internal.FieldDefinition.create(com.android.tools.r8.references.FieldReference):20:20 -> a
    3:3:com.android.tools.r8.retrace.internal.FieldDefinition substituteHolder(com.android.tools.r8.references.ClassReference):87 -> a
    1:5:boolean equals(java.lang.Object):96:100 -> equals
    1:1:com.android.tools.r8.references.ClassReference getHolderClass():82:82 -> getHolderClass
    1:1:java.lang.String getName():77:77 -> getName
    1:1:int hashCode():105:105 -> hashCode
com.android.tools.r8.retrace.internal.MethodDefinition -> com.android.tools.r8.internal.AE:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.retrace.internal.MethodDefinition$FullMethodDefinition asFullMethodDefinition() -> a
    com.android.tools.r8.retrace.internal.MethodDefinition substituteHolder(com.android.tools.r8.references.ClassReference) -> a
com.android.tools.r8.retrace.internal.MethodDefinition$BaseMethodDefinition -> com.android.tools.r8.internal.yE:
    com.android.tools.r8.references.ClassReference classReference -> a
    java.lang.String name -> b
    1:1:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String,com.android.tools.r8.retrace.internal.MethodDefinition$1):33:33 -> <init>
    2:4:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String):38:40 -> <init>
    1:1:com.android.tools.r8.retrace.internal.MethodDefinition substituteHolder(com.android.tools.r8.references.ClassReference):55:55 -> a
    2:2:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> a
    2:2:com.android.tools.r8.retrace.internal.MethodDefinition substituteHolder(com.android.tools.r8.references.ClassReference):55 -> a
    1:5:boolean equals(java.lang.Object):63:67 -> equals
    1:1:com.android.tools.r8.references.ClassReference getHolderClass():45:45 -> getHolderClass
    1:1:java.lang.String getName():50:50 -> getName
    1:1:int hashCode():72:72 -> hashCode
com.android.tools.r8.retrace.internal.MethodDefinition$FullMethodDefinition -> com.android.tools.r8.internal.zE:
    com.android.tools.r8.references.MethodReference methodReference -> a
    1:1:void <init>(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.MethodDefinition$1):76:76 -> <init>
    2:3:void <init>(com.android.tools.r8.references.MethodReference):80:81 -> <init>
    com.android.tools.r8.retrace.internal.MethodDefinition$FullMethodDefinition asFullMethodDefinition() -> a
    1:6:com.android.tools.r8.retrace.internal.MethodDefinition substituteHolder(com.android.tools.r8.references.ClassReference):106:111 -> a
    7:7:com.android.tools.r8.retrace.internal.MethodDefinition substituteHolder(com.android.tools.r8.references.ClassReference):107:107 -> a
    8:8:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.MethodReference):20:20 -> a
    8:8:com.android.tools.r8.retrace.internal.MethodDefinition substituteHolder(com.android.tools.r8.references.ClassReference):106 -> a
    1:1:com.android.tools.r8.references.MethodReference getMethodReference():115:115 -> b
    1:5:boolean equals(java.lang.Object):123:127 -> equals
    1:1:com.android.tools.r8.references.ClassReference getHolderClass():86:86 -> getHolderClass
    1:1:java.lang.String getName():91:91 -> getName
    1:1:int hashCode():132:132 -> hashCode
com.android.tools.r8.retrace.internal.RetraceAbortException -> com.android.tools.r8.internal.XS:
    1:1:void <init>():7:7 -> <init>
com.android.tools.r8.retrace.internal.RetraceClassResultImpl -> com.android.tools.r8.internal.aT:
    com.android.tools.r8.references.ClassReference obfuscatedReference -> a
    com.android.tools.r8.retrace.internal.RetracerImpl retracer -> c
    com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:4:void <init>(com.android.tools.r8.references.ClassReference,com.android.tools.r8.naming.ClassNamingForNameMapper,com.android.tools.r8.retrace.internal.RetracerImpl):37:40 -> <init>
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper access$100(com.android.tools.r8.retrace.internal.RetraceClassResultImpl):30:30 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceClassResultImpl create(com.android.tools.r8.references.ClassReference,com.android.tools.r8.naming.ClassNamingForNameMapper,com.android.tools.r8.retrace.internal.RetracerImpl):45:45 -> a
    3:3:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(java.lang.String):50:50 -> a
    4:4:com.android.tools.r8.retrace.internal.FieldDefinition com.android.tools.r8.retrace.internal.FieldDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> a
    4:4:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(java.lang.String):50 -> a
    5:5:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(java.lang.String):50:50 -> a
    6:6:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(com.android.tools.r8.retrace.internal.FieldDefinition):73:73 -> a
    7:8:java.util.List lambda$lookupField$0(com.android.tools.r8.naming.ClassNamingForNameMapper,java.lang.String):76:77 -> a
    9:9:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(com.android.tools.r8.retrace.internal.MethodDefinition):86:86 -> a
    10:10:java.lang.Object lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):102:102 -> a
    11:16:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.createElement():165:170 -> a
    11:16:java.util.stream.Stream com.android.tools.r8.retrace.internal.RetraceClassResultImpl.internalStream():161 -> a
    11:16:java.lang.Object lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):103 -> a
    17:17:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.createElement():167:167 -> a
    17:17:java.util.stream.Stream com.android.tools.r8.retrace.internal.RetraceClassResultImpl.internalStream():161 -> a
    17:17:java.lang.Object lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):103 -> a
    18:18:java.util.stream.Stream com.android.tools.r8.retrace.internal.RetraceClassResultImpl.internalStream():161:161 -> a
    18:18:java.lang.Object lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):103 -> a
    19:32:java.lang.Object lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):103:116 -> a
    33:41:void lambda$lookup$2(java.util.function.BiFunction,com.android.tools.r8.retrace.internal.Definition,java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl):106:114 -> a
    42:42:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):122:122 -> a
    43:43:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> a
    43:43:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):122 -> a
    44:44:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):141:141 -> a
    44:44:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):122 -> a
    45:49:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):132:136 -> a
    50:50:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.MethodReference):20:20 -> a
    50:50:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):135 -> a
    51:51:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):141:141 -> a
    51:51:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):132 -> a
    52:52:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):141:141 -> a
    52:52:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl access$300(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):30 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    53:53:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):141:141 -> a
    53:53:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl access$300(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):30 -> a
    54:54:com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl lookupThrownException(com.android.tools.r8.retrace.RetraceStackTraceContext):146:146 -> a
    1:1:com.android.tools.r8.retrace.internal.RetracerImpl access$200(com.android.tools.r8.retrace.internal.RetraceClassResultImpl):30:30 -> b
    2:2:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(java.lang.String):61:61 -> b
    3:3:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> b
    3:3:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(java.lang.String):61 -> b
    4:4:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(java.lang.String):61:61 -> b
    5:9:java.util.List lambda$lookupMethod$1(com.android.tools.r8.naming.ClassNamingForNameMapper,java.lang.String):89:93 -> b
    1:1:boolean isEmpty():152:152 -> isEmpty
    1:1:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String):30:30 -> lookupField
    2:3:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupField(java.lang.String,com.android.tools.r8.references.TypeReference):55:56 -> lookupField
    2:3:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String,com.android.tools.r8.references.TypeReference):30 -> lookupField
    4:4:com.android.tools.r8.retrace.internal.FieldDefinition com.android.tools.r8.retrace.internal.FieldDefinition.create(com.android.tools.r8.references.FieldReference):20:20 -> lookupField
    4:4:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupField(java.lang.String,com.android.tools.r8.references.TypeReference):56 -> lookupField
    4:4:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String,com.android.tools.r8.references.TypeReference):30 -> lookupField
    5:5:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupField(java.lang.String,com.android.tools.r8.references.TypeReference):55:55 -> lookupField
    5:5:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String,com.android.tools.r8.references.TypeReference):30 -> lookupField
    1:1:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):30:30 -> lookupFrame
    2:2:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):30:30 -> lookupFrame
    1:1:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String):30:30 -> lookupMethod
    2:4:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupMethod(java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):67:69 -> lookupMethod
    2:4:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):30 -> lookupMethod
    5:5:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.MethodReference):20:20 -> lookupMethod
    5:5:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupMethod(java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):68 -> lookupMethod
    5:5:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):30 -> lookupMethod
    6:6:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.lookupMethod(java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):67:67 -> lookupMethod
    6:6:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):30 -> lookupMethod
    1:1:com.android.tools.r8.retrace.RetraceThrownExceptionResult lookupThrownException(com.android.tools.r8.retrace.RetraceStackTraceContext):30:30 -> lookupThrownException
    1:6:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.createElement():165:170 -> stream
    1:6:java.util.stream.Stream stream():157 -> stream
    7:7:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl.createElement():167:167 -> stream
    7:7:java.util.stream.Stream stream():157 -> stream
    8:8:java.util.stream.Stream stream():157:157 -> stream
com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor -> com.android.tools.r8.internal.YS:
    java.lang.Object create(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,java.util.List,java.lang.Object,com.android.tools.r8.retrace.internal.RetracerImpl) -> a
com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl -> com.android.tools.r8.internal.ZS:
    com.android.tools.r8.retrace.internal.RetraceClassResultImpl classResult -> a
    com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> c
    com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl classReference -> b
    1:1:void <init>(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl,com.android.tools.r8.naming.ClassNamingForNameMapper,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$1):182:182 -> <init>
    2:5:void <init>(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl,com.android.tools.r8.naming.ClassNamingForNameMapper):191:194 -> <init>
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper access$400(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl):182:182 -> a
    2:2:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl getRetracedClass():199:199 -> a
    3:3:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(com.android.tools.r8.retrace.internal.FieldDefinition):239:239 -> a
    4:14:java.lang.Object com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):273:283 -> a
    4:14:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(com.android.tools.r8.retrace.internal.FieldDefinition):239 -> a
    15:15:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl lookupField(com.android.tools.r8.retrace.internal.FieldDefinition):239:239 -> a
    16:17:java.util.List lambda$lookupField$0(com.android.tools.r8.naming.ClassNamingForNameMapper,java.lang.String):242:243 -> a
    18:18:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(com.android.tools.r8.retrace.internal.MethodDefinition):257:257 -> a
    19:29:java.lang.Object com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookup(com.android.tools.r8.retrace.internal.Definition,java.util.function.BiFunction,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$ResultConstructor):273:283 -> a
    19:29:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(com.android.tools.r8.retrace.internal.MethodDefinition):257 -> a
    30:30:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl lookupMethod(com.android.tools.r8.retrace.internal.MethodDefinition):257:257 -> a
    1:5:java.util.List lambda$lookupMethod$1(com.android.tools.r8.naming.ClassNamingForNameMapper,java.lang.String):260:264 -> b
    1:1:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.getParentResult():218:218 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetraceResult getParentResult():182 -> getParentResult
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.getRetracedClass():199:199 -> getRetracedClass
    1:1:com.android.tools.r8.retrace.RetracedClassReference getRetracedClass():182 -> getRetracedClass
    1:3:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():205:207 -> getSourceFile
    4:4:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isFileNameInformation():0:0 -> getSourceFile
    4:4:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():207 -> getSourceFile
    5:10:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():208:213 -> getSourceFile
    11:11:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.getRetracedClass():199:199 -> getSourceFile
    11:11:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():213 -> getSourceFile
    12:12:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():213:213 -> getSourceFile
    1:3:com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult getUnknownJsonMappingInformation():318:318 -> getUnknownJsonMappingInformation
    1:3:boolean isCompilerSynthesized():223:225 -> isCompilerSynthesized
    1:1:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupField(java.lang.String):235:235 -> lookupField
    1:1:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String):182 -> lookupField
    2:2:com.android.tools.r8.retrace.internal.FieldDefinition com.android.tools.r8.retrace.internal.FieldDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> lookupField
    2:2:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupField(java.lang.String):235 -> lookupField
    2:2:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String):182 -> lookupField
    3:3:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupField(java.lang.String):235:235 -> lookupField
    3:3:com.android.tools.r8.retrace.RetraceFieldResult lookupField(java.lang.String):182 -> lookupField
    1:1:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.MethodReference):20:20 -> lookupFrame
    1:1:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.MethodReference):313 -> lookupFrame
    2:2:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):324:324 -> lookupFrame
    2:2:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.MethodReference):313 -> lookupFrame
    3:6:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):289:292 -> lookupFrame
    3:6:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):182 -> lookupFrame
    7:7:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> lookupFrame
    7:7:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):292 -> lookupFrame
    7:7:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):182 -> lookupFrame
    8:8:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):324:324 -> lookupFrame
    8:8:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):289 -> lookupFrame
    8:8:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String):182 -> lookupFrame
    9:14:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):302:307 -> lookupFrame
    15:15:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):306:306 -> lookupFrame
    16:16:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.MethodReference):20:20 -> lookupFrame
    16:16:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):305 -> lookupFrame
    17:17:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.retrace.internal.MethodDefinition):324:324 -> lookupFrame
    17:17:com.android.tools.r8.retrace.RetraceFrameResult lookupFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,java.lang.String,java.util.List,com.android.tools.r8.references.TypeReference):302 -> lookupFrame
    1:1:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupMethod(java.lang.String):253:253 -> lookupMethod
    1:1:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String):182 -> lookupMethod
    2:2:com.android.tools.r8.retrace.internal.MethodDefinition com.android.tools.r8.retrace.internal.MethodDefinition.create(com.android.tools.r8.references.ClassReference,java.lang.String):16:16 -> lookupMethod
    2:2:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupMethod(java.lang.String):253 -> lookupMethod
    2:2:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String):182 -> lookupMethod
    3:3:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl.lookupMethod(java.lang.String):253:253 -> lookupMethod
    3:3:com.android.tools.r8.retrace.RetraceMethodResult lookupMethod(java.lang.String):182 -> lookupMethod
com.android.tools.r8.retrace.internal.RetraceFieldResultImpl -> com.android.tools.r8.internal.cT:
    java.util.List memberNamings -> a
    com.android.tools.r8.retrace.internal.FieldDefinition fieldDefinition -> b
    com.android.tools.r8.retrace.Retracer retracer -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():21:21 -> <clinit>
    1:7:void <init>(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,java.util.List,com.android.tools.r8.retrace.internal.FieldDefinition,com.android.tools.r8.retrace.Retracer):32:38 -> <init>
    1:10:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):46:55 -> a
    11:11:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):54:54 -> a
    12:12:com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl.create(com.android.tools.r8.retrace.internal.FieldDefinition):129:129 -> a
    12:12:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):53 -> a
    13:13:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):53:53 -> a
    14:23:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):49:58 -> a
    24:30:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):61:67 -> a
    31:31:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):66:66 -> a
    32:32:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):65:65 -> a
    33:47:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):64:78 -> a
    48:48:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):73:73 -> a
    49:49:com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl.create(com.android.tools.r8.references.FieldReference):125:125 -> a
    49:49:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):72 -> a
    50:50:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl lambda$stream$0(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.naming.MemberNaming):72:72 -> a
    1:8:boolean isAmbiguous():85:92 -> isAmbiguous
    1:1:boolean isEmpty():97:97 -> isEmpty
    1:2:java.util.stream.Stream stream():43:44 -> stream
com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl -> com.android.tools.r8.internal.bT:
    com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl classElement -> c
    com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl fieldReference -> a
    com.android.tools.r8.retrace.internal.RetraceFieldResultImpl retraceFieldResult -> b
    1:1:void <init>(com.android.tools.r8.retrace.internal.RetraceFieldResultImpl,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl,com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$1):100:100 -> <init>
    2:5:void <init>(com.android.tools.r8.retrace.internal.RetraceFieldResultImpl,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl):109:112 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl.getClassElement():137:137 -> getClassElement
    1:1:com.android.tools.r8.retrace.RetraceClassElement getClassElement():100 -> getClassElement
    1:1:com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl.getField():127:127 -> getField
    1:1:com.android.tools.r8.retrace.RetracedFieldReference getField():100 -> getField
    1:1:com.android.tools.r8.retrace.RetraceFieldResult com.android.tools.r8.retrace.internal.RetraceFieldResultImpl$ElementImpl.getParentResult():132:132 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetraceResult getParentResult():100 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():142:142 -> getSourceFile
    1:1:boolean isCompilerSynthesized():117:117 -> isCompilerSynthesized
    1:1:boolean isUnknown():122:122 -> isUnknown
com.android.tools.r8.retrace.internal.RetraceFrameResultImpl -> com.android.tools.r8.internal.fT:
    com.android.tools.r8.retrace.internal.MethodDefinition methodDefinition -> a
    com.android.tools.r8.utils.OptionalBool isAmbiguousCache -> f
    com.android.tools.r8.retrace.internal.RetracerImpl retracer -> d
    java.util.List mappedRanges -> c
    boolean $assertionsDisabled -> g
    com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl context -> e
    java.util.OptionalInt obfuscatedPosition -> b
    1:1:void <clinit>():34:34 -> <clinit>
    1:1:void <init>(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,java.util.List,com.android.tools.r8.retrace.internal.MethodDefinition,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetracerImpl,com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl):51:51 -> <init>
    2:16:void <init>(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,java.util.List,com.android.tools.r8.retrace.internal.MethodDefinition,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetracerImpl,com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl):43:57 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl access$200(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl):34:34 -> a
    2:2:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl access$500(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl,com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):34:34 -> a
    3:34:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):104:135 -> a
    35:41:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):107:113 -> a
    42:42:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):112:112 -> a
    43:43:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):111:111 -> a
    44:44:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):173:173 -> a
    44:44:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):111 -> a
    45:45:boolean com.android.tools.r8.retrace.internal.MethodDefinition.isFullMethodDefinition():0:0 -> a
    45:45:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):173 -> a
    45:45:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):111 -> a
    46:46:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):175:175 -> a
    46:46:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):111 -> a
    47:50:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):174:177 -> a
    47:50:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):111 -> a
    51:51:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):114:114 -> a
    52:52:java.util.stream.Stream lambda$stream$0(com.android.tools.r8.utils.Pair):107:107 -> a
    53:53:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):145:145 -> a
    54:54:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):90:90 -> a
    54:54:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):145 -> a
    55:58:int com.android.tools.r8.naming.Range.span():53:56 -> a
    55:58:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):90 -> a
    55:58:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):145 -> a
    59:59:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):95:95 -> a
    59:59:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):145 -> a
    60:63:int com.android.tools.r8.naming.Range.span():53:56 -> a
    60:63:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):96 -> a
    60:63:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):145 -> a
    64:66:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):151:153 -> a
    67:88:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):152:173 -> a
    89:91:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):146:148 -> a
    92:95:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.elementFromMappedRanges(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl):181:184 -> a
    92:95:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):147 -> a
    96:101:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.elementFromMappedRanges(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl):183:188 -> a
    96:101:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):147 -> a
    102:102:void separateAmbiguousOriginalPositions(com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List,java.util.List):146:146 -> a
    103:103:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame lambda$separateAmbiguousOriginalPositions$1(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):148:148 -> a
    104:110:void lambda$separateAmbiguousOriginalPositions$3(java.util.List,com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,int):161:167 -> a
    111:111:void lambda$separateAmbiguousOriginalPositions$2(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,java.util.List):169:169 -> a
    112:115:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.elementFromMappedRanges(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl):181:184 -> a
    112:115:void lambda$separateAmbiguousOriginalPositions$4(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List):175 -> a
    116:121:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.elementFromMappedRanges(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl):183:188 -> a
    116:121:void lambda$separateAmbiguousOriginalPositions$4(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List):175 -> a
    122:122:void lambda$separateAmbiguousOriginalPositions$4(java.util.List,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,java.util.List):175:175 -> a
    123:126:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):198:201 -> a
    127:130:int com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange.getFirstLineNumberOfOriginalRange():512:515 -> a
    127:130:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):202 -> a
    131:131:java.util.OptionalInt com.android.tools.r8.utils.OptionalUtils.orElse(java.util.OptionalInt,int):13:13 -> a
    131:131:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):205 -> a
    132:140:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):204:212 -> a
    141:141:boolean com.android.tools.r8.naming.Range.contains(int):31:31 -> a
    141:141:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):212 -> a
    142:142:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):215:215 -> a
    143:143:java.util.OptionalInt com.android.tools.r8.utils.OptionalUtils.orElseGet(java.util.OptionalInt,java.util.function.Supplier):17:17 -> a
    143:143:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):217 -> a
    144:144:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):215:215 -> a
    145:145:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl getRetracedMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame,java.util.OptionalInt):213:213 -> a
    146:146:java.lang.Integer lambda$getRetracedMethod$5(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,java.util.OptionalInt):219:219 -> a
    1:1:com.android.tools.r8.retrace.internal.RetracerImpl access$300(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl):34:34 -> b
    1:9:boolean isAmbiguous():62:70 -> isAmbiguous
    10:10:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):90:90 -> isAmbiguous
    10:10:boolean isAmbiguous():71 -> isAmbiguous
    11:14:int com.android.tools.r8.naming.Range.span():53:56 -> isAmbiguous
    11:14:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):90 -> isAmbiguous
    11:14:boolean isAmbiguous():71 -> isAmbiguous
    15:15:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):95:95 -> isAmbiguous
    15:15:boolean isAmbiguous():71 -> isAmbiguous
    16:19:int com.android.tools.r8.naming.Range.span():53:56 -> isAmbiguous
    16:19:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl.isMappedRangeAmbiguous(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):96 -> isAmbiguous
    16:19:boolean isAmbiguous():71 -> isAmbiguous
    20:34:boolean isAmbiguous():72:86 -> isAmbiguous
    1:1:boolean isEmpty():224:224 -> isEmpty
    1:2:java.util.stream.Stream stream():101:102 -> stream
com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl -> com.android.tools.r8.internal.dT:
    com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl methodReference -> a
    com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl classElement -> c
    com.android.tools.r8.retrace.internal.RetraceFrameResultImpl retraceFrameResult -> b
    java.util.List mappedRanges -> d
    java.util.OptionalInt obfuscatedPosition -> e
    com.android.tools.r8.retrace.internal.RetracerImpl retracer -> f
    1:7:void <init>(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl,java.util.List,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetracerImpl):242:248 -> <init>
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange lambda$forEachRewritten$0(java.lang.Object):315:315 -> a
    1:1:void forEach(java.util.function.Consumer):290:290 -> forEach
    2:2:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getTopFrame():280:280 -> forEach
    2:2:void forEach(java.util.function.Consumer):295 -> forEach
    3:5:void forEach(java.util.function.Consumer):295:297 -> forEach
    6:6:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getTopFrame():280:280 -> forEach
    6:6:void forEach(java.util.function.Consumer):291 -> forEach
    7:7:void forEach(java.util.function.Consumer):291:291 -> forEach
    1:6:void forEachRewritten(java.util.function.Consumer):310:315 -> forEachRewritten
    7:7:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):33:33 -> forEachRewritten
    7:7:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    8:8:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation.builder():27:27 -> forEachRewritten
    8:8:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):37 -> forEachRewritten
    8:8:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    9:12:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):38:41 -> forEachRewritten
    9:12:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    13:14:boolean com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.evaluateConditions(java.util.List):60:61 -> forEachRewritten
    13:14:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):41 -> forEachRewritten
    13:14:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    15:21:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):42:48 -> forEachRewritten
    15:21:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    22:22:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.computeRewriteFrameInformation(java.util.List):34:34 -> forEachRewritten
    22:22:void forEachRewritten(java.util.function.Consumer):314 -> forEachRewritten
    23:27:void forEachRewritten(java.util.function.Consumer):317:321 -> forEachRewritten
    28:28:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getTopFrame():280:280 -> forEachRewritten
    28:28:void forEachRewritten(java.util.function.Consumer):324 -> forEachRewritten
    29:29:void forEachRewritten(java.util.function.Consumer):324:324 -> forEachRewritten
    30:30:void forEachRewritten(java.util.function.Consumer):323:323 -> forEachRewritten
    31:31:void forEachRewritten(java.util.function.Consumer):322:322 -> forEachRewritten
    32:32:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getTopFrame():280:280 -> forEachRewritten
    32:32:void forEachRewritten(java.util.function.Consumer):327 -> forEachRewritten
    33:36:void forEachRewritten(java.util.function.Consumer):328:331 -> forEachRewritten
    37:40:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.isOuterMostFrameCompilerSynthesized():252:255 -> forEachRewritten
    37:40:void forEachRewritten(java.util.function.Consumer):337 -> forEachRewritten
    41:41:void forEachRewritten(java.util.function.Consumer):338:338 -> forEachRewritten
    1:1:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getClassElement():285:285 -> getClassElement
    1:1:com.android.tools.r8.retrace.RetraceClassElement getClassElement():227 -> getClassElement
    1:6:java.util.List getOuterFrames():357:362 -> getOuterFrames
    7:8:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getMethodReferenceFromMappedRange(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame):371:372 -> getOuterFrames
    7:8:java.util.List getOuterFrames():362 -> getOuterFrames
    9:12:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getMethodReferenceFromMappedRange(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame):370:373 -> getOuterFrames
    9:12:java.util.List getOuterFrames():362 -> getOuterFrames
    13:13:java.util.List getOuterFrames():362:362 -> getOuterFrames
    1:1:com.android.tools.r8.retrace.RetraceFrameResult com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getParentResult():270:270 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetraceResult getParentResult():227 -> getParentResult
    1:4:com.android.tools.r8.retrace.RetraceStackTraceContext getRetraceStackTraceContext():379:382 -> getRetraceStackTraceContext
    5:5:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.builder():69:69 -> getRetraceStackTraceContext
    5:5:com.android.tools.r8.retrace.RetraceStackTraceContext getRetraceStackTraceContext():385 -> getRetraceStackTraceContext
    6:6:com.android.tools.r8.retrace.RetraceStackTraceContext getRetraceStackTraceContext():385:385 -> getRetraceStackTraceContext
    7:7:com.android.tools.r8.retrace.RetraceStackTraceContext getRetraceStackTraceContext():383:383 -> getRetraceStackTraceContext
    1:1:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile(com.android.tools.r8.retrace.RetracedClassMemberReference):352:352 -> getSourceFile
    2:2:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile(com.android.tools.r8.retrace.RetracedClassMemberReference):351:351 -> getSourceFile
    1:1:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.getTopFrame():280:280 -> getTopFrame
    1:1:com.android.tools.r8.retrace.RetracedMethodReference getTopFrame():227 -> getTopFrame
    1:1:boolean isCompilerSynthesized():265:265 -> isCompilerSynthesized
    2:5:boolean com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl.isOuterMostFrameCompilerSynthesized():252:255 -> isCompilerSynthesized
    2:5:boolean isCompilerSynthesized():265 -> isCompilerSynthesized
    1:1:boolean isUnknown():275:275 -> isUnknown
    1:3:java.util.stream.Stream stream():303:305 -> stream
    1:3:java.util.stream.Stream streamRewritten(com.android.tools.r8.retrace.RetraceStackTraceContext):344:346 -> streamRewritten
com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame -> com.android.tools.r8.internal.eT:
    com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange mappedRange -> a
    java.util.OptionalInt position -> b
    1:3:void <init>(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,java.util.OptionalInt):394:396 -> <init>
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange access$000(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame):389:389 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):406:406 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame access$700(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):389 -> a
    3:6:int com.android.tools.r8.naming.Range.span():53:56 -> a
    3:6:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):406 -> a
    3:6:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame access$700(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):389 -> a
    7:7:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):408:408 -> a
    7:7:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame access$700(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):389 -> a
    8:8:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):407:407 -> a
    8:8:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame access$700(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):389 -> a
    9:9:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,java.util.OptionalInt):412:412 -> a
    9:9:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):404 -> a
    9:9:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame access$700(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):389 -> a
    10:10:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.create(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,java.util.OptionalInt):412:412 -> a
    10:10:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame access$600(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,java.util.OptionalInt):389 -> a
    1:1:java.util.OptionalInt access$100(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame):389:389 -> b
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame.getMappedRange():400:400 -> c
    1:1:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange access$400(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$MappedRangeForFrame):389 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.retrace.internal.RetraceMethodResultImpl -> com.android.tools.r8.internal.hT:
    com.android.tools.r8.retrace.internal.MethodDefinition methodDefinition -> a
    com.android.tools.r8.retrace.internal.RetraceClassResultImpl classResult -> b
    com.android.tools.r8.retrace.internal.RetracerImpl retracer -> d
    java.util.List mappedRanges -> c
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():27:27 -> <clinit>
    1:7:void <init>(com.android.tools.r8.retrace.internal.RetraceClassResultImpl,java.util.List,com.android.tools.r8.retrace.internal.MethodDefinition,com.android.tools.r8.retrace.internal.RetracerImpl):38:44 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetracerImpl access$000(com.android.tools.r8.retrace.internal.RetraceMethodResultImpl):27:27 -> a
    2:23:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl narrowByPosition(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt):75:96 -> a
    24:40:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl narrowByPosition(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt):95:111 -> a
    41:41:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl narrowByPosition(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt):108:108 -> a
    42:53:com.android.tools.r8.retrace.internal.RetraceFrameResultImpl narrowByPosition(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt):106:117 -> a
    54:54:boolean lambda$narrowByPosition$0(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange):96:96 -> a
    55:71:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):131:147 -> a
    72:77:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):146:151 -> a
    78:78:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.references.MethodReference):182:182 -> a
    78:78:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):151 -> a
    79:79:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):151:151 -> a
    80:85:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):149:154 -> a
    86:92:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):134:140 -> a
    93:93:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):139:139 -> a
    94:94:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):138:138 -> a
    95:95:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):173:173 -> a
    95:95:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):138 -> a
    96:96:boolean com.android.tools.r8.retrace.internal.MethodDefinition.isFullMethodDefinition():0:0 -> a
    96:96:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):173 -> a
    96:96:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):138 -> a
    97:97:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):175:175 -> a
    97:97:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):138 -> a
    98:101:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl.create(com.android.tools.r8.retrace.internal.MethodDefinition):174:177 -> a
    98:101:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):138 -> a
    102:102:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):138:138 -> a
    103:103:java.util.stream.Stream lambda$stream$1(com.android.tools.r8.utils.Pair):134:134 -> a
    1:12:boolean isAmbiguous():49:60 -> isAmbiguous
    1:1:boolean isEmpty():69:69 -> isEmpty
    1:1:com.android.tools.r8.retrace.RetraceFrameResult narrowByPosition(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt):27:27 -> narrowByPosition
    1:2:java.util.stream.Stream stream():128:129 -> stream
com.android.tools.r8.retrace.internal.RetraceMethodResultImpl$ElementImpl -> com.android.tools.r8.internal.gT:
    com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl methodReference -> a
    com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl classElement -> c
    com.android.tools.r8.retrace.internal.RetraceMethodResultImpl retraceMethodResult -> b
    1:1:void <init>(com.android.tools.r8.retrace.internal.RetraceMethodResultImpl,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl,com.android.tools.r8.retrace.internal.RetraceMethodResultImpl$1):158:158 -> <init>
    2:5:void <init>(com.android.tools.r8.retrace.internal.RetraceMethodResultImpl,com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl,com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl):167:170 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceClassResultImpl$RetraceClassElementImpl com.android.tools.r8.retrace.internal.RetraceMethodResultImpl$ElementImpl.getClassElement():195:195 -> getClassElement
    1:1:com.android.tools.r8.retrace.RetraceClassElement getClassElement():158 -> getClassElement
    1:1:com.android.tools.r8.retrace.RetraceMethodResult com.android.tools.r8.retrace.internal.RetraceMethodResultImpl$ElementImpl.getParentResult():190:190 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetraceResult getParentResult():158 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetracedMethodReference getRetracedMethod():185:185 -> getRetracedMethod
    1:3:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():200:200 -> getSourceFile
    1:1:boolean isCompilerSynthesized():175:175 -> isCompilerSynthesized
    1:1:boolean isUnknown():180:180 -> isUnknown
com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl -> com.android.tools.r8.internal.jT:
    com.android.tools.r8.references.ClassReference thrownException -> a
    java.util.OptionalInt rewritePosition -> b
    1:1:void <init>(com.android.tools.r8.references.ClassReference,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$1):16:16 -> <init>
    2:4:void <init>(com.android.tools.r8.references.ClassReference,java.util.OptionalInt):22:24 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.builder():69:69 -> a
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder buildFromThis():73 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder buildFromThis():73:73 -> a
    1:1:int getRewritePosition():56:56 -> b
    1:1:com.android.tools.r8.references.ClassReference getThrownException():28:28 -> c
    1:1:boolean hasRewritePosition():52:52 -> d
com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder -> com.android.tools.r8.internal.iT:
    com.android.tools.r8.references.ClassReference thrownException -> a
    java.util.OptionalInt rewritePosition -> b
    1:1:void <init>():81:81 -> <init>
    2:2:void <init>():79:79 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder setThrownException(com.android.tools.r8.references.ClassReference):84:84 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder setRewritePosition(java.util.OptionalInt):89:89 -> a
    3:3:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl build():99:99 -> a
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder clearRewritePosition():94:94 -> b
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder create():103:103 -> c
com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation -> com.android.tools.r8.internal.lT:
    com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation EMPTY -> b
    int removeInnerFramesCount -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$1):7:7 -> <init>
    2:3:void <init>(int):14:15 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation empty():23:23 -> a
    1:1:int getRemoveInnerFramesCount():19:19 -> b
com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder -> com.android.tools.r8.internal.kT:
    int removeInnerFramesCount -> a
    1:1:void <init>():30:30 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation$Builder incrementRemoveInnerFramesCount(int):36:36 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceStackTraceCurrentEvaluationInformation build():50:50 -> a
com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl -> com.android.tools.r8.internal.nT:
    java.util.stream.Stream resultStream -> a
    java.util.function.Supplier resultContext -> b
    1:1:void <init>(java.util.stream.Stream,java.util.function.Supplier,com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$1):14:14 -> <init>
    2:4:void <init>(java.util.stream.Stream,java.util.function.Supplier):22:24 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder builder():38:38 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> a
    2:2:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder builder():38 -> a
    3:3:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder builder():38:38 -> a
    4:4:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultContext(java.util.function.Supplier):55:55 -> a
    4:4:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder builder():38 -> a
    1:1:com.android.tools.r8.retrace.RetraceStackTraceContext getResultContext():34:34 -> getResultContext
    1:1:java.util.stream.Stream stream():29:29 -> stream
com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder -> com.android.tools.r8.internal.mT:
    java.util.stream.Stream resultStream -> a
    java.util.function.Supplier resultContext -> b
    1:1:void <init>():46:46 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl build():60:60 -> a
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder create():64:64 -> b
com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl -> com.android.tools.r8.internal.pT:
    com.android.tools.r8.references.ClassReference obfuscatedReference -> a
    com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> b
    1:4:void <init>(com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl,com.android.tools.r8.references.ClassReference,com.android.tools.r8.naming.ClassNamingForNameMapper):26:29 -> <init>
    1:1:boolean isEmpty():39:39 -> isEmpty
    1:6:com.android.tools.r8.retrace.RetraceThrownExceptionElement com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl.createElement():43:48 -> stream
    1:6:java.util.stream.Stream stream():34 -> stream
    7:7:com.android.tools.r8.retrace.RetraceThrownExceptionElement com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl.createElement():45:45 -> stream
    7:7:java.util.stream.Stream stream():34 -> stream
    8:8:java.util.stream.Stream stream():34:34 -> stream
com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$RetraceThrownExceptionElementImpl -> com.android.tools.r8.internal.oT:
    com.android.tools.r8.naming.ClassNamingForNameMapper mapper -> c
    com.android.tools.r8.references.ClassReference thrownException -> d
    com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl classReference -> b
    com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl thrownExceptionResult -> a
    1:1:void <init>(com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl,com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl,com.android.tools.r8.naming.ClassNamingForNameMapper,com.android.tools.r8.references.ClassReference,com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$1):53:53 -> <init>
    2:6:void <init>(com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl,com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl,com.android.tools.r8.naming.ClassNamingForNameMapper,com.android.tools.r8.references.ClassReference):64:68 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceContextImpl.builder():69:69 -> getContext
    1:1:com.android.tools.r8.retrace.RetraceStackTraceContext getContext():102 -> getContext
    2:2:com.android.tools.r8.retrace.RetraceStackTraceContext getContext():102:102 -> getContext
    1:1:com.android.tools.r8.retrace.RetraceThrownExceptionResult com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$RetraceThrownExceptionElementImpl.getParentResult():78:78 -> getParentResult
    1:1:com.android.tools.r8.retrace.RetraceResult getParentResult():53 -> getParentResult
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$RetraceThrownExceptionElementImpl.getRetracedClass():73:73 -> getRetracedClass
    1:1:com.android.tools.r8.retrace.RetracedClassReference getRetracedClass():53 -> getRetracedClass
    1:3:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():84:86 -> getSourceFile
    4:4:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isFileNameInformation():0:0 -> getSourceFile
    4:4:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():86 -> getSourceFile
    5:10:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():87:92 -> getSourceFile
    11:11:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl$RetraceThrownExceptionElementImpl.getRetracedClass():73:73 -> getSourceFile
    11:11:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():92 -> getSourceFile
    12:12:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():92:92 -> getSourceFile
com.android.tools.r8.retrace.internal.RetraceTypeResultImpl -> com.android.tools.r8.internal.rT:
    com.android.tools.r8.retrace.Retracer retracer -> b
    com.android.tools.r8.references.TypeReference obfuscatedType -> a
    1:3:void <init>(com.android.tools.r8.references.TypeReference,com.android.tools.r8.retrace.Retracer):19:21 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetraceTypeResultImpl create(com.android.tools.r8.references.TypeReference,com.android.tools.r8.retrace.Retracer):25:25 -> a
    2:3:com.android.tools.r8.retrace.RetraceTypeResult$Element lambda$stream$0(int,com.android.tools.r8.retrace.RetraceTypeResult$Element):39:40 -> a
    4:4:com.android.tools.r8.retrace.RetraceTypeResult$Element lambda$stream$1(com.android.tools.r8.retrace.RetraceClassElement):43:43 -> a
    1:1:com.android.tools.r8.retrace.internal.RetraceTypeResultImpl com.android.tools.r8.retrace.internal.RetraceTypeResultImpl.forEach(java.util.function.Consumer):53:53 -> forEach
    1:1:com.android.tools.r8.retrace.RetraceTypeResult forEach(java.util.function.Consumer):14 -> forEach
    1:13:java.util.stream.Stream stream():31:43 -> stream
    14:14:java.util.stream.Stream stream():32:32 -> stream
com.android.tools.r8.retrace.internal.RetraceTypeResultImpl$ElementImpl -> com.android.tools.r8.internal.qT:
    com.android.tools.r8.retrace.RetracedTypeReference retracedType -> a
    1:2:void <init>(com.android.tools.r8.retrace.RetracedTypeReference):61:62 -> <init>
    1:1:com.android.tools.r8.retrace.RetracedTypeReference getType():67:67 -> getType
com.android.tools.r8.retrace.internal.RetraceUnknownJsonMappingInformationResultImpl -> com.android.tools.r8.internal.sT:
    java.util.List elements -> a
    1:2:void <init>(java.util.List):21:22 -> <init>
    1:1:com.android.tools.r8.retrace.RetraceUnknownMappingInformationElement lambda$stream$0(com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation):30:30 -> a
    2:9:com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult build(java.util.List):36:43 -> a
    10:10:void lambda$build$1(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):39:39 -> a
    11:11:boolean com.android.tools.r8.naming.mappinginformation.MappingInformation.isUnknownJsonMappingInformation():0:0 -> a
    11:11:void lambda$build$1(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):39 -> a
    12:12:void lambda$build$1(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.naming.mappinginformation.MappingInformation):40:40 -> a
    1:2:java.util.stream.Stream stream():27:28 -> stream
com.android.tools.r8.retrace.internal.RetraceUnknownMappingInformationElementImpl -> com.android.tools.r8.internal.tT:
    com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation mappingInformation -> b
    com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult result -> a
    1:3:void <init>(com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult,com.android.tools.r8.naming.mappinginformation.UnknownJsonMappingInformation):19:21 -> <init>
    1:1:java.lang.String getIdentifier():26:26 -> getIdentifier
    1:1:java.lang.String getPayLoad():31:31 -> getPayLoad
    1:1:com.android.tools.r8.retrace.RetraceUnknownJsonMappingInformationResult getRetraceResultContext():36:36 -> getRetraceResultContext
com.android.tools.r8.retrace.internal.RetraceUtils -> com.android.tools.r8.internal.uT:
    java.util.Set KEEP_SOURCEFILE_NAMES -> a
    boolean $assertionsDisabled -> b
    1:3:void <clinit>():31:33 -> <clinit>
    4:5:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.lang.Object[]):195:196 -> <clinit>
    4:5:void <clinit>():33 -> <clinit>
    6:6:void <clinit>():33:33 -> <clinit>
    1:1:boolean hasPredictableSourceFileName(java.lang.String,java.lang.String):64:64 -> a
    2:8:java.lang.String com.android.tools.r8.retrace.internal.RetraceUtils.getOuterClassSimpleName(java.lang.String):69:75 -> a
    2:8:boolean hasPredictableSourceFileName(java.lang.String,java.lang.String):64 -> a
    9:10:boolean hasPredictableSourceFileName(java.lang.String,java.lang.String):64:65 -> a
    11:17:com.android.tools.r8.retrace.RetracedSourceFile getSourceFileOrLookup(com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetraceClassElement,com.android.tools.r8.retrace.Retracer):80:86 -> a
    18:18:void lambda$getSourceFileOrLookup$0(com.android.tools.r8.utils.Box,com.android.tools.r8.retrace.RetraceClassElement):85:85 -> a
    19:19:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):91:91 -> a
    20:20:java.lang.String com.android.tools.r8.com.google.common.io.Files.getFileExtension(java.lang.String):803:803 -> a
    20:20:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):94 -> a
    21:21:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    21:21:java.lang.String com.android.tools.r8.com.google.common.io.Files.getFileExtension(java.lang.String):803 -> a
    21:21:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):94 -> a
    22:24:java.lang.String com.android.tools.r8.com.google.common.io.Files.getFileExtension(java.lang.String):804:806 -> a
    22:24:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):94 -> a
    25:31:java.lang.String com.android.tools.r8.retrace.internal.RetraceUtils.getOuterClassSimpleName(java.lang.String):69:75 -> a
    25:31:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):95 -> a
    32:32:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):96:96 -> a
    33:33:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":231,"3":232}}
    231:231:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):97:97 -> a
    232:232:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):97:97 -> a
    131:133:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):98:100 -> a
    134:134:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":237,"2":238,"3":239,"4":240,"5":241,"6":242}}
    237:237:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):102:102 -> a
    238:238:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):102:102 -> a
    239:239:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):102:102 -> a
    240:240:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):102:102 -> a
    241:241:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):102:102 -> a
    242:242:java.lang.String inferSourceFile(java.lang.String,java.lang.String,boolean):102:102 -> a
    243:247:com.android.tools.r8.references.MethodReference methodReferenceFromMappedRange(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.references.ClassReference):107:111 -> a
    248:259:com.android.tools.r8.references.MethodReference methodReferenceFromMappedRange(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.references.ClassReference):110:121 -> a
    260:260:com.android.tools.r8.references.MethodReference methodReferenceFromMappedRange(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.references.ClassReference):119:119 -> a
    261:261:int firstNonWhiteSpaceCharacterFromIndex(java.lang.String,int):127:127 -> a
    262:263:int com.android.tools.r8.retrace.internal.RetraceUtils.firstFromIndex(java.lang.String,int,java.util.function.Predicate):135:136 -> a
    262:263:int firstNonWhiteSpaceCharacterFromIndex(java.lang.String,int):127 -> a
    264:264:boolean com.android.tools.r8.com.google.common.base.Predicate.test(java.lang.Object):79:79 -> a
    264:264:int com.android.tools.r8.retrace.internal.RetraceUtils.firstFromIndex(java.lang.String,int,java.util.function.Predicate):136 -> a
    264:264:int firstNonWhiteSpaceCharacterFromIndex(java.lang.String,int):127 -> a
    265:265:int com.android.tools.r8.retrace.internal.RetraceUtils.firstFromIndex(java.lang.String,int,java.util.function.Predicate):140:140 -> a
    265:265:int firstNonWhiteSpaceCharacterFromIndex(java.lang.String,int):127 -> a
com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl -> com.android.tools.r8.internal.vT:
    com.android.tools.r8.references.ClassReference classReference -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():10:10 -> <clinit>
    1:3:void <init>(com.android.tools.r8.references.ClassReference):14:16 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl create(com.android.tools.r8.references.ClassReference):20:20 -> a
    1:4:boolean equals(java.lang.Object):48:51 -> equals
    1:1:java.lang.String getBinaryName():30:30 -> getBinaryName
    1:1:com.android.tools.r8.references.ClassReference getClassReference():40:40 -> getClassReference
    1:1:com.android.tools.r8.retrace.internal.RetracedTypeReferenceImpl com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl.getRetracedType():35:35 -> getRetracedType
    1:1:com.android.tools.r8.retrace.RetracedTypeReference getRetracedType():10 -> getRetracedType
    1:1:java.lang.String getTypeName():25:25 -> getTypeName
    1:1:int hashCode():56:56 -> hashCode
com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl -> com.android.tools.r8.internal.yT:
    1:1:void <init>(com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$1):12:12 -> <init>
    2:2:void <init>():14:14 -> <init>
    1:1:boolean isKnown():23:23 -> isKnown
com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$KnownRetracedFieldReferenceImpl -> com.android.tools.r8.internal.wT:
    com.android.tools.r8.references.FieldReference fieldReference -> b
    1:1:void <init>(com.android.tools.r8.references.FieldReference,com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$1):31:31 -> <init>
    2:3:void <init>(com.android.tools.r8.references.FieldReference):36:37 -> <init>
    1:5:boolean equals(java.lang.Object):75:79 -> equals
    1:1:java.lang.String getFieldName():57:57 -> getFieldName
    1:1:com.android.tools.r8.references.FieldReference getFieldReference():67:67 -> getFieldReference
    1:1:com.android.tools.r8.references.TypeReference getFieldType():62:62 -> getFieldType
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$KnownRetracedFieldReferenceImpl.getHolderClass():52:52 -> getHolderClass
    1:1:com.android.tools.r8.retrace.RetracedClassReference getHolderClass():31 -> getHolderClass
    1:1:int hashCode():84:84 -> hashCode
com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$UnknownRetracedFieldReferenceImpl -> com.android.tools.r8.internal.xT:
    com.android.tools.r8.retrace.internal.FieldDefinition fieldDefinition -> b
    1:1:void <init>(com.android.tools.r8.retrace.internal.FieldDefinition,com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$1):88:88 -> <init>
    2:3:void <init>(com.android.tools.r8.retrace.internal.FieldDefinition):92:93 -> <init>
    1:5:boolean equals(java.lang.Object):111:115 -> equals
    1:1:java.lang.String getFieldName():103:103 -> getFieldName
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetracedFieldReferenceImpl$UnknownRetracedFieldReferenceImpl.getHolderClass():98:98 -> getHolderClass
    1:1:com.android.tools.r8.retrace.RetracedClassReference getHolderClass():88 -> getHolderClass
    1:1:int hashCode():120:120 -> hashCode
com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl -> com.android.tools.r8.internal.BT:
    java.util.Comparator comparator -> c
    int $r8$clinit -> d
    java.util.OptionalInt position -> b
    1:7:void <clinit>():19:25 -> <clinit>
    8:19:void <clinit>():24:35 -> <clinit>
    20:20:void <clinit>():34:34 -> <clinit>
    21:21:void <clinit>():32:32 -> <clinit>
    22:22:void <clinit>() -> <clinit>
    1:1:void <init>(java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$1):17:17 -> <init>
    2:3:void <init>(java.util.OptionalInt):39:40 -> <init>
    com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$KnownRetracedMethodReferenceImpl asKnown() -> a
    1:1:java.lang.String lambda$static$0(com.android.tools.r8.retrace.RetracedMethodReference$KnownRetracedMethodReference):30:30 -> a
    2:2:int compareTo(com.android.tools.r8.retrace.RetracedMethodReference):70:70 -> a
    3:3:com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl create(com.android.tools.r8.references.MethodReference,java.util.OptionalInt):186:186 -> a
    1:1:int com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$KnownRetracedMethodReferenceImpl.compareTo(java.lang.Object):73:73 -> compareTo
    1:1:int getOriginalPositionOrDefault(int):50:50 -> getOriginalPositionOrDefault
    1:1:boolean hasPosition():45:45 -> hasPosition
    1:1:boolean isKnown():60:60 -> isKnown
com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$KnownRetracedMethodReferenceImpl -> com.android.tools.r8.internal.zT:
    com.android.tools.r8.references.MethodReference methodReference -> e
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():73:73 -> <clinit>
    1:1:void <init>(com.android.tools.r8.references.MethodReference,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$1):73:73 -> <init>
    2:4:void <init>(com.android.tools.r8.references.MethodReference,java.util.OptionalInt):80:82 -> <init>
    com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$KnownRetracedMethodReferenceImpl asKnown() -> a
    1:5:boolean equals(java.lang.Object):131:135 -> equals
    1:1:java.util.List getFormalTypes():118:118 -> getFormalTypes
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$KnownRetracedMethodReferenceImpl.getHolderClass():102:102 -> getHolderClass
    1:1:com.android.tools.r8.retrace.RetracedClassReference getHolderClass():73 -> getHolderClass
    1:1:java.lang.String getMethodName():107:107 -> getMethodName
    1:1:com.android.tools.r8.references.MethodReference getMethodReference():123:123 -> getMethodReference
    1:2:com.android.tools.r8.references.TypeReference getReturnType():112:113 -> getReturnType
    1:1:int hashCode():140:140 -> hashCode
    1:1:boolean isVoid():92:92 -> isVoid
com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$UnknownRetracedMethodReferenceImpl -> com.android.tools.r8.internal.AT:
    com.android.tools.r8.retrace.internal.MethodDefinition methodDefinition -> e
    1:1:void <init>(com.android.tools.r8.retrace.internal.MethodDefinition,java.util.OptionalInt,com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$1):144:144 -> <init>
    2:3:void <init>(com.android.tools.r8.retrace.internal.MethodDefinition,java.util.OptionalInt):150:151 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetracedClassReferenceImpl com.android.tools.r8.retrace.internal.RetracedMethodReferenceImpl$UnknownRetracedMethodReferenceImpl.getHolderClass():156:156 -> getHolderClass
    1:1:com.android.tools.r8.retrace.RetracedClassReference getHolderClass():144 -> getHolderClass
    1:1:java.lang.String getMethodName():161:161 -> getMethodName
com.android.tools.r8.retrace.internal.RetracedSingleFrameImpl -> com.android.tools.r8.internal.CT:
    com.android.tools.r8.retrace.RetracedMethodReference methodReference -> b
    com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl frameElement -> a
    int index -> c
    1:4:void <init>(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl,com.android.tools.r8.retrace.RetracedMethodReference,int):19:22 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetracedSingleFrameImpl create(com.android.tools.r8.retrace.internal.RetraceFrameResultImpl$ElementImpl,com.android.tools.r8.retrace.RetracedMethodReference,int):42:42 -> a
    1:1:int getIndex():32:32 -> getIndex
    1:1:com.android.tools.r8.retrace.RetracedMethodReference getMethodReference():27:27 -> getMethodReference
    1:1:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():37:37 -> getSourceFile
    2:2:com.android.tools.r8.retrace.RetracedMethodReference com.android.tools.r8.retrace.internal.RetracedSingleFrameImpl.getMethodReference():27:27 -> getSourceFile
    2:2:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():37 -> getSourceFile
    3:3:com.android.tools.r8.retrace.RetracedSourceFile getSourceFile():37:37 -> getSourceFile
com.android.tools.r8.retrace.internal.RetracedSourceFileImpl -> com.android.tools.r8.internal.DT:
    com.android.tools.r8.references.ClassReference classReference -> a
    java.lang.String filename -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():10:10 -> <clinit>
    1:4:void <init>(com.android.tools.r8.references.ClassReference,java.lang.String):15:18 -> <init>
    1:1:java.lang.String com.android.tools.r8.retrace.internal.RetracedSourceFileImpl.getSourceFile():28:28 -> getOrInferSourceFile
    1:1:java.lang.String getOrInferSourceFile():33 -> getOrInferSourceFile
    2:2:java.lang.String getOrInferSourceFile():36:36 -> getOrInferSourceFile
    1:1:java.lang.String getSourceFile():28:28 -> getSourceFile
    1:1:boolean hasRetraceResult():23:23 -> hasRetraceResult
com.android.tools.r8.retrace.internal.RetracedTypeReferenceImpl -> com.android.tools.r8.internal.ET:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.references.TypeReference typeReference -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:2:void <init>(com.android.tools.r8.references.TypeReference):16:17 -> <init>
    1:1:com.android.tools.r8.retrace.internal.RetracedTypeReferenceImpl create(com.android.tools.r8.references.TypeReference):21:21 -> a
    2:2:com.android.tools.r8.retrace.RetracedTypeReference createVoid():25:25 -> a
    1:4:boolean equals(java.lang.Object):54:57 -> equals
    1:2:java.lang.String getTypeName():40:41 -> getTypeName
    1:1:com.android.tools.r8.references.TypeReference getTypeReference():46:46 -> getTypeReference
    1:1:int hashCode():62:62 -> hashCode
    1:1:boolean isVoid():30:30 -> isVoid
    1:1:com.android.tools.r8.references.TypeReference toArray(int):35:35 -> toArray
com.android.tools.r8.retrace.internal.RetracerImpl -> com.android.tools.r8.internal.FT:
    com.android.tools.r8.DiagnosticsHandler diagnosticsHandler -> b
    com.android.tools.r8.naming.ClassNameMapper classNameMapper -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():24:24 -> <clinit>
    1:4:void <init>(com.android.tools.r8.naming.ClassNameMapper,com.android.tools.r8.DiagnosticsHandler):29:32 -> <init>
    1:9:com.android.tools.r8.retrace.internal.RetracerImpl create(com.android.tools.r8.retrace.ProguardMapProducer,com.android.tools.r8.DiagnosticsHandler,boolean):39:47 -> a
    10:17:com.android.tools.r8.retrace.internal.RetracerImpl create(com.android.tools.r8.retrace.ProguardMapProducer,com.android.tools.r8.DiagnosticsHandler,boolean):46:53 -> a
    18:18:com.android.tools.r8.DiagnosticsHandler getDiagnosticsHandler():58:58 -> a
    1:1:java.util.Set getMapVersions():110:110 -> b
    1:3:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceClass(com.android.tools.r8.references.ClassReference):95:95 -> retraceClass
    1:3:com.android.tools.r8.retrace.RetraceClassResult retraceClass(com.android.tools.r8.references.ClassReference):24 -> retraceClass
    1:1:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceField(com.android.tools.r8.references.FieldReference):90:90 -> retraceField
    1:1:com.android.tools.r8.retrace.RetraceFieldResult retraceField(com.android.tools.r8.references.FieldReference):24 -> retraceField
    2:4:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceClass(com.android.tools.r8.references.ClassReference):95:95 -> retraceField
    2:4:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceField(com.android.tools.r8.references.FieldReference):90 -> retraceField
    2:4:com.android.tools.r8.retrace.RetraceFieldResult retraceField(com.android.tools.r8.references.FieldReference):24 -> retraceField
    5:5:com.android.tools.r8.retrace.internal.RetraceFieldResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceField(com.android.tools.r8.references.FieldReference):90:90 -> retraceField
    5:5:com.android.tools.r8.retrace.RetraceFieldResult retraceField(com.android.tools.r8.references.FieldReference):24 -> retraceField
    1:1:com.android.tools.r8.retrace.RetraceFrameResult retraceFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.MethodReference):79:79 -> retraceFrame
    2:4:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceClass(com.android.tools.r8.references.ClassReference):95:95 -> retraceFrame
    2:4:com.android.tools.r8.retrace.RetraceFrameResult retraceFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.MethodReference):79 -> retraceFrame
    5:7:com.android.tools.r8.retrace.RetraceFrameResult retraceFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.MethodReference):83:85 -> retraceFrame
    8:8:com.android.tools.r8.retrace.RetraceFrameResult retraceFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.MethodReference):80:80 -> retraceFrame
    9:11:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceClass(com.android.tools.r8.references.ClassReference):95:95 -> retraceFrame
    9:11:com.android.tools.r8.retrace.RetraceFrameResult retraceFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.ClassReference,java.lang.String):73 -> retraceFrame
    12:12:com.android.tools.r8.retrace.RetraceFrameResult retraceFrame(com.android.tools.r8.retrace.RetraceStackTraceContext,java.util.OptionalInt,com.android.tools.r8.references.ClassReference,java.lang.String):73:73 -> retraceFrame
    1:1:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceMethod(com.android.tools.r8.references.MethodReference):63:63 -> retraceMethod
    1:1:com.android.tools.r8.retrace.RetraceMethodResult retraceMethod(com.android.tools.r8.references.MethodReference):24 -> retraceMethod
    2:4:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceClass(com.android.tools.r8.references.ClassReference):95:95 -> retraceMethod
    2:4:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceMethod(com.android.tools.r8.references.MethodReference):63 -> retraceMethod
    2:4:com.android.tools.r8.retrace.RetraceMethodResult retraceMethod(com.android.tools.r8.references.MethodReference):24 -> retraceMethod
    5:5:com.android.tools.r8.retrace.internal.RetraceMethodResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceMethod(com.android.tools.r8.references.MethodReference):64:64 -> retraceMethod
    5:5:com.android.tools.r8.retrace.RetraceMethodResult retraceMethod(com.android.tools.r8.references.MethodReference):24 -> retraceMethod
    1:3:com.android.tools.r8.retrace.internal.RetraceClassResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceClass(com.android.tools.r8.references.ClassReference):95:95 -> retraceThrownException
    1:3:com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceThrownException(com.android.tools.r8.references.ClassReference):106 -> retraceThrownException
    1:3:com.android.tools.r8.retrace.RetraceThrownExceptionResult retraceThrownException(com.android.tools.r8.references.ClassReference):24 -> retraceThrownException
    4:4:com.android.tools.r8.retrace.internal.RetraceThrownExceptionResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceThrownException(com.android.tools.r8.references.ClassReference):106:106 -> retraceThrownException
    4:4:com.android.tools.r8.retrace.RetraceThrownExceptionResult retraceThrownException(com.android.tools.r8.references.ClassReference):24 -> retraceThrownException
    1:1:com.android.tools.r8.retrace.internal.RetraceTypeResultImpl com.android.tools.r8.retrace.internal.RetracerImpl.retraceType(com.android.tools.r8.references.TypeReference):101:101 -> retraceType
    1:1:com.android.tools.r8.retrace.RetraceTypeResult retraceType(com.android.tools.r8.references.TypeReference):24 -> retraceType
com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl -> com.android.tools.r8.internal.JV:
    com.android.tools.r8.retrace.Retracer retracer -> a
    1:2:void <init>(com.android.tools.r8.retrace.Retracer):45:46 -> <init>
    1:4:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceClassOrType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.RetraceClassResult):81:84 -> a
    5:5:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> a
    5:5:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceClassOrType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.RetraceClassResult):82 -> a
    6:6:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceClassOrType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.RetraceClassResult):93:93 -> a
    7:8:java.util.stream.Stream lambda$retraceClassOrType$1(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):88:89 -> a
    9:17:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenThrownExceptionElement(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceThrownExceptionElement):101:109 -> a
    18:18:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenThrownExceptionElement(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceThrownExceptionElement):107:107 -> a
    19:24:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenThrownExceptionElement(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceThrownExceptionElement):106:111 -> a
    25:27:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceMethod(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext):119:121 -> a
    28:28:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultContext(java.util.function.Supplier):55:55 -> a
    28:28:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceMethod(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext):121 -> a
    29:30:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceMethod(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext):124:125 -> a
    31:31:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> a
    31:31:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceMethod(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext):123 -> a
    32:32:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceMethod(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext):170:170 -> a
    33:36:java.util.stream.Stream lambda$retraceMethod$6(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.utils.Box,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):130:133 -> a
    37:63:java.util.stream.Stream lambda$retraceMethod$6(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.RetraceStackTraceContext,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.utils.Box,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):128:154 -> a
    64:69:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceMethod$3(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassElement):139:144 -> a
    70:76:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceMethod$3(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassElement):143:149 -> a
    77:77:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceMethod$3(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassElement):147:147 -> a
    78:83:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceMethod$3(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassElement):146:151 -> a
    84:84:void lambda$retraceMethod$2(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):145:145 -> a
    85:88:java.util.stream.Stream lambda$retraceMethod$5(com.android.tools.r8.utils.Box,com.android.tools.r8.retrace.RetraceStackTraceContext,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFrameResult,com.android.tools.r8.retrace.RetraceFrameElement):156:159 -> a
    89:99:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFrameElement(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFrameResult,com.android.tools.r8.retrace.RetraceFrameElement,com.android.tools.r8.retrace.RetracedSingleFrame):180:190 -> a
    100:107:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFrameElement(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFrameResult,com.android.tools.r8.retrace.RetraceFrameElement,com.android.tools.r8.retrace.RetracedSingleFrame):189:196 -> a
    108:108:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFrameElement(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFrameResult,com.android.tools.r8.retrace.RetraceFrameElement,com.android.tools.r8.retrace.RetracedSingleFrame):195:195 -> a
    109:112:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFrameElement(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFrameResult,com.android.tools.r8.retrace.RetraceFrameElement,com.android.tools.r8.retrace.RetracedSingleFrame):194:197 -> a
    113:113:void lambda$buildProxyForRewrittenFrameElement$7(com.android.tools.r8.retrace.RetracedMethodReference,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):192:192 -> a
    114:114:com.android.tools.r8.retrace.RetracedSourceFile lambda$buildProxyForRewrittenFrameElement$8(com.android.tools.r8.retrace.RetraceFrameElement,com.android.tools.r8.retrace.RetracedMethodReference):196:196 -> a
    115:118:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceField(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult):205:208 -> a
    119:119:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> a
    119:119:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceField(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult):206 -> a
    120:120:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceField(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult):218:218 -> a
    121:123:java.util.stream.Stream lambda$retraceField$10(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):211:213 -> a
    124:131:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFieldElement(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFieldResult,com.android.tools.r8.retrace.RetraceFieldElement):227:234 -> a
    132:132:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFieldElement(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFieldResult,com.android.tools.r8.retrace.RetraceFieldElement):233:233 -> a
    133:136:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl buildProxyForRewrittenFieldElement(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFieldResult,com.android.tools.r8.retrace.RetraceFieldElement):232:235 -> a
    137:137:java.util.function.Consumer setSourceFileOnProxy(java.util.function.Supplier,com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetraceClassResult):242:242 -> a
    138:147:void lambda$setSourceFileOnProxy$11(java.util.function.Supplier,com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):243:252 -> a
    148:148:void lambda$setSourceFileOnProxy$11(java.util.function.Supplier,com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):251:251 -> a
    149:149:void lambda$setSourceFileOnProxy$11(java.util.function.Supplier,com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):248:248 -> a
    150:159:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceFieldOrReturnType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):258:267 -> a
    160:160:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> a
    160:160:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceFieldOrReturnType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):265 -> a
    161:169:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceFieldOrReturnType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):271:279 -> a
    170:170:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> a
    170:170:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceFieldOrReturnType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):277 -> a
    171:171:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retraceFieldOrReturnType(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):288:288 -> a
    172:172:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceFieldOrReturnType$12(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):270:270 -> a
    173:173:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl.buildProxyForRewrittenReturnType(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetracedTypeReference,boolean):296:296 -> a
    173:173:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceFieldOrReturnType$12(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):269 -> a
    174:175:java.util.stream.Stream lambda$retraceFieldOrReturnType$14(java.util.List,com.android.tools.r8.retrace.RetraceTypeResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):281:282 -> a
    176:177:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceFieldOrReturnType$13(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceTypeResult,com.android.tools.r8.retrace.RetraceTypeResult$Element):286:287 -> a
    178:178:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl.buildProxyForRewrittenReturnType(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetracedTypeReference,boolean):296:296 -> a
    178:178:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceFieldOrReturnType$13(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceTypeResult,com.android.tools.r8.retrace.RetraceTypeResult$Element):284 -> a
    179:179:com.android.tools.r8.retrace.RetraceTypeResult lambda$retracedMethodArguments$15(java.lang.String):306:306 -> a
    180:181:java.util.List lambda$retracedMethodArguments$18(java.util.List,com.android.tools.r8.retrace.RetraceTypeResult):315:316 -> a
    182:182:void lambda$retracedMethodArguments$17(java.util.List,java.util.List,com.android.tools.r8.retrace.RetraceTypeResult$Element):318:318 -> a
    183:185:void lambda$retracedMethodArguments$16(com.android.tools.r8.retrace.RetraceTypeResult$Element,java.util.List,java.util.List):320:322 -> a
    186:187:java.util.stream.Stream lambda$retracedMethodArguments$20(java.util.List,boolean,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl):333:334 -> a
    188:191:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retracedMethodArguments$19(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,boolean,java.util.List):337:340 -> a
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceClassOrType$0(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceThrownExceptionElement):91:91 -> b
    2:2:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceMethod$4(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFrameResult,com.android.tools.r8.retrace.RetraceFrameElement,com.android.tools.r8.retrace.RetracedSingleFrame):161:161 -> b
    3:3:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl lambda$retraceField$9(com.android.tools.r8.retrace.RetraceClassResult,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl,com.android.tools.r8.retrace.RetraceFieldResult,com.android.tools.r8.retrace.RetraceFieldElement):215:215 -> b
    4:34:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retracedMethodArguments(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):301:331 -> b
    35:35:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> b
    35:35:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retracedMethodArguments(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):329 -> b
    36:36:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl retracedMethodArguments(com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl,com.android.tools.r8.retrace.StackTraceElementProxy):341:341 -> b
    1:2:com.android.tools.r8.retrace.RetraceStackTraceElementProxyResult retrace(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):53:54 -> retrace
    3:3:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultStream(java.util.stream.Stream):50:50 -> retrace
    3:3:com.android.tools.r8.retrace.RetraceStackTraceElementProxyResult retrace(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):54 -> retrace
    4:4:com.android.tools.r8.retrace.RetraceStackTraceElementProxyResult retrace(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):54:54 -> retrace
    5:5:com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder com.android.tools.r8.retrace.internal.RetraceStackTraceElementProxyResultImpl$Builder.setResultContext(java.util.function.Supplier):55:55 -> retrace
    5:5:com.android.tools.r8.retrace.RetraceStackTraceElementProxyResult retrace(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):55 -> retrace
    6:21:com.android.tools.r8.retrace.RetraceStackTraceElementProxyResult retrace(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):56:71 -> retrace
com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl -> com.android.tools.r8.internal.IV:
    boolean $assertionsDisabled -> m
    java.lang.String sourceFile -> h
    boolean isAmbiguous -> j
    com.android.tools.r8.retrace.RetraceStackTraceContext context -> l
    boolean isTopFrame -> k
    com.android.tools.r8.retrace.RetracedClassReference retracedClass -> c
    int lineNumber -> i
    com.android.tools.r8.retrace.RetracedFieldReference retracedField -> e
    java.util.List methodArguments -> g
    com.android.tools.r8.retrace.RetracedTypeReference fieldOrReturnType -> f
    com.android.tools.r8.retrace.RetracedMethodReference retracedMethod -> d
    com.android.tools.r8.retrace.StackTraceElementProxy originalItem -> b
    1:1:void <clinit>():344:344 -> <clinit>
    1:1:void <init>(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetracedMethodReference,com.android.tools.r8.retrace.RetracedFieldReference,com.android.tools.r8.retrace.RetracedTypeReference,java.util.List,java.lang.String,int,boolean,boolean,com.android.tools.r8.retrace.RetraceStackTraceContext,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$1):344:344 -> <init>
    2:14:void <init>(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetracedClassReference,com.android.tools.r8.retrace.RetracedMethodReference,com.android.tools.r8.retrace.RetracedFieldReference,com.android.tools.r8.retrace.RetracedTypeReference,java.util.List,java.lang.String,int,boolean,boolean,com.android.tools.r8.retrace.RetraceStackTraceContext):370:382 -> <init>
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.create(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):468:468 -> a
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl access$000(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.RetraceStackTraceContext):344 -> a
    2:12:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder builder():473:483 -> a
    1:1:int compareTo(java.lang.Object):344:344 -> compareTo
    2:6:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):502:506 -> compareTo
    2:6:int compareTo(java.lang.Object):344 -> compareTo
    7:7:com.android.tools.r8.retrace.RetracedClassReference com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.getRetracedClass():437:437 -> compareTo
    7:7:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):508 -> compareTo
    7:7:int compareTo(java.lang.Object):344 -> compareTo
    8:17:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):508:517 -> compareTo
    8:17:int compareTo(java.lang.Object):344 -> compareTo
    18:18:com.android.tools.r8.retrace.RetracedMethodReference com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.getRetracedMethod():442:442 -> compareTo
    18:18:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):518 -> compareTo
    18:18:int compareTo(java.lang.Object):344 -> compareTo
    19:28:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):518:527 -> compareTo
    19:28:int compareTo(java.lang.Object):344 -> compareTo
    29:29:java.lang.String com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.getSourceFile():462:462 -> compareTo
    29:29:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):528 -> compareTo
    29:29:int compareTo(java.lang.Object):344 -> compareTo
    30:40:int com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl.compareTo(com.android.tools.r8.retrace.RetraceStackTraceElementProxy):528:538 -> compareTo
    30:40:int compareTo(java.lang.Object):344 -> compareTo
    1:1:com.android.tools.r8.retrace.RetraceStackTraceContext getContext():494:494 -> getContext
    1:1:int getLineNumber():489:489 -> getLineNumber
    1:1:com.android.tools.r8.retrace.StackTraceElementProxy getOriginalItem():432:432 -> getOriginalItem
    1:1:com.android.tools.r8.retrace.RetracedClassReference getRetracedClass():437:437 -> getRetracedClass
    1:1:com.android.tools.r8.retrace.RetracedFieldReference getRetracedField():447:447 -> getRetracedField
    1:1:com.android.tools.r8.retrace.RetracedTypeReference getRetracedFieldOrReturnType():452:452 -> getRetracedFieldOrReturnType
    1:1:com.android.tools.r8.retrace.RetracedMethodReference getRetracedMethod():442:442 -> getRetracedMethod
    1:1:java.util.List getRetracedMethodArguments():457:457 -> getRetracedMethodArguments
    1:1:java.lang.String getSourceFile():462:462 -> getSourceFile
    1:1:boolean hasLineNumber():417:417 -> hasLineNumber
    1:1:boolean hasRetracedClass():397:397 -> hasRetracedClass
    1:1:boolean hasRetracedField():407:407 -> hasRetracedField
    1:1:boolean hasRetracedFieldOrReturnType():422:422 -> hasRetracedFieldOrReturnType
    1:1:boolean hasRetracedMethod():402:402 -> hasRetracedMethod
    1:1:boolean hasRetracedMethodArguments():427:427 -> hasRetracedMethodArguments
    1:1:boolean hasSourceFile():412:412 -> hasSourceFile
    1:1:boolean isAmbiguous():387:387 -> isAmbiguous
    1:1:boolean isTopFrame():392:392 -> isTopFrame
com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder -> com.android.tools.r8.internal.HV:
    java.lang.String sourceFile -> g
    com.android.tools.r8.retrace.RetracedMethodReference methodContext -> c
    java.util.List methodArguments -> f
    boolean isAmbiguous -> i
    boolean isTopFrame -> j
    int lineNumber -> h
    com.android.tools.r8.retrace.RetraceStackTraceContext context -> k
    com.android.tools.r8.retrace.RetracedClassReference classContext -> b
    com.android.tools.r8.retrace.RetracedTypeReference fieldOrReturnType -> e
    com.android.tools.r8.retrace.RetracedFieldReference retracedField -> d
    com.android.tools.r8.retrace.StackTraceElementProxy originalElement -> a
    1:1:void <init>(com.android.tools.r8.retrace.StackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$1):543:543 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.StackTraceElementProxy):557:557 -> <init>
    3:9:void <init>(com.android.tools.r8.retrace.StackTraceElementProxy):552:558 -> <init>
    1:1:com.android.tools.r8.retrace.RetracedMethodReference access$1302(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedMethodReference):543:543 -> a
    2:2:com.android.tools.r8.retrace.RetracedFieldReference access$1402(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedFieldReference):543:543 -> a
    3:3:java.util.List access$1602(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,java.util.List):543:543 -> a
    4:4:java.lang.String access$1702(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,java.lang.String):543:543 -> a
    5:5:int access$1802(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,int):543:543 -> a
    6:6:boolean access$1902(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,boolean):543:543 -> a
    7:7:com.android.tools.r8.retrace.RetraceStackTraceContext access$2102(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetraceStackTraceContext):543:543 -> a
    8:8:com.android.tools.r8.retrace.StackTraceElementProxy access$2400(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):543:543 -> a
    9:9:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setRetracedClass(com.android.tools.r8.retrace.RetracedClassReference):562:562 -> a
    9:9:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$100(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedClassReference):543 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setRetracedFieldOrReturnType(com.android.tools.r8.retrace.RetracedTypeReference):577:577 -> a
    10:10:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$1000(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedTypeReference):543 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:11:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.apply(java.util.function.Consumer):612:612 -> a
    11:11:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$500(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,java.util.function.Consumer):543 -> a
    12:12:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.applyIf(boolean,java.util.function.Consumer):618:618 -> a
    12:12:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$800(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,boolean,java.util.function.Consumer):543 -> a
    1:1:com.android.tools.r8.retrace.RetracedClassReference access$1202(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedClassReference):543:543 -> b
    2:2:com.android.tools.r8.retrace.RetracedTypeReference access$1502(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedTypeReference):543:543 -> b
    3:3:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setRetracedMethod(com.android.tools.r8.retrace.RetracedMethodReference):567:567 -> b
    3:3:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$700(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedMethodReference):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setRetracedField(com.android.tools.r8.retrace.RetracedFieldReference):572:572 -> b
    4:4:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$900(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetracedFieldReference):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setRetracedMethodArguments(java.util.List):582:582 -> b
    5:5:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$2300(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,java.util.List):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setSourceFile(java.lang.String):587:587 -> b
    6:6:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$2500(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,java.lang.String):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setLineNumber(int):592:592 -> b
    7:7:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$2600(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,int):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.joinAmbiguous(boolean):597:597 -> b
    8:8:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$200(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,boolean):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setContext(com.android.tools.r8.retrace.RetraceStackTraceContext):607:607 -> b
    9:9:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$400(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,com.android.tools.r8.retrace.RetraceStackTraceContext):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.build():624:624 -> b
    10:10:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl access$600(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):543 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:14:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.build():625:628 -> b
    11:14:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl access$600(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder):543 -> b
    1:1:boolean access$2002(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,boolean):543:543 -> c
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder.setTopFrame(boolean):602:602 -> d
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder access$300(com.android.tools.r8.retrace.internal.StackTraceElementProxyRetracerImpl$RetraceStackTraceElementProxyImpl$Builder,boolean):543 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.retrace.internal.StackTraceElementStringProxy -> com.android.tools.r8.internal.OV:
    java.util.List orderedIndices -> b
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex fieldOrReturnType -> h
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex methodArguments -> i
    boolean $assertionsDisabled -> j
    java.lang.String line -> a
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex className -> c
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex methodName -> d
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex sourceFile -> e
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex lineNumber -> f
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex fieldName -> g
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(java.lang.String,java.util.List,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$1):23:23 -> <init>
    2:11:void <init>(java.lang.String,java.util.List,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex):45:54 -> <init>
    1:1:java.lang.String lineNumberAsString():158:158 -> a
    2:3:java.lang.String getEntryInLine(com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex):162:163 -> a
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasClassName():63:63 -> getClassReference
    1:1:com.android.tools.r8.references.ClassReference getClassReference():98 -> getClassReference
    2:2:com.android.tools.r8.references.ClassReference getClassReference():98:98 -> getClassReference
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasFieldName():83:83 -> getFieldName
    1:1:java.lang.String getFieldName():129 -> getFieldName
    2:2:java.lang.String getFieldName():129:129 -> getFieldName
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasFieldOrReturnType():88:88 -> getFieldOrReturnType
    1:1:java.lang.String getFieldOrReturnType():134 -> getFieldOrReturnType
    2:2:java.lang.String getFieldOrReturnType():134:134 -> getFieldOrReturnType
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasLineNumber():78:78 -> getLineNumber
    1:1:int getLineNumber():113 -> getLineNumber
    2:6:int getLineNumber():117:121 -> getLineNumber
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasMethodArguments():93:93 -> getMethodArguments
    1:1:java.lang.String getMethodArguments():139 -> getMethodArguments
    2:2:java.lang.String getMethodArguments():139:139 -> getMethodArguments
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasMethodName():68:68 -> getMethodName
    1:1:java.lang.String getMethodName():103 -> getMethodName
    2:2:java.lang.String getMethodName():103:103 -> getMethodName
    1:1:boolean com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.hasSourceFile():73:73 -> getSourceFile
    1:1:java.lang.String getSourceFile():108 -> getSourceFile
    2:2:java.lang.String getSourceFile():108:108 -> getSourceFile
    1:1:boolean hasClassName():63:63 -> hasClassName
    1:1:boolean hasFieldName():83:83 -> hasFieldName
    1:1:boolean hasFieldOrReturnType():88:88 -> hasFieldOrReturnType
    1:1:boolean hasLineNumber():78:78 -> hasLineNumber
    1:1:boolean hasMethodArguments():93:93 -> hasMethodArguments
    1:1:boolean hasMethodName():68:68 -> hasMethodName
    1:1:boolean hasSourceFile():73:73 -> hasSourceFile
    1:9:java.lang.String com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.toRetracedItem(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,boolean):146:154 -> toRetracedItem
    1:9:java.lang.Object toRetracedItem(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,boolean):23 -> toRetracedItem
com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType -> com.android.tools.r8.internal.KV:
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType TYPENAME -> c
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType BINARY -> b
    1:2:void <clinit>():167:168 -> <clinit>
    1:1:void <init>(java.lang.String,int):166:166 -> <init>
com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex -> com.android.tools.r8.internal.LV:
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex NO_INDEX -> e
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType classNameType -> d
    1:1:void <clinit>():367:367 -> <clinit>
    1:1:void <init>(int,int,com.android.tools.r8.utils.TriFunction,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$1):365:365 -> <init>
    2:3:void <init>(int,int,com.android.tools.r8.utils.TriFunction,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType):382:383 -> <init>
    1:4:com.android.tools.r8.references.ClassReference getReference(java.lang.String):387:390 -> a
com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder -> com.android.tools.r8.internal.MV:
    java.util.List orderedIndices -> b
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex fieldOrReturnType -> h
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex methodArguments -> i
    int lastSeenStartIndex -> j
    boolean $assertionsDisabled -> k
    java.lang.String line -> a
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassStringIndex className -> c
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex methodName -> d
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex sourceFile -> e
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex lineNumber -> f
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex fieldName -> g
    1:1:void <clinit>():171:171 -> <clinit>
    1:1:void <init>(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$1):171:171 -> <init>
    2:2:void <init>(java.lang.String):184:184 -> <init>
    3:14:void <init>(java.lang.String):174:185 -> <init>
    1:5:java.lang.String lambda$registerClassName$0(com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType,com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):196:200 -> a
    6:20:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerLineNumber(int,int,boolean):236:250 -> a
    21:27:java.lang.String lambda$registerLineNumber$3(boolean,com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):242:248 -> a
    28:44:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerFieldName(int,int):255:271 -> a
    45:54:java.lang.String lambda$registerFieldName$4(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):260:269 -> a
    55:55:java.lang.String lambda$registerFieldName$4(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):265:265 -> a
    56:59:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy build():311:314 -> a
    60:63:void com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder.ensureLineIndexIncreases(int):327:330 -> a
    60:63:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerClassName(int,int,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType):190 -> a
    64:76:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerClassName(int,int,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType):191:203 -> a
    77:77:void com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder.ensureLineIndexIncreases(int):328:328 -> a
    77:77:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerClassName(int,int,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType):190 -> a
    1:13:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerFieldOrReturnType(int,int):277:289 -> b
    14:19:java.lang.String lambda$registerFieldOrReturnType$5(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):282:287 -> b
    1:12:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerMethodArguments(int,int):295:306 -> c
    13:17:java.lang.String lambda$registerMethodArguments$6(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):300:304 -> c
    18:18:java.lang.String lambda$registerMethodArguments$6(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):303:303 -> c
    1:12:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerMethodName(int,int):208:219 -> d
    13:17:java.lang.String lambda$registerMethodName$1(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):213:217 -> d
    18:18:java.lang.String lambda$registerMethodName$1(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):216:216 -> d
    19:42:java.lang.String com.android.tools.r8.retrace.internal.RetraceUtils.methodDescriptionFromRetraceMethod(com.android.tools.r8.retrace.RetracedMethodReference,boolean,boolean):37:60 -> d
    19:42:java.lang.String lambda$registerMethodName$1(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):216 -> d
    43:43:java.lang.String com.android.tools.r8.retrace.internal.RetraceUtils.methodDescriptionFromRetraceMethod(com.android.tools.r8.retrace.RetracedMethodReference,boolean,boolean) -> d
    43:43:java.lang.String lambda$registerMethodName$1(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):216 -> d
    1:7:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder registerSourceFile(int,int):224:230 -> e
    8:8:java.lang.String lambda$registerSourceFile$2(com.android.tools.r8.retrace.RetraceStackTraceElementProxy,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy,java.lang.Boolean):229:229 -> e
com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex -> com.android.tools.r8.internal.NV:
    com.android.tools.r8.utils.TriFunction retracedString -> c
    int endIndex -> b
    int startIndex -> a
    1:1:void <init>(int,int,com.android.tools.r8.utils.TriFunction,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$1):334:334 -> <init>
    2:5:void <init>(int,int,com.android.tools.r8.utils.TriFunction):354:357 -> <init>
    1:1:com.android.tools.r8.utils.TriFunction access$100(com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StringIndex):334:334 -> a
    2:2:boolean hasIndex():361:361 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser -> com.android.tools.r8.internal.cW:
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$LineNumberGroup lineNumberGroup -> g
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$FieldOrReturnTypeGroup fieldOrReturnTypeGroup -> h
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$MethodNameGroup methodNameGroup -> j
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$TypeNameGroup typeNameGroup -> d
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$FieldNameGroup fieldNameGroup -> k
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$BinaryNameGroup binaryNameGroup -> e
    java.util.List handlers -> c
    boolean $assertionsDisabled -> l
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$SourceFileLineNumberGroup sourceFileLineNumberGroup -> b
    java.util.regex.Pattern compiledPattern -> a
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$SourceFileGroup sourceFileGroup -> f
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$MethodArgumentsGroup methodArgumentsGroup -> i
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(java.lang.String):49:49 -> <init>
    2:26:void <init>(java.lang.String):30:54 -> <init>
    1:4:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):84:87 -> a
    5:5:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):148:148 -> a
    5:5:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    6:6:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):144:144 -> a
    6:6:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    7:7:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):138:138 -> a
    7:7:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    8:14:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):134:140 -> a
    8:14:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    15:15:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):136:136 -> a
    15:15:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    16:32:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):130:146 -> a
    16:32:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    33:33:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):142:142 -> a
    33:33:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    34:34:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.getGroupFromVariable(char):132:132 -> a
    34:34:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):87 -> a
    35:36:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):88:89 -> a
    37:37:boolean com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup.isSynthetic():0:0 -> a
    37:37:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):89 -> a
    38:38:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):92:92 -> a
    39:39:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):91:91 -> a
    40:40:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":153,"2":154,"3":155}}
    153:153:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):94:94 -> a
    154:154:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):94:94 -> a
    155:155:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):94:94 -> a
    134:151:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):94:111 -> a
    152:152:int registerGroups(java.lang.String,java.lang.StringBuilder,java.util.List,int):110:110 -> a
    1:1:com.android.tools.r8.retrace.StackTraceElementProxy parse(java.lang.Object):16:16 -> parse
    2:2:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder com.android.tools.r8.retrace.internal.StackTraceElementStringProxy.builder(java.lang.String):58:58 -> parse
    2:2:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.parse(java.lang.String):60 -> parse
    2:2:com.android.tools.r8.retrace.StackTraceElementProxy parse(java.lang.Object):16 -> parse
    3:15:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser.parse(java.lang.String):61:73 -> parse
    3:15:com.android.tools.r8.retrace.StackTraceElementProxy parse(java.lang.Object):16 -> parse
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$BinaryNameGroup -> com.android.tools.r8.internal.PV:
    1:1:void <init>():222:222 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):222:222 -> <init>
    1:1:java.lang.String subExpression():226:226 -> a
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType getClassNameType():231:231 -> b
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup -> com.android.tools.r8.internal.RV:
    1:1:void <init>():179:179 -> <init>
    1:1:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):185:185 -> a
    com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType getClassNameType() -> b
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup$1 -> com.android.tools.r8.internal.QV:
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup this$0 -> b
    java.lang.String val$captureGroup -> a
    1:1:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$ClassNameGroup,java.lang.String):185:185 -> <init>
    boolean isClassHandler() -> a
    1:10:boolean matchHandler(com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):188:197 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$FieldNameGroup -> com.android.tools.r8.internal.SV:
    1:1:void <init>():255:255 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):255:255 -> <init>
    1:1:java.lang.String subExpression():259:259 -> a
    2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):264:264 -> a
    3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):265:269 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$FieldOrReturnTypeGroup -> com.android.tools.r8.internal.TV:
    1:1:void <init>():339:339 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):339:339 -> <init>
    1:1:java.lang.String subExpression():343:343 -> a
    2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):348:348 -> a
    3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):349:353 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$LineNumberGroup -> com.android.tools.r8.internal.UV:
    1:1:void <init>():298:298 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):298:298 -> <init>
    1:1:java.lang.String subExpression():302:302 -> a
    2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):307:307 -> a
    3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):308:312 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$MethodArgumentsGroup -> com.android.tools.r8.internal.VV:
    1:1:void <init>():359:359 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):359:359 -> <init>
    1:1:java.lang.String subExpression():363:363 -> a
    2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):368:368 -> a
    3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):369:373 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$MethodNameGroup -> com.android.tools.r8.internal.WV:
    1:1:void <init>():235:235 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):235:235 -> <init>
    1:1:java.lang.String subExpression():239:239 -> a
    2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):244:244 -> a
    3:7:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):245:249 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroup -> com.android.tools.r8.internal.XV:
    1:1:void <init>():161:161 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):161:161 -> <init>
    com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String) -> a
    java.lang.String subExpression() -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler -> com.android.tools.r8.internal.YV:
    boolean isClassHandler() -> a
    boolean matchHandler(com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher) -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$SourceFileGroup -> com.android.tools.r8.internal.ZV:
    1:1:void <init>():275:275 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):275:275 -> <init>
    1:1:java.lang.String subExpression():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":284,"2":285,"3":286,"4":287,"5":288,"6":289}}
    284:284:java.lang.String subExpression():281:281 -> a
    285:285:java.lang.String subExpression():281:281 -> a
    286:286:java.lang.String subExpression():281:281 -> a
    287:287:java.lang.String subExpression():281:281 -> a
    288:288:java.lang.String subExpression():281:281 -> a
    289:289:java.lang.String subExpression():281:281 -> a
    283:283:java.lang.String subExpression():282:282 -> a
    290:290:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):287:287 -> a
    291:295:boolean lambda$createHandler$0(java.lang.String,com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$StackTraceElementStringProxyBuilder,java.util.regex.Matcher):288:292 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$SourceFileLineNumberGroup -> com.android.tools.r8.internal.aW:
    1:1:void <init>():318:318 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):318:318 -> <init>
    1:1:java.lang.String subExpression():322:322 -> a
    2:2:com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$RegularExpressionGroupHandler createHandler(java.lang.String):327:327 -> a
com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$TypeNameGroup -> com.android.tools.r8.internal.bW:
    1:1:void <init>():209:209 -> <init>
    2:2:void <init>(com.android.tools.r8.retrace.internal.StackTraceRegularExpressionParser$1):209:209 -> <init>
    1:1:java.lang.String subExpression():213:213 -> a
    1:1:com.android.tools.r8.retrace.internal.StackTraceElementStringProxy$ClassNameType getClassNameType():218:218 -> b
com.android.tools.r8.shaking.AbstractMethodRemover -> com.android.tools.r8.shaking.a:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.shaking.ScopedDexMethodSet scope -> c
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):32:32 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):30:34 -> <init>
    1:2:void run():38:39 -> a
    3:7:void processClass(com.android.tools.r8.graph.DexType):43:47 -> a
    8:13:java.util.List com.android.tools.r8.utils.IterableUtils.ensureUnmodifiableList(java.lang.Iterable):57:62 -> a
    8:13:void processClass(com.android.tools.r8.graph.DexType):47 -> a
    14:21:void processClass(com.android.tools.r8.graph.DexType):47:54 -> a
    22:26:com.android.tools.r8.graph.DexEncodedMethod[] processMethods(java.util.List):63:67 -> a
    27:39:boolean isNonAbstractPinnedOrWideningVisibility(com.android.tools.r8.graph.DexEncodedMethod):71:83 -> a
com.android.tools.r8.shaking.AnnotationFixer -> com.android.tools.r8.internal.a2:
    com.android.tools.r8.graph.GraphLens lens -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():26:26 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.GraphLens):30:31 -> <init>
    1:4:void run(java.lang.Iterable):35:38 -> a
    5:5:void processMethod(com.android.tools.r8.graph.DexEncodedMethod):43:43 -> a
    6:6:com.android.tools.r8.graph.DexAnnotation lambda$processMethod$0(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):44:44 -> a
    7:7:void processField(com.android.tools.r8.graph.DexEncodedField):48:48 -> a
    8:8:com.android.tools.r8.graph.DexAnnotation rewriteAnnotation(com.android.tools.r8.graph.DexAnnotation):52:52 -> a
    9:10:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):56:57 -> a
    11:13:com.android.tools.r8.graph.DexAnnotationElement rewriteAnnotationElement(com.android.tools.r8.graph.DexAnnotationElement):63:65 -> a
    14:14:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):71:71 -> a
    15:15:boolean com.android.tools.r8.graph.DexValue.isDexValueArray():0:0 -> a
    15:15:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):71 -> a
    16:20:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):72:76 -> a
    21:21:boolean com.android.tools.r8.graph.DexValue.isDexValueAnnotation():0:0 -> a
    21:21:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):78 -> a
    22:22:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):79:79 -> a
    23:23:com.android.tools.r8.graph.DexEncodedAnnotation com.android.tools.r8.graph.DexValue$DexValueAnnotation.getValue():1703:1703 -> a
    23:23:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):80 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:28:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):80:84 -> a
    29:29:boolean com.android.tools.r8.graph.DexValue.isDexItemBasedValueString():0:0 -> a
    29:29:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):90 -> a
    29:29:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    30:34:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):91:95 -> a
    30:34:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    35:35:boolean com.android.tools.r8.graph.DexValue.isDexValueEnum():0:0 -> a
    35:35:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):97 -> a
    35:35:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    36:37:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):98:99 -> a
    36:37:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    38:38:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    38:38:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):99 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    38:38:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    39:39:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):101:101 -> a
    39:39:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    40:40:boolean com.android.tools.r8.graph.DexValue.isDexValueField():0:0 -> a
    40:40:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):103 -> a
    40:40:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    41:41:boolean com.android.tools.r8.graph.DexValue.isDexValueMethod():0:0 -> a
    41:41:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):105 -> a
    41:41:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    42:42:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> a
    42:42:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):107 -> a
    42:42:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    43:43:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodType():0:0 -> a
    43:43:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):109 -> a
    43:43:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    44:48:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):111:115 -> a
    44:48:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    49:49:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":69,"2":70,"3":71}}
    69:69:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):115:115 -> a
    69:69:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    70:70:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    70:70:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):115 -> a
    70:70:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    71:71:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    71:71:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):115 -> a
    71:71:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    50:54:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):117:121 -> a
    50:54:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    55:55:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):110:110 -> a
    55:55:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    56:56:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):108:108 -> a
    56:56:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    57:57:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):106:106 -> a
    57:57:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
    58:58:com.android.tools.r8.graph.DexValue com.android.tools.r8.shaking.AnnotationFixer.rewriteNestedValue(com.android.tools.r8.graph.DexValue):104:104 -> a
    58:58:com.android.tools.r8.graph.DexValue rewriteComplexValue(com.android.tools.r8.graph.DexValue):86 -> a
com.android.tools.r8.shaking.AnnotationMatchResult -> com.android.tools.r8.shaking.e:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.shaking.AnnotationMatchResult$ConcreteAnnotationMatchResult asConcreteAnnotationMatchResult() -> a
com.android.tools.r8.shaking.AnnotationMatchResult$AnnotationsIgnoredMatchResult -> com.android.tools.r8.shaking.b:
    com.android.tools.r8.shaking.AnnotationMatchResult$AnnotationsIgnoredMatchResult INSTANCE -> a
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>():28:28 -> <init>
    1:1:com.android.tools.r8.shaking.AnnotationMatchResult$AnnotationsIgnoredMatchResult getInstance():31:31 -> b
com.android.tools.r8.shaking.AnnotationMatchResult$ConcreteAnnotationMatchResult -> com.android.tools.r8.shaking.c:
    java.util.List matchedAnnotations -> a
    1:2:void <init>(java.util.List):39:40 -> <init>
    com.android.tools.r8.shaking.AnnotationMatchResult$ConcreteAnnotationMatchResult asConcreteAnnotationMatchResult() -> a
    1:1:java.util.List getMatchedAnnotations():44:44 -> b
com.android.tools.r8.shaking.AnnotationMatchResult$MatchedAnnotation -> com.android.tools.r8.shaking.d:
    com.android.tools.r8.graph.DexAnnotation$AnnotatedKind annotatedKind -> c
    com.android.tools.r8.graph.DexAnnotation annotation -> b
    com.android.tools.r8.graph.ProgramDefinition annotatedItem -> a
    1:4:void <init>(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):65:68 -> <init>
    1:1:com.android.tools.r8.graph.ProgramDefinition getAnnotatedItem():72:72 -> a
    1:1:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind getAnnotatedKind():80:80 -> b
    1:1:com.android.tools.r8.graph.DexAnnotation getAnnotation():76:76 -> c
    1:3:boolean equals(java.lang.Object):88:90 -> equals
    1:1:int hashCode():99:99 -> hashCode
com.android.tools.r8.shaking.AnnotationRemover -> com.android.tools.r8.shaking.g:
    com.android.tools.r8.shaking.ProguardKeepAttributes keep -> e
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.shaking.Enqueuer$Mode mode -> b
    java.util.Set annotationsToRetain -> d
    com.android.tools.r8.utils.InternalOptions options -> c
    java.util.Set removedClasses -> f
    boolean $assertionsDisabled -> g
    1:1:void <clinit>():34:34 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.shaking.Enqueuer$Mode,java.util.Set,com.android.tools.r8.shaking.AnnotationRemover$1):34:34 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.shaking.Enqueuer$Mode,java.util.Set):47:53 -> <init>
    1:1:com.android.tools.r8.shaking.AnnotationRemover$Builder builder(com.android.tools.r8.shaking.Enqueuer$Mode):57:57 -> a
    2:15:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):75:88 -> a
    16:16:boolean com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.isParameter():48:48 -> a
    16:16:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):88 -> a
    17:22:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):92:97 -> a
    23:25:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):96:98 -> a
    26:26:boolean com.android.tools.r8.graph.DexAnnotation.isThrowingAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):314:314 -> a
    26:26:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):98 -> a
    27:27:boolean com.android.tools.r8.graph.DexAnnotation.isSourceDebugExtension(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):335:335 -> a
    27:27:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):101 -> a
    28:30:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):102:104 -> a
    31:35:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):103:107 -> a
    36:36:boolean com.android.tools.r8.graph.DexAnnotation.isParameterNameAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):340:340 -> a
    36:36:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):108 -> a
    37:37:boolean com.android.tools.r8.graph.DexAnnotation.isAnnotationDefaultAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):325:325 -> a
    37:37:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):111 -> a
    38:38:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):158:158 -> a
    39:40:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):122:123 -> a
    41:41:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    41:41:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):123 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    42:42:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):123 -> a
    43:43:boolean com.android.tools.r8.graph.DexAnnotation.isJavaLangRetentionAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):330:330 -> a
    43:43:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):124 -> a
    44:44:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):128:128 -> a
    45:45:boolean com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.isParameter():48:48 -> a
    45:45:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):128 -> a
    46:60:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):129:143 -> a
    61:61:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    61:61:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):143 -> a
    62:62:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):146:146 -> a
    63:63:boolean com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.isParameter():48:48 -> a
    63:63:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):146 -> a
    64:68:boolean shouldKeepAnnotation(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,boolean,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):147:151 -> a
    69:69:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173:173 -> a
    70:70:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):144:144 -> a
    70:70:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:74:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):144:147 -> a
    71:74:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    76:76:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):149:149 -> a
    76:76:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    77:78:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):149:150 -> a
    77:78:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    79:79:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    79:79:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):150 -> a
    79:79:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    80:83:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):150:153 -> a
    80:83:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    84:84:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    84:84:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):153 -> a
    84:84:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    85:93:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):153:161 -> a
    85:93:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    94:94:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    94:94:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):161 -> a
    94:94:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    95:95:void com.android.tools.r8.shaking.ProguardKeepAttributes.ensureValid(boolean):161:161 -> a
    95:95:com.android.tools.r8.shaking.AnnotationRemover ensureValid():173 -> a
    96:97:void run(java.util.concurrent.ExecutorService):178:179 -> a
    98:106:void run(com.android.tools.r8.graph.DexProgramClass):183:191 -> a
    107:110:void lambda$run$1(java.util.Set,com.android.tools.r8.graph.ProgramMember):193:196 -> a
    111:111:void lambda$verifyNoKeptKotlinMembersForClassesWithNoKotlinInfo$2(com.android.tools.r8.graph.ProgramMember):206:206 -> a
    112:112:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):218:218 -> a
    112:112:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    113:113:com.android.tools.r8.shaking.KeepMemberInfo com.android.tools.r8.shaking.KeepInfoCollection.getMemberInfo(com.android.tools.r8.graph.ProgramMember):101:101 -> a
    113:113:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):218 -> a
    113:113:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    114:115:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):219:220 -> a
    114:115:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    116:116:void com.android.tools.r8.graph.ProgramMember.clearGenericSignature():27:27 -> a
    116:116:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):221 -> a
    116:116:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    117:117:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):223:223 -> a
    117:117:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    118:118:boolean com.android.tools.r8.shaking.KeepMemberInfo.isKotlinMetadataRemovalAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):30:30 -> a
    118:118:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):224 -> a
    118:118:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    119:119:void com.android.tools.r8.graph.ProgramMember.clearKotlinInfo():31:31 -> a
    119:119:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):225 -> a
    119:119:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    120:120:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):228:228 -> a
    120:120:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    121:121:boolean com.android.tools.r8.shaking.KeepMemberInfo.isKotlinMetadataRemovalAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):30:30 -> a
    121:121:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):229 -> a
    121:121:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    122:122:void processMember(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.graph.DexProgramClass,java.util.Set):230:230 -> a
    122:122:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.ProgramMember):190 -> a
    123:125:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):245:247 -> a
    126:126:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":385,"2":386,"3":387}}
    385:385:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):250:250 -> a
    386:386:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    386:386:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):250 -> a
    387:387:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    387:387:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):250 -> a
    377:383:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):251:257 -> a
    384:384:com.android.tools.r8.graph.DexEncodedAnnotation rewriteEncodedAnnotation(com.android.tools.r8.graph.DexEncodedAnnotation):256:256 -> a
    388:388:com.android.tools.r8.graph.DexAnnotationElement lambda$rewriteEncodedAnnotation$3(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement):253:253 -> a
    389:389:boolean lambda$rewriteAnnotationElement$4(com.android.tools.r8.graph.DexAnnotationElement,com.android.tools.r8.graph.DexEncodedMethod):273:273 -> a
    390:392:void removeAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepInfo):278:280 -> a
    393:393:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    393:393:void removeAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepInfo):280 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    394:394:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    394:394:void removeAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepInfo):280 -> a
    395:408:void removeAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepInfo):281:294 -> a
    409:409:com.android.tools.r8.graph.DexAnnotation lambda$removeAnnotations$5(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):285:285 -> a
    410:410:com.android.tools.r8.graph.DexAnnotation lambda$removeAnnotations$7(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):295:295 -> a
    411:411:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):300:300 -> a
    412:412:boolean com.android.tools.r8.graph.DexAnnotation.isAnnotationDefaultAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):325:325 -> a
    412:412:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):300 -> a
    413:413:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):303:303 -> a
    414:414:boolean com.android.tools.r8.graph.DexAnnotation.isJavaLangRetentionAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexItemFactory):330:330 -> a
    414:414:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):303 -> a
    415:423:boolean shouldRetainRetentionAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):319:327 -> a
    415:423:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):304 -> a
    424:424:boolean com.android.tools.r8.graph.DexValue.isDexValueEnum():0:0 -> a
    424:424:boolean shouldRetainRetentionAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):327 -> a
    424:424:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):304 -> a
    425:426:boolean shouldRetainRetentionAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):328:329 -> a
    425:426:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):304 -> a
    427:427:boolean shouldRetainAnnotationOnAnnotationClass(com.android.tools.r8.graph.DexAnnotation):306:306 -> a
    428:439:void stripAttributes(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo):340:351 -> a
    440:440:boolean lambda$stripAttributes$8(com.android.tools.r8.shaking.KeepClassInfo,com.android.tools.r8.graph.EnclosingMethodAttribute):342:342 -> a
    441:447:boolean com.android.tools.r8.shaking.KeepInfo.isEnclosingMethodAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,com.android.tools.r8.graph.EnclosingMethodAttribute,com.android.tools.r8.graph.AppView):179:185 -> a
    441:447:boolean lambda$stripAttributes$8(com.android.tools.r8.shaking.KeepClassInfo,com.android.tools.r8.graph.EnclosingMethodAttribute):342 -> a
    448:448:boolean lambda$stripAttributes$9(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute):348:348 -> a
    449:456:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):359:366 -> a
    457:457:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> a
    457:457:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):366 -> a
    458:458:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    458:458:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> a
    458:458:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):366 -> a
    459:459:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> a
    459:459:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):366 -> a
    460:461:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):366:367 -> a
    462:462:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,com.android.tools.r8.graph.EnclosingMethodAttribute):198:198 -> a
    462:462:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):367 -> a
    463:463:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():634:634 -> a
    463:463:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,com.android.tools.r8.graph.EnclosingMethodAttribute):201 -> a
    463:463:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):367 -> a
    464:464:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration,com.android.tools.r8.graph.EnclosingMethodAttribute):206:206 -> a
    464:464:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):367 -> a
    465:469:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):368:372 -> a
    470:470:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> a
    470:470:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):372 -> a
    471:471:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    471:471:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> a
    471:471:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):372 -> a
    472:472:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> a
    472:472:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):372 -> a
    473:474:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):372:373 -> a
    475:475:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):189:189 -> a
    475:475:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):373 -> a
    476:476:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():634:634 -> a
    476:476:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):192 -> a
    476:476:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):373 -> a
    477:477:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):192:192 -> a
    477:477:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):373 -> a
    478:482:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):374:378 -> a
    483:483:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> a
    483:483:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):378 -> a
    484:484:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    484:484:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> a
    484:484:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):378 -> a
    485:485:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> a
    485:485:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):378 -> a
    486:487:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):378:379 -> a
    488:488:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):189:189 -> a
    488:488:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):379 -> a
    489:489:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():634:634 -> a
    489:489:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):192 -> a
    489:489:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):379 -> a
    490:490:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):192:192 -> a
    490:490:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):379 -> a
    491:494:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):382:385 -> a
    495:495:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> a
    495:495:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):385 -> a
    496:496:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    496:496:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> a
    496:496:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):385 -> a
    497:497:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> a
    497:497:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):385 -> a
    498:499:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):385:386 -> a
    500:500:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):189:189 -> a
    500:500:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):386 -> a
    501:501:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():634:634 -> a
    501:501:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):192 -> a
    501:501:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):386 -> a
    502:502:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):192:192 -> a
    502:502:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):386 -> a
    503:506:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):386:389 -> a
    507:507:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> a
    507:507:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):389 -> a
    508:508:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramClass():50:50 -> a
    508:508:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> a
    508:508:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):389 -> a
    509:509:com.android.tools.r8.shaking.KeepClassInfo com.android.tools.r8.shaking.KeepInfoCollection.getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> a
    509:509:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):389 -> a
    510:511:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):389:390 -> a
    512:512:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):189:189 -> a
    512:512:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):390 -> a
    513:513:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():634:634 -> a
    513:513:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):192 -> a
    513:513:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):390 -> a
    514:514:boolean com.android.tools.r8.shaking.KeepInfo.isInnerClassesAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):192:192 -> a
    514:514:boolean canRemoveInnerClassAttribute(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.InnerClassAttribute,com.android.tools.r8.graph.EnclosingMethodAttribute):390 -> a
    515:517:void clearAnnotations(com.android.tools.r8.graph.AppView):395:397 -> a
    1:1:boolean filterAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):63:63 -> b
    1:1:com.android.tools.r8.graph.DexAnnotation rewriteAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):237 -> b
    2:3:boolean isAnnotationTypeLive(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.AppView):168:169 -> b
    2:3:boolean isAnnotationTypeLive(com.android.tools.r8.graph.DexAnnotation):163 -> b
    2:3:boolean filterAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):65 -> b
    2:3:com.android.tools.r8.graph.DexAnnotation rewriteAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):237 -> b
    4:4:boolean filterAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):64:64 -> b
    4:4:com.android.tools.r8.graph.DexAnnotation rewriteAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):237 -> b
    5:5:com.android.tools.r8.graph.DexAnnotation rewriteAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):239:239 -> b
    6:8:boolean verifyNoKeptKotlinMembersForClassesWithNoKotlinInfo():202:204 -> b
    9:19:com.android.tools.r8.graph.DexAnnotationElement rewriteAnnotationElement(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexAnnotationElement):263:273 -> b
    20:20:com.android.tools.r8.graph.DexAnnotation lambda$removeAnnotations$6(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):289:289 -> b
com.android.tools.r8.shaking.AnnotationRemover$Builder -> com.android.tools.r8.shaking.f:
    com.android.tools.r8.shaking.Enqueuer$Mode mode -> b
    java.util.Set annotationsToRetain -> a
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer$Mode):411:411 -> <init>
    2:7:void <init>(com.android.tools.r8.shaking.Enqueuer$Mode):407:412 -> <init>
    1:1:boolean isRetainedForFinalTreeShaking(com.android.tools.r8.graph.DexAnnotation):416:416 -> a
    2:2:com.android.tools.r8.shaking.AnnotationRemover build(com.android.tools.r8.graph.AppView,java.util.Set):425:425 -> a
    1:1:void retainAnnotation(com.android.tools.r8.graph.DexAnnotation):420:420 -> b
com.android.tools.r8.shaking.AppInfoWithLiveness -> com.android.tools.r8.shaking.h:
    com.android.tools.r8.cf.CfVersion largestInputCfVersion -> S
    java.util.Map noSideEffects -> y
    com.android.tools.r8.shaking.SingleTargetLookupCache singleTargetLookupCache -> R
    java.util.Set alwaysInline -> A
    com.android.tools.r8.graph.FieldAccessInfoCollectionImpl fieldAccessInfoCollection -> s
    boolean $assertionsDisabled -> T
    java.util.Set noClassMerging -> H
    java.util.Set noVerticalClassMerging -> J
    java.util.Set reprocess -> D
    com.android.tools.r8.graph.MethodAccessInfoCollection methodAccessInfoCollection -> t
    java.util.Set failedFieldResolutionTargets -> o
    java.util.Set prunedTypes -> P
    java.util.Set virtualMethodsTargetedByInvokeDirect -> q
    java.util.Map initClassReferences -> L
    java.util.Set deadProtoTypes -> k
    java.util.Set targetedMethods -> m
    com.android.tools.r8.utils.PredicateSet alwaysClassInline -> F
    java.util.Set neverPropagateValue -> N
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap identifierNameStrings -> O
    java.util.Map switchMaps -> Q
    java.util.Map assumedValues -> z
    java.util.Set neverInlineDueToSingleCaller -> B
    java.util.Map callSites -> v
    java.util.Map mayHaveSideEffects -> x
    java.util.Set neverClassInline -> G
    java.util.Set noHorizontalClassMerging -> I
    java.util.Set whyAreYouNotInlining -> C
    java.util.Set neverReprocess -> E
    com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl objectAllocationInfoCollection -> u
    java.util.Set bootstrapMethods -> p
    java.util.Set liveMethods -> r
    java.util.Set lockCandidates -> K
    java.util.Set liveTypes -> l
    java.util.Set recordFieldValuesReferences -> M
    java.util.Set failedMethodResolutionTargets -> n
    com.android.tools.r8.shaking.KeepInfoCollection keepInfo -> w
    1:1:void <clinit>():90:90 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,com.android.tools.r8.shaking.MissingClasses,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.Map,com.android.tools.r8.shaking.KeepInfoCollection,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,java.util.Set,java.util.Map,java.util.Set):241:241 -> <init>
    2:470:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,com.android.tools.r8.shaking.MissingClasses,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.Map,com.android.tools.r8.shaking.KeepInfoCollection,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,java.util.Set,java.util.Map,java.util.Set):200:668 -> <init>
    471:504:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,com.android.tools.r8.shaking.MissingClasses,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.MethodAccessInfoCollection,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl,java.util.Map,com.android.tools.r8.shaking.KeepInfoCollection,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,java.util.Set,java.util.Map,java.util.Set,java.util.Map,java.util.Set):242:275 -> <init>
    505:508:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map):609:612 -> <init>
    509:509:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map):608:608 -> <init>
    510:978:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map):200:668 -> <init>
    979:1013:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Map):613:647 -> <init>
    1:2:java.util.Set getPrunedTypes():1291:1292 -> A
    1:1:java.util.Set getReprocessMethods():792:792 -> B
    1:1:java.util.Set getVirtualMethodsTargetedByInvokeDirect():743:743 -> C
    1:1:boolean hasNoAlwaysInlineMethods():751:751 -> D
    1:1:boolean hasNoWhyAreYouNotInliningMethods():783:783 -> E
    1:1:com.android.tools.r8.shaking.AppInfoWithLivenessModifier modifier():651:651 -> F
    1:3:boolean verify():521:523 -> G
    4:4:boolean verify():522:522 -> G
    1:2:boolean verifyNoIteratingOverPrunedClasses():1607:1608 -> H
    com.android.tools.r8.ir.analysis.type.DynamicType lambda$lookupSingleVirtualTarget$21(com.android.tools.r8.ir.analysis.type.DynamicType) -> a
    1:1:com.android.tools.r8.graph.AppInfo prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):90:90 -> a
    2:2:com.android.tools.r8.graph.AppInfo rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):90:90 -> a
    3:5:java.util.Set pruneMembers(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):388:390 -> a
    6:6:java.util.Set pruneMembers(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):389:389 -> a
    7:17:void lambda$pruneMembers$1(com.android.tools.r8.graph.PrunedItems,java.util.Set):392:402 -> a
    18:21:java.util.Set pruneItems(java.util.Set,java.util.Set,java.util.concurrent.ExecutorService,java.util.List):420:423 -> a
    22:22:java.util.Set pruneItems(java.util.Set,java.util.Set,java.util.concurrent.ExecutorService,java.util.List):422:422 -> a
    23:26:void lambda$pruneItems$2(java.util.Set,java.util.Set):425:428 -> a
    27:29:java.util.Map pruneMapFromMembers(java.util.Map,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):449:451 -> a
    30:30:java.util.Map pruneMapFromMembers(java.util.Map,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):450:450 -> a
    31:42:void lambda$pruneMapFromMembers$4(com.android.tools.r8.graph.PrunedItems,java.util.Map):453:464 -> a
    43:45:boolean lambda$pruneMapFromMembers$3(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexMember):459:461 -> a
    46:48:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap pruneMapFromMembers(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):477:479 -> a
    49:49:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap pruneMapFromMembers(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):478:478 -> a
    50:50:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    50:50:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):671 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    51:51:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    51:51:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):671 -> a
    52:53:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):674:675 -> a
    54:65:void computeLargestCfVersion():681:681 -> a
    54:65:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):675 -> a
    75:75:void computeLargestCfVersion():691:691 -> a
    75:75:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):675 -> a
    76:76:boolean canUseConstClassInstructions(com.android.tools.r8.utils.InternalOptions):677:677 -> a
    77:88:void lambda$pruneMapFromMembers$6(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):481:492 -> a
    89:91:java.util.Map pruneMap(java.util.Map,java.util.Set,java.util.concurrent.ExecutorService,java.util.List):505:507 -> a
    92:92:java.util.Map pruneMap(java.util.Map,java.util.Set,java.util.concurrent.ExecutorService,java.util.List):506:506 -> a
    93:96:void lambda$pruneMap$7(java.util.Map,java.util.Set):509:512 -> a
    97:100:com.android.tools.r8.shaking.KeepInfoCollection extendPinnedItems(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Collection):571:574 -> a
    101:101:com.android.tools.r8.shaking.KeepInfoCollection extendPinnedItems(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Collection):572:572 -> a
    102:103:void lambda$extendPinnedItems$8(java.util.Collection,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):576:577 -> a
    104:104:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    104:104:void lambda$extendPinnedItems$8(java.util.Collection,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):577 -> a
    105:124:void lambda$extendPinnedItems$8(java.util.Collection,com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):579:598 -> a
    125:125:boolean isBootstrapMethod(com.android.tools.r8.graph.ProgramMethod):739:739 -> a
    126:126:boolean isBootstrapMethod(com.android.tools.r8.graph.DexMethod):735:735 -> a
    126:126:boolean isBootstrapMethod(com.android.tools.r8.graph.ProgramMethod):739 -> a
    127:142:void forEachReachableInterface(java.util.function.Consumer,java.lang.Iterable):801:816 -> a
    143:176:java.util.Set lookupLambdaImplementedMethods(com.android.tools.r8.graph.DexCallSite):835:868 -> a
    177:177:java.util.Set lookupLambdaImplementedMethods(com.android.tools.r8.graph.DexCallSite):838:838 -> a
    178:178:void removeFromSingleTargetLookupCache(com.android.tools.r8.graph.DexClass):917:917 -> a
    179:180:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):952:953 -> a
    181:181:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():894:894 -> a
    181:181:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):954 -> a
    182:182:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> a
    182:182:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):954 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    183:186:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):955:958 -> a
    187:187:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1075:1075 -> a
    187:187:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):962 -> a
    188:188:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> a
    188:188:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1076 -> a
    188:188:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):962 -> a
    189:189:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    189:189:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1076 -> a
    189:189:boolean isFieldRead(com.android.tools.r8.graph.DexEncodedField):962 -> a
    190:191:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):984:985 -> a
    192:192:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1182,"2":1183,"3":1184}}
    1182:1182:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):985:985 -> a
    1183:1183:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):985:985 -> a
    1184:1184:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):985:985 -> a
    1177:1181:boolean isFieldOnlyWrittenInMethod(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):985:989 -> a
    1185:1188:boolean mayPropagateValueFor(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexClassAndMember):1043:1046 -> a
    1189:1189:java.lang.Boolean lambda$mayPropagateValueFor$10(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):1047:1047 -> a
    1190:1190:java.lang.Boolean lambda$mayPropagateValueFor$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1048:1048 -> a
    1191:1191:boolean isClassInliningAllowed(com.android.tools.r8.graph.DexProgramClass):1097:1097 -> a
    1192:1192:boolean isMinificationAllowed(com.android.tools.r8.graph.DexReference):1101:1101 -> a
    1193:1193:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():619:619 -> a
    1193:1193:boolean isMinificationAllowed(com.android.tools.r8.graph.DexReference):1101 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1194:1195:boolean isMinificationAllowed(com.android.tools.r8.graph.DexReference):1101:1102 -> a
    1196:1196:boolean isAccessModificationAllowed(com.android.tools.r8.graph.ProgramDefinition):1106:1106 -> a
    1197:1198:boolean isAccessModificationAllowed(com.android.tools.r8.graph.DexReference):1110:1111 -> a
    1197:1198:boolean isAccessModificationAllowed(com.android.tools.r8.graph.ProgramDefinition):1106 -> a
    1199:1209:boolean isRepackagingAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):1115:1125 -> a
    1210:1214:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.graph.DexProgramClass.traverseProgramMembers(java.util.function.Function):332:336 -> a
    1210:1214:boolean isRepackagingAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):1126 -> a
    1215:1215:boolean isRepackagingAllowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):1133:1133 -> a
    1216:1219:com.android.tools.r8.utils.TraversalContinuation lambda$isRepackagingAllowed$12(com.android.tools.r8.graph.ProgramMember):1128:1131 -> a
    1220:1221:boolean isPinned(com.android.tools.r8.graph.DexDefinition):1142:1143 -> a
    1222:1223:boolean isPinned(com.android.tools.r8.graph.DexClassAndMember):1147:1148 -> a
    1224:1224:void lambda$prunedCopyFrom$13(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder):1184:1184 -> a
    1225:1225:void lambda$prunedCopyFrom$14(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):1185:1185 -> a
    1226:1234:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1202:1210 -> a
    1235:1282:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1205:1252 -> a
    1283:1285:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap com.android.tools.r8.graph.GraphLens.rewriteReferenceKeys(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):692:694 -> a
    1283:1285:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1253 -> a
    1286:1286:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.GraphLens.rewriteReference(com.android.tools.r8.graph.DexReference):640:640 -> a
    1286:1286:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap com.android.tools.r8.graph.GraphLens.rewriteReferenceKeys(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):694 -> a
    1286:1286:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1253 -> a
    1287:1287:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap com.android.tools.r8.graph.GraphLens.rewriteReferenceKeys(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):694:694 -> a
    1287:1287:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1253 -> a
    1288:1294:com.android.tools.r8.shaking.AppInfoWithLiveness rewrittenWithLens(com.android.tools.r8.graph.DirectMappedDexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):1253:1259 -> a
    1295:1295:com.android.tools.r8.shaking.ProguardMemberRule lambda$rewrittenWithLens$16(com.android.tools.r8.graph.DexReference,java.util.List):1234:1234 -> a
    1296:1296:com.android.tools.r8.shaking.ProguardMemberRule lambda$rewrittenWithLens$17(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DexMember,java.util.List):1238:1238 -> a
    1297:1297:java.util.Map rewriteInitClassReferences(com.android.tools.r8.graph.GraphLens):1263:1263 -> a
    1298:1298:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$19(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1267:1267 -> a
    1299:1299:boolean com.android.tools.r8.utils.Visibility.isPrivate():20:20 -> a
    1299:1299:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$19(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1267 -> a
    1300:1301:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$19(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1267:1268 -> a
    1302:1302:boolean com.android.tools.r8.utils.Visibility.isPrivate():20:20 -> a
    1302:1302:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$19(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1268 -> a
    1303:1304:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$19(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1268:1269 -> a
    1305:1305:boolean com.android.tools.r8.utils.Visibility.isPublic():28:28 -> a
    1305:1305:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$19(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1269 -> a
    1306:1306:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$19(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1270:1270 -> a
    1307:1307:boolean com.android.tools.r8.utils.Visibility.isProtected():24:24 -> a
    1307:1307:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$19(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1273 -> a
    1308:1308:com.android.tools.r8.utils.Visibility lambda$rewriteInitClassReferences$19(com.android.tools.r8.utils.Visibility,com.android.tools.r8.utils.Visibility):1277:1277 -> a
    1309:1314:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1301:1306 -> a
    1309:1314:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1329 -> a
    1315:1317:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate):1349:1351 -> a
    1315:1317:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1308 -> a
    1315:1317:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1329 -> a
    1318:1318:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate):1350:1350 -> a
    1318:1318:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1308 -> a
    1318:1318:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1329 -> a
    1319:1319:com.android.tools.r8.graph.DexClassAndMethod com.android.tools.r8.graph.AppInfoWithClassHierarchy.lookupSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):624:624 -> a
    1319:1319:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1316 -> a
    1319:1319:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1329 -> a
    1320:1320:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1316:1316 -> a
    1320:1320:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1329 -> a
    1321:1321:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexEncodedMethod.toMethodDefinitionOrNull(com.android.tools.r8.graph.DexClassAndMethod):256:256 -> a
    1321:1321:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1316 -> a
    1321:1321:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1329 -> a
    1322:1322:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1314:1314 -> a
    1322:1322:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1329 -> a
    1323:1325:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate):1349:1351 -> a
    1323:1325:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1310 -> a
    1323:1325:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1329 -> a
    1326:1326:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate):1350:1350 -> a
    1326:1326:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1310 -> a
    1326:1326:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1329 -> a
    1327:1327:com.android.tools.r8.graph.DexEncodedMethod lookupSingleTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1312:1312 -> a
    1327:1327:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate):1329 -> a
    1328:1328:com.android.tools.r8.graph.ProgramMethod lookupSingleProgramTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.LibraryModeledPredicate) -> a
    1329:1330:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):1338:1339 -> a
    1331:1333:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate):1349:1351 -> a
    1331:1333:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):1339 -> a
    1334:1334:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate):1350:1350 -> a
    1334:1334:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean):1339 -> a
    1335:1372:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1361:1398 -> a
    1373:1373:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    1373:1373:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1398 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1374:1374:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    1374:1374:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1398 -> a
    1375:1383:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1399:1407 -> a
    1384:1387:com.android.tools.r8.graph.DexEncodedMethod getMethodTargetFromExactRuntimeInformation(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1468:1471 -> a
    1384:1387:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1405 -> a
    1388:1388:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    1388:1388:com.android.tools.r8.graph.DexEncodedMethod getMethodTargetFromExactRuntimeInformation(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1473 -> a
    1388:1388:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1405 -> a
    1389:1389:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():1165:1165 -> a
    1389:1389:com.android.tools.r8.graph.DexEncodedMethod getMethodTargetFromExactRuntimeInformation(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1474 -> a
    1389:1389:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1405 -> a
    1390:1390:com.android.tools.r8.graph.DexEncodedMethod getMethodTargetFromExactRuntimeInformation(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1475:1475 -> a
    1390:1390:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1405 -> a
    1391:1391:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.ProgramMethod):105:105 -> a
    1391:1391:com.android.tools.r8.graph.DexEncodedMethod getMethodTargetFromExactRuntimeInformation(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1475 -> a
    1391:1391:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1405 -> a
    1392:1396:com.android.tools.r8.graph.DexEncodedMethod getMethodTargetFromExactRuntimeInformation(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1476:1480 -> a
    1392:1396:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1405 -> a
    1397:1411:com.android.tools.r8.graph.DexEncodedMethod getMethodTargetFromExactRuntimeInformation(com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.analysis.type.ClassTypeElement,com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexClass):1478:1492 -> a
    1397:1411:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1405 -> a
    1412:1424:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1413:1425 -> a
    1425:1446:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1424:1445 -> a
    1447:1457:com.android.tools.r8.graph.DexEncodedMethod lookupSingleVirtualTarget(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.shaking.LibraryModeledPredicate,com.android.tools.r8.ir.analysis.type.DynamicType):1444:1454 -> a
    1458:1460:com.android.tools.r8.shaking.AppInfoWithLiveness withSwitchMaps(java.util.Map):1499:1501 -> a
    1461:1461:void forEachInstantiatedSubType(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):1519:1519 -> a
    1462:1463:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1529:1530 -> a
    1464:1466:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):921:923 -> a
    1464:1466:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1538 -> a
    1464:1466:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1531 -> a
    1467:1467:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    1467:1467:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):925 -> a
    1467:1467:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1538 -> a
    1467:1467:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1531 -> a
    1468:1468:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):925:925 -> a
    1468:1468:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1538 -> a
    1468:1468:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1531 -> a
    1469:1469:boolean isInstantiatedOrPinned(com.android.tools.r8.graph.DexProgramClass):1538:1538 -> a
    1469:1469:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1531 -> a
    1470:1470:void forEachInstantiatedSubTypeInChain(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer,java.util.function.Consumer):1532:1532 -> a
    1471:1478:boolean mayHaveFinalizeMethodDirectlyOrIndirectly(com.android.tools.r8.ir.analysis.type.ClassTypeElement):1560:1567 -> a
    1479:1479:boolean lambda$mayHaveFinalizeMethodDirectlyOrIndirectly$22(com.android.tools.r8.graph.DexType,java.lang.Boolean):1565:1565 -> a
    1480:1480:com.android.tools.r8.utils.TraversalContinuation lambda$mayHaveFinalizer$24(com.android.tools.r8.ir.desugar.LambdaDescriptor):1590:1590 -> a
    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):90:90 -> b
    2:2:com.android.tools.r8.graph.AppInfoWithClassHierarchy rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):90:90 -> b
    3:5:boolean lambda$pruneMapFromMembers$5(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexMember):487:489 -> b
    6:6:boolean isNeverInlineDueToSingleCallerMethod(com.android.tools.r8.graph.ProgramMethod):755:755 -> b
    7:7:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):934:934 -> b
    8:10:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):921:923 -> b
    8:10:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):935 -> b
    11:11:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    11:11:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):925 -> b
    11:11:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):935 -> b
    12:12:boolean isInstantiatedDirectly(com.android.tools.r8.graph.DexProgramClass):925:925 -> b
    12:12:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):935 -> b
    13:13:boolean isInstantiatedDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass):935:935 -> b
    14:16:boolean isFieldWritten(com.android.tools.r8.graph.DexEncodedField):966:968 -> b
    17:18:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):994:995 -> b
    19:19:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1020,"2":1021,"3":1022}}
    1020:1020:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):995:995 -> b
    1021:1021:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):995:995 -> b
    1022:1022:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):995:995 -> b
    1014:1014:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):995:995 -> b
    1015:1015:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():894:894 -> b
    1015:1015:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):996 -> b
    1016:1016:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):996:996 -> b
    1017:1017:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> b
    1017:1017:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):996 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1018:1019:boolean isFieldOnlyWrittenInMethodIgnoringPinning(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedMethod):998:999 -> b
    1023:1026:boolean lambda$isInstanceFieldWrittenOnlyInInstanceInitializers$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1019:1022 -> b
    1027:1027:boolean com.android.tools.r8.graph.DexEncodedMethod.isOrWillBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):475:475 -> b
    1027:1027:boolean lambda$isInstanceFieldWrittenOnlyInInstanceInitializers$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1022 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1028:1028:boolean com.android.tools.r8.graph.DexEncodedMethod.isOrWillBeInlinedIntoInstanceInitializer(com.android.tools.r8.graph.DexItemFactory):475:475 -> b
    1028:1028:boolean lambda$isInstanceFieldWrittenOnlyInInstanceInitializers$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1022 -> b
    1029:1033:boolean mayPropagateValueFor(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):1052:1056 -> b
    1034:1038:boolean mayPropagateValueFor(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1063:1067 -> b
    1039:1039:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():1165:1165 -> b
    1039:1039:boolean mayPropagateValueFor(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1068 -> b
    1040:1040:boolean mayPropagateValueFor(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1068:1068 -> b
    1041:1041:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):109:109 -> b
    1041:1041:boolean mayPropagateValueFor(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1068 -> b
    1042:1042:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramMethod():55:55 -> b
    1042:1042:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):111 -> b
    1042:1042:boolean mayPropagateValueFor(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1068 -> b
    1043:1044:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):113:114 -> b
    1043:1044:boolean mayPropagateValueFor(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1068 -> b
    1045:1045:boolean mayPropagateValueFor(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexMethod):1068:1068 -> b
    1046:1047:boolean isPinned(com.android.tools.r8.graph.DexReference):1137:1138 -> b
    1048:1048:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160:160 -> b
    1048:1048:boolean isPinned(com.android.tools.r8.graph.DexReference):1138 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1049:1049:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160:160 -> b
    1049:1049:boolean isPinned(com.android.tools.r8.graph.DexReference):1138 -> b
    1050:1050:void lambda$prunedCopyFrom$15(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):1187:1187 -> b
    1051:1051:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1197:1197 -> b
    1052:1056:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.synthesis.CommittedItems):281:285 -> b
    1052:1056:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1197 -> b
    1057:1057:java.util.Collection com.android.tools.r8.utils.CollectionUtils.addAll(java.util.Collection,java.util.Collection):17:17 -> b
    1057:1057:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.synthesis.CommittedItems):285 -> b
    1057:1057:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1197 -> b
    1058:1058:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.synthesis.CommittedItems):285:285 -> b
    1058:1058:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1197 -> b
    1059:1059:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.synthesis.CommittedItems):279:279 -> b
    1059:1059:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithLiveness(com.android.tools.r8.synthesis.CommittedItems):1197 -> b
    1060:1060:com.android.tools.r8.shaking.ProguardMemberRule lambda$rewrittenWithLens$18(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DexMember,java.util.List):1241:1241 -> b
    1061:1061:void forEachReferencedClasspathClass(java.util.function.Consumer):1511:1511 -> b
    1062:1066:boolean isPinnedNotProgramOrLibraryOverride(com.android.tools.r8.graph.DexDefinition):1542:1546 -> b
    1067:1067:boolean com.android.tools.r8.graph.DexEncodedMethod.isProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):365:365 -> b
    1067:1067:boolean isPinnedNotProgramOrLibraryOverride(com.android.tools.r8.graph.DexDefinition):1547 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1068:1070:boolean com.android.tools.r8.graph.DexEncodedMethod.isProgramMethod(com.android.tools.r8.graph.DexDefinitionSupplier):365:367 -> b
    1068:1070:boolean isPinnedNotProgramOrLibraryOverride(com.android.tools.r8.graph.DexDefinition):1547 -> b
    1071:1075:boolean isPinnedNotProgramOrLibraryOverride(com.android.tools.r8.graph.DexDefinition):1547:1551 -> b
    1:3:boolean lambda$pruneMembers$0(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexMember):397:399 -> c
    4:9:com.android.tools.r8.shaking.AppInfoWithLiveness rebuildWithMainDexInfo(com.android.tools.r8.shaking.MainDexInfo):529:534 -> c
    10:11:boolean isNeverReprocessMethod(com.android.tools.r8.graph.ProgramMethod):787:788 -> c
    12:12:void mutateObjectAllocationInfoCollection(java.util.function.Consumer):913:913 -> c
    13:14:boolean isInstantiatedIndirectly(com.android.tools.r8.graph.DexProgramClass):929:930 -> c
    15:16:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):972:973 -> c
    17:17:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():894:894 -> c
    17:17:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):974 -> c
    18:18:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> c
    18:18:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):974 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):975:975 -> c
    20:20:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1075:1075 -> c
    20:20:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):980 -> c
    21:21:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> c
    21:21:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1076 -> c
    21:21:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):980 -> c
    22:22:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> c
    22:22:boolean isLibraryOrClasspathField(com.android.tools.r8.graph.DexEncodedField):1076 -> c
    22:22:boolean isFieldWrittenByFieldPutInstruction(com.android.tools.r8.graph.DexEncodedField):980 -> c
    23:38:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1175:1190 -> c
    39:43:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):325:329 -> c
    39:43:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    44:44:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):372:372 -> c
    44:44:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):330 -> c
    44:44:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    45:45:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):330:330 -> c
    45:45:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    46:46:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):415:415 -> c
    46:46:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):331 -> c
    46:46:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    47:47:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):331:331 -> c
    47:47:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    48:48:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):415:415 -> c
    48:48:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):332 -> c
    48:48:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    49:49:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):332:332 -> c
    49:49:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    50:50:java.util.Set pruneFields(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):380:380 -> c
    50:50:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):333 -> c
    50:50:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    51:51:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):333:333 -> c
    51:51:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    52:52:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):415:415 -> c
    52:52:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):334 -> c
    52:52:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    53:53:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):334:334 -> c
    53:53:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    54:54:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):415:415 -> c
    54:54:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):335 -> c
    54:54:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    55:55:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):335:335 -> c
    55:55:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    56:56:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):415:415 -> c
    56:56:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):337 -> c
    56:56:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    57:65:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):337:345 -> c
    57:65:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    66:66:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):415:415 -> c
    66:66:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):346 -> c
    66:66:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    67:67:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):346:346 -> c
    67:67:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    68:68:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):415:415 -> c
    68:68:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):347 -> c
    68:68:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    69:69:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):347:347 -> c
    69:69:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    70:70:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):415:415 -> c
    70:70:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):348 -> c
    70:70:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    71:71:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):348:348 -> c
    71:71:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    72:72:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):415:415 -> c
    72:72:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):349 -> c
    72:72:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    73:73:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):349:349 -> c
    73:73:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    74:74:java.util.Set pruneMethods(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):415:415 -> c
    74:74:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):350 -> c
    74:74:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    75:75:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):350:350 -> c
    75:75:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    76:76:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):372:372 -> c
    76:76:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):352 -> c
    76:76:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    77:77:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):352:352 -> c
    77:77:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    78:78:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):372:372 -> c
    78:78:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):353 -> c
    78:78:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    79:79:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):353:353 -> c
    79:79:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    80:80:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):372:372 -> c
    80:80:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):354 -> c
    80:80:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    81:81:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):354:354 -> c
    81:81:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    82:82:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):372:372 -> c
    82:82:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):355 -> c
    82:82:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    83:88:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):355:360 -> c
    83:88:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    89:89:java.util.Set pruneClasses(java.util.Set,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):372:372 -> c
    89:89:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):362 -> c
    89:89:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    90:90:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):362:362 -> c
    90:90:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    91:91:java.util.Map pruneMapFromClasses(java.util.Map,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):441:441 -> c
    91:91:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):363 -> c
    91:91:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    92:92:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):363:363 -> c
    92:92:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    93:93:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService,java.util.List):324:324 -> c
    93:93:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1190 -> c
    94:94:com.android.tools.r8.shaking.AppInfoWithLiveness prunedCopyFrom(com.android.tools.r8.graph.PrunedItems,java.util.concurrent.ExecutorService):1192:1192 -> c
    1:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap getSwitchMap(com.android.tools.r8.graph.DexField):888:889 -> d
    3:4:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1007:1008 -> d
    5:5:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1023,"2":1024,"3":1025}}
    1023:1023:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1008:1008 -> d
    1024:1024:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1008:1008 -> d
    1025:1025:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1008:1008 -> d
    1013:1014:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1008:1009 -> d
    1015:1015:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():894:894 -> d
    1015:1015:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1012 -> d
    1016:1016:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1012:1012 -> d
    1017:1017:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> d
    1017:1017:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1012 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1018:1022:boolean isInstanceFieldWrittenOnlyInInstanceInitializers(com.android.tools.r8.graph.DexEncodedField):1013:1017 -> d
    1026:1027:boolean isInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass):1080:1081 -> d
    1:6:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):656:661 -> e
    7:7:boolean com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper.isCompanionClassType(com.android.tools.r8.graph.DexType):148:148 -> e
    7:7:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):661 -> e
    8:8:boolean com.android.tools.r8.ir.desugar.desugaredlibrary.apiconversion.DesugaredLibraryAPIConverter.isVivifiedType(com.android.tools.r8.graph.DexType):133:133 -> e
    8:8:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):663 -> e
    9:9:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):657:657 -> e
    10:10:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":668,"2":669,"3":670,"4":671,"5":672}}
    668:668:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):657:657 -> e
    669:669:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):657:657 -> e
    670:670:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):657:657 -> e
    671:671:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):657:657 -> e
    672:672:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):657:657 -> e
    667:667:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):657:657 -> e
    673:673:boolean isLiveProgramClass(com.android.tools.r8.graph.DexProgramClass):695:695 -> e
    674:674:boolean isAlwaysInlineMethod(com.android.tools.r8.graph.DexMethod):747:747 -> e
    675:676:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):939:940 -> e
    677:677:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():894:894 -> e
    677:677:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):941 -> e
    678:678:com.android.tools.r8.graph.FieldAccessInfo com.android.tools.r8.graph.FieldAccessInfoCollectionImpl.get(com.android.tools.r8.graph.DexField):15:15 -> e
    678:678:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):941 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    679:679:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):943:943 -> e
    680:680:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():1165:1165 -> e
    680:680:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):948 -> e
    681:681:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):948:948 -> e
    682:682:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):122:122 -> e
    682:682:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):948 -> e
    683:683:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramField():60:60 -> e
    683:683:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):124 -> e
    683:683:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):948 -> e
    684:685:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):126:127 -> e
    684:685:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):948 -> e
    686:686:boolean isReachableOrReferencedField(com.android.tools.r8.graph.DexEncodedField):948:948 -> e
    1:1:boolean isFailedResolutionTarget(com.android.tools.r8.graph.DexMethod):723:723 -> f
    2:3:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1026:1027 -> f
    4:4:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1035,"2":1036,"3":1037}}
    1035:1035:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1027:1027 -> f
    1036:1036:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1027:1027 -> f
    1037:1037:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1027:1027 -> f
    1031:1034:boolean isStaticFieldWrittenOnlyInEnclosingStaticInitializer(com.android.tools.r8.graph.DexEncodedField):1027:1030 -> f
    1038:1048:com.android.tools.r8.utils.TraversalContinuation lambda$mayHaveFinalizer$23(com.android.tools.r8.graph.DexProgramClass):1576:1586 -> f
    1:1:boolean isLiveMethod(com.android.tools.r8.graph.DexMethod):715:715 -> g
    2:2:void lambda$verifyNoIteratingOverPrunedClasses$25(com.android.tools.r8.graph.DexProgramClass):1610:1610 -> g
    1:1:boolean isTargetedMethod(com.android.tools.r8.graph.DexMethod):719:719 -> h
    2:6:boolean hasPinnedInstanceInitializer(com.android.tools.r8.graph.DexType):1152:1156 -> h
    1:1:boolean isWhyAreYouNotInliningMethod(com.android.tools.r8.graph.DexMethod):779:779 -> i
    2:2:boolean isLockCandidate(com.android.tools.r8.graph.DexType):880:880 -> i
    3:3:boolean hasLiveness():1086:1086 -> i
    1:1:boolean isNoHorizontalClassMergingOfType(com.android.tools.r8.graph.DexType):1598:1598 -> j
    1:1:boolean isNoVerticalClassMergingOfType(com.android.tools.r8.graph.DexType):1603:1603 -> k
    1:8:boolean isNonProgramTypeOrLiveProgramType(com.android.tools.r8.graph.DexType):704:711 -> l
    boolean lambda$lookupSingleVirtualTarget$20(com.android.tools.r8.graph.DexType) -> m
    1:22:boolean mayHaveFinalizer(com.android.tools.r8.graph.DexType):1572:1593 -> n
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness withLiveness():1092:1092 -> o
    2:3:boolean wasPruned(com.android.tools.r8.graph.DexType):1286:1287 -> o
    1:1:com.android.tools.r8.graph.SubtypingInfo computeSubtypingInfo():1555:1555 -> r
    1:1:java.util.Set getDeadProtoTypes():884:884 -> s
    1:1:java.util.Set getFailedFieldResolutionTargets():731:731 -> t
    1:1:java.util.Set getFailedMethodResolutionTargets():727:727 -> u
    1:1:com.android.tools.r8.graph.FieldAccessInfoCollection getFieldAccessInfoCollection():894:894 -> v
    1:1:com.android.tools.r8.shaking.KeepInfoCollection getKeepInfo():1165:1165 -> w
    1:1:com.android.tools.r8.graph.MethodAccessInfoCollection getMethodAccessInfoCollection():903:903 -> x
    1:1:com.android.tools.r8.graph.FieldAccessInfoCollectionImpl getMutableFieldAccessInfoCollection():898:898 -> y
    1:1:com.android.tools.r8.graph.ObjectAllocationInfoCollection getObjectAllocationInfoCollection():908:908 -> z
com.android.tools.r8.shaking.AppInfoWithLivenessModifier -> com.android.tools.r8.shaking.i:
    java.util.Set noLongerInstantiatedClasses -> a
    java.util.Set noLongerWrittenFields -> b
    1:1:void <init>():20:20 -> <init>
    2:3:void <init>():17:18 -> <init>
    1:1:boolean isEmpty():23:23 -> a
    2:2:void removeInstantiatedType(com.android.tools.r8.graph.DexProgramClass):27:27 -> a
    3:3:void removeWrittenField(com.android.tools.r8.graph.DexField):31:31 -> a
    4:10:void modify(com.android.tools.r8.shaking.AppInfoWithLiveness):36:42 -> a
    11:11:void clear():54:54 -> a
    11:11:void modify(com.android.tools.r8.shaking.AppInfoWithLiveness):50 -> a
    12:12:void lambda$modify$0(com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder):38:38 -> a
    13:15:void lambda$modify$1(com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.DexField):44:46 -> a
com.android.tools.r8.shaking.ClassInitFieldSynthesizer -> com.android.tools.r8.internal.Q9:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.graph.DexField clinitField -> b
    com.android.tools.r8.graph.InitClassLens$Builder lensBuilder -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):29:29 -> <init>
    2:6:void <init>(com.android.tools.r8.graph.AppView):27:31 -> <init>
    1:3:void run(java.util.concurrent.ExecutorService):35:35 -> a
    5:5:void run(java.util.concurrent.ExecutorService):37:37 -> a
    6:15:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):41:50 -> a
    16:16:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    16:16:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):98 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    17:17:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    17:17:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):98 -> a
    17:17:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    18:26:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):101:109 -> a
    18:26:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    27:27:boolean com.android.tools.r8.graph.DexEncodedField.isPackagePrivate():217:217 -> a
    27:27:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):105 -> a
    27:27:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    28:28:boolean com.android.tools.r8.graph.DexEncodedField.isProtected():221:221 -> a
    28:28:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):105 -> a
    28:28:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    29:29:boolean com.android.tools.r8.graph.DexEncodedField.isProtected():221:221 -> a
    29:29:boolean com.android.tools.r8.shaking.ClassInitFieldSynthesizer.isMinimumRequiredVisibility(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.utils.Visibility):103 -> a
    29:29:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):54 -> a
    30:38:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):59:67 -> a
    39:39:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> a
    39:39:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):71 -> a
    40:50:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):77:87 -> a
    51:60:void synthesizeClassInitField(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.Visibility):84:93 -> a
com.android.tools.r8.shaking.ClassInitFieldSynthesizer$1 -> com.android.tools.r8.internal.P9:
    int[] $SwitchMap$com$android$tools$r8$utils$Visibility -> a
    1:1:void <clinit>():101:101 -> <clinit>
com.android.tools.r8.shaking.ClassInlineRule -> com.android.tools.r8.shaking.k:
    com.android.tools.r8.shaking.ClassInlineRule$Type type -> r
    int $r8$clinit -> s
    1:15:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ClassInlineRule$Type):73:87 -> <init>
    1:7:java.lang.String typeString():110:116 -> C
    8:8:java.lang.String typeString():0:0 -> C
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":129,"2":130,"3":131}}
    129:129:java.lang.String typeString():116:116 -> C
    130:130:java.lang.String typeString():116:116 -> C
    131:131:java.lang.String typeString():116:116 -> C
    124:124:java.lang.String typeString():116:116 -> C
    125:125:java.lang.String typeString():112:112 -> C
    1:1:com.android.tools.r8.shaking.ClassInlineRule$Type getType():95:95 -> D
    com.android.tools.r8.shaking.ClassInlineRule asClassInlineRule() -> q
com.android.tools.r8.shaking.ClassInlineRule$Builder -> com.android.tools.r8.shaking.j:
    com.android.tools.r8.shaking.ClassInlineRule$Type type -> p
    1:1:void <init>(com.android.tools.r8.shaking.ClassInlineRule$1):18:18 -> <init>
    2:2:void <init>():21:21 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ClassInlineRule$Type$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.fa:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.shaking.CollectingGraphConsumer -> com.android.tools.r8.internal.Wb:
    java.util.Map target2sources -> b
    com.android.tools.r8.experimental.graphinfo.GraphConsumer subConsumer -> a
    1:1:void <init>(com.android.tools.r8.experimental.graphinfo.GraphConsumer):23:23 -> <init>
    2:5:void <init>(com.android.tools.r8.experimental.graphinfo.GraphConsumer):21:24 -> <init>
    1:1:java.util.Set getTargets():39:39 -> a
    2:2:java.util.Map getSourcesTargeting(com.android.tools.r8.experimental.graphinfo.GraphNode):43:43 -> a
    1:6:void acceptEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo):29:34 -> acceptEdge
    1:1:java.util.Map lambda$acceptEdge$0(com.android.tools.r8.experimental.graphinfo.GraphNode):30:30 -> b
    1:1:java.util.Set lambda$acceptEdge$1(com.android.tools.r8.experimental.graphinfo.GraphNode):31:31 -> c
com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry -> com.android.tools.r8.shaking.l:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> f
    com.android.tools.r8.graph.AppView appView -> e
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> g
    com.android.tools.r8.androidapi.ComputedApiLevel maxApiReferenceLevel -> h
    1:5:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.androidapi.AndroidApiLevelCompute):39:43 -> <init>
    1:2:void registerRecordFieldValues(com.android.tools.r8.graph.DexField[]):61:62 -> a
    3:4:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):73:74 -> a
    5:6:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):97:98 -> a
    7:7:void registerConstClass(com.android.tools.r8.graph.DexType,java.util.ListIterator,boolean):159:159 -> a
    8:8:void registerCheckCast(com.android.tools.r8.graph.DexType,boolean):164:164 -> a
    9:10:void registerExceptionGuard(com.android.tools.r8.graph.DexType):184:185 -> a
    11:12:void registerMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse):190:191 -> a
    13:15:void registerCallSite(com.android.tools.r8.graph.DexCallSite):196:198 -> a
    16:16:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):210:210 -> a
    16:16:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    17:17:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> a
    17:17:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):211 -> a
    17:17:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    18:18:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):211:211 -> a
    18:18:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    19:19:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> a
    19:19:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):212 -> a
    19:19:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    20:22:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):212:214 -> a
    20:22:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    23:23:com.android.tools.r8.graph.FieldResolutionResult com.android.tools.r8.graph.AppInfo.resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):241:241 -> a
    23:23:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):214 -> a
    23:23:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    24:27:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):214:217 -> a
    24:27:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    28:29:void registerInstanceFieldReadFromRecordMethodHandle(com.android.tools.r8.graph.DexField):108:109 -> a
    28:29:void registerRecordCallSiteBootstrapArgs(com.android.tools.r8.graph.DexCallSite):218 -> a
    28:29:void registerCallSite(com.android.tools.r8.graph.DexCallSite):199 -> a
    30:32:void registerCallSite(com.android.tools.r8.graph.DexCallSite):201:203 -> a
    33:36:void setMaxApiReferenceLevel(com.android.tools.r8.graph.DexReference):224:227 -> a
    37:37:void setMaxApiReferenceLevel(com.android.tools.r8.graph.DexReference):226:226 -> a
    38:38:void setMaxApiReferenceLevel(com.android.tools.r8.graph.DexReference):225:225 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):56:56 -> b
    2:3:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):85:86 -> b
    4:5:void registerInstanceFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField):103:104 -> b
    1:2:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):114:115 -> c
    3:3:void registerInstanceOf(com.android.tools.r8.graph.DexType):179:179 -> c
    1:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):79:80 -> d
    3:4:void registerInstanceFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField):120:121 -> d
    5:6:void registerNewInstance(com.android.tools.r8.graph.DexType):126:127 -> d
    1:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):132:133 -> e
    3:3:void registerSafeCheckCast(com.android.tools.r8.graph.DexType):169:169 -> e
    1:2:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):91:92 -> f
    3:4:void registerStaticFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField):138:139 -> f
    5:5:void registerTypeReference(com.android.tools.r8.graph.DexType):174:174 -> f
    6:6:com.android.tools.r8.androidapi.ComputedApiLevel getMaxApiReferenceLevel():231:231 -> f
    1:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):67:68 -> g
    3:4:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):144:145 -> g
    1:2:void registerStaticFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField):150:151 -> h
com.android.tools.r8.shaking.DefaultTreePrunerConfiguration -> com.android.tools.r8.internal.bf:
    com.android.tools.r8.shaking.DefaultTreePrunerConfiguration INSTANCE -> a
    1:1:void <clinit>():11:11 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    1:1:com.android.tools.r8.shaking.DefaultTreePrunerConfiguration getInstance():17:17 -> a
    2:2:boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):22:22 -> a
com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction -> com.android.tools.r8.shaking.m:
    java.util.function.Consumer action -> c
    com.android.tools.r8.graph.ProgramMethod singleTarget -> b
    com.android.tools.r8.graph.ProgramMethod methodToKeep -> a
    1:1:void com.android.tools.r8.shaking.DelayedRootSetActionItem.<init>():11:11 -> <init>
    1:1:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):27 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):28:30 -> <init>
    1:1:java.util.function.Consumer getAction():42:42 -> a
    1:1:com.android.tools.r8.graph.ProgramMethod getMethodToKeep():34:34 -> b
    1:1:com.android.tools.r8.graph.ProgramMethod getSingleTarget():38:38 -> c
com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection -> com.android.tools.r8.internal.ef:
    java.util.Map dependentMinimumKeepInfo -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():29:29 -> <clinit>
    1:2:void <init>():33:34 -> <init>
    1:1:void forEach(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.utils.TriConsumer):46:46 -> a
    2:2:void lambda$forEach$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):48:48 -> a
    3:3:void lambda$forEach$0(com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):51:51 -> a
    4:4:void lambda$forEach$1(com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):53:53 -> a
    5:5:void lambda$forEach$2(com.android.tools.r8.utils.TriConsumer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):55:55 -> a
    6:8:com.android.tools.r8.shaking.MinimumKeepInfoCollection getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent):63:63 -> a
    9:9:com.android.tools.r8.shaking.KeepInfo$Joiner getOrCreateUnconditionalMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference):78:78 -> a
    10:11:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:70 -> a
    10:11:com.android.tools.r8.shaking.KeepInfo$Joiner getOrCreateUnconditionalMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference):78 -> a
    12:12:com.android.tools.r8.shaking.MinimumKeepInfoCollection getOrDefault(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):83:83 -> a
    13:13:void merge(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection):92:92 -> a
    14:14:void com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.forEach(java.util.function.BiConsumer):38:38 -> a
    14:14:void merge(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection):92 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:void com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.forEach(java.util.function.BiConsumer):38:38 -> a
    15:15:void merge(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection):92 -> a
    16:16:void lambda$merge$4(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):94:94 -> a
    17:17:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):98:98 -> a
    18:25:boolean lambda$pruneDeadItems$5(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):102:109 -> a
    26:26:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> a
    26:26:boolean lambda$pruneDeadItems$5(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):109 -> a
    27:36:boolean lambda$pruneDeadItems$5(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):109:118 -> a
    37:37:com.android.tools.r8.shaking.KeepClassInfo$Joiner lambda$remove$6(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.MinimumKeepInfoCollection):127:127 -> a
    38:38:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexType):127:127 -> a
    39:39:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.get(com.android.tools.r8.shaking.EnqueuerEvent):59:59 -> a
    39:39:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.internalRemove(com.android.tools.r8.shaking.EnqueuerEvent,java.util.function.Function):140 -> a
    39:39:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexType):127 -> a
    40:42:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.internalRemove(com.android.tools.r8.shaking.EnqueuerEvent,java.util.function.Function):144:146 -> a
    40:42:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexType):127 -> a
    43:43:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexType):127:127 -> a
    44:44:com.android.tools.r8.shaking.KeepFieldInfo$Joiner lambda$remove$7(com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.MinimumKeepInfoCollection):131:131 -> a
    45:45:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexField):131:131 -> a
    46:46:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.get(com.android.tools.r8.shaking.EnqueuerEvent):59:59 -> a
    46:46:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.internalRemove(com.android.tools.r8.shaking.EnqueuerEvent,java.util.function.Function):140 -> a
    46:46:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexField):131 -> a
    47:49:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.internalRemove(com.android.tools.r8.shaking.EnqueuerEvent,java.util.function.Function):144:146 -> a
    47:49:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexField):131 -> a
    50:50:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexField):131:131 -> a
    51:51:com.android.tools.r8.shaking.KeepMethodInfo$Joiner lambda$remove$8(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.MinimumKeepInfoCollection):135:135 -> a
    52:52:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexMethod):135:135 -> a
    53:53:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.get(com.android.tools.r8.shaking.EnqueuerEvent):59:59 -> a
    53:53:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.internalRemove(com.android.tools.r8.shaking.EnqueuerEvent,java.util.function.Function):140 -> a
    53:53:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexMethod):135 -> a
    54:56:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.internalRemove(com.android.tools.r8.shaking.EnqueuerEvent,java.util.function.Function):144:146 -> a
    54:56:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexMethod):135 -> a
    57:57:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexMethod):135:135 -> a
    58:60:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):152:154 -> a
    61:61:void com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.forEach(java.util.function.BiConsumer):38:38 -> a
    61:61:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):154 -> a
    62:63:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):156:157 -> a
    64:64:boolean com.android.tools.r8.shaking.EnqueuerEvent.isNoSuchEvent():0:0 -> a
    64:64:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):157 -> a
    65:66:void lambda$rewrittenWithLens$9(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.MinimumKeepInfoCollection):159:160 -> a
    1:1:com.android.tools.r8.shaking.MinimumKeepInfoCollection remove(com.android.tools.r8.shaking.EnqueuerEvent):123:123 -> b
com.android.tools.r8.shaking.DexStringCache -> com.android.tools.r8.shaking.n:
    java.util.concurrent.ConcurrentHashMap stringCache -> a
    1:2:void <init>():9:10 -> <init>
    1:1:java.lang.String lookupString(com.android.tools.r8.graph.DexString):13:13 -> a
com.android.tools.r8.shaking.DiscardedChecker -> com.android.tools.r8.internal.sh:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> b
    java.util.List failed -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.DiscardedChecker$1):18:18 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView):25:25 -> <init>
    3:7:void <init>(com.android.tools.r8.graph.AppView):23:27 -> <init>
    1:1:com.android.tools.r8.shaking.DiscardedChecker create(com.android.tools.r8.graph.AppView):31:31 -> a
    2:10:java.util.List run(java.lang.Iterable,java.util.concurrent.ExecutorService):54:62 -> a
    11:11:int lambda$run$0(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition):60:60 -> a
    12:13:void checkClassAndMembers(com.android.tools.r8.graph.DexProgramClass):72:73 -> a
    14:18:boolean check(com.android.tools.r8.graph.ProgramDefinition):79:83 -> a
    1:2:com.android.tools.r8.shaking.DiscardedChecker createForMainDex(com.android.tools.r8.graph.AppView):38:39 -> b
    3:3:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> b
    3:3:com.android.tools.r8.shaking.DiscardedChecker createForMainDex(com.android.tools.r8.graph.AppView):40 -> b
    4:4:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> b
    4:4:com.android.tools.r8.shaking.DiscardedChecker createForMainDex(com.android.tools.r8.graph.AppView):40 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.shaking.DiscardedChecker createForMainDex(com.android.tools.r8.graph.AppView):41:41 -> b
    6:6:boolean isCheckDiscardedEnabled(com.android.tools.r8.graph.ProgramDefinition):66:66 -> b
com.android.tools.r8.shaking.DiscardedChecker$1 -> com.android.tools.r8.internal.rh:
    com.android.tools.r8.shaking.MinimumKeepInfoCollection val$unconditionalKeepInfo -> e
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.MinimumKeepInfoCollection):41:41 -> <init>
    1:3:boolean isCheckDiscardedEnabled(com.android.tools.r8.graph.ProgramDefinition):45:45 -> b
com.android.tools.r8.shaking.Enqueuer -> com.android.tools.r8.shaking.t:
    com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason indirectlyInitializedInterfaces -> D
    java.util.Map initClassReferences -> a0
    java.util.Map deferredAnnotations -> c0
    java.util.Set lockCandidates -> Z
    com.android.tools.r8.shaking.EnqueuerUseRegistryFactory useRegistryFactory -> o
    com.android.tools.r8.utils.collections.ProgramMethodSet pendingCodeDesugaring -> i0
    com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason liveTypes -> z
    java.util.Set interfacesTransitionedToInstantiated -> A
    com.android.tools.r8.utils.collections.ProgramMethodMap pendingMethodMoveInverse -> k0
    com.android.tools.r8.shaking.AnnotationRemover$Builder annotationRemoverBuilder -> p
    java.util.Map superInvokeDependencies -> w
    java.util.Set exceptionGuardAnalyses -> g
    com.android.tools.r8.utils.InternalOptions options -> m
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> l
    java.util.Set initialPrunedTypes -> J
    java.util.Set analyses -> c
    java.util.Map syntheticInterfaceMethodBridges -> m0
    com.android.tools.r8.graph.MethodAccessInfoCollection$IdentityBuilder methodAccessInfoCollection -> s
    com.android.tools.r8.shaking.Enqueuer$LiveFieldsSet liveFields -> S
    java.util.Set referencedNonProgramTypes -> F
    com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder objectAllocationInfoCollection -> t
    com.android.tools.r8.utils.collections.ProgramMethodSet pendingReflectiveUses -> V
    com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet targetedMethods -> M
    java.util.Map activeIfRules -> e0
    com.android.tools.r8.shaking.RootSetUtils$RootSet rootSet -> n
    java.util.Set failedMethodResolutionTargets -> N
    com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection keepInfo -> X
    com.android.tools.r8.shaking.MissingClasses$Builder missingClassesBuilder -> H
    java.util.Map reachableVirtualTargets -> W
    java.util.Map reachableInstanceFields -> x
    java.util.Set deadProtoTypeCandidates -> G
    java.util.Set checkCastAnalyses -> h
    java.util.Set fieldAccessAnalyses -> d
    java.util.Set failedFieldResolutionTargets -> O
    boolean $assertionsDisabled -> n0
    boolean forceProguardCompatibility -> a
    java.util.Set noClassMerging -> K
    com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason initializedClasses -> B
    java.util.Map synthesizingContexts -> y
    com.android.tools.r8.utils.collections.ProgramMethodSet pendingMethodMove -> j0
    java.util.Map callSites -> u
    com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder proguardCompatibilityActionsBuilder -> U
    com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection dependentMinimumKeepInfo -> Y
    java.util.concurrent.ExecutorService executorService -> k
    java.util.Set invokeAnalyses -> e
    java.util.Set bootstrapMethods -> P
    java.util.Set recordFieldValuesReferences -> b0
    java.util.Map unusedInterfaceTypes -> L
    java.util.Map deferredParameterAnnotations -> d0
    com.android.tools.r8.shaking.EnqueuerWorklist workList -> T
    java.util.Map scopedMethodsForLiveTypes -> f0
    com.android.tools.r8.ir.desugar.CfInstructionDesugaringCollection desugaring -> h0
    com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason directlyInitializedInterfaces -> C
    com.android.tools.r8.ir.desugar.itf.InterfaceProcessor interfaceProcessor -> l0
    com.android.tools.r8.shaking.GraphReporter graphReporter -> g0
    java.util.Set identifierNameStrings -> v
    com.android.tools.r8.graph.AppView appView -> j
    com.android.tools.r8.graph.FieldAccessInfoCollectionImpl fieldAccessInfoCollection -> r
    com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo -> i
    java.util.Set initialDeadProtoTypes -> I
    com.android.tools.r8.shaking.Enqueuer$Mode mode -> b
    java.util.Set liveNonProgramTypes -> E
    java.util.Set instanceOfAnalyses -> f
    com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier enqueuerDefinitionSupplier -> q
    java.util.Set virtualMethodsTargetedByInvokeDirect -> Q
    com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet liveMethods -> R
    1:1:void <clinit>():193:193 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.shaking.Enqueuer$Mode):460:460 -> <init>
    2:3953:void <init>(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.shaking.Enqueuer$Mode):239:4190 -> <init>
    3954:4000:void <init>(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,com.android.tools.r8.shaking.Enqueuer$Mode):461:507 -> <init>
    1:1:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    1:1:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4742 -> a
    2:7:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4743:4748 -> a
    8:8:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    8:8:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4748 -> a
    9:17:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4753:4761 -> a
    18:18:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):792:792 -> a
    18:18:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4765 -> a
    19:19:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4766:4766 -> a
    20:20:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    20:20:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4767 -> a
    21:36:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4768:4783 -> a
    37:37:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    37:37:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4784 -> a
    38:38:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4785:4785 -> a
    39:39:void com.android.tools.r8.graph.DexProgramClass.forEachProgramVirtualMethod(java.util.function.Consumer):276:276 -> a
    39:39:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4785 -> a
    40:44:void handleJavaLangReflectProxyNewProxyInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4794:4798 -> a
    45:45:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> a
    45:45:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2953 -> a
    46:48:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2956:2958 -> a
    49:49:boolean com.android.tools.r8.shaking.EnqueuerEvent.isLiveClassEvent():0:0 -> a
    49:49:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2962 -> a
    50:50:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2963:2963 -> a
    51:51:boolean com.android.tools.r8.shaking.EnqueuerEvent.isInstantiatedClassEvent():0:0 -> a
    51:51:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2965 -> a
    52:52:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2966:2966 -> a
    53:54:boolean com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.isInstantiatedDirectlyOrHasInstantiatedSubtype(com.android.tools.r8.graph.DexProgramClass):98:99 -> a
    53:54:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2966 -> a
    55:55:boolean isPreconditionForMinimumKeepInfoSatisfied(com.android.tools.r8.shaking.EnqueuerEvent):2969:2969 -> a
    com.android.tools.r8.shaking.KeepReason lambda$keepClassAndAllMembers$54(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness) -> a
    com.android.tools.r8.graph.DexApplication lambda$postProcessingDesugaring$110(com.android.tools.r8.graph.DexApplication) -> a
    56:56:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    56:56:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    57:57:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    58:58:com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl$Builder access$1000(com.android.tools.r8.shaking.Enqueuer):193:193 -> a
    59:59:void access$1500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):193:193 -> a
    60:63:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2809:2812 -> a
    60:63:void access$1500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):193 -> a
    64:64:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> a
    64:64:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2813 -> a
    64:64:void access$1500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):193 -> a
    65:65:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2817:2817 -> a
    65:65:void access$1500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass):193 -> a
    66:66:void access$1600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):193:193 -> a
    67:68:void recordFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):650:651 -> a
    67:68:void access$1600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):193 -> a
    69:69:com.android.tools.r8.graph.DexProgramClass access$1700(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramDefinition):193:193 -> a
    70:70:com.android.tools.r8.graph.DexProgramClass getProgramHolderOrNull(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramDefinition):781:781 -> a
    70:70:com.android.tools.r8.graph.DexProgramClass access$1700(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramDefinition):193 -> a
    71:71:void access$1900(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):193:193 -> a
    72:72:void access$2100(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):193:193 -> a
    73:73:void access$2200(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDerivedContext):193:193 -> a
    74:74:void access$2300(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):193:193 -> a
    75:75:void access$2400(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):193:193 -> a
    76:76:void access$2700(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):193:193 -> a
    77:77:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    77:77:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1244 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    78:78:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    78:78:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1244 -> a
    79:81:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1244:1246 -> a
    82:82:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.methodHandleReferencedIn(com.android.tools.r8.graph.ProgramMethod):87:87 -> a
    82:82:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1248 -> a
    83:83:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    83:83:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1249 -> a
    84:88:void traceMethodHandle(com.android.tools.r8.graph.DexMethodHandle,com.android.tools.r8.graph.UseRegistry$MethodHandleUse,com.android.tools.r8.graph.ProgramMethod):1250:1254 -> a
    89:89:void lambda$new$0(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):487:487 -> a
    90:90:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):535:535 -> a
    90:90:void lambda$new$0(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):487 -> a
    91:91:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory lambda$createUseRegistryFactory$1(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):525:525 -> a
    92:92:com.android.tools.r8.shaking.Enqueuer registerFieldAccessAnalysis(com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):540:540 -> a
    93:93:com.android.tools.r8.shaking.Enqueuer registerInvokeAnalysis(com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):545:545 -> a
    94:94:com.android.tools.r8.shaking.Enqueuer registerCheckCastAnalysis(com.android.tools.r8.graph.analysis.EnqueuerCheckCastAnalysis):555:555 -> a
    95:95:void setAnnotationRemoverBuilder(com.android.tools.r8.shaking.AnnotationRemover$Builder):565:565 -> a
    96:96:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):579:579 -> a
    97:97:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexProgramClass):586:586 -> a
    97:97:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexType):581 -> a
    98:98:boolean addLiveMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):590:590 -> a
    99:102:void recordTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):623:626 -> a
    103:108:com.android.tools.r8.graph.DexClass internalDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):679:684 -> a
    103:108:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):671 -> a
    103:108:void recordTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):630 -> a
    109:109:void recordMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDerivedContext):634:634 -> a
    110:113:void recordMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):642:645 -> a
    114:114:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):663:663 -> a
    115:120:com.android.tools.r8.graph.DexClass internalDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):679:684 -> a
    115:120:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):671 -> a
    115:120:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):663 -> a
    121:121:com.android.tools.r8.graph.DexClass internalDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):679:679 -> a
    121:121:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):671 -> a
    121:121:com.android.tools.r8.graph.DexClass access$2500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):193 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    122:127:com.android.tools.r8.graph.DexClass internalDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):679:684 -> a
    122:127:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):671 -> a
    122:127:com.android.tools.r8.graph.DexClass access$2500(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):193 -> a
    128:133:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer,boolean):718:723 -> a
    134:138:void handleLibraryTypeInheritingFromProgramType(com.android.tools.r8.graph.DexLibraryClass):796:800 -> a
    134:138:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer,boolean):723 -> a
    139:163:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer,boolean):725:749 -> a
    164:164:void processNewLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.utils.WorkList,java.util.function.BiConsumer,boolean):747:747 -> a
    165:166:void lambda$processNewLiveNonProgramType$2(java.util.function.BiConsumer,com.android.tools.r8.graph.DexClassAndField):728:729 -> a
    167:167:void lambda$processNewLiveNonProgramType$2(java.util.function.BiConsumer,com.android.tools.r8.graph.DexClassAndField):727:727 -> a
    168:170:void lambda$processNewLiveNonProgramType$3(java.util.function.BiConsumer,com.android.tools.r8.graph.DexClassAndMethod):734:736 -> a
    171:177:void lambda$processNewLiveNonProgramType$3(java.util.function.BiConsumer,com.android.tools.r8.graph.DexClassAndMethod):735:741 -> a
    178:188:void addNonProgramClassToWorklist(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryDefinition,java.util.function.Consumer,java.util.function.BiConsumer):760:770 -> a
    189:189:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):865:865 -> a
    190:190:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    190:190:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):866 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    191:191:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    191:191:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):866 -> a
    192:196:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):867:871 -> a
    197:197:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    197:197:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():794 -> a
    197:197:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):872 -> a
    198:202:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):873:877 -> a
    203:207:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):875:879 -> a
    208:208:boolean com.android.tools.r8.graph.DexClass.isExternalizable(com.android.tools.r8.graph.AppView):848:848 -> a
    208:208:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):879 -> a
    209:209:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isExternalizable(com.android.tools.r8.graph.DexType):440:440 -> a
    209:209:boolean com.android.tools.r8.graph.DexClass.isExternalizable(com.android.tools.r8.graph.AppView):848 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    209:209:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):879 -> a
    210:210:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isExternalizable(com.android.tools.r8.graph.DexType):440:440 -> a
    210:210:boolean com.android.tools.r8.graph.DexClass.isExternalizable(com.android.tools.r8.graph.AppView):848 -> a
    210:210:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):879 -> a
    211:213:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):880:882 -> a
    214:214:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    214:214:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    214:214:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):881 -> a
    215:215:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    215:215:void enqueueKeepRuleInstantiatedType(com.android.tools.r8.graph.DexProgramClass,java.util.Set,com.android.tools.r8.graph.DexDefinition):881 -> a
    216:218:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):890:892 -> a
    216:218:void lambda$enqueueAllIfNotShrinking$4(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField):848 -> a
    219:219:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    219:219:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    219:219:void lambda$enqueueAllIfNotShrinking$4(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField):848 -> a
    220:220:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895:895 -> a
    220:220:void lambda$enqueueAllIfNotShrinking$4(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField):848 -> a
    221:221:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):894:894 -> a
    221:221:void lambda$enqueueAllIfNotShrinking$4(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField):848 -> a
    222:222:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):892:892 -> a
    222:222:void lambda$enqueueAllIfNotShrinking$4(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField):848 -> a
    223:225:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):902:904 -> a
    223:225:void lambda$enqueueAllIfNotShrinking$5(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod):850 -> a
    226:226:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    226:226:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):907 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    226:226:void lambda$enqueueAllIfNotShrinking$5(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod):850 -> a
    227:227:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):907:907 -> a
    227:227:void lambda$enqueueAllIfNotShrinking$5(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod):850 -> a
    228:228:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):906:906 -> a
    228:228:void lambda$enqueueAllIfNotShrinking$5(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod):850 -> a
    229:229:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):904:904 -> a
    229:229:void lambda$enqueueAllIfNotShrinking$5(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod):850 -> a
    230:233:boolean registerMethodWithTargetAndContext(java.util.function.BiPredicate,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):946:949 -> a
    234:234:boolean registerFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):955:955 -> a
    234:234:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1482 -> a
    235:235:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1486:1486 -> a
    236:236:void com.android.tools.r8.graph.FieldResolutionResult.visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer):120:120 -> a
    236:236:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType):1487 -> a
    237:237:boolean registerFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):963:963 -> a
    237:237:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1544 -> a
    238:238:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1548:1548 -> a
    239:239:void com.android.tools.r8.graph.FieldResolutionResult.visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer):120:120 -> a
    239:239:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1549 -> a
    240:241:boolean registerReflectiveFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):971:972 -> a
    242:273:boolean registerFieldAccess(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,boolean):978:1009 -> a
    274:274:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015:1015 -> a
    275:275:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    275:275:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    276:276:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    276:276:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015 -> a
    277:277:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015:1015 -> a
    278:281:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):272:275 -> a
    278:281:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015 -> a
    282:282:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):910:910 -> a
    282:282:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):275 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    282:282:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015 -> a
    283:283:boolean com.android.tools.r8.graph.DexItemFactory.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexMethod):910:910 -> a
    283:283:boolean com.android.tools.r8.ir.desugar.LambdaDescriptor.isLambdaMetafactoryMethod(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.DexDefinitionSupplier):275 -> a
    283:283:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1015 -> a
    284:285:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1016:1017 -> a
    286:286:com.android.tools.r8.graph.DexProgramClass getProgramHolderOrNull(com.android.tools.r8.graph.DexMember,com.android.tools.r8.graph.ProgramDefinition):781:781 -> a
    286:286:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1017 -> a
    287:291:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1019:1023 -> a
    292:292:java.util.List com.android.tools.r8.graph.DexCallSite.getBootstrapArgs():106:106 -> a
    292:292:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1025 -> a
    293:294:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1025:1026 -> a
    295:295:boolean com.android.tools.r8.graph.DexValue.isDexValueMethodHandle():0:0 -> a
    295:295:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1026 -> a
    296:296:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1027:1027 -> a
    297:297:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    297:297:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1028 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    298:298:boolean com.android.tools.r8.graph.DexMethodHandle.isMethodHandle():294:294 -> a
    298:298:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1028 -> a
    299:299:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1029:1029 -> a
    300:300:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.methodHandleReferencedIn(com.android.tools.r8.graph.ProgramMethod):87:87 -> a
    300:300:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1075 -> a
    300:300:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1029 -> a
    301:305:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1075:1079 -> a
    301:305:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1029 -> a
    306:306:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    306:306:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    306:306:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1077 -> a
    306:306:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1029 -> a
    307:307:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    307:307:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1077 -> a
    307:307:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1029 -> a
    308:308:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1036:1036 -> a
    309:309:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2522:2522 -> a
    309:309:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    310:313:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2529:2532 -> a
    310:313:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    310:313:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    314:314:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":384,"2":385,"3":386}}
    384:384:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2532:2532 -> a
    384:384:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    384:384:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    385:385:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2532:2532 -> a
    385:385:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    385:385:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    386:386:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2532:2532 -> a
    386:386:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    386:386:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    315:315:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":388,"2":389,"3":390,"4":391}}
    388:388:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2534:2534 -> a
    388:388:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    388:388:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    389:389:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2534:2534 -> a
    389:389:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    389:389:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    390:390:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2534:2534 -> a
    390:390:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    390:390:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    391:391:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2534:2534 -> a
    391:391:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    391:391:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    316:321:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2535:2540 -> a
    316:321:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    316:321:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    322:322:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":397,"2":398,"3":399}}
    397:397:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2540:2540 -> a
    397:397:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    397:397:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    398:398:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2540:2540 -> a
    398:398:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    398:398:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    399:399:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2540:2540 -> a
    399:399:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    399:399:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    323:323:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":403,"2":404,"3":405,"4":406}}
    403:403:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2544:2544 -> a
    403:403:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    403:403:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    404:404:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2544:2544 -> a
    404:404:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    404:404:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    405:405:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2544:2544 -> a
    405:405:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    405:405:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    406:406:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2544:2544 -> a
    406:406:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    406:406:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    324:325:void checkLambdaInterface(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):2546:2547 -> a
    324:325:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2523 -> a
    324:325:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    326:326:void markLambdaAsInstantiated(com.android.tools.r8.ir.desugar.LambdaDescriptor,com.android.tools.r8.graph.ProgramMethod):2524:2524 -> a
    326:326:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1038 -> a
    327:327:com.android.tools.r8.shaking.InstantiatedObject com.android.tools.r8.shaking.InstantiatedObject.of(com.android.tools.r8.ir.desugar.LambdaDescriptor):17:17 -> a
    327:327:void transitionMethodsForInstantiatedLambda(com.android.tools.r8.ir.desugar.LambdaDescriptor):2554 -> a
    327:327:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1039 -> a
    328:328:void transitionMethodsForInstantiatedLambda(com.android.tools.r8.ir.desugar.LambdaDescriptor):2554:2554 -> a
    328:328:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1039 -> a
    329:329:void transitionMethodsForInstantiatedLambda(com.android.tools.r8.ir.desugar.LambdaDescriptor):2553:2553 -> a
    329:329:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1039 -> a
    330:357:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1040:1067 -> a
    358:358:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    358:358:void traceInvokeInterfaceFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1325 -> a
    358:358:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1055 -> a
    359:359:void traceInvokeInterfaceFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1325:1325 -> a
    359:359:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1055 -> a
    360:360:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    360:360:void traceInvokeDirectFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1304 -> a
    360:360:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1061 -> a
    361:361:void traceInvokeDirectFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1304:1304 -> a
    361:361:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1061 -> a
    362:362:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064:1064 -> a
    363:363:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1443:1443 -> a
    363:363:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064 -> a
    364:364:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    364:364:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1444 -> a
    364:364:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064 -> a
    365:365:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1452:1452 -> a
    365:365:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1443 -> a
    365:365:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064 -> a
    366:366:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    366:366:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1454 -> a
    366:366:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1443 -> a
    366:366:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064 -> a
    367:370:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1454:1457 -> a
    367:370:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1443 -> a
    367:370:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064 -> a
    371:371:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1455:1455 -> a
    371:371:void traceNewInstanceFromLambda(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1443 -> a
    371:371:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1064 -> a
    372:372:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    372:372:void traceInvokeVirtualFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1401 -> a
    372:372:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1058 -> a
    373:373:void traceInvokeVirtualFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1401:1401 -> a
    373:373:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1058 -> a
    374:374:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFromLambdaCreatedIn(com.android.tools.r8.graph.ProgramMethod):58:58 -> a
    374:374:void traceInvokeStaticFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1346 -> a
    374:374:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1052 -> a
    375:375:void traceInvokeStaticFromLambda(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1346:1346 -> a
    375:375:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1052 -> a
    376:376:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.methodHandleReferencedIn(com.android.tools.r8.graph.ProgramMethod):87:87 -> a
    376:376:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1075 -> a
    376:376:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1070 -> a
    377:381:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1075:1079 -> a
    377:381:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1070 -> a
    382:382:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    382:382:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    382:382:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1077 -> a
    382:382:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1070 -> a
    383:383:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    383:383:void disableClosedWorldReasoning(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1077 -> a
    383:383:void traceCallSite(com.android.tools.r8.graph.DexCallSite,com.android.tools.r8.graph.ProgramMethod):1070 -> a
    407:407:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$traceCallSite$6(com.android.tools.r8.graph.DexCallSite):1040:1040 -> a
    408:408:void lambda$traceCallSite$7(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexType):1041:1041 -> a
    409:409:void lambda$traceCheckCast$8(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerCheckCastAnalysis):1084:1084 -> a
    410:414:void handleLockCandidate(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1108:1112 -> a
    410:414:void traceConstClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator,boolean):1098 -> a
    415:415:void traceConstClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator,boolean):1099:1099 -> a
    416:428:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1128:1140 -> a
    429:429:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1636:1636 -> a
    429:429:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1141 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    430:430:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveNameLookup(com.android.tools.r8.graph.DexMethod):1636:1636 -> a
    430:430:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1141 -> a
    431:438:boolean isConstClassMaybeUsedAsLock(com.android.tools.r8.graph.ProgramMethod,java.util.ListIterator):1141:1148 -> a
    439:439:boolean lambda$isConstClassMaybeUsedAsLock$10(com.android.tools.r8.code.CfOrDexInstruction):1133:1133 -> a
    440:440:boolean com.android.tools.r8.cf.code.CfInstruction.isLabel():0:0 -> a
    440:440:boolean lambda$isConstClassMaybeUsedAsLock$10(com.android.tools.r8.code.CfOrDexInstruction):1133 -> a
    441:441:boolean lambda$isConstClassMaybeUsedAsLock$10(com.android.tools.r8.code.CfOrDexInstruction):1134:1134 -> a
    442:442:boolean com.android.tools.r8.cf.code.CfInstruction.isPosition():0:0 -> a
    442:442:boolean lambda$isConstClassMaybeUsedAsLock$10(com.android.tools.r8.code.CfOrDexInstruction):1134 -> a
    443:443:com.android.tools.r8.shaking.KeepReason lambda$internalTraceConstClassOrCheckCast$11(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):1165:1165 -> a
    444:444:void traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1262:1262 -> a
    444:444:void internalTraceConstClassOrCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):1155 -> a
    445:453:void internalTraceConstClassOrCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):1156:1164 -> a
    454:454:void lambda$traceInvokeDirect$14(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1280:1280 -> a
    455:457:boolean registerDeferredActionForDeadProtoBuilder(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Action):1292:1294 -> a
    458:458:java.lang.Boolean lambda$registerDeferredActionForDeadProtoBuilder$16(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.Action,com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteBuilderShrinker):1296:1296 -> a
    459:459:boolean lambda$registerDeferredActionForDeadProtoBuilder$15(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.Action):1297:1297 -> a
    460:465:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1309:1314 -> a
    466:466:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    466:466:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1314 -> a
    467:498:void handleInvokeOfDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2272:2303 -> a
    467:498:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1316 -> a
    499:499:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1317:1317 -> a
    500:500:void lambda$traceInvokeDirect$17(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1317:1317 -> a
    501:513:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1489:1501 -> a
    514:514:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1500:1500 -> a
    515:515:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2042,"2":2043,"3":2044}}
    2042:2042:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1500:1500 -> a
    2043:2043:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1500:1500 -> a
    2044:2044:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1500:1500 -> a
    2018:2031:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1503:1516 -> a
    2032:2032:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2032:2032:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1516 -> a
    2033:2035:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1519:1521 -> a
    2036:2038:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1804:1806 -> a
    2036:2038:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1521 -> a
    2039:2039:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1524:1524 -> a
    2040:2040:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.fieldReferencedIn(com.android.tools.r8.graph.ProgramMethod):62:62 -> a
    2040:2040:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1525 -> a
    2041:2041:void lambda$traceInstanceFieldRead$24(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer$FieldReadType,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1524:1524 -> a
    2045:2045:void lambda$traceInstanceFieldRead$23(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):1491:1491 -> a
    2046:2058:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1551:1563 -> a
    2059:2059:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1562:1562 -> a
    2060:2060:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3644,"2":3645,"3":3646}}
    3644:3644:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1562:1562 -> a
    3645:3645:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1562:1562 -> a
    3646:3646:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1562:1562 -> a
    3625:3634:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1565:1574 -> a
    3635:3635:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    3635:3635:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1574 -> a
    3636:3638:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1577:1579 -> a
    3639:3641:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1804:1806 -> a
    3639:3641:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1579 -> a
    3642:3642:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.fieldReferencedIn(com.android.tools.r8.graph.ProgramMethod):62:62 -> a
    3642:3642:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1582 -> a
    3643:3643:void lambda$traceInstanceFieldWrite$27(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1583:1583 -> a
    3647:3647:java.lang.Boolean lambda$traceStaticFieldRead$30(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1639:1639 -> a
    3648:3648:void lambda$traceStaticFieldRead$32(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1663:1663 -> a
    3649:3661:void markTypeAsLive(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):1788:1800 -> a
    3662:3666:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1825:1829 -> a
    3667:3667:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isFinalMainDexTracing():220:220 -> a
    3667:3667:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1829 -> a
    3668:3671:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1829:1829 -> a
    3672:3672:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5656,"2":5657,"3":5658}}
    5656:5656:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1829:1829 -> a
    5657:5657:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1829:1829 -> a
    5658:5658:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1829:1829 -> a
    5504:5506:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1832:1834 -> a
    5507:5507:boolean com.android.tools.r8.ir.optimize.enums.EnumDataMap.isUnboxedEnum(com.android.tools.r8.graph.DexProgramClass):28:28 -> a
    5507:5507:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1834 -> a
    5508:5518:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1834:1844 -> a
    5519:5525:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1843:1849 -> a
    5526:5562:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1848:1884 -> a
    5563:5563:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    5563:5563:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1884 -> a
    5564:5564:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1887:1887 -> a
    5565:5565:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reachableFromLiveType(com.android.tools.r8.graph.DexType):46:46 -> a
    5565:5565:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1887 -> a
    5566:5575:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1889:1898 -> a
    5576:5579:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):805:808 -> a
    5576:5579:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5580:5580:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5659,"2":5660,"3":5661}}
    5659:5659:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):808:808 -> a
    5659:5659:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5660:5660:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):808:808 -> a
    5660:5660:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5661:5661:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):808:808 -> a
    5661:5661:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5581:5583:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):811:813 -> a
    5581:5583:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5584:5596:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):808:820 -> a
    5584:5596:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5597:5597:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":5673,"2":5674,"3":5675}}
    5673:5673:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):820:820 -> a
    5673:5673:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5674:5674:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):820:820 -> a
    5674:5674:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5675:5675:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):820:820 -> a
    5675:5675:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5598:5600:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):823:825 -> a
    5598:5600:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5601:5601:void warnIfClassExtendsInterfaceOrImplementsClass(com.android.tools.r8.graph.DexProgramClass):820:820 -> a
    5601:5601:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1902 -> a
    5602:5605:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2809:2812 -> a
    5602:5605:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1906 -> a
    5606:5606:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> a
    5606:5606:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2813 -> a
    5606:5606:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1906 -> a
    5607:5607:void transitionUnusedInterfaceToLive(com.android.tools.r8.graph.DexProgramClass):2817:2817 -> a
    5607:5607:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1906 -> a
    5608:5610:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1923:1925 -> a
    5611:5611:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844:844 -> a
    5611:5611:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1925 -> a
    5612:5612:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    5612:5612:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5612:5612:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1925 -> a
    5613:5613:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    5613:5613:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
    5613:5613:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1925 -> a
    5614:5614:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):912:912 -> a
    5614:5614:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5615:5615:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844:844 -> a
    5615:5615:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):912 -> a
    5615:5615:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5616:5616:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    5616:5616:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5616:5616:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):912 -> a
    5616:5616:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5617:5617:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    5617:5617:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
    5617:5617:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):912 -> a
    5617:5617:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5618:5621:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):912:915 -> a
    5618:5621:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5622:5622:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844:844 -> a
    5622:5622:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):915 -> a
    5622:5622:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5623:5623:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    5623:5623:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5623:5623:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):915 -> a
    5623:5623:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5624:5624:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    5624:5624:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
    5624:5624:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):915 -> a
    5624:5624:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5625:5625:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):916:916 -> a
    5625:5625:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5626:5626:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    5626:5626:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():794 -> a
    5626:5626:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):922 -> a
    5626:5626:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5627:5630:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):923:926 -> a
    5627:5630:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5631:5631:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    5631:5631:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    5631:5631:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):924 -> a
    5631:5631:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5632:5632:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    5632:5632:void enqueueFirstNonSerializableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):924 -> a
    5632:5632:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1926 -> a
    5633:5634:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1930:1931 -> a
    5635:5635:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2043:2043 -> a
    5635:5635:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1933 -> a
    5636:5636:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> a
    5636:5636:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2044 -> a
    5636:5636:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1933 -> a
    5637:5637:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049:2049 -> a
    5637:5637:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> a
    5637:5637:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1933 -> a
    5638:5639:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2054:2055 -> a
    5638:5639:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049 -> a
    5638:5639:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> a
    5638:5639:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1933 -> a
    5640:5640:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    5640:5640:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1936 -> a
    5641:5647:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1937:1943 -> a
    5648:5648:java.util.Set com.android.tools.r8.shaking.RootSetUtils$RootSetBase.getDependentKeepClassCompatRule(com.android.tools.r8.graph.DexType):1674:1674 -> a
    5648:5648:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1943 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5649:5649:java.util.Set com.android.tools.r8.shaking.RootSetUtils$RootSetBase.getDependentKeepClassCompatRule(com.android.tools.r8.graph.DexType):1674:1674 -> a
    5649:5649:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1943 -> a
    5650:5654:void compatEnqueueHolderIfDependentNonStaticMember(com.android.tools.r8.graph.DexProgramClass,java.util.Set):932:936 -> a
    5650:5654:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1942 -> a
    5655:5655:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):1945:1945 -> a
    5676:5676:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind lambda$markTypeAsLive$40(com.android.tools.r8.graph.ProgramDefinition):1939:1939 -> a
    5677:5677:void lambda$markTypeAsLive$41(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):1945:1945 -> a
    5678:5681:void processDeferredAnnotations(com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.function.Function):1953:1956 -> a
    5682:5684:void processDeferredAnnotations(com.android.tools.r8.graph.DexProgramClass,java.util.Map,java.util.function.Function):1955:1957 -> a
    5685:5685:boolean lambda$processDeferredAnnotations$42(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):1956:1956 -> a
    5686:5686:void lambda$processDeferredAnnotations$44(java.util.function.Function,com.android.tools.r8.graph.DexAnnotation,java.util.List):1959:1959 -> a
    5687:5687:void lambda$processDeferredAnnotations$43(com.android.tools.r8.graph.DexAnnotation,java.util.function.Function,com.android.tools.r8.graph.ProgramDefinition):1962:1962 -> a
    5688:5688:void lambda$processDeferredAnnotations$43(com.android.tools.r8.graph.DexAnnotation,java.util.function.Function,com.android.tools.r8.graph.ProgramDefinition):1961:1961 -> a
    5689:5692:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.ClassDefinition):1967:1970 -> a
    5693:5695:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.ClassDefinition):1969:1971 -> a
    5696:5696:void com.android.tools.r8.graph.MethodCollection.forEachVirtualMethod(java.util.function.Consumer):126:126 -> a
    5696:5696:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.ClassDefinition):1971 -> a
    5697:5697:void com.android.tools.r8.graph.MethodCollection.forEachVirtualMethod(java.util.function.Consumer):126:126 -> a
    5697:5697:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.ClassDefinition):1971 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5698:5698:void ensureMethodsContinueToWidenAccess(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.shaking.KeepReason):1976:1976 -> a
    5699:5701:boolean lambda$ensureMethodsContinueToWidenAccess$46(com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):1978:1980 -> a
    5702:5702:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.methodDefinedInInterfaces(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):507:507 -> a
    5702:5702:boolean lambda$ensureMethodsContinueToWidenAccess$46(com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):1980 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5706:5707:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.methodDefinedInInterfaces(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexType):511:512 -> a
    5706:5707:boolean lambda$ensureMethodsContinueToWidenAccess$46(com.android.tools.r8.shaking.ScopedDexMethodSet,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):1980 -> a
    5708:5711:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2061:2064 -> a
    5712:5717:boolean shouldKeepAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind,boolean):2094:2099 -> a
    5712:5717:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2065 -> a
    5718:5718:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2069:2069 -> a
    5719:5719:boolean com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.isParameter():48:48 -> a
    5719:5719:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2069 -> a
    5720:5737:void processAnnotation(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2069:2086 -> a
    5738:5738:java.util.List lambda$processAnnotation$50(com.android.tools.r8.graph.DexAnnotation):2073:2073 -> a
    5739:5740:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition):2105:2106 -> a
    5741:5741:void com.android.tools.r8.graph.FieldResolutionResult.visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer):120:120 -> a
    5741:5741:com.android.tools.r8.graph.FieldResolutionResult resolveField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition):2106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5742:5742:void lambda$resolveField$51(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):2109:2109 -> a
    5743:5744:void recordFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):650:651 -> a
    5743:5744:void lambda$resolveField$51(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):2108 -> a
    5745:5745:void lambda$resolveField$52(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):2112:2112 -> a
    5746:5747:void recordFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDerivedContext):650:651 -> a
    5746:5747:void lambda$resolveField$52(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):2113 -> a
    5748:5751:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason,boolean):2135:2138 -> a
    5752:5757:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason,boolean):2137:2142 -> a
    5758:5762:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason,boolean):2141:2145 -> a
    5763:5794:void handleInvokeOfDirectTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2272:2303 -> a
    5763:5794:void markNonStaticDirectMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2267 -> a
    5795:5808:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2308:2321 -> a
    5809:5809:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reachableFromLiveType(com.android.tools.r8.graph.DexType):46:46 -> a
    5809:5809:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2321 -> a
    5810:5820:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2322:2332 -> a
    5821:5821:boolean com.android.tools.r8.errors.dontwarn.DontWarnConfiguration.matches(com.android.tools.r8.graph.Definition):27:27 -> a
    5821:5821:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2332 -> a
    5822:5823:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2337:2338 -> a
    5824:5824:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":8173,"2":8174,"3":8175}}
    8173:8173:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2338:2338 -> a
    8174:8174:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2338:2338 -> a
    8175:8175:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2338:2338 -> a
    8162:8172:void ensureFromLibraryOrThrow(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexLibraryClass):2338:2348 -> a
    8176:8178:void lambda$ensureFromLibraryOrThrow$53(com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):2326:2328 -> a
    8179:8181:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2360:2362 -> a
    8182:8182:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354:2354 -> a
    8182:8182:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2363 -> a
    8183:8183:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():619:619 -> a
    8183:8183:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8183:8183:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2363 -> a
    8184:8184:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2355:2355 -> a
    8184:8184:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2363 -> a
    8185:8185:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2364:2364 -> a
    8186:8186:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    8186:8186:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2364 -> a
    8187:8187:void keepClassAndAllMembers(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):2370:2370 -> a
    8188:8188:void lambda$keepClassAndAllMembers$55(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2366:2366 -> a
    8189:8189:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354:2354 -> a
    8189:8189:void lambda$keepClassAndAllMembers$55(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2367 -> a
    8190:8190:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():619:619 -> a
    8190:8190:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8190:8190:void lambda$keepClassAndAllMembers$55(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2367 -> a
    8191:8191:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2355:2355 -> a
    8191:8191:void lambda$keepClassAndAllMembers$55(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2367 -> a
    8192:8192:void lambda$keepClassAndAllMembers$55(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramField):2368:2368 -> a
    8193:8193:void lambda$keepClassAndAllMembers$56(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2372:2372 -> a
    8194:8194:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354:2354 -> a
    8194:8194:void lambda$keepClassAndAllMembers$56(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2373 -> a
    8195:8195:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():619:619 -> a
    8195:8195:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8195:8195:void lambda$keepClassAndAllMembers$56(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2373 -> a
    8196:8196:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2355:2355 -> a
    8196:8196:void lambda$keepClassAndAllMembers$56(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2373 -> a
    8197:8197:void lambda$keepClassAndAllMembers$56(com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness,com.android.tools.r8.graph.ProgramMethod):2374:2374 -> a
    8198:8200:void recordFoundClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2379:2381 -> a
    8201:8203:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1804:1806 -> a
    8201:8203:void recordFoundClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2381 -> a
    8204:8204:void recordFoundClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2384:2384 -> a
    8205:8205:void lambda$recordNonProgramClass$57(com.android.tools.r8.graph.ProgramDerivedContext,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryDefinition):2394:2394 -> a
    8206:8206:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2407:2407 -> a
    8206:8206:void ignoreMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2411 -> a
    8206:8206:void access$2600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):193 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    8207:8207:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2407:2407 -> a
    8207:8207:void ignoreMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2411 -> a
    8207:8207:void access$2600(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):193 -> a
    8208:8208:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2407:2407 -> a
    8208:8208:void ignoreMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2411 -> a
    8209:8209:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2407:2407 -> a
    8209:8209:void ignoreMissingClasspathOrLibraryClass(com.android.tools.r8.graph.DexType):2415 -> a
    8209:8209:void ignoreMissingClasspathOrLibraryClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ClasspathOrLibraryDefinition):2420 -> a
    8210:8210:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2460:2460 -> a
    8211:8211:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8211:8211:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2460 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8212:8212:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8212:8212:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2460 -> a
    8213:8219:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2460:2466 -> a
    8220:8221:boolean markInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2496:2497 -> a
    8220:8221:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2470 -> a
    8222:8223:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2474:2475 -> a
    8224:8224:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    8224:8224:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2475 -> a
    8225:8227:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2478:2480 -> a
    8228:8228:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8228:8228:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2558 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8228:8228:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2483 -> a
    8229:8229:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8229:8229:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2558 -> a
    8229:8229:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2483 -> a
    8230:8231:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2558:2559 -> a
    8230:8231:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2483 -> a
    8232:8232:com.android.tools.r8.shaking.InstantiatedObject com.android.tools.r8.shaking.InstantiatedObject.of(com.android.tools.r8.graph.DexProgramClass):13:13 -> a
    8232:8232:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2561 -> a
    8232:8232:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2483 -> a
    8233:8233:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2561:2561 -> a
    8233:8233:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2483 -> a
    8234:8234:void transitionMethodsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2560:2560 -> a
    8234:8234:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2483 -> a
    8235:8238:void transitionFieldsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2745:2748 -> a
    8235:8238:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2485 -> a
    8239:8239:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reachableFromLiveType(com.android.tools.r8.graph.DexType):46:46 -> a
    8239:8239:void transitionFieldsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2748 -> a
    8239:8239:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2485 -> a
    8240:8245:void transitionFieldsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2749:2754 -> a
    8240:8245:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2485 -> a
    8246:8246:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2758:2758 -> a
    8246:8246:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2487 -> a
    8247:8247:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8247:8247:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2758 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8247:8247:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2487 -> a
    8248:8248:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8248:8248:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2758 -> a
    8248:8248:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2487 -> a
    8249:8251:void transitionDependentItemsForInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):2758:2760 -> a
    8249:8251:void processNewlyInstantiatedClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):2487 -> a
    8252:8252:void lambda$processNewlyInstantiatedClass$58(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2468:2468 -> a
    8253:8253:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2502:2502 -> a
    8254:8254:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8254:8254:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2502 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8255:8255:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8255:8255:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2502 -> a
    8256:8260:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2502:2506 -> a
    8261:8262:void transitionDependentItemsForInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass):2764:2765 -> a
    8261:8262:void markAnnotationAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2507 -> a
    8263:8271:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2573:2581 -> a
    8272:8286:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2657:2671 -> a
    8272:8286:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8287:8287:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2668:2668 -> a
    8287:8287:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8288:8288:boolean com.android.tools.r8.shaking.InstantiatedObject.isClass():0:0 -> a
    8288:8288:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2678 -> a
    8288:8288:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8289:8291:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2678:2680 -> a
    8289:8291:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8292:8296:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2679:2683 -> a
    8292:8296:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8297:8303:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2682:2688 -> a
    8297:8303:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8304:8304:void markLibraryAndClasspathMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass):2685:2685 -> a
    8304:8304:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2583 -> a
    8305:8308:void transitionMethodsForInstantiatedObject(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.List):2585:2588 -> a
    8309:8309:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2599:2599 -> a
    8310:8310:boolean com.android.tools.r8.shaking.InstantiatedObject.isLambda():0:0 -> a
    8310:8310:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2599 -> a
    8311:8313:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2599:2599 -> a
    8314:8314:java.util.Map getReachableVirtualTargets(com.android.tools.r8.graph.DexProgramClass):2594:2594 -> a
    8314:8314:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2601 -> a
    8315:8316:void markProgramMethodOverridesAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass):2601:2602 -> a
    8317:8331:void lambda$markProgramMethodOverridesAsLive$65(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.shaking.Enqueuer$ResolutionSearchKey,com.android.tools.r8.utils.collections.ProgramMethodSet):2604:2618 -> a
    8332:8342:void lambda$markProgramMethodOverridesAsLive$64(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,java.util.List):2620:2630 -> a
    8343:8343:void com.android.tools.r8.graph.LookupResult.forEach(java.util.function.Consumer):33:33 -> a
    8343:8343:void lambda$markProgramMethodOverridesAsLive$64(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,java.util.List):2630 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8344:8344:void lambda$markProgramMethodOverridesAsLive$64(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexProgramClass,java.util.List):2638:2638 -> a
    8345:8346:void lambda$markProgramMethodOverridesAsLive$59(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):2625:2626 -> a
    8347:8347:boolean lambda$markProgramMethodOverridesAsLive$60(com.android.tools.r8.graph.DexDefinition):2629:2629 -> a
    8348:8348:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160:160 -> a
    8348:8348:boolean lambda$markProgramMethodOverridesAsLive$60(com.android.tools.r8.graph.DexDefinition):2629 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8349:8349:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160:160 -> a
    8349:8349:boolean lambda$markProgramMethodOverridesAsLive$60(com.android.tools.r8.graph.DexDefinition):2629 -> a
    8350:8350:void lambda$markProgramMethodOverridesAsLive$62(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.LookupTarget):2632:2632 -> a
    8351:8353:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markProgramMethodOverridesAsLive$61(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.ProgramMethod):2635:2635 -> a
    8354:8358:void lambda$markProgramMethodOverridesAsLive$63(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):2641:2645 -> a
    8359:8359:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> a
    8359:8359:void lambda$markProgramMethodOverridesAsLive$63(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):2647 -> a
    8360:8360:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):50:50 -> a
    8360:8360:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> a
    8360:8360:void lambda$markProgramMethodOverridesAsLive$63(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):2647 -> a
    8361:8361:void lambda$markProgramMethodOverridesAsLive$63(com.android.tools.r8.graph.DexProgramClass,java.util.List,com.android.tools.r8.graph.DexEncodedMethod):2645:2645 -> a
    8362:8362:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2697:2697 -> a
    8363:8378:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4270:4285 -> a
    8363:8378:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2701 -> a
    8379:8387:java.util.Set getImmediateSubtypesInInstantiatedHierarchy(com.android.tools.r8.graph.DexProgramClass):4321:4329 -> a
    8379:8387:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4291 -> a
    8379:8387:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2701 -> a
    8388:8402:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4292:4306 -> a
    8388:8402:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2701 -> a
    8403:8411:java.util.Set getImmediateSubtypesInInstantiatedHierarchy(com.android.tools.r8.graph.DexProgramClass):4321:4329 -> a
    8403:8411:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4310 -> a
    8403:8411:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2701 -> a
    8412:8414:boolean shouldMarkLibraryMethodOverrideAsReachable(com.android.tools.r8.graph.LookupTarget):4310:4312 -> a
    8412:8414:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2701 -> a
    8415:8415:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2704:2704 -> a
    8416:8416:boolean com.android.tools.r8.shaking.InstantiatedObject.isClass():0:0 -> a
    8416:8416:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2709 -> a
    8417:8417:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2712:2712 -> a
    8418:8418:void markLibraryOrClasspathOverrideLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.MethodResolutionResult):2711:2711 -> a
    8419:8419:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markLibraryOrClasspathOverrideLive$66(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramMethod):2707:2707 -> a
    8420:8431:void markOverridesAsLibraryMethodOverrides(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):2718:2729 -> a
    8432:8434:void lambda$markOverridesAsLibraryMethodOverrides$67(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexType):2731:2733 -> a
    8435:8441:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2829:2835 -> a
    8442:8442:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2878:2878 -> a
    8442:8442:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8443:8443:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> a
    8443:8443:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2878 -> a
    8443:8443:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8444:8444:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2879:2879 -> a
    8444:8444:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8445:8445:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2043:2043 -> a
    8445:8445:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8445:8445:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8446:8446:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> a
    8446:8446:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2044 -> a
    8446:8446:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8446:8446:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8447:8447:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049:2049 -> a
    8447:8447:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> a
    8447:8447:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8447:8447:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8448:8449:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2054:2055 -> a
    8448:8449:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049 -> a
    8448:8449:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> a
    8448:8449:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8448:8449:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2836 -> a
    8450:8453:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2837:2840 -> a
    8454:8454:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2878:2878 -> a
    8454:8454:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8455:8455:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> a
    8455:8455:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2878 -> a
    8455:8455:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8456:8456:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2879:2879 -> a
    8456:8456:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8457:8457:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2043:2043 -> a
    8457:8457:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8457:8457:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8458:8458:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> a
    8458:8458:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2044 -> a
    8458:8458:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8458:8458:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8459:8459:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049:2049 -> a
    8459:8459:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> a
    8459:8459:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8459:8459:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8460:8461:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2054:2055 -> a
    8460:8461:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049 -> a
    8460:8461:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> a
    8460:8461:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> a
    8460:8461:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2841 -> a
    8462:8465:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2845:2848 -> a
    8466:8466:void lambda$markFieldAsLive$68(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2848:2848 -> a
    8467:8467:void lambda$markFieldAsReachable$70(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):2874:2874 -> a
    8468:8469:void traceFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):2887:2888 -> a
    8468:8469:void lambda$traceInstanceFieldRead$25(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1529 -> a
    8470:8470:void lambda$traceInstanceFieldRead$25(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1530:1530 -> a
    8471:8471:boolean isFieldLive(com.android.tools.r8.graph.DexEncodedField):2927:2927 -> a
    8472:8473:boolean isFieldWrittenInMethodSatisfying(com.android.tools.r8.graph.ProgramField,java.util.function.Predicate):2937:2938 -> a
    8474:8474:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2981:2981 -> a
    8475:8475:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2985:2985 -> a
    8475:8475:void lambda$desugar$98(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):3673 -> a
    8476:8476:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2981:2981 -> a
    8476:8476:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2985 -> a
    8476:8476:void lambda$desugar$98(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):3673 -> a
    8477:8477:void lambda$desugar$98(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):3676:3676 -> a
    8478:8479:boolean isTypeLive(com.android.tools.r8.graph.DexClass):2997:2998 -> a
    8480:8480:boolean isTypeLive(com.android.tools.r8.graph.DexProgramClass):3003:3003 -> a
    8480:8480:boolean isTypeLive(com.android.tools.r8.graph.DexClass):2998 -> a
    8481:8482:boolean isNonProgramTypeLive(com.android.tools.r8.graph.DexClass):3007:3008 -> a
    8481:8482:boolean isTypeLive(com.android.tools.r8.graph.DexClass):2999 -> a
    8483:8493:boolean isReachable(com.android.tools.r8.graph.Definition):3012:3022 -> a
    8494:8494:boolean isFieldLive(com.android.tools.r8.graph.ProgramField):2923:2923 -> a
    8494:8494:boolean isReachable(com.android.tools.r8.graph.Definition):3023 -> a
    8495:8495:boolean isFieldReferenced(com.android.tools.r8.graph.ProgramField):2919:2919 -> a
    8495:8495:boolean isReachable(com.android.tools.r8.graph.Definition):3023 -> a
    8496:8497:boolean isReachable(com.android.tools.r8.graph.Definition):3025:3026 -> a
    8498:8498:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2985:2985 -> a
    8498:8498:boolean isReachable(com.android.tools.r8.graph.Definition):3027 -> a
    8499:8499:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2981:2981 -> a
    8499:8499:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2985 -> a
    8499:8499:boolean isReachable(com.android.tools.r8.graph.Definition):3027 -> a
    8500:8500:boolean isMethodTargeted(com.android.tools.r8.graph.ProgramMethod):2993:2993 -> a
    8500:8500:boolean isReachable(com.android.tools.r8.graph.Definition):3027 -> a
    8501:8501:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2989:2989 -> a
    8501:8501:boolean isMethodTargeted(com.android.tools.r8.graph.ProgramMethod):2993 -> a
    8501:8501:boolean isReachable(com.android.tools.r8.graph.Definition):3027 -> a
    8502:8502:boolean isReachable(com.android.tools.r8.graph.Definition):3031:3031 -> a
    8503:8504:boolean isNonProgramTypeLive(com.android.tools.r8.graph.DexClass):3007:3008 -> a
    8503:8504:boolean isReachable(com.android.tools.r8.graph.Definition):3031 -> a
    8505:8505:void forAllLiveClasses(java.util.function.Consumer):3035:3035 -> a
    8506:8530:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3040:3064 -> a
    8531:8531:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.graph.ProgramMethod.getContextClass():135:135 -> a
    8531:8531:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3072 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8532:8532:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3075:3075 -> a
    8533:8533:java.util.Map getReachableVirtualTargets(com.android.tools.r8.graph.DexProgramClass):2594:2594 -> a
    8533:8533:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3077 -> a
    8534:8542:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3077:3085 -> a
    8543:8543:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    8543:8543:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3085 -> a
    8544:8559:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3090:3105 -> a
    8560:8560:void com.android.tools.r8.graph.LookupResult.forEach(java.util.function.Consumer):33:33 -> a
    8560:8560:void markVirtualMethodAsReachable(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):3112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8561:8561:void lambda$markVirtualMethodAsReachable$73(com.android.tools.r8.graph.DexType,java.util.function.Consumer,java.util.function.Consumer):3109:3109 -> a
    8562:8562:void lambda$markVirtualMethodAsReachable$76(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.LookupTarget):3114:3114 -> a
    8563:8565:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness lambda$markVirtualMethodAsReachable$75(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.ProgramMethod):3117:3117 -> a
    8566:8569:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupTarget,java.util.function.Function):3123:3126 -> a
    8570:8570:void lambda$markVirtualDispatchTargetAsLive$79(com.android.tools.r8.graph.LookupTarget,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3126:3126 -> a
    8571:8573:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.DexClassAndMethod,java.util.function.Function):3131:3133 -> a
    8571:8573:void lambda$markVirtualDispatchTargetAsLive$77(java.util.function.Function,com.android.tools.r8.graph.DexClassAndMethod):3124 -> a
    8574:8577:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupLambdaTarget,java.util.function.Function):3139:3142 -> a
    8574:8577:void lambda$markVirtualDispatchTargetAsLive$78(java.util.function.Function,com.android.tools.r8.graph.LookupLambdaTarget):3125 -> a
    8578:8578:void markVirtualDispatchTargetAsLive(com.android.tools.r8.graph.LookupLambdaTarget,java.util.function.Function):3141:3141 -> a
    8578:8578:void lambda$markVirtualDispatchTargetAsLive$78(java.util.function.Function,com.android.tools.r8.graph.LookupLambdaTarget):3125 -> a
    8579:8580:void markFailedMethodResolutionTargets(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodResolutionResult$FailedResolutionResult,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):3151:3152 -> a
    8581:8584:void lambda$markFailedMethodResolutionTargets$80(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.DexEncodedMethod):3154:3157 -> a
    8585:8585:void lambda$markSuperMethodAsReachable$82(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3208:3208 -> a
    8586:8586:void lambda$markSuperMethodAsReachable$82(com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3207:3207 -> a
    8587:8587:void lambda$traceMainDex$84(com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexEncodedMethod):3249:3249 -> a
    8588:8594:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3261:3267 -> a
    8595:8595:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):535:535 -> a
    8595:8595:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3267 -> a
    8596:8598:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3271:3273 -> a
    8599:8599:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):535:535 -> a
    8599:8599:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3273 -> a
    8600:8600:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3275:3275 -> a
    8601:8601:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):535:535 -> a
    8601:8601:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3275 -> a
    8602:8622:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3278:3298 -> a
    8623:8626:void finalizeLibraryMethodOverrideInformation():3745:3748 -> a
    8623:8626:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3299 -> a
    8627:8628:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3300:3301 -> a
    8629:8631:boolean verifyKeptGraph():3755:3757 -> a
    8629:8631:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3301 -> a
    8632:8637:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3302:3307 -> a
    8638:8638:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isWhyAreYouKeeping():232:232 -> a
    8638:8638:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3307 -> a
    8639:8639:com.android.tools.r8.shaking.EnqueuerResult traceApplication(com.android.tools.r8.shaking.RootSetUtils$RootSet,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3312:3312 -> a
    8640:8640:void lambda$traceApplication$87(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):3300:3300 -> a
    8641:8642:void includeMinimumKeepInfo(com.android.tools.r8.shaking.RootSetUtils$RootSetBase):3317:3318 -> a
    8643:8647:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3326:3330 -> a
    8648:8648:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3353:3353 -> a
    8648:8648:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8649:8649:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8649:8649:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3354 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8649:8649:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8650:8650:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8650:8650:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3354 -> a
    8650:8650:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8651:8651:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3355:3355 -> a
    8651:8651:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8652:8653:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):858:859 -> a
    8652:8653:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> a
    8652:8653:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8654:8654:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    8654:8654:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8654:8654:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> a
    8654:8654:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8655:8655:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860:860 -> a
    8655:8655:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> a
    8655:8655:void applyMinimumKeepInfo(com.android.tools.r8.graph.DexProgramClass):3331 -> a
    8656:8656:void lambda$applyMinimumKeepInfo$88(com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3330:3330 -> a
    8657:8660:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3339:3342 -> a
    8661:8661:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8661:8661:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3343 -> a
    8662:8662:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8662:8662:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3343 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8663:8663:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3344:3344 -> a
    8664:8664:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> a
    8664:8664:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3344 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8665:8665:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> a
    8665:8665:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8665:8665:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3344 -> a
    8666:8666:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3353:3353 -> a
    8666:8666:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8667:8667:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8667:8667:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3354 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8667:8667:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8668:8668:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8668:8668:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3354 -> a
    8668:8668:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8669:8669:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3355:3355 -> a
    8669:8669:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8670:8671:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):858:859 -> a
    8670:8671:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> a
    8670:8671:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8672:8672:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    8672:8672:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8672:8672:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> a
    8672:8672:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8673:8673:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860:860 -> a
    8673:8673:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> a
    8673:8673:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3346 -> a
    8674:8678:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3377:3381 -> a
    8679:8679:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3400:3400 -> a
    8679:8679:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8680:8680:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8680:8680:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3401 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8680:8680:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8681:8681:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8681:8681:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3401 -> a
    8681:8681:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8682:8682:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3402:3402 -> a
    8682:8682:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8683:8685:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):890:892 -> a
    8683:8685:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8683:8685:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8686:8686:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    8686:8686:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8686:8686:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8686:8686:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8687:8687:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895:895 -> a
    8687:8687:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8687:8687:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8688:8688:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):894:894 -> a
    8688:8688:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8688:8688:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8689:8689:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):892:892 -> a
    8689:8689:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8689:8689:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramField):3382 -> a
    8690:8690:void lambda$applyMinimumKeepInfo$90(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3381:3381 -> a
    8691:8694:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3388:3391 -> a
    8695:8695:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8695:8695:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3392 -> a
    8696:8696:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8696:8696:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3392 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8697:8697:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3393:3393 -> a
    8698:8698:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> a
    8698:8698:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3393 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8699:8699:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> a
    8699:8699:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8699:8699:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3393 -> a
    8700:8700:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3400:3400 -> a
    8700:8700:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8701:8701:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8701:8701:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3401 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8701:8701:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8702:8702:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    8702:8702:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3401 -> a
    8702:8702:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8703:8703:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3402:3402 -> a
    8703:8703:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8704:8706:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):890:892 -> a
    8704:8706:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8704:8706:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8707:8707:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> a
    8707:8707:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8707:8707:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8707:8707:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8708:8708:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895:895 -> a
    8708:8708:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8708:8708:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8709:8709:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):894:894 -> a
    8709:8709:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8709:8709:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8710:8710:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):892:892 -> a
    8710:8710:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> a
    8710:8710:void applyMinimumKeepInfoWhenLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3395 -> a
    8711:8716:void applyMinimumKeepInfo(com.android.tools.r8.graph.ProgramMethod):3422:3427 -> a
    8717:8717:void lambda$applyMinimumKeepInfo$92(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3426:3426 -> a
    8718:8721:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3440:3443 -> a
    8722:8722:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8722:8722:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3444 -> a
    8723:8723:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    8723:8723:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3444 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8724:8724:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3445:3445 -> a
    8725:8725:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> a
    8725:8725:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3445 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8726:8726:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> a
    8726:8726:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8726:8726:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3445 -> a
    8727:8733:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):3441:3447 -> a
    8734:8737:void applyMinimumKeepInfoDependentOn(com.android.tools.r8.shaking.EnqueuerEvent):3483:3486 -> a
    8738:8751:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3652:3665 -> a
    8752:8752:com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$R8CfInstructionDesugaringEventConsumer com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer.createForR8(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,java.util.function.BiConsumer):74:74 -> a
    8752:8752:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3666 -> a
    8753:8773:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3681:3701 -> a
    8774:8774:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2985:2985 -> a
    8774:8774:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3703 -> a
    8775:8775:boolean isMethodLive(com.android.tools.r8.graph.DexEncodedMethod):2981:2981 -> a
    8775:8775:boolean isMethodLive(com.android.tools.r8.graph.ProgramMethod):2985 -> a
    8775:8775:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3703 -> a
    8776:8784:void desugar(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3704:3712 -> a
    8785:8785:void lambda$desugar$99(com.android.tools.r8.ir.desugar.ProgramAdditions,com.android.tools.r8.graph.ProgramMethod):3684:3684 -> a
    8786:8786:void lambda$desugar$100(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions,com.android.tools.r8.ir.desugar.CfInstructionDesugaringEventConsumer$R8CfInstructionDesugaringEventConsumer,com.android.tools.r8.graph.ProgramMethod):3691:3691 -> a
    8787:8789:void recordLambdaSynthesizingContext(com.android.tools.r8.ir.desugar.LambdaClass,com.android.tools.r8.graph.ProgramMethod):3716:3718 -> a
    8790:8792:void recordConstantDynamicSynthesizingContext(com.android.tools.r8.ir.desugar.constantdynamic.ConstantDynamicClass,com.android.tools.r8.graph.ProgramMethod):3723:3725 -> a
    8793:8870:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3765:3842 -> a
    8871:8873:java.util.Set toDescriptorSet(java.util.Set):3986:3988 -> a
    8871:8873:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3842 -> a
    8874:8879:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3842:3847 -> a
    8880:8882:java.util.Set toDescriptorSet(java.util.Set):3986:3988 -> a
    8880:8882:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3847 -> a
    8883:8897:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3847:3861 -> a
    8898:8903:com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap joinIdentifierNameStrings(java.util.Set,java.util.Set):3995:4000 -> a
    8898:8903:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3868 -> a
    8904:8913:com.android.tools.r8.shaking.EnqueuerResult createEnqueuerResult(com.android.tools.r8.graph.AppInfoWithClassHierarchy):3869:3878 -> a
    8914:8914:void lambda$createEnqueuerResult$101(java.util.Set,com.android.tools.r8.graph.DexProgramClass):3768:3768 -> a
    8915:8915:boolean lambda$createEnqueuerResult$102(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldAccessInfoImpl):3774:3774 -> a
    8916:8916:void lambda$createEnqueuerResult$103(com.android.tools.r8.graph.ClasspathOrLibraryClass):3798:3798 -> a
    8917:8921:void addLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,boolean,java.util.function.BiConsumer):701:705 -> a
    8917:8921:void lambda$createEnqueuerResult$103(com.android.tools.r8.graph.ClasspathOrLibraryClass):3798 -> a
    8922:8922:void amendKeepInfoWithCompanionMethods():3888:3888 -> a
    8923:8924:void forEachCompanionMethod(java.util.function.BiConsumer):3882:3883 -> a
    8923:8924:void amendKeepInfoWithCompanionMethods():3888 -> a
    8925:8927:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3890:3892 -> a
    8928:8928:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):109:109 -> a
    8928:8928:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3892 -> a
    8929:8929:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.keepInfoForNonProgramMethod():55:55 -> a
    8929:8929:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):111 -> a
    8929:8929:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3892 -> a
    8930:8931:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):113:114 -> a
    8930:8931:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3892 -> a
    8932:8935:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3892:3895 -> a
    8936:8936:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    8936:8936:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3895 -> a
    8937:8937:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    8937:8937:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3895 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8938:8941:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3896:3899 -> a
    8942:8942:void lambda$amendKeepInfoWithCompanionMethods$105(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3898:3898 -> a
    8943:8953:java.util.Set amendWithCompanionMethods(java.util.Set):3904:3914 -> a
    8954:8955:void lambda$amendWithCompanionMethods$106(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):3910:3911 -> a
    8956:8964:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3932:3940 -> a
    8965:8965:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16858,"2":16859,"3":16860,"4":16861,"5":16862}}
    16858:16858:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3940:3940 -> a
    16859:16859:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3940:3940 -> a
    16860:16860:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3940:3940 -> a
    16861:16861:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3940:3940 -> a
    16862:16862:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3940:3940 -> a
    12905:12908:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3940:3943 -> a
    12909:12909:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":16865,"2":16866,"3":16867,"4":16868,"5":16869}}
    16865:16865:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3943:3943 -> a
    16866:16866:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3943:3943 -> a
    16867:16867:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3943:3943 -> a
    16868:16868:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3943:3943 -> a
    16869:16869:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3943:3943 -> a
    16852:16857:boolean verifyReferencedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3943:3948 -> a
    16870:16870:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4006:4006 -> a
    16871:16873:long getNumberOfLiveItems():4153:4155 -> a
    16871:16873:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4009 -> a
    16874:16874:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4010:4010 -> a
    16875:16875:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16875:16875:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4010 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16876:16876:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16876:16876:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4010 -> a
    16877:16877:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4011:4011 -> a
    16878:16878:com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction com.android.tools.r8.shaking.EnqueuerWorklist.poll():338:338 -> a
    16878:16878:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4011 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16879:16879:com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction com.android.tools.r8.shaking.EnqueuerWorklist.poll():338:338 -> a
    16879:16879:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4011 -> a
    16880:16880:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4012:4012 -> a
    16881:16883:long getNumberOfLiveItems():4153:4155 -> a
    16881:16883:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4016 -> a
    16884:16892:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4020:4028 -> a
    16893:16893:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSetBuilder com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.Enqueuer):2094:2094 -> a
    16893:16893:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4029 -> a
    16894:16903:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4030:4039 -> a
    16904:16906:long getNumberOfLiveItems():4153:4155 -> a
    16904:16906:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4039 -> a
    16907:16908:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4039:4040 -> a
    16909:16909:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16909:16909:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4040 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16910:16910:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16910:16910:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4040 -> a
    16911:16915:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4047:4051 -> a
    16916:16916:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16916:16916:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4051 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16917:16917:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16917:16917:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4051 -> a
    16918:16919:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4057:4058 -> a
    16920:16920:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16920:16920:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4058 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16921:16921:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16921:16921:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4058 -> a
    16922:16938:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4063:4079 -> a
    16939:16939:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16939:16939:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4079 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16940:16940:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> a
    16940:16940:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4079 -> a
    16941:16956:void trace(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):4087:4102 -> a
    16957:16957:java.util.Set lambda$trace$107(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):4025:4025 -> a
    16958:16958:void lambda$trace$108(com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):4057:4057 -> a
    16959:16959:void lambda$postProcessingDesugaring$109(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):4117:4117 -> a
    16960:16960:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    16960:16960:void lambda$postProcessingDesugaring$109(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):4121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16961:16964:void lambda$postProcessingDesugaring$109(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):4121:4124 -> a
    16965:16965:void com.android.tools.r8.shaking.MissingClasses$Builder.addNewMissingClassWithDesugarDiagnostic(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,com.android.tools.r8.errors.DesugarDiagnostic):93:93 -> a
    16965:16965:void lambda$postProcessingDesugaring$109(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):4117 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16966:16972:void addConsequentRootSet(com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet):4163:4169 -> a
    16973:16975:void lambda$addConsequentRootSet$111(com.android.tools.r8.graph.DexType,java.util.Set):4171:4173 -> a
    16976:16980:void compatEnqueueHolderIfDependentNonStaticMember(com.android.tools.r8.graph.DexProgramClass,java.util.Set):932:936 -> a
    16976:16980:void lambda$addConsequentRootSet$111(com.android.tools.r8.graph.DexType,java.util.Set):4174 -> a
    16981:16988:void identifySyntheticInterfaceMethodBridges(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction):4195:4202 -> a
    16989:16992:void identifySyntheticInterfaceMethodBridges(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction):4201:4204 -> a
    16993:16993:void identifySyntheticInterfaceMethodBridges(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction):4203:4203 -> a
    16994:17001:void retainAnnotationForFinalTreeShaking(java.util.List):4223:4230 -> a
    17002:17002:void retainAnnotationForFinalTreeShaking(java.util.List):4227:4227 -> a
    17003:17006:void markFieldAsKept(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):4262:4265 -> a
    17007:17013:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4337:4343 -> a
    17014:17014:com.android.tools.r8.shaking.Enqueuer$Mode getMode():515:515 -> a
    17014:17014:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4397 -> a
    17014:17014:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4346 -> a
    17015:17015:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4397:4397 -> a
    17015:17015:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4346 -> a
    17016:17016:boolean addToPendingDesugaring(com.android.tools.r8.graph.ProgramMethod):3627:3627 -> a
    17016:17016:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4398 -> a
    17016:17016:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4346 -> a
    17017:17019:boolean mustMoveToInterfaceCompanionMethod(com.android.tools.r8.graph.ProgramMethod):3621:3623 -> a
    17017:17019:boolean addToPendingDesugaring(com.android.tools.r8.graph.ProgramMethod):3628 -> a
    17017:17019:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4398 -> a
    17017:17019:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4346 -> a
    17020:17035:boolean addToPendingDesugaring(com.android.tools.r8.graph.ProgramMethod):3630:3645 -> a
    17020:17035:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4398 -> a
    17020:17035:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4346 -> a
    17036:17036:void traceNonDesugaredCode(com.android.tools.r8.graph.ProgramMethod):4403:4403 -> a
    17036:17036:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4346 -> a
    17037:17041:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4348:4352 -> a
    17042:17042:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    17042:17042:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4352 -> a
    17043:17043:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedViaSuperFrom(com.android.tools.r8.graph.ProgramMethod):42:42 -> a
    17043:17043:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4354 -> a
    17044:17044:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4354:4354 -> a
    17045:17045:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedViaSuperFrom(com.android.tools.r8.graph.ProgramMethod):42:42 -> a
    17045:17045:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4355 -> a
    17046:17051:void markMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):4355:4360 -> a
    17052:17052:void lambda$markMethodAsLive$112(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):4360:4360 -> a
    17053:17053:void lambda$markMethodAsTargeted$113(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):4380:4380 -> a
    17054:17054:void lambda$traceMethodDefinitionExcludingCode$114(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexAnnotation):4390:4390 -> a
    17055:17055:void lambda$traceCode$115(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry,com.android.tools.r8.graph.analysis.EnqueuerAnalysis):4411:4411 -> a
    17056:17056:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4437:4437 -> a
    17057:17072:boolean addCompatInstantiatedClass(com.android.tools.r8.graph.DexProgramClass):4461:4476 -> a
    17057:17072:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4439 -> a
    17073:17073:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4443:4443 -> a
    17074:17074:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    17074:17074:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4444 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17075:17075:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    17075:17075:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4444 -> a
    17076:17080:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4445:4449 -> a
    17081:17081:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    17081:17081:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():794 -> a
    17081:17081:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4450 -> a
    17082:17086:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4451:4455 -> a
    17087:17087:void markClassAsInstantiatedWithCompatRule(com.android.tools.r8.graph.DexProgramClass,java.util.function.Supplier):4452:4452 -> a
    17088:17094:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4494:4500 -> a
    17095:17102:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4604:4611 -> a
    17095:17102:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17103:17105:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4610:4612 -> a
    17103:17105:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17106:17106:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):792:792 -> a
    17106:17106:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4618 -> a
    17106:17106:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17107:17107:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4622:4622 -> a
    17107:17107:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17108:17108:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17108:17108:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4624 -> a
    17108:17108:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17109:17109:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4427:4427 -> a
    17109:17109:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4625 -> a
    17109:17109:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17110:17110:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    17110:17110:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():794 -> a
    17110:17110:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4428 -> a
    17110:17110:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4625 -> a
    17110:17110:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17111:17113:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4429:4431 -> a
    17111:17113:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4625 -> a
    17111:17113:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17114:17114:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4430:4430 -> a
    17114:17114:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4625 -> a
    17114:17114:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17115:17118:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4626:4629 -> a
    17115:17118:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17119:17119:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    17119:17119:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    17119:17119:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4628 -> a
    17119:17119:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17120:17120:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    17120:17120:void handleJavaLangClassNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4628 -> a
    17120:17120:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4501 -> a
    17121:17121:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4504:4504 -> a
    17122:17143:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4636:4657 -> a
    17122:17143:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17144:17146:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4656:4658 -> a
    17144:17146:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17147:17147:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):792:792 -> a
    17147:17147:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4664 -> a
    17147:17147:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17148:17149:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4668:4669 -> a
    17148:17149:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17150:17150:boolean com.android.tools.r8.ir.code.Instruction.isNewArrayEmpty():0:0 -> a
    17150:17150:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4669 -> a
    17150:17150:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17151:17199:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4674:4722 -> a
    17151:17199:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17200:17200:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17200:17200:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4727 -> a
    17200:17200:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17201:17201:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4427:4427 -> a
    17201:17201:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4728 -> a
    17201:17201:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17202:17202:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    17202:17202:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():794 -> a
    17202:17202:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4428 -> a
    17202:17202:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4728 -> a
    17202:17202:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17203:17205:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4429:4431 -> a
    17203:17205:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4728 -> a
    17203:17205:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17206:17206:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4430:4430 -> a
    17206:17206:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4728 -> a
    17206:17206:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17207:17210:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4729:4732 -> a
    17207:17210:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17211:17211:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    17211:17211:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    17211:17211:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4731 -> a
    17211:17211:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17212:17212:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    17212:17212:void handleJavaLangReflectConstructorNewInstance(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4731 -> a
    17212:17212:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4505 -> a
    17213:17213:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4508:4508 -> a
    17214:17217:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4809:4812 -> a
    17214:17217:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4509 -> a
    17218:17218:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> a
    17218:17218:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4813 -> a
    17218:17218:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4509 -> a
    17219:17219:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):50:50 -> a
    17219:17219:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> a
    17219:17219:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4813 -> a
    17219:17219:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4509 -> a
    17220:17220:void handleJavaLangEnumValueOf(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4813:4813 -> a
    17220:17220:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4509 -> a
    17221:17225:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4512:4516 -> a
    17226:17226:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2208:2208 -> a
    17226:17226:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4516 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    17227:17227:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2208:2208 -> a
    17227:17227:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4516 -> a
    17228:17234:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4819:4825 -> a
    17228:17234:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17235:17235:boolean com.android.tools.r8.ir.code.Instruction.isConstClass():0:0 -> a
    17235:17235:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4825 -> a
    17235:17235:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17236:17240:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4826:4830 -> a
    17236:17240:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17241:17241:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":17330,"2":17331,"3":17332}}
    17330:17330:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4830:4830 -> a
    17330:17330:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17331:17331:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4830:4830 -> a
    17331:17331:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17332:17332:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4830:4830 -> a
    17332:17332:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17242:17242:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":17335,"2":17336,"3":17337}}
    17335:17335:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4833:4833 -> a
    17335:17335:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17336:17336:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4833:4833 -> a
    17336:17336:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17337:17337:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4833:4833 -> a
    17337:17337:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17243:17245:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4835:4837 -> a
    17243:17245:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17246:17246:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4830:4830 -> a
    17246:17246:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17247:17247:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17247:17247:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4842 -> a
    17247:17247:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17248:17248:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4842:4842 -> a
    17248:17248:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17249:17249:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17249:17249:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4844 -> a
    17249:17249:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17250:17251:void handleServiceLoaderInvocation(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.InvokeMethod):4845:4846 -> a
    17250:17251:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4517 -> a
    17252:17261:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4520:4529 -> a
    17262:17262:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    17262:17262:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4529 -> a
    17263:17267:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4530:4534 -> a
    17268:17268:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):792:792 -> a
    17268:17268:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4534 -> a
    17269:17269:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17269:17269:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4538 -> a
    17270:17270:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4538:4538 -> a
    17271:17271:boolean com.android.tools.r8.graph.DexClass.canBeInstantiatedByNewInstance():660:660 -> a
    17271:17271:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4539 -> a
    17272:17272:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    17272:17272:boolean com.android.tools.r8.graph.DexClass.canBeInstantiatedByNewInstance():660 -> a
    17272:17272:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4539 -> a
    17273:17273:boolean com.android.tools.r8.graph.DexClass.canBeInstantiatedByNewInstance():660:660 -> a
    17273:17273:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4539 -> a
    17274:17287:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4539:4552 -> a
    17288:17288:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):792:792 -> a
    17288:17288:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4552 -> a
    17289:17302:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4556:4569 -> a
    17303:17303:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17303:17303:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4570 -> a
    17304:17309:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4569:4574 -> a
    17310:17310:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17310:17310:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4576 -> a
    17311:17316:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4576:4581 -> a
    17317:17317:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):792:792 -> a
    17317:17317:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4582 -> a
    17318:17318:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4586:4586 -> a
    17319:17319:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
    17319:17319:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4590 -> a
    17320:17327:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4591:4598 -> a
    17328:17328:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    17328:17328:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    17328:17328:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4597 -> a
    17329:17329:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    17329:17329:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.ir.code.Instruction):4597 -> a
    17338:17338:void lambda$handleReflectiveBehavior$118(com.android.tools.r8.shaking.KeepFieldInfo$Joiner):4575:4575 -> a
    17339:17339:void lambda$handleJavaLangReflectProxyNewProxyInstance$119(com.android.tools.r8.shaking.KeepClassInfo$Joiner):4779:4779 -> a
    17340:17342:void lambda$handleJavaLangReflectProxyNewProxyInstance$121(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.ProgramMethod):4787:4789 -> a
    17343:17343:void lambda$handleJavaLangReflectProxyNewProxyInstance$120(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):4788:4788 -> a
    17344:17354:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4853:4863 -> a
    17355:17355:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4427:4427 -> a
    17355:17355:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4868 -> a
    17356:17356:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    17356:17356:boolean com.android.tools.r8.graph.DexClass.hasDefaultInitializer():794 -> a
    17356:17356:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4428 -> a
    17356:17356:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4868 -> a
    17357:17359:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4429:4431 -> a
    17357:17359:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4868 -> a
    17360:17360:void markClassAsInstantiatedWithReason(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):4430:4430 -> a
    17360:17360:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4868 -> a
    17361:17364:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4870:4873 -> a
    17365:17365:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    17365:17365:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    17365:17365:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4872 -> a
    17366:17366:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    17366:17366:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4872 -> a
    17367:17370:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4876:4879 -> a
    17371:17371:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4878:4878 -> a
    17372:17372:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.DexEncodedMethod.asProgramMethodOrNull(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass):413:413 -> a
    17372:17372:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4878 -> a
    17373:17373:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4883:4883 -> a
    17374:17374:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent com.android.tools.r8.shaking.EnqueuerEvent.unconditional():16:16 -> a
    17374:17374:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433 -> a
    17374:17374:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4882 -> a
    17375:17375:void applyMinimumKeepInfoWhenLiveOrTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3433:3433 -> a
    17375:17375:void handleServiceInstantiation(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4882 -> a
    17376:17385:com.android.tools.r8.utils.collections.DexMethodSignatureSet getServiceMethods(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):4890:4899 -> a
    com.android.tools.r8.graph.DexApplication lambda$synthesize$97(com.android.tools.r8.graph.DexApplication) -> b
    1:1:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.targetedBySuperFrom(com.android.tools.r8.graph.ProgramMethod):79:79 -> b
    1:1:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3189 -> b
    2:10:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3190:3198 -> b
    11:36:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3196:3221 -> b
    37:37:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    37:37:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3220 -> b
    38:41:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3223:3226 -> b
    42:42:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedViaSuperFrom(com.android.tools.r8.graph.ProgramMethod) -> b
    42:42:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3227 -> b
    43:44:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3227:3228 -> b
    45:45:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedViaSuperFrom(com.android.tools.r8.graph.ProgramMethod):42:42 -> b
    45:45:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3229 -> b
    46:46:void markSuperMethodAsReachable(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):3229:3229 -> b
    47:47:com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection access$1100(com.android.tools.r8.shaking.Enqueuer):193:193 -> b
    48:48:void access$700(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):193:193 -> b
    49:49:com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo():511:511 -> b
    50:50:com.android.tools.r8.shaking.Enqueuer registerAnalysis(com.android.tools.r8.graph.analysis.EnqueuerAnalysis):535:535 -> b
    51:51:com.android.tools.r8.shaking.Enqueuer registerExceptionGuardAnalysis(com.android.tools.r8.graph.analysis.EnqueuerExceptionGuardAnalysis):560:560 -> b
    52:53:void setInitialDeadProtoTypes(java.util.Set):569:570 -> b
    54:54:void recordTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):612:612 -> b
    55:55:com.android.tools.r8.shaking.KeepClassInfo getKeepInfo(com.android.tools.r8.graph.DexProgramClass):693:693 -> b
    56:56:com.android.tools.r8.graph.DexClass getClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):786:786 -> b
    57:62:com.android.tools.r8.graph.DexClass internalDefinitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):679:684 -> b
    57:62:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext,java.util.function.BiConsumer,java.util.function.BiConsumer):671 -> b
    57:62:com.android.tools.r8.graph.DexClass getClassOrNullFromReflectiveAccess(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):786 -> b
    63:63:boolean registerFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):955:955 -> b
    63:63:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1602 -> b
    64:64:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1606:1606 -> b
    65:65:void com.android.tools.r8.graph.FieldResolutionResult.visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer):120:120 -> b
    65:65:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1607 -> b
    66:66:boolean registerReflectiveFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):959:959 -> b
    67:68:void traceCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):1084:1085 -> b
    69:69:void lambda$traceExceptionGuard$13(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerExceptionGuardAnalysis):1271:1271 -> b
    70:75:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1330:1335 -> b
    76:76:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    76:76:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1335 -> b
    77:78:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1337:1338 -> b
    79:79:void lambda$traceInvokeInterface$18(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1338:1338 -> b
    80:80:void lambda$traceNewInstance$22(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1429:1429 -> b
    81:81:void lambda$traceInstanceFieldWrite$26(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):1553:1553 -> b
    82:94:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1609:1621 -> b
    95:95:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1620:1620 -> b
    96:96:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1754,"2":1755,"3":1756}}
    1754:1754:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1620:1620 -> b
    1755:1755:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1620:1620 -> b
    1756:1756:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1620:1620 -> b
    1719:1728:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1623:1632 -> b
    1729:1729:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> b
    1729:1729:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1632 -> b
    1730:1735:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1636:1641 -> b
    1736:1742:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1637:1643 -> b
    1743:1743:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexProgramClass):586:586 -> b
    1743:1743:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1643 -> b
    1744:1748:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1647:1651 -> b
    1749:1751:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1804:1806 -> b
    1749:1751:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1651 -> b
    1752:1752:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.fieldReferencedIn(com.android.tools.r8.graph.ProgramMethod):62:62 -> b
    1752:1752:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):2822 -> b
    1752:1752:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1654 -> b
    1753:1753:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):2822:2822 -> b
    1753:1753:void lambda$traceStaticFieldRead$31(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1654 -> b
    1757:1757:java.lang.Boolean lambda$traceStaticFieldWrite$35(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.ir.analysis.proto.GeneratedExtensionRegistryShrinker):1716:1716 -> b
    1758:1758:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$ensureMethodsContinueToWidenAccess$45(com.android.tools.r8.graph.DexType):1970:1970 -> b
    1759:1759:void lambda$ensureMethodsContinueToWidenAccess$47(com.android.tools.r8.shaking.KeepReason,com.android.tools.r8.graph.ProgramMethod):1981:1981 -> b
    1760:1794:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1986:2020 -> b
    1795:1795:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> b
    1795:1795:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):2022 -> b
    1796:1796:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):2023:2023 -> b
    1797:1797:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> b
    1797:1797:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):2026 -> b
    1798:1798:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):2024:2024 -> b
    1799:1799:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> b
    1799:1799:void markInterfaceTypeAsLiveViaInheritanceClause(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1994 -> b
    1800:1803:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2121:2124 -> b
    1804:1810:com.android.tools.r8.graph.MethodResolutionResult$SingleResolutionResult resolveMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2123:2129 -> b
    1811:1813:void recordNonProgramClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2389:2391 -> b
    1814:1818:void addLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,boolean,java.util.function.BiConsumer):701:705 -> b
    1814:1818:void recordNonProgramClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2390 -> b
    1819:1819:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2511:2511 -> b
    1820:1820:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    1820:1820:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2511 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1821:1821:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    1821:1821:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2511 -> b
    1822:1827:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2511:2516 -> b
    1828:1829:void transitionDependentItemsForInstantiatedInterface(com.android.tools.r8.graph.DexProgramClass):2764:2765 -> b
    1828:1829:void markInterfaceAsInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):2517 -> b
    1830:1832:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2857:2859 -> b
    1833:1833:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2858:2858 -> b
    1834:1835:boolean com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.isInstantiatedDirectlyOrHasInstantiatedSubtype(com.android.tools.r8.graph.DexProgramClass):98:99 -> b
    1834:1835:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2858 -> b
    1836:1842:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2860:2866 -> b
    1843:1843:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2878:2878 -> b
    1843:1843:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1844:1844:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> b
    1844:1844:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2878 -> b
    1844:1844:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1845:1845:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2879:2879 -> b
    1845:1845:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1846:1846:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2043:2043 -> b
    1846:1846:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> b
    1846:1846:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1847:1847:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> b
    1847:1847:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2044 -> b
    1847:1847:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> b
    1847:1847:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1848:1848:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049:2049 -> b
    1848:1848:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> b
    1848:1848:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> b
    1848:1848:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1849:1850:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2054:2055 -> b
    1849:1850:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049 -> b
    1849:1850:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> b
    1849:1850:void traceFieldDefinition(com.android.tools.r8.graph.ProgramField):2880 -> b
    1849:1850:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2872 -> b
    1851:1851:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2874:2874 -> b
    1852:1852:void markFieldAsReachable(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2868:2868 -> b
    1853:1854:void traceFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):2887:2888 -> b
    1853:1854:void lambda$traceInstanceFieldWrite$28(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1587 -> b
    1855:1855:void lambda$traceInstanceFieldWrite$28(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1588:1588 -> b
    1856:1856:boolean isFieldReferenced(com.android.tools.r8.graph.DexEncodedField):2914:2914 -> b
    1857:1857:boolean isFieldLive(com.android.tools.r8.graph.ProgramField):2923:2923 -> b
    1858:1858:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2989:2989 -> b
    1859:1859:boolean lambda$markVirtualMethodAsReachable$74(com.android.tools.r8.graph.DexDefinition):3111:3111 -> b
    1860:1860:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160:160 -> b
    1860:1860:boolean lambda$markVirtualMethodAsReachable$74(com.android.tools.r8.graph.DexDefinition):3111 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1861:1861:boolean com.android.tools.r8.shaking.KeepInfoCollection.isPinned(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160:160 -> b
    1861:1861:boolean lambda$markVirtualMethodAsReachable$74(com.android.tools.r8.graph.DexDefinition):3111 -> b
    1862:1866:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3163:3167 -> b
    1862:1866:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175 -> b
    1867:1867:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1884,"2":1885,"3":1886}}
    1884:1884:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3167:3167 -> b
    1884:1884:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175 -> b
    1885:1885:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3167:3167 -> b
    1885:1885:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175 -> b
    1886:1886:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3167:3167 -> b
    1886:1886:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175 -> b
    1868:1868:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3167:3167 -> b
    1868:1868:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175 -> b
    1869:1874:com.android.tools.r8.graph.DexMethod generatedEnumValuesMethod(com.android.tools.r8.graph.DexClass):3166:3171 -> b
    1869:1874:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175 -> b
    1875:1880:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3175:3180 -> b
    1881:1881:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354:2354 -> b
    1881:1881:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3183 -> b
    1882:1882:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():619:619 -> b
    1882:1882:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2354 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1882:1882:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3183 -> b
    1883:1883:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):2355:2355 -> b
    1883:1883:void markEnumValuesAsReachable(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):3183 -> b
    1887:1887:void lambda$markEnumValuesAsReachable$81(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3182:3182 -> b
    1888:1898:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3238:3248 -> b
    1899:1899:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isInitialMainDexTracing():216:216 -> b
    1899:1899:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3248 -> b
    1900:1903:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3249:3252 -> b
    1904:1904:boolean com.android.tools.r8.shaking.Enqueuer$Mode.isGenerateMainDexList():224:224 -> b
    1904:1904:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3252 -> b
    1905:1909:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3251:3255 -> b
    1910:1910:com.android.tools.r8.shaking.MainDexInfo com.android.tools.r8.shaking.MainDexInfo$Builder.build(com.android.tools.r8.shaking.MainDexInfo):406:406 -> b
    1910:1910:com.android.tools.r8.shaking.MainDexInfo traceMainDex(java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):3256 -> b
    1911:1911:void lambda$applyMinimumKeepInfoWhenLive$89(com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3340:3340 -> b
    1912:1912:void lambda$applyMinimumKeepInfoWhenLive$91(com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3389:3389 -> b
    1913:1913:void lambda$applyMinimumKeepInfoWhenLiveOrTargeted$93(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3441:3441 -> b
    1914:1914:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3454:3454 -> b
    1915:1915:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> b
    1915:1915:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3455 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1916:1916:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> b
    1916:1916:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3455 -> b
    1917:1917:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3456:3456 -> b
    1918:1920:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):902:904 -> b
    1918:1920:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3457 -> b
    1921:1921:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> b
    1921:1921:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):907 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1921:1921:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3457 -> b
    1922:1922:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):907:907 -> b
    1922:1922:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3457 -> b
    1923:1923:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):906:906 -> b
    1923:1923:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3457 -> b
    1924:1924:void enqueueMethodDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):904:904 -> b
    1924:1924:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3457 -> b
    1925:1925:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3459:3459 -> b
    1926:1926:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> b
    1926:1926:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3460 -> b
    1927:1928:void enqueueHolderWithDependentInstanceConstructor(com.android.tools.r8.graph.ProgramMethod,java.util.Set):2036:2037 -> b
    1927:1928:void enqueueMethodIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3460 -> b
    1929:1929:void lambda$applyMinimumKeepInfoDependentOn$94(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3489:3489 -> b
    1930:1930:void lambda$applyMinimumKeepInfoDependentOn$95(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3491:3491 -> b
    1931:1933:void recordTwrCloseResourceMethodSynthesizingContext(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):3730:3732 -> b
    1934:1938:void handleReflectiveBehavior(com.android.tools.r8.graph.ProgramMethod):4485:4489 -> b
    1939:1939:void lambda$handleReflectiveBehavior$117(com.android.tools.r8.shaking.KeepClassInfo$Joiner):4548:4548 -> b
    1:1:com.android.tools.r8.graph.FieldAccessInfoCollectionImpl access$1800(com.android.tools.r8.shaking.Enqueuer):193:193 -> c
    2:2:com.android.tools.r8.shaking.Enqueuer registerInstanceOfAnalysis(com.android.tools.r8.graph.analysis.EnqueuerInstanceOfAnalysis):550:550 -> c
    3:4:void setInitialPrunedTypes(java.util.Set):574:575 -> c
    5:6:com.android.tools.r8.graph.DexProgramClass getProgramClassOrNull(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):775:776 -> c
    7:7:boolean registerFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):963:963 -> c
    7:7:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1678 -> c
    8:8:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1682:1682 -> c
    9:9:void com.android.tools.r8.graph.FieldResolutionResult.visitFieldResolutionResults(java.util.function.Consumer,java.util.function.Consumer):120:120 -> c
    9:9:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean):1683 -> c
    10:10:boolean registerReflectiveFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):967:967 -> c
    11:11:void lambda$traceInstanceOf$12(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInstanceOfAnalysis):1266:1266 -> c
    12:12:void traceExceptionGuard(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1271:1271 -> c
    13:13:void traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1262:1262 -> c
    13:13:void traceExceptionGuard(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1272 -> c
    14:20:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1276:1282 -> c
    21:21:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> c
    21:21:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1286 -> c
    22:22:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):50:50 -> c
    22:22:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> c
    22:22:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1286 -> c
    23:23:void traceInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1286:1286 -> c
    24:25:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1351:1352 -> c
    26:26:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1628:1628 -> c
    26:26:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1352 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:boolean com.android.tools.r8.graph.DexItemFactory$ClassMethods.isReflectiveClassLookup(com.android.tools.r8.graph.DexMethod):1628:1628 -> c
    27:27:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1352 -> c
    28:40:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1352:1364 -> c
    41:41:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2208:2208 -> c
    41:41:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1364 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:boolean com.android.tools.r8.graph.DexItemFactory$ServiceLoaderMethods.isLoadMethod(com.android.tools.r8.graph.DexMethod):2208:2208 -> c
    42:42:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1364 -> c
    43:53:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1365:1375 -> c
    54:54:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> c
    54:54:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1375 -> c
    55:70:void handleInvokeOfStaticTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):2150:2165 -> c
    55:70:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1377 -> c
    71:71:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1378:1378 -> c
    72:72:void lambda$traceInvokeStatic$19(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1378:1378 -> c
    73:73:void lambda$traceStaticFieldRead$29(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):1611:1611 -> c
    74:86:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1685:1697 -> c
    87:87:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1696:1696 -> c
    88:88:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1824,"2":1825,"3":1826}}
    1824:1824:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1696:1696 -> c
    1825:1825:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1696:1696 -> c
    1826:1826:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1696:1696 -> c
    1787:1796:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1699:1708 -> c
    1797:1797:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> c
    1797:1797:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1708 -> c
    1798:1805:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1711:1718 -> c
    1806:1812:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1714:1720 -> c
    1813:1813:void addDeadProtoTypeCandidate(com.android.tools.r8.graph.DexProgramClass):586:586 -> c
    1813:1813:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1720 -> c
    1814:1818:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1725:1729 -> c
    1819:1821:void markTypeAsLive(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDefinition):1804:1806 -> c
    1819:1821:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1729 -> c
    1822:1822:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.fieldReferencedIn(com.android.tools.r8.graph.ProgramMethod):62:62 -> c
    1822:1822:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):2822 -> c
    1822:1822:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1732 -> c
    1823:1823:void markFieldAsLive(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramMethod):2822:2822 -> c
    1823:1823:void lambda$traceStaticFieldWrite$36(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,boolean,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult):1732 -> c
    1827:1831:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):1815:1819 -> c
    1832:1834:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):1818:1820 -> c
    1835:1835:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):1816:1816 -> c
    1836:1836:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$38(com.android.tools.r8.graph.DexType):1819:1819 -> c
    1837:1839:void recordNonProgramClassWithNoMissingReporting(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2400:2402 -> c
    1840:1844:void addLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,boolean,java.util.function.BiConsumer):701:705 -> c
    1840:1844:void recordNonProgramClassWithNoMissingReporting(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):2401 -> c
    1845:1851:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2424:2424 -> c
    1852:1852:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4302,"2":4303,"3":4304}}
    4302:4302:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2424:2424 -> c
    4303:4303:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2424:2424 -> c
    4304:4304:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2424:2424 -> c
    1853:1853:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4310,"2":4311,"3":4312,"4":4313}}
    4310:4310:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2430:2430 -> c
    4311:4311:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2430:2430 -> c
    4312:4312:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2430:2430 -> c
    4313:4313:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2430:2430 -> c
    4283:4296:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2430:2443 -> c
    4297:4297:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> c
    4297:4297:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2443 -> c
    4298:4298:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> c
    4298:4298:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> c
    4298:4298:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2443 -> c
    4299:4301:void reportMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):2444:2446 -> c
    4314:4315:void traceFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):2887:2888 -> c
    4314:4315:void lambda$traceStaticFieldRead$33(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1658 -> c
    4316:4318:void lambda$traceStaticFieldRead$33(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1659:1661 -> c
    4319:4327:void markDirectStaticOrConstructorMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2892:2900 -> c
    4328:4330:boolean verifyMethodIsTargeted(com.android.tools.r8.graph.ProgramMethod):1760:1762 -> c
    4328:4330:void markDirectStaticOrConstructorMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2900 -> c
    4331:4331:void markDirectStaticOrConstructorMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2901:2901 -> c
    4332:4333:boolean isFieldRead(com.android.tools.r8.graph.ProgramField):2931:2932 -> c
    4334:4334:boolean isMethodTargeted(com.android.tools.r8.graph.ProgramMethod):2993:2993 -> c
    4335:4335:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2989:2989 -> c
    4335:4335:boolean isMethodTargeted(com.android.tools.r8.graph.ProgramMethod):2993 -> c
    4336:4336:boolean isTypeLive(com.android.tools.r8.graph.DexProgramClass):3003:3003 -> c
    4337:4337:com.android.tools.r8.utils.collections.ProgramMethodSet lambda$markSuperMethodAsReachable$83(com.android.tools.r8.graph.DexEncodedMethod):3224:3224 -> c
    4338:4338:void lambda$traceApplication$85(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3291:3291 -> c
    4339:4339:void lambda$traceApplication$86(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3293:3293 -> c
    4340:4340:void lambda$applyMinimumKeepInfoDependentOn$96(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3493:3493 -> c
    4341:4347:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3919:3925 -> c
    4348:4359:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3955:3966 -> c
    4348:4359:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3925 -> c
    4360:4360:boolean isMethodTargeted(com.android.tools.r8.graph.DexEncodedMethod):2989:2989 -> c
    4360:4360:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3967 -> c
    4360:4360:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3925 -> c
    4361:4361:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3968:3968 -> c
    4361:4361:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3925 -> c
    4362:4364:boolean verifyReferencedMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3977:3979 -> c
    4362:4364:boolean verifyReferencedType(com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.WorkList,com.android.tools.r8.graph.DexApplication):3968 -> c
    4362:4364:boolean verifyReferences(com.android.tools.r8.graph.DexApplication):3925 -> c
    4365:4365:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4180:4180 -> c
    4366:4366:com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder com.android.tools.r8.shaking.RootSetUtils$RootSet.builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):2037:2037 -> c
    4366:4366:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4180 -> c
    4367:4368:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4181:4182 -> c
    4369:4378:void handleInterfaceMethodSyntheticBridgeAction(com.android.tools.r8.shaking.DelayedRootSetActionItem$InterfaceMethodSyntheticBridgeAction,com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):4210:4219 -> c
    4369:4378:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4183 -> c
    4379:4379:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet computeDelayedInterfaceMethodSyntheticBridges():4187:4187 -> c
    1:1:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> d
    1:1:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1321 -> d
    2:2:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):50:50 -> d
    2:2:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> d
    2:2:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1321 -> d
    3:3:void traceInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1321:1321 -> d
    4:4:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> d
    4:4:com.android.tools.r8.shaking.KeepReason lambda$handleReflectiveBehavior$116(com.android.tools.r8.graph.ProgramMethod):4541 -> d
    5:5:com.android.tools.r8.utils.InternalOptions access$2000(com.android.tools.r8.shaking.Enqueuer):193:193 -> d
    6:10:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory createUseRegistryFactory():523:527 -> d
    11:11:void lambda$traceSafeCheckCast$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerCheckCastAnalysis):1089:1089 -> d
    12:23:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1179:1190 -> d
    24:30:com.android.tools.r8.utils.Visibility computeMinimumRequiredVisibilityForInitClassField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1227:1233 -> d
    24:30:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1190 -> d
    31:35:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1189:1193 -> d
    36:36:boolean com.android.tools.r8.utils.Visibility.isPublic():28:28 -> d
    36:36:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1197 -> d
    37:37:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1202:1202 -> d
    38:42:com.android.tools.r8.utils.Visibility computeMinimumRequiredVisibilityForInitClassField(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1227:1231 -> d
    38:42:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1202 -> d
    43:43:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1205:1205 -> d
    44:44:boolean com.android.tools.r8.utils.Visibility.isPrivate():20:20 -> d
    44:44:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1205 -> d
    45:48:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1205:1208 -> d
    49:49:boolean com.android.tools.r8.utils.Visibility.isProtected():24:24 -> d
    49:49:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1212 -> d
    50:50:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1217:1217 -> d
    51:51:boolean com.android.tools.r8.utils.Visibility.isPackagePrivate():16:16 -> d
    51:51:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1221 -> d
    52:52:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1221:1221 -> d
    53:53:boolean com.android.tools.r8.utils.Visibility.isPackagePrivate():16:16 -> d
    53:53:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1222 -> d
    54:54:void traceInitClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1222:1222 -> d
    55:55:void lambda$traceInvokeSuper$20(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1393:1393 -> d
    56:63:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1406:1413 -> d
    64:76:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1408:1420 -> d
    77:77:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> d
    77:77:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1420 -> d
    78:79:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):1422:1423 -> d
    80:80:void traceInstanceFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1463:1463 -> d
    81:81:void lambda$traceStaticFieldWrite$34(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$SingleFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerFieldAccessAnalysis):1687:1687 -> d
    82:90:void markTypeAsLive(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):1772:1780 -> d
    91:91:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> d
    91:91:void markTypeAsLive(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):1784 -> d
    92:92:com.android.tools.r8.shaking.ScopedDexMethodSet lambda$markTypeAsLive$39(com.android.tools.r8.graph.DexType):1896:1896 -> d
    93:94:void traceFieldReference(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult,com.android.tools.r8.graph.ProgramMethod):2887:2888 -> d
    93:94:void lambda$traceStaticFieldWrite$37(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1736 -> d
    95:95:void lambda$traceStaticFieldWrite$37(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.FieldResolutionResult$FailedOrUnknownFieldResolutionResult):1737:1737 -> d
    96:100:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2942:2946 -> d
    101:101:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> d
    101:101:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2946 -> d
    102:103:boolean isFieldWrittenOutsideDefaultConstructor(com.android.tools.r8.graph.ProgramField):2948:2949 -> d
    104:109:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3364:3369 -> d
    110:110:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> d
    110:110:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3369 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    111:111:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> d
    111:111:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    111:111:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3369 -> d
    112:112:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3371:3371 -> d
    113:113:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> d
    113:113:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3371 -> d
    114:114:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3353:3353 -> d
    114:114:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> d
    115:115:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> d
    115:115:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3354 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    115:115:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> d
    116:116:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> d
    116:116:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3354 -> d
    116:116:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> d
    117:117:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3355:3355 -> d
    117:117:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> d
    118:119:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):858:859 -> d
    118:119:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> d
    118:119:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> d
    120:120:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> d
    120:120:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    120:120:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> d
    120:120:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> d
    121:121:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860:860 -> d
    121:121:void enqueueClassIfShrinkingIsDisallowed(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3356 -> d
    121:121:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner):3372 -> d
    122:127:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3409:3414 -> d
    128:128:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> d
    128:128:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3414 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    129:129:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> d
    129:129:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    129:129:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3414 -> d
    130:130:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3416:3416 -> d
    131:131:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> d
    131:131:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3416 -> d
    132:132:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3400:3400 -> d
    132:132:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> d
    133:133:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> d
    133:133:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3401 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    133:133:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> d
    134:134:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> d
    134:134:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3401 -> d
    134:134:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> d
    135:135:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3402:3402 -> d
    135:135:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> d
    136:138:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):890:892 -> d
    136:138:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> d
    136:138:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> d
    139:139:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> d
    139:139:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    139:139:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> d
    139:139:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> d
    140:140:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):895:895 -> d
    140:140:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> d
    140:140:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> d
    141:141:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):894:894 -> d
    141:141:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> d
    141:141:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> d
    142:142:void enqueueFieldDueToNoShrinkingRule(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):892:892 -> d
    142:142:void enqueueFieldIfShrinkingIsDisallowed(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3403 -> d
    142:142:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):3417 -> d
    143:148:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3469:3474 -> d
    149:149:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> d
    149:149:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3474 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    150:150:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> d
    150:150:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    150:150:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3474 -> d
    151:151:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3477:3477 -> d
    152:152:boolean com.android.tools.r8.shaking.EnqueuerEvent.isUnconditionalKeepInfoEvent():0:0 -> d
    152:152:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3477 -> d
    153:153:void recordDependentMinimumKeepInfo(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3478:3478 -> d
    154:157:java.util.Set lambda$createEnqueuerResult$104(com.android.tools.r8.graph.DexProgramClass):3825:3828 -> d
    158:171:void markMethodAsKept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4237:4250 -> d
    172:173:boolean com.android.tools.r8.graph.ObjectAllocationInfoCollectionImpl.isInstantiatedDirectlyOrHasInstantiatedSubtype(com.android.tools.r8.graph.DexProgramClass):98:99 -> d
    172:173:void markMethodAsKept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4250 -> d
    174:177:void markMethodAsKept(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4253:4256 -> d
    1:1:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> e
    1:1:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1342 -> e
    2:2:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):50:50 -> e
    2:2:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> e
    2:2:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1342 -> e
    3:3:void traceInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1342:1342 -> e
    4:4:com.android.tools.r8.shaking.Enqueuer$Mode access$300(com.android.tools.r8.shaking.Enqueuer):193:193 -> e
    5:5:boolean addTargetedMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):594:594 -> e
    5:5:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4364 -> e
    6:13:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4369:4376 -> e
    14:15:void markMethodAsLiveWithCompatRule(com.android.tools.r8.graph.ProgramMethod):4480:4481 -> e
    14:15:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4377 -> e
    16:16:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness com.android.tools.r8.shaking.GraphReporter.reportCompatKeepMethod(com.android.tools.r8.graph.ProgramMethod):192:192 -> e
    16:16:void markMethodAsLiveWithCompatRule(com.android.tools.r8.graph.ProgramMethod):4481 -> e
    16:16:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4377 -> e
    17:17:void markMethodAsLiveWithCompatRule(com.android.tools.r8.graph.ProgramMethod):4480:4480 -> e
    17:17:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4377 -> e
    18:18:void markMethodAsTargeted(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4380:4380 -> e
    19:19:void recordTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):608:608 -> e
    20:29:void enqueueAllIfNotShrinking():832:841 -> e
    30:30:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> e
    30:30:void enqueueAllIfNotShrinking():841 -> e
    31:31:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> e
    31:31:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> e
    31:31:void enqueueAllIfNotShrinking():841 -> e
    32:33:void enqueueAllIfNotShrinking():841:842 -> e
    34:35:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):858:859 -> e
    34:35:void enqueueAllIfNotShrinking():846 -> e
    36:36:java.util.Set com.android.tools.r8.shaking.KeepInfo$Joiner.getRules():468:468 -> e
    36:36:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:void enqueueAllIfNotShrinking():846 -> e
    37:37:void enqueueClassDueToNoShrinkingRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepClassInfo$Joiner,com.android.tools.r8.shaking.EnqueuerEvent):860:860 -> e
    37:37:void enqueueAllIfNotShrinking():846 -> e
    38:38:void enqueueAllIfNotShrinking():847:847 -> e
    39:39:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> e
    39:39:void enqueueAllIfNotShrinking():847 -> e
    40:40:void enqueueAllIfNotShrinking():849:849 -> e
    41:41:void traceInstanceOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1266:1266 -> e
    42:42:void traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1262:1262 -> e
    42:42:void traceInstanceOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1267 -> e
    43:43:void lambda$traceInvokeVirtual$21(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.analysis.EnqueuerInvokeAnalysis):1423:1423 -> e
    44:44:void traceInstanceFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1467:1467 -> e
    45:45:java.util.Map lambda$processAnnotation$49(com.android.tools.r8.graph.DexType):2071:2071 -> e
    46:46:com.android.tools.r8.utils.collections.ProgramFieldSet lambda$markFieldAsReachable$69(com.android.tools.r8.graph.DexProgramClass):2865:2865 -> e
    47:47:void lambda$markDirectStaticOrConstructorMethodAsLive$71(com.android.tools.r8.graph.ProgramMethod):2896:2896 -> e
    48:50:boolean verifyMethodIsTargeted(com.android.tools.r8.graph.ProgramMethod):1760:1762 -> e
    48:50:void lambda$markDirectStaticOrConstructorMethodAsLive$71(com.android.tools.r8.graph.ProgramMethod):2896 -> e
    51:51:void lambda$markDirectStaticOrConstructorMethodAsLive$71(com.android.tools.r8.graph.ProgramMethod):2897:2897 -> e
    52:52:boolean verifyTypeIsLive(com.android.tools.r8.graph.DexProgramClass):1767:1767 -> e
    52:52:void lambda$markDirectStaticOrConstructorMethodAsLive$71(com.android.tools.r8.graph.ProgramMethod):2897 -> e
    1:1:com.android.tools.r8.shaking.GraphReporter access$400(com.android.tools.r8.shaking.Enqueuer):193:193 -> f
    2:2:com.android.tools.r8.shaking.GraphReporter getGraphReporter():519:519 -> f
    3:3:void recordCompilerSynthesizedTypeReference(com.android.tools.r8.graph.DexType):598:598 -> f
    4:4:void ignoreMissingClass(com.android.tools.r8.graph.DexType):2407:2407 -> f
    4:4:void recordCompilerSynthesizedTypeReference(com.android.tools.r8.graph.DexType):600 -> f
    5:7:void recordCompilerSynthesizedTypeReference(com.android.tools.r8.graph.DexType):601:603 -> f
    8:12:void addLiveNonProgramType(com.android.tools.r8.graph.ClasspathOrLibraryClass,boolean,java.util.function.BiConsumer):701:705 -> f
    8:12:void recordCompilerSynthesizedTypeReference(com.android.tools.r8.graph.DexType):602 -> f
    13:21:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1427:1435 -> f
    22:22:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.instantiatedIn(com.android.tools.r8.graph.ProgramMethod):34:34 -> f
    22:22:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1439 -> f
    23:23:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1452:1452 -> f
    23:23:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1435 -> f
    24:24:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> f
    24:24:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1454 -> f
    24:24:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1435 -> f
    25:28:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1454:1457 -> f
    25:28:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1435 -> f
    29:29:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):1455:1455 -> f
    29:29:void traceNewInstance(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1435 -> f
    30:30:void traceInstanceFieldReadFromRecordMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1471:1471 -> f
    31:41:com.android.tools.r8.graph.DexMethod getInvokeSuperTarget(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1742:1752 -> f
    31:41:void traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1384 -> f
    42:47:void traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1385:1390 -> f
    48:48:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> f
    48:48:void traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1390 -> f
    49:50:void traceInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1392:1393 -> f
    51:51:java.util.Set lambda$markInterfaceTypeAsLiveViaInheritanceClause$48(com.android.tools.r8.graph.DexProgramClass):2017:2017 -> f
    52:52:void lambda$markDirectStaticOrConstructorMethodAsLive$72(com.android.tools.r8.graph.ProgramMethod):2901:2901 -> f
    53:53:boolean verifyTypeIsLive(com.android.tools.r8.graph.DexProgramClass):1767:1767 -> f
    53:53:void lambda$markDirectStaticOrConstructorMethodAsLive$72(com.android.tools.r8.graph.ProgramMethod):2901 -> f
    54:55:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2907:2908 -> f
    56:56:boolean com.android.tools.r8.shaking.KeepReason.isDueToReflectiveUse():0:0 -> f
    56:56:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2909 -> f
    57:60:void markVirtualMethodAsLive(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):2907:2910 -> f
    1:1:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54:54 -> g
    1:1:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1397 -> g
    2:2:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):50:50 -> g
    2:2:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.invokedFrom(com.android.tools.r8.graph.ProgramMethod):54 -> g
    2:2:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1397 -> g
    3:3:void traceInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):1397:1397 -> g
    4:4:com.android.tools.r8.shaking.EnqueuerWorklist access$500(com.android.tools.r8.shaking.Enqueuer):193:193 -> g
    5:5:com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection getKeepInfo():689:689 -> g
    6:7:void traceSafeCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1089:1090 -> g
    8:8:void traceInstanceFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1535:1535 -> g
    9:20:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):2170:2181 -> g
    21:27:boolean markDirectClassInitializerAsLive(com.android.tools.r8.graph.DexProgramClass):2202:2208 -> g
    21:27:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):2185 -> g
    28:31:void markDirectAndIndirectClassInitializersAsLive(com.android.tools.r8.graph.DexProgramClass):2191:2194 -> g
    32:36:void traceCode(com.android.tools.r8.graph.ProgramMethod):4407:4411 -> g
    1:1:com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet access$600(com.android.tools.r8.shaking.Enqueuer):193:193 -> h
    2:2:com.android.tools.r8.shaking.Enqueuer$Mode getMode():515:515 -> h
    3:3:void traceTypeReference(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):1262:1262 -> h
    4:4:void traceInstanceFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1539:1539 -> h
    5:20:void markInterfaceInitializedDirectly(com.android.tools.r8.graph.DexProgramClass):2218:2233 -> h
    21:21:void markReferencedTypesAsLive(com.android.tools.r8.graph.ProgramMethod):4415:4415 -> h
    21:21:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4384 -> h
    22:22:void markTypeAsLive(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):1811:1811 -> h
    22:22:void markReferencedTypesAsLive(com.android.tools.r8.graph.ProgramMethod):4415 -> h
    22:22:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4384 -> h
    23:26:void markParameterAndReturnTypesAsLive(com.android.tools.r8.graph.ProgramMethod):4420:4423 -> h
    23:26:void markReferencedTypesAsLive(com.android.tools.r8.graph.ProgramMethod):4416 -> h
    23:26:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4384 -> h
    27:27:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2043:2043 -> h
    27:27:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4385 -> h
    28:28:com.android.tools.r8.graph.DexAnnotation$AnnotatedKind com.android.tools.r8.graph.DexAnnotation$AnnotatedKind.from(com.android.tools.r8.graph.ProgramDefinition):40:40 -> h
    28:28:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2044 -> h
    28:28:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4385 -> h
    29:29:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049:2049 -> h
    29:29:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> h
    29:29:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4385 -> h
    30:31:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation[],com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2054:2055 -> h
    30:31:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):2049 -> h
    30:31:void processAnnotations(com.android.tools.r8.graph.ProgramDefinition):2041 -> h
    30:31:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4385 -> h
    32:38:void traceMethodDefinitionExcludingCode(com.android.tools.r8.graph.ProgramMethod):4387:4393 -> h
    1:1:java.util.Set access$800(com.android.tools.r8.shaking.Enqueuer):193:193 -> i
    2:2:com.android.tools.r8.shaking.EnqueuerUseRegistryFactory getUseRegistryFactory():531:531 -> i
    3:4:void traceRecordFieldValues(com.android.tools.r8.graph.DexField[],com.android.tools.r8.graph.ProgramMethod):1173:1174 -> i
    5:5:void traceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1593:1593 -> i
    6:23:boolean markInterfaceInitializedIndirectly(com.android.tools.r8.graph.DexProgramClass):2243:2260 -> i
    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy access$900(com.android.tools.r8.shaking.Enqueuer):193:193 -> j
    2:2:void traceStaticFieldReadFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1597:1597 -> j
    3:36:void transitionDependentItemsForInstantiatedItem(com.android.tools.r8.graph.DexProgramClass):2769:2802 -> j
    37:40:void postProcessingDesugaring():4107:4110 -> j
    41:41:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> j
    41:41:void postProcessingDesugaring():4110 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    42:42:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> j
    42:42:void postProcessingDesugaring():4110 -> j
    43:64:void postProcessingDesugaring():4110:4131 -> j
    65:81:void postProcessingDesugaring():4130:4146 -> j
    82:82:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> j
    82:82:void postProcessingDesugaring():4146 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    83:83:boolean com.android.tools.r8.shaking.EnqueuerWorklist.isEmpty():334:334 -> j
    83:83:void postProcessingDesugaring():4146 -> j
    84:84:void postProcessingDesugaring():4147:4147 -> j
    85:85:com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction com.android.tools.r8.shaking.EnqueuerWorklist.poll():338:338 -> j
    85:85:void postProcessingDesugaring():4147 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction com.android.tools.r8.shaking.EnqueuerWorklist.poll():338:338 -> j
    86:86:void postProcessingDesugaring():4147 -> j
    87:87:void postProcessingDesugaring():4148:4148 -> j
    1:1:void traceStaticFieldWrite(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1669:1669 -> k
    2:9:void synthesize():3597:3604 -> k
    10:15:void synthesizeInterfaceMethodBridges(com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions):3736:3741 -> k
    10:15:void synthesize():3605 -> k
    16:27:void synthesize():3606:3617 -> k
    1:1:void traceStaticFieldWriteFromMethodHandle(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):1673:1673 -> l
com.android.tools.r8.shaking.Enqueuer$AnnotationReferenceMarker -> com.android.tools.r8.shaking.o:
    com.android.tools.r8.shaking.KeepReason reason -> b
    com.android.tools.r8.shaking.Enqueuer this$0 -> c
    com.android.tools.r8.graph.ProgramDefinition context -> a
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.Enqueuer$1):4991:4991 -> <init>
    2:4:void <init>(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):4996:4998 -> <init>
    boolean addCallSite(com.android.tools.r8.graph.DexCallSite) -> a
    boolean addClass(com.android.tools.r8.graph.DexProgramClass) -> a
    boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle) -> a
    boolean addProto(com.android.tools.r8.graph.DexProto) -> a
    boolean addString(com.android.tools.r8.graph.DexString) -> a
    1:16:boolean addMethod(com.android.tools.r8.graph.DexMethod):5044:5059 -> a
    17:17:boolean addType(com.android.tools.r8.graph.DexType):5087:5087 -> a
    1:24:boolean addField(com.android.tools.r8.graph.DexField):5008:5031 -> b
    25:25:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> b
    25:25:boolean addField(com.android.tools.r8.graph.DexField):5031 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    26:26:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> b
    26:26:boolean addField(com.android.tools.r8.graph.DexField):5031 -> b
    27:32:boolean addField(com.android.tools.r8.graph.DexField):5031:5036 -> b
com.android.tools.r8.shaking.Enqueuer$EnqueuerDefinitionSupplier -> com.android.tools.r8.shaking.p:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> a
    1:2:void <init>(com.android.tools.r8.shaking.Enqueuer):5096:5097 -> <init>
    1:1:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDefinition):5101:5101 -> a
    2:2:void lambda$definitionFor$0(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.ProgramDerivedContext):5102:5102 -> a
    3:3:void lambda$definitionFor$1(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):5102:5102 -> a
com.android.tools.r8.shaking.Enqueuer$FieldReadType -> com.android.tools.r8.shaking.q:
    com.android.tools.r8.shaking.Enqueuer$FieldReadType READ_FROM_RECORD_METHOD_HANDLE -> d
    com.android.tools.r8.shaking.Enqueuer$FieldReadType READ -> b
    com.android.tools.r8.shaking.Enqueuer$FieldReadType READ_FROM_METHOD_HANDLE -> c
    1:3:void <clinit>():1475:1477 -> <clinit>
    1:1:void <init>(java.lang.String,int):1474:1474 -> <init>
com.android.tools.r8.shaking.Enqueuer$LiveFieldsSet -> com.android.tools.r8.shaking.r:
    com.android.tools.r8.shaking.Enqueuer this$0 -> c
    java.util.Set fields -> a
    java.util.function.BiConsumer register -> b
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):4941:4941 -> <init>
    2:7:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):4937:4942 -> <init>
    1:1:java.util.Set access$1400(com.android.tools.r8.shaking.Enqueuer$LiveFieldsSet):4935:4935 -> a
    2:5:boolean add(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.KeepReason):4946:4949 -> a
    6:6:boolean contains(com.android.tools.r8.graph.DexEncodedField):4953:4953 -> a
    7:7:boolean contains(com.android.tools.r8.graph.ProgramField):4957:4957 -> a
    8:8:boolean contains(com.android.tools.r8.graph.DexEncodedField):4953:4953 -> a
    8:8:boolean contains(com.android.tools.r8.graph.ProgramField):4957 -> a
com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet -> com.android.tools.r8.shaking.s:
    com.android.tools.r8.shaking.Enqueuer this$0 -> c
    java.util.Set items -> a
    java.util.function.BiConsumer register -> b
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):4967:4967 -> <init>
    2:7:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.function.BiConsumer):4963:4968 -> <init>
    1:1:java.util.Set access$1300(com.android.tools.r8.shaking.Enqueuer$LiveMethodsSet):4961:4961 -> a
    2:5:boolean add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):4972:4975 -> a
    6:6:boolean contains(com.android.tools.r8.graph.DexEncodedMethod):4979:4979 -> a
    7:7:boolean contains(com.android.tools.r8.graph.ProgramMethod):4983:4983 -> a
    8:8:boolean contains(com.android.tools.r8.graph.DexEncodedMethod):4979:4979 -> a
    8:8:boolean contains(com.android.tools.r8.graph.ProgramMethod):4983 -> a
    9:9:java.util.Set getItems():4987:4987 -> a
com.android.tools.r8.shaking.Enqueuer$Mode -> com.android.tools.r8.shaking.t$a:
    com.android.tools.r8.shaking.Enqueuer$Mode FINAL_MAIN_DEX_TRACING -> e
    com.android.tools.r8.shaking.Enqueuer$Mode INITIAL_MAIN_DEX_TRACING -> d
    com.android.tools.r8.shaking.Enqueuer$Mode FINAL_TREE_SHAKING -> c
    com.android.tools.r8.shaking.Enqueuer$Mode INITIAL_TREE_SHAKING -> b
    com.android.tools.r8.shaking.Enqueuer$Mode WHY_ARE_YOU_KEEPING -> g
    com.android.tools.r8.shaking.Enqueuer$Mode GENERATE_MAIN_DEX_LIST -> f
    1:6:void <clinit>():196:201 -> <clinit>
    1:1:void <init>(java.lang.String,int):195:195 -> <init>
    1:1:boolean isFinalTreeShaking():212:212 -> a
    1:1:boolean isInitialTreeShaking():208:208 -> b
    1:1:boolean isInitialMainDexTracing():216:216 -> c
    1:1:boolean isMainDexTracing():228 -> c
    2:2:boolean isFinalMainDexTracing():220:220 -> c
    2:2:boolean isMainDexTracing():228 -> c
    3:3:boolean isGenerateMainDexList():224:224 -> c
    3:3:boolean isMainDexTracing():228 -> c
    1:1:boolean isTreeShaking():204:204 -> d
com.android.tools.r8.shaking.Enqueuer$ResolutionSearchKey -> com.android.tools.r8.shaking.u:
    boolean isInterface -> b
    com.android.tools.r8.graph.DexMethod method -> a
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,boolean,com.android.tools.r8.shaking.Enqueuer$1):5106:5106 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexMethod,boolean):5111:5113 -> <init>
    1:1:com.android.tools.r8.graph.DexMethod access$2800(com.android.tools.r8.shaking.Enqueuer$ResolutionSearchKey):5106:5106 -> a
    1:1:boolean access$2900(com.android.tools.r8.shaking.Enqueuer$ResolutionSearchKey):5106:5106 -> b
    1:5:boolean equals(java.lang.Object):5118:5122 -> equals
    1:1:int hashCode():5127:5127 -> hashCode
com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason -> com.android.tools.r8.shaking.v:
    java.util.Map deferredActions -> b
    java.util.Set items -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():4904:4904 -> <clinit>
    1:4:void <init>():4904:4907 -> <init>
    5:5:void <init>(com.android.tools.r8.shaking.Enqueuer$1):4904:4904 -> <init>
    1:1:java.util.Set access$1200(com.android.tools.r8.shaking.Enqueuer$SetWithReportedReason):4904:4904 -> a
    2:4:boolean add(java.lang.Object,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):4910:4912 -> a
    5:5:boolean contains(java.lang.Object):4919:4919 -> a
    6:7:boolean registerDeferredAction(java.lang.Object,com.android.tools.r8.utils.Action):4923:4924 -> a
    8:8:java.util.Set getItems():4931:4931 -> a
    1:1:java.util.List lambda$registerDeferredAction$0(java.lang.Object):4924:4924 -> b
com.android.tools.r8.shaking.Enqueuer$SyntheticAdditions -> com.android.tools.r8.shaking.w:
    java.util.Map methodProcessingContexts -> b
    java.util.Map liveMethods -> d
    boolean $assertionsDisabled -> i
    java.util.List desugaredMethods -> c
    java.util.List liveMethodsWithKeepActions -> h
    com.android.tools.r8.utils.collections.ProgramMethodMap minimumKeepInfo -> e
    java.util.Map syntheticClasspathClasses -> f
    com.android.tools.r8.contexts.CompilationContext$ProcessorContext processorContext -> a
    java.util.Map injectedInterfaces -> g
    1:1:void <clinit>():3498:3498 -> <clinit>
    1:1:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):3521:3521 -> <init>
    2:23:void <init>(com.android.tools.r8.contexts.CompilationContext$ProcessorContext):3501:3522 -> <init>
    1:1:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext lambda$getMethodContext$0(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexMethod):3527:3527 -> a
    2:7:boolean isEmpty():3531:3536 -> a
    8:9:void addLiveClasspathClass(com.android.tools.r8.graph.DexClasspathClass):3541:3542 -> a
    10:12:void addLiveMethod(com.android.tools.r8.graph.ProgramMethod):3546:3548 -> a
    13:15:void injectInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexClass):3556:3558 -> a
    16:16:java.util.Set lambda$injectInterface$1(com.android.tools.r8.graph.DexProgramClass):3557:3557 -> a
    17:19:void addMinimumKeepInfo(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):3562:3562 -> a
    20:23:void enqueueWorkItems(com.android.tools.r8.shaking.Enqueuer):3567:3570 -> a
    24:24:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness com.android.tools.r8.shaking.GraphReporter.fakeReportShouldNotBeUsed():74:74 -> a
    24:24:void enqueueWorkItems(com.android.tools.r8.shaking.Enqueuer):3570 -> a
    25:43:void enqueueWorkItems(com.android.tools.r8.shaking.Enqueuer):3572:3590 -> a
    44:44:void lambda$enqueueWorkItems$2(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.utils.Pair):3577:3577 -> a
    45:47:void lambda$enqueueWorkItems$3(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexProgramClass,java.util.Set):3586:3586 -> a
    48:48:void lambda$enqueueWorkItems$4(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):3592:3592 -> a
    1:1:void addMethodWithDesugaredCodeForTracing(com.android.tools.r8.graph.ProgramMethod):3552:3552 -> b
    1:3:com.android.tools.r8.contexts.CompilationContext$MethodProcessingContext getMethodContext(com.android.tools.r8.graph.ProgramMethod):3526:3526 -> c
com.android.tools.r8.shaking.EnqueuerEvent -> com.android.tools.r8.internal.ri:
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.shaking.EnqueuerEvent$ClassEnqueuerEvent asClassEvent() -> a
    com.android.tools.r8.graph.DexDefinition getDefinition(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
    com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
    boolean isClassEvent() -> b
com.android.tools.r8.shaking.EnqueuerEvent$ClassEnqueuerEvent -> com.android.tools.r8.internal.mi:
    com.android.tools.r8.graph.DexType clazz -> a
    1:2:void <init>(com.android.tools.r8.graph.DexType):82:83 -> <init>
    com.android.tools.r8.shaking.EnqueuerEvent$ClassEnqueuerEvent asClassEvent() -> a
    1:1:com.android.tools.r8.graph.DexType com.android.tools.r8.shaking.EnqueuerEvent$ClassEnqueuerEvent.getType():92:92 -> a
    1:1:com.android.tools.r8.graph.DexDefinition getDefinition(com.android.tools.r8.graph.DexDefinitionSupplier):88 -> a
    2:2:com.android.tools.r8.graph.DexDefinition getDefinition(com.android.tools.r8.graph.DexDefinitionSupplier):88:88 -> a
    boolean isClassEvent() -> b
    1:1:com.android.tools.r8.graph.DexType getType():92:92 -> c
com.android.tools.r8.shaking.EnqueuerEvent$InstantiatedClassEnqueuerEvent -> com.android.tools.r8.internal.ni:
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass):156:156 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexType):160:160 -> <init>
    1:1:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):175:175 -> a
    2:2:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":182,"2":183,"3":184}}
    182:182:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):175:175 -> a
    183:183:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    183:183:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):175 -> a
    184:184:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    184:184:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):175 -> a
    178:181:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):176:179 -> a
    1:3:boolean equals(java.lang.Object):187:189 -> equals
    1:1:int hashCode():196:196 -> hashCode
com.android.tools.r8.shaking.EnqueuerEvent$LiveClassEnqueuerEvent -> com.android.tools.r8.internal.oi:
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass):109:109 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexType):113:113 -> <init>
    1:1:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):128:128 -> a
    2:2:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":135,"2":136,"3":137}}
    135:135:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):128:128 -> a
    136:136:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    136:136:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):128 -> a
    137:137:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    137:137:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):128 -> a
    131:134:com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens):129:132 -> a
    1:3:boolean equals(java.lang.Object):140:142 -> equals
    1:1:int hashCode():149:149 -> hashCode
com.android.tools.r8.shaking.EnqueuerEvent$NoSuchEnqueuerEvent -> com.android.tools.r8.internal.pi:
    com.android.tools.r8.shaking.EnqueuerEvent$NoSuchEnqueuerEvent INSTANCE -> a
    1:1:void <clinit>():59:59 -> <clinit>
    1:1:void <init>():61:61 -> <init>
    com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.shaking.EnqueuerEvent$NoSuchEnqueuerEvent get():64:64 -> c
com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent -> com.android.tools.r8.internal.qi:
    com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent INSTANCE -> a
    1:1:void <clinit>():202:202 -> <clinit>
    1:1:void <init>():204:204 -> <init>
    com.android.tools.r8.shaking.EnqueuerEvent rewrittenWithLens(com.android.tools.r8.graph.GraphLens) -> a
    1:1:com.android.tools.r8.shaking.EnqueuerEvent$UnconditionalKeepInfoEvent get():207:207 -> c
com.android.tools.r8.shaking.EnqueuerFactory -> com.android.tools.r8.shaking.x:
    1:6:com.android.tools.r8.shaking.Enqueuer createForFinalTreeShaking(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer,java.util.Set):31:36 -> a
    7:7:void lambda$createForFinalTreeShaking$0(com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.ir.analysis.proto.ProtoShrinker):35:35 -> a
    8:8:com.android.tools.r8.shaking.Enqueuer createForInitialMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo):44:44 -> a
    9:9:com.android.tools.r8.shaking.Enqueuer createForFinalMainDexTracing(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer):53:53 -> a
    10:10:com.android.tools.r8.shaking.Enqueuer createForWhyAreYouKeeping(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer):71:71 -> a
    1:1:com.android.tools.r8.shaking.Enqueuer createForInitialTreeShaking(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo):22:22 -> b
    2:2:com.android.tools.r8.shaking.Enqueuer createForGenerateMainDexList(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.experimental.graphinfo.GraphConsumer):62:62 -> b
com.android.tools.r8.shaking.EnqueuerMetadataTraceable -> com.android.tools.r8.internal.ti:
    void trace(com.android.tools.r8.graph.DexDefinitionSupplier) -> a
com.android.tools.r8.shaking.EnqueuerResult -> com.android.tools.r8.shaking.y:
    com.android.tools.r8.shaking.AppInfoWithLiveness appInfo -> a
    1:2:void <init>(com.android.tools.r8.shaking.AppInfoWithLiveness):11:12 -> <init>
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness getAppInfo():16:16 -> a
com.android.tools.r8.shaking.EnqueuerUseRegistryFactory -> com.android.tools.r8.internal.ui:
    com.android.tools.r8.shaking.DefaultEnqueuerUseRegistry create(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.androidapi.AndroidApiLevelCompute) -> a
com.android.tools.r8.shaking.EnqueuerWorklist -> com.android.tools.r8.shaking.U:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> a
    java.util.Queue queue -> b
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.Queue,com.android.tools.r8.shaking.EnqueuerWorklist$1):23:23 -> <init>
    2:4:void <init>(com.android.tools.r8.shaking.Enqueuer,java.util.Queue):328:330 -> <init>
    boolean enqueueAssertAction(com.android.tools.r8.utils.Action) -> a
    void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness) -> a
    void enqueueMarkFieldAsReachableAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason) -> a
    void enqueueMarkFieldKeptAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness) -> a
    void enqueueMarkInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason) -> a
    void enqueueMarkMethodKeptAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason) -> a
    boolean enqueueMarkMethodLiveAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason) -> a
    void enqueueMarkReachableDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason) -> a
    void enqueueMarkReachableSuperAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod) -> a
    void enqueueTraceAnnotationAction(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind) -> a
    void enqueueTraceCodeAction(com.android.tools.r8.graph.ProgramMethod) -> a
    void enqueueTraceConstClassAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean) -> a
    void enqueueTraceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod) -> a
    1:1:com.android.tools.r8.shaking.EnqueuerWorklist createWorklist(com.android.tools.r8.shaking.Enqueuer):325:325 -> a
    2:2:boolean isEmpty():334:334 -> a
    void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness) -> b
    void enqueueTraceInvokeDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod) -> b
    void enqueueTraceNewInstanceAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod) -> b
    com.android.tools.r8.shaking.EnqueuerWorklist nonPushable() -> b
    void enqueueTraceInvokeStaticAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod) -> c
com.android.tools.r8.shaking.EnqueuerWorklist$AssertAction -> com.android.tools.r8.shaking.z:
    com.android.tools.r8.utils.Action assertion -> a
    1:2:void <init>(com.android.tools.r8.utils.Action):32:33 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):38:38 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$EnqueuerAction -> com.android.tools.r8.internal.vi:
    1:1:void <init>():25:25 -> <init>
    void run(com.android.tools.r8.shaking.Enqueuer) -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkAnnotationInstantiatedAction -> com.android.tools.r8.shaking.A:
    com.android.tools.r8.graph.DexProgramClass target -> a
    com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reason -> b
    1:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):123:125 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):130:130 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkFieldAsReachableAction -> com.android.tools.r8.shaking.B:
    com.android.tools.r8.graph.ProgramField field -> a
    com.android.tools.r8.shaking.KeepReason reason -> c
    com.android.tools.r8.graph.ProgramDefinition context -> b
    1:4:void <init>(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):83:86 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):91:91 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkFieldKeptAction -> com.android.tools.r8.shaking.C:
    com.android.tools.r8.graph.ProgramField field -> a
    com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness witness -> b
    1:3:void <init>(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):184:186 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):191:191 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkInstantiatedAction -> com.android.tools.r8.shaking.D:
    com.android.tools.r8.shaking.InstantiationReason instantiationReason -> c
    com.android.tools.r8.shaking.KeepReason keepReason -> d
    com.android.tools.r8.graph.DexProgramClass target -> a
    com.android.tools.r8.graph.ProgramMethod context -> b
    1:5:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):106:110 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):115:115 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkInterfaceInstantiatedAction -> com.android.tools.r8.shaking.E:
    com.android.tools.r8.graph.DexProgramClass target -> a
    com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reason -> b
    1:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):138:140 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):145:145 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkMethodKeptAction -> com.android.tools.r8.shaking.F:
    com.android.tools.r8.shaking.KeepReason reason -> b
    com.android.tools.r8.graph.ProgramMethod target -> a
    1:3:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):169:171 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):176:176 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkMethodLiveAction -> com.android.tools.r8.shaking.G:
    com.android.tools.r8.graph.ProgramDefinition context -> b
    com.android.tools.r8.graph.ProgramMethod method -> a
    1:3:void <init>(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition):154:156 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):161:161 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkReachableDirectAction -> com.android.tools.r8.shaking.H:
    com.android.tools.r8.shaking.KeepReason reason -> c
    com.android.tools.r8.graph.ProgramDefinition context -> b
    com.android.tools.r8.graph.DexMethod target -> a
    1:4:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):48:51 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):56:56 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$MarkReachableSuperAction -> com.android.tools.r8.shaking.I:
    com.android.tools.r8.graph.ProgramMethod context -> b
    com.android.tools.r8.graph.DexMethod target -> a
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):65:67 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):72:72 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$NonPushableEnqueuerWorklist -> com.android.tools.r8.shaking.J:
    1:1:void <init>(com.android.tools.r8.shaking.EnqueuerWorklist$PushableEnqueuerWorkList,com.android.tools.r8.shaking.EnqueuerWorklist$1):515:515 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.EnqueuerWorklist$PushableEnqueuerWorkList):518:518 -> <init>
    1:1:boolean enqueueAssertAction(com.android.tools.r8.utils.Action):532:532 -> a
    2:2:void enqueueMarkReachableDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):539:539 -> a
    3:3:void enqueueMarkReachableSuperAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):545:545 -> a
    4:4:void enqueueMarkFieldAsReachableAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):552:552 -> a
    5:5:void enqueueMarkInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):562:562 -> a
    6:6:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):568:568 -> a
    7:10:boolean enqueueMarkMethodLiveAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):580:583 -> a
    11:11:void enqueueMarkMethodKeptAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):589:589 -> a
    12:12:void enqueueMarkFieldKeptAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):595:595 -> a
    13:13:void enqueueTraceAnnotationAction(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):601:601 -> a
    14:14:void enqueueTraceCodeAction(com.android.tools.r8.graph.ProgramMethod):607:607 -> a
    15:15:void enqueueTraceConstClassAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):613:613 -> a
    16:16:void enqueueTraceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):633:633 -> a
    com.android.tools.r8.shaking.EnqueuerWorklist nonPushable() -> b
    1:1:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):574:574 -> b
    2:2:void enqueueTraceInvokeDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):618:618 -> b
    3:3:void enqueueTraceNewInstanceAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):628:628 -> b
    1:1:com.android.tools.r8.errors.Unreachable attemptToEnqueue():527:527 -> c
    2:2:void enqueueTraceInvokeStaticAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):623:623 -> c
com.android.tools.r8.shaking.EnqueuerWorklist$PushableEnqueuerWorkList -> com.android.tools.r8.shaking.K:
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():390:390 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.Enqueuer):393:393 -> <init>
    1:2:boolean enqueueAssertAction(com.android.tools.r8.utils.Action):403:404 -> a
    3:3:void enqueueMarkReachableDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):412:412 -> a
    4:4:void enqueueMarkReachableSuperAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):417:417 -> a
    5:5:void enqueueMarkFieldAsReachableAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):423:423 -> a
    6:6:void enqueueMarkInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):435:435 -> a
    7:7:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    7:7:void enqueueMarkInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):435 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    8:8:void enqueueMarkInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):435 -> a
    9:11:void enqueueMarkInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.InstantiationReason,com.android.tools.r8.shaking.KeepReason):435:437 -> a
    12:12:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):442:442 -> a
    13:13:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    13:13:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):442 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    14:14:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):442 -> a
    15:17:void enqueueMarkAnnotationInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):442:444 -> a
    18:21:boolean enqueueMarkMethodLiveAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason):457:460 -> a
    22:22:void enqueueMarkMethodKeptAction(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepReason):469:469 -> a
    23:23:void enqueueMarkFieldKeptAction(com.android.tools.r8.graph.ProgramField,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):474:474 -> a
    24:24:void enqueueTraceAnnotationAction(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):480:480 -> a
    25:25:void enqueueTraceCodeAction(com.android.tools.r8.graph.ProgramMethod):485:485 -> a
    26:26:void enqueueTraceConstClassAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):491:491 -> a
    27:27:void enqueueTraceStaticFieldRead(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):511:511 -> a
    1:1:com.android.tools.r8.shaking.EnqueuerWorklist nonPushable():398:398 -> b
    2:2:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):449:449 -> b
    3:3:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    3:3:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):449 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> b
    4:4:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):449 -> b
    5:7:void enqueueMarkInterfaceInstantiatedAction(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness):449:451 -> b
    8:8:void enqueueTraceInvokeDirectAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):496:496 -> b
    9:9:void enqueueTraceNewInstanceAction(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):506:506 -> b
    1:1:void enqueueTraceInvokeStaticAction(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):501:501 -> c
com.android.tools.r8.shaking.EnqueuerWorklist$TraceAnnotationAction -> com.android.tools.r8.shaking.L:
    com.android.tools.r8.graph.DexAnnotation$AnnotatedKind annotatedKind -> c
    com.android.tools.r8.graph.DexAnnotation annotation -> b
    com.android.tools.r8.graph.ProgramDefinition annotatedItem -> a
    1:4:void <init>(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):201:204 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):209:209 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceCodeAction -> com.android.tools.r8.shaking.M:
    com.android.tools.r8.graph.ProgramMethod method -> a
    1:2:void <init>(com.android.tools.r8.graph.ProgramMethod):216:217 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):222:222 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceConstClassAction -> com.android.tools.r8.shaking.N:
    com.android.tools.r8.graph.DexType type -> a
    com.android.tools.r8.graph.ProgramMethod context -> b
    boolean ignoreCompatRules -> c
    1:4:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod,boolean):232:235 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):240:240 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceInvokeDirectAction -> com.android.tools.r8.shaking.O:
    com.android.tools.r8.graph.ProgramMethod context -> b
    com.android.tools.r8.graph.DexMethod invokedMethod -> a
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):249:251 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):256:256 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceInvokeStaticAction -> com.android.tools.r8.shaking.P:
    com.android.tools.r8.graph.ProgramMethod context -> b
    com.android.tools.r8.graph.DexMethod invokedMethod -> a
    1:3:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):265:267 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):272:272 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceMethodDefinitionExcludingCodeAction -> com.android.tools.r8.shaking.Q:
    com.android.tools.r8.graph.ProgramMethod method -> a
    1:2:void <init>(com.android.tools.r8.graph.ProgramMethod):279:280 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):285:285 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceNewInstanceAction -> com.android.tools.r8.shaking.S:
    com.android.tools.r8.graph.DexType type -> a
    com.android.tools.r8.graph.ProgramMethod context -> b
    1:3:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):294:296 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):301:301 -> a
com.android.tools.r8.shaking.EnqueuerWorklist$TraceStaticFieldReadAction -> com.android.tools.r8.shaking.T:
    com.android.tools.r8.graph.DexField field -> a
    com.android.tools.r8.graph.ProgramMethod context -> b
    1:3:void <init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):310:312 -> <init>
    1:1:void run(com.android.tools.r8.shaking.Enqueuer):317:317 -> a
com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier -> com.android.tools.r8.shaking.X:
    java.util.Map newFieldAccessContexts -> a
    1:1:void <init>(java.util.Map,com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$1):17:17 -> <init>
    2:3:void <init>(java.util.Map):60:61 -> <init>
    1:1:com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder builder():65:65 -> a
    2:3:void modify(com.android.tools.r8.graph.AppView):69:70 -> a
    4:7:void lambda$modify$0(com.android.tools.r8.graph.FieldAccessInfoCollectionImpl,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$FieldAccessContexts):72:75 -> a
com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder -> com.android.tools.r8.shaking.V:
    java.util.Map newFieldAccessContexts -> a
    1:1:void <init>():84:84 -> <init>
    2:2:void <init>():81:81 -> <init>
    1:1:com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$FieldAccessContexts getFieldAccessContexts(com.android.tools.r8.graph.DexField):87:87 -> a
    2:2:void recordFieldReadInContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):91:91 -> a
    3:3:com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier build():108:108 -> a
    1:1:com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$FieldAccessContexts lambda$getFieldAccessContexts$0(com.android.tools.r8.graph.DexField):87:87 -> b
    2:2:void recordFieldWrittenInContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):100:100 -> b
    1:1:com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$Builder recordFieldReadInUnknownContext(com.android.tools.r8.graph.DexField):95:95 -> c
    1:1:void recordFieldWriteInUnknownContext(com.android.tools.r8.graph.DexField):104:104 -> d
com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$FieldAccessContexts -> com.android.tools.r8.shaking.W:
    com.android.tools.r8.graph.AbstractAccessContexts writesWithContexts -> b
    com.android.tools.r8.graph.AbstractAccessContexts readsWithContexts -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():19:19 -> <clinit>
    1:4:void <init>():19:22 -> <init>
    5:5:void <init>(com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$1):19:19 -> <init>
    1:1:com.android.tools.r8.graph.AbstractAccessContexts access$200(com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$FieldAccessContexts):19:19 -> a
    2:2:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):25:25 -> a
    3:3:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> a
    3:3:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):25 -> a
    4:7:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):26:29 -> a
    8:8:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> a
    8:8:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):29 -> a
    9:11:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):30:32 -> a
    12:12:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> a
    12:12:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):32 -> a
    13:13:void addReadContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):32:32 -> a
    14:14:void recordReadInUnknownContext():37:37 -> a
    1:1:com.android.tools.r8.graph.AbstractAccessContexts access$300(com.android.tools.r8.shaking.FieldAccessInfoCollectionModifier$FieldAccessContexts):19:19 -> b
    2:2:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):41:41 -> b
    3:3:boolean com.android.tools.r8.graph.AbstractAccessContexts.isBottom():0:0 -> b
    3:3:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):41 -> b
    4:7:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):42:45 -> b
    8:8:boolean com.android.tools.r8.graph.AbstractAccessContexts.isConcrete():0:0 -> b
    8:8:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):45 -> b
    9:11:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):46:48 -> b
    12:12:boolean com.android.tools.r8.graph.AbstractAccessContexts.isTop():0:0 -> b
    12:12:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):48 -> b
    13:13:void addWriteContext(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.ProgramMethod):48:48 -> b
    14:14:void recordWriteInUnknownContext():53:53 -> b
com.android.tools.r8.shaking.FilteredClassPath -> com.android.tools.r8.internal.wk:
    com.android.tools.r8.origin.Origin origin -> c
    com.android.tools.r8.position.Position position -> d
    java.nio.file.Path path -> a
    com.android.tools.r8.com.google.common.collect.ImmutableList pattern -> b
    1:5:void <init>(java.nio.file.Path,java.util.List,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):27:31 -> <init>
    1:1:com.android.tools.r8.origin.Origin getOrigin():47:47 -> a
    2:23:boolean matchAgainstFileName(java.lang.String,int,java.lang.String,int):76:97 -> a
    24:24:boolean com.android.tools.r8.shaking.FilteredClassPath.containsFileSeparator(java.lang.String):71:71 -> a
    24:24:boolean matchAgainstFileName(java.lang.String,int,java.lang.String,int):97 -> a
    25:43:boolean matchAgainstFileName(java.lang.String,int,java.lang.String,int):98:116 -> a
    44:44:boolean com.android.tools.r8.shaking.FilteredClassPath.isUnfiltered():123:123 -> a
    44:44:boolean matchesFile(java.lang.String):55 -> a
    45:47:boolean matchesFile(java.lang.String):59:61 -> a
    1:1:java.nio.file.Path getPath():43:43 -> b
    1:1:com.android.tools.r8.position.Position getPosition():51:51 -> c
    1:1:boolean com.android.tools.r8.shaking.FilteredClassPath.isUnfiltered():123:123 -> toString
    1:1:java.lang.String toString():128 -> toString
    2:16:java.lang.String toString():129:143 -> toString
com.android.tools.r8.shaking.GlobalKeepInfoConfiguration -> com.android.tools.r8.internal.dm:
    boolean isOptimizationEnabled() -> a
    boolean isTreeShakingEnabled() -> b
    boolean isMinificationEnabled() -> c
    boolean isRepackagingEnabled() -> d
com.android.tools.r8.shaking.GraphReporter -> com.android.tools.r8.shaking.Z:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.InternalOptions options -> b
    boolean $assertionsDisabled -> k
    java.util.Map ruleNodes -> i
    java.util.Map reasonInfo -> j
    com.android.tools.r8.shaking.CollectingGraphConsumer verificationGraphConsumer -> d
    java.util.Map annotationNodes -> e
    java.util.Map classNodes -> f
    java.util.Map methodNodes -> g
    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> c
    java.util.Map fieldNodes -> h
    1:1:void <clinit>():46:46 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.experimental.graphinfo.GraphConsumer):61:61 -> <init>
    2:17:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.experimental.graphinfo.GraphConsumer):54:69 -> <init>
    1:21:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):78:98 -> a
    22:22:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":121,"2":122,"3":123}}
    121:121:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):98:98 -> a
    122:122:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):98:98 -> a
    123:123:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):98:98 -> a
    120:120:boolean verifyRootedPath(com.android.tools.r8.graph.DexProgramClass):98:98 -> a
    124:126:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass) -> a
    127:128:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexProgramClass):114:115 -> a
    127:128:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass):127 -> a
    129:135:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind reportPrecondition(com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode):103:109 -> a
    129:135:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexProgramClass):116 -> a
    129:135:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass):127 -> a
    136:136:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexProgramClass):117:117 -> a
    136:136:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass):127 -> a
    137:137:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepClass(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexProgramClass):130:130 -> a
    138:140:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod):145:147 -> a
    141:142:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexEncodedMethod):135:136 -> a
    141:142:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod):148 -> a
    143:149:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind reportPrecondition(com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode):103:109 -> a
    143:149:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexEncodedMethod):137 -> a
    143:149:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod):148 -> a
    150:150:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexEncodedMethod):138:138 -> a
    150:150:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod):148 -> a
    151:151:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepMethod(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedMethod) -> a
    152:154:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):166:168 -> a
    155:156:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexEncodedField):156:157 -> a
    155:156:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):169 -> a
    157:163:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind reportPrecondition(com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode):103:109 -> a
    157:163:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexEncodedField):158 -> a
    157:163:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):169 -> a
    164:164:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.graph.DexEncodedField):159:159 -> a
    164:164:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):169 -> a
    165:165:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportKeepField(com.android.tools.r8.graph.DexDefinition,java.util.Collection,com.android.tools.r8.graph.DexEncodedField):172:172 -> a
    166:166:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):176:176 -> a
    167:167:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.graph.DexClass.getDefaultInitializer():808:808 -> a
    167:167:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):176 -> a
    168:168:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):177:177 -> a
    169:174:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):176:181 -> a
    175:180:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatKeepDefaultInitializer(com.android.tools.r8.graph.ProgramMethod):179:184 -> a
    181:184:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):197:200 -> a
    185:190:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportCompatInstantiated(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):198:203 -> a
    191:194:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):208:211 -> a
    195:200:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramField):238:243 -> a
    195:200:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):211 -> a
    201:202:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):213:214 -> a
    203:208:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):229:234 -> a
    203:208:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramDefinition):214 -> a
    209:214:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportClassReferencedFrom(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):220:225 -> a
    215:219:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportReachableMethodAsLive(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):263:267 -> a
    220:225:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportReachableMethodAsLive(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):265:270 -> a
    226:226:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportLibraryMethodAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass):278:278 -> a
    227:227:boolean com.android.tools.r8.shaking.InstantiatedObject.isClass():0:0 -> a
    227:227:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportLibraryMethodAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass):278 -> a
    228:229:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportLibraryMethodAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass):280:281 -> a
    230:235:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportLibraryMethodAsLive(com.android.tools.r8.shaking.InstantiatedObject,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexClass):279:284 -> a
    236:238:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind):310:312 -> a
    239:240:boolean skipReporting(com.android.tools.r8.shaking.KeepReason):344:345 -> a
    241:241:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.KeepReason):417:417 -> a
    241:241:boolean skipReporting(com.android.tools.r8.shaking.KeepReason):348 -> a
    242:242:boolean skipReporting(com.android.tools.r8.shaking.KeepReason):348:348 -> a
    243:243:boolean hasKeptGraphConsumer():340:340 -> a
    243:243:boolean skipReporting(com.android.tools.r8.shaking.KeepReason):349 -> a
    244:247:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):361:364 -> a
    248:252:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason):381:385 -> a
    253:254:boolean isNonProgramClass(com.android.tools.r8.graph.DexType):412:413 -> a
    253:254:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason):385 -> a
    255:257:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason):388:390 -> a
    258:261:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerField(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.shaking.KeepReason):394:397 -> a
    262:262:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):401:401 -> a
    263:263:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.KeepReason):417:417 -> a
    263:263:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):402 -> a
    264:264:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):404:404 -> a
    265:265:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo getEdgeInfo(com.android.tools.r8.shaking.KeepReason):434:434 -> a
    265:265:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):405 -> a
    266:268:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.KeepReason):406:408 -> a
    269:269:com.android.tools.r8.experimental.graphinfo.GraphNode getGraphNode(com.android.tools.r8.graph.DexReference):421:421 -> a
    270:270:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    270:270:com.android.tools.r8.experimental.graphinfo.GraphNode getGraphNode(com.android.tools.r8.graph.DexReference):421 -> a
    271:279:com.android.tools.r8.experimental.graphinfo.GraphNode getGraphNode(com.android.tools.r8.graph.DexReference):422:430 -> a
    280:280:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo getEdgeInfo(com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind):438:438 -> a
    281:281:com.android.tools.r8.experimental.graphinfo.AnnotationGraphNode getAnnotationGraphNode(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):448:448 -> a
    282:286:com.android.tools.r8.experimental.graphinfo.AnnotationGraphNode lambda$getAnnotationGraphNode$0(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.DexAnnotation):453:457 -> a
    287:287:com.android.tools.r8.experimental.graphinfo.ClassGraphNode getClassGraphNode(com.android.tools.r8.graph.DexType):462:462 -> a
    288:288:com.android.tools.r8.experimental.graphinfo.MethodGraphNode getMethodGraphNode(com.android.tools.r8.graph.DexMethod):473:473 -> a
    289:289:com.android.tools.r8.experimental.graphinfo.MethodGraphNode lambda$getMethodGraphNode$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):476:476 -> a
    290:290:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):443:443 -> a
    290:290:com.android.tools.r8.experimental.graphinfo.MethodGraphNode lambda$getMethodGraphNode$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):476 -> a
    291:303:com.android.tools.r8.experimental.graphinfo.MethodGraphNode lambda$getMethodGraphNode$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):477:489 -> a
    304:304:com.android.tools.r8.experimental.graphinfo.MethodGraphNode lambda$getMethodGraphNode$2(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):483:483 -> a
    305:305:com.android.tools.r8.experimental.graphinfo.FieldGraphNode getFieldGraphNode(com.android.tools.r8.graph.DexField):494:494 -> a
    306:306:com.android.tools.r8.experimental.graphinfo.FieldGraphNode lambda$getFieldGraphNode$3(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):497:497 -> a
    307:307:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):443:443 -> a
    307:307:com.android.tools.r8.experimental.graphinfo.FieldGraphNode lambda$getFieldGraphNode$3(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):497 -> a
    308:313:com.android.tools.r8.experimental.graphinfo.FieldGraphNode lambda$getFieldGraphNode$3(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):498:503 -> a
    314:314:com.android.tools.r8.experimental.graphinfo.FieldGraphNode lambda$getFieldGraphNode$3(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):500:500 -> a
    315:335:com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode getKeepRuleGraphNode(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase):516:536 -> a
    336:336:com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode lambda$getKeepRuleGraphNode$4(com.android.tools.r8.shaking.ProguardKeepRuleBase,java.util.Set,com.android.tools.r8.shaking.ProguardKeepRuleBase):521:521 -> a
    337:341:com.android.tools.r8.experimental.graphinfo.KeepRuleGraphNode lambda$getKeepRuleGraphNode$5(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.shaking.ProguardKeepRuleBase):529:533 -> a
    1:10:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness reportReachableClassInitializer(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):249:258 -> b
    11:11:boolean hasKeptGraphConsumer():340:340 -> b
    11:11:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):369 -> b
    12:13:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):371:372 -> b
    14:14:com.android.tools.r8.shaking.KeepReason com.android.tools.r8.shaking.KeepReason.annotatedOn(com.android.tools.r8.graph.DexDefinition):26:26 -> b
    14:14:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):372 -> b
    15:20:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):370:375 -> b
    21:21:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):373:373 -> b
    22:26:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness registerInterface(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepReason):353:357 -> b
    27:27:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):443:443 -> b
    27:27:com.android.tools.r8.experimental.graphinfo.ClassGraphNode lambda$getClassGraphNode$1(com.android.tools.r8.graph.DexType):465 -> b
    28:30:com.android.tools.r8.experimental.graphinfo.ClassGraphNode lambda$getClassGraphNode$1(com.android.tools.r8.graph.DexType):466:468 -> b
com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness -> com.android.tools.r8.shaking.Y:
    com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness INSTANCE -> a
    1:1:void <clinit>():322:322 -> <clinit>
    1:1:void <init>():324:324 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():330:330 -> a
    2:2:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):335:335 -> a
    1:1:com.android.tools.r8.shaking.GraphReporter$KeepReasonWitness access$000():320:320 -> b
com.android.tools.r8.shaking.IfRuleClassPartEquivalence -> com.android.tools.r8.shaking.a0:
    1:1:void <init>():11:11 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):11:11 -> a
    2:22:boolean doEquivalent(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.shaking.ProguardIfRule):15:35 -> a
    2:22:boolean doEquivalent(java.lang.Object,java.lang.Object):11 -> a
    23:23:int doHash(java.lang.Object):11:11 -> a
    24:37:int doHash(com.android.tools.r8.shaking.ProguardIfRule):43:56 -> a
    24:37:int doHash(java.lang.Object):11 -> a
    38:40:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):124:126 -> a
    38:40:int doHash(com.android.tools.r8.shaking.ProguardIfRule):56 -> a
    38:40:int doHash(java.lang.Object):11 -> a
    41:45:int com.android.tools.r8.com.google.common.collect.Iterators.size(java.util.Iterator):163:167 -> a
    41:45:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):126 -> a
    41:45:int doHash(com.android.tools.r8.shaking.ProguardIfRule):56 -> a
    41:45:int doHash(java.lang.Object):11 -> a
com.android.tools.r8.shaking.IfRuleEvaluator -> com.android.tools.r8.shaking.b0:
    java.util.concurrent.ExecutorService executorService -> d
    com.android.tools.r8.graph.AppView appView -> a
    java.util.List futures -> e
    com.android.tools.r8.shaking.Enqueuer enqueuer -> c
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
    boolean $assertionsDisabled -> h
    java.util.Map ifRules -> f
    com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSetBuilder rootSetBuilder -> g
    1:1:void <clinit>():42:42 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.Enqueuer,java.util.concurrent.ExecutorService,java.util.Map,com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSetBuilder):58:58 -> <init>
    2:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.Enqueuer,java.util.concurrent.ExecutorService,java.util.Map,com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSetBuilder):48:64 -> <init>
    1:19:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():68:86 -> a
    20:28:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():85:93 -> a
    29:29:boolean com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder.satisfyClassType(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):808:808 -> a
    29:29:boolean evaluateClassForIfRule(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexProgramClass):202 -> a
    29:29:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():95 -> a
    30:31:boolean com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder.satisfyAccessFlag(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):812:813 -> a
    30:31:boolean evaluateClassForIfRule(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexProgramClass):205 -> a
    30:31:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():95 -> a
    32:42:boolean evaluateClassForIfRule(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexProgramClass):208:218 -> a
    32:42:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():95 -> a
    43:71:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():99:127 -> a
    72:72:boolean com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder.satisfyClassType(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):808:808 -> a
    72:72:boolean evaluateClassForIfRule(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexProgramClass):202 -> a
    72:72:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():129 -> a
    73:74:boolean com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder.satisfyAccessFlag(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):812:813 -> a
    73:74:boolean evaluateClassForIfRule(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexProgramClass):205 -> a
    73:74:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():129 -> a
    75:85:boolean evaluateClassForIfRule(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexProgramClass):208:218 -> a
    75:85:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():129 -> a
    86:112:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():130:156 -> a
    113:113:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet run():154:154 -> a
    114:118:void registerClassCapture(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):172:176 -> a
    114:118:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):101 -> a
    119:122:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):102:105 -> a
    123:123:boolean canRemoveSubsequentKeepRule(com.android.tools.r8.shaking.ProguardIfRule):160:160 -> a
    123:123:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):106 -> a
    124:124:void lambda$run$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):107:107 -> a
    125:129:void registerClassCapture(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):172:176 -> a
    125:129:void lambda$run$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):132 -> a
    130:133:void lambda$run$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):133:136 -> a
    134:134:boolean canRemoveSubsequentKeepRule(com.android.tools.r8.shaking.ProguardIfRule):160:160 -> a
    134:134:void lambda$run$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):137 -> a
    135:135:void lambda$run$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData,java.util.List,com.android.tools.r8.shaking.ProguardIfRule):138:138 -> a
    136:145:boolean isEffectivelyLive(com.android.tools.r8.graph.DexProgramClass):184:193 -> a
    146:147:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):225:226 -> a
    148:148:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():696:696 -> a
    148:148:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):227 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    149:157:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):227:235 -> a
    158:178:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):233:253 -> a
    179:218:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):251:290 -> a
    219:224:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):289:294 -> a
    225:232:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):293:300 -> a
    233:233:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():696:696 -> a
    233:233:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):306 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    234:234:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):306:306 -> a
    235:235:boolean canRemoveSubsequentKeepRule(com.android.tools.r8.shaking.ProguardIfRule):160:160 -> a
    235:235:boolean evaluateIfRuleMembersAndMaterialize(com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):307 -> a
    236:239:boolean lambda$evaluateIfRuleMembersAndMaterialize$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):255:258 -> a
    240:240:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    240:240:boolean lambda$evaluateIfRuleMembersAndMaterialize$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):258 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    241:241:boolean lambda$evaluateIfRuleMembersAndMaterialize$3(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):258:258 -> a
    242:242:com.android.tools.r8.graph.DexClassAndField lambda$evaluateIfRuleMembersAndMaterialize$4(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):290:290 -> a
    243:244:boolean lambda$evaluateIfRuleMembersAndMaterialize$6(java.util.Collection,java.util.Collection,com.android.tools.r8.shaking.ProguardMemberRule):302:303 -> a
    245:250:boolean isFieldInlinedByJavaC(com.android.tools.r8.graph.DexEncodedField):316:321 -> a
    245:250:boolean lambda$evaluateIfRuleMembersAndMaterialize$2(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):239 -> a
    251:259:boolean lambda$evaluateIfRuleMembersAndMaterialize$2(java.util.List,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedField):240:248 -> a
    260:299:void materializeIfRule(com.android.tools.r8.shaking.ProguardIfRule,java.util.Set):325:364 -> a
    1:1:com.android.tools.r8.graph.DexClassAndMethod lambda$evaluateIfRuleMembersAndMaterialize$5(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):294:294 -> b
com.android.tools.r8.shaking.InlineRule -> com.android.tools.r8.shaking.d0:
    com.android.tools.r8.shaking.InlineRule$Type type -> r
    int $r8$clinit -> s
    1:15:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.InlineRule$Type):75:89 -> <init>
    1:11:java.lang.String typeString():102:112 -> C
    12:12:java.lang.String typeString():0:0 -> C
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":136,"2":137,"3":138}}
    136:136:java.lang.String typeString():112:112 -> C
    137:137:java.lang.String typeString():112:112 -> C
    138:138:java.lang.String typeString():112:112 -> C
    124:124:java.lang.String typeString():112:112 -> C
    125:125:java.lang.String typeString():110:110 -> C
    126:126:java.lang.String typeString():108:108 -> C
    127:127:java.lang.String typeString():106:106 -> C
    128:128:java.lang.String typeString():104:104 -> C
    1:1:com.android.tools.r8.shaking.InlineRule$Type getType():97:97 -> D
com.android.tools.r8.shaking.InlineRule$Builder -> com.android.tools.r8.shaking.c0:
    com.android.tools.r8.shaking.InlineRule$Type type -> p
    1:1:void <init>(com.android.tools.r8.shaking.InlineRule$1):20:20 -> <init>
    2:2:void <init>():23:23 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.InlineRule$Type$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.yp:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.shaking.InstantiatedObject -> com.android.tools.r8.shaking.g0:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():10:10 -> <clinit>
    1:1:void <init>():10:10 -> <init>
    1:1:boolean isClass():0:0 -> a
    1:1:void apply(java.util.function.Consumer,java.util.function.Consumer):22 -> a
    2:4:void apply(java.util.function.Consumer,java.util.function.Consumer):23:25 -> a
    5:5:boolean isLambda():0:0 -> a
    5:5:void apply(java.util.function.Consumer,java.util.function.Consumer):25 -> a
    6:7:void apply(java.util.function.Consumer,java.util.function.Consumer):25:26 -> a
    com.android.tools.r8.graph.DexProgramClass asClass() -> a
    com.android.tools.r8.ir.desugar.LambdaDescriptor asLambda() -> b
    boolean isClass() -> c
com.android.tools.r8.shaking.InstantiatedObject$InstantiatedClass -> com.android.tools.r8.shaking.e0:
    com.android.tools.r8.graph.DexProgramClass clazz -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():46:46 -> <clinit>
    1:3:void <init>(com.android.tools.r8.graph.DexProgramClass):49:51 -> <init>
    1:1:com.android.tools.r8.graph.DexProgramClass asClass():61:61 -> a
com.android.tools.r8.shaking.InstantiatedObject$InstantiatedLambda -> com.android.tools.r8.shaking.f0:
    com.android.tools.r8.ir.desugar.LambdaDescriptor lambdaDescriptor -> b
    1:2:void <init>(com.android.tools.r8.ir.desugar.LambdaDescriptor):68:69 -> <init>
    1:1:com.android.tools.r8.ir.desugar.LambdaDescriptor asLambda():79:79 -> b
com.android.tools.r8.shaking.InstantiationReason -> com.android.tools.r8.internal.mq:
    com.android.tools.r8.shaking.InstantiationReason NEW_INSTANCE_INSTRUCTION -> d
    com.android.tools.r8.shaking.InstantiationReason REFERENCED_IN_METHOD_HANDLE -> e
    com.android.tools.r8.shaking.InstantiationReason KEEP_RULE -> b
    com.android.tools.r8.shaking.InstantiationReason LAMBDA -> c
    com.android.tools.r8.shaking.InstantiationReason REFLECTION -> f
    1:5:void <clinit>():8:12 -> <clinit>
    1:1:void <init>(java.lang.String,int):7:7 -> <init>
com.android.tools.r8.shaking.KeepClassInfo -> com.android.tools.r8.shaking.j0:
    boolean $assertionsDisabled -> j
    com.android.tools.r8.shaking.KeepClassInfo BOTTOM -> i
    com.android.tools.r8.shaking.KeepClassInfo TOP -> h
    1:7:void <clinit>():15:21 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.KeepClassInfo$Builder,com.android.tools.r8.shaking.KeepClassInfo$1):15:15 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.KeepClassInfo$Builder):36:36 -> <init>
    1:4:boolean isRepackagingAllowed(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):52:55 -> a
    5:9:boolean isKotlinMetadataClassKept(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.InternalOptions,java.util.function.Function,java.util.function.Function):71:75 -> a
    1:1:com.android.tools.r8.shaking.KeepClassInfo access$200():15:15 -> i
    1:1:com.android.tools.r8.shaking.KeepClassInfo access$300():15:15 -> j
    1:1:com.android.tools.r8.shaking.KeepClassInfo bottom():28:28 -> k
    1:1:com.android.tools.r8.shaking.KeepClassInfo$Builder builder():41:41 -> l
    1:1:com.android.tools.r8.shaking.KeepClassInfo top():24:24 -> m
    1:1:boolean isTop():80 -> m
    2:2:boolean isTop():80:80 -> m
    1:1:com.android.tools.r8.shaking.KeepClassInfo$Joiner joiner():45:45 -> n
    2:2:com.android.tools.r8.shaking.KeepClassInfo top():24:24 -> n
    2:2:boolean isTop():80 -> n
    2:2:com.android.tools.r8.shaking.KeepClassInfo$Joiner joiner():45 -> n
    3:3:boolean isTop():80:80 -> n
    3:3:com.android.tools.r8.shaking.KeepClassInfo$Joiner joiner():45 -> n
    4:5:com.android.tools.r8.shaking.KeepClassInfo$Joiner joiner():45:46 -> n
    1:1:com.android.tools.r8.shaking.KeepClassInfo bottom():28:28 -> o
    1:1:com.android.tools.r8.shaking.KeepClassInfo$Joiner newEmptyJoiner():32 -> o
    2:2:com.android.tools.r8.shaking.KeepClassInfo$Joiner newEmptyJoiner():32:32 -> o
    1:1:com.android.tools.r8.shaking.KeepClassInfo top():24:24 -> p
com.android.tools.r8.shaking.KeepClassInfo$Builder -> com.android.tools.r8.shaking.h0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepClassInfo$1):88:88 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.KeepClassInfo,com.android.tools.r8.shaking.KeepClassInfo$1):88:88 -> <init>
    3:3:void <init>():91:91 -> <init>
    4:4:void <init>(com.android.tools.r8.shaking.KeepClassInfo):95:95 -> <init>
    1:1:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):88:88 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepClassInfo):115:115 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):88 -> b
    1:1:com.android.tools.r8.shaking.KeepClassInfo doBuild():120:120 -> g
    1:1:com.android.tools.r8.shaking.KeepInfo doBuild():88 -> g
    1:1:com.android.tools.r8.shaking.KeepClassInfo getBottomInfo():105:105 -> h
    1:1:com.android.tools.r8.shaking.KeepInfo getBottomInfo():88 -> h
    1:1:com.android.tools.r8.shaking.KeepClassInfo getTopInfo():100:100 -> i
    1:1:com.android.tools.r8.shaking.KeepInfo getTopInfo():88 -> i
    com.android.tools.r8.shaking.KeepInfo$Builder self() -> t
com.android.tools.r8.shaking.KeepClassInfo$Joiner -> com.android.tools.r8.shaking.i0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepClassInfo):127:127 -> <init>
    com.android.tools.r8.shaking.KeepClassInfo$Joiner asClassJoiner() -> a
    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):124:124 -> a
    2:2:com.android.tools.r8.shaking.KeepClassInfo$Joiner merge(com.android.tools.r8.shaking.KeepClassInfo$Joiner):138:138 -> a
    2:2:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):124 -> a
    3:3:com.android.tools.r8.shaking.KeepClassInfo$Joiner merge(com.android.tools.r8.shaking.KeepClassInfo$Joiner):138:138 -> a
    com.android.tools.r8.shaking.KeepInfo$Joiner self() -> l
com.android.tools.r8.shaking.KeepConstantArgumentRule -> com.android.tools.r8.shaking.l0:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.KeepConstantArgumentRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):59:59 -> <init>
    1:1:java.lang.String typeString():81:81 -> C
com.android.tools.r8.shaking.KeepConstantArgumentRule$Builder -> com.android.tools.r8.shaking.k0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepConstantArgumentRule$1):14:14 -> <init>
    2:2:void <init>():18:18 -> <init>
    1:11:com.android.tools.r8.shaking.KeepConstantArgumentRule build():28:38 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():14 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.KeepFieldInfo -> com.android.tools.r8.shaking.o0:
    boolean $assertionsDisabled -> k
    com.android.tools.r8.shaking.KeepFieldInfo TOP -> i
    com.android.tools.r8.shaking.KeepFieldInfo BOTTOM -> j
    boolean allowFieldTypeStrengthening -> h
    1:7:void <clinit>():7:13 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.KeepFieldInfo$Builder,com.android.tools.r8.shaking.KeepFieldInfo$1):7:7 -> <init>
    2:3:void <init>(com.android.tools.r8.shaking.KeepFieldInfo$Builder):30:31 -> <init>
    1:1:com.android.tools.r8.shaking.KeepFieldInfo access$200():7:7 -> i
    1:1:com.android.tools.r8.shaking.KeepFieldInfo access$300():7:7 -> j
    1:1:com.android.tools.r8.shaking.KeepFieldInfo bottom():20:20 -> k
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Builder builder():38:38 -> l
    1:1:boolean internalIsFieldTypeStrengtheningAllowed():46:46 -> m
    1:1:boolean internalIsFieldTypeStrengtheningAllowed():46:46 -> n
    1:1:boolean isFieldTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):42 -> n
    1:1:com.android.tools.r8.shaking.KeepFieldInfo top():16:16 -> o
    1:1:boolean isTop():56 -> o
    2:2:boolean isTop():56:56 -> o
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Joiner joiner():50:50 -> p
    2:2:com.android.tools.r8.shaking.KeepFieldInfo top():16:16 -> p
    2:2:boolean isTop():56 -> p
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Joiner joiner():50 -> p
    3:3:boolean isTop():56:56 -> p
    3:3:com.android.tools.r8.shaking.KeepFieldInfo$Joiner joiner():50 -> p
    4:5:com.android.tools.r8.shaking.KeepFieldInfo$Joiner joiner():50:51 -> p
    1:1:com.android.tools.r8.shaking.KeepFieldInfo bottom():20:20 -> q
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Joiner newEmptyJoiner():24 -> q
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Joiner newEmptyJoiner():24:24 -> q
    1:1:com.android.tools.r8.shaking.KeepFieldInfo top():16:16 -> r
com.android.tools.r8.shaking.KeepFieldInfo$Builder -> com.android.tools.r8.shaking.m0:
    boolean allowFieldTypeStrengthening -> i
    1:1:void <init>(com.android.tools.r8.shaking.KeepFieldInfo$1):64:64 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.KeepFieldInfo,com.android.tools.r8.shaking.KeepFieldInfo$1):64:64 -> <init>
    3:3:void <init>():69:69 -> <init>
    4:5:void <init>(com.android.tools.r8.shaking.KeepFieldInfo):73:74 -> <init>
    1:1:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):64:64 -> a
    2:2:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):126:126 -> a
    2:2:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):64 -> a
    3:3:boolean isFieldTypeStrengtheningAllowed():88:88 -> a
    3:3:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):127 -> a
    3:3:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):64 -> a
    4:4:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):127:127 -> a
    4:4:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):64 -> a
    1:1:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):64:64 -> b
    2:2:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):126:126 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):121 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):64 -> b
    3:3:boolean isFieldTypeStrengtheningAllowed():88:88 -> b
    3:3:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):127 -> b
    3:3:boolean isEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):121 -> b
    3:3:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):64 -> b
    4:4:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):127:127 -> b
    4:4:boolean isEqualTo(com.android.tools.r8.shaking.KeepFieldInfo):121 -> b
    4:4:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):64 -> b
    1:1:com.android.tools.r8.shaking.KeepFieldInfo doBuild():132:132 -> g
    1:1:com.android.tools.r8.shaking.KeepInfo doBuild():64 -> g
    1:1:com.android.tools.r8.shaking.KeepFieldInfo getBottomInfo():111:111 -> h
    1:1:com.android.tools.r8.shaking.KeepInfo getBottomInfo():64 -> h
    1:1:com.android.tools.r8.shaking.KeepFieldInfo getTopInfo():106:106 -> i
    1:1:com.android.tools.r8.shaking.KeepInfo getTopInfo():64 -> i
    1:1:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():64:64 -> r
    com.android.tools.r8.shaking.KeepInfo$Builder self() -> t
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Builder setAllowFieldTypeStrengthening(boolean):92:92 -> v
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Builder disallowFieldTypeStrengthening():101 -> v
    1:1:boolean isFieldTypeStrengtheningAllowed():88:88 -> w
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Builder makeBottom():84:84 -> x
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Builder setAllowFieldTypeStrengthening(boolean):92:92 -> x
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Builder allowFieldTypeStrengthening():97 -> x
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Builder makeBottom():84 -> x
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Builder makeTop():79:79 -> y
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Builder setAllowFieldTypeStrengthening(boolean):92:92 -> y
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Builder disallowFieldTypeStrengthening():101 -> y
    2:2:com.android.tools.r8.shaking.KeepFieldInfo$Builder makeTop():79 -> y
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
com.android.tools.r8.shaking.KeepFieldInfo$Joiner -> com.android.tools.r8.shaking.n0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepFieldInfo):139:139 -> <init>
    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):136:136 -> a
    2:4:com.android.tools.r8.shaking.KeepFieldInfo$Joiner merge(com.android.tools.r8.shaking.KeepFieldInfo$Joiner):155:157 -> a
    5:5:com.android.tools.r8.shaking.KeepFieldInfo$Joiner merge(com.android.tools.r8.shaking.KeepFieldInfo$Joiner):156:156 -> a
    com.android.tools.r8.shaking.KeepFieldInfo$Joiner asFieldJoiner() -> b
    com.android.tools.r8.shaking.KeepInfo$Joiner self() -> l
    1:1:com.android.tools.r8.shaking.KeepFieldInfo$Joiner disallowFieldTypeStrengthening():143:143 -> o
com.android.tools.r8.shaking.KeepInfo -> com.android.tools.r8.shaking.r0:
    boolean allowShrinking -> e
    boolean checkDiscarded -> f
    boolean requireAccessModificationForRepackaging -> g
    boolean allowAccessModification -> a
    boolean allowAnnotationRemoval -> b
    boolean allowMinification -> c
    boolean allowOptimization -> d
    1:8:void <init>(boolean,boolean,boolean,boolean,boolean,boolean,boolean):34:41 -> <init>
    9:15:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):46:52 -> <init>
    16:16:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):45:45 -> <init>
    boolean isRepackagingAllowed(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration) -> a
    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner newEmptyJoinerFor(com.android.tools.r8.graph.DexReference):56:56 -> a
    2:2:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$newEmptyJoinerFor$0(com.android.tools.r8.graph.DexType):57:57 -> a
    3:3:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$newEmptyJoinerFor$1(com.android.tools.r8.graph.DexField):58:58 -> a
    4:4:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$newEmptyJoinerFor$2(com.android.tools.r8.graph.DexMethod):59:59 -> a
    5:5:boolean isMinificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):103:103 -> a
    6:6:boolean internalIsMinificationAllowed():107:107 -> a
    6:6:boolean isMinificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):103 -> a
    7:7:boolean isAccessModificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160:160 -> a
    8:8:boolean internalIsAccessModificationAllowed():165:165 -> a
    8:8:boolean isAccessModificationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):160 -> a
    9:9:boolean internalIsAccessModificationAllowed():165:165 -> a
    10:10:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):216:216 -> a
    11:11:boolean internalIsAccessModificationAllowed():165:165 -> a
    11:11:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):216 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):216:216 -> a
    13:13:boolean internalIsAnnotationRemovalAllowed():75:75 -> a
    13:13:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):217 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:14:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):217:217 -> a
    15:15:boolean internalIsMinificationAllowed():107:107 -> a
    15:15:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):218 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):218:218 -> a
    17:17:boolean internalIsOptimizationAllowed():121:121 -> a
    17:17:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):219 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    18:18:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):219:219 -> a
    19:19:boolean internalIsShrinkingAllowed():135:135 -> a
    19:19:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):220 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):220:220 -> a
    21:21:boolean internalIsCheckDiscardedEnabled():83:83 -> a
    21:21:boolean isLessThanOrEquals(com.android.tools.r8.shaking.KeepInfo):221 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean isAnnotationRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):71:71 -> b
    2:2:boolean internalIsAnnotationRemovalAllowed():75:75 -> b
    2:2:boolean isAnnotationRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):71 -> b
    3:3:boolean isOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):117:117 -> b
    4:4:boolean internalIsOptimizationAllowed():121:121 -> b
    4:4:boolean isOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):117 -> b
    5:5:boolean internalIsAccessModificationRequiredForRepackaging():148:148 -> b
    1:1:boolean internalIsAnnotationRemovalAllowed():75:75 -> c
    2:2:boolean isPinned(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):93:93 -> c
    3:3:boolean isSignatureAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):169:169 -> c
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():634:634 -> c
    4:4:boolean isSignatureAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):172 -> c
    5:5:boolean isSignatureAttributeRemovalAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):172:172 -> c
    1:1:boolean internalIsCheckDiscardedEnabled():83:83 -> d
    2:2:boolean isShrinkingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):131:131 -> d
    3:3:boolean internalIsShrinkingAllowed():135:135 -> d
    3:3:boolean isShrinkingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):131 -> d
    1:1:boolean internalIsMinificationAllowed():107:107 -> e
    1:1:boolean internalIsOptimizationAllowed():121:121 -> f
    1:1:boolean internalIsShrinkingAllowed():135:135 -> g
    1:1:boolean internalIsCheckDiscardedEnabled():83:83 -> h
    1:1:boolean isCheckDiscardedEnabled(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):79 -> h
com.android.tools.r8.shaking.KeepInfo$Builder -> com.android.tools.r8.shaking.p0:
    boolean allowOptimization -> e
    boolean allowShrinking -> f
    boolean checkDiscarded -> g
    com.android.tools.r8.shaking.KeepInfo original -> a
    boolean requireAccessModificationForRepackaging -> h
    boolean allowAccessModification -> b
    boolean allowAnnotationRemoval -> c
    boolean allowMinification -> d
    1:1:void <init>():246:246 -> <init>
    2:11:void <init>(com.android.tools.r8.shaking.KeepInfo):250:259 -> <init>
    1:12:com.android.tools.r8.shaking.KeepInfo build():285:296 -> a
    13:13:boolean isAccessModificationAllowed():315:315 -> a
    13:13:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):300 -> a
    14:14:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):300:300 -> a
    15:15:boolean isAnnotationRemovalAllowed():319:319 -> a
    15:15:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):301 -> a
    16:16:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):301:301 -> a
    17:17:boolean isMinificationAllowed():327:327 -> a
    17:17:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):302 -> a
    18:18:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):302:302 -> a
    19:19:boolean isOptimizationAllowed():331:331 -> a
    19:19:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):303 -> a
    20:20:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):303:303 -> a
    21:21:boolean isShrinkingAllowed():335:335 -> a
    21:21:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):304 -> a
    22:22:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):304:304 -> a
    23:23:boolean isCheckDiscardedEnabled():323:323 -> a
    23:23:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):305 -> a
    24:24:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):305:305 -> a
    25:25:boolean isAccessModificationRequiredForRepackaging():311:311 -> a
    25:25:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):306 -> a
    26:26:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):307:307 -> a
    boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo) -> b
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowAccessModification(boolean):405:406 -> b
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowAccessModification():414 -> b
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowAnnotationRemoval(boolean):418:419 -> c
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowAnnotationRemoval():427 -> c
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowMinification(boolean):339:340 -> d
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowMinification():348 -> d
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowOptimization(boolean):352:353 -> e
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowOptimization():361 -> e
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowShrinking(boolean):365:366 -> f
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder disallowShrinking():374 -> f
    com.android.tools.r8.shaking.KeepInfo doBuild() -> g
    com.android.tools.r8.shaking.KeepInfo getBottomInfo() -> h
    com.android.tools.r8.shaking.KeepInfo getTopInfo() -> i
    1:1:boolean isAccessModificationAllowed():315:315 -> j
    1:1:boolean isAccessModificationRequiredForRepackaging():311:311 -> k
    1:1:boolean isAnnotationRemovalAllowed():319:319 -> l
    1:1:boolean isCheckDiscardedEnabled():323:323 -> m
    1:1:boolean isMinificationAllowed():327:327 -> n
    1:1:boolean isOptimizationAllowed():331:331 -> o
    1:1:boolean isShrinkingAllowed():335:335 -> p
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setAllowAccessModification(boolean):405:406 -> q
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder allowAccessModification():410 -> q
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():274 -> q
    3:4:com.android.tools.r8.shaking.KeepInfo$Builder setAllowAnnotationRemoval(boolean):418:419 -> q
    3:4:com.android.tools.r8.shaking.KeepInfo$Builder allowAnnotationRemoval():423 -> q
    3:4:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():275 -> q
    5:6:com.android.tools.r8.shaking.KeepInfo$Builder setAllowMinification(boolean):339:340 -> q
    5:6:com.android.tools.r8.shaking.KeepInfo$Builder allowMinification():344 -> q
    5:6:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():276 -> q
    7:8:com.android.tools.r8.shaking.KeepInfo$Builder setAllowOptimization(boolean):352:353 -> q
    7:8:com.android.tools.r8.shaking.KeepInfo$Builder allowOptimization():357 -> q
    7:8:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():277 -> q
    9:10:com.android.tools.r8.shaking.KeepInfo$Builder setAllowShrinking(boolean):365:366 -> q
    9:10:com.android.tools.r8.shaking.KeepInfo$Builder allowShrinking():370 -> q
    9:10:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():278 -> q
    11:12:com.android.tools.r8.shaking.KeepInfo$Builder setCheckDiscarded(boolean):378:379 -> q
    11:12:com.android.tools.r8.shaking.KeepInfo$Builder unsetCheckDiscarded():387 -> q
    11:12:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():279 -> q
    13:14:com.android.tools.r8.shaking.KeepInfo$Builder setRequireAccessModificationForRepackaging(boolean):392:393 -> q
    13:14:com.android.tools.r8.shaking.KeepInfo$Builder unsetRequireAccessModificationForRepackaging():401 -> q
    13:14:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():280 -> q
    15:15:com.android.tools.r8.shaking.KeepInfo$Builder makeBottom():281:281 -> q
    1:5:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():263:267 -> r
    6:7:com.android.tools.r8.shaking.KeepInfo$Builder setCheckDiscarded(boolean):378:379 -> r
    6:7:com.android.tools.r8.shaking.KeepInfo$Builder unsetCheckDiscarded():387 -> r
    6:7:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():268 -> r
    8:9:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():269:270 -> r
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setRequireAccessModificationForRepackaging(boolean):392:393 -> s
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder requireAccessModificationForRepackaging():397 -> s
    com.android.tools.r8.shaking.KeepInfo$Builder self() -> t
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setCheckDiscarded(boolean):378:379 -> u
    1:2:com.android.tools.r8.shaking.KeepInfo$Builder setCheckDiscarded():383 -> u
com.android.tools.r8.shaking.KeepInfo$Joiner -> com.android.tools.r8.shaking.q0:
    java.util.Set rules -> b
    boolean $assertionsDisabled -> c
    com.android.tools.r8.shaking.KeepInfo$Builder builder -> a
    1:1:void <clinit>():432:432 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):444:444 -> <init>
    2:5:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):442:445 -> <init>
    com.android.tools.r8.shaking.KeepClassInfo$Joiner asClassJoiner() -> a
    1:3:com.android.tools.r8.shaking.KeepInfo$Joiner applyIf(boolean,java.util.function.Consumer):450:452 -> a
    4:12:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):533:541 -> a
    13:17:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):540:544 -> a
    18:18:boolean verifyShrinkingDisallowedWithRule(com.android.tools.r8.utils.InternalOptions):560:560 -> a
    19:19:boolean isShrinkingAllowed():480:480 -> a
    19:19:boolean verifyShrinkingDisallowedWithRule(com.android.tools.r8.utils.InternalOptions):560 -> a
    20:20:boolean verifyShrinkingDisallowedWithRule(com.android.tools.r8.utils.InternalOptions):560:560 -> a
    21:21:java.util.Set getRules():468:468 -> a
    21:21:boolean verifyShrinkingDisallowedWithRule(com.android.tools.r8.utils.InternalOptions):561 -> a
    22:22:boolean verifyShrinkingDisallowedWithRule(com.android.tools.r8.utils.InternalOptions):561:561 -> a
    com.android.tools.r8.shaking.KeepFieldInfo$Joiner asFieldJoiner() -> b
    com.android.tools.r8.shaking.KeepMethodInfo$Joiner asMethodJoiner() -> c
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowAccessModification():498:499 -> d
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowAnnotationRemoval():503:504 -> e
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowMinification():508:509 -> f
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowOptimization():513:514 -> g
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner disallowShrinking():518:519 -> h
    1:1:boolean isBottom():472:472 -> i
    1:1:boolean isCheckDiscardedEnabled():476:476 -> j
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner requireAccessModificationForRepackaging():528:529 -> k
    com.android.tools.r8.shaking.KeepInfo$Joiner self() -> l
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner setCheckDiscarded():523:524 -> m
    1:2:com.android.tools.r8.shaking.KeepInfo$Joiner top():488:489 -> n
com.android.tools.r8.shaking.KeepInfoCollection -> com.android.tools.r8.shaking.t0:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():40:40 -> <clinit>
    1:1:void <init>():40:40 -> <init>
    void forEachPinnedField(java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions) -> a
    void forEachRuleInstance(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer) -> a
    com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexProgramClass) -> a
    com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass) -> a
    com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass) -> a
    com.android.tools.r8.shaking.KeepInfoCollection mutate(java.util.function.Consumer) -> a
    com.android.tools.r8.shaking.KeepInfoCollection rewrite(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions) -> a
    boolean verifyPinnedTypesAreLive(java.util.Set,com.android.tools.r8.utils.InternalOptions) -> a
    1:1:com.android.tools.r8.shaking.KeepMemberInfo getMemberInfo(com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.graph.DexProgramClass):88:88 -> a
    2:2:boolean com.android.tools.r8.graph.DexDefinition.isDexEncodedField():0:0 -> a
    2:2:com.android.tools.r8.shaking.KeepMemberInfo getMemberInfo(com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.graph.DexProgramClass):88 -> a
    3:6:com.android.tools.r8.shaking.KeepMemberInfo getMemberInfo(com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.graph.DexProgramClass):89:92 -> a
    7:7:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):131:131 -> a
    8:8:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    8:8:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):131 -> a
    9:9:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):132:132 -> a
    10:10:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):96:96 -> a
    10:10:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):132 -> a
    11:11:com.android.tools.r8.shaking.KeepClassInfo keepInfoForNonProgramClass():50:50 -> a
    11:11:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97 -> a
    11:11:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):132 -> a
    12:12:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexDefinitionSupplier):97:97 -> a
    12:12:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):132 -> a
    13:14:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):134:135 -> a
    15:15:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):109:109 -> a
    15:15:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):135 -> a
    16:16:com.android.tools.r8.shaking.KeepMethodInfo keepInfoForNonProgramMethod():55:55 -> a
    16:16:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):111 -> a
    16:16:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):135 -> a
    17:18:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexDefinitionSupplier):113:114 -> a
    17:18:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):135 -> a
    19:20:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):137:138 -> a
    21:21:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):122:122 -> a
    21:21:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):138 -> a
    22:22:com.android.tools.r8.shaking.KeepFieldInfo keepInfoForNonProgramField():60:60 -> a
    22:22:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):124 -> a
    22:22:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):138 -> a
    23:24:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexDefinitionSupplier):126:127 -> a
    23:24:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):138 -> a
    25:25:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier):140:140 -> a
    26:30:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.ProgramDefinition):144:148 -> a
    31:31:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.ProgramMethod):105:105 -> a
    31:31:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.ProgramDefinition):148 -> a
    32:33:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.ProgramDefinition):150:151 -> a
    34:34:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.ProgramField):118:118 -> a
    34:34:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.ProgramDefinition):151 -> a
    35:35:com.android.tools.r8.shaking.KeepInfo getInfo(com.android.tools.r8.graph.ProgramDefinition):153:153 -> a
    void forEachPinnedMethod(java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions) -> b
    void forEachPinnedType(java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions) -> c
com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection -> com.android.tools.r8.shaking.s0:
    java.util.Map keepClassInfo -> b
    java.util.Map keepMethodInfo -> c
    java.util.Map keepFieldInfo -> d
    boolean $assertionsDisabled -> h
    java.util.Map classRuleInstances -> e
    java.util.Map fieldRuleInstances -> f
    java.util.Map methodRuleInstances -> g
    1:1:void <clinit>():210:210 -> <clinit>
    1:1:void <init>():224:224 -> <init>
    2:8:void <init>(java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Map):239:245 -> <init>
    1:1:com.android.tools.r8.shaking.KeepMethodInfo com.android.tools.r8.shaking.KeepInfoCollection.getMethodInfo(com.android.tools.r8.graph.ProgramMethod):105:105 -> a
    1:1:void joinMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):447 -> a
    2:7:void joinMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):448:453 -> a
    8:10:com.android.tools.r8.shaking.KeepInfo com.android.tools.r8.shaking.KeepInfo$Joiner.join():553:555 -> a
    8:10:void joinMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):454 -> a
    11:13:void joinMethod(com.android.tools.r8.graph.ProgramMethod,java.util.function.Consumer):454:456 -> a
    14:14:com.android.tools.r8.shaking.KeepFieldInfo com.android.tools.r8.shaking.KeepInfoCollection.getFieldInfo(com.android.tools.r8.graph.ProgramField):118:118 -> a
    14:14:void joinField(com.android.tools.r8.graph.ProgramField,java.util.function.Consumer):488 -> a
    15:20:void joinField(com.android.tools.r8.graph.ProgramField,java.util.function.Consumer):489:494 -> a
    21:23:com.android.tools.r8.shaking.KeepInfo com.android.tools.r8.shaking.KeepInfo$Joiner.join():553:555 -> a
    21:23:void joinField(com.android.tools.r8.graph.ProgramField,java.util.function.Consumer):495 -> a
    24:26:void joinField(com.android.tools.r8.graph.ProgramField,java.util.function.Consumer):495:497 -> a
    27:34:void removeKeepInfoForMergedClasses(com.android.tools.r8.graph.PrunedItems):249:256 -> a
    35:94:com.android.tools.r8.shaking.KeepInfoCollection rewrite(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions):275:334 -> a
    95:95:void lambda$rewrite$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexDefinitionSupplier,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):278:278 -> a
    96:96:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    96:96:void lambda$rewrite$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexDefinitionSupplier,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):278 -> a
    97:101:void lambda$rewrite$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexDefinitionSupplier,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):279:283 -> a
    102:102:void lambda$rewrite$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexDefinitionSupplier,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):282:282 -> a
    103:109:void lambda$rewrite$0(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.graph.DexDefinitionSupplier,java.util.Map,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):279:285 -> a
    110:110:boolean lambda$rewrite$1(java.lang.Boolean):300:300 -> a
    111:111:com.android.tools.r8.graph.DexType lambda$rewrite$4(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DexType):324:324 -> a
    112:112:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    112:112:com.android.tools.r8.graph.DexType lambda$rewrite$4(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DexType):324 -> a
    113:116:com.android.tools.r8.graph.DexType lambda$rewrite$4(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DexType):325:328 -> a
    117:117:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.getRenamedFieldSignature(com.android.tools.r8.graph.DexField):333:333 -> a
    117:117:void lambda$rewrite$3(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.KeepFieldInfo):310 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    118:121:void lambda$rewrite$3(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.KeepFieldInfo):311:311 -> a
    124:125:void lambda$rewrite$3(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.KeepFieldInfo):314:315 -> a
    126:131:java.util.Map rewriteRuleInstances(java.util.Map,java.util.function.Function,java.util.function.Supplier):342:342 -> a
    132:132:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    132:132:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):290 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    133:135:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):291:291 -> a
    138:142:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):294:298 -> a
    143:147:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):296:300 -> a
    148:155:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):295:302 -> a
    156:156:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    156:156:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):302 -> a
    157:159:void lambda$rewrite$2(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.utils.InternalOptions,java.util.Map,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):301:303 -> a
    160:160:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$rewriteRuleInstances$5(java.util.function.Supplier,java.lang.Object,com.android.tools.r8.shaking.KeepInfo$Joiner,com.android.tools.r8.shaking.KeepInfo$Joiner):348:348 -> a
    161:177:void forEachRuleInstance(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer):357:373 -> a
    178:180:void lambda$forEachRuleInstance$6(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo$Joiner):359:361 -> a
    181:184:void lambda$forEachRuleInstance$7(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.KeepFieldInfo$Joiner):367:370 -> a
    185:188:void lambda$forEachRuleInstance$8(com.android.tools.r8.graph.AppView,java.util.function.BiConsumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):376:379 -> a
    189:193:void evaluateMethodRule(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):403:407 -> a
    194:194:void lambda$evaluateMethodRule$11(com.android.tools.r8.shaking.KeepMethodInfo$Joiner,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):404:404 -> a
    195:195:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexProgramClass):413:413 -> a
    196:196:com.android.tools.r8.shaking.KeepClassInfo getClassInfo(com.android.tools.r8.graph.DexProgramClass):413:413 -> a
    196:196:void joinClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):429 -> a
    197:202:void joinClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):430:435 -> a
    203:205:com.android.tools.r8.shaking.KeepInfo com.android.tools.r8.shaking.KeepInfo$Joiner.join():553:555 -> a
    203:205:void joinClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):436 -> a
    206:208:void joinClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):436:438 -> a
    209:210:com.android.tools.r8.shaking.KeepMethodInfo getMethodInfo(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexProgramClass):418:419 -> a
    211:212:com.android.tools.r8.shaking.KeepFieldInfo getFieldInfo(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexProgramClass):424:425 -> a
    213:213:void keepMethod(com.android.tools.r8.graph.ProgramMethod):461:461 -> a
    214:214:void keepField(com.android.tools.r8.graph.ProgramField):502:502 -> a
    215:215:com.android.tools.r8.shaking.KeepInfoCollection mutate(java.util.function.Consumer):507:507 -> a
    216:216:boolean verifyPinnedTypesAreLive(java.util.Set,com.android.tools.r8.utils.InternalOptions):513:513 -> a
    217:217:void lambda$verifyPinnedTypesAreLive$12(com.android.tools.r8.utils.InternalOptions,java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):515:515 -> a
    218:219:void lambda$forEachPinnedType$13(com.android.tools.r8.utils.InternalOptions,java.util.function.Consumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepClassInfo):524:525 -> a
    220:221:void lambda$forEachPinnedMethod$14(com.android.tools.r8.utils.InternalOptions,java.util.function.Consumer,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.KeepMethodInfo):534:535 -> a
    222:222:void forEachPinnedField(java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):542:542 -> a
    223:224:void lambda$forEachPinnedField$15(com.android.tools.r8.utils.InternalOptions,java.util.function.Consumer,com.android.tools.r8.graph.DexField,com.android.tools.r8.shaking.KeepFieldInfo):544:545 -> a
    1:8:void removeKeepInfoForPrunedItems(com.android.tools.r8.graph.PrunedItems):261:268 -> b
    9:9:void keepClass(com.android.tools.r8.graph.DexProgramClass):443:443 -> b
    10:10:void forEachPinnedMethod(java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):532:532 -> b
    1:1:void forEachPinnedType(java.util.function.Consumer,com.android.tools.r8.utils.InternalOptions):522:522 -> c
com.android.tools.r8.shaking.KeepMemberInfo -> com.android.tools.r8.shaking.u0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepInfo$Builder):15:15 -> <init>
    1:3:boolean isRepackagingAllowed(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):21:23 -> a
com.android.tools.r8.shaking.KeepMethodInfo -> com.android.tools.r8.shaking.x0:
    boolean allowParameterReordering -> m
    boolean allowParameterTypeStrengthening -> n
    boolean allowReturnTypeStrengthening -> o
    boolean allowUnusedArgumentOptimization -> p
    boolean allowClosedWorldReasoning -> i
    boolean allowConstantArgumentOptimization -> j
    boolean allowInlining -> k
    boolean allowMethodStaticizing -> l
    boolean allowUnusedReturnValueOptimization -> q
    boolean $assertionsDisabled -> t
    com.android.tools.r8.shaking.KeepMethodInfo TOP -> r
    com.android.tools.r8.shaking.KeepMethodInfo BOTTOM -> s
    boolean allowClassInlining -> h
    1:7:void <clinit>():7:13 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.KeepMethodInfo$Builder,com.android.tools.r8.shaking.KeepMethodInfo$1):7:7 -> <init>
    2:12:void <init>(com.android.tools.r8.shaking.KeepMethodInfo$Builder):39:49 -> <init>
    1:1:boolean isClassInliningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):71:71 -> d
    2:2:boolean internalIsClassInliningAllowed():75:75 -> d
    2:2:boolean isClassInliningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):71 -> d
    1:1:boolean isClosedWorldReasoningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):79:79 -> e
    2:2:boolean internalIsClosedWorldReasoningAllowed():83:83 -> e
    2:2:boolean isClosedWorldReasoningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):79 -> e
    3:3:boolean isConstantArgumentOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):87:87 -> e
    4:4:boolean internalIsConstantArgumentOptimizationAllowed():91:91 -> e
    4:4:boolean isConstantArgumentOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):87 -> e
    1:1:boolean isInliningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):95:95 -> f
    2:2:boolean internalIsInliningAllowed():99:99 -> f
    2:2:boolean isInliningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):95 -> f
    1:3:boolean isMethodStaticizingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):103:105 -> g
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isMethodStaticizingEnabled():702:702 -> g
    4:4:boolean isMethodStaticizingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):106 -> g
    5:5:boolean internalIsMethodStaticizingAllowed():111:111 -> g
    5:5:boolean isMethodStaticizingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):107 -> g
    1:3:boolean isParameterReorderingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):115:117 -> h
    4:4:boolean internalIsParameterReorderingAllowed():122:122 -> h
    4:4:boolean isParameterReorderingAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):118 -> h
    1:1:com.android.tools.r8.shaking.KeepMethodInfo access$200():7:7 -> i
    2:4:boolean isParameterTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):126:128 -> i
    5:5:boolean internalIsParameterTypeStrengtheningAllowed():133:133 -> i
    5:5:boolean isParameterTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):129 -> i
    1:1:com.android.tools.r8.shaking.KeepMethodInfo access$300():7:7 -> j
    2:4:boolean isReturnTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):137:139 -> j
    5:5:boolean internalIsReturnTypeStrengtheningAllowed():144:144 -> j
    5:5:boolean isReturnTypeStrengtheningAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):140 -> j
    1:1:com.android.tools.r8.shaking.KeepMethodInfo bottom():20:20 -> k
    2:4:boolean isUnusedArgumentOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):148:150 -> k
    5:5:boolean internalIsUnusedArgumentOptimizationAllowed():155:155 -> k
    5:5:boolean isUnusedArgumentOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):151 -> k
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder builder():56:56 -> l
    2:4:boolean isUnusedReturnValueOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):159:161 -> l
    5:5:boolean internalIsUnusedReturnValueOptimizationAllowed():166:166 -> l
    5:5:boolean isUnusedReturnValueOptimizationAllowed(com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):162 -> l
    1:1:boolean internalIsClassInliningAllowed():75:75 -> m
    1:1:boolean internalIsClosedWorldReasoningAllowed():83:83 -> n
    1:1:boolean internalIsConstantArgumentOptimizationAllowed():91:91 -> o
    1:1:boolean internalIsInliningAllowed():99:99 -> p
    1:1:boolean internalIsMethodStaticizingAllowed():111:111 -> q
    1:1:boolean internalIsParameterReorderingAllowed():122:122 -> r
    1:1:boolean internalIsParameterTypeStrengtheningAllowed():133:133 -> s
    1:1:boolean internalIsReturnTypeStrengtheningAllowed():144:144 -> t
    1:1:boolean internalIsUnusedArgumentOptimizationAllowed():155:155 -> u
    1:1:boolean internalIsUnusedReturnValueOptimizationAllowed():166:166 -> v
    1:1:com.android.tools.r8.shaking.KeepMethodInfo top():16:16 -> w
    1:1:boolean isTop():176 -> w
    2:2:boolean isTop():176:176 -> w
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner joiner():170:170 -> x
    2:2:com.android.tools.r8.shaking.KeepMethodInfo top():16:16 -> x
    2:2:boolean isTop():176 -> x
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Joiner joiner():170 -> x
    3:3:boolean isTop():176:176 -> x
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Joiner joiner():170 -> x
    4:5:com.android.tools.r8.shaking.KeepMethodInfo$Joiner joiner():170:171 -> x
    1:1:com.android.tools.r8.shaking.KeepMethodInfo bottom():20:20 -> y
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner newEmptyJoiner():24 -> y
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Joiner newEmptyJoiner():24:24 -> y
    1:1:com.android.tools.r8.shaking.KeepMethodInfo top():16:16 -> z
com.android.tools.r8.shaking.KeepMethodInfo$Builder -> com.android.tools.r8.shaking.v0:
    boolean allowMethodStaticizing -> m
    boolean allowParameterReordering -> n
    boolean allowParameterTypeStrengthening -> o
    boolean allowReturnTypeStrengthening -> p
    boolean allowClassInlining -> i
    boolean allowClosedWorldReasoning -> j
    boolean allowConstantArgumentOptimization -> k
    boolean allowInlining -> l
    boolean allowUnusedArgumentOptimization -> q
    boolean allowUnusedReturnValueOptimization -> r
    1:1:void <init>(com.android.tools.r8.shaking.KeepMethodInfo$1):184:184 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.KeepMethodInfo,com.android.tools.r8.shaking.KeepMethodInfo$1):184:184 -> <init>
    3:3:void <init>():198:198 -> <init>
    4:15:void <init>(com.android.tools.r8.shaking.KeepMethodInfo):202:213 -> <init>
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterReordering(boolean):318:318 -> A
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowParameterReordering():327 -> A
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterTypeStrengthening(boolean):337:337 -> B
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowParameterTypeStrengthening():346 -> B
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowReturnTypeStrengthening(boolean):356:356 -> C
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowReturnTypeStrengthening():365 -> C
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowUnusedArgumentOptimization(boolean):375:375 -> D
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowUnusedArgumentOptimization():384 -> D
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowUnusedReturnValueOptimization(boolean):395:395 -> E
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowUnusedReturnValueOptimization():404 -> E
    1:1:boolean isClassInliningAllowed():219:219 -> F
    1:1:boolean isClosedWorldReasoningAllowed():238:238 -> G
    1:1:boolean isConstantArgumentOptimizationAllowed():257:257 -> H
    1:1:boolean isInliningAllowed():276:276 -> I
    1:1:boolean isMethodStaticizingAllowed():295:295 -> J
    1:1:boolean isParameterReorderingAllowed():314:314 -> K
    1:1:boolean isParameterTypeStrengtheningAllowed():333:333 -> L
    1:1:boolean isReturnTypeStrengtheningAllowed():352:352 -> M
    1:1:boolean isUnusedArgumentOptimizationAllowed():371:371 -> N
    1:1:boolean isUnusedReturnValueOptimizationAllowed():390:390 -> O
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():468:468 -> P
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClassInlining(boolean):223:223 -> P
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowClassInlining():228 -> P
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():469 -> P
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClosedWorldReasoning(boolean):242:242 -> P
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowClosedWorldReasoning():247 -> P
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():470 -> P
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowConstantArgumentOptimization(boolean):261:261 -> P
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowConstantArgumentOptimization():266 -> P
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():471 -> P
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowInlining(boolean):280:280 -> P
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowInlining():285 -> P
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():472 -> P
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowMethodStaticizing(boolean):299:299 -> P
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowMethodStaticizing():304 -> P
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():473 -> P
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterReordering(boolean):318:318 -> P
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowParameterReordering():323 -> P
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():474 -> P
    8:8:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterTypeStrengthening(boolean):337:337 -> P
    8:8:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowParameterTypeStrengthening():342 -> P
    8:8:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():475 -> P
    9:9:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowReturnTypeStrengthening(boolean):356:356 -> P
    9:9:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowReturnTypeStrengthening():361 -> P
    9:9:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():476 -> P
    10:10:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowUnusedArgumentOptimization(boolean):375:375 -> P
    10:10:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowUnusedArgumentOptimization():380 -> P
    10:10:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():477 -> P
    11:11:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowUnusedReturnValueOptimization(boolean):395:395 -> P
    11:11:com.android.tools.r8.shaking.KeepMethodInfo$Builder allowUnusedReturnValueOptimization():400 -> P
    11:11:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeBottom():478 -> P
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():453:453 -> Q
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClassInlining(boolean):223:223 -> Q
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowClassInlining():232 -> Q
    2:2:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():454 -> Q
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClosedWorldReasoning(boolean):242:242 -> Q
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowClosedWorldReasoning():251 -> Q
    3:3:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():455 -> Q
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowConstantArgumentOptimization(boolean):261:261 -> Q
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowConstantArgumentOptimization():270 -> Q
    4:4:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():456 -> Q
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowInlining(boolean):280:280 -> Q
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowInlining():289 -> Q
    5:5:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():457 -> Q
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowMethodStaticizing(boolean):299:299 -> Q
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowMethodStaticizing():308 -> Q
    6:6:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():458 -> Q
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterReordering(boolean):318:318 -> Q
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowParameterReordering():327 -> Q
    7:7:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():459 -> Q
    8:8:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowParameterTypeStrengthening(boolean):337:337 -> Q
    8:8:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowParameterTypeStrengthening():346 -> Q
    8:8:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():460 -> Q
    9:9:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowReturnTypeStrengthening(boolean):356:356 -> Q
    9:9:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowReturnTypeStrengthening():365 -> Q
    9:9:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():461 -> Q
    10:10:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowUnusedArgumentOptimization(boolean):375:375 -> Q
    10:10:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowUnusedArgumentOptimization():384 -> Q
    10:10:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():462 -> Q
    11:11:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowUnusedReturnValueOptimization(boolean):395:395 -> Q
    11:11:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowUnusedReturnValueOptimization():404 -> Q
    11:11:com.android.tools.r8.shaking.KeepMethodInfo$Builder makeTop():463 -> Q
    1:1:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepInfo):184:184 -> a
    2:2:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):429:429 -> a
    3:3:boolean isClassInliningAllowed():219:219 -> a
    3:3:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):430 -> a
    4:4:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):430:430 -> a
    5:5:boolean isClosedWorldReasoningAllowed():238:238 -> a
    5:5:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):431 -> a
    6:6:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):431:431 -> a
    7:7:boolean isConstantArgumentOptimizationAllowed():257:257 -> a
    7:7:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):432 -> a
    8:8:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):433:433 -> a
    9:9:boolean isInliningAllowed():276:276 -> a
    9:9:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):434 -> a
    10:10:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):434:434 -> a
    11:11:boolean isMethodStaticizingAllowed():295:295 -> a
    11:11:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):435 -> a
    12:12:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):435:435 -> a
    13:13:boolean isParameterReorderingAllowed():314:314 -> a
    13:13:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):436 -> a
    14:14:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):436:436 -> a
    15:15:boolean isParameterTypeStrengtheningAllowed():333:333 -> a
    15:15:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):437 -> a
    16:16:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):438:438 -> a
    17:17:boolean isReturnTypeStrengtheningAllowed():352:352 -> a
    17:17:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):439 -> a
    18:18:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):439:439 -> a
    19:19:boolean isUnusedArgumentOptimizationAllowed():371:371 -> a
    19:19:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):440 -> a
    20:20:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):441:441 -> a
    21:21:boolean isUnusedReturnValueOptimizationAllowed():390:390 -> a
    21:21:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):442 -> a
    22:22:boolean internalIsEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):443:443 -> a
    1:1:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):184:184 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepMethodInfo):424:424 -> b
    2:2:boolean isEqualTo(com.android.tools.r8.shaking.KeepInfo):184 -> b
    1:1:com.android.tools.r8.shaking.KeepMethodInfo doBuild():448:448 -> g
    1:1:com.android.tools.r8.shaking.KeepInfo doBuild():184 -> g
    1:1:com.android.tools.r8.shaking.KeepMethodInfo getBottomInfo():419:419 -> h
    1:1:com.android.tools.r8.shaking.KeepInfo getBottomInfo():184 -> h
    1:1:com.android.tools.r8.shaking.KeepMethodInfo getTopInfo():414:414 -> i
    1:1:com.android.tools.r8.shaking.KeepInfo getTopInfo():184 -> i
    1:1:com.android.tools.r8.shaking.KeepInfo$Builder makeTop():184:184 -> r
    com.android.tools.r8.shaking.KeepInfo$Builder self() -> t
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClassInlining(boolean):223:223 -> v
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowClassInlining():232 -> v
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowClosedWorldReasoning(boolean):242:242 -> w
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowClosedWorldReasoning():251 -> w
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowConstantArgumentOptimization(boolean):261:261 -> x
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowConstantArgumentOptimization():270 -> x
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowInlining(boolean):280:280 -> y
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowInlining():289 -> y
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder setAllowMethodStaticizing(boolean):299:299 -> z
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Builder disallowMethodStaticizing():308 -> z
com.android.tools.r8.shaking.KeepMethodInfo$Joiner -> com.android.tools.r8.shaking.w0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepMethodInfo):485:485 -> <init>
    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner merge(com.android.tools.r8.shaking.KeepInfo$Joiner):482:482 -> a
    2:5:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):546:549 -> a
    6:9:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):548:551 -> a
    10:16:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):550:556 -> a
    17:20:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):555:558 -> a
    21:25:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):557:561 -> a
    26:30:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):560:564 -> a
    31:35:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):563:567 -> a
    36:36:com.android.tools.r8.shaking.KeepMethodInfo$Joiner merge(com.android.tools.r8.shaking.KeepMethodInfo$Joiner):566:566 -> a
    com.android.tools.r8.shaking.KeepMethodInfo$Joiner asMethodJoiner() -> c
    com.android.tools.r8.shaking.KeepInfo$Joiner self() -> l
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowClassInlining():489:489 -> o
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowClosedWorldReasoning():494:494 -> p
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowConstantArgumentOptimization():499:499 -> q
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowInlining():504:504 -> r
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowMethodStaticizing():509:509 -> s
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowParameterReordering():514:514 -> t
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowParameterTypeStrengthening():519:519 -> u
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowReturnTypeStrengthening():524:524 -> v
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowUnusedArgumentOptimization():529:529 -> w
    1:1:com.android.tools.r8.shaking.KeepMethodInfo$Joiner disallowUnusedReturnValueOptimization():534:534 -> x
com.android.tools.r8.shaking.KeepReason -> com.android.tools.r8.shaking.K0:
    1:1:void <init>():19:19 -> <init>
    com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind() -> a
    com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter) -> a
    1:1:com.android.tools.r8.shaking.KeepReason referencedInAnnotation(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):67:67 -> a
    2:2:com.android.tools.r8.shaking.KeepReason reflectiveUseIn(com.android.tools.r8.graph.ProgramMethod):83:83 -> a
com.android.tools.r8.shaking.KeepReason$AnnotatedOn -> com.android.tools.r8.shaking.y0:
    com.android.tools.r8.graph.DexDefinition holder -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():253:253 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.shaking.KeepReason$1):253:253 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexDefinition):257:258 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():263:263 -> a
    2:4:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):268:270 -> a
    5:5:boolean com.android.tools.r8.graph.DexDefinition.isDexEncodedField():0:0 -> a
    5:5:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):270 -> a
    6:9:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):271:274 -> a
com.android.tools.r8.shaking.KeepReason$BasedOnOtherMethod -> com.android.tools.r8.shaking.z0:
    com.android.tools.r8.graph.DexEncodedMethod method -> a
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):90:90 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexEncodedMethod):94:95 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):106:106 -> a
com.android.tools.r8.shaking.KeepReason$InstantiatedIn -> com.android.tools.r8.shaking.A0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):110:110 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):113:113 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():118:118 -> a
com.android.tools.r8.shaking.KeepReason$InvokedFrom -> com.android.tools.r8.shaking.B0:
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():161:161 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):161:161 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):164:165 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():170:170 -> a
com.android.tools.r8.shaking.KeepReason$InvokedFromLambdaCreatedIn -> com.android.tools.r8.shaking.C0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):179:179 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):182:182 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():187:187 -> a
com.android.tools.r8.shaking.KeepReason$InvokedViaSuper -> com.android.tools.r8.shaking.D0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):127:127 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):130:130 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():135:135 -> a
com.android.tools.r8.shaking.KeepReason$MethodHandleReferencedFrom -> com.android.tools.r8.shaking.E0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):301:301 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):304:304 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():309:309 -> a
com.android.tools.r8.shaking.KeepReason$ReachableFromLiveType -> com.android.tools.r8.shaking.F0:
    com.android.tools.r8.graph.DexType type -> a
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.KeepReason$1):213:213 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexType):217:218 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():223:223 -> a
    2:2:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):228:228 -> a
com.android.tools.r8.shaking.KeepReason$ReferencedFrom -> com.android.tools.r8.shaking.G0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):196:196 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):199:199 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():204:204 -> a
com.android.tools.r8.shaking.KeepReason$ReferencedInAnnotation -> com.android.tools.r8.shaking.H0:
    com.android.tools.r8.graph.DexAnnotation annotation -> a
    com.android.tools.r8.graph.ProgramDefinition annotatedItem -> b
    1:1:void <init>(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.KeepReason$1):232:232 -> <init>
    2:4:void <init>(com.android.tools.r8.graph.DexAnnotation,com.android.tools.r8.graph.ProgramDefinition):237:239 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():244:244 -> a
    2:2:com.android.tools.r8.experimental.graphinfo.GraphNode getSourceNode(com.android.tools.r8.shaking.GraphReporter):249:249 -> a
com.android.tools.r8.shaking.KeepReason$ReflectiveUseFrom -> com.android.tools.r8.shaking.I0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):279:279 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):282:282 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():292:292 -> a
com.android.tools.r8.shaking.KeepReason$TargetedBySuper -> com.android.tools.r8.shaking.J0:
    1:1:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.shaking.KeepReason$1):144:144 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexEncodedMethod):147:147 -> <init>
    1:1:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo$EdgeKind edgeKind():152:152 -> a
com.android.tools.r8.shaking.KeepUnusedArgumentRule -> com.android.tools.r8.shaking.M0:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.KeepUnusedArgumentRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):59:59 -> <init>
    1:1:java.lang.String typeString():81:81 -> C
com.android.tools.r8.shaking.KeepUnusedArgumentRule$Builder -> com.android.tools.r8.shaking.L0:
    1:1:void <init>(com.android.tools.r8.shaking.KeepUnusedArgumentRule$1):14:14 -> <init>
    2:2:void <init>():18:18 -> <init>
    1:11:com.android.tools.r8.shaking.KeepUnusedArgumentRule build():28:38 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():14 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.KeepUnusedReturnValueRule -> com.android.tools.r8.shaking.O0:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):60:60 -> <init>
    1:1:java.lang.String typeString():82:82 -> C
com.android.tools.r8.shaking.KeepUnusedReturnValueRule$Builder -> com.android.tools.r8.shaking.N0:
    1:1:void <init>():19:19 -> <init>
    1:11:com.android.tools.r8.shaking.KeepUnusedReturnValueRule build():29:39 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():15 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.L8TreePruner -> com.android.tools.r8.internal.uA:
    java.util.List pruned -> b
    java.util.Set emulatedInterfaces -> a
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions):29:29 -> <init>
    2:10:void <init>(com.android.tools.r8.utils.InternalOptions):25:33 -> <init>
    11:11:void <init>(com.android.tools.r8.utils.InternalOptions):32:32 -> <init>
    1:11:com.android.tools.r8.graph.DexApplication prune(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.ir.desugar.TypeRewriter):37:47 -> a
    12:26:com.android.tools.r8.graph.DexApplication prune(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.ir.desugar.TypeRewriter):44:58 -> a
    27:27:boolean lambda$prune$0(com.android.tools.r8.graph.DexType):52:52 -> a
com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis -> com.android.tools.r8.internal.yB:
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap escapeDebuggingCounters -> c
    java.util.Set nonEscapingClassesWithLibraryMethodOverrides -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():28:28 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):40:40 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView):38:44 -> <init>
    9:9:void <init>(com.android.tools.r8.graph.AppView):43:43 -> <init>
    1:4:java.util.Set getClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):64:67 -> a
    5:5:java.util.Set getClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):66:66 -> a
    6:10:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis.hasLibraryMethodOverrideDirectly(com.android.tools.r8.graph.DexProgramClass):84:88 -> a
    6:10:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis.hasLibraryMethodOverrideDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass,java.util.Set):79 -> a
    6:10:void lambda$getClassesWithLibraryMethodOverrides$0(java.util.Set,com.android.tools.r8.graph.DexProgramClass):69 -> a
    11:15:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis.hasLibraryMethodOverrideIndirectly(com.android.tools.r8.graph.DexProgramClass,java.util.Set):97:101 -> a
    11:15:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis.hasLibraryMethodOverrideDirectlyOrIndirectly(com.android.tools.r8.graph.DexProgramClass,java.util.Set):80 -> a
    11:15:void lambda$getClassesWithLibraryMethodOverrides$0(java.util.Set,com.android.tools.r8.graph.DexProgramClass):69 -> a
    16:16:void lambda$getClassesWithLibraryMethodOverrides$0(java.util.Set,com.android.tools.r8.graph.DexProgramClass):71:71 -> a
    17:45:void analyze(com.android.tools.r8.ir.code.IRCode):109:137 -> a
    46:46:void analyze(com.android.tools.r8.ir.code.IRCode):136:136 -> a
    47:47:void finish():147:147 -> a
    48:52:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis.verifyNoUninstantiatedTypesEscapeIntoLibrary():153:157 -> a
    48:52:void finish():147 -> a
    53:53:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis.verifyNoUninstantiatedTypesEscapeIntoLibrary():155:155 -> a
    53:53:void finish():147 -> a
    54:54:void finish():148:148 -> a
    55:55:boolean lambda$finish$1(com.android.tools.r8.graph.DexType):149:149 -> a
    56:59:void lambda$logResults$2(java.lang.Class):177:180 -> a
    60:60:void lambda$logResults$2(java.lang.Class):176:176 -> a
    1:8:java.util.Set getInitialNonEscapingClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):50:57 -> b
    9:9:java.util.Set getInitialNonEscapingClassesWithLibraryMethodOverrides(com.android.tools.r8.graph.AppView):56:56 -> b
    10:14:void logResults():163:167 -> b
    15:22:void logResults():164:171 -> b
    23:27:void logResults():168:172 -> b
    28:28:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntLinkedOpenHashMap.keySet():87:87 -> b
    28:28:void logResults():173 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    29:30:void logResults():173:174 -> b
com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration -> com.android.tools.r8.internal.xB:
    com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration INSTANCE -> a
    1:1:void <clinit>():185:185 -> <clinit>
    1:1:void <init>():188:188 -> <init>
    1:1:com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration getInstance():191:191 -> a
    2:4:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):200:202 -> a
    5:27:boolean com.android.tools.r8.shaking.LibraryMethodOverrideAnalysis$LibraryEscapeAnalysisConfiguration.isLegitimateConstructorInvocation(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):212:234 -> a
    5:27:boolean isLegitimateEscapeRoute(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.escape.EscapeAnalysis,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.graph.ProgramMethod):201 -> a
com.android.tools.r8.shaking.LibraryModeledPredicate -> com.android.tools.r8.internal.BB:
    boolean isModeled(com.android.tools.r8.graph.DexType) -> c
com.android.tools.r8.shaking.MainDexDirectReferenceTracer -> com.android.tools.r8.internal.nD:
    com.android.tools.r8.graph.AppView appView -> b
    java.util.function.Consumer consumer -> c
    com.android.tools.r8.shaking.MainDexDirectReferenceTracer$AnnotationDirectReferenceCollector annotationDirectReferenceCollector -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Consumer):38:38 -> <init>
    2:11:void <init>(com.android.tools.r8.graph.AppView,java.util.function.Consumer):31:40 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.shaking.MainDexDirectReferenceTracer):30:30 -> a
    2:2:void access$400(com.android.tools.r8.shaking.MainDexDirectReferenceTracer,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):30:30 -> a
    3:6:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceMethodDirectDependencies(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):100:103 -> a
    3:6:void access$400(com.android.tools.r8.shaking.MainDexDirectReferenceTracer,com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):30 -> a
    7:14:void run(java.util.Set):44:51 -> a
    15:15:boolean com.android.tools.r8.graph.DexAnnotation.hasSynthesizedClassAnnotation(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):405:405 -> a
    15:15:void run(java.util.Set):50 -> a
    16:16:void run(java.util.Set):52:52 -> a
    17:17:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceAnnotationsDirectDependencies(com.android.tools.r8.graph.DexAnnotationSet):96:96 -> a
    17:17:void run(java.util.Set):52 -> a
    18:18:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    18:18:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceAnnotationsDirectDependencies(com.android.tools.r8.graph.DexAnnotationSet):96 -> a
    18:18:void run(java.util.Set):52 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    19:19:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):120:120 -> a
    19:19:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceAnnotationsDirectDependencies(com.android.tools.r8.graph.DexAnnotationSet):96 -> a
    19:19:void run(java.util.Set):52 -> a
    20:20:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    20:20:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceAnnotationsDirectDependencies(com.android.tools.r8.graph.DexAnnotationSet):96 -> a
    20:20:void run(java.util.Set):52 -> a
    21:21:void com.android.tools.r8.graph.DexAnnotation.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):105:105 -> a
    21:21:void com.android.tools.r8.graph.DexAnnotationSet.collectIndexedItems(com.android.tools.r8.dex.IndexedItemCollection):121 -> a
    21:21:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceAnnotationsDirectDependencies(com.android.tools.r8.graph.DexAnnotationSet):96 -> a
    21:21:void run(java.util.Set):52 -> a
    22:23:void run(java.util.Set):54:55 -> a
    24:24:void lambda$run$0(com.android.tools.r8.graph.DexEncodedField):54:54 -> a
    25:25:boolean lambda$run$1(com.android.tools.r8.graph.DexEncodedMethod):57:57 -> a
    26:29:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer.traceMethodDirectDependencies(com.android.tools.r8.graph.DexMethod,java.util.function.Consumer):100:103 -> a
    26:29:boolean lambda$run$1(com.android.tools.r8.graph.DexEncodedMethod):57 -> a
    30:30:boolean lambda$run$1(com.android.tools.r8.graph.DexEncodedMethod):58:58 -> a
    31:31:void runOnCode(com.android.tools.r8.graph.ProgramMethod):65:65 -> a
    32:45:com.android.tools.r8.graph.DexProgramClass getFirstReferenceOutsideFromCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.function.Predicate):79:92 -> a
    46:50:void lambda$getFirstReferenceOutsideFromCode$2(com.android.tools.r8.graph.AppView,java.util.function.Predicate,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexType):83:87 -> a
    1:1:java.util.function.Consumer access$300(com.android.tools.r8.shaking.MainDexDirectReferenceTracer):30:30 -> b
com.android.tools.r8.shaking.MainDexDirectReferenceTracer$AnnotationDirectReferenceCollector -> com.android.tools.r8.internal.lD:
    com.android.tools.r8.shaking.MainDexDirectReferenceTracer this$0 -> a
    1:1:void <init>(com.android.tools.r8.shaking.MainDexDirectReferenceTracer):189:189 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.MainDexDirectReferenceTracer,com.android.tools.r8.shaking.MainDexDirectReferenceTracer$1):189:189 -> <init>
    boolean addString(com.android.tools.r8.graph.DexString) -> a
    1:1:boolean addClass(com.android.tools.r8.graph.DexProgramClass):193:193 -> a
    2:3:boolean addMethod(com.android.tools.r8.graph.DexMethod):206:207 -> a
    4:6:boolean addProto(com.android.tools.r8.graph.DexProto):218:220 -> a
    7:7:boolean addType(com.android.tools.r8.graph.DexType):227:227 -> a
    8:8:boolean addCallSite(com.android.tools.r8.graph.DexCallSite):233:233 -> a
    9:9:boolean addMethodHandle(com.android.tools.r8.graph.DexMethodHandle):238:238 -> a
    1:2:boolean addField(com.android.tools.r8.graph.DexField):199:200 -> b
com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector -> com.android.tools.r8.internal.mD:
    com.android.tools.r8.shaking.MainDexDirectReferenceTracer this$0 -> e
    1:1:void <init>(com.android.tools.r8.shaking.MainDexDirectReferenceTracer,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.MainDexDirectReferenceTracer$1):107:107 -> <init>
    2:3:void <init>(com.android.tools.r8.shaking.MainDexDirectReferenceTracer,com.android.tools.r8.graph.ProgramMethod):109:110 -> <init>
    1:2:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerInvoke(com.android.tools.r8.graph.DexMethod):144:145 -> a
    1:2:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):125 -> a
    3:4:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerFieldAccess(com.android.tools.r8.graph.DexField):169:170 -> a
    3:4:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):155 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):115:115 -> b
    2:3:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerInvoke(com.android.tools.r8.graph.DexMethod):144:145 -> b
    2:3:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):135 -> b
    1:2:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerFieldAccess(com.android.tools.r8.graph.DexField):169:170 -> c
    1:2:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):150 -> c
    3:3:void registerInstanceOf(com.android.tools.r8.graph.DexType):185:185 -> c
    1:2:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerInvoke(com.android.tools.r8.graph.DexMethod):144:145 -> d
    1:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):130 -> d
    3:3:void registerNewInstance(com.android.tools.r8.graph.DexType):175:175 -> d
    1:2:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerFieldAccess(com.android.tools.r8.graph.DexField):169:170 -> e
    1:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):160 -> e
    1:2:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerInvoke(com.android.tools.r8.graph.DexMethod):144:145 -> f
    1:2:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):140 -> f
    3:3:void registerTypeReference(com.android.tools.r8.graph.DexType):180:180 -> f
    1:2:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerInvoke(com.android.tools.r8.graph.DexMethod):144:145 -> g
    1:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):120 -> g
    3:4:void com.android.tools.r8.shaking.MainDexDirectReferenceTracer$DirectReferencesCollector.registerFieldAccess(com.android.tools.r8.graph.DexField):169:170 -> g
    3:4:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):165 -> g
com.android.tools.r8.shaking.MainDexInfo -> com.android.tools.r8.shaking.Q0:
    java.util.Set tracedMethodRoots -> c
    com.android.tools.r8.shaking.MainDexInfo NONE -> f
    java.util.Set tracedDependencies -> d
    boolean tracedMethodRootsCleared -> e
    java.util.Set classList -> a
    boolean $assertionsDisabled -> g
    java.util.Set tracedRoots -> b
    1:8:void <clinit>():27:34 -> <clinit>
    1:1:void <init>(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$1):27:27 -> <init>
    2:2:void <init>(java.util.Set,java.util.Set,java.util.Set,java.util.Set,boolean,com.android.tools.r8.shaking.MainDexInfo$1):27:27 -> <init>
    3:5:void <init>(java.util.Set):60:62 -> <init>
    6:6:void <init>(java.util.Set):58:58 -> <init>
    7:13:void <init>(java.util.Set,java.util.Set,java.util.Set,java.util.Set,boolean):71:77 -> <init>
    1:1:java.util.Set access$300(com.android.tools.r8.shaking.MainDexInfo):27:27 -> a
    2:2:boolean isSyntheticContextOnMainDexList(com.android.tools.r8.graph.DexType):82:82 -> a
    3:3:boolean isFromList(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):91:91 -> a
    3:3:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):161 -> a
    4:4:boolean isFromList(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):95:95 -> a
    4:4:boolean isFromList(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):91 -> a
    4:4:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):161 -> a
    5:5:boolean isFromList(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):95:95 -> a
    5:5:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):192 -> a
    6:6:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):193:193 -> a
    7:7:boolean isTracedRoot(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):108:108 -> a
    7:7:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):195 -> a
    8:8:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):196:196 -> a
    9:9:boolean isDependency(com.android.tools.r8.graph.DexReference):130:130 -> a
    9:9:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):198 -> a
    10:12:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):199:201 -> a
    13:13:boolean isFromList(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):95:95 -> a
    13:13:boolean lambda$disallowInliningIntoContext$0(com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):219 -> a
    14:15:boolean isTracedMethodRoot(com.android.tools.r8.graph.DexMethod):103:104 -> a
    16:25:boolean isContainedOrHasContainedContext(com.android.tools.r8.graph.DexReference,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems):113:122 -> a
    26:26:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):166:166 -> a
    27:27:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    27:27:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):166 -> a
    28:35:boolean canMerge(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):170:177 -> a
    28:35:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):166 -> a
    36:36:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):188:188 -> a
    36:36:boolean canRebindReference(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):144 -> a
    37:49:boolean canRebindReference(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):145:157 -> a
    50:50:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):209:209 -> a
    51:51:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexClassAndMember.getContextType():36:36 -> a
    51:51:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):209 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    52:52:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):188:188 -> a
    52:52:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):212 -> a
    53:58:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):213:218 -> a
    59:59:boolean com.android.tools.r8.shaking.MainDexDirectReferenceTracer.hasReferencesOutsideMainDexClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.function.Predicate):72:72 -> a
    59:59:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):218 -> a
    60:61:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):221:222 -> a
    62:62:boolean com.android.tools.r8.shaking.MainDexDirectReferenceTracer.hasReferencesOutsideMainDexClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod,java.util.function.Predicate):72:72 -> a
    62:62:boolean disallowInliningIntoContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.synthesis.SyntheticItems):222 -> a
    63:66:void forEach(java.util.function.Consumer):248:251 -> a
    67:82:com.android.tools.r8.shaking.MainDexInfo withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):255:270 -> a
    83:83:void lambda$withoutPrunedItems$2(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexType):260:260 -> a
    84:85:void ifNotRemoved(com.android.tools.r8.graph.DexType,java.util.Set,java.util.function.Consumer):275:276 -> a
    84:85:void lambda$withoutPrunedItems$2(java.util.Set,java.util.Set,com.android.tools.r8.graph.DexType):260 -> a
    86:86:void lambda$withoutPrunedItems$3(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexType):262:262 -> a
    87:88:void ifNotRemoved(com.android.tools.r8.graph.DexType,java.util.Set,java.util.function.Consumer):275:276 -> a
    87:88:void lambda$withoutPrunedItems$3(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexType):262 -> a
    89:89:void lambda$withoutPrunedItems$4(com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexType):268:268 -> a
    90:90:void lambda$withoutPrunedItems$5(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexMethod):268:268 -> a
    91:92:void ifNotRemoved(com.android.tools.r8.graph.DexType,java.util.Set,java.util.function.Consumer):275:276 -> a
    91:92:void lambda$withoutPrunedItems$5(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexMethod):267 -> a
    93:112:com.android.tools.r8.shaking.MainDexInfo rewrittenWithLens(com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.GraphLens):281:300 -> a
    113:113:void lambda$rewrittenWithLens$7(com.android.tools.r8.graph.GraphLens,java.util.Set,com.android.tools.r8.graph.DexType):283:283 -> a
    114:114:void lambda$rewrittenWithLens$8(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexType):285:285 -> a
    115:115:void lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):289:289 -> a
    116:116:boolean com.android.tools.r8.graph.GraphLens.isSyntheticFinalizationGraphLens():0:0 -> a
    116:116:void lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):289 -> a
    117:120:void lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):292:295 -> a
    121:124:void lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):294:297 -> a
    125:125:com.android.tools.r8.shaking.MainDexInfo$Builder builder():304:304 -> a
    126:126:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    126:126:void lambda$rewrittenWithLens$9(com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexMethod):286 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    127:127:void lambda$rewrittenWithLens$9(com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexMethod):286:286 -> a
    1:1:boolean isTracedRoot(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):108:108 -> b
    1:1:boolean lambda$disallowInliningIntoContext$1(com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):223 -> b
    2:2:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMergeKey(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):181:181 -> b
    3:3:boolean isFromList(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):91:91 -> b
    3:3:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):161 -> b
    3:3:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMergeKey(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):181 -> b
    4:4:boolean isFromList(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):95:95 -> b
    4:4:boolean isFromList(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):91 -> b
    4:4:boolean canMerge(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):161 -> b
    4:4:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMergeKey(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):181 -> b
    5:5:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMergeKey(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):181:181 -> b
    6:6:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMainDexGroupInternal(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):188:188 -> b
    6:6:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMergeKey(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):182 -> b
    7:7:com.android.tools.r8.shaking.MainDexInfo$MainDexGroup getMergeKey(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):183:183 -> b
    8:8:void lambda$withoutPrunedItems$6(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexType):269:269 -> b
    9:10:void ifNotRemoved(com.android.tools.r8.graph.DexType,java.util.Set,java.util.function.Consumer):275:276 -> b
    9:10:void lambda$withoutPrunedItems$6(java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder,com.android.tools.r8.graph.DexType):269 -> b
    11:15:com.android.tools.r8.shaking.MainDexInfo$Builder builderFromCopy():415:419 -> b
    1:1:boolean isTracedRoot(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):99:99 -> c
    2:2:boolean isTracedRoot(com.android.tools.r8.graph.DexReference,com.android.tools.r8.synthesis.SyntheticItems):108:108 -> c
    2:2:boolean isTracedRoot(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):99 -> c
    3:4:void clearTracedMethodRoots():138:139 -> c
    1:2:boolean isEmpty():227:228 -> d
    1:1:boolean isTracedMethodRootsCleared():134:134 -> e
    1:1:com.android.tools.r8.shaking.MainDexInfo none():232:232 -> f
    1:1:int size():236:236 -> g
com.android.tools.r8.shaking.MainDexInfo$Builder -> com.android.tools.r8.shaking.P0:
    java.util.Set methodRoots -> c
    java.util.Set dependencies -> d
    boolean tracedMethodRootsCleared -> e
    boolean $assertionsDisabled -> f
    java.util.Set list -> a
    java.util.Set roots -> b
    1:1:void <clinit>():307:307 -> <clinit>
    1:1:void <init>(boolean,com.android.tools.r8.shaking.MainDexInfo$1):307:307 -> <init>
    2:2:void <init>(boolean):315:315 -> <init>
    3:10:void <init>(boolean):309:316 -> <init>
    1:1:java.util.Set access$400(com.android.tools.r8.shaking.MainDexInfo$Builder):307:307 -> a
    2:2:void addList(com.android.tools.r8.graph.DexProgramClass):320:320 -> a
    3:3:void addList(com.android.tools.r8.graph.DexType):324:324 -> a
    3:3:void addList(com.android.tools.r8.graph.DexProgramClass):320 -> a
    4:4:void addRoot(com.android.tools.r8.graph.DexMethod):337:337 -> a
    5:6:void addDependency(com.android.tools.r8.graph.DexType):345:346 -> a
    7:7:java.util.function.Consumer addDependencyAllowSyntheticRoot(com.android.tools.r8.synthesis.SyntheticItems):350:350 -> a
    8:9:void lambda$addDependencyAllowSyntheticRoot$0(com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.graph.DexType):351:352 -> a
    10:11:com.android.tools.r8.shaking.MainDexInfo build(java.util.Set):401:402 -> a
    12:12:com.android.tools.r8.shaking.MainDexInfo build():410:410 -> a
    1:1:java.util.Set access$500(com.android.tools.r8.shaking.MainDexInfo$Builder):307:307 -> b
    2:2:void addRoot(com.android.tools.r8.graph.DexProgramClass):328:328 -> b
    3:6:void addDependencyIfNotRoot(com.android.tools.r8.graph.DexType):357:360 -> b
    7:9:com.android.tools.r8.shaking.MainDexInfo buildList():394:396 -> b
    1:1:java.util.Set access$600(com.android.tools.r8.shaking.MainDexInfo$Builder):307:307 -> c
    2:2:void addList(com.android.tools.r8.graph.DexType):324:324 -> c
    3:3:java.util.Set getRoots():388:388 -> c
    1:1:java.util.Set access$700(com.android.tools.r8.shaking.MainDexInfo$Builder):307:307 -> d
    2:3:void addRoot(com.android.tools.r8.graph.DexType):332:333 -> d
    1:1:boolean isTracedRoot(com.android.tools.r8.graph.DexType):368:368 -> e
    1:1:boolean contains(com.android.tools.r8.graph.DexType):384 -> e
    2:2:boolean isDependency(com.android.tools.r8.graph.DexType):376:376 -> e
    2:2:boolean contains(com.android.tools.r8.graph.DexType):384 -> e
com.android.tools.r8.shaking.MainDexInfo$MainDexGroup -> com.android.tools.r8.internal.oD:
    com.android.tools.r8.shaking.MainDexInfo$MainDexGroup MAIN_DEX_DEPENDENCY -> d
    com.android.tools.r8.shaking.MainDexInfo$MainDexGroup NOT_IN_MAIN_DEX -> e
    com.android.tools.r8.shaking.MainDexInfo$MainDexGroup MAIN_DEX_LIST -> b
    com.android.tools.r8.shaking.MainDexInfo$MainDexGroup MAIN_DEX_ROOT -> c
    1:4:void <clinit>():38:41 -> <clinit>
    1:1:void <init>(java.lang.String,int):37:37 -> <init>
com.android.tools.r8.shaking.MainDexListBuilder -> com.android.tools.r8.internal.pD:
    java.util.Map annotationTypeContainEnum -> c
    com.android.tools.r8.graph.AppView appView -> b
    com.android.tools.r8.shaking.MainDexInfo$Builder mainDexInfoBuilder -> d
    boolean $assertionsDisabled -> e
    java.util.Set roots -> a
    1:1:void <clinit>():27:27 -> <clinit>
    1:7:void <init>(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.shaking.MainDexInfo$Builder):54:60 -> <init>
    1:1:boolean lambda$new$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):57:57 -> a
    2:3:void run():68:69 -> a
    4:4:void lambda$traceRuntimeAnnotationsWithEnumForMainDex$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):88:88 -> a
    5:5:boolean com.android.tools.r8.shaking.MainDexInfo$Builder.contains(com.android.tools.r8.graph.DexProgramClass):380:380 -> a
    5:5:void lambda$traceRuntimeAnnotationsWithEnumForMainDex$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):88 -> a
    6:10:void lambda$traceRuntimeAnnotationsWithEnumForMainDex$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):88:92 -> a
    11:11:void com.android.tools.r8.shaking.MainDexInfo$Builder.addDependency(com.android.tools.r8.graph.DexProgramClass):341:341 -> a
    11:11:void lambda$traceRuntimeAnnotationsWithEnumForMainDex$1(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexAnnotation):92 -> a
    12:22:void addDirectDependency(com.android.tools.r8.graph.DexType):181:191 -> a
    23:23:void addDirectDependency(com.android.tools.r8.graph.DexProgramClass):195:195 -> a
    24:24:boolean com.android.tools.r8.shaking.MainDexInfo$Builder.contains(com.android.tools.r8.graph.DexProgramClass):380:380 -> a
    24:24:void addDirectDependency(com.android.tools.r8.graph.DexProgramClass):195 -> a
    25:26:void addDirectDependency(com.android.tools.r8.graph.DexProgramClass):195:196 -> a
    27:27:void com.android.tools.r8.shaking.MainDexInfo$Builder.addDependency(com.android.tools.r8.graph.DexProgramClass):341:341 -> a
    27:27:void addDirectDependency(com.android.tools.r8.graph.DexProgramClass):196 -> a
    28:32:void addDirectDependency(com.android.tools.r8.graph.DexProgramClass):197:201 -> a
    1:16:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):116:131 -> b
    17:17:com.android.tools.r8.graph.AppInfoWithClassHierarchy com.android.tools.r8.shaking.MainDexListBuilder.appInfo():64:64 -> b
    17:17:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):132 -> b
    18:18:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):132:132 -> b
    19:19:boolean com.android.tools.r8.graph.DexClass.isLibraryClass():0:0 -> b
    19:19:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):134 -> b
    20:21:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):134:135 -> b
    22:22:boolean com.android.tools.r8.shaking.MainDexListBuilder.isEnum(com.android.tools.r8.graph.DexType):152:152 -> b
    22:22:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):137 -> b
    23:23:com.android.tools.r8.graph.AppInfoWithClassHierarchy com.android.tools.r8.shaking.MainDexListBuilder.appInfo():64:64 -> b
    23:23:boolean com.android.tools.r8.shaking.MainDexListBuilder.isEnum(com.android.tools.r8.graph.DexType):153 -> b
    23:23:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):137 -> b
    24:24:boolean com.android.tools.r8.shaking.MainDexListBuilder.isEnum(com.android.tools.r8.graph.DexType):153:153 -> b
    24:24:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):137 -> b
    25:25:com.android.tools.r8.graph.AppInfoWithClassHierarchy com.android.tools.r8.shaking.MainDexListBuilder.appInfo():64:64 -> b
    25:25:boolean com.android.tools.r8.shaking.MainDexListBuilder.isAnnotation(com.android.tools.r8.graph.DexType):157 -> b
    25:25:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):138 -> b
    26:26:boolean com.android.tools.r8.shaking.MainDexListBuilder.isAnnotation(com.android.tools.r8.graph.DexType):157:157 -> b
    26:26:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):138 -> b
    27:27:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):138:138 -> b
    28:39:boolean isAnnotationWithEnum(com.android.tools.r8.graph.DexType):137:148 -> b
    40:40:void traceMainDexDirectDependencies():161:161 -> b
    1:1:com.android.tools.r8.graph.AppInfoWithClassHierarchy com.android.tools.r8.shaking.MainDexListBuilder.appInfo():64:64 -> c
    1:1:void traceRuntimeAnnotationsWithEnumForMainDex():73 -> c
    2:3:void traceRuntimeAnnotationsWithEnumForMainDex():73:74 -> c
    4:4:boolean com.android.tools.r8.shaking.MainDexInfo$Builder.contains(com.android.tools.r8.graph.DexProgramClass):380:380 -> c
    4:4:void traceRuntimeAnnotationsWithEnumForMainDex():74 -> c
    5:5:void traceRuntimeAnnotationsWithEnumForMainDex():77:77 -> c
    6:6:com.android.tools.r8.graph.AppInfoWithClassHierarchy com.android.tools.r8.shaking.MainDexListBuilder.appInfo():64:64 -> c
    6:6:boolean com.android.tools.r8.shaking.MainDexListBuilder.isAnnotation(com.android.tools.r8.graph.DexType):157 -> c
    6:6:void traceRuntimeAnnotationsWithEnumForMainDex():78 -> c
    7:7:boolean com.android.tools.r8.shaking.MainDexListBuilder.isAnnotation(com.android.tools.r8.graph.DexType):157:157 -> c
    7:7:void traceRuntimeAnnotationsWithEnumForMainDex():78 -> c
    8:8:void traceRuntimeAnnotationsWithEnumForMainDex():78:78 -> c
    9:9:boolean com.android.tools.r8.shaking.MainDexListBuilder.isVisibleAnnotation(com.android.tools.r8.graph.DexProgramClass):99:99 -> c
    9:9:void traceRuntimeAnnotationsWithEnumForMainDex():79 -> c
    10:10:boolean com.android.tools.r8.shaking.MainDexListBuilder.retainCompileTimeAnnotation(com.android.tools.r8.graph.DexType):112:112 -> c
    10:10:boolean com.android.tools.r8.shaking.MainDexListBuilder.isVisibleAnnotation(com.android.tools.r8.graph.DexProgramClass):99 -> c
    10:10:void traceRuntimeAnnotationsWithEnumForMainDex():79 -> c
    11:16:boolean com.android.tools.r8.shaking.MainDexListBuilder.isVisibleAnnotation(com.android.tools.r8.graph.DexProgramClass):103:108 -> c
    11:16:void traceRuntimeAnnotationsWithEnumForMainDex():79 -> c
    17:22:void com.android.tools.r8.shaking.MainDexListBuilder.addAnnotationsWithEnum(com.android.tools.r8.graph.DexProgramClass):166:171 -> c
    17:22:void traceRuntimeAnnotationsWithEnumForMainDex():80 -> c
    23:23:boolean com.android.tools.r8.shaking.MainDexListBuilder.isEnum(com.android.tools.r8.graph.DexType):152:152 -> c
    23:23:void com.android.tools.r8.shaking.MainDexListBuilder.addAnnotationsWithEnum(com.android.tools.r8.graph.DexProgramClass):172 -> c
    23:23:void traceRuntimeAnnotationsWithEnumForMainDex():80 -> c
    24:24:com.android.tools.r8.graph.AppInfoWithClassHierarchy com.android.tools.r8.shaking.MainDexListBuilder.appInfo():64:64 -> c
    24:24:boolean com.android.tools.r8.shaking.MainDexListBuilder.isEnum(com.android.tools.r8.graph.DexType):153 -> c
    24:24:void com.android.tools.r8.shaking.MainDexListBuilder.addAnnotationsWithEnum(com.android.tools.r8.graph.DexProgramClass):172 -> c
    24:24:void traceRuntimeAnnotationsWithEnumForMainDex():80 -> c
    25:25:boolean com.android.tools.r8.shaking.MainDexListBuilder.isEnum(com.android.tools.r8.graph.DexType):153:153 -> c
    25:25:void com.android.tools.r8.shaking.MainDexListBuilder.addAnnotationsWithEnum(com.android.tools.r8.graph.DexProgramClass):172 -> c
    25:25:void traceRuntimeAnnotationsWithEnumForMainDex():80 -> c
    26:26:void com.android.tools.r8.shaking.MainDexListBuilder.addAnnotationsWithEnum(com.android.tools.r8.graph.DexProgramClass):173:173 -> c
    26:26:void traceRuntimeAnnotationsWithEnumForMainDex():80 -> c
    27:27:void traceRuntimeAnnotationsWithEnumForMainDex():86:86 -> c
    28:34:void com.android.tools.r8.graph.DexClass.forEachAnnotation(java.util.function.Consumer):322:328 -> c
    28:34:void traceRuntimeAnnotationsWithEnumForMainDex():86 -> c
com.android.tools.r8.shaking.MemberValuePropagationRule -> com.android.tools.r8.shaking.S0:
    com.android.tools.r8.shaking.MemberValuePropagationRule$Type type -> r
    int $r8$clinit -> s
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.shaking.MemberValuePropagationRule$1):11:11 -> <init>
    2:16:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.MemberValuePropagationRule$Type):73:87 -> <init>
    1:5:java.lang.String typeString():100:104 -> C
    6:6:java.lang.String typeString():0:0 -> C
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":111,"2":112,"3":113}}
    111:111:java.lang.String typeString():104:104 -> C
    112:112:java.lang.String typeString():104:104 -> C
    113:113:java.lang.String typeString():104:104 -> C
    110:110:java.lang.String typeString():104:104 -> C
    1:1:com.android.tools.r8.shaking.MemberValuePropagationRule$Type getType():95:95 -> D
com.android.tools.r8.shaking.MemberValuePropagationRule$Builder -> com.android.tools.r8.shaking.R0:
    com.android.tools.r8.shaking.MemberValuePropagationRule$Type type -> p
    1:1:void <init>(com.android.tools.r8.shaking.MemberValuePropagationRule$1):17:17 -> <init>
    2:2:void <init>():21:21 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.MemberValuePropagationRule$Type$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.eE:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    java.lang.String stringValueOf(int) -> a
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.shaking.MinimumKeepInfoCollection -> com.android.tools.r8.internal.bF:
    java.util.Map minimumKeepInfo -> a
    com.android.tools.r8.shaking.MinimumKeepInfoCollection EMPTY -> b
    boolean $assertionsDisabled -> c
    1:4:void <clinit>():30:33 -> <clinit>
    1:1:void <init>():38:38 -> <init>
    2:3:void <init>(java.util.Map):41:42 -> <init>
    1:1:com.android.tools.r8.graph.DexReference lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":169,"2":170,"3":171}}
    169:169:com.android.tools.r8.graph.DexReference lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):163:163 -> a
    170:170:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    170:170:com.android.tools.r8.graph.DexReference lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):163 -> a
    171:171:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    171:171:com.android.tools.r8.graph.DexReference lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):163 -> a
    165:168:com.android.tools.r8.graph.DexReference lambda$rewrittenWithLens$10(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):164:167 -> a
    172:172:com.android.tools.r8.shaking.MinimumKeepInfoCollection empty():46:46 -> a
    173:173:void forEach(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer):58:58 -> a
    174:176:void lambda$forEach$3(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.function.BiConsumer,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):61:63 -> a
    177:177:void lambda$forEach$0(java.util.function.BiConsumer,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.KeepInfo$Joiner,com.android.tools.r8.graph.DexType):64:64 -> a
    178:180:void lambda$forEach$1(com.android.tools.r8.graph.DexProgramClass,java.util.function.BiConsumer,com.android.tools.r8.shaking.KeepInfo$Joiner,com.android.tools.r8.graph.DexField):66:68 -> a
    181:183:void lambda$forEach$2(com.android.tools.r8.graph.DexProgramClass,java.util.function.BiConsumer,com.android.tools.r8.shaking.KeepInfo$Joiner,com.android.tools.r8.graph.DexMethod):72:74 -> a
    184:184:void forEachThatMatches(java.util.function.BiPredicate,java.util.function.BiConsumer):85:85 -> a
    185:186:void lambda$forEachThatMatches$4(java.util.function.BiPredicate,java.util.function.BiConsumer,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):87:88 -> a
    187:187:com.android.tools.r8.shaking.KeepInfo$Joiner getOrDefault(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):95:95 -> a
    188:190:com.android.tools.r8.shaking.KeepInfo$Joiner getOrCreateMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference):99:99 -> a
    191:192:boolean hasMinimumKeepInfoThatMatches(com.android.tools.r8.graph.DexReference,java.util.function.Predicate):105:106 -> a
    193:193:void merge(com.android.tools.r8.shaking.MinimumKeepInfoCollection):114:114 -> a
    194:194:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.forEach(java.util.function.BiConsumer):50:50 -> a
    194:194:void merge(com.android.tools.r8.shaking.MinimumKeepInfoCollection):114 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    195:195:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.forEach(java.util.function.BiConsumer):50:50 -> a
    195:195:void merge(com.android.tools.r8.shaking.MinimumKeepInfoCollection):114 -> a
    196:196:void mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119:119 -> a
    197:197:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> a
    197:197:void mergeMinimumKeepInfoFor(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):119 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    198:198:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):123:123 -> a
    199:209:boolean lambda$pruneDeadItems$9(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):126:136 -> a
    210:210:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$6(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexType):129:129 -> a
    211:211:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$7(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):132:132 -> a
    212:212:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexField.lookupOnProgramClass(com.android.tools.r8.graph.DexProgramClass):89:89 -> a
    212:212:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$7(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):131 -> a
    213:213:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod):135:135 -> a
    214:214:com.android.tools.r8.graph.ProgramDefinition lambda$pruneDeadItems$8(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod):134:134 -> a
    215:215:void pruneItems(com.android.tools.r8.graph.PrunedItems):141:141 -> a
    216:216:com.android.tools.r8.shaking.KeepClassInfo$Joiner remove(com.android.tools.r8.graph.DexType):145:145 -> a
    217:217:com.android.tools.r8.shaking.KeepFieldInfo$Joiner remove(com.android.tools.r8.graph.DexField):149:149 -> a
    218:218:com.android.tools.r8.shaking.KeepMethodInfo$Joiner remove(com.android.tools.r8.graph.DexMethod):153:153 -> a
    219:220:com.android.tools.r8.shaking.MinimumKeepInfoCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):157:158 -> a
    221:221:void com.android.tools.r8.shaking.MinimumKeepInfoCollection.forEach(java.util.function.BiConsumer):50:50 -> a
    221:221:com.android.tools.r8.shaking.MinimumKeepInfoCollection rewrittenWithLens(com.android.tools.r8.graph.GraphLens):158 -> a
    222:238:void lambda$rewrittenWithLens$11(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):160:176 -> a
    239:239:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.mergeUnsafe(com.android.tools.r8.shaking.KeepInfo$Joiner):549:549 -> a
    239:239:void lambda$rewrittenWithLens$11(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):177 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:com.android.tools.r8.shaking.KeepInfo$Joiner lambda$getOrCreateMinimumKeepInfoFor$5(com.android.tools.r8.graph.DexReference):100:100 -> b
    2:2:boolean isEmpty():110:110 -> b
com.android.tools.r8.shaking.MissingClasses -> com.android.tools.r8.internal.fF:
    java.util.Set missingClasses -> a
    1:1:void <init>(java.util.Set,com.android.tools.r8.shaking.MissingClasses$1):37:37 -> <init>
    2:3:void <init>(java.util.Set):41:42 -> <init>
    1:1:com.android.tools.r8.shaking.MissingClasses$Builder builder():46:46 -> a
    2:2:void forEach(java.util.function.Consumer):54:54 -> a
    3:3:boolean contains(com.android.tools.r8.graph.DexType):58:58 -> a
    1:1:com.android.tools.r8.shaking.MissingClasses empty():50:50 -> b
com.android.tools.r8.shaking.MissingClasses$Builder -> com.android.tools.r8.internal.eF:
    java.util.Map newMissingClasses -> b
    java.util.Set newIgnoredMissingClasses -> c
    java.util.Set alreadyMissingClasses -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():61:61 -> <clinit>
    1:1:void <init>(java.util.Set,com.android.tools.r8.shaking.MissingClasses$1):61:61 -> <init>
    2:2:void <init>(java.util.Set):71:71 -> <init>
    3:11:void <init>(java.util.Set):64:72 -> <init>
    1:6:void addNewMissingClass(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramDerivedContext):76:81 -> a
    7:9:boolean contains(com.android.tools.r8.graph.DexType):114:116 -> a
    10:12:com.android.tools.r8.shaking.MissingClasses assertNoMissingClasses(com.android.tools.r8.graph.AppView):127:127 -> a
    13:15:com.android.tools.r8.shaking.MissingClasses com.android.tools.r8.shaking.MissingClasses$Builder.build():311:313 -> a
    13:15:com.android.tools.r8.shaking.MissingClasses assertNoMissingClasses(com.android.tools.r8.graph.AppView):129 -> a
    16:16:com.android.tools.r8.shaking.MissingClasses com.android.tools.r8.shaking.MissingClasses$Builder.build():312:312 -> a
    16:16:com.android.tools.r8.shaking.MissingClasses assertNoMissingClasses(com.android.tools.r8.graph.AppView):129 -> a
    17:17:java.util.Set lambda$assertNoMissingClasses$2(com.android.tools.r8.graph.DexProgramClass):127:127 -> a
    18:29:com.android.tools.r8.diagnostic.MissingDefinitionsDiagnostic createDiagnostic(java.util.Map):150:161 -> a
    30:33:void lambda$createDiagnostic$3(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.graph.DexType,java.util.Set):154:157 -> a
    34:37:void lambda$createDiagnostic$3(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.graph.DexType,java.util.Set):156:159 -> a
    38:44:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):166:172 -> a
    38:44:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    45:58:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):180:193 -> a
    45:58:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    45:58:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    59:59:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    59:59:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):193 -> a
    59:59:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    59:59:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    60:60:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    60:60:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    60:60:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):193 -> a
    60:60:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    60:60:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    61:81:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):194:214 -> a
    61:81:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    61:81:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    82:82:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    82:82:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):215 -> a
    82:82:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    82:82:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    83:86:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):217:220 -> a
    83:86:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    83:86:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    87:87:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":94,"2":95,"3":96}}
    94:94:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):220:220 -> a
    94:94:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    94:94:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    95:95:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):220:220 -> a
    95:95:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    95:95:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    96:96:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):220:220 -> a
    96:96:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    96:96:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    88:88:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContextsForSingleMissingClass(com.android.tools.r8.graph.AppView,java.util.Set,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):222:222 -> a
    88:88:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):171 -> a
    88:88:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    89:89:void com.android.tools.r8.shaking.MissingClasses$Builder.rewriteMissingClassContexts(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):170:170 -> a
    89:89:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):233 -> a
    90:93:java.util.Map getMissingClassesToBeReported(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):235:238 -> a
    97:111:void lambda$getMissingClassesToBeReported$5(java.util.function.Predicate,com.android.tools.r8.graph.AppView,java.util.Map,com.android.tools.r8.graph.DexType,java.util.Set):241:255 -> a
    112:113:boolean lambda$getMissingClassesToBeReported$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramDerivedContext):250:251 -> a
    114:116:boolean lambda$getIsAllowedMissingClassesPredicate$6(java.util.Set,java.util.function.Predicate,com.android.tools.r8.errors.dontwarn.DontWarnConfiguration,com.android.tools.r8.graph.DexType):267:269 -> a
    117:118:boolean lambda$getIsCompilerSynthesizedAllowedMissingClassesPredicate$7(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):292:293 -> a
    119:119:boolean com.android.tools.r8.graph.DexString.startsWith(com.android.tools.r8.graph.DexString):444:444 -> a
    119:119:boolean lambda$getIsCompilerSynthesizedAllowedMissingClassesPredicate$7(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):293 -> a
    1:1:void ignoreNewMissingClass(com.android.tools.r8.graph.DexType):110:110 -> b
    2:5:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):135:138 -> b
    6:6:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> b
    6:6:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):139 -> b
    7:7:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):139:139 -> b
    8:8:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> b
    8:8:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):141 -> b
    9:9:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):141:141 -> b
    10:12:com.android.tools.r8.shaking.MissingClasses com.android.tools.r8.shaking.MissingClasses$Builder.build():311:313 -> b
    10:12:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):144 -> b
    13:13:com.android.tools.r8.shaking.MissingClasses com.android.tools.r8.shaking.MissingClasses$Builder.build():312:312 -> b
    13:13:com.android.tools.r8.shaking.MissingClasses reportMissingClasses(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):144 -> b
    14:14:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262:262 -> b
    15:16:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):273:274 -> b
    15:16:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
    17:17:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory.getJavaConversionTypes():517:517 -> b
    17:17:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):282 -> b
    17:17:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
    18:18:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):282:282 -> b
    18:18:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
    19:19:java.lang.Iterable com.android.tools.r8.graph.DexItemFactory.getJ$ConversionTypes():526:526 -> b
    19:19:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):283 -> b
    19:19:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
    20:21:java.util.Set com.android.tools.r8.shaking.MissingClasses$Builder.getAllowedMissingClasses(com.android.tools.r8.graph.DexItemFactory):283:284 -> b
    20:21:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):262 -> b
    22:24:java.util.function.Predicate getIsAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):264:266 -> b
    1:1:java.util.Set lambda$addNewMissingClass$0(com.android.tools.r8.graph.DexType):80:80 -> c
    2:4:java.util.function.Predicate getIsCompilerSynthesizedAllowedMissingClassesPredicate(com.android.tools.r8.graph.AppView):289:291 -> c
    1:1:boolean wasAlreadyMissing(com.android.tools.r8.graph.DexType):317:317 -> d
com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule -> com.android.tools.r8.shaking.U0:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule$1):11:11 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):60:60 -> <init>
    1:1:java.lang.String typeString():82:82 -> C
com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule$Builder -> com.android.tools.r8.shaking.T0:
    1:1:void <init>(com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule$1):15:15 -> <init>
    2:2:void <init>():19:19 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoHorizontalClassMergingRule -> com.android.tools.r8.shaking.W0:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.NoHorizontalClassMergingRule$1):11:11 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):60:60 -> <init>
    1:1:java.lang.String typeString():82:82 -> C
com.android.tools.r8.shaking.NoHorizontalClassMergingRule$Builder -> com.android.tools.r8.shaking.V0:
    1:1:void <init>(com.android.tools.r8.shaking.NoHorizontalClassMergingRule$1):15:15 -> <init>
    2:2:void <init>():19:19 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoMethodStaticizingRule -> com.android.tools.r8.shaking.Y0:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):60:60 -> <init>
    1:1:java.lang.String typeString():82:82 -> C
com.android.tools.r8.shaking.NoMethodStaticizingRule$Builder -> com.android.tools.r8.shaking.X0:
    1:1:void <init>():19:19 -> <init>
    1:11:com.android.tools.r8.shaking.NoMethodStaticizingRule build():29:39 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():15 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoOptimizationBaseRule -> com.android.tools.r8.shaking.a1:
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):36:36 -> <init>
com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder -> com.android.tools.r8.shaking.Z0:
    1:1:void <init>():18:18 -> <init>
com.android.tools.r8.shaking.NoParameterReorderingRule -> com.android.tools.r8.shaking.c1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):60:60 -> <init>
    1:1:java.lang.String typeString():82:82 -> C
com.android.tools.r8.shaking.NoParameterReorderingRule$Builder -> com.android.tools.r8.shaking.b1:
    1:1:void <init>():19:19 -> <init>
    1:11:com.android.tools.r8.shaking.NoParameterReorderingRule build():29:39 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():15 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoParameterTypeStrengtheningRule -> com.android.tools.r8.shaking.e1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):61:61 -> <init>
    1:1:java.lang.String typeString():83:83 -> C
com.android.tools.r8.shaking.NoParameterTypeStrengtheningRule$Builder -> com.android.tools.r8.shaking.d1:
    1:1:void <init>():20:20 -> <init>
    1:11:com.android.tools.r8.shaking.NoParameterTypeStrengtheningRule build():30:40 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():16 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoReturnTypeStrengtheningRule -> com.android.tools.r8.shaking.g1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):61:61 -> <init>
    1:1:java.lang.String typeString():83:83 -> C
com.android.tools.r8.shaking.NoReturnTypeStrengtheningRule$Builder -> com.android.tools.r8.shaking.f1:
    1:1:void <init>():20:20 -> <init>
    1:11:com.android.tools.r8.shaking.NoReturnTypeStrengtheningRule build():30:40 -> a
    1:11:com.android.tools.r8.shaking.ProguardClassSpecification build():16 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule -> com.android.tools.r8.shaking.i1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):59:59 -> <init>
    1:1:java.lang.String typeString():81:81 -> C
com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule$Builder -> com.android.tools.r8.shaking.h1:
    1:1:void <init>(com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule$1):14:14 -> <init>
    2:2:void <init>():18:18 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.NoVerticalClassMergingRule -> com.android.tools.r8.shaking.k1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.NoVerticalClassMergingRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):59:59 -> <init>
    1:1:java.lang.String typeString():81:81 -> C
com.android.tools.r8.shaking.NoVerticalClassMergingRule$Builder -> com.android.tools.r8.shaking.j1:
    1:1:void <init>(com.android.tools.r8.shaking.NoVerticalClassMergingRule$1):14:14 -> <init>
    2:2:void <init>():18:18 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardAccessFlags -> com.android.tools.r8.internal.kN:
    java.util.List NAMES -> c
    int PPP_MASK -> b
    int flags -> a
    1:1:void <clinit>():15:15 -> <clinit>
    2:2:com.android.tools.r8.shaking.ProguardAccessFlags com.android.tools.r8.shaking.ProguardAccessFlags.setPublic():81:81 -> <clinit>
    2:2:void <clinit>():16 -> <clinit>
    3:3:com.android.tools.r8.shaking.ProguardAccessFlags com.android.tools.r8.shaking.ProguardAccessFlags.setProtected():99:99 -> <clinit>
    3:3:void <clinit>():16 -> <clinit>
    4:4:com.android.tools.r8.shaking.ProguardAccessFlags com.android.tools.r8.shaking.ProguardAccessFlags.setPrivate():90:90 -> <clinit>
    4:4:void <clinit>():16 -> <clinit>
    5:10:void <clinit>():16:21 -> <clinit>
    1:6:void <init>():13:18 -> <init>
    1:1:void setVolatile():142:142 -> A
    1:1:java.util.List getPredicates():39:39 -> a
    2:2:boolean containsAll(com.android.tools.r8.graph.AccessFlags):69:69 -> a
    3:3:boolean com.android.tools.r8.shaking.ProguardAccessFlags.containsAll(int):57:57 -> a
    3:3:boolean containsAll(com.android.tools.r8.graph.AccessFlags):69 -> a
    4:4:boolean isSet(int):198:198 -> a
    1:1:boolean containsNone(com.android.tools.r8.graph.AccessFlags):73:73 -> b
    2:2:boolean com.android.tools.r8.shaking.ProguardAccessFlags.containsNone(int):65:65 -> b
    2:2:boolean containsNone(com.android.tools.r8.graph.AccessFlags):73 -> b
    3:3:boolean isAbstract():138:138 -> b
    4:4:void set(int):202:202 -> b
    1:1:boolean isBridge():194:194 -> c
    1:1:boolean isFinal():130:130 -> d
    1:1:boolean isNative():170:170 -> e
    1:4:boolean equals(java.lang.Object):225:228 -> equals
    1:1:boolean isPrivate():95:95 -> f
    1:1:boolean isProtected():104:104 -> g
    1:1:boolean isPublic():86:86 -> h
    1:1:int hashCode():233:233 -> hashCode
    1:1:boolean isStatic():122:122 -> i
    1:1:boolean isStrict():178:178 -> j
    1:1:boolean isSynchronized():162:162 -> k
    1:1:boolean isSynthetic():186:186 -> l
    1:1:boolean isTransient():154:154 -> m
    1:1:boolean isVolatile():146:146 -> n
    1:1:void setAbstract():134:134 -> o
    1:1:void setBridge():190:190 -> p
    1:1:void setFinal():126:126 -> q
    1:1:void setNative():166:166 -> r
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags setPrivate():90:90 -> s
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags setProtected():99:99 -> t
    1:14:java.lang.String toString():207:220 -> toString
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags setPublic():81:81 -> u
    1:1:void setStatic():118:118 -> v
    1:1:void setStrict():174:174 -> w
    1:1:void setSynchronized():158:158 -> x
    1:1:void setSynthetic():182:182 -> y
    1:1:void setTransient():150:150 -> z
com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule -> com.android.tools.r8.shaking.m1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):57:57 -> <init>
    1:1:java.lang.String typeString():85:85 -> C
com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule$Builder -> com.android.tools.r8.shaking.l1:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule$1):12:12 -> <init>
    2:2:void <init>():16:16 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule -> com.android.tools.r8.shaking.o1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):57:57 -> <init>
    1:1:java.lang.String typeString():87:87 -> C
    boolean applyToNonProgramClasses() -> p
com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$Builder -> com.android.tools.r8.shaking.n1:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$1):12:12 -> <init>
    2:2:void <init>():16:16 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardAssumeValuesRule -> com.android.tools.r8.shaking.q1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardAssumeValuesRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):57:57 -> <init>
    1:1:java.lang.String typeString():82:82 -> C
com.android.tools.r8.shaking.ProguardAssumeValuesRule$Builder -> com.android.tools.r8.shaking.p1:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardAssumeValuesRule$1):12:12 -> <init>
    2:2:void <init>():16:16 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardCheckDiscardRule -> com.android.tools.r8.shaking.s1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardCheckDiscardRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):57:57 -> <init>
    1:1:java.lang.String typeString():89:89 -> C
    com.android.tools.r8.shaking.ProguardCheckDiscardRule asProguardCheckDiscardRule() -> r
com.android.tools.r8.shaking.ProguardCheckDiscardRule$Builder -> com.android.tools.r8.shaking.r1:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardCheckDiscardRule$1):12:12 -> <init>
    2:2:void <init>():16:16 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardClassFilter -> com.android.tools.r8.shaking.t1:
    com.android.tools.r8.com.google.common.collect.ImmutableList patterns -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.shaking.ProguardClassFilter$1):11:11 -> <init>
    2:3:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList):36:37 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardClassFilter$Builder builder():17:17 -> a
    2:3:boolean matches(com.android.tools.r8.graph.DexType):53:54 -> a
    1:1:java.util.List getPatterns():45:45 -> b
    1:1:boolean isEmpty():49:49 -> c
com.android.tools.r8.shaking.ProguardClassFilter$Builder -> com.android.tools.r8.shaking.t1$a:
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder patterns -> a
    1:1:void <init>(com.android.tools.r8.shaking.ProguardClassFilter$1):20:20 -> <init>
    2:2:void <init>():23:23 -> <init>
    3:3:void <init>():21:21 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardClassFilter$Builder addPattern(com.android.tools.r8.shaking.ProguardClassNameList):27:27 -> a
    2:2:com.android.tools.r8.shaking.ProguardClassFilter build():32:32 -> a
com.android.tools.r8.shaking.ProguardClassNameList -> com.android.tools.r8.shaking.u1:
    1:1:void <init>():24:24 -> <init>
    java.util.List asSpecificDexTypes() -> a
    boolean matches(com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.shaking.ProguardClassNameList materialize(com.android.tools.r8.graph.DexItemFactory) -> a
    void writeTo(java.lang.StringBuilder) -> a
    1:1:com.android.tools.r8.shaking.ProguardClassNameList singletonList(com.android.tools.r8.shaking.ProguardTypeMatcher):35:35 -> a
    2:2:java.lang.Iterable getWildcardsOrEmpty(com.android.tools.r8.shaking.ProguardClassNameList):98:98 -> a
    1:1:com.android.tools.r8.shaking.ProguardClassNameList$Builder builder():27:27 -> b
    1:1:java.lang.Iterable getWildcards():90:90 -> c
    1:1:boolean hasWildcards():94:94 -> d
    int size() -> e
    1:3:java.lang.String toString():74:76 -> toString
com.android.tools.r8.shaking.ProguardClassNameList$Builder -> com.android.tools.r8.shaking.u1$a:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap matchers -> a
    1:1:void <init>(com.android.tools.r8.shaking.ProguardClassNameList$1):40:40 -> <init>
    2:2:void <init>():47:47 -> <init>
    3:3:void <init>():45:45 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardClassNameList$Builder addClassName(boolean,com.android.tools.r8.shaking.ProguardTypeMatcher):51:51 -> a
    2:9:com.android.tools.r8.shaking.ProguardClassNameList build():56:63 -> a
com.android.tools.r8.shaking.ProguardClassNameList$MixedClassNameList -> com.android.tools.r8.shaking.v1:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap classNames -> a
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,com.android.tools.r8.shaking.ProguardClassNameList$1):334:334 -> <init>
    2:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):338:339 -> <init>
    java.util.List asSpecificDexTypes() -> a
    1:8:void writeTo(java.lang.StringBuilder):350:357 -> a
    9:14:boolean matches(com.android.tools.r8.graph.DexType):387:392 -> a
    15:15:java.util.stream.Stream lambda$getWildcards$0(java.lang.Iterable):401:401 -> a
    16:19:com.android.tools.r8.shaking.ProguardClassNameList materialize(com.android.tools.r8.graph.DexItemFactory):407:410 -> a
    20:20:void lambda$materialize$1(com.android.tools.r8.shaking.ProguardClassNameList$Builder,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardTypeMatcher,java.lang.Boolean):409:409 -> a
    1:3:java.lang.Iterable getWildcards():399:401 -> c
    1:1:int size():344:344 -> e
    1:5:boolean equals(java.lang.Object):367:371 -> equals
    1:1:int hashCode():376:376 -> hashCode
com.android.tools.r8.shaking.ProguardClassNameList$PositiveClassNameList -> com.android.tools.r8.shaking.w1:
    com.android.tools.r8.com.google.common.collect.ImmutableList classNames -> a
    1:1:void <init>(java.util.Collection,com.android.tools.r8.shaking.ProguardClassNameList$1):245:245 -> <init>
    2:3:void <init>(java.util.Collection):249:250 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardClassNameList materialize(com.android.tools.r8.graph.DexItemFactory):245:245 -> a
    2:6:void writeTo(java.lang.StringBuilder):261:265 -> a
    7:9:java.util.List asSpecificDexTypes():289:291 -> a
    10:10:boolean lambda$matches$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardTypeMatcher):298:298 -> a
    11:11:boolean matches(com.android.tools.r8.graph.DexType):298:298 -> a
    12:12:java.util.stream.Stream lambda$getWildcards$2(java.lang.Iterable):305:305 -> a
    13:13:com.android.tools.r8.shaking.ProguardTypeMatcher lambda$materialize$3(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardTypeMatcher):313:313 -> a
    1:1:boolean lambda$asSpecificDexTypes$0(com.android.tools.r8.shaking.ProguardTypeMatcher):289:289 -> b
    2:5:com.android.tools.r8.shaking.ProguardClassNameList$PositiveClassNameList materialize(com.android.tools.r8.graph.DexItemFactory):311:314 -> b
    1:3:java.lang.Iterable getWildcards():303:305 -> c
    1:1:int size():255:255 -> e
    1:5:boolean equals(java.lang.Object):275:279 -> equals
    1:1:int hashCode():284:284 -> hashCode
com.android.tools.r8.shaking.ProguardClassNameList$SingleClassNameList -> com.android.tools.r8.shaking.u1$b:
    com.android.tools.r8.shaking.ProguardTypeMatcher className -> a
    1:1:void <init>(com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.shaking.ProguardClassNameList$1):177:177 -> <init>
    2:3:void <init>(com.android.tools.r8.shaking.ProguardTypeMatcher):181:182 -> <init>
    1:1:void writeTo(java.lang.StringBuilder):192:192 -> a
    2:3:java.util.List asSpecificDexTypes():214:215 -> a
    4:4:boolean matches(com.android.tools.r8.graph.DexType):220:220 -> a
    5:5:com.android.tools.r8.shaking.ProguardClassNameList$SingleClassNameList materialize(com.android.tools.r8.graph.DexItemFactory):230:230 -> a
    5:5:com.android.tools.r8.shaking.ProguardClassNameList materialize(com.android.tools.r8.graph.DexItemFactory):177 -> a
    1:1:java.lang.Iterable getWildcards():225:225 -> c
    int size() -> e
    1:5:boolean equals(java.lang.Object):200:204 -> equals
    1:1:int hashCode():209:209 -> hashCode
com.android.tools.r8.shaking.ProguardClassSpecification -> com.android.tools.r8.shaking.x1:
    com.android.tools.r8.shaking.ProguardTypeMatcher inheritanceClassName -> k
    boolean $assertionsDisabled -> n
    com.android.tools.r8.shaking.ProguardClassType classType -> h
    boolean inheritanceIsExtends -> l
    com.android.tools.r8.shaking.ProguardAccessFlags classAccessFlags -> e
    com.android.tools.r8.shaking.ProguardClassNameList classNames -> i
    com.android.tools.r8.shaking.ProguardAccessFlags negatedClassAccessFlags -> f
    com.android.tools.r8.origin.Origin origin -> a
    java.util.List classAnnotations -> d
    com.android.tools.r8.position.Position position -> b
    java.util.List inheritanceAnnotations -> j
    boolean classTypeNegated -> g
    java.lang.String source -> c
    java.util.List memberRules -> m
    1:1:void <clinit>():17:17 -> <clinit>
    1:18:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):216:233 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags getClassAccessFlags():285:285 -> a
    2:2:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):350:350 -> a
    3:9:void appendAnnotations(java.util.List,java.lang.StringBuilder):383:389 -> a
    3:9:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):350 -> a
    10:13:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):351:354 -> a
    14:27:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):353:366 -> a
    28:34:void appendAnnotations(java.util.List,java.lang.StringBuilder):383:389 -> a
    28:34:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):366 -> a
    35:44:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):367:376 -> a
    45:47:void lambda$append$0(java.lang.StringBuilder,com.android.tools.r8.shaking.ProguardMemberRule):372:374 -> a
    1:1:java.util.List getClassAnnotations():293:293 -> b
    1:1:com.android.tools.r8.shaking.ProguardClassNameList getClassNames():273:273 -> c
    1:1:com.android.tools.r8.shaking.ProguardClassType getClassType():277:277 -> d
    1:1:boolean getClassTypeNegated():281:281 -> e
    1:33:boolean equals(java.lang.Object):298:330 -> equals
    1:1:java.util.List getInheritanceAnnotations():269:269 -> f
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher getInheritanceClassName():265:265 -> g
    1:1:boolean getInheritanceIsExtends():253:253 -> h
    1:10:int hashCode():336:345 -> hashCode
    1:1:boolean getInheritanceIsImplements():257:257 -> i
    1:1:java.util.List getMemberRules():249:249 -> j
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags getNegatedClassAccessFlags():289:289 -> k
    1:1:com.android.tools.r8.origin.Origin getOrigin():237:237 -> l
    1:1:com.android.tools.r8.position.Position getPosition():241:241 -> m
    1:1:java.lang.String getSource():245:245 -> n
    1:1:boolean hasInheritanceClassName():261:261 -> o
    1:1:java.lang.String toString():402:402 -> toString
com.android.tools.r8.shaking.ProguardClassSpecification$Builder -> com.android.tools.r8.shaking.x1$a:
    com.android.tools.r8.shaking.ProguardClassType classType -> i
    boolean inheritanceIsExtends -> m
    com.android.tools.r8.shaking.ProguardTypeMatcher inheritanceClassName -> l
    boolean $assertionsDisabled -> o
    com.android.tools.r8.shaking.ProguardClassNameList classNames -> j
    com.android.tools.r8.shaking.ProguardAccessFlags negatedClassAccessFlags -> g
    com.android.tools.r8.shaking.ProguardAccessFlags classAccessFlags -> f
    com.android.tools.r8.origin.Origin origin -> a
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder inheritanceAnnotations -> k
    com.android.tools.r8.position.Position end -> c
    com.android.tools.r8.position.Position start -> b
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder classAnnotations -> e
    boolean classTypeNegated -> h
    java.util.List memberRules -> n
    java.lang.String source -> d
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>():40:40 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):43:43 -> <init>
    3:21:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):27:45 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification build() -> a
    1:2:com.android.tools.r8.shaking.ProguardClassSpecification$Builder setSource(java.lang.String):68:69 -> a
    3:4:com.android.tools.r8.shaking.ProguardClassSpecification$Builder setClassNames(com.android.tools.r8.shaking.ProguardClassNameList):128:129 -> a
    5:6:com.android.tools.r8.shaking.ProguardClassSpecification$Builder addClassAnnotation(com.android.tools.r8.shaking.ProguardTypeMatcher):169:170 -> a
    7:9:com.android.tools.r8.shaking.ProguardClassSpecification$Builder addClassAnnotations(java.util.List):174:176 -> a
    1:3:com.android.tools.r8.shaking.ProguardClassSpecification$Builder addInheritanceAnnotations(java.util.List):114:116 -> b
    4:4:java.util.List buildClassAnnotations():180:180 -> b
    1:2:com.android.tools.r8.shaking.ProguardClassSpecification$Builder setMemberRules(java.util.List):87:88 -> c
    3:3:java.util.List buildInheritanceAnnotations():120:120 -> c
    1:7:com.android.tools.r8.position.Position getPosition():73:79 -> d
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardClassType -> com.android.tools.r8.internal.rN:
    com.android.tools.r8.shaking.ProguardClassType ANNOTATION_INTERFACE -> b
    com.android.tools.r8.shaking.ProguardClassType INTERFACE -> e
    com.android.tools.r8.shaking.ProguardClassType UNSPECIFIED -> f
    com.android.tools.r8.shaking.ProguardClassType CLASS -> c
    com.android.tools.r8.shaking.ProguardClassType[] $VALUES -> g
    com.android.tools.r8.shaking.ProguardClassType ENUM -> d
    1:25:void <clinit>():10:34 -> <clinit>
    26:26:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(java.lang.String,int):9:9 -> <init>
    2:2:void <init>(java.lang.String,int,com.android.tools.r8.shaking.ProguardClassType$1):9:9 -> <init>
    boolean matches(com.android.tools.r8.graph.DexClass) -> a
    1:1:com.android.tools.r8.shaking.ProguardClassType[] values():9:9 -> a
    1:9:java.lang.String toString():43:51 -> toString
    10:10:java.lang.String toString():49:49 -> toString
    11:11:java.lang.String toString():47:47 -> toString
    12:12:java.lang.String toString():46:46 -> toString
    13:13:java.lang.String toString():45:45 -> toString
    14:14:java.lang.String toString():44:44 -> toString
com.android.tools.r8.shaking.ProguardClassType$1 -> com.android.tools.r8.internal.lN:
    1:1:void <init>(java.lang.String,int):10:10 -> <init>
    1:1:boolean matches(com.android.tools.r8.graph.DexClass):13:13 -> a
com.android.tools.r8.shaking.ProguardClassType$2 -> com.android.tools.r8.internal.mN:
    1:1:void <init>(java.lang.String,int):16:16 -> <init>
    boolean matches(com.android.tools.r8.graph.DexClass) -> a
com.android.tools.r8.shaking.ProguardClassType$3 -> com.android.tools.r8.internal.nN:
    1:1:void <init>(java.lang.String,int):22:22 -> <init>
    1:1:boolean matches(com.android.tools.r8.graph.DexClass):25:25 -> a
com.android.tools.r8.shaking.ProguardClassType$4 -> com.android.tools.r8.internal.oN:
    1:1:void <init>(java.lang.String,int):28:28 -> <init>
    1:1:boolean matches(com.android.tools.r8.graph.DexClass):31:31 -> a
com.android.tools.r8.shaking.ProguardClassType$5 -> com.android.tools.r8.internal.pN:
    1:1:void <init>(java.lang.String,int):34:34 -> <init>
    boolean matches(com.android.tools.r8.graph.DexClass) -> a
com.android.tools.r8.shaking.ProguardClassType$6 -> com.android.tools.r8.internal.qN:
    int[] $SwitchMap$com$android$tools$r8$shaking$ProguardClassType -> a
    1:1:void <clinit>():43:43 -> <clinit>
com.android.tools.r8.shaking.ProguardCompatibilityActions -> com.android.tools.r8.internal.tN:
    java.util.Set compatInstantiatedTypes -> a
    1:1:void <init>(java.util.Set,com.android.tools.r8.shaking.ProguardCompatibilityActions$1):14:14 -> <init>
    2:3:void <init>(java.util.Set):18:19 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder builder():23:23 -> a
    2:2:com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder com.android.tools.r8.shaking.ProguardCompatibilityActions.builder():23:23 -> a
    2:2:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):41 -> a
    3:3:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):42:42 -> a
    4:4:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":50,"2":51,"3":52}}
    50:50:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):43:43 -> a
    51:51:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    51:51:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):43 -> a
    52:52:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    52:52:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):43 -> a
    47:49:com.android.tools.r8.shaking.ProguardCompatibilityActions rewrittenWithLens(com.android.tools.r8.graph.GraphLens):43:45 -> a
    53:53:com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder com.android.tools.r8.shaking.ProguardCompatibilityActions.builder():23:23 -> a
    53:53:com.android.tools.r8.shaking.ProguardCompatibilityActions withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):31 -> a
    54:59:com.android.tools.r8.shaking.ProguardCompatibilityActions withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):32:37 -> a
    60:60:boolean isCompatInstantiated(com.android.tools.r8.graph.DexProgramClass):27:27 -> a
com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder -> com.android.tools.r8.internal.sN:
    java.util.Set compatInstantiatedTypes -> a
    1:3:void <init>():48:50 -> <init>
    1:1:void addCompatInstantiatedType(com.android.tools.r8.graph.DexProgramClass):53:53 -> a
    2:2:void com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder.addCompatInstantiatedType(com.android.tools.r8.graph.DexType):57:57 -> a
    2:2:void addCompatInstantiatedType(com.android.tools.r8.graph.DexProgramClass):53 -> a
    3:3:void com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder.addCompatInstantiatedType(com.android.tools.r8.graph.DexType):57:57 -> a
    3:3:void access$000(com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder,com.android.tools.r8.graph.DexType):48 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder.addCompatInstantiatedType(com.android.tools.r8.graph.DexType):57:57 -> a
    4:4:void access$000(com.android.tools.r8.shaking.ProguardCompatibilityActions$Builder,com.android.tools.r8.graph.DexType):48 -> a
    5:5:com.android.tools.r8.shaking.ProguardCompatibilityActions build():61:61 -> a
com.android.tools.r8.shaking.ProguardConfiguration -> com.android.tools.r8.shaking.y1:
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    java.lang.String packagePrefix -> f
    boolean optimizing -> i
    com.android.tools.r8.shaking.ProguardClassFilter dontNotePatterns -> x
    boolean shrinking -> k
    boolean dontUseMixedCaseClassnames -> L
    java.nio.file.Path printConfigurationFile -> m
    com.android.tools.r8.shaking.ProguardPathFilter keepDirectories -> J
    java.nio.file.Path printMappingFile -> q
    java.nio.file.Path printUsageFile -> o
    boolean verbose -> s
    com.android.tools.r8.com.google.common.collect.ImmutableList classObfuscationDictionary -> D
    com.android.tools.r8.com.google.common.collect.ImmutableList injars -> c
    java.lang.String renameSourceFileAttribute -> t
    java.nio.file.Path applyMappingFile -> r
    com.android.tools.r8.shaking.ProguardClassFilter adaptClassStrings -> G
    com.android.tools.r8.shaking.ProguardPathFilter adaptResourceFileContents -> I
    java.lang.String parsedConfiguration -> a
    boolean ignoreWarnings -> h
    com.android.tools.r8.shaking.ProguardPackageNameList keepPackageNamesPatterns -> v
    boolean protoShrinking -> M
    int maxRemovedAndroidLogLevel -> N
    boolean printUsage -> n
    com.android.tools.r8.shaking.ProguardKeepAttributes keepAttributes -> u
    boolean $assertionsDisabled -> O
    boolean printMapping -> p
    boolean obfuscating -> j
    com.android.tools.r8.shaking.ProguardClassFilter dontWarnPatterns -> w
    com.android.tools.r8.com.google.common.collect.ImmutableList rules -> y
    boolean configurationDebugging -> K
    boolean printConfiguration -> l
    com.android.tools.r8.com.google.common.collect.ImmutableList packageObfuscationDictionary -> E
    com.android.tools.r8.com.google.common.collect.ImmutableList libraryjars -> d
    com.android.tools.r8.com.google.common.collect.ImmutableList obfuscationDictionary -> C
    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode packageObfuscationMode -> e
    boolean printSeeds -> z
    com.android.tools.r8.shaking.ProguardPathFilter adaptResourceFilenames -> H
    boolean keepParameterNames -> F
    boolean allowAccessModification -> g
    java.nio.file.Path seedFile -> A
    boolean overloadAggressively -> B
    1:1:void <clinit>():20:20 -> <clinit>
    1:1:void <init>(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.util.List,java.util.List,com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode,java.lang.String,boolean,boolean,boolean,boolean,boolean,boolean,java.nio.file.Path,boolean,java.nio.file.Path,boolean,java.nio.file.Path,java.nio.file.Path,boolean,java.lang.String,com.android.tools.r8.shaking.ProguardKeepAttributes,com.android.tools.r8.shaking.ProguardPackageNameList,com.android.tools.r8.shaking.ProguardClassFilter,com.android.tools.r8.shaking.ProguardClassFilter,java.util.Set,boolean,java.nio.file.Path,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,boolean,com.android.tools.r8.shaking.ProguardClassFilter,com.android.tools.r8.shaking.ProguardPathFilter,com.android.tools.r8.shaking.ProguardPathFilter,com.android.tools.r8.shaking.ProguardPathFilter,boolean,boolean,boolean,int,com.android.tools.r8.shaking.ProguardConfiguration$1):20:20 -> <init>
    2:42:void <init>(java.lang.String,com.android.tools.r8.graph.DexItemFactory,java.util.List,java.util.List,com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode,java.lang.String,boolean,boolean,boolean,boolean,boolean,boolean,java.nio.file.Path,boolean,java.nio.file.Path,boolean,java.nio.file.Path,java.nio.file.Path,boolean,java.lang.String,com.android.tools.r8.shaking.ProguardKeepAttributes,com.android.tools.r8.shaking.ProguardPackageNameList,com.android.tools.r8.shaking.ProguardClassFilter,com.android.tools.r8.shaking.ProguardClassFilter,java.util.Set,boolean,java.nio.file.Path,boolean,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,boolean,com.android.tools.r8.shaking.ProguardClassFilter,com.android.tools.r8.shaking.ProguardPathFilter,com.android.tools.r8.shaking.ProguardPathFilter,com.android.tools.r8.shaking.ProguardPathFilter,boolean,boolean,boolean,int):449:489 -> <init>
    1:1:boolean hasDontWarnPatterns():593:593 -> A
    1:1:boolean isAccessModificationAllowed():525:525 -> B
    1:1:boolean isConfigurationDebugging():654:654 -> C
    1:1:boolean isIgnoreWarnings():545:545 -> D
    1:1:boolean isKeepParameterNames():626:626 -> E
    1:1:boolean isObfuscating():553:553 -> F
    1:1:boolean isOptimizing():549:549 -> G
    1:1:boolean isOverloadAggressively():610:610 -> H
    1:1:boolean isPrintConfiguration():561:561 -> I
    1:1:boolean isPrintMapping():529:529 -> J
    1:1:boolean isPrintSeeds():646:646 -> K
    1:1:boolean isPrintUsage():569:569 -> L
    1:1:boolean isProtoShrinkingEnabled():662:662 -> M
    1:1:boolean isShrinking():557:557 -> N
    1:1:boolean isVerbose():577:577 -> O
    1:1:com.android.tools.r8.shaking.ProguardConfiguration$Builder builder(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):497:497 -> a
    2:2:com.android.tools.r8.shaking.ProguardClassFilter getDontWarnPatterns(com.android.tools.r8.errors.dontwarn.DontWarnConfiguration$Witness):598:598 -> a
    3:3:com.android.tools.r8.shaking.ProguardClassFilter getAdaptClassStrings():630:630 -> a
    1:1:com.android.tools.r8.shaking.ProguardPathFilter getAdaptResourceFileContents():638:638 -> b
    1:1:com.android.tools.r8.shaking.ProguardPathFilter getAdaptResourceFilenames():634:634 -> c
    1:1:java.nio.file.Path getApplyMappingFile():541:541 -> d
    1:1:java.util.List getClassObfuscationDictionary():618:618 -> e
    1:1:com.android.tools.r8.graph.DexItemFactory getDexItemFactory():505:505 -> f
    1:1:com.android.tools.r8.shaking.ProguardClassFilter getDontNotePatterns():602:602 -> g
    1:1:java.util.List getInjars():509:509 -> h
    1:1:com.android.tools.r8.shaking.ProguardKeepAttributes getKeepAttributes():585:585 -> i
    1:1:com.android.tools.r8.shaking.ProguardPathFilter getKeepDirectories():642:642 -> j
    1:1:com.android.tools.r8.shaking.ProguardPackageNameList getKeepPackageNamesPatterns():589:589 -> k
    1:1:java.util.List getLibraryjars():513:513 -> l
    1:1:int getMaxRemovedAndroidLogLevel():666:666 -> m
    1:1:java.util.List getObfuscationDictionary():614:614 -> n
    1:1:java.util.List getPackageObfuscationDictionary():622:622 -> o
    1:1:com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode getPackageObfuscationMode():517:517 -> p
    1:1:java.lang.String getPackagePrefix():521:521 -> q
    1:1:java.lang.String getParsedConfiguration():501:501 -> r
    1:1:java.nio.file.Path getPrintConfigurationFile():565:565 -> s
    1:1:java.nio.file.Path getPrintMappingFile():533:533 -> t
    1:2:java.lang.String toString():671:672 -> toString
    3:3:boolean com.android.tools.r8.shaking.ProguardKeepAttributes.isEmpty():216:216 -> toString
    3:3:java.lang.String toString():672 -> toString
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:boolean com.android.tools.r8.shaking.ProguardKeepAttributes.isEmpty():216:216 -> toString
    4:4:java.lang.String toString():672 -> toString
    5:12:java.lang.String toString():673:680 -> toString
    1:1:java.nio.file.Path getPrintUsageFile():573:573 -> u
    1:1:java.lang.String getRenameSourceFileAttribute():581:581 -> v
    1:1:java.util.List getRules():606:606 -> w
    1:1:java.nio.file.Path getSeedFile():650:650 -> x
    1:1:boolean hasApplyMappingFile():537:537 -> y
    1:1:boolean hasDontUseMixedCaseClassnames():658:658 -> z
com.android.tools.r8.shaking.ProguardConfiguration$Builder -> com.android.tools.r8.shaking.y1$a:
    java.lang.String packagePrefix -> f
    java.nio.file.Path classObfuscationDictionary -> D
    boolean overloadAggressively -> N
    java.util.Set rules -> y
    java.nio.file.Path seedFile -> B
    boolean dontUseMixedCaseClassnames -> P
    boolean optimizing -> i
    boolean shrinking -> k
    com.android.tools.r8.shaking.ProguardClassFilter$Builder dontWarnPatterns -> w
    java.nio.file.Path printConfigurationFile -> m
    com.android.tools.r8.origin.Origin keepParameterNamesOptionOrigin -> G
    com.android.tools.r8.position.Position keepParameterNamesOptionPosition -> H
    java.nio.file.Path printMappingFile -> q
    java.nio.file.Path printUsageFile -> o
    boolean verbose -> s
    java.lang.String renameSourceFileAttribute -> t
    java.util.List injars -> b
    com.android.tools.r8.shaking.ProguardPathFilter$Builder adaptResourceFilenames -> J
    com.android.tools.r8.shaking.ProguardPathFilter$Builder keepDirectories -> L
    java.nio.file.Path applyMappingFile -> r
    boolean ignoreWarnings -> h
    boolean printSeeds -> A
    int maxRemovedAndroidLogLevel -> R
    com.android.tools.r8.shaking.ProguardClassFilter$Builder dontNotePatterns -> x
    java.nio.file.Path packageObfuscationDictionary -> E
    boolean forceProguardCompatibility -> M
    boolean printUsage -> n
    java.nio.file.Path obfuscationDictionary -> C
    boolean configurationDebugging -> O
    boolean printMapping -> p
    boolean obfuscating -> j
    java.util.List keepAttributePatterns -> u
    boolean printConfiguration -> l
    com.android.tools.r8.utils.Reporter reporter -> d
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> z
    boolean protoShrinking -> Q
    boolean $assertionsDisabled -> S
    com.android.tools.r8.shaking.ProguardPackageNameList$Builder keepPackageNamesPatterns -> v
    java.util.List parsedConfiguration -> a
    com.android.tools.r8.shaking.ProguardClassFilter$Builder adaptClassStrings -> I
    com.android.tools.r8.shaking.ProguardPathFilter$Builder adaptResourceFileContents -> K
    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode packageObfuscationMode -> e
    java.util.List libraryjars -> c
    boolean keepParameterNames -> F
    boolean allowAccessModification -> g
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.shaking.ProguardConfiguration$1):22:22 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):75:75 -> <init>
    3:56:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):24:77 -> <init>
    1:1:void addParsedConfiguration(java.lang.String):81:81 -> a
    2:2:void addInjars(java.util.List):85:85 -> a
    3:3:void setApplyMappingFile(java.nio.file.Path):172:172 -> a
    4:4:com.android.tools.r8.shaking.ProguardConfiguration$Builder addKeepAttributePatterns(java.util.List):188:188 -> a
    5:5:void addRule(com.android.tools.r8.shaking.ProguardConfigurationRule):193:193 -> a
    6:6:void addKeepPackageNamesPattern(boolean,com.android.tools.r8.shaking.ProguardPackageMatcher):197:197 -> a
    7:10:void setKeepParameterNames(boolean,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):234:237 -> a
    11:11:void addAdaptClassStringsPattern(com.android.tools.r8.shaking.ProguardClassNameList):253:253 -> a
    12:12:void addAdaptResourceFileContents(com.android.tools.r8.shaking.ProguardPathList):262:262 -> a
    13:13:void setForceProguardCompatibility(boolean):274:274 -> a
    14:14:void setMaxRemovedAndroidLogLevel(int):302:302 -> a
    15:15:com.android.tools.r8.shaking.ProguardConfiguration build():355:355 -> a
    16:16:boolean isObfuscating():129:129 -> a
    16:16:com.android.tools.r8.shaking.ProguardConfiguration build():355 -> a
    17:24:com.android.tools.r8.shaking.ProguardConfiguration build():357:364 -> a
    1:1:void addLibraryJars(java.util.List):89:89 -> b
    2:3:void setFlattenPackagePrefix(java.lang.String):102:103 -> b
    4:4:void setIgnoreWarnings(boolean):111:111 -> b
    5:5:void addDontNotePattern(com.android.tools.r8.shaking.ProguardClassNameList):205:205 -> b
    6:6:void setClassObfuscationDictionary(java.nio.file.Path):221:221 -> b
    7:7:com.android.tools.r8.shaking.ProguardConfiguration$Builder addAdaptResourceFilenames(com.android.tools.r8.shaking.ProguardPathList):257:257 -> b
    8:51:com.android.tools.r8.shaking.ProguardConfiguration buildRaw():306:349 -> b
    1:2:void setPackagePrefix(java.lang.String):97:98 -> c
    3:3:com.android.tools.r8.shaking.ProguardConfiguration$Builder disableObfuscation():120:120 -> c
    4:4:void addDontWarnPattern(com.android.tools.r8.shaking.ProguardClassNameList):201:201 -> c
    5:5:void setObfuscationDictionary(java.nio.file.Path):217:217 -> c
    6:6:void addKeepDirectories(com.android.tools.r8.shaking.ProguardPathList):270:270 -> c
    7:7:void setOverloadAggressively(boolean):278:278 -> c
    1:1:com.android.tools.r8.shaking.ProguardConfiguration$Builder disableOptimization():115:115 -> d
    2:2:void setPrintMapping(boolean):163:163 -> d
    3:3:void setRenameSourceFileAttribute(java.lang.String):184:184 -> d
    4:4:void setPackageObfuscationDictionary(java.nio.file.Path):225:225 -> d
    1:1:com.android.tools.r8.shaking.ProguardConfiguration$Builder disableShrinking():141:141 -> e
    2:3:void setPrintConfigurationFile(java.nio.file.Path):150:151 -> e
    4:4:void setPrintSeeds(boolean):213:213 -> e
    1:2:void setPrintMappingFile(java.nio.file.Path):167:168 -> f
    3:3:void enableKeepDirectories():266:266 -> f
    1:1:void setPrintUsageFile(java.nio.file.Path):159:159 -> g
    2:2:void enableProtoShrinking():294:294 -> g
    1:1:void setSeedFile(java.nio.file.Path):209:209 -> h
    2:2:com.android.tools.r8.origin.Origin getKeepParameterNamesOptionOrigin():245:245 -> h
    1:1:com.android.tools.r8.position.Position getKeepParameterNamesOptionPosition():249:249 -> i
    1:1:com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode getPackageObfuscationMode():93:93 -> j
    1:1:boolean hasApplyMappingFile():176:176 -> k
    1:1:boolean isConfigurationDebugging():286:286 -> l
    1:1:boolean isKeepParameterNames():241:241 -> m
    1:1:boolean isObfuscating():129:129 -> n
    1:1:void setAllowAccessModification(boolean):107:107 -> o
    1:1:void setConfigurationDebugging(boolean):282:282 -> p
    1:1:void setDontUseMixedCaseClassnames(boolean):290:290 -> q
    1:1:void setPrintConfiguration(boolean):146:146 -> r
    1:1:void setPrintUsage(boolean):155:155 -> s
    1:1:void setVerbose(boolean):180:180 -> t
com.android.tools.r8.shaking.ProguardConfigurationParser -> com.android.tools.r8.shaking.A1:
    com.android.tools.r8.shaking.ProguardConfiguration$Builder configurationBuilder -> a
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> b
    java.util.List UNSUPPORTED_FLAG_OPTIONS -> o
    com.android.tools.r8.InputDependencyGraphConsumer inputDependencyConsumer -> d
    com.android.tools.r8.utils.Reporter reporter -> c
    java.util.List IGNORED_SINGLE_ARG_OPTIONS -> f
    boolean allowTestOptions -> e
    java.util.List IGNORED_RETURN_VALUE_ATTRIBUTES -> j
    java.util.List IGNORED_CLASS_DESCRIPTOR_OPTIONS -> i
    java.util.List IGNORED_FLAG_OPTIONS -> h
    java.util.List IGNORED_OPTIONAL_SINGLE_ARG_OPTIONS -> g
    java.util.List WARNED_CLASS_DESCRIPTOR_OPTIONS -> n
    java.util.List WARNED_FLAG_OPTIONS -> m
    java.util.List WARNED_OPTIONAL_SINGLE_ARG_OPTIONS -> l
    int $r8$clinit -> p
    java.util.List WARNED_SINGLE_ARG_OPTIONS -> k
    1:52:void <clinit>():60:111 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):125:125 -> <init>
    2:11:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter,com.android.tools.r8.InputDependencyGraphConsumer,boolean):132:141 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardConfiguration$Builder access$000(com.android.tools.r8.shaking.ProguardConfigurationParser):47:47 -> a
    2:2:java.util.List access$1000():47:47 -> a
    3:3:void parse(java.nio.file.Path):205:205 -> a
    4:4:void parse(com.android.tools.r8.shaking.ProguardConfigurationSource):209:209 -> a
    5:12:void parse(java.util.List):213:220 -> a
    13:13:void parse(java.util.List):217:217 -> a
    14:14:void parse(java.util.List):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":240,"2":241,"3":242}}
    240:240:void parse(java.util.List):217:217 -> a
    241:241:void parse(java.util.List):217:217 -> a
    242:242:void parse(java.util.List):217:217 -> a
    231:233:void parse(java.util.List):217:217 -> a
    239:239:void parse(java.util.List):223:223 -> a
    1:1:com.android.tools.r8.utils.Reporter access$100(com.android.tools.r8.shaking.ProguardConfigurationParser):47:47 -> b
    2:2:java.util.List access$1100():47:47 -> b
    1:1:java.util.List access$1200():47:47 -> c
    2:2:com.android.tools.r8.graph.DexItemFactory access$1400(com.android.tools.r8.shaking.ProguardConfigurationParser):47:47 -> c
    1:1:java.util.List access$1300():47:47 -> d
    2:2:com.android.tools.r8.InputDependencyGraphConsumer access$200(com.android.tools.r8.shaking.ProguardConfigurationParser):47:47 -> d
    1:1:boolean access$300(com.android.tools.r8.shaking.ProguardConfigurationParser):47:47 -> e
    2:2:java.util.List access$400():47:47 -> e
    1:1:java.util.List access$500():47:47 -> f
    1:1:java.util.List access$600():47:47 -> g
    1:1:java.util.List access$700():47:47 -> h
    1:1:java.util.List access$800():47:47 -> i
    1:1:java.util.List access$900():47:47 -> j
    1:1:com.android.tools.r8.InputDependencyGraphConsumer emptyInputDependencyGraphConsumer():145:145 -> k
    1:2:com.android.tools.r8.shaking.ProguardConfiguration getConfig():191:192 -> l
    1:2:com.android.tools.r8.shaking.ProguardConfiguration getConfigRawForTesting():200:201 -> m
    1:1:com.android.tools.r8.shaking.ProguardConfiguration$Builder getConfigurationBuilder():159:159 -> n
    1:7:void validate():163:169 -> o
    8:16:void validate():166:174 -> o
    17:17:void validate():0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":380,"2":381,"3":382,"4":383,"5":384}}
    380:380:void validate():174:174 -> o
    381:381:void validate():174:174 -> o
    382:382:void validate():174:174 -> o
    383:383:void validate():174:174 -> o
    384:384:void validate():174:174 -> o
    191:196:void validate():174:179 -> o
    197:197:void validate():0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":389,"2":390,"3":391,"4":392,"5":393}}
    389:389:void validate():179:179 -> o
    390:390:void validate():179:179 -> o
    391:391:void validate():179:179 -> o
    392:392:void validate():179:179 -> o
    393:393:void validate():179:179 -> o
    376:379:void validate():179:182 -> o
com.android.tools.r8.shaking.ProguardConfigurationParser$1 -> com.android.tools.r8.shaking.z1:
    1:1:void <init>():145:145 -> <init>
com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards -> com.android.tools.r8.shaking.A1$a:
    java.util.List wildcards -> b
    java.lang.String pattern -> a
    1:3:void <init>(java.lang.String,java.util.List):2294:2296 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards withoutWildcards(java.lang.String):2300:2300 -> a
    2:3:boolean hasBackreference():2308:2309 -> a
    1:15:boolean hasUnusualCharacters():2313:2327 -> b
com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation -> com.android.tools.r8.shaking.B1:
    com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards patternWithWildcards -> a
    boolean negated -> b
    1:3:void <init>(java.lang.String,java.util.List,boolean):2338:2340 -> <init>
com.android.tools.r8.shaking.ProguardConfigurationParser$ProguardConfigurationSourceParser -> com.android.tools.r8.shaking.C1:
    boolean $assertionsDisabled -> j
    java.nio.file.Path baseDirectory -> g
    int lineStartPosition -> f
    com.android.tools.r8.shaking.ProguardConfigurationParser this$0 -> i
    java.lang.String name -> a
    int positionAfterInclude -> d
    int line -> e
    com.android.tools.r8.origin.Origin origin -> h
    java.lang.String contents -> b
    int position -> c
    1:1:void <clinit>():232:232 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.ProguardConfigurationParser,com.android.tools.r8.shaking.ProguardConfigurationSource):242:242 -> <init>
    2:14:void <init>(com.android.tools.r8.shaking.ProguardConfigurationParser,com.android.tools.r8.shaking.ProguardConfigurationSource):235:247 -> <init>
    1:1:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):842:842 -> a
    2:2:com.android.tools.r8.shaking.ClassInlineRule$Builder com.android.tools.r8.shaking.ClassInlineRule.builder():91:91 -> a
    2:2:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):842 -> a
    3:3:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):842:842 -> a
    4:4:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> a
    4:4:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):842 -> a
    5:5:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> a
    5:5:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):842 -> a
    6:6:com.android.tools.r8.shaking.ClassInlineRule$Builder com.android.tools.r8.shaking.ClassInlineRule$Builder.setType(com.android.tools.r8.shaking.ClassInlineRule$Type):32:32 -> a
    6:6:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):842 -> a
    7:9:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):843:845 -> a
    10:10:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> a
    10:10:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):846 -> a
    11:21:com.android.tools.r8.shaking.ClassInlineRule com.android.tools.r8.shaking.ClassInlineRule$Builder.build():38:48 -> a
    11:21:com.android.tools.r8.shaking.ClassInlineRule parseClassInlineRule(com.android.tools.r8.shaking.ClassInlineRule$Type,com.android.tools.r8.position.Position):847 -> a
    22:22:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):896:896 -> a
    23:23:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> a
    23:23:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):896 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:24:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):54:54 -> a
    24:24:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):896 -> a
    25:25:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):896:896 -> a
    26:26:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> a
    26:26:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):896 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    27:27:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):59:59 -> a
    27:27:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):896 -> a
    28:30:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):897:899 -> a
    31:32:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:64 -> a
    31:32:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):900 -> a
    33:33:com.android.tools.r8.shaking.NoOptimizationBaseRule parseNoOptimizationRule(com.android.tools.r8.position.Position,com.android.tools.r8.shaking.NoOptimizationBaseRule$Builder):901:901 -> a
    34:36:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1136:1138 -> a
    34:36:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1163 -> a
    34:36:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1051 -> a
    37:37:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2135:2135 -> a
    37:37:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2127 -> a
    37:37:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1139 -> a
    37:37:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1163 -> a
    37:37:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1051 -> a
    38:39:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2128:2129 -> a
    38:39:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1139 -> a
    38:39:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1163 -> a
    38:39:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1051 -> a
    40:48:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1140:1148 -> a
    40:48:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1163 -> a
    40:48:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1051 -> a
    49:49:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1147:1147 -> a
    49:49:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1163 -> a
    49:49:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1051 -> a
    50:50:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2137:2137 -> a
    50:50:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2127 -> a
    50:50:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1139 -> a
    50:50:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1163 -> a
    50:50:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1051 -> a
    51:53:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1165:1167 -> a
    51:53:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1051 -> a
    54:55:boolean parseNegation():1154:1155 -> a
    54:55:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1169 -> a
    54:55:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1051 -> a
    56:56:com.android.tools.r8.shaking.ProguardAccessFlags com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getNegatedClassAccessFlags():160:160 -> a
    56:56:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1170 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    56:56:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1051 -> a
    57:57:com.android.tools.r8.shaking.ProguardAccessFlags com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getClassAccessFlags():151:151 -> a
    57:57:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1171 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    57:57:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1051 -> a
    58:67:void parseClassAnnotationsAndFlags(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1172:1181 -> a
    58:67:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1051 -> a
    68:70:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1194:1196 -> a
    68:70:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    71:71:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassTypeNegated(boolean):146:146 -> a
    71:71:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1197 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:71:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    72:72:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassTypeNegated(boolean):147:147 -> a
    72:72:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1197 -> a
    72:72:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    73:76:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1199:1202 -> a
    73:76:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    77:77:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    77:77:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1202 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    77:77:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    78:78:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):138:138 -> a
    78:78:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1202 -> a
    78:78:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    79:79:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1204:1204 -> a
    79:79:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    80:81:com.android.tools.r8.utils.StringDiagnostic parseClassTypeUnexpected(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.TextPosition):1189:1190 -> a
    80:81:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1204 -> a
    80:81:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    82:85:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1204:1207 -> a
    82:85:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    86:86:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    86:86:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1207 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    86:86:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    87:87:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):138:138 -> a
    87:87:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1207 -> a
    87:87:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    88:89:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1208:1209 -> a
    88:89:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    90:90:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    90:90:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1209 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    90:90:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    91:91:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):138:138 -> a
    91:91:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1209 -> a
    91:91:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    92:93:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1210:1211 -> a
    92:93:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    94:94:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    94:94:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1211 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    94:94:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    95:95:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):138:138 -> a
    95:95:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1211 -> a
    95:95:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    96:96:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2114:2114 -> a
    96:96:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1053 -> a
    97:97:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2135:2135 -> a
    97:97:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2106 -> a
    97:97:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> a
    97:97:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1053 -> a
    98:101:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2107:2107 -> a
    98:101:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> a
    98:101:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1053 -> a
    104:104:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2110:2110 -> a
    104:104:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> a
    104:104:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1053 -> a
    105:106:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2117:2118 -> a
    105:106:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1053 -> a
    107:107:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1053:1053 -> a
    108:109:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1220:1221 -> a
    108:109:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    110:110:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceIsExtends(boolean):96:96 -> a
    110:110:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1222 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    110:110:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    111:111:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceIsExtends(boolean):97:97 -> a
    111:111:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1222 -> a
    111:111:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    112:112:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1223:1223 -> a
    112:112:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    113:113:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceIsExtends(boolean):96:96 -> a
    113:113:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1224 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    113:113:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    114:114:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceIsExtends(boolean):97:97 -> a
    114:114:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1224 -> a
    114:114:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    115:117:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1136:1138 -> a
    115:117:java.util.List parseAnnotationList():1126 -> a
    115:117:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1228 -> a
    115:117:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    118:118:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2135:2135 -> a
    118:118:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2127 -> a
    118:118:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1139 -> a
    118:118:java.util.List parseAnnotationList():1126 -> a
    118:118:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1228 -> a
    118:118:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    119:120:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2128:2129 -> a
    119:120:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1139 -> a
    119:120:java.util.List parseAnnotationList():1126 -> a
    119:120:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1228 -> a
    119:120:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    121:129:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1140:1148 -> a
    121:129:java.util.List parseAnnotationList():1126 -> a
    121:129:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1228 -> a
    121:129:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    130:130:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1147:1147 -> a
    130:130:java.util.List parseAnnotationList():1126 -> a
    130:130:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1228 -> a
    130:130:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    131:131:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2137:2137 -> a
    131:131:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2127 -> a
    131:131:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1139 -> a
    131:131:java.util.List parseAnnotationList():1126 -> a
    131:131:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1228 -> a
    131:131:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    132:136:java.util.List parseAnnotationList():1128:1132 -> a
    132:136:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1228 -> a
    132:136:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    137:137:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1228:1228 -> a
    137:137:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    138:138:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2135:2135 -> a
    138:138:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2127 -> a
    138:138:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1229 -> a
    138:138:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    139:140:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2128:2129 -> a
    139:140:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1229 -> a
    139:140:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    141:143:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1229:1229 -> a
    141:143:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    144:145:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceClassName(com.android.tools.r8.shaking.ProguardTypeMatcher):109:110 -> a
    144:145:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1229 -> a
    144:145:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    146:146:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2137:2137 -> a
    146:146:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2127 -> a
    146:146:void parseInheritance(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1229 -> a
    146:146:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1054 -> a
    147:148:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1239:1240 -> a
    147:148:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    149:149:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1252:1252 -> a
    149:149:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    149:149:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    150:152:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1136:1138 -> a
    150:152:java.util.List parseAnnotationList():1126 -> a
    150:152:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1253 -> a
    150:152:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    150:152:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    153:153:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2135:2135 -> a
    153:153:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2127 -> a
    153:153:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1139 -> a
    153:153:java.util.List parseAnnotationList():1126 -> a
    153:153:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1253 -> a
    153:153:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    153:153:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    154:155:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2128:2129 -> a
    154:155:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1139 -> a
    154:155:java.util.List parseAnnotationList():1126 -> a
    154:155:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1253 -> a
    154:155:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    154:155:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    156:164:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1140:1148 -> a
    156:164:java.util.List parseAnnotationList():1126 -> a
    156:164:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1253 -> a
    156:164:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    156:164:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    165:165:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1147:1147 -> a
    165:165:java.util.List parseAnnotationList():1126 -> a
    165:165:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1253 -> a
    165:165:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    165:165:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    166:166:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2137:2137 -> a
    166:166:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2127 -> a
    166:166:com.android.tools.r8.shaking.ProguardTypeMatcher parseAnnotation():1139 -> a
    166:166:java.util.List parseAnnotationList():1126 -> a
    166:166:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1253 -> a
    166:166:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    166:166:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    167:171:java.util.List parseAnnotationList():1128:1132 -> a
    167:171:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1253 -> a
    167:171:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    167:171:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    172:172:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1253:1253 -> a
    172:172:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    172:172:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    173:173:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1261:1261 -> a
    173:173:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1254 -> a
    173:173:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    173:173:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    174:175:boolean parseNegation():1154:1155 -> a
    174:175:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1263 -> a
    174:175:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1254 -> a
    174:175:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    174:175:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    176:221:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1265:1310 -> a
    176:221:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1254 -> a
    176:221:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    176:221:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    222:239:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1298:1315 -> a
    222:239:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1254 -> a
    222:239:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    222:239:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    240:245:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1289:1294 -> a
    240:245:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1254 -> a
    240:245:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    240:245:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    246:247:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1284:1285 -> a
    246:247:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1254 -> a
    246:247:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    246:247:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    248:249:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1279:1280 -> a
    248:249:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1254 -> a
    248:249:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    248:249:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    250:251:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1274:1275 -> a
    250:251:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1254 -> a
    250:251:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    250:251:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    252:308:void parseMemberAccessFlags(com.android.tools.r8.shaking.ProguardMemberRule$Builder):1269:1325 -> a
    252:308:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1254 -> a
    252:308:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    252:308:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    309:328:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1333:1352 -> a
    309:328:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    309:328:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    309:328:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    329:334:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType):1855:1860 -> a
    329:334:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1354 -> a
    329:334:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    329:334:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    329:334:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    335:340:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1356:1361 -> a
    335:340:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    335:340:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    335:340:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    341:349:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1494:1502 -> a
    341:349:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1363 -> a
    341:349:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    341:349:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    341:349:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    350:352:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1364:1366 -> a
    350:352:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    350:352:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    350:352:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    353:353:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1503:1503 -> a
    353:353:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1363 -> a
    353:353:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    353:353:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    353:353:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    354:354:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1500:1500 -> a
    354:354:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1363 -> a
    354:354:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    354:354:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    354:354:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    355:357:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1368:1370 -> a
    355:357:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    355:357:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    355:357:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    358:358:boolean com.android.tools.r8.shaking.ProguardTypeMatcher.matchesSpecificType():147:147 -> a
    358:358:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1371 -> a
    358:358:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    358:358:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    358:358:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(4)"]}
    359:365:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1372:1378 -> a
    359:365:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    359:365:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    359:365:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    366:374:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1373:1381 -> a
    366:374:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    366:374:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    366:374:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    375:375:boolean com.android.tools.r8.shaking.ProguardTypeMatcher.matchesSpecificType():147:147 -> a
    375:375:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1382 -> a
    375:375:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    375:375:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    375:375:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(4)"]}
    376:382:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1383:1389 -> a
    376:382:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    376:382:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    376:382:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    383:390:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1384:1391 -> a
    383:390:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    383:390:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    383:390:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    391:396:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType):1855:1860 -> a
    391:396:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1393 -> a
    391:396:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    391:396:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    391:396:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    397:401:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1395:1399 -> a
    397:401:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    397:401:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    397:401:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    402:410:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1494:1502 -> a
    402:410:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1400 -> a
    402:410:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    402:410:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    402:410:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    411:415:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1402:1406 -> a
    411:415:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    411:415:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    411:415:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    416:418:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1405:1407 -> a
    416:418:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    416:418:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    416:418:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    419:419:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1503:1503 -> a
    419:419:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1400 -> a
    419:419:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    419:419:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    419:419:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    420:420:void checkConstructorPattern(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.position.TextPosition):1500:1500 -> a
    420:420:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1400 -> a
    420:420:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    420:420:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    420:420:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    421:422:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1409:1410 -> a
    421:422:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    421:422:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    421:422:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    423:429:void warnUnusualCharacters(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2243:2243 -> a
    423:429:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1410 -> a
    423:429:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    423:429:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    423:429:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    430:431:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1412:1413 -> a
    430:431:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    430:431:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    430:431:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    432:438:void warnUnusualCharacters(java.lang.String,java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2243:2243 -> a
    432:438:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1413 -> a
    432:438:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    432:438:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    432:438:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    439:443:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1415:1419 -> a
    439:443:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    439:443:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    439:443:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    444:460:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1418:1434 -> a
    444:460:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    444:460:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    444:460:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    461:462:java.lang.String acceptFieldNameOrIntegerForReturn():1982:1983 -> a
    461:462:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1435 -> a
    461:462:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    461:462:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    461:462:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    463:463:boolean eof(int):1729:1729 -> a
    463:463:java.lang.String acceptFieldNameOrIntegerForReturn():1985 -> a
    463:463:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1435 -> a
    463:463:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    463:463:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    463:463:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    464:464:java.lang.String acceptFieldNameOrIntegerForReturn():1986:1986 -> a
    464:464:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1435 -> a
    464:464:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    464:464:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    464:464:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    465:465:boolean eof(int):1729:1729 -> a
    465:465:java.lang.String acceptFieldNameOrIntegerForReturn():1987 -> a
    465:465:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1435 -> a
    465:465:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    465:465:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    465:465:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    466:466:char peekCharAt(int):1780:1780 -> a
    466:466:java.lang.String acceptFieldNameOrIntegerForReturn():1987 -> a
    466:466:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1435 -> a
    466:466:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    466:466:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    466:466:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    467:467:boolean eof(int):1729:1729 -> a
    467:467:char peekCharAt(int):1780 -> a
    467:467:java.lang.String acceptFieldNameOrIntegerForReturn():1987 -> a
    467:467:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1435 -> a
    467:467:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    467:467:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    467:467:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    468:469:char peekCharAt(int):1780:1781 -> a
    468:469:java.lang.String acceptFieldNameOrIntegerForReturn():1987 -> a
    468:469:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1435 -> a
    468:469:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    468:469:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    468:469:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    470:482:java.lang.String acceptFieldNameOrIntegerForReturn():1991:2003 -> a
    470:482:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1435 -> a
    470:482:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    470:482:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    470:482:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    483:484:boolean isInteger(java.lang.String):1716:1717 -> a
    483:484:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1437 -> a
    483:484:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    483:484:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    483:484:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    485:499:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1438:1452 -> a
    485:499:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    485:499:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    485:499:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    500:500:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1451:1451 -> a
    500:500:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    500:500:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    500:500:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    501:513:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1449:1461 -> a
    501:513:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    501:513:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    501:513:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    514:514:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1460:1460 -> a
    514:514:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    514:514:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    514:514:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    515:520:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1459:1464 -> a
    515:520:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    515:520:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    515:520:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    521:545:void parseMemberPattern(com.android.tools.r8.shaking.ProguardMemberRule$Builder,boolean):1463:1487 -> a
    521:545:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1255 -> a
    521:545:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    521:545:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    546:546:com.android.tools.r8.shaking.ProguardMemberRule parseMemberRule(boolean):1256:1256 -> a
    546:546:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1242 -> a
    546:546:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    547:547:java.util.List com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getMemberRules():83:83 -> a
    547:547:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1243 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    547:547:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    548:551:void parseMemberRules(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1243:1246 -> a
    548:551:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1055 -> a
    552:552:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2137:2137 -> a
    552:552:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2106 -> a
    552:552:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> a
    552:552:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1053 -> a
    553:553:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1213:1213 -> a
    553:553:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    554:555:com.android.tools.r8.utils.StringDiagnostic parseClassTypeUnexpected(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.TextPosition):1189:1190 -> a
    554:555:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1213 -> a
    554:555:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    556:556:void parseClassType(com.android.tools.r8.shaking.ProguardClassSpecification$Builder):1213:1213 -> a
    556:556:void parseClassSpec(com.android.tools.r8.shaking.ProguardClassSpecification$Builder,boolean):1052 -> a
    557:578:java.nio.file.Path parseFileName(boolean):1578:1599 -> a
    579:579:java.nio.file.Path parseFileName(boolean):1597:1597 -> a
    580:600:java.lang.String replaceSystemPropertyReferences(java.lang.String):1537:1557 -> a
    580:600:java.nio.file.Path parseFileName(boolean):1602 -> a
    601:601:java.nio.file.Path parseFileName(boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":618,"2":619,"3":620,"4":621,"5":622,"6":623}}
    618:618:java.lang.String replaceSystemPropertyReferences(java.lang.String):1555:1555 -> a
    618:618:java.nio.file.Path parseFileName(boolean):1602 -> a
    619:619:java.lang.String replaceSystemPropertyReferences(java.lang.String):1555:1555 -> a
    619:619:java.nio.file.Path parseFileName(boolean):1602 -> a
    620:620:java.lang.String replaceSystemPropertyReferences(java.lang.String):1555:1555 -> a
    620:620:java.nio.file.Path parseFileName(boolean):1602 -> a
    621:621:java.lang.String replaceSystemPropertyReferences(java.lang.String):1555:1555 -> a
    621:621:java.nio.file.Path parseFileName(boolean):1602 -> a
    622:622:java.lang.String replaceSystemPropertyReferences(java.lang.String):1555:1555 -> a
    622:622:java.nio.file.Path parseFileName(boolean):1602 -> a
    623:623:java.lang.String replaceSystemPropertyReferences(java.lang.String):1555:1555 -> a
    623:623:java.nio.file.Path parseFileName(boolean):1602 -> a
    602:614:java.lang.String replaceSystemPropertyReferences(java.lang.String):1555:1567 -> a
    602:614:java.nio.file.Path parseFileName(boolean):1602 -> a
    615:615:java.nio.file.Path parseFileName(boolean):1604:1604 -> a
    616:616:java.nio.file.Path parseFileName(boolean):1593:1593 -> a
    617:617:java.nio.file.Path parseFileName(boolean):1582:1582 -> a
    624:626:boolean lambda$parseFileName$1(boolean,char,boolean,int):1588:1590 -> a
    627:628:boolean acceptChar(char):1751:1752 -> a
    629:629:int remainingChars():1789:1789 -> a
    629:629:boolean acceptString(java.lang.String):1799 -> a
    630:638:boolean acceptString(java.lang.String):1799:1807 -> a
    639:639:boolean lambda$acceptQuotedOrUnquotedString$4(char,int):1817:1817 -> a
    640:640:boolean isClassName(int):1833:1833 -> a
    641:641:java.lang.String acceptClassName():1850:1850 -> a
    642:652:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1865:1875 -> a
    653:653:boolean eof(int):1729:1729 -> a
    653:653:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1877 -> a
    654:667:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1878:1891 -> a
    668:670:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1886:1886 -> a
    678:678:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1894:1894 -> a
    679:679:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4636,"2":4637,"3":4638}}
    4636:4636:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1894:1894 -> a
    4637:4637:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1894:1894 -> a
    4638:4638:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1894:1894 -> a
    2574:2575:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1895:1896 -> a
    2576:2588:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1894:1906 -> a
    2589:2627:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1905:1943 -> a
    2628:2628:boolean isPackageName(int):1843:1843 -> a
    2628:2628:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1948 -> a
    2629:2636:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1949:1956 -> a
    2637:2637:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4700,"2":4701,"3":4702}}
    4700:4700:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1956:1956 -> a
    4701:4701:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1956:1956 -> a
    4702:4702:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1956:1956 -> a
    4593:4598:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1956:1956 -> a
    4599:4599:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1950:1950 -> a
    4600:4627:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1945:1972 -> a
    4628:4635:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation acceptIdentifierWithBackreference(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierType,boolean):1971:1978 -> a
    4703:4703:java.lang.String acceptString(java.util.function.IntPredicate):2049:2049 -> a
    4704:4704:boolean eof(int):1729:1729 -> a
    4704:4704:java.lang.String acceptString(java.util.function.IntPredicate):2051 -> a
    4705:4716:java.lang.String acceptString(java.util.function.IntPredicate):2052:2063 -> a
    4717:4717:boolean pathFilterMatcher(java.lang.Integer):2143:2143 -> a
    4718:4719:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition):2222:2223 -> a
    4720:4723:com.android.tools.r8.position.Position getPosition(com.android.tools.r8.position.TextPosition):2257:2260 -> a
    4724:4725:java.lang.String getSourceSnippet(java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.position.Position):2273:2274 -> a
    4726:4726:java.lang.String com.android.tools.r8.shaking.ProguardConfigurationParser.access$1500(com.android.tools.r8.shaking.ProguardConfigurationParser,java.lang.String,com.android.tools.r8.position.TextPosition,com.android.tools.r8.position.TextPosition):47:47 -> a
    4726:4726:java.lang.String getSourceSnippet(java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.position.Position):2274 -> a
    4727:4733:java.lang.String com.android.tools.r8.shaking.ProguardConfigurationParser.getTextSourceSnippet(java.lang.String,com.android.tools.r8.position.TextPosition,com.android.tools.r8.position.TextPosition):2280:2286 -> a
    4727:4733:java.lang.String com.android.tools.r8.shaking.ProguardConfigurationParser.access$1500(com.android.tools.r8.shaking.ProguardConfigurationParser,java.lang.String,com.android.tools.r8.position.TextPosition,com.android.tools.r8.position.TextPosition):47 -> a
    4727:4733:java.lang.String getSourceSnippet(java.lang.String,com.android.tools.r8.position.Position,com.android.tools.r8.position.Position):2274 -> a
    1:1:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):829:829 -> b
    2:2:com.android.tools.r8.shaking.ProguardCheckDiscardRule$Builder com.android.tools.r8.shaking.ProguardCheckDiscardRule.builder():74:74 -> b
    2:2:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):829 -> b
    3:3:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):829:829 -> b
    4:4:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> b
    4:4:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):830 -> b
    5:5:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> b
    5:5:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):831 -> b
    6:8:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):832:834 -> b
    9:9:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> b
    9:9:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):835 -> b
    10:20:com.android.tools.r8.shaking.ProguardCheckDiscardRule com.android.tools.r8.shaking.ProguardCheckDiscardRule$Builder.build():26:36 -> b
    10:20:com.android.tools.r8.shaking.ProguardCheckDiscardRule parseCheckDiscardRule(com.android.tools.r8.position.Position):836 -> b
    21:21:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):918:918 -> b
    22:22:com.android.tools.r8.shaking.InlineRule$Builder com.android.tools.r8.shaking.InlineRule.builder():93:93 -> b
    22:22:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):918 -> b
    23:23:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):918:918 -> b
    24:24:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> b
    24:24:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):919 -> b
    25:25:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> b
    25:25:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):920 -> b
    26:26:com.android.tools.r8.shaking.InlineRule$Builder com.android.tools.r8.shaking.InlineRule$Builder.setType(com.android.tools.r8.shaking.InlineRule$Type):34:34 -> b
    26:26:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):921 -> b
    27:29:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):922:924 -> b
    30:30:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> b
    30:30:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):925 -> b
    31:41:com.android.tools.r8.shaking.InlineRule com.android.tools.r8.shaking.InlineRule$Builder.build():40:50 -> b
    31:41:com.android.tools.r8.shaking.InlineRule parseInlineRule(com.android.tools.r8.shaking.InlineRule$Type,com.android.tools.r8.position.Position):926 -> b
    42:43:void expectChar(char):1793:1794 -> b
    44:48:java.lang.Integer acceptInteger():1825:1829 -> b
    49:49:boolean lambda$acceptPattern$5(int):2042:2042 -> b
    50:50:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String):2207:2207 -> b
    51:60:java.lang.String snippetForPosition():2183:2192 -> b
    51:60:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String):2207 -> b
    61:67:java.lang.String snippetForPosition():2188:2194 -> b
    61:67:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String):2207 -> b
    68:68:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String):2207:2207 -> b
    1:1:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):646:646 -> c
    2:2:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> c
    2:2:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):646 -> c
    3:3:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):648:648 -> c
    4:4:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> c
    4:4:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):647 -> c
    5:5:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):649:649 -> c
    6:6:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> c
    6:6:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):649 -> c
    7:7:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):650:650 -> c
    8:8:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> c
    8:8:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):650 -> c
    9:9:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):758:758 -> c
    9:9:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):651 -> c
    10:10:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> c
    10:10:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):761 -> c
    10:10:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):651 -> c
    11:11:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":19,"2":20,"3":21,"4":22,"5":23}}
    19:19:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> c
    19:19:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):761 -> c
    19:19:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):651 -> c
    20:20:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> c
    20:20:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):761 -> c
    20:20:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):651 -> c
    21:21:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> c
    21:21:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):761 -> c
    21:21:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):651 -> c
    22:22:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> c
    22:22:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):761 -> c
    22:22:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):651 -> c
    23:23:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> c
    23:23:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):761 -> c
    23:23:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):651 -> c
    12:14:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> c
    12:14:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):761 -> c
    12:14:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):651 -> c
    15:18:boolean parseOptimizationOption(com.android.tools.r8.position.TextPosition):763:766 -> c
    15:18:boolean parseIgnoredOption(com.android.tools.r8.position.TextPosition):651 -> c
    24:26:boolean skipFlag(java.lang.String):702:704 -> c
    27:31:void expectClosingQuote(char):1764:1768 -> c
    32:32:void expectClosingQuote(char):1766:1766 -> c
    33:33:boolean lambda$acceptString$3(int):1812:1812 -> c
    34:34:java.lang.String acceptPattern():2040:2040 -> c
    1:8:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):626:633 -> d
    9:9:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):632:632 -> d
    10:10:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2232:2232 -> d
    10:10:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):640 -> d
    11:11:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):0:0 -> d
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":15,"2":16,"3":17,"4":18,"5":19}}
    15:15:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2232:2232 -> d
    15:15:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):640 -> d
    16:16:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2232:2232 -> d
    16:16:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):640 -> d
    17:17:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2232:2232 -> d
    17:17:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):640 -> d
    18:18:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2232:2232 -> d
    18:18:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):640 -> d
    19:19:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2232:2232 -> d
    19:19:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):640 -> d
    12:14:void warnIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2232:2232 -> d
    12:14:boolean parseIgnoredOptionAndWarn(com.android.tools.r8.position.TextPosition):640 -> d
    20:29:boolean skipOptionWithClassSpec(java.lang.String):737:746 -> d
    30:30:boolean lambda$parseFileFilter$2(int):1650:1650 -> d
    31:34:boolean hasNextChar(char):1733:1736 -> d
    35:35:char acceptQuoteIfPresent():1760:1760 -> d
    36:39:boolean hasNextChar(java.util.function.Predicate):1740:1743 -> d
    36:39:char acceptQuoteIfPresent():1760 -> d
    40:40:char readChar():1785:1785 -> d
    40:40:char acceptQuoteIfPresent():1760 -> d
    boolean isQuote(char) -> e
    1:6:boolean skipOptionWithOptionalSingleArg(java.lang.String):723:728 -> e
    7:8:void skipSingleArgument():786:787 -> e
    7:8:boolean skipOptionWithOptionalSingleArg(java.lang.String):729 -> e
    9:9:char readChar():1785:1785 -> e
    9:9:void skipSingleArgument():788 -> e
    9:9:boolean skipOptionWithOptionalSingleArg(java.lang.String):729 -> e
    10:10:boolean lambda$skipOptimizationName$0(int):778:778 -> e
    11:11:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):794:794 -> e
    12:12:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> e
    12:12:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):795 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> e
    13:13:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):796 -> e
    14:15:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1059:1060 -> e
    14:15:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    16:16:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    16:16:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061 -> e
    16:16:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    17:24:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1061:1068 -> e
    17:24:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    25:25:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    25:25:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1069 -> e
    25:25:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    26:28:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1069:1071 -> e
    26:28:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    29:29:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    29:29:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1072 -> e
    29:29:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    30:36:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1072:1078 -> e
    30:36:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    37:37:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    37:37:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    37:37:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1079 -> e
    37:37:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    38:38:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":109,"2":110,"3":111,"4":112,"5":113,"6":114,"7":115}}
    109:109:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    109:109:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    109:109:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1079 -> e
    109:109:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    110:110:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    110:110:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    110:110:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1079 -> e
    110:110:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    111:111:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    111:111:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    111:111:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1079 -> e
    111:111:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    112:112:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    112:112:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    112:112:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1079 -> e
    112:112:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    113:113:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    113:113:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    113:113:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1079 -> e
    113:113:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    114:114:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    114:114:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    114:114:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1079 -> e
    114:114:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    115:115:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    115:115:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    115:115:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1079 -> e
    115:115:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    39:42:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    39:42:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    39:42:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1079 -> e
    39:42:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    43:50:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1082:1089 -> e
    43:50:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    51:51:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    51:51:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    51:51:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1090 -> e
    51:51:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    52:52:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":116,"2":117,"3":118,"4":119,"5":120,"6":121,"7":122}}
    116:116:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    116:116:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    116:116:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1090 -> e
    116:116:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    117:117:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    117:117:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    117:117:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1090 -> e
    117:117:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    118:118:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    118:118:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    118:118:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1090 -> e
    118:118:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    119:119:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    119:119:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    119:119:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1090 -> e
    119:119:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    120:120:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    120:120:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    120:120:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1090 -> e
    120:120:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    121:121:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    121:121:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    121:121:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1090 -> e
    121:121:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    122:122:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    122:122:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    122:122:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1090 -> e
    122:122:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    53:56:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> e
    53:56:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition):604 -> e
    53:56:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1090 -> e
    53:56:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    57:62:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1096:1101 -> e
    57:62:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    57:62:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    63:63:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    63:63:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1102 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    63:63:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    63:63:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    64:65:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1102:1103 -> e
    64:65:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    64:65:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    66:66:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    66:66:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1104 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:66:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    66:66:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    67:68:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1104:1105 -> e
    67:68:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    67:68:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    69:69:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    69:69:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1106 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    69:69:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    69:69:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    70:71:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1106:1107 -> e
    70:71:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    70:71:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    72:72:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    72:72:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1108 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    72:72:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    72:72:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    73:75:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1108:1110 -> e
    73:75:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    73:75:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    76:76:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    76:76:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1111 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    76:76:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    76:76:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    77:80:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1111:1114 -> e
    77:80:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    77:80:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    81:81:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> e
    81:81:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1115 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    81:81:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    81:81:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    82:83:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1115:1116 -> e
    82:83:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    82:83:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    84:84:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2252:2252 -> e
    84:84:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1117 -> e
    84:84:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    84:84:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    85:85:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):0:0 -> e
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":123,"2":124,"3":125,"4":126,"5":127}}
    123:123:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2252:2252 -> e
    123:123:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1117 -> e
    123:123:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    123:123:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    124:124:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2252:2252 -> e
    124:124:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1117 -> e
    124:124:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    124:124:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    125:125:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2252:2252 -> e
    125:125:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1117 -> e
    125:125:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    125:125:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    126:126:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2252:2252 -> e
    126:126:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1117 -> e
    126:126:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    126:126:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    127:127:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2252:2252 -> e
    127:127:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1117 -> e
    127:127:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    127:127:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    86:88:void infoIgnoringModifier(java.lang.String,com.android.tools.r8.position.TextPosition):2252:2252 -> e
    86:88:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1117 -> e
    86:88:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    86:88:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    89:89:void parseRuleModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1119:1119 -> e
    89:89:void parseRuleTypeAndModifiers(com.android.tools.r8.shaking.ProguardKeepRule$Builder):1092 -> e
    89:89:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):797 -> e
    90:90:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):798:798 -> e
    91:91:java.util.List com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getMemberRules():83:83 -> e
    91:91:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):799 -> e
    92:97:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):799:804 -> e
    98:101:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):803:806 -> e
    102:102:java.util.List com.android.tools.r8.shaking.ProguardClassSpecification$Builder.getMemberRules():83:83 -> e
    102:102:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):807 -> e
    103:106:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):807:810 -> e
    107:107:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> e
    107:107:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):811 -> e
    108:108:com.android.tools.r8.shaking.ProguardKeepRule parseKeepRule(com.android.tools.r8.position.Position):812:812 -> e
    128:133:java.lang.String acceptQuotedOrUnquotedString():1816:1821 -> e
    1:3:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):615:617 -> f
    4:4:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":624,"2":625,"3":626,"4":627,"5":628}}
    624:624:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):617:617 -> f
    625:625:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):617:617 -> f
    626:626:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):617:617 -> f
    627:627:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):617:617 -> f
    628:628:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):617:617 -> f
    621:623:boolean parseUnsupportedOptionAndErr(com.android.tools.r8.position.TextPosition):617:617 -> f
    629:631:boolean skipOptionWithSingleArg(java.lang.String):712:714 -> f
    632:633:void skipSingleArgument():786:787 -> f
    632:633:boolean skipOptionWithSingleArg(java.lang.String):716 -> f
    634:634:char readChar():1785:1785 -> f
    634:634:void skipSingleArgument():788 -> f
    634:634:boolean skipOptionWithSingleArg(java.lang.String):716 -> f
    635:635:java.lang.String acceptString():1812:1812 -> f
    1:1:boolean skipReturnValueAttribute(java.lang.String):753:753 -> g
    2:2:boolean eof():1725:1725 -> g
    3:6:java.lang.String snippetForPosition(com.android.tools.r8.position.TextPosition):2199:2202 -> g
    1:4:void unacceptString(java.lang.String):2067:2070 -> h
    5:5:com.android.tools.r8.position.TextPosition getPosition():2265:2265 -> h
    6:6:int getColumn():2269:2269 -> h
    6:6:com.android.tools.r8.position.TextPosition getPosition():2265 -> h
    7:7:com.android.tools.r8.position.TextPosition getPosition():2265:2265 -> h
    1:1:boolean isOptionalArgumentGiven():1747:1747 -> i
    1:5:void parse():252:256 -> j
    6:6:void parse():0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":532,"2":533,"3":534}}
    532:532:void parse():256:256 -> j
    533:533:void parse():256:256 -> j
    534:534:void parse():256:256 -> j
    262:264:void parse():256:256 -> j
    268:269:void parse():260:261 -> j
    270:270:void parse():0:0 -> j
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":539,"2":540,"3":541}}
    539:539:void parse():261:261 -> j
    540:540:void parse():261:261 -> j
    541:541:void parse():261:261 -> j
    531:531:void parse():261:261 -> j
    1:12:java.util.List parseArgumentList():1509:1520 -> k
    13:13:java.util.List parseArgumentList():1517:1517 -> k
    14:14:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2135:2135 -> k
    14:14:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2127 -> k
    14:14:java.util.List parseArgumentList():1522 -> k
    15:16:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2128:2129 -> k
    15:16:java.util.List parseArgumentList():1522 -> k
    17:19:java.util.List parseArgumentList():1525:1525 -> k
    21:21:java.util.List parseArgumentList():1527:1527 -> k
    22:22:java.util.List parseArgumentList():1524:1524 -> k
    23:23:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2135:2135 -> k
    23:23:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2127 -> k
    23:23:java.util.List parseArgumentList():1524 -> k
    24:25:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2128:2129 -> k
    24:25:java.util.List parseArgumentList():1524 -> k
    26:26:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2137:2137 -> k
    26:26:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2127 -> k
    26:26:java.util.List parseArgumentList():1524 -> k
    27:28:java.util.List parseArgumentList():1530:1531 -> k
    29:29:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2137:2137 -> k
    29:29:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards parseClassName():2127 -> k
    29:29:java.util.List parseArgumentList():1522 -> k
    1:7:java.lang.String parseFileFilter():1646:1652 -> l
    1:1:boolean parseIgnoredReturnValueAttribute():655:655 -> m
    2:2:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> m
    2:2:boolean parseIgnoredReturnValueAttribute():655 -> m
    1:3:boolean parseIgnoredReturnValueAttributes():660:662 -> n
    1:2:void parseInclude():668:669 -> o
    3:4:java.nio.file.Path parseFileInputDependency(java.util.function.BiConsumer):1572:1573 -> o
    3:4:void parseInclude():669 -> o
    5:6:void parseInclude():671:672 -> o
    7:7:void parseInclude():0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1372,"2":1373,"3":1374}}
    1372:1372:void parseInclude():677:677 -> o
    1373:1373:void parseInclude():677:677 -> o
    1374:1374:void parseInclude():677:677 -> o
    684:684:void parseInclude():677:677 -> o
    685:686:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2217:2218 -> o
    685:686:void parseInclude():677 -> o
    687:688:void com.android.tools.r8.shaking.ProguardRuleParserException.<init>(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.Throwable):27:28 -> o
    687:688:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2218 -> o
    687:688:void parseInclude():677 -> o
    689:689:void parseInclude():677:677 -> o
    690:690:void parseInclude():0:0 -> o
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1375,"2":1376,"3":1377}}
    1375:1375:void parseInclude():674:674 -> o
    1376:1376:void parseInclude():674:674 -> o
    1377:1377:void parseInclude():674:674 -> o
    1364:1364:void parseInclude():674:674 -> o
    1365:1366:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2217:2218 -> o
    1365:1366:void parseInclude():674 -> o
    1367:1368:void com.android.tools.r8.shaking.ProguardRuleParserException.<init>(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.Throwable):27:28 -> o
    1367:1368:com.android.tools.r8.shaking.ProguardRuleParserException parseError(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.Throwable):2218 -> o
    1367:1368:void parseInclude():674 -> o
    1369:1369:void parseInclude():674:674 -> o
    1:1:boolean parseOption():265:265 -> p
    2:2:int remainingChars():1789:1789 -> p
    2:2:boolean acceptArobaseInclude():683 -> p
    2:2:boolean parseOption():268 -> p
    3:6:boolean acceptArobaseInclude():686:689 -> p
    3:6:boolean parseOption():268 -> p
    7:10:boolean parseOption():271:274 -> p
    11:12:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):477:478 -> p
    11:12:boolean parseOption():275 -> p
    13:13:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1672:1672 -> p
    13:13:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):480 -> p
    13:13:boolean parseOption():275 -> p
    14:14:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule$Builder com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule.builder():75:75 -> p
    14:14:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1672 -> p
    14:14:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):480 -> p
    14:14:boolean parseOption():275 -> p
    15:15:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1672:1672 -> p
    15:15:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):480 -> p
    15:15:boolean parseOption():275 -> p
    16:16:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    16:16:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1672 -> p
    16:16:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):480 -> p
    16:16:boolean parseOption():275 -> p
    17:17:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    17:17:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1672 -> p
    17:17:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):480 -> p
    17:17:boolean parseOption():275 -> p
    18:20:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1673:1675 -> p
    18:20:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):480 -> p
    18:20:boolean parseOption():275 -> p
    21:21:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    21:21:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1676 -> p
    21:21:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):480 -> p
    21:21:boolean parseOption():275 -> p
    22:32:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule$Builder.build():26:36 -> p
    22:32:com.android.tools.r8.shaking.ProguardAssumeMayHaveSideEffectsRule parseAssumeMayHaveSideEffectsRule(com.android.tools.r8.position.Position):1677 -> p
    22:32:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):480 -> p
    22:32:boolean parseOption():275 -> p
    33:38:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):481:486 -> p
    33:38:boolean parseOption():275 -> p
    39:39:com.android.tools.r8.shaking.KeepConstantArgumentRule$Builder com.android.tools.r8.shaking.KeepConstantArgumentRule.builder():76:76 -> p
    39:39:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):486 -> p
    39:39:boolean parseOption():275 -> p
    40:46:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):486:492 -> p
    40:46:boolean parseOption():275 -> p
    47:47:com.android.tools.r8.shaking.KeepUnusedArgumentRule$Builder com.android.tools.r8.shaking.KeepUnusedArgumentRule.builder():76:76 -> p
    47:47:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):492 -> p
    47:47:boolean parseOption():275 -> p
    48:54:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):492:498 -> p
    48:54:boolean parseOption():275 -> p
    55:55:com.android.tools.r8.shaking.KeepUnusedReturnValueRule$Builder com.android.tools.r8.shaking.KeepUnusedReturnValueRule.builder():77:77 -> p
    55:55:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):498 -> p
    55:55:boolean parseOption():275 -> p
    56:80:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):498:522 -> p
    56:80:boolean parseOption():275 -> p
    81:81:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):853:853 -> p
    81:81:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    81:81:boolean parseOption():275 -> p
    82:82:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule$Builder com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule.builder():77:77 -> p
    82:82:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):853 -> p
    82:82:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    82:82:boolean parseOption():275 -> p
    83:83:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):853:853 -> p
    83:83:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    83:83:boolean parseOption():275 -> p
    84:84:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    84:84:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):853 -> p
    84:84:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    84:84:boolean parseOption():275 -> p
    85:85:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    85:85:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):853 -> p
    85:85:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    85:85:boolean parseOption():275 -> p
    86:88:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):854:856 -> p
    86:88:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    86:88:boolean parseOption():275 -> p
    89:89:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    89:89:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):857 -> p
    89:89:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    89:89:boolean parseOption():275 -> p
    90:100:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule$Builder.build():29:39 -> p
    90:100:com.android.tools.r8.shaking.NoFieldTypeStrengtheningRule parseNoFieldTypeStrengtheningRule(com.android.tools.r8.position.Position):858 -> p
    90:100:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):523 -> p
    90:100:boolean parseOption():275 -> p
    101:104:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):524:527 -> p
    101:104:boolean parseOption():275 -> p
    105:105:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):864:864 -> p
    105:105:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):528 -> p
    105:105:boolean parseOption():275 -> p
    106:106:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule$Builder com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule.builder():76:76 -> p
    106:106:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):864 -> p
    106:106:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):528 -> p
    106:106:boolean parseOption():275 -> p
    107:107:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):864:864 -> p
    107:107:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):528 -> p
    107:107:boolean parseOption():275 -> p
    108:108:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    108:108:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):864 -> p
    108:108:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):528 -> p
    108:108:boolean parseOption():275 -> p
    109:109:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    109:109:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):864 -> p
    109:109:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):528 -> p
    109:109:boolean parseOption():275 -> p
    110:112:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):865:867 -> p
    110:112:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):528 -> p
    110:112:boolean parseOption():275 -> p
    113:113:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    113:113:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):868 -> p
    113:113:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):528 -> p
    113:113:boolean parseOption():275 -> p
    114:124:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule$Builder.build():28:38 -> p
    114:124:com.android.tools.r8.shaking.NoUnusedInterfaceRemovalRule parseNoUnusedInterfaceRemovalRule(com.android.tools.r8.position.Position):869 -> p
    114:124:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):528 -> p
    114:124:boolean parseOption():275 -> p
    125:128:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):529:532 -> p
    125:128:boolean parseOption():275 -> p
    129:129:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):875:875 -> p
    129:129:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):533 -> p
    129:129:boolean parseOption():275 -> p
    130:130:com.android.tools.r8.shaking.NoVerticalClassMergingRule$Builder com.android.tools.r8.shaking.NoVerticalClassMergingRule.builder():76:76 -> p
    130:130:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):875 -> p
    130:130:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):533 -> p
    130:130:boolean parseOption():275 -> p
    131:131:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):875:875 -> p
    131:131:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):533 -> p
    131:131:boolean parseOption():275 -> p
    132:132:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    132:132:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):875 -> p
    132:132:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):533 -> p
    132:132:boolean parseOption():275 -> p
    133:133:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    133:133:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):875 -> p
    133:133:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):533 -> p
    133:133:boolean parseOption():275 -> p
    134:136:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):876:878 -> p
    134:136:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):533 -> p
    134:136:boolean parseOption():275 -> p
    137:137:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    137:137:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):879 -> p
    137:137:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):533 -> p
    137:137:boolean parseOption():275 -> p
    138:148:com.android.tools.r8.shaking.NoVerticalClassMergingRule com.android.tools.r8.shaking.NoVerticalClassMergingRule$Builder.build():28:38 -> p
    138:148:com.android.tools.r8.shaking.NoVerticalClassMergingRule parseNoVerticalClassMergingRule(com.android.tools.r8.position.Position):880 -> p
    138:148:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):533 -> p
    138:148:boolean parseOption():275 -> p
    149:152:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):534:537 -> p
    149:152:boolean parseOption():275 -> p
    153:153:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):886:886 -> p
    153:153:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):538 -> p
    153:153:boolean parseOption():275 -> p
    154:154:com.android.tools.r8.shaking.NoHorizontalClassMergingRule$Builder com.android.tools.r8.shaking.NoHorizontalClassMergingRule.builder():77:77 -> p
    154:154:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):886 -> p
    154:154:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):538 -> p
    154:154:boolean parseOption():275 -> p
    155:155:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):886:886 -> p
    155:155:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):538 -> p
    155:155:boolean parseOption():275 -> p
    156:156:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    156:156:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):886 -> p
    156:156:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):538 -> p
    156:156:boolean parseOption():275 -> p
    157:157:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    157:157:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):886 -> p
    157:157:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):538 -> p
    157:157:boolean parseOption():275 -> p
    158:160:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):887:889 -> p
    158:160:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):538 -> p
    158:160:boolean parseOption():275 -> p
    161:161:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    161:161:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):890 -> p
    161:161:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):538 -> p
    161:161:boolean parseOption():275 -> p
    162:172:com.android.tools.r8.shaking.NoHorizontalClassMergingRule com.android.tools.r8.shaking.NoHorizontalClassMergingRule$Builder.build():29:39 -> p
    162:172:com.android.tools.r8.shaking.NoHorizontalClassMergingRule parseNoHorizontalClassMergingRule(com.android.tools.r8.position.Position):891 -> p
    162:172:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):538 -> p
    162:172:boolean parseOption():275 -> p
    173:178:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):539:544 -> p
    173:178:boolean parseOption():275 -> p
    179:179:com.android.tools.r8.shaking.NoMethodStaticizingRule$Builder com.android.tools.r8.shaking.NoMethodStaticizingRule.builder():77:77 -> p
    179:179:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):544 -> p
    179:179:boolean parseOption():275 -> p
    180:186:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):544:550 -> p
    180:186:boolean parseOption():275 -> p
    187:187:com.android.tools.r8.shaking.NoParameterReorderingRule$Builder com.android.tools.r8.shaking.NoParameterReorderingRule.builder():77:77 -> p
    187:187:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):550 -> p
    187:187:boolean parseOption():275 -> p
    188:194:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):550:556 -> p
    188:194:boolean parseOption():275 -> p
    195:195:com.android.tools.r8.shaking.NoParameterTypeStrengtheningRule$Builder com.android.tools.r8.shaking.NoParameterTypeStrengtheningRule.builder():78:78 -> p
    195:195:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):556 -> p
    195:195:boolean parseOption():275 -> p
    196:202:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):556:562 -> p
    196:202:boolean parseOption():275 -> p
    203:203:com.android.tools.r8.shaking.NoReturnTypeStrengtheningRule$Builder com.android.tools.r8.shaking.NoReturnTypeStrengtheningRule.builder():78:78 -> p
    203:203:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):562 -> p
    203:203:boolean parseOption():275 -> p
    204:208:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):562:566 -> p
    204:208:boolean parseOption():275 -> p
    209:209:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):908:908 -> p
    209:209:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):568 -> p
    209:209:boolean parseOption():275 -> p
    210:210:com.android.tools.r8.shaking.MemberValuePropagationRule$Builder com.android.tools.r8.shaking.MemberValuePropagationRule.builder():91:91 -> p
    210:210:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):908 -> p
    210:210:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):568 -> p
    210:210:boolean parseOption():275 -> p
    211:211:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):908:908 -> p
    211:211:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):568 -> p
    211:211:boolean parseOption():275 -> p
    212:212:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    212:212:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):908 -> p
    212:212:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):568 -> p
    212:212:boolean parseOption():275 -> p
    213:213:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    213:213:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):908 -> p
    213:213:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):568 -> p
    213:213:boolean parseOption():275 -> p
    214:214:com.android.tools.r8.shaking.MemberValuePropagationRule$Builder com.android.tools.r8.shaking.MemberValuePropagationRule$Builder.setType(com.android.tools.r8.shaking.MemberValuePropagationRule$Type):32:32 -> p
    214:214:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):908 -> p
    214:214:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):568 -> p
    214:214:boolean parseOption():275 -> p
    215:217:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):909:911 -> p
    215:217:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):568 -> p
    215:217:boolean parseOption():275 -> p
    218:218:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    218:218:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):912 -> p
    218:218:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):568 -> p
    218:218:boolean parseOption():275 -> p
    219:229:com.android.tools.r8.shaking.MemberValuePropagationRule com.android.tools.r8.shaking.MemberValuePropagationRule$Builder.build():38:48 -> p
    219:229:com.android.tools.r8.shaking.MemberValuePropagationRule parseMemberValuePropagationRule(com.android.tools.r8.shaking.MemberValuePropagationRule$Type,com.android.tools.r8.position.Position):913 -> p
    219:229:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):568 -> p
    219:229:boolean parseOption():275 -> p
    230:234:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):569:573 -> p
    230:234:boolean parseOption():275 -> p
    235:235:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):992:992 -> p
    235:235:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):574 -> p
    235:235:boolean parseOption():275 -> p
    236:236:com.android.tools.r8.shaking.ReprocessClassInitializerRule$Builder com.android.tools.r8.shaking.ReprocessClassInitializerRule.builder():92:92 -> p
    236:236:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):992 -> p
    236:236:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):574 -> p
    236:236:boolean parseOption():275 -> p
    237:237:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):992:992 -> p
    237:237:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):574 -> p
    237:237:boolean parseOption():275 -> p
    238:238:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    238:238:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):992 -> p
    238:238:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):574 -> p
    238:238:boolean parseOption():275 -> p
    239:239:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    239:239:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):992 -> p
    239:239:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):574 -> p
    239:239:boolean parseOption():275 -> p
    240:243:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):992:995 -> p
    240:243:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):574 -> p
    240:243:boolean parseOption():275 -> p
    244:244:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    244:244:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):996 -> p
    244:244:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):574 -> p
    244:244:boolean parseOption():275 -> p
    245:245:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):997:997 -> p
    245:245:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):574 -> p
    245:245:boolean parseOption():275 -> p
    246:252:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):573:579 -> p
    246:252:boolean parseOption():275 -> p
    253:253:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1003:1003 -> p
    253:253:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):580 -> p
    253:253:boolean parseOption():275 -> p
    254:254:com.android.tools.r8.shaking.ReprocessMethodRule$Builder com.android.tools.r8.shaking.ReprocessMethodRule.builder():92:92 -> p
    254:254:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1003 -> p
    254:254:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):580 -> p
    254:254:boolean parseOption():275 -> p
    255:255:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1003:1003 -> p
    255:255:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):580 -> p
    255:255:boolean parseOption():275 -> p
    256:256:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    256:256:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1003 -> p
    256:256:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):580 -> p
    256:256:boolean parseOption():275 -> p
    257:257:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    257:257:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1003 -> p
    257:257:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):580 -> p
    257:257:boolean parseOption():275 -> p
    258:261:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1003:1006 -> p
    258:261:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):580 -> p
    258:261:boolean parseOption():275 -> p
    262:262:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    262:262:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1007 -> p
    262:262:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):580 -> p
    262:262:boolean parseOption():275 -> p
    263:263:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1008:1008 -> p
    263:263:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):580 -> p
    263:263:boolean parseOption():275 -> p
    264:269:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):579:584 -> p
    264:269:boolean parseOption():275 -> p
    270:270:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):992:992 -> p
    270:270:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):585 -> p
    270:270:boolean parseOption():275 -> p
    271:271:com.android.tools.r8.shaking.ReprocessClassInitializerRule$Builder com.android.tools.r8.shaking.ReprocessClassInitializerRule.builder():92:92 -> p
    271:271:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):992 -> p
    271:271:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):585 -> p
    271:271:boolean parseOption():275 -> p
    272:272:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):992:992 -> p
    272:272:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):585 -> p
    272:272:boolean parseOption():275 -> p
    273:273:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    273:273:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):992 -> p
    273:273:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):585 -> p
    273:273:boolean parseOption():275 -> p
    274:274:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    274:274:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):992 -> p
    274:274:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):585 -> p
    274:274:boolean parseOption():275 -> p
    275:278:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):992:995 -> p
    275:278:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):585 -> p
    275:278:boolean parseOption():275 -> p
    279:279:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    279:279:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):996 -> p
    279:279:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):585 -> p
    279:279:boolean parseOption():275 -> p
    280:280:com.android.tools.r8.shaking.ReprocessClassInitializerRule parseReprocessClassInitializerRule(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.position.Position):997:997 -> p
    280:280:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):585 -> p
    280:280:boolean parseOption():275 -> p
    281:287:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):584:590 -> p
    281:287:boolean parseOption():275 -> p
    288:288:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1003:1003 -> p
    288:288:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):591 -> p
    288:288:boolean parseOption():275 -> p
    289:289:com.android.tools.r8.shaking.ReprocessMethodRule$Builder com.android.tools.r8.shaking.ReprocessMethodRule.builder():92:92 -> p
    289:289:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1003 -> p
    289:289:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):591 -> p
    289:289:boolean parseOption():275 -> p
    290:290:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1003:1003 -> p
    290:290:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):591 -> p
    290:290:boolean parseOption():275 -> p
    291:291:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    291:291:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1003 -> p
    291:291:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):591 -> p
    291:291:boolean parseOption():275 -> p
    292:292:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    292:292:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1003 -> p
    292:292:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):591 -> p
    292:292:boolean parseOption():275 -> p
    293:296:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1003:1006 -> p
    293:296:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):591 -> p
    293:296:boolean parseOption():275 -> p
    297:297:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    297:297:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1007 -> p
    297:297:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):591 -> p
    297:297:boolean parseOption():275 -> p
    298:298:com.android.tools.r8.shaking.ReprocessMethodRule parseReprocessMethodRule(com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.position.Position):1008:1008 -> p
    298:298:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):591 -> p
    298:298:boolean parseOption():275 -> p
    299:303:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):590:594 -> p
    299:303:boolean parseOption():275 -> p
    304:304:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):1014:1014 -> p
    304:304:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):595 -> p
    304:304:boolean parseOption():275 -> p
    305:305:com.android.tools.r8.shaking.WhyAreYouNotInliningRule$Builder com.android.tools.r8.shaking.WhyAreYouNotInliningRule.builder():74:74 -> p
    305:305:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):1014 -> p
    305:305:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):595 -> p
    305:305:boolean parseOption():275 -> p
    306:306:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):1014:1014 -> p
    306:306:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):595 -> p
    306:306:boolean parseOption():275 -> p
    307:308:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    307:308:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):1014 -> p
    307:308:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):595 -> p
    307:308:boolean parseOption():275 -> p
    309:309:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):1014:1014 -> p
    309:309:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):595 -> p
    309:309:boolean parseOption():275 -> p
    310:311:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    310:311:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):1014 -> p
    310:311:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):595 -> p
    310:311:boolean parseOption():275 -> p
    312:315:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):1014:1017 -> p
    312:315:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):595 -> p
    312:315:boolean parseOption():275 -> p
    316:316:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    316:316:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):1018 -> p
    316:316:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):595 -> p
    316:316:boolean parseOption():275 -> p
    317:327:com.android.tools.r8.shaking.WhyAreYouNotInliningRule com.android.tools.r8.shaking.WhyAreYouNotInliningRule$Builder.build():26:36 -> p
    317:327:com.android.tools.r8.shaking.WhyAreYouNotInliningRule parseWhyAreYouNotInliningRule(com.android.tools.r8.position.Position):1019 -> p
    317:327:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):595 -> p
    317:327:boolean parseOption():275 -> p
    328:328:boolean parseTestingOption(com.android.tools.r8.position.TextPosition):596:596 -> p
    328:328:boolean parseOption():275 -> p
    329:336:boolean parseOption():276:283 -> p
    337:349:boolean parseOption():279:291 -> p
    350:377:java.util.List acceptPatternList():2007:2034 -> p
    350:377:void parseKeepAttributes():694 -> p
    350:377:boolean parseOption():292 -> p
    378:381:void parseKeepAttributes():695:698 -> p
    378:381:boolean parseOption():292 -> p
    382:382:void parseKeepAttributes():696:696 -> p
    382:382:boolean parseOption():292 -> p
    383:384:boolean parseOption():293:294 -> p
    385:394:void parsePackageFilter(java.util.function.BiConsumer):2076:2085 -> p
    385:394:boolean parseOption():294 -> p
    395:398:void parsePackageFilter(java.util.function.BiConsumer):2084:2087 -> p
    395:398:boolean parseOption():294 -> p
    399:406:void parsePackageFilter(java.util.function.BiConsumer):2082:2089 -> p
    399:406:boolean parseOption():294 -> p
    407:417:boolean parseOption():295:305 -> p
    418:422:void parsePathFilter(java.util.function.Consumer):2148:2152 -> p
    418:422:boolean parseOption():305 -> p
    423:426:boolean parseOption():306:309 -> p
    427:427:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):817:817 -> p
    427:427:boolean parseOption():310 -> p
    428:428:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule$Builder com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule.builder():74:74 -> p
    428:428:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):817 -> p
    428:428:boolean parseOption():310 -> p
    429:429:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):817:817 -> p
    429:429:boolean parseOption():310 -> p
    430:430:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> p
    430:430:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):818 -> p
    430:430:boolean parseOption():310 -> p
    431:431:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:58 -> p
    431:431:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):819 -> p
    431:431:boolean parseOption():310 -> p
    432:434:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):820:822 -> p
    432:434:boolean parseOption():310 -> p
    435:435:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    435:435:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):823 -> p
    435:435:boolean parseOption():310 -> p
    436:446:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule$Builder.build():26:36 -> p
    436:446:com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule parseWhyAreYouKeepingRule(com.android.tools.r8.position.Position):824 -> p
    436:446:boolean parseOption():310 -> p
    447:452:boolean parseOption():311:316 -> p
    453:453:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> p
    453:453:boolean parseOption():321 -> p
    454:454:boolean parseOption():0:0 -> p
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":961,"2":962,"3":963,"4":964,"5":965}}
    961:961:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> p
    961:961:boolean parseOption():321 -> p
    962:962:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> p
    962:962:boolean parseOption():321 -> p
    963:963:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> p
    963:963:boolean parseOption():321 -> p
    964:964:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> p
    964:964:boolean parseOption():321 -> p
    965:965:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> p
    965:965:boolean parseOption():321 -> p
    455:457:void infoIgnoringOptions(java.lang.String,com.android.tools.r8.position.TextPosition):2227:2227 -> p
    455:457:boolean parseOption():321 -> p
    458:460:boolean parseOption():318:318 -> p
    464:481:boolean parseOption():322:339 -> p
    482:483:void parseClassFilter(java.util.function.Consumer):2095:2096 -> p
    482:483:boolean parseOption():339 -> p
    484:484:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2114:2114 -> p
    484:484:void parseClassFilter(java.util.function.Consumer):2097 -> p
    484:484:boolean parseOption():339 -> p
    485:485:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2135:2135 -> p
    485:485:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2106 -> p
    485:485:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> p
    485:485:void parseClassFilter(java.util.function.Consumer):2097 -> p
    485:485:boolean parseOption():339 -> p
    486:489:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2107:2107 -> p
    486:489:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> p
    486:489:void parseClassFilter(java.util.function.Consumer):2097 -> p
    486:489:boolean parseOption():339 -> p
    492:492:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2110:2110 -> p
    492:492:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> p
    492:492:void parseClassFilter(java.util.function.Consumer):2097 -> p
    492:492:boolean parseOption():339 -> p
    493:494:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2117:2118 -> p
    493:494:void parseClassFilter(java.util.function.Consumer):2097 -> p
    493:494:boolean parseOption():339 -> p
    495:495:void parseClassFilter(java.util.function.Consumer):2097:2097 -> p
    495:495:boolean parseOption():339 -> p
    496:496:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2137:2137 -> p
    496:496:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2106 -> p
    496:496:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> p
    496:496:void parseClassFilter(java.util.function.Consumer):2097 -> p
    496:496:boolean parseOption():339 -> p
    497:497:com.android.tools.r8.shaking.ProguardTypeMatcher com.android.tools.r8.shaking.ProguardTypeMatcher.defaultAllMatcher():129:129 -> p
    497:497:void parseClassFilter(java.util.function.Consumer):2100 -> p
    497:497:boolean parseOption():339 -> p
    498:498:void parseClassFilter(java.util.function.Consumer):2100:2100 -> p
    498:498:boolean parseOption():339 -> p
    499:499:void parseClassFilter(java.util.function.Consumer):2099:2099 -> p
    499:499:boolean parseOption():339 -> p
    500:501:boolean parseOption():340:341 -> p
    502:503:void parseClassFilter(java.util.function.Consumer):2095:2096 -> p
    502:503:boolean parseOption():341 -> p
    504:504:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2114:2114 -> p
    504:504:void parseClassFilter(java.util.function.Consumer):2097 -> p
    504:504:boolean parseOption():341 -> p
    505:505:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2135:2135 -> p
    505:505:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2106 -> p
    505:505:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> p
    505:505:void parseClassFilter(java.util.function.Consumer):2097 -> p
    505:505:boolean parseOption():341 -> p
    506:509:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2107:2107 -> p
    506:509:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> p
    506:509:void parseClassFilter(java.util.function.Consumer):2097 -> p
    506:509:boolean parseOption():341 -> p
    512:512:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2110:2110 -> p
    512:512:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> p
    512:512:void parseClassFilter(java.util.function.Consumer):2097 -> p
    512:512:boolean parseOption():341 -> p
    513:514:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2117:2118 -> p
    513:514:void parseClassFilter(java.util.function.Consumer):2097 -> p
    513:514:boolean parseOption():341 -> p
    515:515:void parseClassFilter(java.util.function.Consumer):2097:2097 -> p
    515:515:boolean parseOption():341 -> p
    516:516:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2137:2137 -> p
    516:516:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2106 -> p
    516:516:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> p
    516:516:void parseClassFilter(java.util.function.Consumer):2097 -> p
    516:516:boolean parseOption():341 -> p
    517:517:com.android.tools.r8.shaking.ProguardTypeMatcher com.android.tools.r8.shaking.ProguardTypeMatcher.defaultAllMatcher():129:129 -> p
    517:517:void parseClassFilter(java.util.function.Consumer):2100 -> p
    517:517:boolean parseOption():341 -> p
    518:518:void parseClassFilter(java.util.function.Consumer):2100:2100 -> p
    518:518:boolean parseOption():341 -> p
    519:519:void parseClassFilter(java.util.function.Consumer):2099:2099 -> p
    519:519:boolean parseOption():341 -> p
    520:521:boolean parseOption():342:343 -> p
    522:522:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    522:522:boolean parseOption():344 -> p
    523:523:boolean parseOption():0:0 -> p
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":966,"2":967,"3":968,"4":969,"5":970,"6":971,"7":972}}
    966:966:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    966:966:boolean parseOption():344 -> p
    967:967:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    967:967:boolean parseOption():344 -> p
    968:968:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    968:968:boolean parseOption():344 -> p
    969:969:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    969:969:boolean parseOption():344 -> p
    970:970:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    970:970:boolean parseOption():344 -> p
    971:971:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    971:971:boolean parseOption():344 -> p
    972:972:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    972:972:boolean parseOption():344 -> p
    524:526:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    524:526:boolean parseOption():344 -> p
    527:530:boolean parseOption():346:349 -> p
    531:532:java.lang.String parsePackageNameOrEmptyString():2122:2123 -> p
    531:532:boolean parseOption():349 -> p
    533:539:boolean parseOption():349:355 -> p
    540:541:java.lang.String parsePackageNameOrEmptyString():2122:2123 -> p
    540:541:boolean parseOption():355 -> p
    542:546:boolean parseOption():355:359 -> p
    547:547:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    547:547:boolean parseOption():360 -> p
    548:548:boolean parseOption():0:0 -> p
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":973,"2":974,"3":975,"4":976,"5":977,"6":978,"7":979}}
    973:973:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    973:973:boolean parseOption():360 -> p
    974:974:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    974:974:boolean parseOption():360 -> p
    975:975:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    975:975:boolean parseOption():360 -> p
    976:976:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    976:976:boolean parseOption():360 -> p
    977:977:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    977:977:boolean parseOption():360 -> p
    978:978:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    978:978:boolean parseOption():360 -> p
    979:979:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    979:979:boolean parseOption():360 -> p
    549:551:void warnOverridingOptions(java.lang.String,java.lang.String,com.android.tools.r8.position.TextPosition):2237:2237 -> p
    549:551:boolean parseOption():360 -> p
    552:553:boolean parseOption():361:362 -> p
    554:555:void skipSingleArgument():786:787 -> p
    554:555:boolean parseOption():363 -> p
    556:556:char readChar():1785:1785 -> p
    556:556:void skipSingleArgument():788 -> p
    556:556:boolean parseOption():363 -> p
    557:560:boolean parseOption():366:369 -> p
    561:562:java.lang.String parsePackageNameOrEmptyString():2122:2123 -> p
    561:562:boolean parseOption():369 -> p
    563:569:boolean parseOption():369:375 -> p
    570:571:java.lang.String parsePackageNameOrEmptyString():2122:2123 -> p
    570:571:boolean parseOption():375 -> p
    572:594:boolean parseOption():375:397 -> p
    595:596:java.nio.file.Path parseFileInputDependency(java.util.function.BiConsumer):1572:1573 -> p
    595:596:boolean parseOption():397 -> p
    597:599:boolean parseOption():396:398 -> p
    600:600:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1659:1659 -> p
    600:600:boolean parseOption():399 -> p
    601:601:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$Builder com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule.builder():77:77 -> p
    601:601:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1659 -> p
    601:601:boolean parseOption():399 -> p
    602:602:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1659:1659 -> p
    602:602:boolean parseOption():399 -> p
    603:604:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    603:604:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1660 -> p
    603:604:boolean parseOption():399 -> p
    605:605:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1660:1660 -> p
    605:605:boolean parseOption():399 -> p
    606:607:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    606:607:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1661 -> p
    606:607:boolean parseOption():399 -> p
    608:611:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1661:1664 -> p
    608:611:boolean parseOption():399 -> p
    612:612:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    612:612:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1665 -> p
    612:612:boolean parseOption():399 -> p
    613:623:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$Builder.build():26:36 -> p
    613:623:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule parseAssumeNoSideEffectsRule(com.android.tools.r8.position.Position):1666 -> p
    613:623:boolean parseOption():399 -> p
    624:625:boolean parseOption():400:401 -> p
    626:626:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1682:1682 -> p
    626:626:boolean parseOption():402 -> p
    627:627:com.android.tools.r8.shaking.ProguardAssumeValuesRule$Builder com.android.tools.r8.shaking.ProguardAssumeValuesRule.builder():77:77 -> p
    627:627:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1682 -> p
    627:627:boolean parseOption():402 -> p
    628:628:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1682:1682 -> p
    628:628:boolean parseOption():402 -> p
    629:630:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    629:630:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1683 -> p
    629:630:boolean parseOption():402 -> p
    631:631:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1683:1683 -> p
    631:631:boolean parseOption():402 -> p
    632:633:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    632:633:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1684 -> p
    632:633:boolean parseOption():402 -> p
    634:637:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1684:1687 -> p
    634:637:boolean parseOption():402 -> p
    638:638:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    638:638:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1688 -> p
    638:638:boolean parseOption():402 -> p
    639:649:com.android.tools.r8.shaking.ProguardAssumeValuesRule com.android.tools.r8.shaking.ProguardAssumeValuesRule$Builder.build():26:36 -> p
    639:649:com.android.tools.r8.shaking.ProguardAssumeValuesRule parseAssumeValuesRule(com.android.tools.r8.position.Position):1689 -> p
    639:649:boolean parseOption():402 -> p
    650:654:boolean parseOption():403:407 -> p
    655:665:boolean parseOption():406:416 -> p
    666:670:java.util.List parseClassPath(java.util.function.BiConsumer):1609:1613 -> p
    666:670:boolean parseOption():416 -> p
    671:684:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1626:1639 -> p
    671:684:java.util.List parseClassPath(java.util.function.BiConsumer):1614 -> p
    671:684:boolean parseOption():416 -> p
    685:690:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1636:1641 -> p
    685:690:java.util.List parseClassPath(java.util.function.BiConsumer):1614 -> p
    685:690:boolean parseOption():416 -> p
    691:694:java.util.List parseClassPath(java.util.function.BiConsumer):1615:1618 -> p
    691:694:boolean parseOption():416 -> p
    695:708:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1626:1639 -> p
    695:708:java.util.List parseClassPath(java.util.function.BiConsumer):1619 -> p
    695:708:boolean parseOption():416 -> p
    709:714:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1636:1641 -> p
    709:714:java.util.List parseClassPath(java.util.function.BiConsumer):1619 -> p
    709:714:boolean parseOption():416 -> p
    715:715:java.util.List parseClassPath(java.util.function.BiConsumer):1620:1620 -> p
    715:715:boolean parseOption():416 -> p
    716:720:boolean parseOption():415:419 -> p
    721:725:java.util.List parseClassPath(java.util.function.BiConsumer):1609:1613 -> p
    721:725:boolean parseOption():419 -> p
    726:739:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1626:1639 -> p
    726:739:java.util.List parseClassPath(java.util.function.BiConsumer):1614 -> p
    726:739:boolean parseOption():419 -> p
    740:745:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1636:1641 -> p
    740:745:java.util.List parseClassPath(java.util.function.BiConsumer):1614 -> p
    740:745:boolean parseOption():419 -> p
    746:749:java.util.List parseClassPath(java.util.function.BiConsumer):1615:1618 -> p
    746:749:boolean parseOption():419 -> p
    750:763:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1626:1639 -> p
    750:763:java.util.List parseClassPath(java.util.function.BiConsumer):1619 -> p
    750:763:boolean parseOption():419 -> p
    764:769:com.android.tools.r8.com.google.common.collect.ImmutableList parseClassPathFilters():1636:1641 -> p
    764:769:java.util.List parseClassPath(java.util.function.BiConsumer):1619 -> p
    764:769:boolean parseOption():419 -> p
    770:770:java.util.List parseClassPath(java.util.function.BiConsumer):1620:1620 -> p
    770:770:boolean parseOption():419 -> p
    771:781:boolean parseOption():418:428 -> p
    782:783:java.nio.file.Path parseFileInputDependency(java.util.function.BiConsumer):1572:1573 -> p
    782:783:boolean parseOption():428 -> p
    784:789:boolean parseOption():427:432 -> p
    790:791:java.nio.file.Path parseFileInputDependency(java.util.function.BiConsumer):1572:1573 -> p
    790:791:boolean parseOption():431 -> p
    792:798:boolean parseOption():430:436 -> p
    799:800:java.nio.file.Path parseFileInputDependency(java.util.function.BiConsumer):1572:1573 -> p
    799:800:boolean parseOption():435 -> p
    801:808:boolean parseOption():434:441 -> p
    809:810:void parseClassFilter(java.util.function.Consumer):2095:2096 -> p
    809:810:boolean parseOption():441 -> p
    811:811:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2114:2114 -> p
    811:811:void parseClassFilter(java.util.function.Consumer):2097 -> p
    811:811:boolean parseOption():441 -> p
    812:812:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2135:2135 -> p
    812:812:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2106 -> p
    812:812:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> p
    812:812:void parseClassFilter(java.util.function.Consumer):2097 -> p
    812:812:boolean parseOption():441 -> p
    813:816:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2107:2107 -> p
    813:816:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> p
    813:816:void parseClassFilter(java.util.function.Consumer):2097 -> p
    813:816:boolean parseOption():441 -> p
    819:819:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2110:2110 -> p
    819:819:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> p
    819:819:void parseClassFilter(java.util.function.Consumer):2097 -> p
    819:819:boolean parseOption():441 -> p
    820:821:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2117:2118 -> p
    820:821:void parseClassFilter(java.util.function.Consumer):2097 -> p
    820:821:boolean parseOption():441 -> p
    822:822:void parseClassFilter(java.util.function.Consumer):2097:2097 -> p
    822:822:boolean parseOption():441 -> p
    823:823:com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcardsAndNegation parseClassName(boolean):2137:2137 -> p
    823:823:void parseClassNameAddToBuilder(com.android.tools.r8.shaking.ProguardClassNameList$Builder):2106 -> p
    823:823:com.android.tools.r8.shaking.ProguardClassNameList parseClassNames():2116 -> p
    823:823:void parseClassFilter(java.util.function.Consumer):2097 -> p
    823:823:boolean parseOption():441 -> p
    824:824:com.android.tools.r8.shaking.ProguardTypeMatcher com.android.tools.r8.shaking.ProguardTypeMatcher.defaultAllMatcher():129:129 -> p
    824:824:void parseClassFilter(java.util.function.Consumer):2100 -> p
    824:824:boolean parseOption():441 -> p
    825:825:void parseClassFilter(java.util.function.Consumer):2100:2100 -> p
    825:825:boolean parseOption():441 -> p
    826:826:void parseClassFilter(java.util.function.Consumer):2099:2099 -> p
    826:826:boolean parseOption():441 -> p
    827:828:boolean parseOption():442:443 -> p
    829:833:void parsePathFilter(java.util.function.Consumer):2148:2152 -> p
    829:833:boolean parseOption():443 -> p
    834:835:boolean parseOption():444:445 -> p
    836:840:void parsePathFilter(java.util.function.Consumer):2148:2152 -> p
    836:840:boolean parseOption():445 -> p
    841:842:boolean parseOption():446:447 -> p
    843:843:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):932:932 -> p
    843:843:boolean parseOption():447 -> p
    844:844:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule$Builder com.android.tools.r8.shaking.ProguardIdentifierNameStringRule.builder():73:73 -> p
    844:844:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):932 -> p
    844:844:boolean parseOption():447 -> p
    845:845:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):932:932 -> p
    845:845:boolean parseOption():447 -> p
    846:847:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    846:847:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):933 -> p
    846:847:boolean parseOption():447 -> p
    848:848:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):933:933 -> p
    848:848:boolean parseOption():447 -> p
    849:850:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    849:850:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):934 -> p
    849:850:boolean parseOption():447 -> p
    851:854:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):934:937 -> p
    851:854:boolean parseOption():447 -> p
    855:855:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    855:855:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):938 -> p
    855:855:boolean parseOption():447 -> p
    856:866:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule com.android.tools.r8.shaking.ProguardIdentifierNameStringRule$Builder.build():25:35 -> p
    856:866:com.android.tools.r8.shaking.ProguardIdentifierNameStringRule parseIdentifierNameStringRule(com.android.tools.r8.position.Position):939 -> p
    856:866:boolean parseOption():447 -> p
    867:869:boolean parseOption():447:449 -> p
    870:870:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):944:944 -> p
    870:870:boolean parseOption():449 -> p
    871:871:com.android.tools.r8.shaking.ProguardIfRule$Builder com.android.tools.r8.shaking.ProguardIfRule.builder():136:136 -> p
    871:871:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):944 -> p
    871:871:boolean parseOption():449 -> p
    872:872:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):944:944 -> p
    872:872:boolean parseOption():449 -> p
    873:874:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:54 -> p
    873:874:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):945 -> p
    873:874:boolean parseOption():449 -> p
    875:875:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):945:945 -> p
    875:875:boolean parseOption():449 -> p
    876:877:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setStart(com.android.tools.r8.position.Position):58:59 -> p
    876:877:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):946 -> p
    876:877:boolean parseOption():449 -> p
    878:885:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):946:953 -> p
    878:885:boolean parseOption():449 -> p
    886:886:void com.android.tools.r8.shaking.ProguardIfRule$Builder.setSubsequentRule(com.android.tools.r8.shaking.ProguardKeepRule):74:74 -> p
    886:886:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):954 -> p
    886:886:boolean parseOption():449 -> p
    887:888:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):955:956 -> p
    887:888:boolean parseOption():449 -> p
    889:889:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setEnd(com.android.tools.r8.position.Position):63:63 -> p
    889:889:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):957 -> p
    889:889:boolean parseOption():449 -> p
    890:901:com.android.tools.r8.shaking.ProguardIfRule com.android.tools.r8.shaking.ProguardIfRule$Builder.build():79:90 -> p
    890:901:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):958 -> p
    890:901:boolean parseOption():449 -> p
    902:902:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):959:959 -> p
    902:902:boolean parseOption():449 -> p
    903:915:void verifyAndLinkBackReferences(java.lang.Iterable):1023:1035 -> p
    903:915:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):959 -> p
    903:915:boolean parseOption():449 -> p
    916:916:void verifyAndLinkBackReferences(java.lang.Iterable):1030:1030 -> p
    916:916:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):959 -> p
    916:916:boolean parseOption():449 -> p
    917:917:boolean parseOption():0:0 -> p
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":980,"2":981,"3":982}}
    980:980:void verifyAndLinkBackReferences(java.lang.Iterable):1030:1030 -> p
    980:980:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):959 -> p
    980:980:boolean parseOption():449 -> p
    981:981:void verifyAndLinkBackReferences(java.lang.Iterable):1030:1030 -> p
    981:981:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):959 -> p
    981:981:boolean parseOption():449 -> p
    982:982:void verifyAndLinkBackReferences(java.lang.Iterable):1030:1030 -> p
    982:982:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):959 -> p
    982:982:boolean parseOption():449 -> p
    918:922:void verifyAndLinkBackReferences(java.lang.Iterable):1030:1030 -> p
    918:922:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):959 -> p
    918:922:boolean parseOption():449 -> p
    929:931:void verifyAndLinkBackReferences(java.lang.Iterable):1037:1039 -> p
    929:931:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):959 -> p
    929:931:boolean parseOption():449 -> p
    932:932:boolean parseOption():449:449 -> p
    933:935:com.android.tools.r8.shaking.ProguardIfRule parseIfRule(com.android.tools.r8.position.TextPosition):962:962 -> p
    933:935:boolean parseOption():449 -> p
    936:954:boolean parseOption():450:468 -> p
    955:955:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> p
    955:955:boolean parseOption():470 -> p
    956:956:boolean parseOption():0:0 -> p
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":983,"2":984,"3":985,"4":986,"5":987,"6":988,"7":989}}
    983:983:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> p
    983:983:boolean parseOption():470 -> p
    984:984:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> p
    984:984:boolean parseOption():470 -> p
    985:985:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> p
    985:985:boolean parseOption():470 -> p
    986:986:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> p
    986:986:boolean parseOption():470 -> p
    987:987:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> p
    987:987:boolean parseOption():470 -> p
    988:988:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> p
    988:988:boolean parseOption():470 -> p
    989:989:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> p
    989:989:boolean parseOption():470 -> p
    957:960:java.lang.RuntimeException unknownOption(java.lang.String,com.android.tools.r8.position.TextPosition,java.lang.String):609:609 -> p
    957:960:boolean parseOption():470 -> p
    1:20:com.android.tools.r8.shaking.ProguardPathList parsePathFilter():2157:2176 -> q
    21:26:com.android.tools.r8.shaking.ProguardPathList parsePathFilter():2173:2178 -> q
    27:27:com.android.tools.r8.shaking.ProguardPathList parsePathFilter():2163:2163 -> q
    1:1:char peekChar():1776:1776 -> r
    1:11:void skipOptimizationName():771:781 -> s
    1:6:void skipWhitespace():1693:1698 -> t
    7:14:void skipComment():1704:1711 -> t
    7:14:void skipWhitespace():1700 -> t
com.android.tools.r8.shaking.ProguardConfigurationRule -> com.android.tools.r8.shaking.E1:
    boolean used -> o
    boolean canReferenceDeadTypes -> p
    boolean $assertionsDisabled -> q
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):47:47 -> <init>
    2:5:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):28:31 -> <init>
    1:1:void markAsUsed():68:68 -> A
    java.lang.String modifierString() -> B
    java.lang.String typeString() -> C
    1:1:boolean access$000(com.android.tools.r8.shaking.ProguardConfigurationRule):26:26 -> a
    2:27:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):127:152 -> a
    28:28:boolean com.android.tools.r8.shaking.ProguardTypeMatcher.hasSpecificType():0:0 -> a
    28:28:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):152 -> a
    29:37:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):153:161 -> a
    38:38:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    38:38:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):159 -> a
    39:39:java.lang.Iterable relevantCandidatesForRule(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):163:163 -> a
    40:40:java.util.stream.Stream lambda$getWildcards$0(java.lang.Iterable):189:189 -> a
    41:45:java.lang.StringBuilder append(java.lang.StringBuilder,boolean):223:227 -> a
    1:14:boolean equals(java.lang.Object):196:209 -> equals
    1:5:int hashCode():214:218 -> hashCode
    boolean applyToNonProgramClasses() -> p
    com.android.tools.r8.shaking.ClassInlineRule asClassInlineRule() -> q
    com.android.tools.r8.shaking.ProguardCheckDiscardRule asProguardCheckDiscardRule() -> r
    com.android.tools.r8.shaking.ProguardIfRule asProguardIfRule() -> s
    com.android.tools.r8.shaking.ProguardKeepRule asProguardKeepRule() -> t
    com.android.tools.r8.shaking.ReprocessClassInitializerRule asReprocessClassInitializerRule() -> u
    com.android.tools.r8.shaking.ReprocessMethodRule asReprocessMethodRule() -> v
    1:1:void canReferenceDeadTypes():120:120 -> w
    1:12:java.lang.Iterable getWildcards():180:191 -> x
    13:13:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable[]):472:472 -> x
    13:13:java.lang.Iterable getWildcards():181 -> x
    boolean isProguardKeepRule() -> y
    1:1:boolean isUsed():64:64 -> z
com.android.tools.r8.shaking.ProguardConfigurationRule$1 -> com.android.tools.r8.shaking.D1:
    com.android.tools.r8.graph.AppView val$appView -> a
    com.android.tools.r8.shaking.ProguardConfigurationRule this$0 -> b
    1:1:void <init>(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.AppView):131:131 -> <init>
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():148:148 -> a
    1:1:com.android.tools.r8.graph.ClassResolutionResult contextIndependentDefinitionForWithResolutionResult(com.android.tools.r8.graph.DexType):135:135 -> d
    1:4:com.android.tools.r8.graph.DexClass definitionFor(com.android.tools.r8.graph.DexType):140:143 -> e
com.android.tools.r8.shaking.ProguardConfigurationSource -> com.android.tools.r8.internal.uN:
    java.nio.file.Path getBaseDirectory() -> a
com.android.tools.r8.shaking.ProguardConfigurationSourceBytes -> com.android.tools.r8.internal.vN:
    byte[] bytes -> a
    com.android.tools.r8.origin.Origin origin -> b
    1:3:void <init>(byte[],com.android.tools.r8.origin.Origin):18:20 -> <init>
    java.nio.file.Path getBaseDirectory() -> a
    1:1:java.lang.String get():29:29 -> get
    1:1:java.lang.String getName():40:40 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():45:45 -> getOrigin
com.android.tools.r8.shaking.ProguardConfigurationSourceFile -> com.android.tools.r8.internal.wN:
    java.nio.file.Path path -> a
    1:2:void <init>(java.nio.file.Path):18:19 -> <init>
    1:5:java.nio.file.Path getBaseDirectory():29:33 -> a
    1:1:java.lang.String get():24:24 -> get
    1:1:java.lang.String getName():40:40 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():45:45 -> getOrigin
com.android.tools.r8.shaking.ProguardConfigurationSourceStrings -> com.android.tools.r8.internal.xN:
    java.util.List config -> b
    com.android.tools.r8.origin.Origin origin -> c
    java.nio.file.Path basePath -> a
    1:4:void <init>(java.util.List,java.nio.file.Path,com.android.tools.r8.origin.Origin):24:27 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardConfigurationSourceStrings createConfigurationForTesting(java.util.List):37:37 -> a
    2:2:void com.android.tools.r8.shaking.ProguardConfigurationSourceStrings.<init>(java.util.List):31:31 -> a
    2:2:com.android.tools.r8.shaking.ProguardConfigurationSourceStrings createConfigurationForTesting(java.util.List):37 -> a
    3:3:java.nio.file.Path getBaseDirectory():47:47 -> a
    1:1:java.lang.String get():42:42 -> get
    1:1:java.lang.String getName():52:52 -> getName
    1:1:com.android.tools.r8.origin.Origin getOrigin():57:57 -> getOrigin
com.android.tools.r8.shaking.ProguardConfigurationUtils -> com.android.tools.r8.shaking.I1:
    1:10:void <clinit>():21:30 -> <clinit>
    1:14:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):92:105 -> a
    15:15:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$Builder com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule.builder():77:77 -> a
    15:15:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):105 -> a
    16:16:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> a
    16:16:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):106 -> a
    17:17:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):106:106 -> a
    18:18:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    18:18:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):107 -> a
    19:22:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):107:110 -> a
    23:23:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):109:109 -> a
    24:36:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):108:120 -> a
    37:40:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):118:121 -> a
    41:41:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):112:112 -> a
    42:53:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):111:122 -> a
    54:64:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule$Builder.build():26:36 -> a
    54:64:com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule buildAssumeNoSideEffectsRuleForApiLevel(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.AndroidApiLevel):122 -> a
    65:110:boolean hasExplicitAssumeValuesOrAssumeNoSideEffectsRuleForMinSdk(com.android.tools.r8.graph.DexItemFactory,java.util.List):131:176 -> a
com.android.tools.r8.shaking.ProguardConfigurationUtils$1 -> com.android.tools.r8.shaking.F1:
    1:1:void <init>(com.android.tools.r8.origin.Origin):22:22 -> <init>
    1:1:java.lang.String part():25:25 -> part
com.android.tools.r8.shaking.ProguardConfigurationUtils$2 -> com.android.tools.r8.shaking.G1:
    1:1:void <init>(com.android.tools.r8.origin.Origin):30:30 -> <init>
    1:1:java.lang.String part():33:33 -> part
com.android.tools.r8.shaking.ProguardConfigurationUtils$3 -> com.android.tools.r8.shaking.H1:
    com.android.tools.r8.utils.AndroidApiLevel val$apiLevel -> f
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.utils.AndroidApiLevel):93:93 -> <init>
    1:1:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100}}
    98:98:java.lang.String part():96:96 -> part
    99:99:java.lang.String part():96:96 -> part
    100:100:java.lang.String part():96:96 -> part
    97:97:java.lang.String part():96:96 -> part
com.android.tools.r8.shaking.ProguardIdentifierNameStringRule -> com.android.tools.r8.shaking.K1:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardIdentifierNameStringRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):56:56 -> <init>
    1:1:java.lang.String typeString():78:78 -> C
com.android.tools.r8.shaking.ProguardIdentifierNameStringRule$Builder -> com.android.tools.r8.shaking.J1:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardIdentifierNameStringRule$1):12:12 -> <init>
    2:2:void <init>():15:15 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardIfRule -> com.android.tools.r8.shaking.O1:
    com.android.tools.r8.shaking.ProguardKeepRule subsequentRule -> u
    java.util.Set preconditions -> t
    int $r8$clinit -> y
    com.android.tools.r8.origin.Origin NEVER_INLINE_ORIGIN -> w
    com.android.tools.r8.origin.Origin NO_HORIZONTAL_CLASS_MERGING_ORIGIN -> x
    java.util.Map inlinableFieldsInPrecondition -> v
    1:10:void <clinit>():21:30 -> <clinit>
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardKeepRule,java.util.Set,com.android.tools.r8.shaking.ProguardIfRule$1):19:19 -> <init>
    2:18:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardKeepRule,java.util.Set):115:115 -> <init>
    19:111:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardKeepRule,java.util.Set):40:132 -> <init>
    1:1:java.lang.String typeString():299:299 -> C
    1:2:java.util.Set getAndClearInlinableFieldsMatchingPrecondition():55:56 -> F
    1:1:java.util.Set getPreconditions():43:43 -> G
    1:1:com.android.tools.r8.shaking.ProguardKeepRule getSubsequentRule():47:47 -> H
    1:1:void addInlinableFieldMatchingPrecondition(com.android.tools.r8.graph.DexField):51:51 -> a
    2:22:com.android.tools.r8.shaking.ProguardIfRule materialize(com.android.tools.r8.graph.DexItemFactory,java.util.Set):156:176 -> a
    23:23:com.android.tools.r8.shaking.ProguardMemberRule lambda$materialize$0(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardMemberRule):174:174 -> a
    24:39:com.android.tools.r8.shaking.ClassInlineRule neverClassInlineRuleForCondition(com.android.tools.r8.graph.DexItemFactory):181:196 -> a
    40:61:com.android.tools.r8.shaking.InlineRule neverInlineRuleForCondition(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.InlineRule$Type):224:245 -> a
    62:62:boolean lambda$neverInlineRuleForCondition$1(com.android.tools.r8.shaking.ProguardMemberRule):243:243 -> a
    1:1:com.android.tools.r8.shaking.ProguardMemberRule lambda$neverInlineRuleForCondition$2(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardMemberRule):244:244 -> b
    2:7:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):252:257 -> b
    8:8:com.android.tools.r8.shaking.NoHorizontalClassMergingRule$Builder com.android.tools.r8.shaking.NoHorizontalClassMergingRule.builder():77:77 -> b
    8:8:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):260 -> b
    9:9:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):260:260 -> b
    10:10:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> b
    10:10:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):261 -> b
    11:11:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):263:263 -> b
    12:14:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):262:264 -> b
    15:15:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassAccessFlags(com.android.tools.r8.shaking.ProguardAccessFlags):155:155 -> b
    15:15:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):264 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:16:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):265:265 -> b
    17:17:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setNegatedClassAccessFlags(com.android.tools.r8.shaking.ProguardAccessFlags):164:164 -> b
    17:17:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):265 -> b
    18:18:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):266:266 -> b
    19:19:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> b
    19:19:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):266 -> b
    20:20:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):267:267 -> b
    21:21:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassTypeNegated(boolean):146:146 -> b
    21:21:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):267 -> b
    22:24:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):268:270 -> b
    25:30:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):269:274 -> b
    31:31:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceClassName(com.android.tools.r8.shaking.ProguardTypeMatcher):109:109 -> b
    31:31:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):271 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    32:32:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):275:275 -> b
    33:33:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setInheritanceIsExtends(boolean):96:96 -> b
    33:33:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):275 -> b
    34:35:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):276:277 -> b
    36:46:com.android.tools.r8.shaking.NoHorizontalClassMergingRule com.android.tools.r8.shaking.NoHorizontalClassMergingRule$Builder.build():29:39 -> b
    36:46:com.android.tools.r8.shaking.NoHorizontalClassMergingRule noHorizontalClassMergingRuleForCondition(com.android.tools.r8.graph.DexItemFactory):277 -> b
    47:47:boolean lambda$noHorizontalClassMergingRuleForCondition$3(com.android.tools.r8.shaking.ProguardMemberRule):255:255 -> b
    1:1:com.android.tools.r8.shaking.ProguardMemberRule lambda$noHorizontalClassMergingRuleForCondition$4(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardMemberRule):256:256 -> c
    1:8:boolean equals(java.lang.Object):282:289 -> equals
    1:1:int hashCode():294:294 -> hashCode
    com.android.tools.r8.shaking.ProguardIfRule asProguardIfRule() -> s
    1:1:java.lang.Iterable getWildcards():141:141 -> x
    2:2:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> x
    2:2:java.lang.Iterable getWildcards():141 -> x
com.android.tools.r8.shaking.ProguardIfRule$1 -> com.android.tools.r8.shaking.L1:
    1:1:void <init>(com.android.tools.r8.origin.Origin):22:22 -> <init>
    1:1:java.lang.String part():25:25 -> part
com.android.tools.r8.shaking.ProguardIfRule$2 -> com.android.tools.r8.shaking.M1:
    1:1:void <init>(com.android.tools.r8.origin.Origin):30:30 -> <init>
    1:1:java.lang.String part():33:33 -> part
com.android.tools.r8.shaking.ProguardIfRule$Builder -> com.android.tools.r8.shaking.N1:
    com.android.tools.r8.shaking.ProguardKeepRule subsequentRule -> r
    boolean $assertionsDisabled -> s
    1:1:void <clinit>():60:60 -> <clinit>
    1:1:void <init>():65:65 -> <init>
    2:2:void <init>():62:62 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardKeepAttributes -> com.android.tools.r8.internal.yN:
    boolean runtimeInvisibleAnnotations -> m
    boolean runtimeVisibleParameterAnnotations -> n
    boolean runtimeInvisibleParameterAnnotations -> o
    boolean runtimeVisibleTypeAnnotations -> p
    boolean localVariableTypeTable -> i
    boolean methodParameters -> j
    boolean sourceDebugExtension -> k
    java.util.List KEEP_ALL -> t
    boolean runtimeVisibleAnnotations -> l
    boolean runtimeInvisibleTypeAnnotations -> q
    boolean annotationDefault -> r
    boolean stackMapTable -> s
    boolean signature -> e
    boolean exceptions -> f
    boolean lineNumberTable -> g
    boolean localVariableTable -> h
    boolean sourceFile -> a
    boolean sourceDir -> b
    boolean innerClasses -> c
    boolean enclosingMethod -> d
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:void <init>():58:58 -> <init>
    2:20:void <init>():38:56 -> <init>
    1:10:boolean update(boolean,java.lang.String,java.util.List):74:83 -> a
    11:27:boolean matches(java.lang.String,int,java.lang.String,int):90:106 -> a
    28:28:com.android.tools.r8.shaking.ProguardKeepAttributes fromPatterns(java.util.List):110:110 -> a
    29:53:void com.android.tools.r8.shaking.ProguardKeepAttributes.applyPatterns(java.util.List):116:140 -> a
    29:53:com.android.tools.r8.shaking.ProguardKeepAttributes fromPatterns(java.util.List):111 -> a
    54:106:java.lang.StringBuilder append(java.lang.StringBuilder):235:287 -> a
    1:5:boolean equals(java.lang.Object):173:177 -> equals
    1:16:int hashCode():197:212 -> hashCode
    1:1:java.lang.String toString():295:295 -> toString
com.android.tools.r8.shaking.ProguardKeepRule -> com.android.tools.r8.shaking.Q1:
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardKeepRuleType,com.android.tools.r8.shaking.ProguardKeepRuleModifiers):63:63 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardKeepRule$Builder builder():85:85 -> F
    1:134:void appendNonEmpty(java.lang.StringBuilder,java.lang.String,java.lang.Object,java.lang.String):0:133 -> a
    135:156:com.android.tools.r8.shaking.ProguardKeepRule materialize(com.android.tools.r8.graph.DexItemFactory):89:110 -> a
    157:157:com.android.tools.r8.shaking.ProguardMemberRule lambda$materialize$0(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardMemberRule):107:107 -> a
    158:160:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):140:142 -> a
    161:161:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setOrigin(com.android.tools.r8.origin.Origin):53:53 -> a
    161:161:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):141 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    162:162:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):148:148 -> a
    163:163:com.android.tools.r8.shaking.ProguardClassSpecification$Builder com.android.tools.r8.shaking.ProguardClassSpecification$Builder.setClassType(com.android.tools.r8.shaking.ProguardClassType):137:137 -> a
    163:163:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):148 -> a
    164:164:com.android.tools.r8.shaking.ProguardTypeMatcher com.android.tools.r8.shaking.ProguardTypeMatcher.defaultAllMatcher():129:129 -> a
    164:164:void com.android.tools.r8.shaking.ProguardClassSpecification$Builder.matchAllSpecification():184 -> a
    164:164:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):149 -> a
    165:165:void com.android.tools.r8.shaking.ProguardClassSpecification$Builder.matchAllSpecification():184:184 -> a
    165:165:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):149 -> a
    166:168:com.android.tools.r8.shaking.ProguardMemberRule com.android.tools.r8.shaking.ProguardMemberRule.defaultKeepAllRule():444:446 -> a
    166:168:void com.android.tools.r8.shaking.ProguardClassSpecification$Builder.matchAllSpecification():185 -> a
    166:168:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):149 -> a
    169:169:void com.android.tools.r8.shaking.ProguardClassSpecification$Builder.matchAllSpecification():185:185 -> a
    169:169:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):149 -> a
    170:170:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):150:150 -> a
    171:171:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder.getModifiersBuilder():30:30 -> a
    171:171:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):151 -> a
    172:175:com.android.tools.r8.shaking.ProguardKeepRule defaultKeepAllRule(java.util.function.Consumer):151:154 -> a
    1:5:boolean equals(java.lang.Object):115:119 -> equals
    com.android.tools.r8.shaking.ProguardKeepRule asProguardKeepRule() -> t
com.android.tools.r8.shaking.ProguardKeepRule$1 -> com.android.tools.r8.shaking.P1:
    1:1:void <init>(com.android.tools.r8.origin.Origin):142:142 -> <init>
    1:1:java.lang.String part():145:145 -> part
com.android.tools.r8.shaking.ProguardKeepRule$Builder -> com.android.tools.r8.shaking.Q1$a:
    1:1:void <init>():18:18 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
    1:16:com.android.tools.r8.shaking.ProguardKeepRule build():28:43 -> f
com.android.tools.r8.shaking.ProguardKeepRuleBase -> com.android.tools.r8.shaking.R1:
    com.android.tools.r8.shaking.ProguardKeepRuleModifiers modifiers -> s
    com.android.tools.r8.shaking.ProguardKeepRuleType type -> r
    1:16:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardKeepRuleType,com.android.tools.r8.shaking.ProguardKeepRuleModifiers):58:73 -> <init>
    1:1:java.lang.String modifierString():132:132 -> B
    1:1:java.lang.String typeString():127:127 -> C
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers getModifiers():81:81 -> D
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleType getType():77:77 -> E
    1:12:boolean equals(java.lang.Object):86:97 -> equals
    1:3:int hashCode():103:105 -> hashCode
com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder -> com.android.tools.r8.shaking.R1$a:
    com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder modifiersBuilder -> q
    com.android.tools.r8.shaking.ProguardKeepRuleType type -> p
    1:1:void <init>():21:21 -> <init>
    2:2:void <init>():18:18 -> <init>
    1:2:com.android.tools.r8.shaking.ProguardKeepRuleBase$Builder setType(com.android.tools.r8.shaking.ProguardKeepRuleType):25:26 -> a
com.android.tools.r8.shaking.ProguardKeepRuleModifiers -> com.android.tools.r8.shaking.S1:
    boolean allowsObfuscation -> e
    boolean includeDescriptorClasses -> f
    boolean allowsAccessModification -> a
    boolean allowsAnnotationRemoval -> b
    boolean allowsShrinking -> c
    boolean allowsOptimization -> d
    1:1:void <init>(boolean,boolean,boolean,boolean,boolean,boolean,com.android.tools.r8.shaking.ProguardKeepRuleModifiers$1):6:6 -> <init>
    2:8:void <init>(boolean,boolean,boolean,boolean,boolean,boolean):71:77 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder builder():84:84 -> a
    2:5:void appendWithComma(java.lang.StringBuilder,boolean,java.lang.String):136:139 -> a
    1:5:boolean equals(java.lang.Object):98:102 -> equals
    1:6:int hashCode():112:117 -> hashCode
    1:8:java.lang.String toString():122:129 -> toString
com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder -> com.android.tools.r8.shaking.S1$a:
    boolean allowsObfuscation -> e
    boolean includeDescriptorClasses -> f
    boolean allowsAccessModification -> a
    boolean allowsAnnotationRemoval -> b
    boolean allowsShrinking -> c
    boolean allowsOptimization -> d
    1:1:void <init>(com.android.tools.r8.shaking.ProguardKeepRuleModifiers$1):7:7 -> <init>
    2:2:void <init>():16:16 -> <init>
    3:8:void <init>():9:14 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers build():48:48 -> a
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsAccessModification(boolean):19:19 -> b
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsAnnotationRemoval(boolean):24:24 -> c
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsObfuscation(boolean):39:39 -> d
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsOptimization(boolean):34:34 -> e
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleModifiers$Builder setAllowsShrinking(boolean):29:29 -> f
    1:1:void setIncludeDescriptorClasses(boolean):44:44 -> g
com.android.tools.r8.shaking.ProguardKeepRuleType -> com.android.tools.r8.internal.AN:
    com.android.tools.r8.shaking.ProguardKeepRuleType[] $VALUES -> f
    com.android.tools.r8.shaking.ProguardKeepRuleType KEEP -> b
    com.android.tools.r8.shaking.ProguardKeepRuleType KEEP_CLASS_MEMBERS -> c
    com.android.tools.r8.shaking.ProguardKeepRuleType KEEP_CLASSES_WITH_MEMBERS -> d
    com.android.tools.r8.shaking.ProguardKeepRuleType CONDITIONAL -> e
    1:4:void <clinit>():9:12 -> <clinit>
    5:5:void <clinit>():8:8 -> <clinit>
    1:1:void <init>(java.lang.String,int):8:8 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardKeepRuleType[] values():8:8 -> a
    1:11:java.lang.String toString():16:26 -> toString
    12:12:java.lang.String toString():24:24 -> toString
    13:13:java.lang.String toString():22:22 -> toString
    14:14:java.lang.String toString():20:20 -> toString
    15:15:java.lang.String toString():18:18 -> toString
com.android.tools.r8.shaking.ProguardKeepRuleType$1 -> com.android.tools.r8.internal.zN:
    int[] $SwitchMap$com$android$tools$r8$shaking$ProguardKeepRuleType -> a
    1:1:void <clinit>():16:16 -> <clinit>
com.android.tools.r8.shaking.ProguardMemberRule -> com.android.tools.r8.shaking.U1:
    com.android.tools.r8.shaking.ProguardNameMatcher name -> f
    java.util.List annotations -> a
    com.android.tools.r8.shaking.ProguardMemberType ruleType -> d
    com.android.tools.r8.shaking.ProguardTypeMatcher type -> e
    com.android.tools.r8.shaking.ProguardAccessFlags negatedAccessFlags -> c
    com.android.tools.r8.shaking.ProguardAccessFlags accessFlags -> b
    java.util.List arguments -> g
    com.android.tools.r8.shaking.ProguardMemberRuleReturnValue returnValue -> h
    1:1:void <init>(java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardMemberType,com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.shaking.ProguardNameMatcher,java.util.List,com.android.tools.r8.shaking.ProguardMemberRuleReturnValue,com.android.tools.r8.shaking.ProguardMemberRule$1):24:24 -> <init>
    2:10:void <init>(java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardMemberType,com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.shaking.ProguardNameMatcher,java.util.List,com.android.tools.r8.shaking.ProguardMemberRuleReturnValue):125:133 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardMemberRule$Builder builder():140:140 -> a
    2:34:boolean matches(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):189:221 -> a
    35:40:boolean matches(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):195:200 -> a
    41:41:boolean matches(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):241:241 -> a
    42:42:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    42:42:boolean matches(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):241 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    43:90:boolean matches(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):242:289 -> a
    91:91:boolean com.android.tools.r8.shaking.ProguardTypeMatcher.isTripleDotPattern():0:0 -> a
    91:91:boolean matches(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):289 -> a
    92:97:boolean matches(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):292:297 -> a
    98:111:boolean matches(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.shaking.DexStringCache):244:257 -> a
    112:112:java.util.stream.Stream lambda$getWildcards$0(java.lang.Iterable):333:333 -> a
    113:125:com.android.tools.r8.shaking.ProguardMemberRule materialize(com.android.tools.r8.graph.DexItemFactory):339:351 -> a
    126:126:com.android.tools.r8.shaking.ProguardTypeMatcher lambda$materialize$1(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.shaking.ProguardTypeMatcher):349:349 -> a
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags getAccessFlags():148:148 -> b
    1:1:java.util.List getAnnotations():144:144 -> c
    1:1:java.util.List getArguments():168:168 -> d
    1:1:com.android.tools.r8.shaking.ProguardNameMatcher getName():164:164 -> e
    1:25:boolean equals(java.lang.Object):356:380 -> equals
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags getNegatedAccessFlags():152:152 -> f
    1:1:com.android.tools.r8.shaking.ProguardMemberRuleReturnValue getReturnValue():176:176 -> g
    1:1:com.android.tools.r8.shaking.ProguardMemberType getRuleType():156:156 -> h
    1:7:int hashCode():385:391 -> hashCode
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher getType():160:160 -> i
    1:10:java.lang.Iterable getWildcards():326:335 -> j
    11:11:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):454:454 -> j
    11:11:java.lang.Iterable getWildcards():326 -> j
    1:1:boolean hasReturnValue():172:172 -> k
    1:39:java.lang.String toString():397:435 -> toString
    40:49:java.lang.String toString():412:421 -> toString
    50:68:java.lang.String toString():409:427 -> toString
    69:103:java.lang.String toString():406:440 -> toString
com.android.tools.r8.shaking.ProguardMemberRule$1 -> com.android.tools.r8.shaking.T1:
    int[] $SwitchMap$com$android$tools$r8$shaking$ProguardMemberType -> a
    1:1:void <clinit>():190:190 -> <clinit>
com.android.tools.r8.shaking.ProguardMemberRule$Builder -> com.android.tools.r8.shaking.U1$a:
    com.android.tools.r8.shaking.ProguardNameMatcher name -> f
    java.util.List annotations -> a
    com.android.tools.r8.shaking.ProguardMemberType ruleType -> d
    boolean $assertionsDisabled -> i
    com.android.tools.r8.shaking.ProguardTypeMatcher type -> e
    com.android.tools.r8.shaking.ProguardAccessFlags negatedAccessFlags -> c
    com.android.tools.r8.shaking.ProguardAccessFlags accessFlags -> b
    java.util.List arguments -> g
    com.android.tools.r8.shaking.ProguardMemberRuleReturnValue returnValue -> h
    1:1:void <clinit>():26:26 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.ProguardMemberRule$1):26:26 -> <init>
    2:2:void <init>():37:37 -> <init>
    3:5:void <init>():28:30 -> <init>
    1:2:void setAnnotations(java.util.List):40:41 -> a
    3:3:com.android.tools.r8.shaking.ProguardMemberRule$Builder setAccessFlags(com.android.tools.r8.shaking.ProguardAccessFlags):49:49 -> a
    4:4:com.android.tools.r8.shaking.ProguardMemberRule$Builder setRuleType(com.android.tools.r8.shaking.ProguardMemberType):62:62 -> a
    5:5:com.android.tools.r8.shaking.ProguardMemberRule$Builder setTypeMatcher(com.android.tools.r8.shaking.ProguardTypeMatcher):71:71 -> a
    6:6:com.android.tools.r8.shaking.ProguardMemberRule$Builder setName(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards):76:76 -> a
    7:7:com.android.tools.r8.shaking.ProguardMemberRule$Builder setReturnValue(com.android.tools.r8.shaking.ProguardMemberRuleReturnValue):86:86 -> a
    8:9:com.android.tools.r8.shaking.ProguardMemberRule build():95:96 -> a
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags getAccessFlags():45:45 -> b
    2:2:com.android.tools.r8.shaking.ProguardMemberRule$Builder setArguments(java.util.List):81:81 -> b
    1:1:com.android.tools.r8.shaking.ProguardAccessFlags getNegatedAccessFlags():54:54 -> c
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher getTypeMatcher():67:67 -> d
    1:1:boolean isValid():91:91 -> e
com.android.tools.r8.shaking.ProguardMemberRuleReturnValue -> com.android.tools.r8.shaking.V1:
    com.android.tools.r8.utils.LongInterval longInterval -> c
    com.android.tools.r8.shaking.ProguardMemberRuleReturnValue$Type type -> a
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexField field -> d
    boolean booleanValue -> b
    1:1:void <clinit>():10:10 -> <clinit>
    1:5:void <init>(boolean):23:27 -> <init>
    6:10:void <init>(com.android.tools.r8.utils.LongInterval):30:34 -> <init>
    11:15:void <init>(com.android.tools.r8.graph.DexField):37:41 -> <init>
    16:20:void <init>():44:48 -> <init>
    1:2:boolean getBoolean():72:73 -> a
    1:2:com.android.tools.r8.graph.DexField getField():109:110 -> b
    1:8:long getSingleValue():93:100 -> c
    1:2:com.android.tools.r8.utils.LongInterval getValueRange():104:105 -> d
    1:1:boolean isBoolean():52:52 -> e
    1:1:boolean isField():60:60 -> f
    1:1:boolean isNull():68:68 -> g
    1:1:boolean isSingleValue():82:82 -> h
    1:1:boolean isValueRange():56:56 -> i
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":133,"2":134,"3":135}}
    133:133:java.lang.String toString():115:115 -> toString
    134:134:java.lang.String toString():115:115 -> toString
    135:135:java.lang.String toString():116:116 -> toString
    118:132:java.lang.String toString():117:131 -> toString
com.android.tools.r8.shaking.ProguardMemberType -> com.android.tools.r8.internal.GN:
    com.android.tools.r8.shaking.ProguardMemberType CONSTRUCTOR -> h
    com.android.tools.r8.shaking.ProguardMemberType INIT -> g
    com.android.tools.r8.shaking.ProguardMemberType CLINIT -> f
    com.android.tools.r8.shaking.ProguardMemberType ALL_METHODS -> e
    com.android.tools.r8.shaking.ProguardMemberType ALL -> d
    com.android.tools.r8.shaking.ProguardMemberType ALL_FIELDS -> c
    com.android.tools.r8.shaking.ProguardMemberType FIELD -> b
    com.android.tools.r8.shaking.ProguardMemberType[] $VALUES -> j
    com.android.tools.r8.shaking.ProguardMemberType METHOD -> i
    1:8:void <clinit>():8:15 -> <clinit>
    9:9:void <clinit>():6:6 -> <clinit>
    1:1:void <init>(java.lang.String,int):6:6 -> <init>
    1:1:boolean includesFields():18:18 -> a
    1:1:boolean includesMethods():22:22 -> b
    1:1:com.android.tools.r8.shaking.ProguardMemberType[] values():6:6 -> c
com.android.tools.r8.shaking.ProguardNameMatcher -> com.android.tools.r8.shaking.Z1:
    boolean $assertionsDisabled -> b
    com.android.tools.r8.shaking.ProguardNameMatcher MATCH_ALL_NAMES -> a
    1:3:void <clinit>():14:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.ProguardNameMatcher$1):14:14 -> <init>
    2:2:void <init>():18:18 -> <init>
    boolean matches(java.lang.String) -> a
    1:1:boolean access$100(java.lang.String,int,java.lang.String,int,java.util.List,int):14:14 -> a
    2:44:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):39:81 -> a
    45:58:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):56:69 -> a
    59:59:java.lang.String com.android.tools.r8.shaking.ProguardWildcard$BackReference.getCaptured():105:105 -> a
    59:59:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):70 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    60:60:java.lang.String com.android.tools.r8.shaking.ProguardWildcard$BackReference.getCaptured():105:105 -> a
    60:60:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):70 -> a
    61:67:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):72:78 -> a
    68:112:boolean matchFieldOrMethodNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int):43:87 -> a
    113:113:java.lang.Iterable getWildcards():93:93 -> a
    114:114:java.lang.Iterable getWildcardsOrEmpty(com.android.tools.r8.shaking.ProguardNameMatcher):97:97 -> a
    115:115:boolean com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards.isMatchAllNames():2304:2304 -> a
    115:115:com.android.tools.r8.shaking.ProguardNameMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards):23 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    116:116:boolean com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards.isMatchAllNames():2304:2304 -> a
    116:116:com.android.tools.r8.shaking.ProguardNameMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards):23 -> a
    117:121:com.android.tools.r8.shaking.ProguardNameMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards):24:28 -> a
    com.android.tools.r8.shaking.ProguardNameMatcher materialize() -> b
com.android.tools.r8.shaking.ProguardNameMatcher$MatchAllNames -> com.android.tools.r8.shaking.W1:
    com.android.tools.r8.shaking.ProguardWildcard wildcard -> c
    1:1:void <init>():108:108 -> <init>
    2:3:void <init>(com.android.tools.r8.shaking.ProguardWildcard):111:112 -> <init>
    1:1:boolean matches(java.lang.String):117:117 -> a
    2:2:java.lang.Iterable getWildcards():123:123 -> a
    1:1:com.android.tools.r8.shaking.ProguardNameMatcher$MatchAllNames materialize():128:128 -> b
    1:1:com.android.tools.r8.shaking.ProguardNameMatcher materialize():104 -> b
    1:1:java.lang.String toString():133:133 -> toString
com.android.tools.r8.shaking.ProguardNameMatcher$MatchNamePattern -> com.android.tools.r8.shaking.X1:
    java.util.List wildcards -> d
    java.lang.String pattern -> c
    1:3:void <init>(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards):142:144 -> <init>
    1:3:boolean matches(java.lang.String):149:151 -> a
    4:4:java.lang.Iterable getWildcards():158:158 -> a
    1:1:com.android.tools.r8.shaking.ProguardNameMatcher materialize():137:137 -> b
    1:5:com.android.tools.r8.shaking.ProguardNameMatcher$MatchNamePattern materialize():163:167 -> c
    1:1:boolean equals(java.lang.Object):180:180 -> equals
    1:1:int hashCode():185:185 -> hashCode
    1:1:java.lang.String toString():172:172 -> toString
com.android.tools.r8.shaking.ProguardNameMatcher$MatchSpecificName -> com.android.tools.r8.shaking.Y1:
    java.lang.String name -> c
    1:2:void <init>(java.lang.String):193:194 -> <init>
    1:1:boolean matches(java.lang.String):199:199 -> a
    1:1:boolean equals(java.lang.Object):209:209 -> equals
    1:1:int hashCode():214:214 -> hashCode
    1:1:java.lang.String toString():204:204 -> toString
com.android.tools.r8.shaking.ProguardPackageMatcher -> com.android.tools.r8.internal.HN:
    java.lang.String pattern -> a
    1:2:void <init>(java.lang.String):10:11 -> <init>
    1:1:boolean matches(java.lang.String):15:15 -> a
    2:47:boolean matchPackageNameImpl(java.lang.String,int,java.lang.String,int):20:65 -> a
    48:48:boolean matchPackageNameImpl(java.lang.String,int,java.lang.String,int):58:58 -> a
    49:55:boolean matchPackageNameImpl(java.lang.String,int,java.lang.String,int):27:33 -> a
    56:56:boolean com.android.tools.r8.shaking.ProguardPackageMatcher.containsSeparatorsStartingAt(java.lang.String,int):75:75 -> a
    56:56:boolean matchPackageNameImpl(java.lang.String,int,java.lang.String,int):37 -> a
    57:86:boolean matchPackageNameImpl(java.lang.String,int,java.lang.String,int):42:71 -> a
    1:5:boolean equals(java.lang.Object):83:87 -> equals
    1:1:int hashCode():92:92 -> hashCode
com.android.tools.r8.shaking.ProguardPackageNameList -> com.android.tools.r8.shaking.a2:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap packageNames -> a
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap,com.android.tools.r8.shaking.ProguardPackageNameList$1):13:13 -> <init>
    2:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap):40:41 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardPackageNameList$Builder builder():16:16 -> a
    2:2:boolean matches(com.android.tools.r8.graph.DexType):60:60 -> a
    3:6:boolean matches(java.lang.String):69:72 -> a
    3:6:boolean matches(com.android.tools.r8.graph.DexType):60 -> a
    7:7:boolean matches(com.android.tools.r8.graph.ProgramPackage):64:64 -> a
    8:11:boolean matches(java.lang.String):69:72 -> a
    8:11:boolean matches(com.android.tools.r8.graph.ProgramPackage):64 -> a
    1:15:boolean equals(java.lang.Object):83:97 -> equals
    1:6:int hashCode():107:112 -> hashCode
com.android.tools.r8.shaking.ProguardPackageNameList$Builder -> com.android.tools.r8.shaking.a2$a:
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2BooleanMap matchers -> a
    1:1:void <init>(com.android.tools.r8.shaking.ProguardPackageNameList$1):19:19 -> <init>
    2:2:void <init>():25:25 -> <init>
    3:3:void <init>():22:22 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardPackageNameList$Builder addPackageName(boolean,com.android.tools.r8.shaking.ProguardPackageMatcher):29:29 -> a
    2:2:com.android.tools.r8.shaking.ProguardPackageNameList build():34:34 -> a
com.android.tools.r8.shaking.ProguardPathFilter -> com.android.tools.r8.shaking.c2:
    boolean enabled -> a
    com.android.tools.r8.com.google.common.collect.ImmutableList patterns -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,boolean,com.android.tools.r8.shaking.ProguardPathFilter$1):9:9 -> <init>
    2:8:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,boolean):44:50 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardPathFilter$Builder builder():14:14 -> a
    2:4:boolean matches(java.lang.String):59:61 -> a
    1:1:boolean isEnabled():55:55 -> b
com.android.tools.r8.shaking.ProguardPathFilter$Builder -> com.android.tools.r8.shaking.b2:
    boolean enabled -> a
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder patterns -> b
    1:1:void <init>(com.android.tools.r8.shaking.ProguardPathFilter$1):17:17 -> <init>
    2:2:void <init>():21:21 -> <init>
    3:4:void <init>():18:19 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardPathFilter$Builder addPattern(com.android.tools.r8.shaking.ProguardPathList):25:25 -> a
    2:2:com.android.tools.r8.shaking.ProguardPathFilter build():40:40 -> a
    1:1:com.android.tools.r8.shaking.ProguardPathFilter$Builder disable():30:30 -> b
    1:1:com.android.tools.r8.shaking.ProguardPathFilter$Builder enable():35:35 -> c
com.android.tools.r8.shaking.ProguardPathList -> com.android.tools.r8.shaking.h2:
    1:1:void <init>():10:10 -> <init>
    boolean matches(java.lang.String) -> a
    1:1:com.android.tools.r8.shaking.ProguardPathList$Builder builder():13:13 -> a
    1:1:com.android.tools.r8.shaking.ProguardPathList emptyList():17:17 -> b
com.android.tools.r8.shaking.ProguardPathList$Builder -> com.android.tools.r8.shaking.d2:
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder matchers -> a
    1:1:void <init>(com.android.tools.r8.shaking.ProguardPathList$1):22:22 -> <init>
    2:2:void <init>():26:26 -> <init>
    3:3:void <init>():24:24 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardPathList$Builder addFileName(java.lang.String):30:30 -> a
    2:2:com.android.tools.r8.shaking.ProguardPathList$Builder addFileName(java.lang.String,boolean):34:34 -> a
    1:5:com.android.tools.r8.shaking.ProguardPathList build():39:43 -> b
com.android.tools.r8.shaking.ProguardPathList$EmptyPathList -> com.android.tools.r8.shaking.e2:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardPathList$1):122:122 -> <init>
    2:2:void <init>():124:124 -> <init>
    boolean matches(java.lang.String) -> a
com.android.tools.r8.shaking.ProguardPathList$FileNameMatcher -> com.android.tools.r8.shaking.f2:
    boolean negated -> a
    java.lang.String pattern -> b
    1:3:void <init>(boolean,java.lang.String):52:54 -> <init>
    1:1:boolean match(java.lang.String):58:58 -> a
    1:1:boolean access$300(com.android.tools.r8.shaking.ProguardPathList$FileNameMatcher,java.lang.String):48 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean match(java.lang.String):58:58 -> a
    2:2:boolean access$300(com.android.tools.r8.shaking.ProguardPathList$FileNameMatcher,java.lang.String):48 -> a
    3:29:boolean matchImpl(java.lang.String,int,java.lang.String,int):62:88 -> a
    30:30:boolean matchImpl(java.lang.String,int,java.lang.String,int):83:83 -> a
    31:34:boolean matchImpl(java.lang.String,int,java.lang.String,int):66:69 -> a
    35:35:boolean containsSeparatorsStartingAt(java.lang.String,int):98:98 -> a
    35:35:boolean matchImpl(java.lang.String,int,java.lang.String,int):70 -> a
    36:57:boolean matchImpl(java.lang.String,int,java.lang.String,int):73:94 -> a
com.android.tools.r8.shaking.ProguardPathList$PathList -> com.android.tools.r8.shaking.g2:
    java.util.List matchers -> a
    1:1:void <init>(java.util.List,com.android.tools.r8.shaking.ProguardPathList$1):103:103 -> <init>
    2:3:void <init>(java.util.List):106:107 -> <init>
    1:4:boolean matches(java.lang.String):112:115 -> a
com.android.tools.r8.shaking.ProguardRuleParserException -> com.android.tools.r8.internal.IN:
    com.android.tools.r8.position.Position position -> e
    com.android.tools.r8.origin.Origin origin -> d
    java.lang.String snippet -> c
    java.lang.String message -> b
    1:5:void <init>(java.lang.String,java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):18:22 -> <init>
    1:1:java.lang.String getDiagnosticMessage():43:43 -> getDiagnosticMessage
    1:1:java.lang.String getMessage():48:48 -> getMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():33:33 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():38:38 -> getPosition
com.android.tools.r8.shaking.ProguardTypeMatcher -> com.android.tools.r8.shaking.i2:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardTypeMatcher$1):23:23 -> <init>
    2:2:void <init>():31:31 -> <init>
    com.android.tools.r8.shaking.ProguardTypeMatcher$MatchSpecificType asSpecificTypeMatcher() -> a
    com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory) -> a
    1:5:boolean matches(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):49:53 -> a
    6:6:java.lang.Iterable getWildcardsOrEmpty(com.android.tools.r8.shaking.ProguardTypeMatcher):63:63 -> a
    7:9:java.lang.Iterable getWildcardsOrEmpty(java.util.List):67:69 -> a
    10:17:java.util.List materializeList(java.util.List,com.android.tools.r8.graph.DexItemFactory):80:87 -> a
    18:35:com.android.tools.r8.shaking.ProguardTypeMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType,com.android.tools.r8.graph.DexItemFactory):101:118 -> a
    36:39:com.android.tools.r8.shaking.ProguardTypeMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType,com.android.tools.r8.graph.DexItemFactory):117:120 -> a
    40:40:com.android.tools.r8.shaking.ProguardTypeMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType,com.android.tools.r8.graph.DexItemFactory):108:108 -> a
    41:49:com.android.tools.r8.shaking.ProguardTypeMatcher create(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType,com.android.tools.r8.graph.DexItemFactory):106:114 -> a
    50:50:com.android.tools.r8.shaking.ProguardTypeMatcher create(com.android.tools.r8.graph.DexType):125:125 -> a
    com.android.tools.r8.graph.DexType getSpecificType() -> b
    boolean matches(com.android.tools.r8.graph.DexType) -> b
    1:1:java.lang.Iterable getWildcards():59:59 -> c
com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType -> com.android.tools.r8.shaking.i2$a:
    com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType TYPE -> c
    com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType CLASS -> b
    1:2:void <clinit>():35:36 -> <clinit>
    1:1:void <init>(java.lang.String,int):34:34 -> <init>
com.android.tools.r8.shaking.ProguardTypeMatcher$MatchAllTypes -> com.android.tools.r8.shaking.j2:
    com.android.tools.r8.shaking.ProguardWildcard wildcard -> a
    com.android.tools.r8.shaking.ProguardTypeMatcher MATCH_ALL_TYPES -> b
    1:1:void <clinit>():152:152 -> <clinit>
    2:2:void <init>():157:157 -> <clinit>
    2:2:void <clinit>():152 -> <clinit>
    3:3:void <clinit>():152:152 -> <clinit>
    1:2:void <init>(com.android.tools.r8.shaking.ProguardWildcard):160:161 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher$MatchAllTypes materialize(com.android.tools.r8.graph.DexItemFactory):177:177 -> a
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):150 -> a
    1:1:boolean matches(com.android.tools.r8.graph.DexType):166:166 -> b
    1:1:java.lang.Iterable getWildcards():172:172 -> c
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher access$000():150:150 -> d
    1:1:boolean equals(java.lang.Object):187:187 -> equals
    1:1:int hashCode():192:192 -> hashCode
    1:1:java.lang.String toString():182:182 -> toString
com.android.tools.r8.shaking.ProguardTypeMatcher$MatchAnyArgSequence -> com.android.tools.r8.shaking.k2:
    com.android.tools.r8.shaking.ProguardTypeMatcher MATCH_ANY_ARG_SEQUENCE -> a
    1:1:void <clinit>():198:198 -> <clinit>
    1:1:void <init>():196:196 -> <init>
    boolean matches(com.android.tools.r8.graph.DexType) -> b
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher access$100():196:196 -> d
    1:1:boolean equals(java.lang.Object):217:217 -> equals
    1:1:int hashCode():222:222 -> hashCode
    1:1:java.lang.String toString():207:207 -> toString
com.android.tools.r8.shaking.ProguardTypeMatcher$MatchBasicTypes -> com.android.tools.r8.shaking.l2:
    com.android.tools.r8.shaking.ProguardWildcard wildcard -> a
    com.android.tools.r8.shaking.ProguardTypeMatcher MATCH_BASIC_TYPES -> b
    1:1:void <clinit>():283:283 -> <clinit>
    2:2:void <init>():288:288 -> <clinit>
    2:2:void <clinit>():283 -> <clinit>
    3:3:void <clinit>():283:283 -> <clinit>
    1:2:void <init>(com.android.tools.r8.shaking.ProguardWildcard):291:292 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher$MatchBasicTypes materialize(com.android.tools.r8.graph.DexItemFactory):311:311 -> a
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):281 -> a
    1:2:boolean matches(com.android.tools.r8.graph.DexType):297:298 -> b
    1:1:java.lang.Iterable getWildcards():306:306 -> c
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher access$400():281:281 -> d
    1:1:boolean equals(java.lang.Object):321:321 -> equals
    1:1:int hashCode():326:326 -> hashCode
    1:1:java.lang.String toString():316:316 -> toString
com.android.tools.r8.shaking.ProguardTypeMatcher$MatchClassTypes -> com.android.tools.r8.shaking.m2:
    com.android.tools.r8.shaking.ProguardWildcard wildcard -> b
    com.android.tools.r8.shaking.ProguardTypeMatcher MATCH_CLASS_TYPES -> c
    boolean $assertionsDisabled -> e
    com.android.tools.r8.shaking.ProguardTypeMatcher LEGACY_MATCH_CLASS_TYPES -> d
    java.lang.String pattern -> a
    1:5:void <clinit>():226:230 -> <clinit>
    1:1:void <init>(java.lang.String):237:237 -> <init>
    2:5:void <init>(java.lang.String,com.android.tools.r8.shaking.ProguardWildcard):240:243 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher$MatchClassTypes materialize(com.android.tools.r8.graph.DexItemFactory):262:262 -> a
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):226 -> a
    1:2:boolean matches(com.android.tools.r8.graph.DexType):248:249 -> b
    1:1:java.lang.Iterable getWildcards():257:257 -> c
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher access$200():226:226 -> d
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher access$300():226:226 -> e
    1:1:boolean equals(java.lang.Object):272:272 -> equals
    1:1:int hashCode():277:277 -> hashCode
    1:1:java.lang.String toString():267:267 -> toString
com.android.tools.r8.shaking.ProguardTypeMatcher$MatchSpecificType -> com.android.tools.r8.shaking.i2$b:
    com.android.tools.r8.graph.DexType type -> a
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardTypeMatcher$1):330:330 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.DexType):334:335 -> <init>
    com.android.tools.r8.shaking.ProguardTypeMatcher$MatchSpecificType asSpecificTypeMatcher() -> a
    1:1:boolean matches(com.android.tools.r8.graph.DexType):345:345 -> b
    2:2:com.android.tools.r8.graph.DexType getSpecificType():373:373 -> b
    1:2:boolean equals(java.lang.Object):355:356 -> equals
    1:1:int hashCode():363:363 -> hashCode
    1:1:java.lang.String toString():350:350 -> toString
com.android.tools.r8.shaking.ProguardTypeMatcher$MatchTypePattern -> com.android.tools.r8.shaking.n2:
    java.util.List wildcards -> b
    java.lang.String pattern -> a
    com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType kind -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():377:377 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType,com.android.tools.r8.shaking.ProguardTypeMatcher$1):377:377 -> <init>
    2:5:void <init>(com.android.tools.r8.shaking.ProguardConfigurationParser$IdentifierPatternWithWildcards,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):384:387 -> <init>
    1:1:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):408:408 -> a
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> a
    2:2:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):408 -> a
    3:8:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):409:414 -> a
    9:9:java.lang.String com.android.tools.r8.shaking.ProguardWildcard$BackReference.getCaptured():105:105 -> a
    9:9:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):415 -> a
    10:18:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):414:422 -> a
    19:36:java.lang.String removeMaterializedBackReferencesFromPattern(java.lang.String,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):442:459 -> a
    19:36:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):423 -> a
    37:39:boolean com.android.tools.r8.utils.StringUtils.onlyContainsDigits(java.lang.String):312:314 -> a
    37:39:java.lang.String removeMaterializedBackReferencesFromPattern(java.lang.String,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):459 -> a
    37:39:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):423 -> a
    40:65:java.lang.String removeMaterializedBackReferencesFromPattern(java.lang.String,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap):463:488 -> a
    40:65:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):423 -> a
    66:79:com.android.tools.r8.shaking.ProguardTypeMatcher materialize(com.android.tools.r8.graph.DexItemFactory):424:437 -> a
    80:171:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):499:590 -> a
    172:186:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):563:577 -> a
    187:187:java.lang.String com.android.tools.r8.shaking.ProguardWildcard$BackReference.getCaptured():105:105 -> a
    187:187:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):578 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    188:188:java.lang.String com.android.tools.r8.shaking.ProguardWildcard$BackReference.getCaptured():105:105 -> a
    188:188:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):578 -> a
    189:195:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):580:586 -> a
    196:217:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):503:524 -> a
    218:222:boolean isArrayType(java.lang.String):604:608 -> a
    218:222:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):524 -> a
    223:223:boolean containsSeparatorsStartingAt(java.lang.String,int):600:600 -> a
    223:223:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):526 -> a
    224:224:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):527:527 -> a
    225:229:boolean isArrayType(java.lang.String):604:608 -> a
    225:229:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):527 -> a
    230:259:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):531:560 -> a
    260:297:boolean matchClassOrTypeNameImpl(java.lang.String,int,java.lang.String,int,java.util.List,int,com.android.tools.r8.shaking.ProguardTypeMatcher$ClassOrType):559:596 -> a
    1:4:boolean matches(com.android.tools.r8.graph.DexType):393:396 -> b
    1:1:java.lang.Iterable getWildcards():403:403 -> c
    1:3:boolean equals(java.lang.Object):618:620 -> equals
    1:1:int hashCode():627:627 -> hashCode
    1:1:java.lang.String toString():613:613 -> toString
com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule -> com.android.tools.r8.shaking.p2:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):57:57 -> <init>
    1:1:java.lang.String typeString():79:79 -> C
com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule$Builder -> com.android.tools.r8.shaking.o2:
    1:1:void <init>(com.android.tools.r8.shaking.ProguardWhyAreYouKeepingRule$1):12:12 -> <init>
    2:2:void <init>():16:16 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.shaking.ProguardWildcard -> com.android.tools.r8.shaking.q2:
    1:1:void <init>():8:8 -> <init>
    com.android.tools.r8.shaking.ProguardWildcard$BackReference asBackReference() -> a
    void setCaptured(java.lang.String) -> a
    com.android.tools.r8.shaking.ProguardWildcard$Pattern asPattern() -> b
    void clearCaptured() -> c
    boolean isBackReference() -> d
    boolean isPattern() -> e
    com.android.tools.r8.shaking.ProguardWildcard materialize() -> f
com.android.tools.r8.shaking.ProguardWildcard$BackReference -> com.android.tools.r8.shaking.q2$a:
    int referenceIndex -> b
    com.android.tools.r8.shaking.ProguardWildcard$Pattern reference -> a
    1:2:void <init>(int):85:86 -> <init>
    com.android.tools.r8.shaking.ProguardWildcard$BackReference asBackReference() -> a
    1:1:void setReference(com.android.tools.r8.shaking.ProguardWildcard$Pattern):90:90 -> a
    2:2:void setCaptured(java.lang.String):95:95 -> a
    void clearCaptured() -> c
    boolean isBackReference() -> d
    1:5:com.android.tools.r8.shaking.ProguardWildcard$BackReference materialize():110:114 -> f
    1:5:com.android.tools.r8.shaking.ProguardWildcard materialize():80 -> f
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":262,"2":263,"3":264}}
    262:262:java.lang.String toString():130:130 -> toString
    263:263:java.lang.String toString():130:130 -> toString
    264:264:java.lang.String toString():130:130 -> toString
    131:131:java.lang.String toString():130:130 -> toString
    132:132:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":265,"2":266,"3":267}}
    265:265:java.lang.String toString():130:130 -> toString
    266:266:java.lang.String toString():130:130 -> toString
    267:267:java.lang.String toString():130:130 -> toString
com.android.tools.r8.shaking.ProguardWildcard$Pattern -> com.android.tools.r8.shaking.q2$b:
    java.lang.String pattern -> a
    java.lang.String captured -> b
    1:1:void <init>(java.lang.String):35:35 -> <init>
    2:5:void <init>(java.lang.String):33:36 -> <init>
    1:1:void setCaptured(java.lang.String):41:41 -> a
    com.android.tools.r8.shaking.ProguardWildcard$Pattern asPattern() -> b
    1:1:void clearCaptured():46:46 -> c
    boolean isPattern() -> e
    1:1:com.android.tools.r8.shaking.ProguardWildcard materialize():31:31 -> f
    1:1:java.lang.String getCaptured():51:51 -> g
    1:5:com.android.tools.r8.shaking.ProguardWildcard$Pattern materialize():56:60 -> h
    6:6:void setCaptured(java.lang.String):41:41 -> h
    6:6:com.android.tools.r8.shaking.ProguardWildcard$Pattern materialize():60 -> h
    1:1:java.lang.String toString():76:76 -> toString
com.android.tools.r8.shaking.ReprocessClassInitializerRule -> com.android.tools.r8.shaking.s2:
    int $r8$clinit -> s
    com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type type -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type,com.android.tools.r8.shaking.ReprocessClassInitializerRule$1):11:11 -> <init>
    2:16:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type):74:88 -> <init>
    1:7:java.lang.String typeString():111:117 -> C
    8:8:java.lang.String typeString():113:113 -> C
    1:1:com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type getType():96:96 -> D
    com.android.tools.r8.shaking.ReprocessClassInitializerRule asReprocessClassInitializerRule() -> u
com.android.tools.r8.shaking.ReprocessClassInitializerRule$Builder -> com.android.tools.r8.shaking.r2:
    com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type type -> p
    1:1:void <init>(com.android.tools.r8.shaking.ReprocessClassInitializerRule$1):18:18 -> <init>
    2:2:void <init>():24:24 -> <init>
    1:1:com.android.tools.r8.shaking.ReprocessClassInitializerRule$Builder setType(com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type):28:28 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
    1:11:com.android.tools.r8.shaking.ReprocessClassInitializerRule build():39:49 -> f
com.android.tools.r8.shaking.ReprocessMethodRule -> com.android.tools.r8.shaking.u2:
    com.android.tools.r8.shaking.ReprocessMethodRule$Type type -> r
    int $r8$clinit -> s
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ReprocessMethodRule$Type,com.android.tools.r8.shaking.ReprocessMethodRule$1):11:11 -> <init>
    2:16:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.ReprocessMethodRule$Type):74:88 -> <init>
    1:7:java.lang.String typeString():111:117 -> C
    8:8:java.lang.String typeString():113:113 -> C
    1:1:com.android.tools.r8.shaking.ReprocessMethodRule$Type getType():96:96 -> D
    com.android.tools.r8.shaking.ReprocessMethodRule asReprocessMethodRule() -> v
com.android.tools.r8.shaking.ReprocessMethodRule$Builder -> com.android.tools.r8.shaking.t2:
    com.android.tools.r8.shaking.ReprocessMethodRule$Type type -> p
    1:1:void <init>(com.android.tools.r8.shaking.ReprocessMethodRule$1):18:18 -> <init>
    2:2:void <init>():24:24 -> <init>
    1:1:com.android.tools.r8.shaking.ReprocessMethodRule$Builder setType(com.android.tools.r8.shaking.ReprocessMethodRule$Type):28:28 -> a
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
    1:11:com.android.tools.r8.shaking.ReprocessMethodRule build():39:49 -> f
com.android.tools.r8.shaking.RootSetUtils -> com.android.tools.r8.internal.QT:
com.android.tools.r8.shaking.RootSetUtils$1 -> com.android.tools.r8.shaking.v2:
    int[] $SwitchMap$com$android$tools$r8$shaking$InlineRule$Type -> b
    int[] $SwitchMap$com$android$tools$r8$shaking$ClassInlineRule$Type -> c
    int[] $SwitchMap$com$android$tools$r8$shaking$ReprocessClassInitializerRule$Type -> d
    int[] $SwitchMap$com$android$tools$r8$shaking$ReprocessMethodRule$Type -> e
    int[] $SwitchMap$com$android$tools$r8$shaking$ProguardKeepRuleType -> a
    1:1:com.android.tools.r8.shaking.ReprocessMethodRule$Type[] com.android.tools.r8.shaking.ReprocessMethodRule$Type.values():13:13 -> <clinit>
    1:1:void <clinit>():1322 -> <clinit>
    2:2:void <clinit>():1322:1322 -> <clinit>
    3:3:com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type[] com.android.tools.r8.shaking.ReprocessClassInitializerRule$Type.values():13:13 -> <clinit>
    3:3:void <clinit>():1307 -> <clinit>
    4:4:void <clinit>():1307:1307 -> <clinit>
    5:5:com.android.tools.r8.shaking.MemberValuePropagationRule$Type[] com.android.tools.r8.shaking.MemberValuePropagationRule$Type.values():13:13 -> <clinit>
    5:5:void <clinit>():1281 -> <clinit>
    6:6:void <clinit>():1281:1281 -> <clinit>
    7:7:com.android.tools.r8.shaking.ClassInlineRule$Type[] com.android.tools.r8.shaking.ClassInlineRule$Type.values():13:13 -> <clinit>
    7:7:void <clinit>():1225 -> <clinit>
    8:8:void <clinit>():1225:1225 -> <clinit>
    9:9:com.android.tools.r8.shaking.InlineRule$Type[] com.android.tools.r8.shaking.InlineRule$Type.values():13:13 -> <clinit>
    9:9:void <clinit>():1184 -> <clinit>
    10:10:void <clinit>():1184:1184 -> <clinit>
    11:11:void <clinit>():209:209 -> <clinit>
com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet -> com.android.tools.r8.shaking.w2:
    1:1:void <init>(java.util.Set,java.util.Set,com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,java.util.Map,java.util.List,com.android.tools.r8.utils.collections.ProgramMethodMap):2081:2081 -> <init>
com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSetBuilder -> com.android.tools.r8.shaking.x2:
    com.android.tools.r8.shaking.Enqueuer enqueuer -> H
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.shaking.RootSetUtils$1):2048:2048 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.Enqueuer):2056:2057 -> <init>
    1:2:void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult):2062:2063 -> a
    3:3:boolean com.android.tools.r8.shaking.AnnotationMatchResult.isConcreteAnnotationMatchResult():0:0 -> a
    3:3:void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult):2063 -> a
    4:6:void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult):2064:2064 -> a
com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet -> com.android.tools.r8.shaking.y2:
    boolean $assertionsDisabled -> x
    1:1:void <clinit>():2124:2124 -> <clinit>
    1:20:void <init>(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Set,java.util.List):2134:2153 -> <init>
    21:21:void <init>(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Set,java.util.List):2131:2131 -> <init>
    void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition) -> a
    1:1:com.android.tools.r8.shaking.RootSetUtils$RootSet rewrittenWithLens(com.android.tools.r8.graph.GraphLens):2124:2124 -> a
    2:2:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSetBuilder builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):2160:2160 -> a
    3:3:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.graph.DexReference):2177:2177 -> a
    1:16:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet rewrittenWithLens(com.android.tools.r8.graph.GraphLens):2170:2185 -> b
    17:26:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet withoutPrunedItems(com.android.tools.r8.graph.PrunedItems):2191:2200 -> b
com.android.tools.r8.shaking.RootSetUtils$MainDexRootSetBuilder -> com.android.tools.r8.shaking.z2:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable,com.android.tools.r8.shaking.RootSetUtils$1):2098:2098 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):2104:2104 -> <init>
    1:1:com.android.tools.r8.shaking.RootSetUtils$RootSet build(java.util.concurrent.ExecutorService):2098:2098 -> a
    1:3:com.android.tools.r8.shaking.RootSetUtils$MainDexRootSet build(java.util.concurrent.ExecutorService):2115:2117 -> b
com.android.tools.r8.shaking.RootSetUtils$RootSet -> com.android.tools.r8.shaking.A2:
    java.util.Map mayHaveSideEffects -> r
    java.util.Map noSideEffects -> s
    java.util.Map assumedValues -> t
    java.util.Set identifierNameStrings -> u
    java.util.Set ifRules -> v
    boolean $assertionsDisabled -> w
    com.android.tools.r8.com.google.common.collect.ImmutableList reasonAsked -> g
    java.util.Set alwaysInline -> h
    com.android.tools.r8.utils.PredicateSet alwaysClassInline -> m
    java.util.Set bypassClinitForInlining -> i
    java.util.Set whyAreYouNotInlining -> j
    java.util.Set noVerticalClassMerging -> o
    java.util.Set noHorizontalClassMerging -> p
    java.util.Set neverPropagateValue -> q
    java.util.Set reprocess -> k
    java.util.Set neverReprocess -> l
    java.util.Set noUnusedInterfaceRemoval -> n
    1:1:void <clinit>():1682:1682 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.List,com.android.tools.r8.utils.collections.ProgramMethodMap,com.android.tools.r8.shaking.RootSetUtils$1):1682:1682 -> <init>
    2:24:void <init>(com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,com.android.tools.r8.com.google.common.collect.ImmutableList,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,com.android.tools.r8.utils.PredicateSet,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Set,java.util.Map,java.util.Map,java.util.Map,java.util.Map,java.util.Set,java.util.Set,java.util.List,com.android.tools.r8.utils.collections.ProgramMethodMap):1724:1746 -> <init>
    1:1:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    1:1:boolean lambda$isShrinkingDisallowedUnconditionally$2(com.android.tools.r8.shaking.KeepInfo$Joiner):1794 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    2:2:boolean lambda$isShrinkingDisallowedUnconditionally$2(com.android.tools.r8.shaking.KeepInfo$Joiner):1794 -> a
    3:3:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    3:3:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):1798 -> a
    4:9:void pruneDeadItems(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):1798:1803 -> a
    10:10:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    10:10:void pruneItems(com.android.tools.r8.graph.PrunedItems):1826 -> a
    11:11:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    11:11:void pruneItems(com.android.tools.r8.graph.PrunedItems):1826 -> a
    12:12:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    12:12:void pruneItems(com.android.tools.r8.graph.PrunedItems):1826 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:14:void pruneItems(com.android.tools.r8.graph.PrunedItems):1828:1829 -> a
    15:15:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    15:15:void pruneItems(com.android.tools.r8.graph.PrunedItems):1830 -> a
    16:16:void pruneItems(com.android.tools.r8.graph.PrunedItems):1830:1830 -> a
    17:17:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    17:17:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):1865 -> a
    18:19:void shouldNotBeMinified(com.android.tools.r8.graph.ProgramDefinition):1866:1867 -> a
    20:20:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    20:20:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1871 -> a
    21:21:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1872:1872 -> a
    22:22:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    22:22:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1872 -> a
    23:23:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> a
    23:23:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1872 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    24:25:boolean verifyKeptFieldsAreAccessedAndLive(com.android.tools.r8.graph.AppView):1872:1873 -> a
    26:31:void checkAllRulesAreUsed(com.android.tools.r8.utils.InternalOptions):1750:1755 -> a
    32:32:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardIfRule():0:0 -> a
    32:32:void checkAllRulesAreUsed(com.android.tools.r8.utils.InternalOptions):1755 -> a
    33:46:void checkAllRulesAreUsed(com.android.tools.r8.utils.InternalOptions):1756:1769 -> a
    47:54:void addConsequentRootSet(com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet):1775:1782 -> a
    55:55:java.util.Set lambda$addConsequentRootSet$0(com.android.tools.r8.graph.DexType):1780:1780 -> a
    56:57:void lambda$addConsequentRootSet$1(com.android.tools.r8.graph.DexType,java.util.Set):1780:1781 -> a
    58:58:boolean isShrinkingDisallowedUnconditionally(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.utils.InternalOptions):1787:1787 -> a
    59:59:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    59:59:boolean isShrinkingDisallowedUnconditionally(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.utils.InternalOptions):1790 -> a
    60:62:boolean isShrinkingDisallowedUnconditionally(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.utils.InternalOptions):1791:1793 -> a
    63:63:boolean isShrinkingDisallowedUnconditionally(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.utils.InternalOptions):1792:1792 -> a
    64:64:void pruneDeadReferences(java.util.Set,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer):1810:1810 -> a
    65:73:boolean lambda$pruneDeadReferences$5(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.Enqueuer,com.android.tools.r8.graph.DexReference):1812:1820 -> a
    74:74:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):1816:1816 -> a
    75:75:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551:551 -> a
    75:75:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    75:75:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):1816 -> a
    76:76:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.toClassFieldOrNull(com.android.tools.r8.graph.DexEncodedField):555:555 -> a
    76:76:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexClass.lookupClassField(com.android.tools.r8.graph.DexField):551 -> a
    76:76:com.android.tools.r8.graph.DexClassAndField com.android.tools.r8.graph.DexField.lookupMemberOnClass(com.android.tools.r8.graph.DexClass):84 -> a
    76:76:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$3(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexField):1816 -> a
    77:77:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$4(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod):1819:1819 -> a
    78:78:com.android.tools.r8.graph.Definition lambda$pruneDeadReferences$4(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.DexMethod):1818:1818 -> a
    79:82:com.android.tools.r8.shaking.RootSetUtils$RootSet rewrittenWithLens(com.android.tools.r8.graph.GraphLens):1836:1839 -> a
    83:83:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> a
    83:83:com.android.tools.r8.shaking.RootSetUtils$RootSet rewrittenWithLens(com.android.tools.r8.graph.GraphLens):1840 -> a
    84:84:com.android.tools.r8.shaking.RootSetUtils$RootSet rewrittenWithLens(com.android.tools.r8.graph.GraphLens):1840:1840 -> a
    85:85:boolean lambda$verifyKeptFieldsAreAccessedAndLive$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1875:1875 -> a
    86:86:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    86:86:boolean lambda$verifyKeptFieldsAreAccessedAndLive$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1875 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    87:87:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> a
    87:87:boolean lambda$verifyKeptFieldsAreAccessedAndLive$6(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1875 -> a
    88:90:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1877:1879 -> a
    91:91:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    91:91:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1879 -> a
    92:92:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1879:1879 -> a
    93:93:com.android.tools.r8.graph.ProgramField com.android.tools.r8.graph.DexField.lookupOnProgramClass(com.android.tools.r8.graph.DexProgramClass):89:89 -> a
    93:93:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1880 -> a
    94:96:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1882:1884 -> a
    97:97:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3873,"2":3874,"3":3875}}
    3873:3873:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1884:1884 -> a
    3874:3874:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1884:1884 -> a
    3875:3875:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1884:1884 -> a
    1982:1983:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1885:1886 -> a
    1984:1984:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3877,"2":3878,"3":3879}}
    3877:3877:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1886:1886 -> a
    3878:3878:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1886:1886 -> a
    3879:3879:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1886:1886 -> a
    3872:3872:void lambda$verifyKeptFieldsAreAccessedAndLive$7(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1888:1888 -> a
    3880:3888:boolean isKeptDirectlyOrIndirectly(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):1933:1941 -> a
    3889:3889:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1955:1955 -> a
    3890:3890:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    3890:3890:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1955 -> a
    3891:3892:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1956:1957 -> a
    3893:3893:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7824,"2":7825,"3":7826}}
    7824:7824:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1957:1957 -> a
    7825:7825:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1957:1957 -> a
    7826:7826:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1957:1957 -> a
    3894:3894:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7827,"2":7828,"3":7829,"4":7830}}
    7827:7827:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1958:1958 -> a
    7828:7828:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1958:1958 -> a
    7829:7829:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1958:1958 -> a
    7830:7830:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1958:1958 -> a
    5852:5856:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1958:1962 -> a
    5857:5857:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":7834,"2":7835,"3":7836}}
    7834:7834:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1962:1962 -> a
    7835:7835:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1962:1962 -> a
    7836:7836:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1962:1962 -> a
    7820:7823:void lambda$verifyKeptItemsAreKept$15(com.android.tools.r8.graph.AppInfoWithClassHierarchy,java.util.Map,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1963:1966 -> a
    7837:7837:com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder builder(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):2044:2044 -> a
    1:1:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> b
    1:1:boolean lambda$verifyKeptItemsAreKept$12(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1953 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> b
    2:2:boolean lambda$verifyKeptItemsAreKept$12(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1953 -> b
    3:4:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1902:1903 -> b
    5:5:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3829,"2":3830,"3":3831}}
    3829:3829:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1903:1903 -> b
    3830:3830:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1903:1903 -> b
    3831:3831:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1903:1903 -> b
    1909:1911:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1904:1906 -> b
    1912:1912:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> b
    1912:1912:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1906 -> b
    1913:1916:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1906:1909 -> b
    1917:1917:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":3837,"2":3838,"3":3839}}
    3837:3837:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1909:1909 -> b
    3838:3838:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1909:1909 -> b
    3839:3839:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1909:1909 -> b
    3828:3828:void lambda$verifyKeptMethodsAreTargetedAndLive$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1911:1911 -> b
    3840:3842:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1947:1949 -> b
    3843:3843:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> b
    3843:3843:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1950 -> b
    3844:3844:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1951:1951 -> b
    3845:3845:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> b
    3845:3845:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1951 -> b
    3846:3846:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> b
    3846:3846:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1951 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3847:3884:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1951:1988 -> b
    3885:3885:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9923,"2":9924,"3":9925}}
    9923:9923:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1988:1988 -> b
    9924:9924:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1988:1988 -> b
    9925:9925:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1988:1988 -> b
    5875:5886:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):1990:2001 -> b
    5887:5887:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9938,"2":9939,"3":9940}}
    9938:9938:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2001:2001 -> b
    9939:9939:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2001:2001 -> b
    9940:9940:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2001:2001 -> b
    7890:7903:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2003:2016 -> b
    7904:7904:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9955,"2":9956,"3":9957}}
    9955:9955:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2016:2016 -> b
    9956:9956:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2016:2016 -> b
    9957:9957:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2016:2016 -> b
    7905:7905:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9958,"2":9959,"3":9960,"4":9961}}
    9958:9958:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2017:2017 -> b
    9959:9959:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2017:2017 -> b
    9960:9960:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2017:2017 -> b
    9961:9961:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2017:2017 -> b
    9922:9922:boolean verifyKeptItemsAreKept(com.android.tools.r8.graph.AppView):2017:2017 -> b
    9962:9962:java.util.Set lambda$verifyKeptItemsAreKept$13(com.android.tools.r8.graph.DexType):1959:1959 -> b
    1:1:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> c
    1:1:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.graph.AppView):1896 -> c
    2:2:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.graph.AppView):1897:1897 -> c
    3:3:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> c
    3:3:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.graph.AppView):1897 -> c
    4:4:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> c
    4:4:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.graph.AppView):1897 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:6:boolean verifyKeptMethodsAreTargetedAndLive(com.android.tools.r8.graph.AppView):1897:1898 -> c
    7:7:boolean lambda$verifyKeptMethodsAreTargetedAndLive$8(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1900:1900 -> c
    8:8:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> c
    8:8:boolean lambda$verifyKeptMethodsAreTargetedAndLive$8(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1900 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    9:9:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> c
    9:9:boolean lambda$verifyKeptMethodsAreTargetedAndLive$8(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1900 -> c
    10:11:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1925:1926 -> c
    12:12:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isLiveProgramType(com.android.tools.r8.graph.DexType):699:699 -> c
    12:12:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:boolean com.android.tools.r8.shaking.AppInfoWithLiveness.isLiveProgramType(com.android.tools.r8.graph.DexType):700:700 -> c
    13:13:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926 -> c
    14:14:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926:1926 -> c
    15:15:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1944,"2":1945,"3":1946}}
    1944:1944:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926:1926 -> c
    1945:1945:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926:1926 -> c
    1946:1946:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1926:1926 -> c
    16:16:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1947,"2":1948,"3":1949,"4":1950}}
    1947:1947:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1927:1927 -> c
    1948:1948:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1927:1927 -> c
    1949:1949:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1927:1927 -> c
    1950:1950:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1927:1927 -> c
    1943:1943:void lambda$verifyKeptTypesAreLive$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1927:1927 -> c
    1951:1951:java.util.Set lambda$verifyKeptItemsAreKept$14(com.android.tools.r8.graph.DexType):1965:1965 -> c
    1:1:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1682:1682 -> d
    1:1:boolean verifyKeptTypesAreLive(com.android.tools.r8.graph.AppView):1919 -> d
    2:2:boolean verifyKeptTypesAreLive(com.android.tools.r8.graph.AppView):1920:1920 -> d
    3:3:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> d
    3:3:boolean verifyKeptTypesAreLive(com.android.tools.r8.graph.AppView):1920 -> d
    4:4:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> d
    4:4:boolean verifyKeptTypesAreLive(com.android.tools.r8.graph.AppView):1920 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:6:boolean verifyKeptTypesAreLive(com.android.tools.r8.graph.AppView):1920:1921 -> d
    7:7:boolean lambda$verifyKeptTypesAreLive$10(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1923:1923 -> d
    8:8:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> d
    8:8:boolean lambda$verifyKeptTypesAreLive$10(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1923 -> d
    9:9:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> d
    9:9:boolean lambda$verifyKeptTypesAreLive$10(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1923 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:boolean com.android.tools.r8.shaking.KeepInfo$Joiner.isShrinkingAllowed():480:480 -> d
    10:10:boolean lambda$verifyKeptTypesAreLive$10(com.android.tools.r8.graph.DexReference,com.android.tools.r8.shaking.KeepInfo$Joiner):1923 -> d
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2035,"2":2036,"3":2037}}
    2035:2035:java.lang.String toString():2025:2025 -> toString
    2036:2036:java.lang.String toString():2025:2025 -> toString
    2037:2037:java.lang.String toString():2026:2026 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2038,"2":2039,"3":2040}}
    2038:2038:java.lang.String toString():2027:2027 -> toString
    2039:2039:java.lang.String toString():2027:2027 -> toString
    2040:2040:java.lang.String toString():2027:2027 -> toString
    2029:2034:java.lang.String toString():2027:2032 -> toString
com.android.tools.r8.shaking.RootSetUtils$RootSetBase -> com.android.tools.r8.shaking.B2:
    java.util.Map dependentKeepClassCompatRule -> d
    java.util.List delayedRootSetActionItems -> e
    com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection dependentMinimumKeepInfo -> c
    java.util.Set neverInlineDueToSingleCaller -> a
    java.util.Set neverClassInline -> b
    com.android.tools.r8.utils.collections.ProgramMethodMap pendingMethodMoveInverse -> f
    1:7:void <init>(java.util.Set,java.util.Set,com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection,java.util.Map,java.util.List,com.android.tools.r8.utils.collections.ProgramMethodMap):1664:1670 -> <init>
    1:1:com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection getDependentMinimumKeepInfo():1678:1678 -> a
com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder -> com.android.tools.r8.shaking.E2:
    java.util.Set identifierNameStrings -> w
    java.util.Map dependentKeepClassCompatRule -> s
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set ifRules -> A
    java.util.Map noSideEffects -> u
    com.android.tools.r8.utils.collections.ProgramMethodMap pendingMethodMoveInverse -> F
    java.util.Set alwaysInline -> g
    com.android.tools.r8.utils.PredicateSet alwaysClassInline -> m
    java.util.Map assumeNoSideEffectsWarnings -> B
    com.android.tools.r8.ir.desugar.itf.InterfaceDesugaringSyntheticHelper interfaceDesugaringSyntheticHelper -> E
    java.util.Set bypassClinitforInlining -> i
    com.android.tools.r8.ir.optimize.info.OptimizationFeedbackSimple feedback -> D
    java.util.Set noUnusedInterfaceRemoval -> o
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> b
    com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection dependentMinimumKeepInfo -> e
    java.util.Set noHorizontalClassMerging -> q
    boolean $assertionsDisabled -> G
    java.util.Set reprocess -> k
    com.android.tools.r8.utils.InternalOptions options -> y
    java.util.Map mayHaveSideEffects -> t
    com.android.tools.r8.shaking.DexStringCache dexStringCache -> z
    java.lang.Iterable rules -> d
    java.util.LinkedHashMap reasonAsked -> f
    java.util.Map assumedValues -> v
    java.util.Set neverInlineDueToSingleCaller -> h
    java.util.Set whyAreYouNotInlining -> j
    java.util.Queue delayedRootSetActionItems -> x
    java.util.Set classesWithCheckDiscardedMembers -> C
    com.android.tools.r8.graph.DirectMappedDexApplication application -> c
    java.util.Set noVerticalClassMerging -> p
    java.util.Set neverPropagateValue -> r
    java.util.Set neverReprocess -> l
    java.util.Set neverClassInline -> n
    1:1:void <clinit>():104:104 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,com.android.tools.r8.shaking.RootSetUtils$1):104:104 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable,com.android.tools.r8.shaking.RootSetUtils$1):104:104 -> <init>
    3:3:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):152:152 -> <init>
    4:55:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo,java.lang.Iterable):110:161 -> <init>
    56:56:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.SubtypingInfo):166:166 -> <init>
    void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult) -> a
    com.android.tools.r8.graph.DexReference lambda$addItemToSets$15(com.android.tools.r8.graph.DexReference) -> a
    boolean lambda$process$0(com.android.tools.r8.graph.DexDefinition) -> a
    1:1:com.android.tools.r8.graph.AppView access$200(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):104:104 -> a
    2:2:com.android.tools.r8.graph.DexProgramClass access$500(com.android.tools.r8.graph.DexDefinition,java.util.Map):104:104 -> a
    3:3:void access$600(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):104:104 -> a
    4:19:void runPerRule(java.util.concurrent.ExecutorService,java.util.List,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):300:315 -> a
    20:20:void runPerRule(java.util.concurrent.ExecutorService,java.util.List,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):314:314 -> a
    21:26:void lambda$runPerRule$2(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):318:323 -> a
    27:84:com.android.tools.r8.shaking.RootSetUtils$RootSet build(java.util.concurrent.ExecutorService):330:387 -> a
    85:85:com.android.tools.r8.shaking.RootSetUtils$RootSet build(java.util.concurrent.ExecutorService):346:346 -> a
    86:86:void lambda$build$3(com.android.tools.r8.ir.analysis.proto.GeneratedMessageLiteShrinker):355:355 -> a
    87:98:void propagateAssumeRules(com.android.tools.r8.graph.DexClass):392:403 -> a
    99:133:void propagateAssumeRules(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,java.util.Set,java.util.Map):413:447 -> a
    134:139:com.android.tools.r8.shaking.RootSetUtils$ConsequentRootSet buildConsequentRootSet():452:457 -> a
    140:142:boolean lambda$markMatchingVisibleMethods$4(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):502:504 -> a
    143:144:void lambda$markMatchingVisibleMethods$5(java.util.Map,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClassAndMethod):508:509 -> a
    145:145:boolean canInsertForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):649:649 -> a
    145:145:boolean access$300(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):104 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    146:147:boolean canInsertForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):649:650 -> a
    146:147:boolean access$300(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):104 -> a
    148:149:boolean com.android.tools.r8.utils.ArrayUtils.contains(java.lang.Object[],java.lang.Object):129:130 -> a
    148:149:boolean canInsertForwardingMethod(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):650 -> a
    148:149:boolean access$300(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexEncodedMethod):104 -> a
    150:151:void lambda$markMatchingMethods$7(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClassAndMethod):699:700 -> a
    152:161:void markMatchingVisibleFields(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):712:721 -> a
    162:162:void markMatchingFields(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule):731:731 -> a
    163:164:void lambda$markMatchingFields$9(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClassAndField):734:735 -> a
    165:227:void writeSeeds(com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,java.util.function.Predicate):742:804 -> a
    228:229:void lambda$writeSeeds$10(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexType):747:748 -> a
    230:231:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):756:757 -> a
    232:232:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1755,"2":1756,"3":1757}}
    1755:1755:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):758:758 -> a
    1756:1756:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):758:758 -> a
    1757:1757:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):758:758 -> a
    990:990:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):758:758 -> a
    991:991:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1759,"2":1760,"3":1761}}
    1759:1759:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):760:760 -> a
    1760:1760:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):760:760 -> a
    1761:1761:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):760:760 -> a
    1751:1753:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):760:762 -> a
    1754:1754:void lambda$writeSeeds$11(java.util.function.Predicate,java.io.PrintStream,com.android.tools.r8.graph.DexField):757:757 -> a
    1762:1765:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):770:773 -> a
    1766:1766:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    1766:1766:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):773 -> a
    1767:1781:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):773:787 -> a
    1782:1782:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2588,"2":2589,"3":2590}}
    2588:2588:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):788:788 -> a
    2589:2589:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):788:788 -> a
    2590:2590:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):788:788 -> a
    2570:2572:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):788:790 -> a
    2573:2587:void lambda$writeSeeds$12(java.util.function.Predicate,com.android.tools.r8.shaking.AppInfoWithLiveness,java.io.PrintStream,com.android.tools.r8.graph.DexMethod):787:801 -> a
    2591:2591:boolean satisfyClassType(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):808:808 -> a
    2591:2591:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):179 -> a
    2592:2593:boolean satisfyAccessFlag(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):812:813 -> a
    2592:2593:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):182 -> a
    2594:2594:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):817:817 -> a
    2594:2594:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):185 -> a
    2595:2595:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):967:967 -> a
    2595:2595:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):817 -> a
    2595:2595:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):185 -> a
    2596:2596:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):966:966 -> a
    2596:2596:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):817 -> a
    2596:2596:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):185 -> a
    2597:2651:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):189:243 -> a
    2652:2652:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):921:921 -> a
    2652:2652:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):219 -> a
    2653:2654:boolean ruleSatisfied(com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexClass):934:935 -> a
    2653:2654:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):922 -> a
    2653:2654:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):219 -> a
    2655:2656:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1080:1081 -> a
    2655:2656:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):224 -> a
    2657:2657:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2657:2657:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1081 -> a
    2657:2657:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):224 -> a
    2658:2658:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1083:1083 -> a
    2658:2658:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):224 -> a
    2659:2665:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):225:231 -> a
    2666:2675:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):230:239 -> a
    2676:2713:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):212:249 -> a
    2714:2714:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardCheckDiscardRule():0:0 -> a
    2714:2714:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):251 -> a
    2715:2715:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252:252 -> a
    2716:2717:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1361:1362 -> a
    2716:2717:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252 -> a
    2718:2723:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1372:1377 -> a
    2718:2723:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1362 -> a
    2718:2723:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252 -> a
    2724:2726:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1364:1366 -> a
    2724:2726:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252 -> a
    2727:2727:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    2727:2727:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1366 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2727:2727:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252 -> a
    2728:2728:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    2728:2728:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1366 -> a
    2728:2728:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252 -> a
    2729:2729:void evaluateCheckDiscardRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1366:1366 -> a
    2729:2729:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):252 -> a
    2730:2730:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):253:253 -> a
    2731:2732:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1080:1081 -> a
    2731:2732:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):254 -> a
    2733:2733:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2733:2733:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1081 -> a
    2733:2733:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):254 -> a
    2734:2734:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1083:1083 -> a
    2734:2734:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):254 -> a
    2735:2771:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):255:291 -> a
    2772:2772:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):921:921 -> a
    2772:2772:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):282 -> a
    2773:2774:boolean ruleSatisfied(com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexClass):934:935 -> a
    2773:2774:boolean allRulesSatisfied(java.util.Collection,com.android.tools.r8.graph.DexClass):922 -> a
    2773:2774:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):282 -> a
    2775:2776:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1080:1081 -> a
    2775:2776:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):283 -> a
    2777:2777:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2777:2777:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1081 -> a
    2777:2777:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):283 -> a
    2778:2778:void markClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1083:1083 -> a
    2778:2778:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):283 -> a
    2779:2779:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):276:276 -> a
    2780:2782:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):260:262 -> a
    2783:2785:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):261:263 -> a
    2786:2786:void process(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):250:250 -> a
    2787:2798:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):875:886 -> a
    2799:2799:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):967:967 -> a
    2799:2799:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):886 -> a
    2800:2800:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):966:966 -> a
    2800:2800:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):886 -> a
    2801:2817:boolean anyImplementedInterfaceMatchesImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):888:904 -> a
    2818:2823:boolean anySourceMatchesInheritanceRuleDirectly(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule,boolean):911:916 -> a
    2824:2824:boolean lambda$anySourceMatchesInheritanceRuleDirectly$13(boolean,com.android.tools.r8.graph.DexType):915:915 -> a
    2825:2827:boolean ruleSatisfiedByFields(com.android.tools.r8.shaking.ProguardMemberRule,java.lang.Iterable):950:952 -> a
    2828:2828:boolean sideEffectFreeIsRuleSatisfiedByField(com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexClassAndField):961:961 -> a
    2829:2830:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):979:980 -> a
    2831:2841:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):976:986 -> a
    2842:2842:com.android.tools.r8.graph.ParameterAnnotationsList com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotations():79:79 -> a
    2842:2842:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):987 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2843:2843:com.android.tools.r8.graph.ParameterAnnotationsList com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotations():79:79 -> a
    2843:2843:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):987 -> a
    2844:2844:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):987:987 -> a
    2845:2845:com.android.tools.r8.graph.ParameterAnnotationsList com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotations():79:79 -> a
    2845:2845:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotation(int):75 -> a
    2845:2845:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):992 -> a
    2846:2846:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexClassAndMethod.getParameterAnnotation(int):75:75 -> a
    2846:2846:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):992 -> a
    2847:2847:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):992:992 -> a
    2848:2854:boolean containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClassAndMember,java.util.function.Consumer):989:995 -> a
    2855:2859:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.Definition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):1008:1012 -> a
    2860:2861:com.android.tools.r8.graph.DexAnnotation getFirstAnnotationThatMatches(com.android.tools.r8.shaking.ProguardTypeMatcher,com.android.tools.r8.graph.DexAnnotationSet):1029:1030 -> a
    2860:2861:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.Definition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):1014 -> a
    2862:2865:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.Definition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):1018:1021 -> a
    2866:2871:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.Definition,com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexAnnotation$AnnotatedKind):1019:1024 -> a
    2872:2880:void markMethod(com.android.tools.r8.graph.DexClassAndMethod,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1045:1053 -> a
    2881:2881:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2881:2881:void markMethod(com.android.tools.r8.graph.DexClassAndMethod,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1052 -> a
    2882:2884:void markMethod(com.android.tools.r8.graph.DexClassAndMethod,java.util.Collection,java.util.Set,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1056:1058 -> a
    2885:2888:void markField(com.android.tools.r8.graph.DexClassAndField,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1069:1072 -> a
    2889:2889:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    2889:2889:void markField(com.android.tools.r8.graph.DexClassAndField,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1072 -> a
    2890:2890:void markField(com.android.tools.r8.graph.DexClassAndField,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1074:1074 -> a
    2891:2908:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1088:1105 -> a
    2909:2909:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():696:696 -> a
    2909:2909:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1106 -> a
    2910:2910:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    2910:2910:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2911:2911:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    2911:2911:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1106 -> a
    2912:2912:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.addRule(com.android.tools.r8.shaking.ProguardKeepRuleBase):493:493 -> a
    2912:2912:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1107 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2913:2914:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.addRule(com.android.tools.r8.shaking.ProguardKeepRuleBase):493:494 -> a
    2913:2914:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1107 -> a
    2915:2919:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1108:1112 -> a
    2920:2920:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():619:619 -> a
    2920:2920:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2921:2922:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1112:1113 -> a
    2923:2923:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClass.getReference():696:696 -> a
    2923:2923:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1114 -> a
    2924:2924:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    2924:2924:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1114 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2925:2925:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    2925:2925:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1114 -> a
    2926:2926:void includeDescriptor(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1115:1115 -> a
    2927:2927:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1141:1141 -> a
    2928:2928:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardKeepRule():0:0 -> a
    2928:2928:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1141 -> a
    2929:2934:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1142:1147 -> a
    2935:2946:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1146:1157 -> a
    2947:2966:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1156:1175 -> a
    2967:2967:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardCheckDiscardRule():0:0 -> a
    2967:2967:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1177 -> a
    2968:2970:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1178:1180 -> a
    2971:2972:void evaluateCheckDiscardMemberRule(com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1390:1391 -> a
    2971:2972:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1179 -> a
    2973:2996:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1181:1204 -> a
    2997:2997:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1201:1201 -> a
    2998:3001:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1195:1198 -> a
    3002:3005:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1189:1192 -> a
    3006:3033:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1186:1213 -> a
    3034:3034:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1210:1210 -> a
    3035:3035:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isClassInlineRule():0:0 -> a
    3035:3035:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1214 -> a
    3036:3054:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1215:1233 -> a
    3055:3063:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1227:1235 -> a
    3064:3064:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1218:1218 -> a
    3065:3065:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4471,"2":4472,"3":4473}}
    4471:4471:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1218:1218 -> a
    4472:4472:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1218:1218 -> a
    4473:4473:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1218:1218 -> a
    4285:4352:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1220:1287 -> a
    4353:4353:boolean com.android.tools.r8.graph.Definition.isProgramField():0:0 -> a
    4353:4353:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1287 -> a
    4354:4359:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1288:1293 -> a
    4360:4360:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    4360:4360:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1293 -> a
    4361:4369:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1294:1302 -> a
    4370:4370:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1572:1572 -> a
    4370:4370:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4371:4371:boolean isMainDexRootSetBuilder():0:0 -> a
    4371:4371:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1572 -> a
    4371:4371:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4372:4384:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1572:1584 -> a
    4372:4384:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4385:4385:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    4385:4385:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1584 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4385:4385:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4386:4386:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    4386:4386:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1584 -> a
    4386:4386:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4387:4387:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1585:1585 -> a
    4387:4387:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4388:4388:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4474,"2":4475,"3":4476}}
    4474:4474:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1585:1585 -> a
    4474:4474:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4475:4475:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1585:1585 -> a
    4475:4475:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4476:4476:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1585:1585 -> a
    4476:4476:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4389:4392:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1588:1591 -> a
    4389:4392:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4393:4404:void evaluateIdentifierNameStringRule(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule):1585:1596 -> a
    4393:4404:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1303 -> a
    4405:4416:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1304:1315 -> a
    4417:4425:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1309:1317 -> a
    4426:4426:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isReprocessMethodRule():0:0 -> a
    4426:4426:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1319 -> a
    4427:4437:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1320:1330 -> a
    4438:4470:void addItemToSets(com.android.tools.r8.graph.Definition,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1324:1356 -> a
    4477:4479:void evaluateCheckDiscardClassAndAllMembersRule(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardCheckDiscardRule):1383:1385 -> a
    4480:4480:void setCheckDiscarded(com.android.tools.r8.graph.ProgramDefinition):1395:1395 -> a
    4481:4481:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    4481:4481:void setCheckDiscarded(com.android.tools.r8.graph.ProgramDefinition):1396 -> a
    4482:4482:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateUnconditionalMinimumKeepInfo():74:74 -> a
    4482:4482:void setCheckDiscarded(com.android.tools.r8.graph.ProgramDefinition):1396 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4483:4484:void setCheckDiscarded(com.android.tools.r8.graph.ProgramDefinition):1397:1398 -> a
    4485:4485:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1411:1411 -> a
    4486:4486:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.DexClassAndMember.getReference():11:11 -> a
    4486:4486:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1411 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4487:4487:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1411:1411 -> a
    4488:4488:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1410:1410 -> a
    4489:4489:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.continueIf(boolean):17:17 -> a
    4489:4489:com.android.tools.r8.utils.TraversalContinuation lambda$finalizeCheckDiscardedInformation$16(com.android.tools.r8.shaking.MinimumKeepInfoCollection,com.android.tools.r8.graph.ProgramMember):1409 -> a
    4490:4491:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1424:1425 -> a
    4492:4492:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    4492:4492:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1426 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4493:4493:com.android.tools.r8.ir.optimize.info.FieldOptimizationInfo com.android.tools.r8.graph.DexClassAndField.getOptimizationInfo():41:41 -> a
    4493:4493:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1426 -> a
    4494:4511:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1426:1443 -> a
    4512:4512:boolean com.android.tools.r8.graph.DexMethod.isLambdaDeserializeMethod(com.android.tools.r8.graph.DexItemFactory):291:291 -> a
    4512:4512:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1443 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4513:4513:boolean com.android.tools.r8.graph.DexMethod.isLambdaDeserializeMethod(com.android.tools.r8.graph.DexItemFactory):291:291 -> a
    4513:4513:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1443 -> a
    4514:4514:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1453:1453 -> a
    4515:4515:boolean com.android.tools.r8.shaking.ProguardKeepRuleModifiers.isBottom():88:88 -> a
    4515:4515:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1454 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4516:4516:boolean com.android.tools.r8.shaking.ProguardKeepRuleModifiers.isBottom():88:88 -> a
    4516:4516:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1454 -> a
    4517:4535:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1460:1478 -> a
    4536:4539:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1477:1480 -> a
    4540:4544:boolean isInterfaceMethodNeedingDesugaring(com.android.tools.r8.graph.ProgramDefinition):1600:1604 -> a
    4540:4544:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1483 -> a
    4545:4563:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1484:1502 -> a
    4564:4564:boolean com.android.tools.r8.utils.InternalOptions.isOptimizationEnabled():624:624 -> a
    4564:4564:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1502 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4565:4567:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1502:1504 -> a
    4568:4568:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4568:4568:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1504 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4569:4569:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4569:4569:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1504 -> a
    4570:4575:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1505:1510 -> a
    4576:4576:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4576:4576:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1510 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4577:4577:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4577:4577:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1510 -> a
    4578:4578:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.addRule(com.android.tools.r8.shaking.ProguardKeepRuleBase):493:493 -> a
    4578:4578:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1511 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4579:4580:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.addRule(com.android.tools.r8.shaking.ProguardKeepRuleBase):493:494 -> a
    4579:4580:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1511 -> a
    4581:4584:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1512:1515 -> a
    4585:4585:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> a
    4585:4585:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1515 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4586:4586:boolean com.android.tools.r8.graph.DexClassAndMethod.isDefaultMethod():37:37 -> a
    4586:4586:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1515 -> a
    4587:4589:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1521:1523 -> a
    4590:4590:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4590:4590:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1523 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4591:4591:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4591:4591:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1523 -> a
    4592:4598:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1524:1530 -> a
    4599:4599:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4599:4599:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1530 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4600:4600:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4600:4600:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1530 -> a
    4601:4605:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1531:1535 -> a
    4606:4606:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():619:619 -> a
    4606:4606:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1535 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4607:4609:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1535:1537 -> a
    4610:4610:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4610:4610:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1537 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4611:4611:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4611:4611:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1537 -> a
    4612:4616:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1538:1542 -> a
    4617:4617:boolean com.android.tools.r8.utils.InternalOptions.isOptimizationEnabled():624:624 -> a
    4617:4617:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1542 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4618:4620:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1542:1544 -> a
    4621:4621:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4621:4621:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1544 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4622:4622:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4622:4622:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1544 -> a
    4623:4627:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1545:1549 -> a
    4628:4628:boolean isMainDexRootSetBuilder():0:0 -> a
    4628:4628:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1549 -> a
    4629:4633:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1549:1553 -> a
    4634:4634:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):69:69 -> a
    4634:4634:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1553 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4635:4635:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getOrCreateMinimumKeepInfoFor(com.android.tools.r8.shaking.EnqueuerEvent,com.android.tools.r8.graph.DexReference):70:70 -> a
    4635:4635:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1553 -> a
    4636:4636:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.addRule(com.android.tools.r8.shaking.ProguardKeepRuleBase):493:493 -> a
    4636:4636:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1554 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4637:4638:com.android.tools.r8.shaking.KeepInfo$Joiner com.android.tools.r8.shaking.KeepInfo$Joiner.addRule(com.android.tools.r8.shaking.ProguardKeepRuleBase):493:494 -> a
    4637:4638:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1554 -> a
    4639:4647:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1555:1563 -> a
    4648:4658:void includeDescriptorClasses(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRuleBase,com.android.tools.r8.shaking.EnqueuerEvent):1121:1131 -> a
    4648:4658:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1564 -> a
    4659:4659:void evaluateKeepRule(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.shaking.ProguardKeepRule,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.ProguardIfRule):1565:1565 -> a
    4660:4660:java.util.Set lambda$evaluateKeepRule$17(com.android.tools.r8.graph.DexType):1466:1466 -> a
    4661:4665:void reportAssumeNoSideEffectsWarningForJavaLangClassMethod(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.shaking.ProguardAssumeNoSideEffectRule):1609:1613 -> a
    4666:4666:java.util.Set lambda$reportAssumeNoSideEffectsWarningForJavaLangClassMethod$18(com.android.tools.r8.utils.OriginWithPosition):1612:1612 -> a
    4667:4667:boolean isWaitOrNotifyMethod(com.android.tools.r8.graph.DexMethod):1617:1617 -> a
    4668:4680:void lambda$generateAssumeNoSideEffectsWarnings$19(com.android.tools.r8.utils.OriginWithPosition,java.util.Set):1632:1644 -> a
    4681:4681:void lambda$generateAssumeNoSideEffectsWarnings$19(com.android.tools.r8.utils.OriginWithPosition,java.util.Set):1639:1639 -> a
    void lambda$sideEffectFreeIsRuleSatisfiedByField$14(com.android.tools.r8.shaking.AnnotationMatchResult) -> b
    1:1:java.util.Queue access$400(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):104:104 -> b
    2:2:boolean lambda$process$1(com.android.tools.r8.graph.DexDefinition):231:231 -> b
    3:12:com.android.tools.r8.graph.DexProgramClass testAndGetPrecondition(com.android.tools.r8.graph.DexDefinition,java.util.Map):470:479 -> b
    13:43:void markMatchingVisibleMethods(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):491:521 -> b
    44:44:boolean com.android.tools.r8.shaking.ProguardConfigurationRule.isProguardKeepRule():0:0 -> b
    44:44:void markMatchingVisibleMethods(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):521 -> b
    45:45:void markMatchingVisibleMethods(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):522:522 -> b
    46:46:boolean isMainDexRootSetBuilder():0:0 -> b
    46:46:void markMatchingVisibleMethods(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):523 -> b
    47:49:void markMatchingVisibleMethods(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):524:526 -> b
    50:51:void lambda$markMatchingOverriddenMethods$6(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClassAndMethod):683:684 -> b
    52:52:void markMatchingMethods(com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule):696:696 -> b
    53:54:void lambda$markMatchingVisibleFields$8(java.util.Map,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.graph.DexClassAndField):718:719 -> b
    55:55:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):817:817 -> b
    56:56:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):967:967 -> b
    56:56:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):817 -> b
    57:57:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):966:966 -> b
    57:57:com.android.tools.r8.shaking.AnnotationMatchResult satisfyAnnotation(com.android.tools.r8.shaking.ProguardConfigurationRule,com.android.tools.r8.graph.DexClass):817 -> b
    58:60:boolean ruleSatisfiedByMethods(com.android.tools.r8.shaking.ProguardMemberRule,java.lang.Iterable):939:941 -> b
    61:63:void finalizeCheckDiscardedInformation():1402:1404 -> b
    64:64:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> b
    64:64:void finalizeCheckDiscardedInformation():1403 -> b
    65:65:com.android.tools.r8.shaking.MinimumKeepInfoCollection com.android.tools.r8.shaking.DependentMinimumKeepInfoCollection.getUnconditionalMinimumKeepInfoOrDefault(com.android.tools.r8.shaking.MinimumKeepInfoCollection):88:88 -> b
    65:65:void finalizeCheckDiscardedInformation():1403 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:67:void finalizeCheckDiscardedInformation():1405:1406 -> b
    68:68:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.graph.DexProgramClass.traverseProgramMembers(java.util.function.Function):332:332 -> b
    68:68:void finalizeCheckDiscardedInformation():1407 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    69:72:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.graph.DexProgramClass.traverseProgramMembers(java.util.function.Function):333:336 -> b
    69:72:void finalizeCheckDiscardedInformation():1407 -> b
    73:74:void finalizeCheckDiscardedInformation():1412:1413 -> b
    1:1:com.android.tools.r8.shaking.DexStringCache access$700(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):104:104 -> c
    2:27:void markMatchingOverriddenMethods(com.android.tools.r8.graph.AppInfoWithClassHierarchy,com.android.tools.r8.graph.DexClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,boolean,com.android.tools.r8.shaking.ProguardIfRule):661:686 -> c
    28:28:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):829:829 -> c
    28:28:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):821 -> c
    29:39:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):839:849 -> c
    29:39:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):829 -> c
    29:39:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):821 -> c
    40:40:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):967:967 -> c
    40:40:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):849 -> c
    40:40:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):829 -> c
    40:40:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):821 -> c
    41:41:com.android.tools.r8.shaking.AnnotationMatchResult containsAllAnnotations(java.util.List,com.android.tools.r8.graph.DexClass):966:966 -> c
    41:41:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):849 -> c
    41:41:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):829 -> c
    41:41:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):821 -> c
    42:46:boolean anySuperTypeMatchesExtendsRule(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.ProguardConfigurationRule):851:855 -> c
    42:46:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):829 -> c
    42:46:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):821 -> c
    47:47:boolean satisfyExtendsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):834:834 -> c
    47:47:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):821 -> c
    48:53:boolean satisfyImplementsRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):861:866 -> c
    48:53:boolean satisfyInheritanceRule(com.android.tools.r8.graph.DexClass,com.android.tools.r8.shaking.ProguardConfigurationRule):825 -> c
    54:60:void generateAssumeNoSideEffectsWarnings():1623:1629 -> c
com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder$1 -> com.android.tools.r8.shaking.C2:
    1:1:void <init>(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):1488:1488 -> <init>
    void acceptCompanionClassClinit(com.android.tools.r8.graph.ProgramMethod) -> a
    void acceptCompanionMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod) -> a
com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder$SynthesizeMissingInterfaceMethodsForMemberRules -> com.android.tools.r8.shaking.D2:
    com.android.tools.r8.shaking.ProguardConfigurationRule context -> c
    java.util.Set seenTypes -> g
    java.util.Map preconditionSupplier -> d
    boolean $assertionsDisabled -> i
    java.util.Collection memberKeepRules -> b
    com.android.tools.r8.graph.DexProgramClass originalClazz -> a
    java.util.Set seenMethods -> f
    com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder this$0 -> h
    com.android.tools.r8.shaking.ProguardIfRule ifRule -> e
    1:1:void <clinit>():535:535 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule,com.android.tools.r8.shaking.RootSetUtils$1):535:535 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule):550:550 -> <init>
    3:18:void <init>(com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,com.android.tools.r8.shaking.ProguardConfigurationRule,java.util.Map,com.android.tools.r8.shaking.ProguardIfRule):542:557 -> <init>
    void handleMatchedAnnotation(com.android.tools.r8.shaking.AnnotationMatchResult) -> a
    1:1:void run():565:565 -> a
    2:16:void visitAllSuperInterfaces(com.android.tools.r8.graph.DexType):569:583 -> a
    17:23:void lambda$visitAllSuperInterfaces$0(com.android.tools.r8.graph.DexClassAndMethod):588:594 -> a
    24:51:void tryAndKeepMethodOnClass(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.shaking.ProguardMemberRule):601:628 -> a
    52:52:void lambda$tryAndKeepMethodOnClass$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):633:633 -> a
    53:53:void com.android.tools.r8.logging.Log.verbose(java.lang.Class,java.lang.String,java.lang.Object[]):22:22 -> a
    53:53:void lambda$tryAndKeepMethodOnClass$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):634 -> a
    54:55:void lambda$tryAndKeepMethodOnClass$1(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.ProguardMemberRule,com.android.tools.r8.shaking.RootSetUtils$RootSetBuilder):642:643 -> a
com.android.tools.r8.shaking.RuntimeTypeCheckInfo -> com.android.tools.r8.internal.WT:
    java.util.Set exceptionGuardTypes -> c
    java.util.Set instanceOfTypes -> a
    java.util.Set checkCastTypes -> b
    1:4:void <init>(java.util.Set,java.util.Set,java.util.Set):27:30 -> <init>
    1:1:boolean com.android.tools.r8.shaking.RuntimeTypeCheckInfo.isInstanceOfType(com.android.tools.r8.graph.DexProgramClass):98:98 -> a
    1:1:boolean isRuntimeCheckType(com.android.tools.r8.graph.DexProgramClass):106 -> a
    2:2:boolean com.android.tools.r8.shaking.RuntimeTypeCheckInfo.isCheckCastType(com.android.tools.r8.graph.DexProgramClass):94:94 -> a
    2:2:boolean isRuntimeCheckType(com.android.tools.r8.graph.DexProgramClass):106 -> a
    3:3:boolean com.android.tools.r8.shaking.RuntimeTypeCheckInfo.isExceptionGuardType(com.android.tools.r8.graph.DexProgramClass):102:102 -> a
    3:3:boolean isRuntimeCheckType(com.android.tools.r8.graph.DexProgramClass):106 -> a
    4:7:com.android.tools.r8.shaking.RuntimeTypeCheckInfo rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):110:113 -> a
com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder -> com.android.tools.r8.internal.VT:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    java.util.Set instanceOfTypes -> c
    java.util.Set checkCastTypes -> d
    java.util.Set exceptionGuardTypes -> e
    com.android.tools.r8.graph.GraphLens appliedGraphLens -> a
    1:1:void <init>(com.android.tools.r8.graph.AppView):45:45 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView):41:47 -> <init>
    1:4:com.android.tools.r8.shaking.RuntimeTypeCheckInfo build(com.android.tools.r8.graph.GraphLens):51:54 -> a
    5:5:void traceCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):60:60 -> a
    6:8:void com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder.add(com.android.tools.r8.graph.DexType,java.util.Set):79:81 -> a
    6:8:void traceCheckCast(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):60 -> a
    9:11:void attach(com.android.tools.r8.shaking.Enqueuer):87:89 -> a
    1:1:void traceExceptionGuard(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):75:75 -> b
    2:4:void com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder.add(com.android.tools.r8.graph.DexType,java.util.Set):79:81 -> b
    2:4:void traceExceptionGuard(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):75 -> b
    1:1:void traceInstanceOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):70:70 -> c
    2:4:void com.android.tools.r8.shaking.RuntimeTypeCheckInfo$Builder.add(com.android.tools.r8.graph.DexType,java.util.Set):79:81 -> c
    2:4:void traceInstanceOf(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.ProgramMethod):70 -> c
com.android.tools.r8.shaking.ScopedDexMethodSet -> com.android.tools.r8.shaking.F2:
    java.util.Map items -> b
    com.android.tools.r8.com.google.common.base.Equivalence METHOD_EQUIVALENCE -> c
    com.android.tools.r8.shaking.ScopedDexMethodSet parent -> a
    1:1:void <clinit>():22:22 -> <clinit>
    1:1:void <init>():28:28 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.ScopedDexMethodSet):31:31 -> <init>
    3:10:void <init>(com.android.tools.r8.shaking.ScopedDexMethodSet):25:32 -> <init>
    1:2:com.android.tools.r8.graph.DexEncodedMethod lookup(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):40:41 -> a
    3:12:com.android.tools.r8.shaking.ScopedDexMethodSet$AddMethodIfMoreVisibleResult addMethodIfMoreVisible(com.android.tools.r8.graph.DexEncodedMethod):58:67 -> a
    13:13:boolean com.android.tools.r8.graph.AccessFlags.isMoreVisibleThan(com.android.tools.r8.graph.AccessFlags,java.lang.String,java.lang.String):113:113 -> a
    13:13:com.android.tools.r8.shaking.ScopedDexMethodSet$AddMethodIfMoreVisibleResult addMethodIfMoreVisible(com.android.tools.r8.graph.DexEncodedMethod):64 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    14:19:boolean com.android.tools.r8.graph.AccessFlags.isMoreVisibleThan(com.android.tools.r8.graph.AccessFlags,java.lang.String,java.lang.String):114:119 -> a
    14:19:com.android.tools.r8.shaking.ScopedDexMethodSet$AddMethodIfMoreVisibleResult addMethodIfMoreVisible(com.android.tools.r8.graph.DexEncodedMethod):64 -> a
    20:20:com.android.tools.r8.shaking.ScopedDexMethodSet$AddMethodIfMoreVisibleResult addMethodIfMoreVisible(com.android.tools.r8.graph.DexEncodedMethod):68:68 -> a
    21:21:com.android.tools.r8.shaking.ScopedDexMethodSet getParent():75:75 -> a
    22:22:void setParent(com.android.tools.r8.shaking.ScopedDexMethodSet):79:79 -> a
    1:1:com.android.tools.r8.shaking.ScopedDexMethodSet newNestedScope():36:36 -> b
com.android.tools.r8.shaking.SingleTargetLookupCache -> com.android.tools.r8.internal.hV:
    java.util.Map cache -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():16:16 -> <clinit>
    1:3:void <init>():16:18 -> <init>
    1:6:void addToCache(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):21:26 -> a
    7:7:java.util.Map lambda$addToCache$0(com.android.tools.r8.graph.DexType):23:23 -> a
    8:10:void removeInstantiatedType(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.AppInfoWithLiveness):31:33 -> a
    11:11:void lambda$removeInstantiatedType$2(com.android.tools.r8.shaking.AppInfoWithLiveness,java.util.Set,com.android.tools.r8.graph.DexProgramClass):36:36 -> a
    12:16:com.android.tools.r8.utils.TraversalContinuation lambda$removeInstantiatedType$1(java.util.Set,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexClass,java.lang.Boolean):39:43 -> a
    17:17:void lambda$removeInstantiatedType$3(com.android.tools.r8.ir.desugar.LambdaDescriptor):47:47 -> a
    18:23:com.android.tools.r8.graph.DexEncodedMethod getCachedItem(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):52:57 -> a
    1:5:boolean hasCachedItem(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):61:65 -> b
com.android.tools.r8.shaking.TreePruner -> com.android.tools.r8.internal.cZ:
    com.android.tools.r8.graph.AppView appView -> a
    java.util.Set prunedTypes -> d
    java.util.Set methodsToKeepForConfigurationDebugging -> e
    com.android.tools.r8.shaking.TreePrunerConfiguration configuration -> b
    boolean $assertionsDisabled -> f
    com.android.tools.r8.shaking.UnusedItemsPrinter unusedItemsPrinter -> c
    1:1:void <clinit>():44:44 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView):53:53 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.TreePrunerConfiguration):56:56 -> <init>
    3:20:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.TreePrunerConfiguration):49:66 -> <init>
    1:1:com.android.tools.r8.graph.AppView access$000(com.android.tools.r8.shaking.TreePruner):44:44 -> a
    2:2:void lambda$new$0(com.android.tools.r8.utils.InternalOptions,java.lang.String):64:64 -> a
    3:11:com.android.tools.r8.graph.DirectMappedDexApplication run(java.util.concurrent.ExecutorService):70:78 -> a
    12:16:void com.android.tools.r8.shaking.TreePruner.fixupOptimizationInfo(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.concurrent.ExecutorService):395:399 -> a
    12:16:com.android.tools.r8.graph.DirectMappedDexApplication run(java.util.concurrent.ExecutorService):79 -> a
    17:34:void com.android.tools.r8.shaking.TreePruner.fixupOptimizationInfo(com.android.tools.r8.graph.DirectMappedDexApplication,java.util.concurrent.ExecutorService):398:415 -> a
    17:34:com.android.tools.r8.graph.DirectMappedDexApplication run(java.util.concurrent.ExecutorService):79 -> a
    35:35:com.android.tools.r8.graph.DirectMappedDexApplication run(java.util.concurrent.ExecutorService):82:82 -> a
    36:37:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):88:89 -> a
    38:49:java.util.List com.android.tools.r8.shaking.TreePruner.getNewProgramClasses(java.util.Collection):93:104 -> a
    38:49:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):89 -> a
    50:50:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> a
    50:50:java.util.List com.android.tools.r8.shaking.TreePruner.getNewProgramClasses(java.util.Collection):108 -> a
    50:50:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):89 -> a
    51:53:java.util.List com.android.tools.r8.shaking.TreePruner.getNewProgramClasses(java.util.Collection):114:116 -> a
    51:53:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):89 -> a
    54:65:void com.android.tools.r8.shaking.TreePruner.pruneUnusedInterfaces(com.android.tools.r8.graph.DexProgramClass):135:146 -> a
    54:65:java.util.List com.android.tools.r8.shaking.TreePruner.getNewProgramClasses(java.util.Collection):119 -> a
    54:65:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):89 -> a
    66:76:java.util.List com.android.tools.r8.shaking.TreePruner.getNewProgramClasses(java.util.Collection):120:130 -> a
    66:76:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):89 -> a
    77:77:com.android.tools.r8.graph.DirectMappedDexApplication$Builder removeUnused(com.android.tools.r8.graph.DirectMappedDexApplication):89:89 -> a
    78:89:void removeInterfacesImplementedDirectlyAndIndirectlyByClassFromSet(com.android.tools.r8.graph.DexType,java.util.Set):152:163 -> a
    90:91:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):181:182 -> a
    92:97:java.util.List com.android.tools.r8.utils.IterableUtils.ensureUnmodifiableList(java.lang.Iterable):57:62 -> a
    92:97:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.shaking.TreePruner.reachableMethods(java.lang.Iterable,com.android.tools.r8.graph.DexProgramClass):289 -> a
    92:97:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):182 -> a
    98:98:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.shaking.TreePruner.reachableMethods(java.lang.Iterable,com.android.tools.r8.graph.DexProgramClass):289:289 -> a
    98:98:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):182 -> a
    99:102:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):184:187 -> a
    103:108:java.util.List com.android.tools.r8.utils.IterableUtils.ensureUnmodifiableList(java.lang.Iterable):57:62 -> a
    103:108:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.shaking.TreePruner.reachableMethods(java.lang.Iterable,com.android.tools.r8.graph.DexProgramClass):289 -> a
    103:108:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):187 -> a
    109:109:com.android.tools.r8.graph.DexEncodedMethod[] com.android.tools.r8.shaking.TreePruner.reachableMethods(java.lang.Iterable,com.android.tools.r8.graph.DexProgramClass):289:289 -> a
    109:109:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):187 -> a
    110:124:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):189:203 -> a
    125:128:boolean com.android.tools.r8.shaking.TreePruner.verifyNoDeadFields(com.android.tools.r8.graph.DexProgramClass):419:422 -> a
    125:128:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):203 -> a
    129:129:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":131,"2":132,"3":133}}
    131:131:boolean com.android.tools.r8.shaking.TreePruner.verifyNoDeadFields(com.android.tools.r8.graph.DexProgramClass):422:422 -> a
    131:131:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):203 -> a
    132:132:boolean com.android.tools.r8.shaking.TreePruner.verifyNoDeadFields(com.android.tools.r8.graph.DexProgramClass):422:422 -> a
    132:132:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):203 -> a
    133:133:boolean com.android.tools.r8.shaking.TreePruner.verifyNoDeadFields(com.android.tools.r8.graph.DexProgramClass):422:422 -> a
    133:133:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):203 -> a
    130:130:boolean com.android.tools.r8.shaking.TreePruner.verifyNoDeadFields(com.android.tools.r8.graph.DexProgramClass):423:423 -> a
    130:130:void pruneMembersAndAttributes(com.android.tools.r8.graph.DexProgramClass):203 -> a
    134:141:void rewriteNestAttributes(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Function):208:215 -> a
    142:158:void com.android.tools.r8.shaking.TreePruner.claimNestOwnership(com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.function.Function):242:258 -> a
    142:158:void rewriteNestAttributes(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Function):216 -> a
    159:159:boolean isTypeLive(com.android.tools.r8.graph.DexType):226:226 -> a
    160:161:void clearDeadNestMembers(com.android.tools.r8.graph.DexClass,java.util.function.Predicate,java.util.function.Function):233:234 -> a
    162:163:boolean lambda$clearDeadNestMembers$1(java.util.function.Function,java.util.function.Predicate,com.android.tools.r8.graph.NestMemberClassAttribute):236:237 -> a
    164:166:boolean isAttributeReferencingPrunedItem(com.android.tools.r8.graph.EnclosingMethodAttribute):264:266 -> a
    167:167:boolean isAttributeReferencingMissingOrPrunedType(com.android.tools.r8.graph.InnerClassAttribute):270:270 -> a
    168:168:boolean com.android.tools.r8.shaking.TreePruner.isTypeMissing(com.android.tools.r8.graph.DexType):222:222 -> a
    168:168:boolean isAttributeReferencingMissingOrPrunedType(com.android.tools.r8.graph.InnerClassAttribute):270 -> a
    169:172:boolean isAttributeReferencingMissingOrPrunedType(com.android.tools.r8.graph.InnerClassAttribute):270:273 -> a
    173:187:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.InnerClassAttribute.getLiveContext(com.android.tools.r8.graph.AppView):101:115 -> a
    173:187:boolean isAttributeReferencingMissingOrPrunedType(com.android.tools.r8.graph.InnerClassAttribute):273 -> a
    188:188:boolean com.android.tools.r8.shaking.TreePruner.isTypeMissing(com.android.tools.r8.graph.DexType):222:222 -> a
    188:188:boolean isAttributeReferencingMissingOrPrunedType(com.android.tools.r8.graph.InnerClassAttribute):274 -> a
    189:189:boolean isAttributeReferencingMissingOrPrunedType(com.android.tools.r8.graph.InnerClassAttribute):274:274 -> a
    190:192:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):294:296 -> a
    193:194:int com.android.tools.r8.shaking.TreePruner.firstUnreachableIndex(java.util.List,java.util.function.Predicate):279:280 -> a
    193:194:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):297 -> a
    195:196:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):300:301 -> a
    197:198:void com.android.tools.r8.shaking.TreePruner.canonicalizeCode(com.android.tools.r8.graph.ProgramMethod):345:346 -> a
    197:198:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):301 -> a
    199:203:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):305:309 -> a
    204:205:void com.android.tools.r8.shaking.TreePruner.canonicalizeCode(com.android.tools.r8.graph.ProgramMethod):345:346 -> a
    204:205:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):309 -> a
    206:212:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):310:316 -> a
    213:241:com.android.tools.r8.graph.DexEncodedMethod[] reachableMethods(java.util.List,com.android.tools.r8.graph.DexProgramClass):313:341 -> a
    242:242:boolean lambda$reachableMethods$2(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedMethod):297:297 -> a
    243:244:com.android.tools.r8.graph.DexEncodedField[] reachableFields(java.util.List):351:352 -> a
    245:246:int com.android.tools.r8.shaking.TreePruner.firstUnreachableIndex(java.util.List,java.util.function.Predicate):279:280 -> a
    245:246:com.android.tools.r8.graph.DexEncodedField[] reachableFields(java.util.List):354 -> a
    247:268:com.android.tools.r8.graph.DexEncodedField[] reachableFields(java.util.List):359:380 -> a
    269:269:boolean lambda$reachableFields$3(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField):353:353 -> a
    270:270:java.util.Collection getMethodsToKeepForConfigurationDebugging():388:388 -> a
    1:1:java.util.Set access$100(com.android.tools.r8.shaking.TreePruner):44:44 -> b
    2:9:void retainReachableInterfacesFrom(com.android.tools.r8.graph.DexType,java.util.Set):168:175 -> b
    10:10:java.util.Set getRemovedClasses():384:384 -> b
com.android.tools.r8.shaking.TreePruner$1 -> com.android.tools.r8.internal.bZ:
    com.android.tools.r8.shaking.TreePruner this$0 -> a
    1:1:void <init>(com.android.tools.r8.shaking.TreePruner):401:401 -> <init>
    1:1:void fixup(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.ir.optimize.info.MutableFieldOptimizationInfo):404:404 -> a
    2:2:void fixup(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.ir.optimize.info.MutableMethodOptimizationInfo):410:410 -> a
com.android.tools.r8.shaking.TreePrunerConfiguration -> com.android.tools.r8.internal.dZ:
    boolean isReachableOrReferencedField(com.android.tools.r8.shaking.AppInfoWithLiveness,com.android.tools.r8.graph.DexEncodedField) -> a
com.android.tools.r8.shaking.UnusedItemsPrinter -> com.android.tools.r8.internal.f10:
    com.android.tools.r8.shaking.UnusedItemsPrinter DONT_PRINT -> e
    com.android.tools.r8.shaking.UnusedItemsPrinter$Members currentMembers -> c
    java.util.List classes -> d
    java.util.function.Consumer consumer -> a
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexType currentType -> b
    1:19:void <clinit>():16:34 -> <clinit>
    1:1:void <init>(java.util.function.Consumer):43:43 -> <init>
    2:8:void <init>(java.util.function.Consumer):38:44 -> <init>
    1:2:void registerUnusedClass(com.android.tools.r8.graph.DexProgramClass):48:49 -> a
    3:11:void finished():76:84 -> a
    12:12:void finished():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":103,"2":104,"3":105}}
    103:103:void finished():84:84 -> a
    104:104:void finished():84:84 -> a
    105:105:void finished():84:84 -> a
    96:102:void finished():84:90 -> a
    106:106:int lambda$finished$0(com.android.tools.r8.utils.Pair,com.android.tools.r8.utils.Pair):76:76 -> a
    107:107:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    107:107:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):123 -> a
    108:109:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):124:125 -> a
    110:110:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    110:110:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):126 -> a
    111:111:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    111:111:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):127 -> a
    112:112:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):129:129 -> a
    113:113:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    113:113:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):129 -> a
    114:114:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    114:114:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):130 -> a
    115:115:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):131:131 -> a
    116:116:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    116:116:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):131 -> a
    117:117:void com.android.tools.r8.shaking.UnusedItemsPrinter.newline():98:98 -> a
    117:117:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):132 -> a
    118:118:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    118:118:void com.android.tools.r8.shaking.UnusedItemsPrinter.newline():98 -> a
    118:118:void printUnusedField(com.android.tools.r8.graph.DexEncodedField):132 -> a
    119:119:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    119:119:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):102 -> a
    120:121:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):103:104 -> a
    122:122:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    122:122:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):105 -> a
    123:123:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    123:123:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):106 -> a
    124:124:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):108:108 -> a
    125:125:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    125:125:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):108 -> a
    126:126:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    126:126:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):109 -> a
    127:127:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):110:110 -> a
    128:128:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    128:128:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):110 -> a
    129:129:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    129:129:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):111 -> a
    130:130:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):112:112 -> a
    131:131:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    131:131:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):114 -> a
    132:132:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):116:116 -> a
    133:133:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    133:133:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):116 -> a
    134:134:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    134:134:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):118 -> a
    135:135:void com.android.tools.r8.shaking.UnusedItemsPrinter.newline():98:98 -> a
    135:135:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):119 -> a
    136:136:void com.android.tools.r8.shaking.UnusedItemsPrinter.append(java.lang.String):94:94 -> a
    136:136:void com.android.tools.r8.shaking.UnusedItemsPrinter.newline():98 -> a
    136:136:void printUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):119 -> a
    1:2:void visiting(com.android.tools.r8.graph.DexProgramClass):54:55 -> b
    3:3:void visited():60:60 -> b
    4:4:boolean com.android.tools.r8.shaking.UnusedItemsPrinter$Members.hasMembers():23:23 -> b
    4:4:void visited():60 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.shaking.UnusedItemsPrinter$Members.hasMembers():23:23 -> b
    5:5:void visited():60 -> b
    6:9:void visited():61:64 -> b
    10:10:void registerUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod):68:68 -> b
    11:11:void registerUnusedField(com.android.tools.r8.graph.DexEncodedField):72:72 -> b
com.android.tools.r8.shaking.UnusedItemsPrinter$Members -> com.android.tools.r8.internal.d10:
    java.util.List methods -> b
    java.util.List fields -> a
    1:3:void <init>():18:20 -> <init>
    4:4:void <init>(com.android.tools.r8.shaking.UnusedItemsPrinter$1):18:18 -> <init>
    1:1:int lambda$sort$0(com.android.tools.r8.graph.DexEncodedField,com.android.tools.r8.graph.DexEncodedField):27:27 -> a
    2:3:void sort():27:28 -> a
    4:4:int lambda$sort$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):28:28 -> a
com.android.tools.r8.shaking.UnusedItemsPrinter$NopPrinter -> com.android.tools.r8.internal.e10:
    1:1:void <init>():139:139 -> <init>
    void finished() -> a
    void registerUnusedClass(com.android.tools.r8.graph.DexProgramClass) -> a
    void registerUnusedField(com.android.tools.r8.graph.DexEncodedField) -> b
    void registerUnusedMethod(com.android.tools.r8.graph.DexEncodedMethod) -> b
    void visited() -> b
    void visiting(com.android.tools.r8.graph.DexProgramClass) -> b
com.android.tools.r8.shaking.VerticalClassMerger -> com.android.tools.r8.internal.R10:
    com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> r
    com.android.tools.r8.shaking.AppInfoWithLiveness appInfo -> b
    java.util.List synthesizedBridges -> q
    com.android.tools.r8.graph.AppView appView -> c
    com.android.tools.r8.utils.InternalOptions options -> d
    com.android.tools.r8.ir.optimize.info.OptimizationFeedback feedback -> k
    java.util.Collection invokes -> i
    com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder lensBuilder -> p
    boolean $assertionsDisabled -> s
    java.util.concurrent.ExecutorService executorService -> f
    com.android.tools.r8.utils.Timing timing -> h
    com.android.tools.r8.graph.DexApplication application -> a
    com.android.tools.r8.graph.SubtypingInfo subtypingInfo -> e
    com.android.tools.r8.ir.optimize.MethodPoolCollection methodPoolCollection -> g
    com.android.tools.r8.androidapi.AndroidApiLevelCompute apiLevelCompute -> j
    java.util.Set pinnedTypes -> o
    java.util.Set mergeCandidates -> l
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap mergedClasses -> m
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap mergedInterfaces -> n
    1:1:void <clinit>():120:120 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):258:258 -> <init>
    2:44:void <init>(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.Timing):231:273 -> <init>
    1:1:java.util.Set access$000(com.android.tools.r8.shaking.VerticalClassMerger):120:120 -> a
    2:3:void extractPinnedItems(java.lang.Iterable,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):334:335 -> a
    4:4:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    4:4:void extractPinnedItems(java.lang.Iterable,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):335 -> a
    5:20:void extractPinnedItems(java.lang.Iterable,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):336:351 -> a
    21:30:void markTypeAsPinned(com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.VerticalClassMerger$AbortReason):358:367 -> a
    31:42:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):375:386 -> a
    43:43:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    43:43:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):386 -> a
    44:47:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):386:386 -> a
    51:53:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):390:392 -> a
    54:54:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    54:54:boolean com.android.tools.r8.features.ClassToFeatureSplitMap.isInSameFeatureOrBothInSameBase(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems):204 -> a
    54:54:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):392 -> a
    55:58:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):395:398 -> a
    59:59:boolean com.android.tools.r8.graph.DexClass.isAnnotation():668:668 -> a
    59:59:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):402 -> a
    60:60:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):405:405 -> a
    61:61:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844:844 -> a
    61:61:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):406 -> a
    62:62:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    62:62:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    62:62:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):406 -> a
    63:63:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    63:63:boolean com.android.tools.r8.graph.DexClass.isSerializable(com.android.tools.r8.graph.AppView):844 -> a
    63:63:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):406 -> a
    64:64:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):406:406 -> a
    65:65:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    65:65:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):407 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    66:66:boolean com.android.tools.r8.graph.AppInfoWithClassHierarchy.isSerializable(com.android.tools.r8.graph.DexType):444:444 -> a
    66:66:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):407 -> a
    67:113:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):419:465 -> a
    114:115:boolean isMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Set):440:441 -> a
    116:116:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):460:460 -> a
    117:117:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):124:124 -> a
    117:117:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):461 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    118:118:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):125:125 -> a
    118:118:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):461 -> a
    119:119:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):461:461 -> a
    120:120:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.continueIf(boolean):17:17 -> a
    120:120:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.TraversalContinuation.breakIf(boolean):13 -> a
    120:120:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$1(com.android.tools.r8.graph.ProgramMethod):463 -> a
    121:146:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):476:501 -> a
    147:148:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1229:1230 -> a
    147:148:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):502 -> a
    149:149:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    149:149:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1230 -> a
    149:149:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):502 -> a
    150:151:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):503:504 -> a
    152:153:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1229:1230 -> a
    152:153:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):505 -> a
    154:154:boolean com.android.tools.r8.graph.DexEncodedMethod.isSynchronized():447:447 -> a
    154:154:boolean com.android.tools.r8.graph.DexClass.hasStaticSynchronizedMethods():1230 -> a
    154:154:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):505 -> a
    155:170:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):507:522 -> a
    171:189:boolean com.android.tools.r8.shaking.VerticalClassMerger.fieldResolutionMayChange(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):953:971 -> a
    171:189:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):528 -> a
    190:190:boolean com.android.tools.r8.shaking.VerticalClassMerger.fieldResolutionMayChange(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):970:970 -> a
    190:190:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):528 -> a
    191:199:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):529:537 -> a
    200:200:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):60:60 -> a
    200:200:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):538 -> a
    201:201:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    201:201:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):538 -> a
    202:206:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getMembersApiReferenceLevelForMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.androidapi.ComputedApiLevel):68:72 -> a
    202:206:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):57 -> a
    202:206:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):538 -> a
    207:207:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):539:539 -> a
    208:208:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):60:60 -> a
    208:208:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):540 -> a
    209:209:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):59:59 -> a
    209:209:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):540 -> a
    210:214:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getMembersApiReferenceLevelForMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.androidapi.ComputedApiLevel):68:72 -> a
    210:214:com.android.tools.r8.androidapi.ComputedApiLevel com.android.tools.r8.utils.AndroidApiLevelUtils.getApiReferenceLevelForMerging(com.android.tools.r8.graph.AppView,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.graph.DexProgramClass):57 -> a
    210:214:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):540 -> a
    215:217:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):541:543 -> a
    218:219:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):515:516 -> a
    220:221:boolean isStillMergeCandidate(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):495:496 -> a
    222:222:boolean lambda$isStillMergeCandidate$2(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType):491:491 -> a
    223:258:com.android.tools.r8.shaking.VerticalClassMergerGraphLens run():703:738 -> a
    259:259:void lambda$run$4(com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):728:728 -> a
    260:260:void lambda$run$4(com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):727:727 -> a
    261:261:void lambda$run$5(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.shaking.KeepMethodInfo$Joiner):746:746 -> a
    262:266:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):783:787 -> a
    267:267:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    267:267:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):788 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    268:268:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    268:268:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):789 -> a
    269:276:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):792:799 -> a
    277:277:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    277:277:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):801 -> a
    278:287:boolean verifyGraphLens(com.android.tools.r8.shaking.VerticalClassMergerGraphLens):802:811 -> a
    288:294:void lambda$methodResolutionMayChange$7(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.Box,com.android.tools.r8.graph.DexClassAndMethod):867:873 -> a
    295:295:void lambda$methodResolutionMayChange$8(com.android.tools.r8.graph.LookupLambdaTarget):878:878 -> a
    296:347:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):890:941 -> a
    348:358:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):937:947 -> a
    359:359:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):943:943 -> a
    360:360:void mergeClassIfPossible(com.android.tools.r8.graph.DexProgramClass):928:928 -> a
    361:370:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason com.android.tools.r8.shaking.VerticalClassMerger.disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1958:1967 -> a
    361:370:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):423 -> a
    371:382:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason com.android.tools.r8.shaking.VerticalClassMerger.disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1963:1974 -> a
    371:382:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):423 -> a
    383:383:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason com.android.tools.r8.shaking.VerticalClassMerger.disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1973:1973 -> a
    383:383:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):423 -> a
    384:384:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    384:384:com.android.tools.r8.shaking.VerticalClassMerger$AbortReason com.android.tools.r8.shaking.VerticalClassMerger.disallowInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexProgramClass):1978 -> a
    384:384:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):423 -> a
    385:390:com.android.tools.r8.utils.TraversalContinuation lambda$isMergeCandidate$0(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.ProgramMethod):426:431 -> a
    1:1:com.android.tools.r8.graph.SubtypingInfo access$100(com.android.tools.r8.shaking.VerticalClassMerger):120:120 -> b
    2:20:void initializeMergeCandidates(java.lang.Iterable):277:295 -> b
    21:21:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):552:552 -> b
    22:22:boolean com.android.tools.r8.graph.DexClass.isPrivate():737:737 -> b
    22:22:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):556 -> b
    23:23:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> b
    23:23:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):556 -> b
    24:24:boolean com.android.tools.r8.graph.DexClass.isPrivate():737:737 -> b
    24:24:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):557 -> b
    25:25:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> b
    25:25:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):557 -> b
    26:26:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> b
    26:26:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):566 -> b
    27:27:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):569:569 -> b
    28:28:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> b
    28:28:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):570 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    29:29:boolean com.android.tools.r8.graph.DexEncodedField.isPublic():225:225 -> b
    29:29:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):570 -> b
    30:34:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):570:574 -> b
    35:35:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> b
    35:35:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):575 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    36:36:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> b
    36:36:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):575 -> b
    37:37:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):575:575 -> b
    38:38:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> b
    38:38:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):579 -> b
    39:39:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):580:580 -> b
    40:40:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> b
    40:40:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):581 -> b
    41:52:boolean mergeMayLeadToIllegalAccesses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):589:600 -> b
    53:53:com.android.tools.r8.utils.TraversalContinuation lambda$mergeMayLeadToIllegalAccesses$3(com.android.tools.r8.graph.ProgramMethod):592:592 -> b
    54:54:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):124:124 -> b
    54:54:com.android.tools.r8.utils.TraversalContinuation lambda$mergeMayLeadToIllegalAccesses$3(com.android.tools.r8.graph.ProgramMethod):593 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    55:55:java.lang.Object com.android.tools.r8.graph.ProgramMethod.registerCodeReferencesWithResult(com.android.tools.r8.graph.UseRegistryWithResult):125:125 -> b
    55:55:com.android.tools.r8.utils.TraversalContinuation lambda$mergeMayLeadToIllegalAccesses$3(com.android.tools.r8.graph.ProgramMethod):593 -> b
    56:61:com.android.tools.r8.utils.TraversalContinuation lambda$mergeMayLeadToIllegalAccesses$3(com.android.tools.r8.graph.ProgramMethod):593:598 -> b
    62:71:void lambda$run$6(com.android.tools.r8.shaking.KeepInfoCollection$MutableKeepInfoCollection):740:749 -> b
    1:1:com.android.tools.r8.ir.optimize.MethodPoolCollection access$1000(com.android.tools.r8.shaking.VerticalClassMerger):120:120 -> c
    2:27:void initializePinnedTypes(java.lang.Iterable):305:330 -> c
    28:28:void initializePinnedTypes(java.lang.Iterable):329:329 -> c
    29:91:boolean methodResolutionMayChange(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):818:880 -> c
    1:1:com.android.tools.r8.ir.optimize.info.OptimizationFeedback access$1300(com.android.tools.r8.shaking.VerticalClassMerger):120:120 -> d
    1:1:com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap access$1400(com.android.tools.r8.shaking.VerticalClassMerger):120:120 -> e
    1:1:com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap access$1500(com.android.tools.r8.shaking.VerticalClassMerger):120:120 -> f
    1:1:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder access$1600(com.android.tools.r8.shaking.VerticalClassMerger):120:120 -> g
    1:1:com.android.tools.r8.graph.DexApplication access$1700(com.android.tools.r8.shaking.VerticalClassMerger):120:120 -> h
    1:1:java.util.Collection com.android.tools.r8.shaking.VerticalClassMerger.getInvokes():604:604 -> i
    1:1:java.util.Collection access$1800(com.android.tools.r8.shaking.VerticalClassMerger):120 -> i
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:4:java.util.Collection com.android.tools.r8.shaking.VerticalClassMerger.getInvokes():605:607 -> i
    2:4:java.util.Collection access$1800(com.android.tools.r8.shaking.VerticalClassMerger):120 -> i
    1:1:com.android.tools.r8.shaking.AppInfoWithLiveness access$200(com.android.tools.r8.shaking.VerticalClassMerger):120:120 -> j
    1:1:com.android.tools.r8.graph.AppView access$300(com.android.tools.r8.shaking.VerticalClassMerger):120:120 -> k
    1:1:java.util.concurrent.ExecutorService access$800(com.android.tools.r8.shaking.VerticalClassMerger):120:120 -> l
    1:1:com.android.tools.r8.utils.Timing access$900(com.android.tools.r8.shaking.VerticalClassMerger):120:120 -> m
com.android.tools.r8.shaking.VerticalClassMerger$AbortReason$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.I10:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    boolean com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.$assertionsDisabled -> a
    1:1:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.<clinit>():122:122 -> <clinit>
    1:1:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144:144 -> a
    2:2:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):208:208 -> a
    2:2:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    3:3:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):205:205 -> a
    3:3:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    4:4:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):202:202 -> a
    4:4:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    5:5:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):199:199 -> a
    5:5:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    6:6:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):196:196 -> a
    6:6:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    7:7:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):193:193 -> a
    7:7:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    8:8:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):190:190 -> a
    8:8:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    9:9:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):187:187 -> a
    9:9:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    10:10:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):184:184 -> a
    10:10:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    11:11:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):181:181 -> a
    11:11:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    12:12:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):178:178 -> a
    12:12:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    13:13:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):175:175 -> a
    13:13:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    14:14:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):172:172 -> a
    14:14:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    15:15:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):169:169 -> a
    15:15:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    16:16:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):166:166 -> a
    16:16:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    17:17:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):163:163 -> a
    17:17:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    18:18:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):160:160 -> a
    18:18:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    19:19:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):157:157 -> a
    19:19:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    20:20:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):154:154 -> a
    20:20:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    21:80:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):151:210 -> a
    21:80:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    81:81:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144:144 -> a
    82:82:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):208:208 -> a
    82:82:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
    83:83:java.lang.String com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.getMessageForClass(com.android.tools.r8.graph.DexClass):149:149 -> a
    83:83:void com.android.tools.r8.shaking.VerticalClassMerger$AbortReason.printLogMessageForClass(com.android.tools.r8.graph.DexClass):144 -> a
com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger -> com.android.tools.r8.internal.J10:
    com.android.tools.r8.graph.DexProgramClass target -> b
    java.util.List synthesizedBridges -> d
    com.android.tools.r8.graph.DexProgramClass source -> a
    boolean abortMerge -> e
    boolean $assertionsDisabled -> g
    com.android.tools.r8.shaking.VerticalClassMerger this$0 -> f
    com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder deferredRenamings -> c
    1:1:void <clinit>():982:982 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.shaking.VerticalClassMerger$1):982:982 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):992:992 -> <init>
    3:11:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):986:994 -> <init>
    boolean lambda$getGenericSignatureArgumentApplier$10(com.android.tools.r8.graph.DexType) -> a
    boolean lambda$getGenericSignatureArgumentApplier$9(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    1:4:boolean lambda$merge$0(java.util.Set,java.util.Map,java.util.Map,com.android.tools.r8.graph.DexMethod):1009:1012 -> a
    5:6:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1017:1018 -> a
    7:16:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1652:1661 -> a
    7:16:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1020 -> a
    17:24:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1660:1667 -> a
    17:24:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1020 -> a
    25:25:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:347 -> a
    25:25:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1667 -> a
    25:25:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1020 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    26:26:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:347 -> a
    26:26:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1667 -> a
    26:26:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1020 -> a
    27:27:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1668:1668 -> a
    27:27:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1020 -> a
    28:28:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):358:358 -> a
    28:28:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1668 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    28:28:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1020 -> a
    29:29:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1671:1671 -> a
    29:29:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1020 -> a
    30:33:void com.android.tools.r8.shaking.VerticalClassMerger.makePrivate(com.android.tools.r8.graph.DexEncodedMethod):1754:1757 -> a
    30:33:void com.android.tools.r8.shaking.VerticalClassMerger.access$1200(com.android.tools.r8.graph.DexEncodedMethod):120 -> a
    30:33:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameConstructor(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate):1672 -> a
    30:33:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1020 -> a
    34:34:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1021:1021 -> a
    35:35:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.add(java.util.Map,com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.com.google.common.base.Equivalence):1600:1600 -> a
    35:35:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1021 -> a
    36:36:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1022:1022 -> a
    37:37:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.blockRedirectionOfSuperCalls(com.android.tools.r8.graph.DexMethod):1516:1516 -> a
    37:37:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1022 -> a
    38:38:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1028:1028 -> a
    39:39:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename):1678:1678 -> a
    39:39:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1025 -> a
    40:40:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1029:1029 -> a
    41:41:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.add(java.util.Map,com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.com.google.common.base.Equivalence):1600:1600 -> a
    41:41:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1029 -> a
    42:43:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1030:1031 -> a
    44:44:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:347 -> a
    44:44:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1030 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    45:45:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:347 -> a
    45:45:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1030 -> a
    46:47:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1032:1033 -> a
    48:48:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):358:358 -> a
    48:48:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1032 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    49:49:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1034:1034 -> a
    50:50:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.blockRedirectionOfSuperCalls(com.android.tools.r8.graph.DexMethod):1516:1516 -> a
    50:50:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1034 -> a
    51:60:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1038:1047 -> a
    61:61:void lambda$merge$2(java.util.function.Predicate,java.util.Map,com.android.tools.r8.graph.ProgramMethod):1042:1042 -> a
    62:63:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$merge$1(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1045:1046 -> a
    64:66:boolean lambda$merge$3(java.util.function.Predicate,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,com.android.tools.r8.graph.DexMethod):1116:1118 -> a
    67:67:boolean lambda$merge$3(java.util.function.Predicate,com.android.tools.r8.ir.optimize.MemberPoolCollection$MemberPool,com.android.tools.r8.graph.DexMethod):1117:1117 -> a
    68:68:boolean lambda$merge$4(com.android.tools.r8.graph.DexEncodedMethod):1179:1179 -> a
    69:69:boolean com.android.tools.r8.graph.Code.isDefaultInstanceInitializerCode():0:0 -> a
    69:69:boolean lambda$merge$4(com.android.tools.r8.graph.DexEncodedMethod):1179 -> a
    70:70:void lambda$merge$5(com.android.tools.r8.graph.ProgramMethod):1180:1180 -> a
    71:71:void com.android.tools.r8.graph.DefaultInstanceInitializerCode.uncanonicalizeCode(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):76:76 -> a
    71:71:void lambda$merge$5(com.android.tools.r8.graph.ProgramMethod):1180 -> a
    72:72:boolean lambda$merge$6(java.util.Set,com.android.tools.r8.graph.DexField):1197:1197 -> a
    73:92:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1282:1301 -> a
    93:96:com.android.tools.r8.graph.GenericSignature$ClassSignature com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier.visitClassSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):70:73 -> a
    93:96:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1301 -> a
    97:136:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1303:1342 -> a
    137:138:void com.android.tools.r8.utils.CollectionUtils.forEach(java.util.function.Consumer,java.util.Collection[]):30:31 -> a
    137:138:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1342 -> a
    139:139:void rewriteGenericSignatures(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass,java.util.Collection,java.util.Collection):1356:1356 -> a
    140:147:void lambda$rewriteGenericSignatures$7(com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):1344:1351 -> a
    148:148:void lambda$rewriteGenericSignatures$7(com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedMethod):1348:1348 -> a
    149:153:void lambda$rewriteGenericSignatures$8(com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):1358:1362 -> a
    154:154:void lambda$rewriteGenericSignatures$8(com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier,com.android.tools.r8.graph.DexEncodedField):1361:1361 -> a
    155:179:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier getGenericSignatureArgumentApplier(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):1368:1392 -> a
    180:180:com.android.tools.r8.graph.GenericSignaturePartialTypeArgumentApplier getGenericSignatureArgumentApplier(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):1390:1390 -> a
    181:193:boolean restoreDebuggingState(java.util.stream.Stream):1398:1410 -> a
    194:194:boolean restoreDebuggingState(java.util.stream.Stream):1409:1409 -> a
    195:195:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder getRenamings():1415:1415 -> a
    196:224:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1424:1452 -> a
    225:225:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    225:225:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):322 -> a
    225:225:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1452 -> a
    226:226:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.DexMethod.withHolder(com.android.tools.r8.graph.DexDefinition,com.android.tools.r8.graph.DexItemFactory):322:322 -> a
    226:226:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1452 -> a
    227:265:void redirectSuperCallsInTarget(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1455:1493 -> a
    266:266:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$redirectSuperCallsInTarget$14(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1438:1438 -> a
    267:267:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$redirectSuperCallsInTarget$15(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1461:1461 -> a
    268:271:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1622:1625 -> a
    272:283:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameFieldIfNeeded(com.android.tools.r8.graph.DexEncodedField,java.util.function.Predicate):1724:1735 -> a
    272:283:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1626 -> a
    284:290:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameFieldIfNeeded(com.android.tools.r8.graph.DexEncodedField,java.util.function.Predicate):1734:1740 -> a
    284:290:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1626 -> a
    291:291:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.graph.DexEncodedField.toTypeSubstitutedField(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexField):308:308 -> a
    291:291:com.android.tools.r8.graph.DexEncodedField com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameFieldIfNeeded(com.android.tools.r8.graph.DexEncodedField,java.util.function.Predicate):1740 -> a
    291:291:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1626 -> a
    292:293:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1627:1628 -> a
    294:294:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):343:343 -> a
    294:294:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1628 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    295:295:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):343:343 -> a
    295:295:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1628 -> a
    296:301:com.android.tools.r8.graph.DexEncodedField[] mergeFields(java.util.Collection,java.util.Collection,java.util.function.Predicate,java.util.Set):1629:1634 -> a
    302:302:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1643:1643 -> a
    303:303:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1951,"2":1952,"3":1953,"4":1954,"5":1955}}
    1951:1951:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1645:1645 -> a
    1952:1952:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1645:1645 -> a
    1953:1953:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1645:1645 -> a
    1954:1954:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1645:1645 -> a
    1955:1955:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1645:1645 -> a
    1950:1950:com.android.tools.r8.graph.DexString getFreshName(java.lang.String,int,com.android.tools.r8.graph.DexType):1647:1647 -> a
    1956:1984:com.android.tools.r8.graph.DexEncodedMethod renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename,com.android.tools.r8.graph.DexProto):1688:1716 -> a
    1985:2009:com.android.tools.r8.graph.DexEncodedMethod renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename,com.android.tools.r8.graph.DexProto):1695:1719 -> a
    2010:2010:com.android.tools.r8.graph.DexEncodedMethod renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename,com.android.tools.r8.graph.DexProto):1693:1693 -> a
    1:2:void lambda$restoreDebuggingState$11(com.android.tools.r8.graph.DexEncodedMethod):1400:1401 -> b
    3:3:java.util.List getSynthesizedBridges():1419:1419 -> b
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$redirectSuperCallsInTarget$16(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):1486:1486 -> b
    1:2:boolean merge():1001:1002 -> c
    3:4:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.addAll(java.util.Collection,java.lang.Iterable,com.android.tools.r8.com.google.common.base.Equivalence):1605:1606 -> c
    3:4:boolean merge():1002 -> c
    5:16:boolean merge():1004:1015 -> c
    17:17:void com.android.tools.r8.graph.DexProgramClass.forEachProgramDirectMethod(java.util.function.Consumer):256:256 -> c
    17:17:boolean merge():1015 -> c
    18:18:void com.android.tools.r8.graph.DexProgramClass.forEachProgramDirectMethod(java.util.function.Consumer):256:256 -> c
    18:18:boolean merge():1015 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    19:19:boolean merge():1052:1052 -> c
    20:35:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1570:1585 -> c
    20:35:boolean merge():1053 -> c
    36:36:boolean merge():0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":315,"2":316,"3":317}}
    315:315:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1586:1586 -> c
    315:315:boolean merge():1053 -> c
    316:316:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1586:1586 -> c
    316:316:boolean merge():1053 -> c
    317:317:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1586:1586 -> c
    317:317:boolean merge():1053 -> c
    37:37:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1586:1586 -> c
    37:37:boolean merge():1053 -> c
    38:38:boolean merge():0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":320,"2":321,"3":322}}
    320:320:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1589:1589 -> c
    320:320:boolean merge():1053 -> c
    321:321:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1589:1589 -> c
    321:321:boolean merge():1053 -> c
    322:322:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1589:1589 -> c
    322:322:boolean merge():1053 -> c
    39:39:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1591:1591 -> c
    39:39:boolean merge():1053 -> c
    40:40:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.findMethodInTarget(com.android.tools.r8.graph.DexEncodedMethod):1586:1586 -> c
    40:40:boolean merge():1053 -> c
    41:46:boolean merge():1055:1060 -> c
    47:47:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:347 -> c
    47:47:boolean merge():1060 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    48:48:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:347 -> c
    48:48:boolean merge():1060 -> c
    49:49:boolean merge():1061:1061 -> c
    50:50:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:347 -> c
    50:50:boolean merge():1061 -> c
    51:64:boolean merge():1062:1075 -> c
    65:77:boolean merge():1074:1086 -> c
    78:78:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename):1678:1678 -> c
    78:78:boolean merge():1091 -> c
    79:79:boolean merge():1093:1093 -> c
    80:83:boolean merge():1092:1095 -> c
    84:84:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:347 -> c
    84:84:boolean merge():1094 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    85:85:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:347 -> c
    85:85:boolean merge():1094 -> c
    86:87:boolean merge():1096:1097 -> c
    88:88:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):358:358 -> c
    88:88:boolean merge():1096 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    89:89:boolean merge():1098:1098 -> c
    90:90:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.add(java.util.Map,com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.com.google.common.base.Equivalence):1600:1600 -> c
    90:90:boolean merge():1098 -> c
    91:107:boolean merge():1104:1120 -> c
    108:108:boolean merge():1113:1113 -> c
    109:113:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.makeStatic(com.android.tools.r8.graph.DexEncodedMethod):1744:1748 -> c
    109:113:boolean merge():1121 -> c
    114:114:boolean merge():1124:1124 -> c
    115:115:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.renameMethod(com.android.tools.r8.graph.DexEncodedMethod,java.util.function.Predicate,com.android.tools.r8.shaking.VerticalClassMerger$Rename):1678:1678 -> c
    115:115:boolean merge():1130 -> c
    116:116:boolean merge():1131:1131 -> c
    117:121:void com.android.tools.r8.shaking.VerticalClassMerger.makePublic(com.android.tools.r8.graph.DexEncodedMethod):1761:1765 -> c
    117:121:void com.android.tools.r8.shaking.VerticalClassMerger.access$1100(com.android.tools.r8.graph.DexEncodedMethod):120 -> c
    117:121:boolean merge():1132 -> c
    122:125:void com.android.tools.r8.shaking.VerticalClassMerger.makePrivate(com.android.tools.r8.graph.DexEncodedMethod):1754:1757 -> c
    122:125:void com.android.tools.r8.shaking.VerticalClassMerger.access$1200(com.android.tools.r8.graph.DexEncodedMethod):120 -> c
    122:125:boolean merge():1134 -> c
    126:128:boolean merge():1139:1141 -> c
    129:129:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.add(java.util.Map,com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.com.google.common.base.Equivalence):1600:1600 -> c
    129:129:boolean merge():1138 -> c
    130:131:boolean merge():1145:1146 -> c
    132:132:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.blockRedirectionOfSuperCalls(com.android.tools.r8.graph.DexMethod):1516:1516 -> c
    132:132:boolean merge():1146 -> c
    133:144:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.buildBridgeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1521:1532 -> c
    133:144:boolean merge():1154 -> c
    145:151:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.buildBridgeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1530:1536 -> c
    145:151:boolean merge():1154 -> c
    152:152:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> c
    152:152:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.buildBridgeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1536 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    152:152:boolean merge():1154 -> c
    153:179:com.android.tools.r8.graph.DexEncodedMethod com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.buildBridgeMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1537:1563 -> c
    153:179:boolean merge():1154 -> c
    180:182:boolean merge():1155:1155 -> c
    184:184:boolean merge():1157:1157 -> c
    185:185:void com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.add(java.util.Map,com.android.tools.r8.graph.DexEncodedMember,com.android.tools.r8.com.google.common.base.Equivalence):1600:1600 -> c
    185:185:boolean merge():1157 -> c
    186:186:boolean merge():1160:1160 -> c
    187:187:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:347 -> c
    187:187:boolean merge():1160 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    188:188:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:347 -> c
    188:188:boolean merge():1160 -> c
    189:193:boolean merge():1161:1161 -> c
    199:201:boolean merge():1167:1169 -> c
    202:236:boolean merge():1168:1202 -> c
    237:246:boolean merge():1200:1209 -> c
    247:254:boolean merge():1207:1214 -> c
    255:257:java.util.Set com.android.tools.r8.shaking.VerticalClassMerger$ClassMerger.mergeArrays(java.lang.Object[],java.lang.Object[]):1611:1613 -> c
    255:257:boolean merge():1214 -> c
    258:294:boolean merge():1217:1253 -> c
    295:308:com.android.tools.r8.graph.GenericSignatureContextBuilder com.android.tools.r8.graph.GenericSignatureContextBuilder.createForSingleClass(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexProgramClass):185:198 -> c
    295:308:boolean merge():1253 -> c
    309:312:boolean merge():1252:1255 -> c
    313:313:boolean com.android.tools.r8.graph.GenericSignatureCorrectnessHelper$SignatureEvaluationResult.isValid():59:59 -> c
    313:313:boolean merge():1255 -> c
    314:314:boolean merge():1252:1252 -> c
    323:324:void lambda$restoreDebuggingState$12(com.android.tools.r8.graph.DexEncodedMethod):1405:1406 -> c
    1:1:boolean lambda$restoreDebuggingState$13(com.android.tools.r8.graph.DexEncodedMethod):1410:1410 -> d
com.android.tools.r8.shaking.VerticalClassMerger$CollisionDetector -> com.android.tools.r8.internal.K10:
    java.util.Map seenPositions -> a
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap sourceProtoCache -> c
    java.util.Collection invokes -> f
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap targetProtoCache -> b
    com.android.tools.r8.graph.DexType source -> d
    boolean $assertionsDisabled -> h
    com.android.tools.r8.shaking.VerticalClassMerger this$0 -> g
    com.android.tools.r8.graph.DexType target -> e
    1:1:void <clinit>():1847:1847 -> <clinit>
    1:1:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.shaking.VerticalClassMerger$1):1847:1847 -> <init>
    2:2:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1858:1858 -> <init>
    3:15:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1852:1864 -> <init>
    1:18:void fillSeenPositions():1894:1911 -> a
    19:20:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap lambda$fillSeenPositions$0(com.android.tools.r8.graph.DexString):1901:1902 -> a
    21:52:int computePositionsFor(com.android.tools.r8.graph.DexProto,com.android.tools.r8.graph.DexType,com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2IntMap):1921:1952 -> a
    1:22:boolean mayCollide():1868:1889 -> b
com.android.tools.r8.shaking.VerticalClassMerger$IllegalAccessDetector -> com.android.tools.r8.internal.L10:
    com.android.tools.r8.graph.AppView appView -> f
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):2103:2104 -> <init>
    1:2:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2125:2126 -> a
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    3:3:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2126 -> a
    4:7:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2127:2130 -> a
    8:8:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    8:8:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2130 -> a
    9:13:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2135:2139 -> a
    14:14:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    14:14:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2139 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    15:15:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2139 -> a
    16:16:boolean checkMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.OptionalBool):2140:2140 -> a
    17:18:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):2173:2174 -> a
    19:19:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    19:19:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):2174 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):2175:2175 -> a
    21:21:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):2206:2206 -> a
    22:22:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> a
    22:22:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):2206 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    23:23:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):2206:2206 -> a
    1:1:void registerInitClass(com.android.tools.r8.graph.DexType):2161:2161 -> b
    2:3:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):2187:2188 -> b
    4:4:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> b
    4:4:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):2188 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):2189:2189 -> b
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):2201:2201 -> c
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> c
    2:2:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):2201 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):2201:2201 -> c
    4:4:void registerInstanceOf(com.android.tools.r8.graph.DexType):2231:2231 -> c
    1:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):2180:2181 -> d
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> d
    3:3:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):2181 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):2182:2182 -> d
    5:5:void registerNewInstance(com.android.tools.r8.graph.DexType):2211:2211 -> d
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):2216:2216 -> e
    2:2:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> e
    2:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):2216 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):2216:2216 -> e
    1:2:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):2194:2195 -> f
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> f
    3:3:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):2195 -> f
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):2196:2196 -> f
    5:5:void registerTypeReference(com.android.tools.r8.graph.DexType):2226:2226 -> f
    1:1:boolean checkTypeReference(com.android.tools.r8.graph.DexType):2148:2148 -> g
    2:2:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> g
    2:2:boolean checkTypeReference(com.android.tools.r8.graph.DexType):2148 -> g
    3:6:boolean checkTypeReference(com.android.tools.r8.graph.DexType):2149:2152 -> g
    7:8:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):2166:2167 -> g
    9:9:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> g
    9:9:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):2167 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):2168:2168 -> g
    11:11:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):2221:2221 -> g
    12:12:com.android.tools.r8.graph.DexField com.android.tools.r8.graph.GraphLens.lookupField(com.android.tools.r8.graph.DexField):468:468 -> g
    12:12:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):2221 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):2221:2221 -> g
    1:2:boolean checkFieldReference(com.android.tools.r8.graph.DexField):2108:2109 -> i
    3:3:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> i
    3:3:boolean checkFieldReference(com.android.tools.r8.graph.DexField):2109 -> i
    4:11:boolean checkFieldReference(com.android.tools.r8.graph.DexField):2110:2117 -> i
com.android.tools.r8.shaking.VerticalClassMerger$InvokeSpecialToDefaultLibraryMethodUseRegistry -> com.android.tools.r8.internal.M10:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():2235:2235 -> <clinit>
    1:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ProgramMethod):2240:2241 -> <init>
    void registerInstanceFieldRead(com.android.tools.r8.graph.DexField) -> a
    void registerInvokeDirect(com.android.tools.r8.graph.DexMethod) -> a
    void registerInitClass(com.android.tools.r8.graph.DexType) -> b
    void registerInvokeInterface(com.android.tools.r8.graph.DexMethod) -> b
    void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField) -> c
    1:8:void registerInvokeSpecial(com.android.tools.r8.graph.DexMethod):2246:2253 -> c
    void registerInvokeStatic(com.android.tools.r8.graph.DexMethod) -> d
    void registerStaticFieldRead(com.android.tools.r8.graph.DexField) -> e
    void registerInvokeSuper(com.android.tools.r8.graph.DexMethod) -> f
    void registerTypeReference(com.android.tools.r8.graph.DexType) -> f
    void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod) -> g
    void registerStaticFieldWrite(com.android.tools.r8.graph.DexField) -> g
com.android.tools.r8.shaking.VerticalClassMerger$OverloadedMethodSignaturesRetriever -> com.android.tools.r8.internal.N10:
    com.android.tools.r8.com.google.common.base.Equivalence equivalence -> b
    java.util.Set mergeeCandidates -> c
    com.android.tools.r8.shaking.VerticalClassMerger this$0 -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.objects.Reference2BooleanOpenHashMap cache -> a
    1:1:void <init>(com.android.tools.r8.shaking.VerticalClassMerger):618:618 -> <init>
    2:10:void <init>(com.android.tools.r8.shaking.VerticalClassMerger):613:621 -> <init>
    1:35:java.util.Collection get():626:660 -> a
    36:36:com.android.tools.r8.graph.DexProto lambda$get$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexString):644:644 -> a
    37:41:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):668:672 -> a
    42:49:boolean com.android.tools.r8.shaking.VerticalClassMerger$OverloadedMethodSignaturesRetriever.typeMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexType):688:695 -> a
    42:49:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):672 -> a
    50:50:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):675:675 -> a
    51:58:boolean com.android.tools.r8.shaking.VerticalClassMerger$OverloadedMethodSignaturesRetriever.typeMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexType):688:695 -> a
    51:58:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):676 -> a
    59:59:boolean protoMayReferenceMergedSourceOrTarget(com.android.tools.r8.graph.DexProto):682:682 -> a
com.android.tools.r8.shaking.VerticalClassMerger$SingleTypeMapperGraphLens -> com.android.tools.r8.internal.O10:
    boolean $assertionsDisabled -> i
    com.android.tools.r8.shaking.VerticalClassMerger this$0 -> h
    com.android.tools.r8.graph.DexProgramClass target -> g
    com.android.tools.r8.graph.DexType source -> f
    1:1:void <clinit>():1986:1986 -> <clinit>
    1:4:void <init>(com.android.tools.r8.shaking.VerticalClassMerger,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass):1991:1994 -> <init>
    1:1:com.android.tools.r8.graph.DexType getOriginalType(com.android.tools.r8.graph.DexType):1999:1999 -> a
    2:2:com.android.tools.r8.graph.DexField getOriginalFieldSignature(com.android.tools.r8.graph.DexField):2009:2009 -> a
    3:3:com.android.tools.r8.graph.DexField getRenamedFieldSignature(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):2014:2014 -> a
    4:24:com.android.tools.r8.graph.GraphLens$MethodLookupResult lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,com.android.tools.r8.graph.GraphLens):2042:2062 -> a
    25:25:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):2069:2069 -> a
    1:1:java.lang.Iterable getOriginalTypes(com.android.tools.r8.graph.DexType):2004:2004 -> b
    2:2:com.android.tools.r8.graph.DexMethod getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):2019:2019 -> b
    3:3:com.android.tools.r8.graph.GraphLens$FieldLookupResult internalDescribeLookupField(com.android.tools.r8.graph.GraphLens$FieldLookupResult):2086:2086 -> b
    1:1:com.android.tools.r8.graph.DexField lookupField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.GraphLens):2080:2080 -> c
    1:1:com.android.tools.r8.graph.DexType internalDescribeLookupClassType(com.android.tools.r8.graph.DexType):2024:2024 -> d
    2:2:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription lookupPrototypeChangesForMethodDefinition(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):2075:2075 -> d
    1:1:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):2029:2029 -> e
    boolean isContextFreeForMethods() -> g
com.android.tools.r8.shaking.VerticalClassMerger$SynthesizedBridgeCode -> com.android.tools.r8.internal.P10:
    com.android.tools.r8.ir.code.Invoke$Type type -> g
    boolean $assertionsDisabled -> i
    com.android.tools.r8.graph.DexMethod invocationTarget -> f
    com.android.tools.r8.graph.DexMethod originalMethod -> e
    com.android.tools.r8.graph.DexMethod method -> d
    boolean isInterface -> h
    1:1:void <clinit>():2291:2291 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type,boolean):2304:2309 -> <init>
    1:2:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2330:2331 -> B0
    3:3:com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode$Builder com.android.tools.r8.ir.synthetic.ForwardMethodSourceCode.builder(com.android.tools.r8.graph.DexMethod):25:25 -> B0
    3:3:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2331 -> B0
    4:7:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2332:2335 -> B0
    8:8:boolean com.android.tools.r8.ir.code.Invoke$Type.isStatic():189:189 -> B0
    8:8:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2335 -> B0
    9:13:com.android.tools.r8.ir.synthetic.AbstractSynthesizedCode$SourceCodeProvider getSourceCodeProvider():2335:2339 -> B0
    1:1:com.android.tools.r8.graph.DexMethod access$1900(com.android.tools.r8.shaking.VerticalClassMerger$SynthesizedBridgeCode):2291:2291 -> a
    2:3:void updateMethodSignatures(java.util.function.Function):2324:2325 -> a
    4:4:java.util.function.Consumer getRegistryCallback(com.android.tools.r8.graph.DexClassAndMethod):2344:2344 -> a
    5:17:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2345:2357 -> a
    18:18:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":2386,"2":2387,"3":2388}}
    2386:2386:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2357:2357 -> a
    2387:2387:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2357:2357 -> a
    2388:2388:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2357:2357 -> a
    2375:2375:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2357:2357 -> a
    2376:2376:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2351:2351 -> a
    2377:2377:void lambda$getRegistryCallback$0(com.android.tools.r8.graph.UseRegistry):2348:2348 -> a
    1:1:com.android.tools.r8.graph.DexMethod access$500(com.android.tools.r8.shaking.VerticalClassMerger$SynthesizedBridgeCode):2291:2291 -> b
com.android.tools.r8.shaking.VerticalClassMerger$VerticalClassMergerTreeFixer -> com.android.tools.r8.internal.Q10:
    com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder lensBuilder -> g
    boolean $assertionsDisabled -> j
    com.android.tools.r8.graph.AppView appView -> f
    com.android.tools.r8.graph.classmerging.VerticallyMergedClasses mergedClasses -> h
    java.util.List synthesizedBridges -> i
    1:1:void <clinit>():1768:1768 -> <clinit>
    1:6:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,java.util.List):1780:1785 -> <init>
    1:1:com.android.tools.r8.shaking.VerticalClassMergerGraphLens access$400(com.android.tools.r8.shaking.VerticalClassMerger$VerticalClassMergerTreeFixer):1768:1768 -> a
    2:2:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):1816:1816 -> a
    3:3:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1821:1821 -> a
    4:4:boolean com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.hasOriginalSignatureMappingFor(com.android.tools.r8.graph.DexField):330:330 -> a
    4:4:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1821 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:boolean com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.hasOriginalSignatureMappingFor(com.android.tools.r8.graph.DexField):330:330 -> a
    5:5:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1821 -> a
    6:6:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1822:1822 -> a
    7:7:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):343:343 -> a
    7:7:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1822 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):343:343 -> a
    8:8:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):1822 -> a
    9:10:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):1828:1829 -> a
    11:11:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):358:358 -> a
    11:11:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):1829 -> a
    12:17:com.android.tools.r8.graph.DexEncodedMethod recordMethodChange(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1836:1841 -> a
    1:3:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1790:1792 -> b
    4:4:com.android.tools.r8.graph.DexEncodedField[] com.android.tools.r8.graph.TreeFixerBase.fixupFields(java.util.List):170:170 -> b
    4:4:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1792 -> b
    5:6:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1792:1793 -> b
    7:7:com.android.tools.r8.graph.DexEncodedField[] com.android.tools.r8.graph.TreeFixerBase.fixupFields(java.util.List):170:170 -> b
    7:7:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1793 -> b
    8:15:com.android.tools.r8.shaking.VerticalClassMergerGraphLens fixupTypeReferences():1793:1800 -> b
    16:17:com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType):1807:1808 -> b
com.android.tools.r8.shaking.VerticalClassMergerGraphLens -> com.android.tools.r8.internal.U10:
    com.android.tools.r8.graph.AppView appView -> n
    java.util.Map originalMethodSignaturesForBridges -> r
    java.util.Map prototypeChanges -> s
    java.util.Map contextualVirtualToDirectMethodMaps -> p
    java.util.Set mergedMethods -> q
    com.android.tools.r8.graph.classmerging.VerticallyMergedClasses mergedClasses -> o
    boolean $assertionsDisabled -> t
    1:1:void <clinit>():57:57 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,java.util.Set,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,java.util.Map,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$1):57:57 -> <init>
    2:8:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,java.util.Set,java.util.Map,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,java.util.Map):84:90 -> <init>
    1:27:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):111:137 -> a
    28:30:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):136:138 -> a
    31:31:com.android.tools.r8.ir.code.Invoke$Type com.android.tools.r8.shaking.VerticalClassMergerGraphLens.mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):157:157 -> a
    31:31:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):138 -> a
    32:33:com.android.tools.r8.graph.GraphLens$MethodLookupResult internalDescribeLookupMethod(com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.DexMethod):138:139 -> a
    34:36:com.android.tools.r8.graph.proto.RewrittenPrototypeDescription internalDescribePrototypeChanges(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription,com.android.tools.r8.graph.DexMethod):145:145 -> a
    37:37:com.android.tools.r8.ir.code.Invoke$Type mapInvocationType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):157:157 -> a
    38:38:boolean lambda$verifyIsContextFreeForMethod$0(com.android.tools.r8.graph.DexMethod,java.util.Map):170:170 -> a
    1:4:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):167:170 -> d
    5:5:boolean verifyIsContextFreeForMethod(com.android.tools.r8.graph.DexMethod):169:169 -> d
    1:3:com.android.tools.r8.graph.DexMethod getPreviousMethodSignature(com.android.tools.r8.graph.DexMethod):151:151 -> e
    1:2:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):100:101 -> f
    3:3:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> f
    3:3:java.lang.Iterable internalGetOriginalTypes(com.android.tools.r8.graph.DexType):105 -> f
    1:1:boolean isContextFreeForMethods():162:162 -> g
com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder -> com.android.tools.r8.internal.S10:
    java.util.Map methodMap -> c
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap newMethodSignatures -> f
    boolean $assertionsDisabled -> j
    java.util.Map cache -> i
    java.util.Map contextualVirtualToDirectMethodMaps -> e
    com.android.tools.r8.utils.collections.MutableBidirectionalOneToOneMap fieldMap -> b
    java.util.Map originalMethodSignaturesForBridges -> g
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder mergedMethodsBuilder -> d
    java.util.Map prototypeChanges -> h
    1:1:void <clinit>():174:174 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory):194:194 -> <init>
    2:19:void <init>(com.android.tools.r8.graph.DexItemFactory):178:195 -> <init>
    1:9:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):199:207 -> a
    10:10:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:347 -> a
    10:10:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):205 -> a
    11:13:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):209:211 -> a
    14:14:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.markMethodAsMerged(com.android.tools.r8.graph.DexMethod):339:339 -> a
    14:14:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):210 -> a
    15:17:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):214:216 -> a
    18:26:com.android.tools.r8.graph.DexType com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.getTypeAfterClassMerging(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):309:317 -> a
    18:26:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):216 -> a
    27:57:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):216:246 -> a
    58:58:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.recordCreationOfBridgeMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):377:377 -> a
    58:58:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):244 -> a
    59:59:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder createBuilderForFixup(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):248:248 -> a
    60:60:void lambda$createBuilderForFixup$0(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):203:203 -> a
    61:66:com.android.tools.r8.graph.DexField com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.getFieldSignatureAfterClassMerging(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):276:281 -> a
    61:66:void lambda$createBuilderForFixup$0(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):203 -> a
    67:75:com.android.tools.r8.graph.DexType com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.getTypeAfterClassMerging(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):309:317 -> a
    67:75:com.android.tools.r8.graph.DexField com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.getFieldSignatureAfterClassMerging(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):282 -> a
    67:75:void lambda$createBuilderForFixup$0(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):203 -> a
    76:76:com.android.tools.r8.graph.DexField com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.getFieldSignatureAfterClassMerging(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):287:287 -> a
    76:76:void lambda$createBuilderForFixup$0(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):203 -> a
    77:77:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):343:343 -> a
    77:77:void lambda$createBuilderForFixup$0(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):202 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    78:78:void com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.map(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):343:343 -> a
    78:78:void lambda$createBuilderForFixup$0(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):202 -> a
    79:79:com.android.tools.r8.graph.GraphLens$MethodLookupResult lambda$createBuilderForFixup$1(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):227:227 -> a
    80:84:void lambda$createBuilderForFixup$2(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):234:238 -> a
    85:87:void lambda$createBuilderForFixup$3(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.proto.RewrittenPrototypeDescription):250:250 -> a
    88:97:com.android.tools.r8.shaking.VerticalClassMergerGraphLens build(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):258:267 -> a
    98:111:com.android.tools.r8.graph.DexMethod getMethodSignatureAfterClassMerging(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):292:305 -> a
    112:120:com.android.tools.r8.graph.DexType com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder.getTypeAfterClassMerging(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.classmerging.VerticallyMergedClasses):309:317 -> a
    112:120:com.android.tools.r8.graph.DexType lambda$getMethodSignatureAfterClassMerging$4(com.android.tools.r8.graph.classmerging.VerticallyMergedClasses,com.android.tools.r8.graph.DexType):300 -> a
    121:124:boolean hasMappingForSignatureInContext(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):321:324 -> a
    125:126:boolean hasOriginalSignatureMappingFor(com.android.tools.r8.graph.DexMethod):334:335 -> a
    127:136:void recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):362:371 -> a
    137:144:void recordMove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,boolean):365:372 -> a
    145:147:void mapVirtualMethodToDirectInType(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.shaking.VerticalClassMergerGraphLens$GraphLensLookupResultProvider,com.android.tools.r8.graph.DexType):382:384 -> a
    148:148:java.util.Map lambda$mapVirtualMethodToDirectInType$5(com.android.tools.r8.graph.DexType):383:383 -> a
    149:194:void merge(com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder):388:433 -> a
    195:195:void lambda$merge$7(java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):393:393 -> a
    196:196:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    196:196:void lambda$merge$7(java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):394 -> a
    197:213:void lambda$merge$7(java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):399:415 -> a
    214:219:void lambda$merge$7(java.util.Set,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):414:419 -> a
    220:220:boolean lambda$merge$6(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):394:394 -> a
    1:1:void markMethodAsMerged(com.android.tools.r8.graph.DexMethod):339:339 -> b
    2:2:com.android.tools.r8.shaking.VerticalClassMergerGraphLens$Builder map(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):347:347 -> b
    1:1:void recordCreationOfBridgeMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):377:377 -> c
    1:3:void recordMerge(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):352:354 -> d
com.android.tools.r8.shaking.VerticalClassMergerGraphLens$GraphLensLookupResultProvider -> com.android.tools.r8.internal.T10:
    com.android.tools.r8.graph.GraphLens$MethodLookupResult get(com.android.tools.r8.graph.proto.RewrittenPrototypeDescription) -> a
com.android.tools.r8.shaking.WhyAreYouKeepingConsumer -> com.android.tools.r8.internal.t20:
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():43:43 -> <clinit>
    1:1:void <init>(com.android.tools.r8.experimental.graphinfo.GraphConsumer):58:58 -> <init>
    1:2:com.android.tools.r8.experimental.graphinfo.ClassGraphNode com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getClassNode(com.android.tools.r8.references.ClassReference):62:63 -> a
    1:2:void printWhyAreYouKeeping(com.android.tools.r8.references.ClassReference,java.io.PrintStream):89 -> a
    3:3:void printWhyAreYouKeeping(com.android.tools.r8.references.ClassReference,java.io.PrintStream):90:90 -> a
    4:5:com.android.tools.r8.experimental.graphinfo.MethodGraphNode com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getMethodNode(com.android.tools.r8.references.MethodReference):71:72 -> a
    4:5:void printWhyAreYouKeeping(com.android.tools.r8.references.MethodReference,java.io.PrintStream):94 -> a
    6:6:void printWhyAreYouKeeping(com.android.tools.r8.references.MethodReference,java.io.PrintStream):95:95 -> a
    7:8:com.android.tools.r8.experimental.graphinfo.FieldGraphNode com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getFieldNode(com.android.tools.r8.references.FieldReference):80:81 -> a
    7:8:void printWhyAreYouKeeping(com.android.tools.r8.references.FieldReference,java.io.PrintStream):99 -> a
    9:9:void printWhyAreYouKeeping(com.android.tools.r8.references.FieldReference,java.io.PrintStream):100:100 -> a
    10:10:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):104:104 -> a
    11:30:java.util.List com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.findShortestPathTo(com.android.tools.r8.experimental.graphinfo.GraphNode):132:151 -> a
    11:30:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):105 -> a
    31:32:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.printNothingKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):119:120 -> a
    31:32:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):107 -> a
    33:36:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):110:113 -> a
    37:37:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":44,"2":45,"3":46}}
    44:44:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.printEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter):197:197 -> a
    44:44:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):113 -> a
    45:45:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.printEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter):197:197 -> a
    45:45:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):113 -> a
    46:46:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.printEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter):197:197 -> a
    46:46:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):113 -> a
    38:38:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.printEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter):197:197 -> a
    38:38:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):113 -> a
    39:40:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.addNodeMessage(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter):240:241 -> a
    39:40:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.printEdge(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter):198 -> a
    39:40:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):113 -> a
    41:41:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):115:115 -> a
    42:43:java.util.List com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.findShortestPathTo(com.android.tools.r8.experimental.graphinfo.GraphNode):153:154 -> a
    42:43:void printWhyAreYouKeeping(com.android.tools.r8.experimental.graphinfo.GraphNode,java.io.PrintStream):105 -> a
    47:55:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):165:173 -> a
    56:64:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getCanonicalInfo(java.util.Set):185:193 -> a
    56:64:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):173 -> a
    65:67:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):173:175 -> a
    68:68:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getCanonicalInfo(java.util.Set):192:192 -> a
    68:68:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):173 -> a
    69:70:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):177:178 -> a
    71:79:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getCanonicalInfo(java.util.Set):185:193 -> a
    71:79:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):178 -> a
    80:80:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):178:178 -> a
    81:81:com.android.tools.r8.experimental.graphinfo.GraphEdgeInfo com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.getCanonicalInfo(java.util.Set):192:192 -> a
    81:81:java.util.List getCanonicalPath(com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath,com.android.tools.r8.experimental.graphinfo.GraphNode):178 -> a
    1:3:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):202:204 -> d
    4:16:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):203:215 -> d
    17:34:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):213:230 -> d
    35:39:java.lang.String com.android.tools.r8.shaking.WhyAreYouKeepingConsumer.shortPositionInfo(com.android.tools.r8.position.Position):246:250 -> d
    35:39:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):230 -> d
    40:46:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):230:236 -> d
    47:47:java.lang.String getNodeString(com.android.tools.r8.experimental.graphinfo.GraphNode):235:235 -> d
com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter -> com.android.tools.r8.internal.r20:
    java.io.PrintStream output -> a
    int indentation -> b
    1:1:void <init>(java.io.PrintStream):257:257 -> <init>
    2:5:void <init>(java.io.PrintStream):255:258 -> <init>
    1:2:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter.indent():268:269 -> a
    1:2:void addMessage(java.lang.String):280 -> a
    3:4:void addMessage(java.lang.String):281:282 -> a
    5:5:void endItem():286:286 -> a
    1:2:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter.indent():268:269 -> b
    1:2:void addReason(java.lang.String):274 -> b
    3:4:void addReason(java.lang.String):275:276 -> b
    1:1:void startItem(java.lang.String):262:262 -> c
    2:3:void com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$Formatter.indent():268:269 -> c
    2:3:void startItem(java.lang.String):263 -> c
    4:4:void startItem(java.lang.String):264:264 -> c
com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath -> com.android.tools.r8.internal.s20:
    com.android.tools.r8.experimental.graphinfo.GraphNode node -> a
    com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath path -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():46:46 -> <clinit>
    1:4:void <init>(com.android.tools.r8.experimental.graphinfo.GraphNode,com.android.tools.r8.shaking.WhyAreYouKeepingConsumer$GraphPath):50:53 -> <init>
com.android.tools.r8.shaking.WhyAreYouNotInliningRule -> com.android.tools.r8.shaking.H2:
    int $r8$clinit -> r
    1:1:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List,com.android.tools.r8.shaking.WhyAreYouNotInliningRule$1):10:10 -> <init>
    2:2:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.String,java.util.List,com.android.tools.r8.shaking.ProguardAccessFlags,com.android.tools.r8.shaking.ProguardAccessFlags,boolean,com.android.tools.r8.shaking.ProguardClassType,com.android.tools.r8.shaking.ProguardClassNameList,java.util.List,com.android.tools.r8.shaking.ProguardTypeMatcher,boolean,java.util.List):57:57 -> <init>
    1:1:java.lang.String typeString():79:79 -> C
com.android.tools.r8.shaking.WhyAreYouNotInliningRule$Builder -> com.android.tools.r8.shaking.G2:
    1:1:void <init>(com.android.tools.r8.shaking.WhyAreYouNotInliningRule$1):12:12 -> <init>
    2:2:void <init>():16:16 -> <init>
    com.android.tools.r8.shaking.ProguardClassSpecification$Builder self() -> e
com.android.tools.r8.synthesis.CommittedItems -> com.android.tools.r8.synthesis.a:
    com.android.tools.r8.graph.DexApplication application -> a
    boolean $assertionsDisabled -> e
    int nextSyntheticId -> b
    com.android.tools.r8.synthesis.CommittedSyntheticsCollection committed -> c
    com.android.tools.r8.com.google.common.collect.ImmutableList committedProgramTypes -> d
    1:1:void <clinit>():24:24 -> <clinit>
    1:6:void <init>(int,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,com.android.tools.r8.com.google.common.collect.ImmutableList):36:41 -> <init>
    1:1:com.android.tools.r8.graph.DexApplication getApplication():50:50 -> a
    2:2:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):61:61 -> a
    1:1:java.util.Collection getCommittedProgramTypes():54:54 -> b
    1:1:com.android.tools.r8.synthesis.SyntheticItems toSyntheticItems():46:46 -> c
com.android.tools.r8.synthesis.CommittedSyntheticsCollection -> com.android.tools.r8.synthesis.c:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.com.google.common.collect.ImmutableMap nonLegacyClasses -> b
    com.android.tools.r8.com.google.common.collect.ImmutableMap nonLegacyMethods -> a
    com.android.tools.r8.synthesis.CommittedSyntheticsCollection EMPTY -> d
    com.android.tools.r8.com.google.common.collect.ImmutableSet syntheticInputs -> c
    1:96:void <clinit>():31:126 -> <clinit>
    1:5:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableSet):140:144 -> <init>
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap access$000(com.android.tools.r8.synthesis.CommittedSyntheticsCollection):31:31 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMap access$100(java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableMap):31:31 -> a
    3:3:void lambda$merge$1(java.util.Map,com.android.tools.r8.graph.DexType,java.util.List):121:121 -> a
    4:4:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):155:155 -> a
    5:5:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":163,"2":164,"3":165}}
    163:163:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):155:155 -> a
    164:164:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):155:155 -> a
    165:165:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):155:155 -> a
    6:6:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":166,"2":167,"3":168,"4":169}}
    166:166:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):156:156 -> a
    167:167:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):156:156 -> a
    168:168:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):156:156 -> a
    169:169:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):156:156 -> a
    162:162:void lambda$verifySyntheticInputsSubsetOfSynthetics$2(java.util.Set,com.android.tools.r8.graph.DexType):156:156 -> a
    170:170:com.android.tools.r8.synthesis.CommittedSyntheticsCollection empty():162:162 -> a
    171:185:boolean containsTypeOfKind(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):180:194 -> a
    186:186:boolean containsNonLegacyType(com.android.tools.r8.graph.DexType):202:202 -> a
    187:188:void forEachNonLegacyItem(java.util.function.Consumer):228:229 -> a
    189:189:void lambda$forEachNonLegacyItem$3(java.util.function.Consumer,java.util.List):228:228 -> a
    190:191:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):233:234 -> a
    192:192:com.android.tools.r8.synthesis.CommittedSyntheticsCollection empty():162:162 -> a
    192:192:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):237 -> a
    193:193:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):237:237 -> a
    194:194:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder builder():166:166 -> a
    194:194:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):237 -> a
    195:195:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):239:239 -> a
    196:196:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticMethodReference.getHolder():33:33 -> a
    196:196:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):240 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    197:197:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticMethodReference.getHolder():33:33 -> a
    197:197:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):240 -> a
    198:205:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):240:247 -> a
    206:206:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticClassReference.getHolder():31:31 -> a
    206:206:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):248 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    207:220:com.android.tools.r8.synthesis.CommittedSyntheticsCollection pruneItems(com.android.tools.r8.graph.PrunedItems):248:261 -> a
    221:225:com.android.tools.r8.synthesis.CommittedSyntheticsCollection rewriteWithLens(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):265:269 -> a
    226:227:com.android.tools.r8.com.google.common.collect.ImmutableMap rewriteItems(java.util.Map,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder):276:277 -> a
    228:228:java.lang.Iterable com.android.tools.r8.utils.IterableUtils.flatten(java.lang.Iterable):157:157 -> a
    228:228:com.android.tools.r8.com.google.common.collect.ImmutableMap rewriteItems(java.util.Map,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder):277 -> a
    229:240:com.android.tools.r8.com.google.common.collect.ImmutableMap rewriteItems(java.util.Map,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder):277:288 -> a
    241:243:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication):292:294 -> a
    244:245:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):299:300 -> a
    246:246:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":547,"2":548,"3":549,"4":550,"5":551}}
    547:547:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):300:300 -> a
    548:548:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):300:300 -> a
    549:549:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):300:300 -> a
    550:550:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):300:300 -> a
    551:551:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):300:300 -> a
    546:546:boolean verifyTypesAreInApp(com.android.tools.r8.graph.DexApplication,java.util.Collection):300:300 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableMap access$200(com.android.tools.r8.synthesis.CommittedSyntheticsCollection):31:31 -> b
    2:5:com.android.tools.r8.com.google.common.collect.ImmutableMap merge(java.util.Map,com.android.tools.r8.com.google.common.collect.ImmutableMap):119:122 -> b
    6:6:com.android.tools.r8.com.google.common.collect.ImmutableMap getNonLegacyClasses():214:214 -> b
    7:8:java.lang.Iterable getNonLegacyItems(com.android.tools.r8.graph.DexType):218:219 -> b
    9:9:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableMap.getOrDefault(java.lang.Object,java.lang.Object):713:713 -> b
    9:9:java.lang.Iterable getNonLegacyItems(com.android.tools.r8.graph.DexType):219 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:11:java.lang.Iterable getNonLegacyItems(com.android.tools.r8.graph.DexType):219:220 -> b
    12:12:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableMap.getOrDefault(java.lang.Object,java.lang.Object):713:713 -> b
    12:12:java.lang.Iterable getNonLegacyItems(com.android.tools.r8.graph.DexType):220 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:java.lang.Iterable getNonLegacyItems(com.android.tools.r8.graph.DexType):220:220 -> b
    14:14:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> b
    14:14:java.lang.Iterable getNonLegacyItems(com.android.tools.r8.graph.DexType):218 -> b
    15:15:void lambda$forEachNonLegacyItem$4(java.util.function.Consumer,java.util.List):229:229 -> b
    1:1:java.util.List lambda$merge$0(com.android.tools.r8.graph.DexType):121:121 -> c
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableMap getNonLegacyMethods():210:210 -> c
    1:2:boolean isEmpty():170:171 -> d
    3:3:java.util.List lambda$rewriteItems$5(com.android.tools.r8.graph.DexType):281:281 -> d
    1:5:boolean verifySyntheticInputsSubsetOfSynthetics():149:153 -> e
com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder -> com.android.tools.r8.synthesis.b:
    java.util.Map newNonLegacyClasses -> b
    java.util.Map newNonLegacyMethods -> c
    com.android.tools.r8.synthesis.CommittedSyntheticsCollection parent -> a
    com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder newSyntheticInputs -> d
    1:1:void <init>(com.android.tools.r8.synthesis.CommittedSyntheticsCollection):39:39 -> <init>
    2:7:void <init>(com.android.tools.r8.synthesis.CommittedSyntheticsCollection):35:40 -> <init>
    1:2:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addItem(com.android.tools.r8.synthesis.SyntheticDefinition):44:45 -> a
    3:3:com.android.tools.r8.synthesis.SyntheticProgramClassReference com.android.tools.r8.synthesis.SyntheticProgramClassDefinition.toReference():46:46 -> a
    3:3:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51 -> a
    4:4:com.android.tools.r8.synthesis.SyntheticProgramClassReference com.android.tools.r8.synthesis.SyntheticProgramClassDefinition.toReference():46:46 -> a
    4:4:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:5:com.android.tools.r8.synthesis.SyntheticProgramClassReference com.android.tools.r8.synthesis.SyntheticProgramClassDefinition.toReference():46:46 -> a
    5:5:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51 -> a
    6:6:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51:51 -> a
    7:10:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassReference):55:58 -> a
    11:11:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticClassReference.getHolder():31:31 -> a
    11:11:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassReference):59 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:13:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassReference):59:60 -> a
    14:14:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodDefinition):65:65 -> a
    15:18:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodReference):69:72 -> a
    19:19:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticMethodReference.getHolder():33:33 -> a
    19:19:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodReference):73 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:com.android.tools.r8.graph.DexType com.android.tools.r8.synthesis.SyntheticMethodReference.getHolder():33:33 -> a
    20:20:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodReference):73 -> a
    21:22:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodReference):73:74 -> a
    23:26:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder addSyntheticInput(com.android.tools.r8.graph.DexType):79:82 -> a
    27:36:com.android.tools.r8.synthesis.CommittedSyntheticsCollection build():100:109 -> a
    1:1:java.util.List lambda$addNonLegacyClass$0(com.android.tools.r8.graph.DexType):59:59 -> b
    2:9:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder collectSyntheticInputs():87:94 -> b
    1:1:java.util.List lambda$addNonLegacyMethod$1(com.android.tools.r8.graph.DexType):73:73 -> c
com.android.tools.r8.synthesis.Rewritable -> com.android.tools.r8.internal.IT:
    com.android.tools.r8.synthesis.Rewritable rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens) -> a
    com.android.tools.r8.graph.DexType getHolder() -> b
com.android.tools.r8.synthesis.SynthesizingContext -> com.android.tools.r8.synthesis.d:
    com.android.tools.r8.origin.Origin inputContextOrigin -> d
    com.android.tools.r8.graph.DexType inputContextType -> c
    boolean $assertionsDisabled -> f
    com.android.tools.r8.graph.DexType synthesizingContextType -> b
    com.android.tools.r8.FeatureSplit featureSplit -> e
    1:1:void <clinit>():29:29 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.FeatureSplit):84:88 -> <init>
    1:4:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ClasspathOrLibraryClass):46:49 -> a
    5:5:com.android.tools.r8.synthesis.SynthesizingContext fromType(com.android.tools.r8.graph.DexType):57:57 -> a
    6:6:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):64:64 -> a
    7:7:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    7:7:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):65 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    8:8:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):65 -> a
    9:9:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    9:9:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):65 -> a
    10:10:com.android.tools.r8.synthesis.SynthesizingContext fromNonSyntheticInputContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.FeatureSplit):65:65 -> a
    11:13:com.android.tools.r8.synthesis.SynthesizingContext fromSyntheticInputClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):74:76 -> a
    14:14:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    14:14:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156 -> a
    14:14:com.android.tools.r8.synthesis.SynthesizingContext fromSyntheticInputClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):76 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    15:15:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    15:15:com.android.tools.r8.synthesis.SynthesizingContext fromSyntheticInputClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):76 -> a
    16:16:com.android.tools.r8.synthesis.SynthesizingContext fromSyntheticInputClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):77:77 -> a
    17:23:int compareTo(com.android.tools.r8.synthesis.SynthesizingContext):93:99 -> a
    24:24:com.android.tools.r8.FeatureSplit getFeatureSplit():111:111 -> a
    25:25:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):115:115 -> a
    26:26:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    26:26:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):115 -> a
    27:27:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):116:116 -> a
    28:28:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    28:28:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):116 -> a
    29:31:com.android.tools.r8.synthesis.SynthesizingContext rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):118:120 -> a
    32:32:void registerPrefixRewriting(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):128:128 -> a
    33:33:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    33:33:void registerPrefixRewriting(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):128 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:boolean com.android.tools.r8.utils.InternalOptions.isDesugaredLibraryCompilation():446:446 -> a
    34:34:void registerPrefixRewriting(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):128 -> a
    35:50:void registerPrefixRewriting(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):131:146 -> a
    51:51:boolean isDerivedFromMainDexList(com.android.tools.r8.shaking.MainDexInfo):159:159 -> a
    1:1:com.android.tools.r8.graph.DexType lambda$compareTo$0(com.android.tools.r8.synthesis.SynthesizingContext):98:98 -> b
    2:2:com.android.tools.r8.origin.Origin getInputContextOrigin():107:107 -> b
    1:1:com.android.tools.r8.graph.DexType getSynthesizingContextType():103:103 -> c
    1:1:int compareTo(java.lang.Object):29:29 -> compareTo
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":310,"2":311,"3":312}}
    310:310:java.lang.String toString():151:151 -> toString
    311:311:java.lang.String toString():151:151 -> toString
    312:312:java.lang.String toString():151:151 -> toString
    2:2:com.android.tools.r8.graph.DexType getSynthesizingContextType():103:103 -> toString
    2:2:java.lang.String toString():152 -> toString
    3:4:java.lang.String toString():152:153 -> toString
    5:5:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":314,"2":315,"3":316}}
    314:314:java.lang.String toString():153:153 -> toString
    315:315:java.lang.String toString():153:153 -> toString
    316:316:java.lang.String toString():153:153 -> toString
    158:158:java.lang.String toString():153:153 -> toString
    159:159:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":317,"2":318,"3":319}}
    317:317:java.lang.String toString():153:153 -> toString
    318:318:java.lang.String toString():153:153 -> toString
    319:319:java.lang.String toString():153:153 -> toString
com.android.tools.r8.synthesis.SyntheticClassBuilder -> com.android.tools.r8.synthesis.e:
    com.android.tools.r8.graph.GenericSignature$ClassSignature signature -> r
    java.util.List methods -> q
    java.util.List virtualMethods -> p
    com.android.tools.r8.ProgramResource$Kind originKind -> h
    com.android.tools.r8.graph.DexType superType -> i
    java.util.List directMethods -> o
    boolean useSortedMethodBacking -> l
    boolean $assertionsDisabled -> s
    com.android.tools.r8.graph.DexItemFactory factory -> a
    com.android.tools.r8.origin.Origin origin -> d
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind syntheticKind -> c
    boolean isAbstract -> e
    boolean isFinal -> f
    com.android.tools.r8.graph.DexType type -> b
    boolean isInterface -> g
    com.android.tools.r8.graph.DexString sourceFile -> k
    java.util.List instanceFields -> n
    java.util.List staticFields -> m
    com.android.tools.r8.graph.DexTypeList interfaces -> j
    1:1:void <clinit>():31:31 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):59:59 -> <init>
    2:26:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):40:64 -> <init>
    long lambda$build$0(long,com.android.tools.r8.graph.DexProgramClass) -> a
    1:2:com.android.tools.r8.synthesis.SyntheticClassBuilder setSuperType(com.android.tools.r8.graph.DexType):109:110 -> a
    3:3:com.android.tools.r8.synthesis.SyntheticClassBuilder setOriginKind(com.android.tools.r8.ProgramResource$Kind):114:114 -> a
    4:5:com.android.tools.r8.synthesis.SyntheticClassBuilder setSourceFile(com.android.tools.r8.graph.DexString):119:120 -> a
    6:7:com.android.tools.r8.synthesis.SyntheticClassBuilder setGenericSignature(com.android.tools.r8.graph.GenericSignature$ClassSignature):124:125 -> a
    8:10:com.android.tools.r8.synthesis.SyntheticClassBuilder setStaticFields(java.util.List):129:131 -> a
    11:13:com.android.tools.r8.synthesis.SyntheticClassBuilder setDirectMethods(java.lang.Iterable):141:143 -> a
    14:16:com.android.tools.r8.synthesis.SyntheticClassBuilder setVirtualMethods(java.lang.Iterable):147:149 -> a
    17:20:com.android.tools.r8.synthesis.SyntheticClassBuilder addMethod(java.util.function.Consumer):153:156 -> a
    21:65:com.android.tools.r8.graph.DexClass build():165:209 -> a
    66:91:com.android.tools.r8.graph.DexClass build():191:216 -> a
    com.android.tools.r8.graph.ClassKind getClassKind() -> b
    1:3:com.android.tools.r8.synthesis.SyntheticClassBuilder setInstanceFields(java.util.List):135:137 -> b
    1:1:com.android.tools.r8.graph.DexItemFactory getFactory():72:72 -> c
    2:5:com.android.tools.r8.synthesis.SyntheticClassBuilder setInterfaces(java.util.List):85:88 -> c
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getSyntheticKind():80:80 -> d
    1:1:com.android.tools.r8.graph.DexType getType():76:76 -> e
    com.android.tools.r8.synthesis.SyntheticClassBuilder self() -> f
    1:3:com.android.tools.r8.synthesis.SyntheticClassBuilder setAbstract():92:94 -> g
    1:3:com.android.tools.r8.synthesis.SyntheticClassBuilder setInterface():103:105 -> h
    1:2:com.android.tools.r8.synthesis.SyntheticClassBuilder setUseSortedMethodBacking(boolean):160:161 -> i
    1:1:com.android.tools.r8.synthesis.SyntheticClassBuilder unsetFinal():98:98 -> j
com.android.tools.r8.synthesis.SyntheticClassDefinition -> com.android.tools.r8.synthesis.f:
    com.android.tools.r8.graph.DexClass clazz -> d
    1:2:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexClass):23:24 -> <init>
    com.android.tools.r8.synthesis.SyntheticClasspathDefinition asClasspathDefinition() -> a
    com.android.tools.r8.synthesis.SyntheticProgramDefinition asProgramDefinition() -> c
    1:1:com.android.tools.r8.graph.DexClass getHolder():29:29 -> e
    boolean isClasspathDefinition() -> h
    1:1:boolean com.android.tools.r8.synthesis.SyntheticDefinition.isProgramDefinition():0:0 -> i
    1:1:boolean isProgramDefinition():14 -> i
com.android.tools.r8.synthesis.SyntheticClassReference -> com.android.tools.r8.synthesis.g:
    com.android.tools.r8.graph.DexType type -> d
    1:2:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType):25:26 -> <init>
    1:1:com.android.tools.r8.graph.DexType getHolder():31:31 -> b
    1:1:com.android.tools.r8.graph.DexType getReference():36:36 -> d
    1:1:com.android.tools.r8.graph.DexReference getReference():16 -> d
com.android.tools.r8.synthesis.SyntheticClasspathClassBuilder -> com.android.tools.r8.synthesis.h:
    1:2:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):21:22 -> <init>
    1:1:com.android.tools.r8.graph.ClassKind getClassKind():27:27 -> b
    com.android.tools.r8.synthesis.SyntheticClassBuilder self() -> f
com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition -> com.android.tools.r8.synthesis.i:
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexClasspathClass):23:23 -> <init>
    com.android.tools.r8.synthesis.SyntheticClasspathDefinition asClasspathDefinition() -> a
    1:1:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):16:16 -> a
    2:2:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):53:53 -> a
    2:2:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):16 -> a
    3:3:void internalComputeHash(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap):48:48 -> a
    boolean isClasspathDefinition() -> h
    1:1:boolean isValid():43:43 -> j
    2:2:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> j
    2:2:boolean isValid():43 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> j
    3:3:boolean isValid():43 -> j
    4:4:boolean isValid():43:43 -> j
    5:5:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> j
    5:5:boolean isValid():43 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> j
    6:6:boolean isValid():43 -> j
    7:7:boolean isValid():43:43 -> j
    1:1:com.android.tools.r8.synthesis.SyntheticClasspathClassReference toReference():38:38 -> k
    1:1:com.android.tools.r8.synthesis.SyntheticReference toReference():16 -> k
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":124,"2":125,"3":126}}
    124:124:java.lang.String toString():58:58 -> toString
    125:125:java.lang.String toString():58:58 -> toString
    126:126:java.lang.String toString():58:58 -> toString
    59:59:java.lang.String toString():58:58 -> toString
    60:60:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":127,"2":128,"3":129}}
    127:127:java.lang.String toString():59:59 -> toString
    128:128:java.lang.String toString():59:59 -> toString
    129:129:java.lang.String toString():59:59 -> toString
    121:123:java.lang.String toString():61:63 -> toString
com.android.tools.r8.synthesis.SyntheticClasspathClassReference -> com.android.tools.r8.synthesis.j:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType):23:23 -> <init>
    1:5:com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition lookupDefinition(java.util.function.Function):28:32 -> a
    1:5:com.android.tools.r8.synthesis.SyntheticDefinition lookupDefinition(java.util.function.Function):18 -> a
    6:6:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    6:6:com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition lookupDefinition(java.util.function.Function):32 -> a
    6:6:com.android.tools.r8.synthesis.SyntheticDefinition lookupDefinition(java.util.function.Function):18 -> a
    7:8:com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition lookupDefinition(java.util.function.Function):32:33 -> a
    7:8:com.android.tools.r8.synthesis.SyntheticDefinition lookupDefinition(java.util.function.Function):18 -> a
    9:9:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39:39 -> a
    9:9:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    10:10:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    10:10:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39 -> a
    10:10:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    11:11:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39:39 -> a
    11:11:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    12:12:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":18,"2":19,"3":20}}
    18:18:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39:39 -> a
    18:18:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    19:19:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39:39 -> a
    19:19:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    20:20:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39:39 -> a
    20:20:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    13:15:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):39:41 -> a
    13:15:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    16:16:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":22,"2":23,"3":24}}
    22:22:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):41:41 -> a
    22:22:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    23:23:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):41:41 -> a
    23:23:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    24:24:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):41:41 -> a
    24:24:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
    17:17:com.android.tools.r8.synthesis.SyntheticClasspathClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):42:42 -> a
    17:17:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):18 -> a
com.android.tools.r8.synthesis.SyntheticClasspathDefinition -> com.android.tools.r8.internal.TX:
com.android.tools.r8.synthesis.SyntheticDefinition -> com.android.tools.r8.synthesis.k:
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind kind -> a
    boolean $assertionsDisabled -> c
    com.android.tools.r8.synthesis.SynthesizingContext context -> b
    1:1:void <clinit>():20:20 -> <clinit>
    1:5:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext):28:32 -> <init>
    com.android.tools.r8.synthesis.SyntheticClasspathDefinition asClasspathDefinition() -> a
    int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap) -> a
    void internalComputeHash(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap) -> a
    com.android.tools.r8.graph.DexType lambda$compareTo$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    com.android.tools.r8.graph.DexType lambda$compareTo$1(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    1:1:com.android.tools.r8.utils.structural.HasherWrapper com.android.tools.r8.utils.structural.HasherWrapper.murmur3128Hasher():37:37 -> a
    1:1:com.android.tools.r8.com.google.common.hash.HashCode computeHash(com.android.tools.r8.utils.structural.RepresentativeMap,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):72 -> a
    2:2:com.android.tools.r8.com.google.common.hash.HashCode computeHash(com.android.tools.r8.utils.structural.RepresentativeMap,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):73:73 -> a
    3:3:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():54:54 -> a
    3:3:com.android.tools.r8.com.google.common.hash.HashCode computeHash(com.android.tools.r8.utils.structural.RepresentativeMap,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):74 -> a
    4:7:com.android.tools.r8.com.google.common.hash.HashCode computeHash(com.android.tools.r8.utils.structural.RepresentativeMap,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):74:77 -> a
    8:8:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> a
    8:8:com.android.tools.r8.com.google.common.hash.HashCode computeHash(com.android.tools.r8.utils.structural.RepresentativeMap,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):82 -> a
    9:13:com.android.tools.r8.com.google.common.hash.HashCode computeHash(com.android.tools.r8.utils.structural.RepresentativeMap,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):82:86 -> a
    14:14:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):105:105 -> a
    15:15:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():54:54 -> a
    15:15:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):105 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    16:22:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):105:111 -> a
    23:23:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():54:54 -> a
    23:23:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):112 -> a
    24:24:boolean com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.isShareable():106:106 -> a
    24:24:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):112 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    28:28:boolean com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.isShareable():110:110 -> a
    28:28:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):112 -> a
    29:29:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):113:113 -> a
    30:31:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> a
    30:31:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):116 -> a
    32:32:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):116:116 -> a
    33:33:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> a
    33:33:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):121 -> a
    34:34:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):121:121 -> a
    35:35:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> a
    35:35:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):121 -> a
    36:39:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):121:124 -> a
    40:40:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> a
    40:40:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):124 -> a
    41:41:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):124:124 -> a
    42:65:int compareTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):123:146 -> a
    com.android.tools.r8.synthesis.SyntheticProgramDefinition asProgramDefinition() -> c
    1:1:com.android.tools.r8.synthesis.SynthesizingContext getContext():58:58 -> d
    com.android.tools.r8.graph.DexClass getHolder() -> e
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():54:54 -> f
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():54:54 -> g
    1:1:java.lang.String getPrefixForExternalSyntheticType():62 -> g
    2:2:java.lang.String getPrefixForExternalSyntheticType():62:62 -> g
    3:6:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):164:167 -> g
    3:6:java.lang.String getPrefixForExternalSyntheticType():62 -> g
    7:12:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):166:171 -> g
    7:12:java.lang.String getPrefixForExternalSyntheticType():62 -> g
    13:13:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):169:169 -> g
    13:13:java.lang.String getPrefixForExternalSyntheticType():62 -> g
    boolean isClasspathDefinition() -> h
    boolean isProgramDefinition() -> i
    boolean isValid() -> j
    com.android.tools.r8.synthesis.SyntheticReference toReference() -> k
com.android.tools.r8.synthesis.SyntheticDefinitionsProvider -> com.android.tools.r8.internal.UX:
    com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function) -> a
com.android.tools.r8.synthesis.SyntheticFinalization -> com.android.tools.r8.synthesis.p:
    com.android.tools.r8.utils.InternalOptions options -> a
    com.android.tools.r8.synthesis.SyntheticItems synthetics -> b
    com.android.tools.r8.synthesis.CommittedSyntheticsCollection committed -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():63:63 -> <clinit>
    1:4:void <init>(com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.synthesis.SyntheticItems,com.android.tools.r8.synthesis.CommittedSyntheticsCollection):151:154 -> <init>
    1:1:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> a
    1:1:void lambda$buildLensAndProgram$10(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):418 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void lambda$buildLensAndProgram$10(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):418:418 -> a
    3:3:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> a
    3:3:void lambda$buildLensAndProgram$10(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):419 -> a
    4:4:void lambda$buildLensAndProgram$10(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):419:419 -> a
    5:17:void finalize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):159:171 -> a
    18:18:void finalize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):167:167 -> a
    19:29:void finalize(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):164:174 -> a
    30:45:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):213:228 -> a
    46:57:java.util.Map computeEquivalences(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder):285:296 -> a
    46:57:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):227 -> a
    58:65:java.util.Map computeEquivalences(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder):292:299 -> a
    58:65:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):227 -> a
    66:69:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):227:230 -> a
    70:81:java.util.Map computeEquivalences(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder):285:296 -> a
    70:81:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):229 -> a
    82:89:java.util.Map computeEquivalences(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder):292:299 -> a
    82:89:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):229 -> a
    90:90:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):229:229 -> a
    91:142:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):225:276 -> a
    143:143:void lambda$computeFinalSynthetics$0(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticProgramClassReference):233:233 -> a
    144:144:void lambda$computeFinalSynthetics$1(com.android.tools.r8.com.google.common.collect.ImmutableMap$Builder,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticMethodReference):235:235 -> a
    145:147:void lambda$computeFinalSynthetics$2(com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableMap,java.util.Set,com.android.tools.r8.synthesis.SyntheticReference):246:248 -> a
    148:148:void lambda$computeFinalSynthetics$4(com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,java.util.function.Consumer):258:258 -> a
    149:149:void com.android.tools.r8.synthesis.CommittedSyntheticsCollection.forEachSyntheticInput(java.util.function.Consumer):224:224 -> a
    149:149:void lambda$computeFinalSynthetics$4(com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,java.util.function.Consumer):258 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    150:150:void com.android.tools.r8.synthesis.CommittedSyntheticsCollection.forEachSyntheticInput(java.util.function.Consumer):224:224 -> a
    150:150:void lambda$computeFinalSynthetics$4(com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,java.util.function.Consumer):258 -> a
    151:151:void lambda$computeFinalSynthetics$3(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,com.android.tools.r8.graph.DexType):261:261 -> a
    152:152:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    152:152:void lambda$computeFinalSynthetics$3(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,com.android.tools.r8.graph.DexType):261 -> a
    153:153:void lambda$computeFinalSynthetics$3(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,com.android.tools.r8.graph.DexType):260:260 -> a
    154:154:boolean verifyNoNestedSynthetics(com.android.tools.r8.graph.DexItemFactory):314:314 -> a
    155:155:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):316:316 -> a
    156:156:boolean com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.allowSyntheticContext():102:102 -> a
    156:156:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):316 -> a
    157:157:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320:320 -> a
    158:161:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):164:167 -> a
    158:161:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320 -> a
    162:167:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):166:171 -> a
    162:167:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320 -> a
    168:170:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):321:323 -> a
    171:171:boolean isNotSyntheticType(com.android.tools.r8.graph.DexType):309:309 -> a
    171:171:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):324 -> a
    172:172:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):324:324 -> a
    173:173:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):169:169 -> a
    173:173:void lambda$verifyNoNestedSynthetics$5(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.synthesis.SyntheticReference):320 -> a
    174:184:boolean verifyOneSyntheticPerSyntheticClass():330:340 -> a
    185:186:void lambda$verifyOneSyntheticPerSyntheticClass$6(java.util.Set,com.android.tools.r8.graph.DexType,java.util.List):335:336 -> a
    187:312:com.android.tools.r8.graph.DexApplication buildLensAndProgram(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.Set):363:488 -> a
    313:313:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    313:313:com.android.tools.r8.graph.DexApplication buildLensAndProgram(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.Set):487 -> a
    314:339:com.android.tools.r8.graph.DexApplication buildLensAndProgram(com.android.tools.r8.graph.AppView,java.util.Map,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$Builder,java.util.function.BiConsumer,java.util.function.BiConsumer,java.util.Set):487:512 -> a
    340:341:void lambda$buildLensAndProgram$8(java.util.Set,java.util.List,com.android.tools.r8.synthesis.SyntheticMethodDefinition):402:403 -> a
    342:345:void lambda$buildLensAndProgram$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,java.util.Set,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):409:412 -> a
    346:346:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> a
    346:346:void lambda$buildLensAndProgram$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,java.util.Set,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):412 -> a
    347:351:void lambda$buildLensAndProgram$11(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,java.util.Set,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):412:416 -> a
    352:353:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):458:459 -> a
    354:354:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":824,"2":825,"3":826}}
    824:824:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):459:459 -> a
    825:825:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):459:459 -> a
    826:826:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):459:459 -> a
    814:814:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):460:460 -> a
    815:815:void ensureSourceFile(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexString):350:350 -> a
    815:815:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):461 -> a
    816:816:void com.android.tools.r8.graph.DexClass.setSourceFile(com.android.tools.r8.graph.DexString):197:197 -> a
    816:816:void ensureSourceFile(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexString):351 -> a
    816:816:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):461 -> a
    817:822:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):462:467 -> a
    823:823:void lambda$buildLensAndProgram$12(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):463:463 -> a
    827:829:void lambda$buildLensAndProgram$15(com.android.tools.r8.graph.TreeFixerBase,com.android.tools.r8.synthesis.SyntheticFinalization$Builder,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):492:494 -> a
    830:837:void lambda$buildLensAndProgram$14(com.android.tools.r8.graph.TreeFixerBase,com.android.tools.r8.synthesis.SyntheticFinalization$Builder,com.android.tools.r8.graph.ProgramMember):496:503 -> a
    838:839:boolean verifyNonRepresentativesRemovedFromApplication(com.android.tools.r8.graph.DexApplication,java.util.Map):521:522 -> a
    840:840:void lambda$verifyNonRepresentativesRemovedFromApplication$16(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.synthesis.SyntheticDefinition):524:524 -> a
    841:841:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):534:534 -> a
    842:842:boolean shouldAnnotateSynthetics(com.android.tools.r8.utils.InternalOptions):542:542 -> a
    842:842:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):534 -> a
    843:843:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535:535 -> a
    844:844:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):82:82 -> a
    844:844:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    845:845:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    845:845:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):82 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    845:845:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    846:846:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    846:846:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):82 -> a
    846:846:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    847:852:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):82:87 -> a
    847:852:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    853:858:com.android.tools.r8.graph.DexAnnotation com.android.tools.r8.graph.DexAnnotation.createAnnotationSynthesizedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):393:398 -> a
    853:858:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):87 -> a
    853:858:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    859:859:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.getWithAddedOrReplaced(com.android.tools.r8.graph.DexAnnotation):183:183 -> a
    859:859:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):86 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    859:859:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    860:873:com.android.tools.r8.graph.DexAnnotationSet com.android.tools.r8.graph.DexAnnotationSet.getWithAddedOrReplaced(com.android.tools.r8.graph.DexAnnotation):183:196 -> a
    860:873:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):86 -> a
    860:873:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    874:874:void com.android.tools.r8.synthesis.SyntheticMarker.addMarkerToClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.utils.InternalOptions):83:83 -> a
    874:874:void addSyntheticMarker(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):535 -> a
    875:930:java.util.Map computeActualEquivalences(java.util.Collection,java.util.Map,com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticFinalization$Builder):553:608 -> a
    931:931:java.util.List lambda$computeActualEquivalences$17(java.lang.String):571:571 -> a
    932:939:void lambda$computeActualEquivalences$20(boolean,java.util.Map,com.android.tools.r8.graph.AppView,java.util.Map,java.lang.String,java.util.List):578:585 -> a
    940:946:void lambda$computeActualEquivalences$20(boolean,java.util.Map,com.android.tools.r8.graph.AppView,java.util.Map,java.lang.String,java.util.List):582:588 -> a
    947:950:boolean checkGroupsAreDistinct(com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,java.util.Comparator):705:708 -> a
    947:950:void lambda$computeActualEquivalences$20(boolean,java.util.Map,com.android.tools.r8.graph.AppView,java.util.Map,java.lang.String,java.util.List):588 -> a
    951:955:void lambda$computeActualEquivalences$20(boolean,java.util.Map,com.android.tools.r8.graph.AppView,java.util.Map,java.lang.String,java.util.List):589:593 -> a
    956:969:void lambda$computeActualEquivalences$20(boolean,java.util.Map,com.android.tools.r8.graph.AppView,java.util.Map,java.lang.String,java.util.List):592:605 -> a
    970:973:boolean lambda$computeActualEquivalences$19(java.util.Map,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):601:604 -> a
    974:974:void lambda$computeActualEquivalences$22(com.android.tools.r8.synthesis.SyntheticFinalization$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):610:610 -> a
    975:975:void lambda$computeActualEquivalences$21(com.android.tools.r8.synthesis.SyntheticFinalization$Builder,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticDefinition):611:611 -> a
    976:979:int compareForFinalGroupSorting(com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):620:623 -> a
    980:982:java.util.List groupEquivalent(com.android.tools.r8.graph.AppView,java.util.List,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap):631:633 -> a
    980:982:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):558 -> a
    983:1000:boolean isPinned(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticDefinition):679:696 -> a
    983:1000:java.util.List groupEquivalent(com.android.tools.r8.graph.AppView,java.util.List,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap):634 -> a
    983:1000:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):558 -> a
    1001:1007:java.util.List groupEquivalent(com.android.tools.r8.graph.AppView,java.util.List,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap):636:642 -> a
    1001:1007:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):558 -> a
    1008:1008:boolean com.android.tools.r8.synthesis.SyntheticDefinition.isEquivalentTo(com.android.tools.r8.synthesis.SyntheticDefinition,boolean,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap):96:96 -> a
    1008:1008:java.util.List groupEquivalent(com.android.tools.r8.graph.AppView,java.util.List,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap):637 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1008:1008:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):558 -> a
    1009:1032:java.util.List groupEquivalent(com.android.tools.r8.graph.AppView,java.util.List,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap):644:667 -> a
    1009:1032:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):558 -> a
    1033:1044:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):559:570 -> a
    1045:1048:void lambda$computeActualEquivalences$18(com.android.tools.r8.graph.AppView,boolean,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.Map,java.util.List):569:572 -> a
    1049:1059:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.util.Map,com.android.tools.r8.graph.AppView,java.util.function.Predicate):718:728 -> a
    1060:1069:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.util.Map,com.android.tools.r8.graph.AppView,java.util.function.Predicate):727:736 -> a
    1070:1070:boolean isNotSyntheticType(com.android.tools.r8.graph.DexType):309:309 -> a
    1070:1070:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.util.Map,com.android.tools.r8.graph.AppView,java.util.function.Predicate):736 -> a
    1071:1071:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.util.Map,com.android.tools.r8.graph.AppView,java.util.function.Predicate):737:737 -> a
    1072:1098:java.util.Collection computePotentialEquivalences(java.util.Map,boolean,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.features.ClassToFeatureSplitMap,com.android.tools.r8.synthesis.SyntheticItems):753:779 -> a
    1099:1100:void lambda$computePotentialEquivalences$24(java.util.Set,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexType):768:769 -> a
    1101:1101:com.android.tools.r8.graph.DexType lambda$computePotentialEquivalences$25(java.util.Set,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType):772:772 -> a
    1102:1102:java.util.List lambda$computePotentialEquivalences$26(com.android.tools.r8.com.google.common.hash.HashCode):777:777 -> a
    1103:1116:java.util.Map lookupDefinitions(com.android.tools.r8.graph.AppView,com.android.tools.r8.com.google.common.collect.ImmutableMap):785:798 -> a
    1:14:void finalizeWithClassHierarchy(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):180:193 -> b
    15:15:void finalizeWithClassHierarchy(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):189:189 -> b
    16:25:void finalizeWithClassHierarchy(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):186:195 -> b
    26:27:void lambda$verifyOneSyntheticPerSyntheticClass$7(java.util.Set,com.android.tools.r8.graph.DexType,java.util.List):342:343 -> b
    28:35:void lambda$buildLensAndProgram$9(com.android.tools.r8.graph.AppView,com.android.tools.r8.shaking.MainDexInfo,java.util.Set,java.util.Set,java.util.List,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):393:400 -> b
    36:36:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):472:472 -> b
    37:37:void ensureSourceFile(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexString):350:350 -> b
    37:37:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):473 -> b
    38:38:void com.android.tools.r8.graph.DexClass.setSourceFile(com.android.tools.r8.graph.DexString):197:197 -> b
    38:38:void ensureSourceFile(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexString):351 -> b
    38:38:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):473 -> b
    39:41:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):474:476 -> b
    42:42:boolean com.android.tools.r8.graph.MethodCollection.hasDirectMethods():66:66 -> b
    42:42:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):476 -> b
    43:43:boolean com.android.tools.r8.graph.MethodCollection.hasDirectMethods():66:66 -> b
    43:43:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):476 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:52:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):476:484 -> b
    53:53:void lambda$buildLensAndProgram$13(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.DexString,java.util.function.BiConsumer,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup):479:479 -> b
    54:54:com.android.tools.r8.ir.code.NumberGenerator lambda$createExternalType$23(java.lang.String):723:723 -> b
    1:4:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):201:204 -> c
    5:5:com.android.tools.r8.graph.DexApplication com.android.tools.r8.synthesis.CommittedItems.getApplication():50:50 -> c
    5:5:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):204 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):204:204 -> c
    7:7:void com.android.tools.r8.graph.AppView.rewriteWithLensAndApplication(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.DirectMappedDexApplication):748:748 -> c
    7:7:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):204 -> c
    8:8:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):206:206 -> c
    9:9:com.android.tools.r8.graph.DexApplication com.android.tools.r8.synthesis.CommittedItems.getApplication():50:50 -> c
    9:9:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):206 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:13:void finalizeWithLiveness(com.android.tools.r8.graph.AppView,java.util.concurrent.ExecutorService):206:209 -> c
com.android.tools.r8.synthesis.SyntheticFinalization$1 -> com.android.tools.r8.synthesis.l:
    com.android.tools.r8.synthesis.SyntheticFinalization$Builder val$lensBuilder -> f
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SyntheticFinalization$Builder):368:368 -> <init>
    1:1:void recordFieldChange(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):376:376 -> a
    2:2:void recordMethodChange(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):381:381 -> a
    3:3:void recordClassChange(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):386:386 -> a
    1:1:com.android.tools.r8.graph.DexType mapClassType(com.android.tools.r8.graph.DexType):371:371 -> b
com.android.tools.r8.synthesis.SyntheticFinalization$Builder -> com.android.tools.r8.synthesis.m:
    com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap methodMap -> b
    java.util.Map typeMap -> c
    com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap fieldMap -> a
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():99:99 -> <clinit>
    1:7:void <init>():99:105 -> <init>
    8:8:void <init>(com.android.tools.r8.synthesis.SyntheticFinalization$1):99:99 -> <init>
    1:1:java.util.Map access$200(com.android.tools.r8.synthesis.SyntheticFinalization$Builder):99:99 -> a
    2:4:boolean isEmpty():108:110 -> a
    5:6:void move(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):117:118 -> a
    7:8:void move(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):122:123 -> a
    9:9:void move(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):127:127 -> a
    10:13:com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens build(com.android.tools.r8.graph.AppView):139:142 -> a
    1:1:void setRepresentative(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):131:131 -> b
    2:2:void setRepresentative(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):135:135 -> b
com.android.tools.r8.synthesis.SyntheticFinalization$EquivalenceGroup -> com.android.tools.r8.synthesis.n:
    java.util.List members -> a
    com.android.tools.r8.synthesis.SyntheticDefinition representative -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():804:804 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticDefinition,boolean):810:810 -> <init>
    2:6:void <init>(com.android.tools.r8.synthesis.SyntheticDefinition,boolean):807:811 -> <init>
    1:4:void add(com.android.tools.r8.synthesis.SyntheticDefinition,boolean):816:819 -> a
    5:6:void forEach(java.util.function.Consumer):832:833 -> a
    7:8:com.android.tools.r8.synthesis.SyntheticDefinition getFirstNonRepresentativeMember():841:842 -> a
    9:9:boolean isDerivedFromMainDexList(com.android.tools.r8.shaking.MainDexInfo):855:855 -> a
    10:10:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    10:10:boolean isDerivedFromMainDexList(com.android.tools.r8.shaking.MainDexInfo):856 -> a
    11:11:boolean lambda$isDerivedFromMainDexList$0(com.android.tools.r8.shaking.MainDexInfo,com.android.tools.r8.synthesis.SyntheticDefinition):857:857 -> a
    12:13:void replaceAndRemoveRepresentative(com.android.tools.r8.synthesis.SyntheticDefinition):861:862 -> a
    1:1:void forEachNonRepresentativeMember(java.util.function.Consumer):837:837 -> b
    2:3:com.android.tools.r8.synthesis.SyntheticDefinition getRepresentative():846:847 -> b
    1:1:boolean hasRepresentative():851:851 -> c
    1:13:void selectDeterministicRepresentative():867:879 -> d
    14:14:java.lang.Object com.android.tools.r8.utils.ListUtils.removeLast(java.util.List):241:241 -> d
    14:14:void selectDeterministicRepresentative():879 -> d
    15:16:void setRepresentative(com.android.tools.r8.synthesis.SyntheticDefinition):884:885 -> d
    15:16:void selectDeterministicRepresentative():880 -> d
    1:1:java.lang.String toString():890:890 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1795,"2":1796,"3":1797}}
    1795:1795:java.lang.String toString():891:891 -> toString
    1796:1796:java.lang.String toString():891:891 -> toString
    1797:1797:java.lang.String toString():891:891 -> toString
    893:896:java.lang.String toString():891:894 -> toString
    897:897:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1803,"2":1804,"3":1805}}
    1803:1803:java.lang.String toString():897:897 -> toString
    1804:1804:java.lang.String toString():897:897 -> toString
    1805:1805:java.lang.String toString():897:897 -> toString
    1794:1794:java.lang.String toString():897:897 -> toString
com.android.tools.r8.synthesis.SyntheticFinalization$Result -> com.android.tools.r8.internal.VX:
    com.android.tools.r8.synthesis.CommittedItems commit -> a
    com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens lens -> b
    com.android.tools.r8.shaking.MainDexInfo mainDexInfo -> d
    com.android.tools.r8.graph.PrunedItems prunedItems -> c
    1:5:void <init>(com.android.tools.r8.synthesis.CommittedItems,com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens,com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.shaking.MainDexInfo):75:79 -> <init>
com.android.tools.r8.synthesis.SyntheticFinalization$SyntheticFinalizationGraphLens -> com.android.tools.r8.synthesis.o:
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map,com.android.tools.r8.synthesis.SyntheticFinalization$1):83:83 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap,java.util.Map):90:90 -> <init>
com.android.tools.r8.synthesis.SyntheticItems -> com.android.tools.r8.synthesis.r:
    com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics pending -> c
    int nextSyntheticId -> a
    com.android.tools.r8.synthesis.CommittedSyntheticsCollection committed -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():55:55 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.CommittedItems):115:115 -> <init>
    2:2:void <init>(int,com.android.tools.r8.synthesis.CommittedSyntheticsCollection):118:118 -> <init>
    3:23:void <init>(int,com.android.tools.r8.synthesis.CommittedSyntheticsCollection):100:120 -> <init>
    1:418:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):0:417 -> a
    419:419:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:35 -> a
    419:419:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):418 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    420:421:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> a
    420:421:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):418 -> a
    422:423:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    422:423:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> a
    422:423:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):418 -> a
    424:424:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> a
    424:424:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):418 -> a
    425:425:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):419:419 -> a
    426:426:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):804:804 -> a
    426:426:com.android.tools.r8.graph.DexProgramClass addSyntheticClassWithLibraryContext(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.util.function.Consumer):419 -> a
    427:427:com.android.tools.r8.synthesis.SyntheticItems empty():104:104 -> a
    428:432:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):125:129 -> a
    433:433:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection.builder():166:166 -> a
    433:433:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):129 -> a
    434:441:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):131:138 -> a
    442:444:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):137:139 -> a
    445:445:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    445:445:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):141 -> a
    446:446:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):141:141 -> a
    447:447:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    447:447:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):145 -> a
    448:448:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):145:145 -> a
    449:463:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):142:156 -> a
    464:464:com.android.tools.r8.synthesis.SyntheticProgramClassReference com.android.tools.r8.synthesis.SyntheticProgramClassDefinition.toReference():46:46 -> a
    464:464:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder.addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51 -> a
    464:464:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):155 -> a
    465:465:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder.addNonLegacyClass(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition):51:51 -> a
    465:465:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):155 -> a
    466:480:void collectSyntheticInputs(com.android.tools.r8.graph.AppView):159:173 -> a
    481:483:void lambda$collectSyntheticInputs$0(com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder,com.android.tools.r8.synthesis.SyntheticMarker,com.android.tools.r8.graph.ProgramMethod):152:152 -> a
    484:484:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder.addNonLegacyMethod(com.android.tools.r8.synthesis.SyntheticMethodDefinition):65:65 -> a
    484:484:void lambda$collectSyntheticInputs$0(com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder,com.android.tools.r8.synthesis.SyntheticMarker,com.android.tools.r8.graph.ProgramMethod):152 -> a
    485:490:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):184:189 -> a
    491:491:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    491:491:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):189 -> a
    492:496:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):189:193 -> a
    497:497:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":696,"2":697,"3":698,"4":699,"5":700}}
    696:696:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):193:193 -> a
    697:697:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):193:193 -> a
    698:698:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):193:193 -> a
    699:699:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):193:193 -> a
    700:700:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):193:193 -> a
    690:695:com.android.tools.r8.graph.ClassResolutionResult definitionFor(com.android.tools.r8.graph.DexType,java.util.function.Function):193:198 -> a
    701:701:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):238:238 -> a
    702:702:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    702:702:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):238 -> a
    703:703:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    703:703:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    703:703:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):238 -> a
    704:705:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):238:239 -> a
    706:706:boolean isNonLegacySynthetic(com.android.tools.r8.graph.DexProgramClass):230:230 -> a
    706:706:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):243 -> a
    706:706:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):239 -> a
    707:708:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):246:247 -> a
    707:708:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):239 -> a
    709:711:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):124:126 -> a
    709:711:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):248 -> a
    709:711:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):239 -> a
    712:716:int com.android.tools.r8.com.google.common.collect.Iterators.size(java.util.Iterator):163:167 -> a
    712:716:int com.android.tools.r8.com.google.common.collect.Iterables.size(java.lang.Iterable):126 -> a
    712:716:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):248 -> a
    712:716:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):239 -> a
    717:724:boolean isSyntheticLambda(com.android.tools.r8.graph.DexProgramClass):248:255 -> a
    717:724:boolean isEligibleForClassMerging(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):239 -> a
    725:725:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):260:260 -> a
    726:726:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    726:726:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):260 -> a
    727:727:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    727:727:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    727:727:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):260 -> a
    728:728:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):260:260 -> a
    729:729:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):277:277 -> a
    729:729:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):261 -> a
    730:730:boolean com.android.tools.r8.synthesis.CommittedSyntheticsCollection.containsSyntheticInput(com.android.tools.r8.graph.DexType):206:206 -> a
    730:730:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):277 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    730:730:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):261 -> a
    731:731:boolean com.android.tools.r8.synthesis.CommittedSyntheticsCollection.containsSyntheticInput(com.android.tools.r8.graph.DexType):206:206 -> a
    731:731:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):277 -> a
    731:731:boolean isSubjectToKeepRules(com.android.tools.r8.graph.DexProgramClass):261 -> a
    732:732:boolean isSyntheticOfKind(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):273:273 -> a
    733:744:com.android.tools.r8.FeatureSplit getContextualFeatureSplit(com.android.tools.r8.graph.DexType,com.android.tools.r8.features.ClassToFeatureSplitMap):282:293 -> a
    745:748:boolean verifyAllHaveSameFeature(java.util.List,java.util.function.Function):299:302 -> a
    745:748:com.android.tools.r8.FeatureSplit getContextualFeatureSplit(com.android.tools.r8.graph.DexType,com.android.tools.r8.features.ClassToFeatureSplitMap):293 -> a
    749:749:com.android.tools.r8.FeatureSplit getContextualFeatureSplit(com.android.tools.r8.graph.DexType,com.android.tools.r8.features.ClassToFeatureSplitMap):294:294 -> a
    750:755:void forEachSynthesizingContext(com.android.tools.r8.graph.DexType,java.util.function.Consumer):308:313 -> a
    750:755:void lambda$getSynthesizingContexts$1(com.android.tools.r8.graph.DexType,java.util.function.Consumer):318 -> a
    756:757:java.util.Collection getSynthesizingContextTypes(com.android.tools.r8.graph.DexType):322:323 -> a
    758:763:void forEachSynthesizingContext(com.android.tools.r8.graph.DexType,java.util.function.Consumer):308:313 -> a
    758:763:java.util.Collection getSynthesizingContextTypes(com.android.tools.r8.graph.DexType):323 -> a
    764:764:java.util.Collection getSynthesizingContextTypes(com.android.tools.r8.graph.DexType):325:325 -> a
    765:765:void lambda$getSynthesizingContextTypes$2(com.android.tools.r8.com.google.common.collect.ImmutableList$Builder,com.android.tools.r8.synthesis.SynthesizingContext):324:324 -> a
    766:766:java.util.Set getSynthesizingContextReferences(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):331:331 -> a
    767:767:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    767:767:java.util.Set getSynthesizingContextReferences(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):331 -> a
    768:768:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    768:768:boolean isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    768:768:java.util.Set getSynthesizingContextReferences(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):331 -> a
    769:770:java.util.Set getSynthesizingContextReferences(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle):331:332 -> a
    771:771:boolean isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):344:344 -> a
    772:773:boolean isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):343:344 -> a
    774:774:java.lang.Object com.android.tools.r8.com.google.common.collect.ImmutableMap.getOrDefault(java.lang.Object,java.lang.Object):713:713 -> a
    774:774:boolean isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):344 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    775:783:boolean isSyntheticMethodThatShouldNotBeDoubleProcessed(com.android.tools.r8.graph.ProgramMethod):344:352 -> a
    784:787:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):363:366 -> a
    788:788:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable):418:418 -> a
    788:788:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):366 -> a
    789:789:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):368:368 -> a
    790:790:boolean com.android.tools.r8.com.google.common.collect.Iterables.any(java.lang.Iterable,com.android.tools.r8.com.google.common.base.Predicate):608:608 -> a
    790:790:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):368 -> a
    791:793:boolean verifySyntheticLambdaProperty(com.android.tools.r8.graph.DexProgramClass,java.util.function.Predicate,java.util.function.Predicate):369:371 -> a
    794:794:boolean lambda$verifySyntheticLambdaProperty$3(com.android.tools.r8.synthesis.SyntheticReference):368:368 -> a
    795:795:int lambda$getSynthesizingContext$4(com.android.tools.r8.synthesis.SyntheticReference,com.android.tools.r8.synthesis.SyntheticReference):397:397 -> a
    796:797:void lambda$internalEnsureFixedProgramClass$6(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticProgramClassBuilder):456:457 -> a
    798:798:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):511:511 -> a
    799:799:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):379:379 -> a
    799:799:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):511 -> a
    800:800:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):378:378 -> a
    800:800:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):511 -> a
    801:806:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):512:517 -> a
    807:814:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):489:496 -> a
    807:814:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):475 -> a
    807:814:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    815:817:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):476:478 -> a
    815:817:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    818:819:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> a
    818:819:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> a
    818:819:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    820:821:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    820:821:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> a
    820:821:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> a
    820:821:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    822:822:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> a
    822:822:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> a
    822:822:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    823:823:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):480:480 -> a
    823:823:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    824:824:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):804:804 -> a
    824:824:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):480 -> a
    824:824:com.android.tools.r8.graph.DexProgramClass createClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):516 -> a
    825:825:com.android.tools.r8.graph.DexType lambda$createClass$7(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SynthesizingContext):515:515 -> a
    826:826:com.android.tools.r8.graph.DexType lambda$createClass$7(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SynthesizingContext):514:514 -> a
    827:827:com.android.tools.r8.graph.DexType lambda$createFixedClass$8(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SynthesizingContext):528:528 -> a
    828:828:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):535:535 -> a
    829:830:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):548:549 -> a
    829:830:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):536 -> a
    831:831:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):379:379 -> a
    831:831:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):549 -> a
    831:831:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):536 -> a
    832:832:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):378:378 -> a
    832:832:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):549 -> a
    832:832:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):536 -> a
    833:833:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):550:550 -> a
    833:833:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):536 -> a
    834:836:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):537:539 -> a
    837:837:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    837:837:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):540 -> a
    838:840:com.android.tools.r8.graph.DexProgramClass getExistingFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):540:542 -> a
    841:842:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):548:549 -> a
    841:842:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):526 -> a
    843:843:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):379:379 -> a
    843:843:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):549 -> a
    843:843:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):526 -> a
    844:844:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):378:378 -> a
    844:844:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):549 -> a
    844:844:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):526 -> a
    845:848:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):527:530 -> a
    849:856:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):489:496 -> a
    849:856:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):475 -> a
    849:856:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    857:859:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):476:478 -> a
    857:859:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    860:861:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> a
    860:861:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> a
    860:861:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    862:863:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    862:863:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> a
    862:863:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> a
    862:863:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    864:864:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> a
    864:864:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> a
    864:864:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    865:865:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):480:480 -> a
    865:865:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    866:866:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):804:804 -> a
    866:866:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):480 -> a
    866:866:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):529 -> a
    867:867:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):550:550 -> a
    867:867:com.android.tools.r8.graph.DexProgramClass createFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer):526 -> a
    868:868:com.android.tools.r8.graph.DexProgramClass ensureFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):564:564 -> a
    869:870:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):548:549 -> a
    869:870:com.android.tools.r8.graph.DexProgramClass ensureFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):565 -> a
    871:871:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):379:379 -> a
    871:871:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):549 -> a
    871:871:com.android.tools.r8.graph.DexProgramClass ensureFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):565 -> a
    872:872:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):378:378 -> a
    872:872:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):549 -> a
    872:872:com.android.tools.r8.graph.DexProgramClass ensureFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):565 -> a
    873:873:com.android.tools.r8.synthesis.SynthesizingContext internalGetOuterContext(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView):550:550 -> a
    873:873:com.android.tools.r8.graph.DexProgramClass ensureFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):565 -> a
    874:874:com.android.tools.r8.graph.DexProgramClass ensureFixedClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):566:566 -> a
    875:875:com.android.tools.r8.graph.ProgramMethod ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):599:599 -> a
    876:878:com.android.tools.r8.graph.ProgramMethod ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):598:600 -> a
    879:893:com.android.tools.r8.graph.DexEncodedMethod internalEnsureMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):740:754 -> a
    879:893:com.android.tools.r8.graph.ProgramMethod ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):602 -> a
    894:894:com.android.tools.r8.graph.ProgramMethod ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):604:604 -> a
    895:895:com.android.tools.r8.graph.DexEncodedMethod internalEnsureMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):755:755 -> a
    895:895:com.android.tools.r8.graph.ProgramMethod ensureFixedClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):602 -> a
    896:900:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):630:634 -> a
    901:901:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    901:901:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):636 -> a
    902:902:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):639:639 -> a
    903:903:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637:637 -> a
    904:904:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):609:609 -> a
    904:904:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    905:905:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> a
    905:905:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):611 -> a
    905:905:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    906:906:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):611:611 -> a
    906:906:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    907:907:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):610:610 -> a
    907:907:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    908:908:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    908:908:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):613 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    908:908:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    909:909:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> a
    909:909:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):613 -> a
    909:909:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    910:911:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):613:614 -> a
    910:911:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):637 -> a
    912:919:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):489:496 -> a
    912:919:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):641 -> a
    920:924:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):642:646 -> a
    925:925:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):804:804 -> a
    925:925:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):646 -> a
    926:928:com.android.tools.r8.graph.DexClasspathClass internalEnsureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):647:649 -> a
    929:930:com.android.tools.r8.graph.DexClasspathClass ensureFixedClasspathClassFromType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):658:659 -> a
    929:930:com.android.tools.r8.graph.ClasspathMethod ensureFixedClasspathMethodFromType(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):686 -> a
    931:931:com.android.tools.r8.graph.ClasspathMethod ensureFixedClasspathMethodFromType(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):688:688 -> a
    932:933:com.android.tools.r8.graph.DexClasspathClass ensureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):671:672 -> a
    934:935:com.android.tools.r8.graph.DexClasspathClass ensureFixedClasspathClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):671:672 -> a
    934:935:com.android.tools.r8.graph.ClasspathMethod ensureFixedClasspathClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):702 -> a
    936:936:com.android.tools.r8.graph.ClasspathMethod ensureFixedClasspathClassMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ClasspathOrLibraryClass,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer,java.util.function.Consumer):704:704 -> a
    937:949:com.android.tools.r8.graph.ClasspathMethod internalEnsureFixedClasspathMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexClasspathClass):716:728 -> a
    950:964:com.android.tools.r8.graph.DexEncodedMethod internalEnsureMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):740:754 -> a
    950:964:com.android.tools.r8.graph.ClasspathMethod internalEnsureFixedClasspathMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexClasspathClass):718 -> a
    965:965:com.android.tools.r8.graph.ClasspathMethod internalEnsureFixedClasspathMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexClasspathClass):729:729 -> a
    966:966:com.android.tools.r8.graph.DexEncodedMethod internalEnsureMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClass,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):755:755 -> a
    966:966:com.android.tools.r8.graph.ClasspathMethod internalEnsureFixedClasspathMethod(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexProto,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,java.util.function.Consumer,com.android.tools.r8.graph.DexClasspathClass):718 -> a
    967:967:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    967:967:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):385 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    968:976:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):386:394 -> a
    977:978:java.lang.Object com.android.tools.r8.utils.IterableUtils.min(java.lang.Iterable,java.util.Comparator):101:102 -> a
    977:978:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):394 -> a
    979:986:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):394:401 -> a
    987:987:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.DexProgramClass.getContextType():723:723 -> a
    987:987:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156 -> a
    987:987:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):401 -> a
    988:988:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    988:988:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):401 -> a
    989:989:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.features.ClassToFeatureSplitMap):402:402 -> a
    990:990:void lambda$internalEnsureFixedClasspathMethod$10(java.util.function.Consumer,com.android.tools.r8.synthesis.SyntheticMethodBuilder):726:726 -> a
    991:992:com.android.tools.r8.graph.DexProgramClass ensureFixedClassFromType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):766:767 -> a
    993:993:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):785:785 -> a
    994:994:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):379:379 -> a
    994:994:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):788 -> a
    995:995:com.android.tools.r8.synthesis.SynthesizingContext getSynthesizingContext(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView):378:378 -> a
    995:995:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):788 -> a
    996:996:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):791:791 -> a
    997:1003:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):790:796 -> a
    1004:1004:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:35 -> a
    1004:1004:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):797 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1005:1006:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> a
    1005:1006:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):797 -> a
    1007:1008:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    1007:1008:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> a
    1007:1008:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):797 -> a
    1009:1009:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> a
    1009:1009:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):797 -> a
    1010:1011:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):798:799 -> a
    1012:1012:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):804:804 -> a
    1012:1012:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Supplier):799 -> a
    1013:1013:void lambda$createMethod$11(com.android.tools.r8.synthesis.SyntheticMethodBuilder):796:796 -> a
    1014:1014:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.DexApplication):810:810 -> a
    1015:1015:com.android.tools.r8.synthesis.CommittedItems commitPrunedItems(com.android.tools.r8.graph.PrunedItems):814:814 -> a
    1015:1015:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.DexApplication):810 -> a
    1016:1016:com.android.tools.r8.synthesis.CommittedItems commitPrunedItems(com.android.tools.r8.graph.PrunedItems):814:814 -> a
    1017:1019:com.android.tools.r8.synthesis.CommittedItems commitRewrittenWithLens(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):819:821 -> a
    1020:1020:com.android.tools.r8.synthesis.CommittedItems commitRewrittenWithLens(com.android.tools.r8.graph.DexApplication,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):820:820 -> a
    1021:1023:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):829:831 -> a
    1024:1024:com.android.tools.r8.synthesis.CommittedSyntheticsCollection$Builder com.android.tools.r8.synthesis.CommittedSyntheticsCollection.builder():166:166 -> a
    1024:1024:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):831 -> a
    1025:1037:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):835:847 -> a
    1038:1043:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):846:851 -> a
    1044:1044:boolean com.android.tools.r8.graph.DexApplication$Builder.isDirect():0:0 -> a
    1044:1044:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):851 -> a
    1045:1046:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):852:853 -> a
    1047:1047:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> a
    1047:1047:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition.getHolder():16 -> a
    1047:1047:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):853 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    1048:1048:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.synthesis.SyntheticClasspathClassDefinition.getHolder():16:16 -> a
    1048:1048:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):853 -> a
    1049:1060:com.android.tools.r8.synthesis.CommittedItems commit(com.android.tools.r8.graph.PrunedItems,com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics,com.android.tools.r8.synthesis.CommittedSyntheticsCollection,int):853:864 -> a
    1061:1061:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):870:870 -> a
    1062:1062:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    1062:1062:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):870 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1063:1063:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    1063:1063:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):870 -> a
    1064:1071:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):873:880 -> a
    1072:1072:void com.android.tools.r8.synthesis.SyntheticMarker.writeMarkerAttribute(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):33:33 -> a
    1072:1072:void writeAttributeIfIntermediateSyntheticClass(com.android.tools.r8.org.objectweb.asm.ClassWriter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):881 -> a
    1:2:com.android.tools.r8.synthesis.CommittedItems createInitialSyntheticItems(com.android.tools.r8.graph.DexApplication):109:110 -> b
    3:3:java.util.Collection getPendingSyntheticClasses():210:210 -> b
    4:4:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):277:277 -> b
    5:5:boolean com.android.tools.r8.synthesis.CommittedSyntheticsCollection.containsSyntheticInput(com.android.tools.r8.graph.DexType):206:206 -> b
    5:5:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):277 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:boolean com.android.tools.r8.synthesis.CommittedSyntheticsCollection.containsSyntheticInput(com.android.tools.r8.graph.DexType):206:206 -> b
    6:6:boolean isSyntheticInput(com.android.tools.r8.graph.DexProgramClass):277 -> b
    7:7:java.util.List getSynthesizingContexts(com.android.tools.r8.graph.DexType):318:318 -> b
    8:25:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):432:449 -> b
    26:26:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447:447 -> b
    27:27:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):609:609 -> b
    27:27:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    28:28:boolean com.android.tools.r8.graph.DexClass.isClasspathClass():0:0 -> b
    28:28:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):611 -> b
    28:28:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    29:29:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):611:611 -> b
    29:29:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    30:30:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):610:610 -> b
    30:30:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    31:31:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> b
    31:31:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):613 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    31:31:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    32:32:com.android.tools.r8.utils.Reporter com.android.tools.r8.graph.AppView.reporter():502:502 -> b
    32:32:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):613 -> b
    32:32:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    33:34:void errorOnInvalidSyntheticEnsure(com.android.tools.r8.graph.DexClass,java.lang.String,com.android.tools.r8.graph.AppView):613:614 -> b
    33:34:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):447 -> b
    35:35:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):451:451 -> b
    36:36:boolean isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> b
    36:36:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):451 -> b
    37:38:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):451:452 -> b
    39:46:void registerSyntheticTypeRewriting(com.android.tools.r8.synthesis.SynthesizingContext,java.util.function.Function,com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexType):489:496 -> b
    39:46:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):475 -> b
    39:46:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    47:49:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):476:478 -> b
    47:49:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    50:51:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():35:36 -> b
    50:51:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> b
    50:51:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    52:53:boolean com.android.tools.r8.synthesis.SyntheticMarker.isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> b
    52:53:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36 -> b
    52:53:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> b
    52:53:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    54:54:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.synthesis.SyntheticProgramClassBuilder.build():36:36 -> b
    54:54:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):479 -> b
    54:54:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    55:55:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):480:480 -> b
    55:55:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    56:56:void addPendingDefinition(com.android.tools.r8.synthesis.SyntheticDefinition):804:804 -> b
    56:56:com.android.tools.r8.graph.DexProgramClass internalCreateProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType,java.util.function.Function,com.android.tools.r8.graph.AppView):480 -> b
    56:56:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):453 -> b
    57:59:com.android.tools.r8.graph.DexProgramClass internalEnsureFixedProgramClass(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.util.function.Consumer,java.util.function.Consumer,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.AppView):463:465 -> b
    60:60:com.android.tools.r8.graph.DexType lambda$internalEnsureFixedClasspathClass$9(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SynthesizingContext):631:631 -> b
    61:62:com.android.tools.r8.graph.DexClasspathClass ensureFixedClasspathClassFromType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView,java.util.function.Consumer,java.util.function.Consumer):658:659 -> b
    63:63:com.android.tools.r8.graph.ProgramMethod createMethod(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.contexts.CompilationContext$UniqueContext,com.android.tools.r8.graph.AppView,java.util.function.Consumer):776:776 -> b
    64:66:com.android.tools.r8.synthesis.SyntheticFinalization$Result computeFinalSynthetics(com.android.tools.r8.graph.AppView):888:890 -> b
    1:1:boolean hasPendingSyntheticClasses():206:206 -> c
    2:2:boolean isCommittedSynthetic(com.android.tools.r8.graph.DexType):214:214 -> c
    3:3:boolean com.android.tools.r8.synthesis.CommittedSyntheticsCollection.containsType(com.android.tools.r8.graph.DexType):176:176 -> c
    3:3:boolean isCommittedSynthetic(com.android.tools.r8.graph.DexType):214 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:4:com.android.tools.r8.graph.DexType lambda$internalEnsureFixedProgramClass$5(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.AppView,com.android.tools.r8.synthesis.SynthesizingContext):433:433 -> c
    1:1:boolean isFinalized():202:202 -> d
    2:2:boolean isNonLegacyCommittedSynthetic(com.android.tools.r8.graph.DexType):218:218 -> d
    2:2:boolean isNonLegacySynthetic(com.android.tools.r8.graph.DexType):234 -> d
    3:3:boolean isNonLegacyPendingSynthetic(com.android.tools.r8.graph.DexType):226:226 -> d
    3:3:boolean isNonLegacySynthetic(com.android.tools.r8.graph.DexType):234 -> d
    1:1:boolean isPendingSynthetic(com.android.tools.r8.graph.DexType):222:222 -> e
com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics -> com.android.tools.r8.synthesis.q:
    java.util.concurrent.ConcurrentHashMap nonLegacyDefinitions -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():63:63 -> <clinit>
    1:4:void <init>():63:66 -> <init>
    5:5:void <init>(com.android.tools.r8.synthesis.SyntheticItems$1):63:63 -> <init>
    1:1:java.util.concurrent.ConcurrentHashMap access$100(com.android.tools.r8.synthesis.SyntheticItems$PendingSynthetics):63:63 -> a
    2:2:boolean containsType(com.android.tools.r8.graph.DexType):74:74 -> a
    3:4:boolean containsTypeOfKind(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):78:79 -> a
    5:5:boolean verifyNotRewritten(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):83:83 -> a
    6:12:java.util.Collection getAllProgramClasses():88:94 -> a
    1:1:boolean isEmpty():70:70 -> b
com.android.tools.r8.synthesis.SyntheticItems$SynthesizingContextOracle -> com.android.tools.r8.internal.YX:
    java.util.Set getSynthesizingContexts(com.android.tools.r8.graph.DexProgramClass) -> a
com.android.tools.r8.synthesis.SyntheticMarker -> com.android.tools.r8.synthesis.t:
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind kind -> a
    com.android.tools.r8.synthesis.SyntheticMarker NO_MARKER -> c
    com.android.tools.r8.synthesis.SynthesizingContext context -> b
    boolean $assertionsDisabled -> d
    1:131:void <clinit>():23:153 -> <clinit>
    1:3:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext):158:160 -> <init>
    1:3:com.android.tools.r8.synthesis.SyntheticMarker readMarkerAttribute(com.android.tools.r8.org.objectweb.asm.Attribute):37:39 -> a
    4:9:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):91:96 -> a
    10:10:com.android.tools.r8.synthesis.SynthesizingContext getContext():176:176 -> a
    10:10:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):96 -> a
    11:13:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):96:98 -> a
    14:14:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149:149 -> a
    14:14:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
    15:18:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):164:167 -> a
    15:18:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
    15:18:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
    19:24:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):166:171 -> a
    19:24:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
    19:24:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
    25:25:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):150:150 -> a
    25:25:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
    26:27:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):100:101 -> a
    28:28:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):169:169 -> a
    28:28:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
    28:28:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):98 -> a
    29:30:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):112:113 -> a
    29:30:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    31:32:boolean isDefinitelyNotSyntheticProgramClass(com.android.tools.r8.graph.DexProgramClass):143:144 -> a
    31:32:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):115 -> a
    31:32:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    33:37:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):116:120 -> a
    33:37:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    38:48:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):119:129 -> a
    38:48:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    49:50:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):167:168 -> a
    49:50:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):130 -> a
    49:50:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    51:51:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    51:51:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):169 -> a
    51:51:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):130 -> a
    51:51:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    52:53:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):170:171 -> a
    52:53:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):130 -> a
    52:53:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    54:59:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):131:136 -> a
    54:59:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    60:60:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149:149 -> a
    60:60:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
    60:60:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    61:64:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):164:167 -> a
    61:64:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
    61:64:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
    61:64:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    65:70:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):166:171 -> a
    65:70:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
    65:70:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
    65:70:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    71:71:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):150:150 -> a
    71:71:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
    71:71:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    72:73:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):137:138 -> a
    72:73:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    74:76:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):104:106 -> a
    77:77:boolean com.android.tools.r8.graph.DexAnnotation.hasSynthesizedClassAnnotation(com.android.tools.r8.graph.DexAnnotationSet,com.android.tools.r8.graph.DexItemFactory):405:405 -> a
    77:77:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):105 -> a
    78:78:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):104:104 -> a
    79:79:java.lang.String com.android.tools.r8.synthesis.SyntheticNaming.getPrefixForExternalSyntheticType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType):169:169 -> a
    79:79:com.android.tools.r8.graph.DexType getSyntheticContextType(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexItemFactory):149 -> a
    79:79:com.android.tools.r8.synthesis.SyntheticMarker internalStripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):136 -> a
    79:79:com.android.tools.r8.synthesis.SyntheticMarker stripMarkerFromClass(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.AppView):103 -> a
    80:80:com.android.tools.r8.synthesis.SynthesizingContext getContext():176:176 -> a
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():172:172 -> b
    1:1:com.android.tools.r8.org.objectweb.asm.Attribute getMarkerAttributePrototype():29:29 -> c
    1:1:boolean isSyntheticClass():168:168 -> d
    1:1:boolean isSyntheticMethods():164:164 -> e
com.android.tools.r8.synthesis.SyntheticMarker$MarkerAttribute -> com.android.tools.r8.synthesis.s:
    com.android.tools.r8.synthesis.SyntheticMarker$MarkerAttribute PROTOTYPE -> e
    boolean $assertionsDisabled -> f
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind kind -> d
    1:3:void <clinit>():44:46 -> <clinit>
    1:2:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):51:52 -> <init>
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind access$100(com.android.tools.r8.synthesis.SyntheticMarker$MarkerAttribute):44:44 -> a
    2:3:com.android.tools.r8.org.objectweb.asm.Attribute read(com.android.tools.r8.org.objectweb.asm.ClassReader,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):63:64 -> a
    4:5:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind.fromId(int):127:128 -> a
    4:5:com.android.tools.r8.org.objectweb.asm.Attribute read(com.android.tools.r8.org.objectweb.asm.ClassReader,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):65 -> a
    6:6:com.android.tools.r8.org.objectweb.asm.Attribute read(com.android.tools.r8.org.objectweb.asm.ClassReader,int,int,char[],int,com.android.tools.r8.org.objectweb.asm.Label[]):66:66 -> a
    7:9:com.android.tools.r8.org.objectweb.asm.ByteVector write(com.android.tools.r8.org.objectweb.asm.ClassWriter,byte[],int,int,int):72:74 -> a
    1:1:com.android.tools.r8.synthesis.SyntheticMarker$MarkerAttribute access$000():44:44 -> b
com.android.tools.r8.synthesis.SyntheticMethodBuilder -> com.android.tools.r8.synthesis.u:
    com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator codeGenerator -> g
    boolean checkAndroidApiLevels -> o
    boolean $assertionsDisabled -> p
    com.android.tools.r8.graph.GenericSignature$MethodTypeSignature genericSignature -> i
    com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo optimizationInfo -> n
    com.android.tools.r8.cf.CfVersion classFileVersion -> f
    com.android.tools.r8.graph.ParameterAnnotationsList parameterAnnotationsList -> k
    com.android.tools.r8.graph.DexItemFactory factory -> a
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevelForDefinition -> l
    com.android.tools.r8.androidapi.ComputedApiLevel apiLevelForCode -> m
    com.android.tools.r8.graph.DexString name -> d
    com.android.tools.r8.graph.DexProto proto -> e
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind syntheticKind -> c
    com.android.tools.r8.graph.DexAnnotationSet annotations -> j
    com.android.tools.r8.graph.DexType holderType -> b
    com.android.tools.r8.graph.MethodAccessFlags accessFlags -> h
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticClassBuilder):46:46 -> <init>
    2:19:void <init>(com.android.tools.r8.synthesis.SyntheticClassBuilder):32:49 -> <init>
    20:20:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):52:52 -> <init>
    21:44:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):32:55 -> <init>
    1:3:com.android.tools.r8.synthesis.SyntheticMethodBuilder setName(com.android.tools.r8.graph.DexString):67:69 -> a
    4:4:com.android.tools.r8.synthesis.SyntheticMethodBuilder setOptimizationInfo(com.android.tools.r8.ir.optimize.info.MethodOptimizationInfo):74:74 -> a
    5:5:com.android.tools.r8.synthesis.SyntheticMethodBuilder setProto(com.android.tools.r8.graph.DexProto):79:79 -> a
    6:6:com.android.tools.r8.synthesis.SyntheticMethodBuilder setClassFileVersion(com.android.tools.r8.cf.CfVersion):84:84 -> a
    7:7:com.android.tools.r8.synthesis.SyntheticMethodBuilder setCode(com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator):89:89 -> a
    8:8:com.android.tools.r8.synthesis.SyntheticMethodBuilder setAccessFlags(com.android.tools.r8.graph.MethodAccessFlags):94:94 -> a
    9:9:com.android.tools.r8.synthesis.SyntheticMethodBuilder setGenericSignature(com.android.tools.r8.graph.GenericSignature$MethodTypeSignature):99:99 -> a
    10:10:com.android.tools.r8.synthesis.SyntheticMethodBuilder setAnnotations(com.android.tools.r8.graph.DexAnnotationSet):104:104 -> a
    11:11:com.android.tools.r8.synthesis.SyntheticMethodBuilder setParameterAnnotationsList(com.android.tools.r8.graph.ParameterAnnotationsList):110:110 -> a
    12:12:com.android.tools.r8.synthesis.SyntheticMethodBuilder setApiLevelForCode(com.android.tools.r8.androidapi.ComputedApiLevel):120:120 -> a
    13:13:com.android.tools.r8.graph.DexEncodedMethod build():130:130 -> a
    14:14:com.android.tools.r8.graph.DexMethod getMethodSignature():175:175 -> a
    14:14:com.android.tools.r8.graph.DexEncodedMethod build():131 -> a
    15:15:com.android.tools.r8.graph.MethodAccessFlags getAccessFlags():179:179 -> a
    15:15:com.android.tools.r8.graph.DexEncodedMethod build():132 -> a
    16:16:com.android.tools.r8.graph.DexEncodedMethod build():133:133 -> a
    17:21:com.android.tools.r8.graph.Code getCodeObject(com.android.tools.r8.graph.DexMethod):183:187 -> a
    17:21:com.android.tools.r8.graph.DexEncodedMethod build():133 -> a
    22:35:com.android.tools.r8.graph.DexEncodedMethod build():135:148 -> a
    36:37:boolean isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):167:168 -> a
    36:37:boolean isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> a
    36:37:com.android.tools.r8.graph.DexEncodedMethod build():148 -> a
    38:38:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> a
    38:38:boolean isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):169 -> a
    38:38:boolean isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> a
    38:38:com.android.tools.r8.graph.DexEncodedMethod build():148 -> a
    39:40:boolean isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):170:171 -> a
    39:40:boolean isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> a
    39:40:com.android.tools.r8.graph.DexEncodedMethod build():148 -> a
    41:41:boolean isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163:163 -> a
    41:41:com.android.tools.r8.graph.DexEncodedMethod build():148 -> a
    42:42:com.android.tools.r8.graph.DexEncodedMethod build():148:148 -> a
    1:1:com.android.tools.r8.synthesis.SyntheticMethodBuilder setApiLevelForDefinition(com.android.tools.r8.androidapi.ComputedApiLevel):115:115 -> b
    2:2:com.android.tools.r8.synthesis.SyntheticMethodBuilder disableAndroidApiLevelCheck():125:125 -> b
    1:1:com.android.tools.r8.synthesis.SyntheticMethodBuilder setName(java.lang.String):63:63 -> c
com.android.tools.r8.synthesis.SyntheticMethodBuilder$SyntheticCodeGenerator -> com.android.tools.r8.internal.bY:
    com.android.tools.r8.graph.Code generate(com.android.tools.r8.graph.DexMethod) -> a
com.android.tools.r8.synthesis.SyntheticMethodDefinition -> com.android.tools.r8.synthesis.v:
    com.android.tools.r8.graph.ProgramMethod method -> d
    1:2:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.ProgramMethod):26:27 -> <init>
    1:1:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):18:18 -> a
    2:2:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticMethodDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):68:68 -> a
    2:2:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):18 -> a
    3:3:void apply(java.util.function.Consumer,java.util.function.Consumer):34:34 -> a
    4:4:void internalComputeHash(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap):63:63 -> a
    1:1:com.android.tools.r8.graph.DexProgramClass getHolder():58:58 -> b
    com.android.tools.r8.synthesis.SyntheticProgramDefinition asProgramDefinition() -> c
    1:1:com.android.tools.r8.graph.DexProgramClass getHolder():58:58 -> e
    1:1:com.android.tools.r8.graph.DexClass getHolder():18 -> e
    1:1:boolean isValid():73:73 -> j
    2:3:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):167:168 -> j
    2:3:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> j
    2:3:boolean isValid():73 -> j
    4:4:boolean com.android.tools.r8.graph.DexEncodedMethod.isPublic():443:443 -> j
    4:4:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):169 -> j
    4:4:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> j
    4:4:boolean isValid():73 -> j
    5:6:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSingleSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod):170:171 -> j
    5:6:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163 -> j
    5:6:boolean isValid():73 -> j
    7:7:boolean com.android.tools.r8.synthesis.SyntheticMethodBuilder.isValidSyntheticMethod(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):163:163 -> j
    7:7:boolean isValid():73 -> j
    1:1:com.android.tools.r8.synthesis.SyntheticReference toReference():18:18 -> k
    1:1:com.android.tools.r8.synthesis.SyntheticMethodReference toReference():53:53 -> l
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":80,"2":81,"3":82}}
    80:80:java.lang.String toString():78:78 -> toString
    81:81:java.lang.String toString():78:78 -> toString
    82:82:java.lang.String toString():78:78 -> toString
    79:79:java.lang.String toString():78:78 -> toString
com.android.tools.r8.synthesis.SyntheticMethodReference -> com.android.tools.r8.synthesis.w:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.graph.DexMethod method -> d
    1:1:void <clinit>():21:21 -> <clinit>
    1:2:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexMethod):27:28 -> <init>
    1:8:com.android.tools.r8.synthesis.SyntheticMethodDefinition lookupDefinition(java.util.function.Function):43:50 -> a
    1:8:com.android.tools.r8.synthesis.SyntheticDefinition lookupDefinition(java.util.function.Function):21 -> a
    9:9:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):57:57 -> a
    9:9:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
    10:10:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    10:10:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):57 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    10:10:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
    11:15:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):60:64 -> a
    11:15:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
    16:16:boolean com.android.tools.r8.synthesis.SyntheticNaming.verifyNotInternalSynthetic(com.android.tools.r8.graph.DexType):223:223 -> a
    16:16:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):64 -> a
    16:16:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
    17:20:com.android.tools.r8.synthesis.SyntheticMethodReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):67:70 -> a
    17:20:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):21 -> a
    1:1:com.android.tools.r8.graph.DexType getHolder():33:33 -> b
    1:1:com.android.tools.r8.graph.DexMethod getReference():38:38 -> d
    1:1:com.android.tools.r8.graph.DexReference getReference():21 -> d
com.android.tools.r8.synthesis.SyntheticNaming -> com.android.tools.r8.synthesis.x:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():15:15 -> <clinit>
    1:2:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):176:177 -> a
    3:3:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):204:204 -> a
    3:3:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):177 -> a
    4:4:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):218:218 -> a
    4:4:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):204 -> a
    4:4:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):177 -> a
    5:5:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):204:204 -> a
    5:5:com.android.tools.r8.graph.DexType createFixedType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):177 -> a
    6:10:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):182:186 -> a
    11:11:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):183:183 -> a
    12:12:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):204:204 -> a
    12:12:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):183 -> a
    13:13:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):218:218 -> a
    13:13:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):204 -> a
    13:13:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):183 -> a
    14:14:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.graph.DexType,java.lang.String,com.android.tools.r8.graph.DexItemFactory):204:204 -> a
    14:14:com.android.tools.r8.graph.DexType createInternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,java.lang.String,com.android.tools.r8.graph.DexItemFactory):183 -> a
    15:17:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):193:195 -> a
    18:18:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):218:218 -> a
    18:18:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):213 -> a
    18:18:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):194 -> a
    19:19:com.android.tools.r8.graph.DexType createType(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):213:213 -> a
    19:19:com.android.tools.r8.graph.DexType createExternalType(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String,com.android.tools.r8.graph.DexItemFactory):194 -> a
    20:20:boolean verifyNotInternalSynthetic(com.android.tools.r8.references.ClassReference):227:227 -> a
    21:21:boolean verifyNotInternalSynthetic(java.lang.String):231:231 -> a
    22:25:java.lang.String getPhaseSeparator(com.android.tools.r8.synthesis.SyntheticNaming$Phase):243:246 -> a
    26:26:com.android.tools.r8.references.ClassReference makeSyntheticReferenceForTest(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String):252:252 -> a
    27:27:java.lang.String createDescriptor(java.lang.String,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,java.lang.String):218:218 -> a
    27:27:com.android.tools.r8.references.ClassReference makeSyntheticReferenceForTest(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String):252 -> a
    28:28:com.android.tools.r8.references.ClassReference makeSyntheticReferenceForTest(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String):251:251 -> a
    29:36:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):261:268 -> a
    37:41:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):277:281 -> a
    37:41:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):268 -> a
    42:42:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":53,"2":54,"3":55}}
    53:53:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):282:282 -> a
    53:53:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):268 -> a
    54:54:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):282:282 -> a
    54:54:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):268 -> a
    55:55:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):282:282 -> a
    55:55:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):268 -> a
    43:44:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):282:283 -> a
    43:44:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):268 -> a
    45:52:boolean isInt(java.lang.String):287:294 -> a
    45:52:boolean checkMatchFrom(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,java.lang.String,int,java.lang.String,boolean):283 -> a
    45:52:boolean isSynthetic(com.android.tools.r8.references.ClassReference,com.android.tools.r8.synthesis.SyntheticNaming$Phase,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind):268 -> a
com.android.tools.r8.synthesis.SyntheticNaming$Phase -> com.android.tools.r8.synthesis.x$a:
    com.android.tools.r8.synthesis.SyntheticNaming$Phase INTERNAL -> b
    com.android.tools.r8.synthesis.SyntheticNaming$Phase EXTERNAL -> c
    1:2:void <clinit>():238:239 -> <clinit>
    1:1:void <init>(java.lang.String,int):237:237 -> <init>
com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind -> com.android.tools.r8.synthesis.x$b:
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind BACKPORT -> y
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind HORIZONTAL_INIT_TYPE_ARGUMENT_1 -> s
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind LAMBDA -> q
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_MODEL_STUB -> P
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_UNBOXING_CHECK_NOT_ZERO_METHOD -> w
    boolean $assertionsDisabled -> R
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind HORIZONTAL_INIT_TYPE_ARGUMENT_3 -> u
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind EMULATED_INTERFACE_CLASS -> k
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_CONVERSION -> J
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RECORD_TAG -> i
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind SERVICE_LOADER -> H
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind WRAPPER -> o
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_CONVERSION -> N
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RETARGET_STUB -> m
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind EMULATED_INTERFACE_MARKER_CLASS -> L
    boolean mayOverridesNonProgramType -> f
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind TO_STRING_IF_NOT_NULL -> B
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_UNBOXING_LOCAL_UTILITY_CLASS -> g
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_NSME -> F
    boolean isSingleSyntheticMethod -> d
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_IAE -> D
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind BACKPORT_WITH_FORWARDING -> z
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RECORD_HELPER -> x
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind INIT_TYPE_ARGUMENT -> r
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind VIVIFIED_WRAPPER -> p
    int id -> c
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind NON_FIXED_INIT_TYPE_ARGUMENT -> v
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind HORIZONTAL_INIT_TYPE_ARGUMENT_2 -> t
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_CONVERSION_PARAMETERS -> K
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind COMPANION_CLASS -> j
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind OUTLINE -> I
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind ENUM_UNBOXING_SHARED_UTILITY_CLASS -> h
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind API_MODEL_OUTLINE -> O
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RETARGET_INTERFACE -> n
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind CONST_DYNAMIC -> M
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind RETARGET_CLASS -> l
    boolean isFixedSuffixSynthetic -> e
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_CCE_IF_NOT_NULL -> C
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind[] $VALUES -> Q
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind STATIC_INTERFACE_CALL -> A
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind TWR_CLOSE_RESOURCE -> G
    java.lang.String descriptor -> b
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind THROW_ICCE -> E
    1:3:void <clinit>():26:28 -> <clinit>
    4:4:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    4:4:void <clinit>():28 -> <clinit>
    5:6:void <clinit>():28:29 -> <clinit>
    7:7:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    7:7:void <clinit>():29 -> <clinit>
    8:10:void <clinit>():29:31 -> <clinit>
    11:11:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    11:11:void <clinit>():31 -> <clinit>
    12:13:void <clinit>():31:32 -> <clinit>
    14:14:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    14:14:void <clinit>():32 -> <clinit>
    15:16:void <clinit>():32:33 -> <clinit>
    17:17:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    17:17:void <clinit>():33 -> <clinit>
    18:19:void <clinit>():33:34 -> <clinit>
    20:20:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    20:20:void <clinit>():34 -> <clinit>
    21:22:void <clinit>():34:35 -> <clinit>
    23:23:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    23:23:void <clinit>():35 -> <clinit>
    24:25:void <clinit>():35:36 -> <clinit>
    26:26:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    26:26:void <clinit>():36 -> <clinit>
    27:28:void <clinit>():36:37 -> <clinit>
    29:29:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    29:29:void <clinit>():37 -> <clinit>
    30:31:void <clinit>():37:38 -> <clinit>
    32:32:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    32:32:void <clinit>():38 -> <clinit>
    33:34:void <clinit>():38:39 -> <clinit>
    35:35:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    35:35:void <clinit>():39 -> <clinit>
    36:37:void <clinit>():39:40 -> <clinit>
    38:38:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    38:38:void <clinit>():40 -> <clinit>
    39:40:void <clinit>():40:41 -> <clinit>
    41:41:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    41:41:void <clinit>():41 -> <clinit>
    42:43:void <clinit>():41:42 -> <clinit>
    44:44:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    44:44:void <clinit>():42 -> <clinit>
    45:46:void <clinit>():42:43 -> <clinit>
    47:47:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    47:47:void <clinit>():43 -> <clinit>
    48:50:void <clinit>():43:45 -> <clinit>
    51:51:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    51:51:void <clinit>():45 -> <clinit>
    52:53:void <clinit>():45:46 -> <clinit>
    54:54:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    54:54:void <clinit>():46 -> <clinit>
    55:56:void <clinit>():46:47 -> <clinit>
    57:57:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    57:57:void <clinit>():47 -> <clinit>
    58:59:void <clinit>():47:48 -> <clinit>
    60:60:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    60:60:void <clinit>():48 -> <clinit>
    61:62:void <clinit>():48:49 -> <clinit>
    63:63:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    63:63:void <clinit>():49 -> <clinit>
    64:65:void <clinit>():49:50 -> <clinit>
    66:66:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    66:66:void <clinit>():50 -> <clinit>
    67:68:void <clinit>():50:51 -> <clinit>
    69:69:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    69:69:void <clinit>():51 -> <clinit>
    70:71:void <clinit>():51:52 -> <clinit>
    72:72:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    72:72:void <clinit>():52 -> <clinit>
    73:74:void <clinit>():52:53 -> <clinit>
    75:75:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    75:75:void <clinit>():53 -> <clinit>
    76:77:void <clinit>():53:54 -> <clinit>
    78:78:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    78:78:void <clinit>():54 -> <clinit>
    79:80:void <clinit>():54:55 -> <clinit>
    81:81:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    81:81:void <clinit>():55 -> <clinit>
    82:83:void <clinit>():55:56 -> <clinit>
    84:84:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    84:84:void <clinit>():56 -> <clinit>
    85:86:void <clinit>():56:57 -> <clinit>
    87:87:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    87:87:void <clinit>():57 -> <clinit>
    88:89:void <clinit>():57:58 -> <clinit>
    90:90:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    90:90:void <clinit>():58 -> <clinit>
    91:92:void <clinit>():58:59 -> <clinit>
    93:93:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    93:93:void <clinit>():59 -> <clinit>
    94:96:void <clinit>():59:61 -> <clinit>
    97:97:void <init>(java.lang.String,int,java.lang.String,int,boolean):77:77 -> <clinit>
    97:97:void <clinit>():61 -> <clinit>
    98:99:void <clinit>():61:62 -> <clinit>
    100:100:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <clinit>
    100:100:void <clinit>():62 -> <clinit>
    101:103:void <clinit>():62:64 -> <clinit>
    104:104:void <clinit>():26:26 -> <clinit>
    105:105:boolean verifyNoOverlappingIds():136:136 -> <clinit>
    105:105:void <clinit>():67 -> <clinit>
    106:106:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>():119:119 -> <clinit>
    106:106:boolean verifyNoOverlappingIds():136 -> <clinit>
    106:106:void <clinit>():67 -> <clinit>
    107:109:boolean verifyNoOverlappingIds():137:139 -> <clinit>
    107:109:void <clinit>():67 -> <clinit>
    1:1:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean):85:85 -> <init>
    2:7:void <init>(java.lang.String,int,java.lang.String,int,boolean,boolean,boolean):93:98 -> <init>
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind[] values():26:26 -> a
com.android.tools.r8.synthesis.SyntheticProgramClassBuilder -> com.android.tools.r8.synthesis.y:
    boolean $assertionsDisabled -> t
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexItemFactory):20:20 -> <init>
    1:1:com.android.tools.r8.graph.ClassKind getClassKind():25:25 -> b
    com.android.tools.r8.synthesis.SyntheticClassBuilder self() -> f
com.android.tools.r8.synthesis.SyntheticProgramClassDefinition -> com.android.tools.r8.synthesis.z:
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexProgramClass):24:24 -> <init>
    1:1:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):17:17 -> a
    2:2:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticProgramClassDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):63:63 -> a
    2:2:int internalCompareTo(com.android.tools.r8.synthesis.SyntheticDefinition,com.android.tools.r8.utils.structural.RepresentativeMap):17 -> a
    3:3:void apply(java.util.function.Consumer,java.util.function.Consumer):31:31 -> a
    4:4:void internalComputeHash(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap):58:58 -> a
    1:1:com.android.tools.r8.graph.DexClass com.android.tools.r8.synthesis.SyntheticClassDefinition.getHolder():29:29 -> b
    1:1:com.android.tools.r8.graph.DexProgramClass getHolder():17 -> b
    2:2:com.android.tools.r8.graph.DexProgramClass getHolder():17:17 -> b
    com.android.tools.r8.synthesis.SyntheticProgramDefinition asProgramDefinition() -> c
    boolean isProgramDefinition() -> i
    1:1:boolean isValid():51:51 -> j
    2:2:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> j
    2:2:boolean isValid():51 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> j
    3:3:boolean isValid():51 -> j
    4:5:boolean isValid():51:52 -> j
    6:6:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> j
    6:6:boolean isValid():53 -> j
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:boolean com.android.tools.r8.graph.DexClass.isFinal():672:672 -> j
    7:7:boolean isValid():53 -> j
    8:8:boolean isValid():53:53 -> j
    1:1:com.android.tools.r8.synthesis.SyntheticProgramClassReference toReference():46:46 -> k
    1:1:com.android.tools.r8.synthesis.SyntheticReference toReference():17 -> k
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":144,"2":145,"3":146}}
    144:144:java.lang.String toString():68:68 -> toString
    145:145:java.lang.String toString():68:68 -> toString
    146:146:java.lang.String toString():68:68 -> toString
    69:69:java.lang.String toString():68:68 -> toString
    70:70:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":147,"2":148,"3":149}}
    147:147:java.lang.String toString():69:69 -> toString
    148:148:java.lang.String toString():69:69 -> toString
    149:149:java.lang.String toString():69:69 -> toString
    141:143:java.lang.String toString():71:73 -> toString
com.android.tools.r8.synthesis.SyntheticProgramClassReference -> com.android.tools.r8.synthesis.A:
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.DexType):25:25 -> <init>
    1:6:com.android.tools.r8.synthesis.SyntheticProgramClassDefinition lookupDefinition(java.util.function.Function):30:35 -> a
    1:6:com.android.tools.r8.synthesis.SyntheticDefinition lookupDefinition(java.util.function.Function):19 -> a
    7:7:com.android.tools.r8.synthesis.SyntheticProgramClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):41:41 -> a
    7:7:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):19 -> a
    8:8:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> a
    8:8:com.android.tools.r8.synthesis.SyntheticProgramClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):41 -> a
    8:8:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):19 -> a
    9:15:com.android.tools.r8.synthesis.SyntheticProgramClassReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):44:50 -> a
    9:15:com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):19 -> a
com.android.tools.r8.synthesis.SyntheticProgramDefinition -> com.android.tools.r8.internal.cY:
    void apply(java.util.function.Consumer,java.util.function.Consumer) -> a
    com.android.tools.r8.graph.DexProgramClass getHolder() -> b
com.android.tools.r8.synthesis.SyntheticReference -> com.android.tools.r8.synthesis.B:
    com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind kind -> a
    boolean $assertionsDisabled -> c
    com.android.tools.r8.synthesis.SynthesizingContext rewrittenContext -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:5:void <init>(com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind,com.android.tools.r8.synthesis.SynthesizingContext):26:30 -> <init>
    com.android.tools.r8.synthesis.SyntheticReference internalRewrite(com.android.tools.r8.synthesis.SynthesizingContext,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens) -> a
    com.android.tools.r8.synthesis.SyntheticDefinition lookupDefinition(java.util.function.Function) -> a
    1:1:com.android.tools.r8.synthesis.Rewritable com.android.tools.r8.synthesis.SyntheticProgramClassReference.rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):19:19 -> a
    2:2:com.android.tools.r8.synthesis.SynthesizingContext getContext():40:40 -> a
    com.android.tools.r8.graph.DexType getHolder() -> b
    1:1:com.android.tools.r8.synthesis.SynthesizingContext getContext():40:40 -> b
    1:1:com.android.tools.r8.synthesis.SyntheticReference rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):48 -> b
    2:3:com.android.tools.r8.synthesis.SyntheticReference rewrite(com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):48:49 -> b
    1:1:com.android.tools.r8.synthesis.SyntheticNaming$SyntheticKind getKind():36:36 -> c
    com.android.tools.r8.graph.DexReference getReference() -> d
com.android.tools.r8.tracereferences.Formatter -> com.android.tools.r8.tracereferences.a:
    java.lang.StringBuilder output -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():25:25 -> <clinit>
    1:2:void <init>():29:30 -> <init>
    1:1:java.lang.String get():34:34 -> a
    2:2:void append(java.lang.String):38:38 -> a
    3:6:void printArguments(com.android.tools.r8.references.MethodReference):46:46 -> a
    7:10:void format(com.android.tools.r8.tracereferences.internal.TraceReferencesResult):81:84 -> a
    11:11:void format(com.android.tools.r8.tracereferences.internal.TraceReferencesResult):80:80 -> a
    12:22:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):92:102 -> a
    23:23:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):22:22 -> a
    23:23:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    24:24:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":87,"2":88,"3":89}}
    87:87:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):23:23 -> a
    87:87:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    88:88:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):23:23 -> a
    88:88:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    89:89:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):23:23 -> a
    89:89:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    25:29:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):23:27 -> a
    25:29:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    30:30:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":94,"2":95,"3":96}}
    94:94:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):28:28 -> a
    94:94:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    95:95:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):28:28 -> a
    95:95:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    96:96:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):28:28 -> a
    96:96:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    31:32:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):28:29 -> a
    31:32:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    33:33:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100}}
    98:98:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):30:30 -> a
    98:98:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    99:99:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):30:30 -> a
    99:99:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    100:100:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):30:30 -> a
    100:100:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    34:34:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):30:30 -> a
    34:34:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    35:35:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":102,"2":103,"3":104}}
    102:102:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):32:32 -> a
    102:102:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    103:103:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):32:32 -> a
    103:103:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    104:104:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):32:32 -> a
    104:104:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    36:36:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeHeader(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):32:32 -> a
    36:36:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):102 -> a
    37:46:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):103:112 -> a
    47:49:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):111:113 -> a
    50:66:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printMethod(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod):54:70 -> a
    50:66:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):114 -> a
    67:70:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):116:119 -> a
    71:71:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":105,"2":106,"3":107}}
    105:105:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField):43:43 -> a
    105:105:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):122 -> a
    106:106:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField):43:43 -> a
    106:106:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):122 -> a
    107:107:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField):43:43 -> a
    107:107:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):122 -> a
    72:76:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField):45:49 -> a
    72:76:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):122 -> a
    77:77:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField):43:43 -> a
    77:77:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):122 -> a
    78:78:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printTypeFooter():82:82 -> a
    78:78:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):124 -> a
    79:83:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):127:131 -> a
    84:84:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printPackageNames(java.util.List):75:75 -> a
    84:84:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):131 -> a
    85:85:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":108,"2":109,"3":110}}
    108:108:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printPackageNames(java.util.List):76:76 -> a
    108:108:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):131 -> a
    109:109:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printPackageNames(java.util.List):76:76 -> a
    109:109:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):131 -> a
    110:110:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printPackageNames(java.util.List):76:76 -> a
    110:110:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):131 -> a
    86:86:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printPackageNames(java.util.List):76:76 -> a
    86:86:void print(java.util.Set,java.util.Set,java.util.Map,java.util.Map):131 -> a
    111:111:java.lang.String lambda$print$0(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass):93:93 -> a
    112:112:java.lang.String lambda$print$1(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod) -> a
    113:113:java.lang.String lambda$print$2(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField):117:117 -> a
    1:1:void appendLine(java.lang.String):42:42 -> b
    2:3:void printNameAndReturn(com.android.tools.r8.references.MethodReference):66:67 -> b
    4:4:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printConstructorName(com.android.tools.r8.references.MethodReference):38:38 -> b
    4:4:void printNameAndReturn(com.android.tools.r8.references.MethodReference):67 -> b
    5:5:void append(java.lang.String):38:38 -> b
    5:5:void com.android.tools.r8.tracereferences.KeepRuleFormatter.printConstructorName(com.android.tools.r8.references.MethodReference):38 -> b
    5:5:void printNameAndReturn(com.android.tools.r8.references.MethodReference):67 -> b
    6:6:void printReturn(com.android.tools.r8.references.MethodReference):62:62 -> b
    6:6:void printNameAndReturn(com.android.tools.r8.references.MethodReference):69 -> b
    7:7:void append(java.lang.String):38:38 -> b
    7:7:void printReturn(com.android.tools.r8.references.MethodReference):62 -> b
    7:7:void printNameAndReturn(com.android.tools.r8.references.MethodReference):69 -> b
    8:8:void append(java.lang.String):38:38 -> b
    8:8:void printNameAndReturn(com.android.tools.r8.references.MethodReference):70 -> b
    9:9:void printNameAndReturn(com.android.tools.r8.references.MethodReference):71:71 -> b
    10:10:void append(java.lang.String):38:38 -> b
    10:10:void printNameAndReturn(com.android.tools.r8.references.MethodReference):71 -> b
com.android.tools.r8.tracereferences.KeepRuleFormatter -> com.android.tools.r8.tracereferences.b:
    boolean allowObfuscation -> c
    1:2:void <init>(boolean):16:17 -> <init>
com.android.tools.r8.tracereferences.TraceReferences -> com.android.tools.r8.tracereferences.TraceReferences:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():27:27 -> <clinit>
    1:1:void <init>():28:28 -> <init>
    1:1:void lambda$run$0(com.android.tools.r8.tracereferences.TraceReferencesCommand):31:31 -> a
    2:2:void lambda$runInternal$1(java.util.Set,com.android.tools.r8.ClassFileResourceProvider):66:66 -> a
    3:3:void lambda$main$2(java.lang.String[]):101:101 -> a
    1:10:void runInternal(com.android.tools.r8.tracereferences.TraceReferencesCommand):59:68 -> b
    11:22:void forEachDescriptor(com.android.tools.r8.ProgramResourceProvider,java.util.function.Consumer):36:47 -> b
    11:22:void runInternal(com.android.tools.r8.tracereferences.TraceReferencesCommand):68 -> b
    23:35:void forEachDescriptor(com.android.tools.r8.ProgramResourceProvider,java.util.function.Consumer):40:52 -> b
    23:35:void runInternal(com.android.tools.r8.tracereferences.TraceReferencesCommand):68 -> b
    36:39:void runInternal(com.android.tools.r8.tracereferences.TraceReferencesCommand):70:73 -> b
    1:5:void main(java.lang.String[]):97:101 -> main
    6:7:void main(java.lang.String[]):98:99 -> main
    1:1:void run(com.android.tools.r8.tracereferences.TraceReferencesCommand):31:31 -> run
    2:9:void run(java.lang.String[]):77:84 -> run
    10:10:void run(java.lang.String[]):0:0 -> run
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":98,"2":99,"3":100}}
    98:98:void run(java.lang.String[]):84:84 -> run
    99:99:void run(java.lang.String[]):84:84 -> run
    100:100:void run(java.lang.String[]):84:84 -> run
    94:97:void run(java.lang.String[]):84:87 -> run
com.android.tools.r8.tracereferences.TraceReferencesCheckConsumer -> com.android.tools.r8.tracereferences.TraceReferencesCheckConsumer:
    java.util.Map missingClassesContexts -> c
    java.util.Map missingFieldsContexts -> d
    java.util.Map missingMethodsContexts -> e
    1:1:void <init>(com.android.tools.r8.tracereferences.TraceReferencesConsumer):42:42 -> <init>
    2:6:void <init>(com.android.tools.r8.tracereferences.TraceReferencesConsumer):34:38 -> <init>
    1:1:java.util.Map lambda$acceptType$0(com.android.tools.r8.references.ClassReference):51:51 -> a
    2:2:java.util.Map lambda$acceptField$4(com.android.tools.r8.references.FieldReference):67:67 -> a
    3:3:void lambda$acceptField$5(java.util.Map,com.android.tools.r8.diagnostic.DefinitionClassContext):70:70 -> a
    4:4:void lambda$acceptField$6(java.util.Map,com.android.tools.r8.diagnostic.DefinitionFieldContext):71:71 -> a
    5:5:void lambda$acceptField$7(java.util.Map,com.android.tools.r8.diagnostic.DefinitionMethodContext):73:73 -> a
    6:6:java.util.Map lambda$acceptMethod$8(com.android.tools.r8.references.MethodReference):83:83 -> a
    7:10:void lambda$buildDiagnostic$12(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.references.ClassReference,java.util.Map):118:121 -> a
    11:11:void lambda$buildDiagnostic$12(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.references.ClassReference,java.util.Map):117:117 -> a
    12:15:void lambda$buildDiagnostic$13(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.references.FieldReference,java.util.Map):125:128 -> a
    16:16:void lambda$buildDiagnostic$13(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.references.FieldReference,java.util.Map):124:124 -> a
    17:20:void lambda$buildDiagnostic$14(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.references.MethodReference,java.util.Map):132:135 -> a
    21:21:void lambda$buildDiagnostic$14(com.android.tools.r8.diagnostic.internal.MissingDefinitionsDiagnosticImpl$Builder,com.android.tools.r8.references.MethodReference,java.util.Map):131:131 -> a
    1:5:void acceptField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField,com.android.tools.r8.DiagnosticsHandler):63:67 -> acceptField
    6:9:void acceptField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField,com.android.tools.r8.DiagnosticsHandler):66:69 -> acceptField
    10:10:void acceptField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField,com.android.tools.r8.DiagnosticsHandler):68:68 -> acceptField
    1:5:void acceptMethod(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod,com.android.tools.r8.DiagnosticsHandler):79:83 -> acceptMethod
    6:9:void acceptMethod(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod,com.android.tools.r8.DiagnosticsHandler):82:85 -> acceptMethod
    10:10:void acceptMethod(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod,com.android.tools.r8.DiagnosticsHandler):84:84 -> acceptMethod
    1:1:void acceptPackage(com.android.tools.r8.references.PackageReference,com.android.tools.r8.DiagnosticsHandler):95:95 -> acceptPackage
    1:5:void acceptType(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass,com.android.tools.r8.DiagnosticsHandler):47:51 -> acceptType
    6:9:void acceptType(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass,com.android.tools.r8.DiagnosticsHandler):50:53 -> acceptType
    10:10:void acceptType(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass,com.android.tools.r8.DiagnosticsHandler):52:52 -> acceptType
    1:1:void lambda$acceptMethod$9(java.util.Map,com.android.tools.r8.diagnostic.DefinitionClassContext):86:86 -> b
    2:2:void lambda$acceptMethod$10(java.util.Map,com.android.tools.r8.diagnostic.DefinitionFieldContext):87:87 -> b
    3:3:void lambda$acceptMethod$11(java.util.Map,com.android.tools.r8.diagnostic.DefinitionMethodContext):89:89 -> b
    4:26:com.android.tools.r8.diagnostic.MissingDefinitionsDiagnostic buildDiagnostic():114:136 -> b
    1:1:void lambda$acceptType$1(java.util.Map,com.android.tools.r8.diagnostic.DefinitionClassContext):54:54 -> c
    2:2:void lambda$acceptType$2(java.util.Map,com.android.tools.r8.diagnostic.DefinitionFieldContext):55:55 -> c
    3:3:void lambda$acceptType$3(java.util.Map,com.android.tools.r8.diagnostic.DefinitionMethodContext):57:57 -> c
    1:1:void finished(com.android.tools.r8.DiagnosticsHandler):100:100 -> finished
    2:4:boolean isEmpty():107:109 -> finished
    2:4:void finished(com.android.tools.r8.DiagnosticsHandler):101 -> finished
    5:5:void finished(com.android.tools.r8.DiagnosticsHandler):102:102 -> finished
com.android.tools.r8.tracereferences.TraceReferencesCommand -> com.android.tools.r8.tracereferences.TraceReferencesCommand:
    com.android.tools.r8.tracereferences.TraceReferencesConsumer consumer -> g
    com.android.tools.r8.com.google.common.collect.ImmutableList traceSource -> f
    com.android.tools.r8.com.google.common.collect.ImmutableList traceTarget -> e
    boolean printHelp -> a
    boolean printVersion -> b
    com.android.tools.r8.com.google.common.collect.ImmutableList library -> d
    com.android.tools.r8.utils.Reporter reporter -> c
    1:8:void <init>(boolean,boolean,com.android.tools.r8.utils.Reporter,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.tracereferences.TraceReferencesConsumer):60:67 -> <init>
    9:16:void <init>(boolean,boolean):70:77 -> <init>
    1:1:com.android.tools.r8.tracereferences.TraceReferencesConsumer getConsumer():396:396 -> a
    1:1:java.util.List getLibrary():384:384 -> b
    1:1:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder builder(com.android.tools.r8.DiagnosticsHandler):86:86 -> builder
    2:2:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder builder():94:94 -> builder
    1:1:com.android.tools.r8.utils.Reporter getReporter():380:380 -> c
    1:1:java.util.List getSource():392:392 -> d
    1:1:java.util.List getTarget():388:388 -> e
    1:1:boolean isPrintHelp():110:110 -> isPrintHelp
    1:1:boolean isPrintVersion():114:114 -> isPrintVersion
    1:1:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):98:98 -> parse
    2:2:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):102:102 -> parse
    3:3:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.util.Collection,com.android.tools.r8.origin.Origin):106:106 -> parse
com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder -> com.android.tools.r8.tracereferences.TraceReferencesCommand$a:
    com.android.tools.r8.tracereferences.TraceReferencesConsumer consumer -> g
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder traceSourceBuilder -> f
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder traceTargetBuilder -> e
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder libraryBuilder -> d
    boolean printHelp -> a
    boolean printVersion -> b
    com.android.tools.r8.utils.Reporter reporter -> c
    1:1:void <init>(com.android.tools.r8.tracereferences.TraceReferencesCommand$1):117:117 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.tracereferences.TraceReferencesCommand$1):117:117 -> <init>
    3:3:void <init>():131:131 -> <init>
    4:4:void <init>(com.android.tools.r8.DiagnosticsHandler):134:134 -> <init>
    5:21:void <init>(com.android.tools.r8.DiagnosticsHandler):119:135 -> <init>
    1:1:boolean isPrintHelp():144:144 -> a
    1:1:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():338 -> a
    1:1:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    2:2:boolean isPrintVersion():155:155 -> a
    2:2:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():338 -> a
    2:2:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    3:8:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():342:347 -> a
    3:8:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    9:9:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    9:9:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():347 -> a
    9:9:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    10:14:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():349:353 -> a
    10:14:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    15:15:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    15:15:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():353 -> a
    15:15:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    16:17:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():355:356 -> a
    16:17:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    18:18:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    18:18:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():356 -> a
    18:18:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    19:19:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():358:358 -> a
    19:19:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    20:20:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():339:339 -> a
    20:20:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    21:21:boolean isPrintVersion():155:155 -> a
    21:21:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():339 -> a
    21:21:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    22:22:com.android.tools.r8.tracereferences.TraceReferencesCommand makeCommand():339:339 -> a
    22:22:void lambda$build$0(com.android.tools.r8.utils.Box):367 -> a
    23:24:void lambda$build$0(com.android.tools.r8.utils.Box):367:368 -> a
    25:25:java.lang.String extractClassDescriptor(byte[]):188:188 -> a
    25:25:java.lang.String access$200(byte[]):117 -> a
    26:26:void com.android.tools.r8.org.objectweb.asm.ClassReader.<init>(byte[]):166:166 -> a
    26:26:java.lang.String extractClassDescriptor(byte[]):188 -> a
    26:26:java.lang.String access$200(byte[]):117 -> a
    27:30:java.lang.String extractClassDescriptor(byte[]):189:192 -> a
    27:30:java.lang.String access$200(byte[]):117 -> a
    31:31:java.lang.String access$200(byte[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":32,"2":33,"3":34}}
    32:32:java.lang.String extractClassDescriptor(byte[]):192:192 -> a
    32:32:java.lang.String access$200(byte[]):117 -> a
    33:33:java.lang.String extractClassDescriptor(byte[]):192:192 -> a
    33:33:java.lang.String access$200(byte[]):117 -> a
    34:34:java.lang.String extractClassDescriptor(byte[]):192:192 -> a
    34:34:java.lang.String access$200(byte[]):117 -> a
    35:38:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):239:242 -> a
    39:39:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    39:39:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):242 -> a
    40:45:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):244:249 -> a
    46:46:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    46:46:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):249 -> a
    47:47:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):251:251 -> a
    48:49:com.android.tools.r8.ClassFileResourceProvider singleClassFileClassFileResourceProvider(java.nio.file.Path):218:219 -> a
    48:49:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):253 -> a
    50:52:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):253:255 -> a
    53:53:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    53:53:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):255 -> a
    54:54:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):258:258 -> a
    55:55:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    55:55:void addLibraryOrTargetFile(java.nio.file.Path,com.android.tools.r8.com.google.common.collect.ImmutableList$Builder):258 -> a
    56:56:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addLibraryResourceProvider(com.android.tools.r8.ClassFileResourceProvider):292:292 -> a
    57:57:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addLibraryFiles(java.nio.file.Path[]):297:297 -> a
    58:59:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addLibraryFiles(java.util.Collection):302:303 -> a
    58:59:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addLibraryFiles(java.nio.file.Path[]):297 -> a
    60:60:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder setConsumer(com.android.tools.r8.tracereferences.TraceReferencesConsumer):333:333 -> a
    61:68:com.android.tools.r8.tracereferences.TraceReferencesCommand build():363:370 -> a
    69:69:void error(com.android.tools.r8.Diagnostic):374:374 -> a
    1:1:com.android.tools.r8.utils.Reporter getReporter():139:139 -> b
    2:2:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321:321 -> b
    3:3:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):326:326 -> b
    3:3:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    4:7:void addSourceFile(java.nio.file.Path):263:266 -> b
    4:7:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    4:7:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    8:8:void error(com.android.tools.r8.Diagnostic):374:374 -> b
    8:8:void addSourceFile(java.nio.file.Path):266 -> b
    8:8:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    8:8:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    9:13:void addSourceFile(java.nio.file.Path):268:272 -> b
    9:13:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    9:13:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    14:14:com.android.tools.r8.ProgramResourceProvider singleClassFileProgramResourceProvider(java.nio.file.Path):224:224 -> b
    14:14:void addSourceFile(java.nio.file.Path):272 -> b
    14:14:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    14:14:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    15:15:java.lang.String extractClassDescriptor(byte[]):188:188 -> b
    15:15:com.android.tools.r8.ProgramResourceProvider singleClassFileProgramResourceProvider(java.nio.file.Path):225 -> b
    15:15:void addSourceFile(java.nio.file.Path):272 -> b
    15:15:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    15:15:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    16:16:void com.android.tools.r8.org.objectweb.asm.ClassReader.<init>(byte[]):166:166 -> b
    16:16:java.lang.String extractClassDescriptor(byte[]):188 -> b
    16:16:com.android.tools.r8.ProgramResourceProvider singleClassFileProgramResourceProvider(java.nio.file.Path):225 -> b
    16:16:void addSourceFile(java.nio.file.Path):272 -> b
    16:16:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    16:16:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    17:20:java.lang.String extractClassDescriptor(byte[]):189:192 -> b
    17:20:com.android.tools.r8.ProgramResourceProvider singleClassFileProgramResourceProvider(java.nio.file.Path):225 -> b
    17:20:void addSourceFile(java.nio.file.Path):272 -> b
    17:20:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    17:20:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    21:21:com.android.tools.r8.ProgramResourceProvider singleClassFileProgramResourceProvider(java.nio.file.Path):226:226 -> b
    21:21:void addSourceFile(java.nio.file.Path):272 -> b
    21:21:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    21:21:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    22:24:void addSourceFile(java.nio.file.Path):272:274 -> b
    22:24:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    22:24:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    25:25:void error(com.android.tools.r8.Diagnostic):374:374 -> b
    25:25:void addSourceFile(java.nio.file.Path):274 -> b
    25:25:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    25:25:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    26:37:void addSourceFile(java.nio.file.Path):276:287 -> b
    26:37:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    26:37:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    38:38:void error(com.android.tools.r8.Diagnostic):374:374 -> b
    38:38:void addSourceFile(java.nio.file.Path):287 -> b
    38:38:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.util.Collection):327 -> b
    38:38:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addSourceFiles(java.nio.file.Path[]):321 -> b
    1:1:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder setPrintHelp(boolean):149:149 -> c
    2:2:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addTargetFiles(java.nio.file.Path[]):309:309 -> c
    3:4:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addTargetFiles(java.util.Collection):314:315 -> c
    3:4:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder addTargetFiles(java.nio.file.Path[]):309 -> c
    1:1:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder setPrintVersion(boolean):160:160 -> d
com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder$1 -> com.android.tools.r8.tracereferences.c:
    1:1:void <init>():131:131 -> <init>
com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder$1ClassNameExtractor -> com.android.tools.r8.tracereferences.d:
    java.lang.String className -> c
    1:1:void <init>():169:169 -> <init>
    1:1:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):180:180 -> a
    1:1:java.lang.String getClassInternalType():184:184 -> b
com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder$2 -> com.android.tools.r8.tracereferences.e:
    byte[] val$bytes -> b
    java.nio.file.Path val$file -> a
    java.lang.String val$descriptor -> c
    1:1:void <init>(com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,java.nio.file.Path,byte[],java.lang.String):226:226 -> <init>
    1:3:java.util.Collection getProgramResources():230:232 -> getProgramResources
    4:4:java.util.Collection getProgramResources():231:231 -> getProgramResources
    5:5:java.util.Collection getProgramResources():230:230 -> getProgramResources
com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder$3 -> com.android.tools.r8.tracereferences.f:
    com.android.tools.r8.ProgramResource dexResource -> a
    1:2:void <init>(com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,java.nio.file.Path):278:279 -> <init>
    1:1:java.util.Collection getProgramResources():283:283 -> getProgramResources
com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder$SingleClassClassFileResourceProvider -> com.android.tools.r8.tracereferences.g:
    com.android.tools.r8.ProgramResource programResource -> c
    java.lang.String descriptor -> b
    1:4:void <init>(com.android.tools.r8.origin.Origin,byte[]):199:202 -> <init>
    1:1:java.util.Set getClassDescriptors():207:207 -> getClassDescriptors
    1:1:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):212:212 -> getProgramResource
com.android.tools.r8.tracereferences.TraceReferencesCommandParser -> com.android.tools.r8.tracereferences.h:
    java.util.Set OPTIONS_WITH_PARAMETER -> a
    java.lang.String USAGE_MESSAGE -> b
    1:25:void <clinit>():29:53 -> <clinit>
    26:26:java.lang.Iterable com.android.tools.r8.com.google.common.collect.Iterables.concat(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):434:434 -> <clinit>
    26:26:void <clinit>():34 -> <clinit>
    27:27:void <clinit>():32:32 -> <clinit>
    1:1:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin):70:70 -> a
    2:2:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.DiagnosticsHandler):86:86 -> a
    3:19:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):103:119 -> a
    20:20:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":542,"2":543,"3":544}}
    542:542:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    543:543:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    544:544:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    139:139:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    140:140:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":545,"2":546,"3":547}}
    545:545:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    546:546:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    547:547:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:119 -> a
    259:272:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):119:132 -> a
    273:273:void checkCommandNotSet(com.android.tools.r8.tracereferences.TraceReferencesCommandParser$Command,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,com.android.tools.r8.origin.Origin):97:97 -> a
    273:273:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):133 -> a
    274:274:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):135:135 -> a
    275:275:void checkCommandNotSet(com.android.tools.r8.tracereferences.TraceReferencesCommandParser$Command,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,com.android.tools.r8.origin.Origin):97:97 -> a
    275:275:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):136 -> a
    276:278:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):138:140 -> a
    279:279:void addLibraryArgument(com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):232:232 -> a
    279:279:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):141 -> a
    280:291:boolean isJdkHome(java.nio.file.Path):213:224 -> a
    280:291:void addLibraryArgument(com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):233 -> a
    280:291:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):141 -> a
    292:297:void addLibraryArgument(com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder,com.android.tools.r8.origin.Origin,java.lang.String):235:240 -> a
    292:297:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):141 -> a
    298:313:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):142:157 -> a
    314:320:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):156:162 -> a
    321:321:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":590,"2":591,"3":592,"4":593,"5":594,"6":595}}
    590:590:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:162 -> a
    591:591:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:162 -> a
    592:592:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:162 -> a
    593:593:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:162 -> a
    594:594:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:162 -> a
    595:595:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:162 -> a
    483:520:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):162:199 -> a
    521:521:void com.android.tools.r8.StringConsumer$WriterConsumer.<init>(com.android.tools.r8.origin.Origin,java.io.Writer):187:187 -> a
    521:521:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):199 -> a
    522:526:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):196:200 -> a
    527:538:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):192:203 -> a
    539:541:com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder parse(java.lang.String[],com.android.tools.r8.origin.Origin,com.android.tools.r8.tracereferences.TraceReferencesCommand$Builder):188:188 -> a
com.android.tools.r8.tracereferences.TraceReferencesConsumer -> com.android.tools.r8.tracereferences.TraceReferencesConsumer:
    1:1:com.android.tools.r8.tracereferences.TraceReferencesConsumer emptyConsumer():139:139 -> emptyConsumer
com.android.tools.r8.tracereferences.TraceReferencesConsumer$ForwardingConsumer -> com.android.tools.r8.tracereferences.TraceReferencesConsumer$ForwardingConsumer:
    com.android.tools.r8.tracereferences.TraceReferencesConsumer EMPTY_CONSUMER -> b
    com.android.tools.r8.tracereferences.TraceReferencesConsumer consumer -> a
    1:1:void <clinit>():146:146 -> <clinit>
    1:2:void <init>(com.android.tools.r8.tracereferences.TraceReferencesConsumer):150:151 -> <init>
    1:1:com.android.tools.r8.tracereferences.TraceReferencesConsumer access$000():144:144 -> a
    1:2:void acceptField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField,com.android.tools.r8.DiagnosticsHandler):163:164 -> acceptField
    1:2:void acceptMethod(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod,com.android.tools.r8.DiagnosticsHandler):170:171 -> acceptMethod
    1:2:void acceptPackage(com.android.tools.r8.references.PackageReference,com.android.tools.r8.DiagnosticsHandler):177:178 -> acceptPackage
    1:2:void acceptType(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass,com.android.tools.r8.DiagnosticsHandler):156:157 -> acceptType
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):184:185 -> finished
com.android.tools.r8.tracereferences.TraceReferencesKeepRules -> com.android.tools.r8.tracereferences.TraceReferencesKeepRules:
    com.android.tools.r8.tracereferences.internal.TraceReferencesResult$Builder traceReferencesResultBuilder -> c
    boolean allowObfuscation -> e
    com.android.tools.r8.StringConsumer consumer -> d
    1:1:void <init>(com.android.tools.r8.tracereferences.internal.TraceReferencesResult$Builder,com.android.tools.r8.StringConsumer,boolean,com.android.tools.r8.tracereferences.TraceReferencesKeepRules$1):27:27 -> <init>
    2:5:void <init>(com.android.tools.r8.tracereferences.internal.TraceReferencesResult$Builder,com.android.tools.r8.StringConsumer,boolean):37:40 -> <init>
    1:1:com.android.tools.r8.tracereferences.TraceReferencesKeepRules$Builder builder():90:90 -> builder
    1:5:void finished(com.android.tools.r8.DiagnosticsHandler):95:99 -> finished
com.android.tools.r8.tracereferences.TraceReferencesKeepRules$Builder -> com.android.tools.r8.tracereferences.TraceReferencesKeepRules$Builder:
    boolean allowObfuscation -> b
    com.android.tools.r8.StringConsumer consumer -> a
    1:1:void <init>():49:49 -> <init>
    1:1:com.android.tools.r8.tracereferences.TraceReferencesKeepRules build():83:83 -> build
    2:2:com.android.tools.r8.tracereferences.internal.TraceReferencesResult$Builder com.android.tools.r8.tracereferences.internal.TraceReferencesResult.builder():55:55 -> build
    2:2:com.android.tools.r8.tracereferences.TraceReferencesKeepRules build():84 -> build
    3:3:com.android.tools.r8.tracereferences.TraceReferencesKeepRules build():84:84 -> build
    1:1:com.android.tools.r8.tracereferences.TraceReferencesKeepRules$Builder setAllowObfuscation(boolean):57:57 -> setAllowObfuscation
    1:1:com.android.tools.r8.tracereferences.TraceReferencesKeepRules$Builder setOutputConsumer(com.android.tools.r8.StringConsumer):77:77 -> setOutputConsumer
    1:1:com.android.tools.r8.tracereferences.TraceReferencesKeepRules$Builder setOutputPath(java.nio.file.Path):67:67 -> setOutputPath
com.android.tools.r8.tracereferences.Tracer -> com.android.tools.r8.tracereferences.k:
    com.android.tools.r8.DiagnosticsHandler diagnostics -> b
    com.android.tools.r8.graph.AppView appView -> a
    java.util.function.Predicate targetPredicate -> c
    1:6:void <init>(java.util.Set,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.utils.InternalOptions):65:70 -> <init>
    7:7:void <init>(java.util.Set,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.utils.InternalOptions):67:67 -> <init>
    8:8:void <init>(java.util.Set,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.utils.InternalOptions):66:66 -> <init>
    9:9:void <init>(java.util.Set,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.DiagnosticsHandler,com.android.tools.r8.utils.InternalOptions):65:65 -> <init>
    10:13:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.DiagnosticsHandler,java.util.function.Predicate):78:81 -> <init>
    1:1:boolean lambda$new$0(java.util.Set,com.android.tools.r8.graph.DexType):72:72 -> a
    2:11:void run(com.android.tools.r8.tracereferences.TraceReferencesConsumer):85:94 -> a
    12:12:void com.android.tools.r8.graph.DexProgramClass.forEachProgramField(java.util.function.Consumer):199:199 -> a
    12:12:void run(com.android.tools.r8.tracereferences.TraceReferencesConsumer):94 -> a
    13:19:void run(com.android.tools.r8.tracereferences.TraceReferencesConsumer):95:101 -> a
    20:20:void lambda$run$1(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramField):94:94 -> a
    21:21:void lambda$run$2(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):97:97 -> a
    22:22:void com.android.tools.r8.tracereferences.Tracer$UseCollector.traceCode(com.android.tools.r8.graph.ProgramMethod):256:256 -> a
    22:22:void com.android.tools.r8.tracereferences.Tracer$UseCollector.access$1200(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    22:22:void lambda$run$2(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):98 -> a
com.android.tools.r8.tracereferences.Tracer$UseCollector -> com.android.tools.r8.tracereferences.j:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.tracereferences.TraceReferencesConsumer consumer -> c
    java.util.Set missingFields -> g
    java.util.Set missingMethods -> h
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.DiagnosticsHandler diagnostics -> d
    boolean $assertionsDisabled -> i
    java.util.Set missingClasses -> f
    java.util.function.Predicate targetPredicate -> e
    1:1:void <clinit>():106:106 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.tracereferences.TraceReferencesConsumer,com.android.tools.r8.DiagnosticsHandler,java.util.function.Predicate):122:122 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.tracereferences.TraceReferencesConsumer,com.android.tools.r8.DiagnosticsHandler,java.util.function.Predicate):114:127 -> <init>
    1:1:void access$000(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):106:106 -> a
    2:2:com.android.tools.r8.graph.AppView access$100(com.android.tools.r8.tracereferences.Tracer$UseCollector):106:106 -> a
    3:3:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106:106 -> a
    4:5:void registerMethod(com.android.tools.r8.graph.ProgramMethod):232:233 -> a
    4:5:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    6:7:void addTypes(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.diagnostic.DefinitionContext):155:156 -> a
    6:7:void registerMethod(com.android.tools.r8.graph.ProgramMethod):233 -> a
    6:7:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    8:21:void registerMethod(com.android.tools.r8.graph.ProgramMethod):234:247 -> a
    8:21:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    22:22:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    22:22:void registerMethod(com.android.tools.r8.graph.ProgramMethod):249 -> a
    22:22:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    23:23:void registerMethod(com.android.tools.r8.graph.ProgramMethod):250:250 -> a
    23:23:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    24:24:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    24:24:void registerMethod(com.android.tools.r8.graph.ProgramMethod):250 -> a
    24:24:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    25:25:void registerMethod(com.android.tools.r8.graph.ProgramMethod):251:251 -> a
    25:25:void access$1100(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):106 -> a
    26:26:void access$1300(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramField):106:106 -> a
    27:28:void registerField(com.android.tools.r8.graph.ProgramField):227:228 -> a
    27:28:void access$1300(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramField):106 -> a
    29:29:void access$200(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):106:106 -> a
    30:30:void access$400(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.diagnostic.DefinitionContext):106:106 -> a
    31:32:void addTypes(com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.diagnostic.DefinitionContext):155:156 -> a
    31:32:void access$400(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexTypeList,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    33:33:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106:106 -> a
    34:34:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):173:173 -> a
    34:34:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    35:35:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    35:35:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):173 -> a
    35:35:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    36:40:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):174:178 -> a
    36:40:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    41:41:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):177:177 -> a
    41:41:void access$900(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):106 -> a
    42:42:com.android.tools.r8.graph.AppInfoWithClassHierarchy appInfo():131:131 -> a
    43:43:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    43:43:boolean access$500(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexType):106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    44:44:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    44:44:boolean access$500(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.DexType):106 -> a
    45:52:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):143:150 -> a
    53:54:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):161:162 -> a
    53:54:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    55:55:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):173:173 -> a
    55:55:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):164 -> a
    55:55:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    56:56:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    56:56:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):173 -> a
    56:56:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):164 -> a
    56:56:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    57:61:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):174:178 -> a
    57:61:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):164 -> a
    57:61:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    62:62:void addClass(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):177:177 -> a
    62:62:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):164 -> a
    62:62:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    63:63:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):166:166 -> a
    63:63:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    64:64:void com.android.tools.r8.tracereferences.internal.TracedClassImpl.<init>(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):17:17 -> a
    64:64:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):166 -> a
    64:64:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    65:66:void collectMissingClass(com.android.tools.r8.tracereferences.internal.TracedClassImpl):212:213 -> a
    65:66:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):167 -> a
    65:66:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    67:68:void collectMissing(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedReference,java.util.Set):206:207 -> a
    67:68:void collectMissingClass(com.android.tools.r8.tracereferences.internal.TracedClassImpl):213 -> a
    67:68:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):167 -> a
    67:68:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    69:69:void addClassType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):168:168 -> a
    69:69:void addType(com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):151 -> a
    70:70:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):185:185 -> a
    71:71:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    71:71:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):185 -> a
    72:73:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):185:186 -> a
    74:74:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    74:74:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):186 -> a
    75:84:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):186:195 -> a
    85:85:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    85:85:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):195 -> a
    86:89:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):196:199 -> a
    90:90:void addSuperMethodFromTarget(com.android.tools.r8.graph.DexClassAndMethod,com.android.tools.r8.diagnostic.DefinitionContext):198:198 -> a
    91:91:void collectMissingField(com.android.tools.r8.tracereferences.internal.TracedFieldImpl):217:217 -> a
    91:91:void access$1000(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedFieldImpl):106 -> a
    92:92:void access$1000(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedFieldImpl):106:106 -> a
    93:93:void collectMissingField(com.android.tools.r8.tracereferences.internal.TracedFieldImpl):217:217 -> a
    93:93:void access$1000(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedFieldImpl):106 -> a
    94:94:void collectMissingField(com.android.tools.r8.tracereferences.internal.TracedFieldImpl):218:218 -> a
    94:94:void access$1000(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedFieldImpl):106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    95:96:void collectMissing(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedReference,java.util.Set):206:207 -> a
    95:96:void collectMissingField(com.android.tools.r8.tracereferences.internal.TracedFieldImpl):218 -> a
    95:96:void access$1000(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedFieldImpl):106 -> a
    97:97:void collectMissingMethod(com.android.tools.r8.tracereferences.internal.TracedMethodImpl):222:222 -> a
    97:97:void access$800(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedMethodImpl):106 -> a
    98:98:void access$800(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedMethodImpl):106:106 -> a
    99:99:void collectMissingMethod(com.android.tools.r8.tracereferences.internal.TracedMethodImpl):222:222 -> a
    99:99:void access$800(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedMethodImpl):106 -> a
    100:100:void collectMissingMethod(com.android.tools.r8.tracereferences.internal.TracedMethodImpl):223:223 -> a
    100:100:void access$800(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedMethodImpl):106 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    101:102:void collectMissing(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedReference,java.util.Set):206:207 -> a
    101:102:void collectMissingMethod(com.android.tools.r8.tracereferences.internal.TracedMethodImpl):223 -> a
    101:102:void access$800(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.tracereferences.internal.TracedMethodImpl):106 -> a
    103:105:void registerSuperType(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,com.android.tools.r8.diagnostic.DefinitionContext):261:263 -> a
    106:108:void lambda$registerSuperType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.graph.DexEncodedMethod):266:268 -> a
    109:109:boolean com.android.tools.r8.graph.Definition.isProgramMethod():0:0 -> a
    109:109:void lambda$registerSuperType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.graph.DexEncodedMethod):270 -> a
    110:110:void lambda$registerSuperType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.graph.DexEncodedMethod):271:271 -> a
    111:111:boolean isTargetType(com.android.tools.r8.graph.DexType):139:139 -> a
    111:111:void lambda$registerSuperType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.graph.DexEncodedMethod):271 -> a
    112:112:void lambda$registerSuperType$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.graph.DexEncodedMethod):272:272 -> a
    1:1:com.android.tools.r8.graph.DexItemFactory access$300(com.android.tools.r8.tracereferences.Tracer$UseCollector):106:106 -> b
    2:2:com.android.tools.r8.graph.GraphLens graphLens():135:135 -> b
    1:1:com.android.tools.r8.DiagnosticsHandler access$600(com.android.tools.r8.tracereferences.Tracer$UseCollector):106:106 -> c
    1:1:com.android.tools.r8.tracereferences.TraceReferencesConsumer access$700(com.android.tools.r8.tracereferences.Tracer$UseCollector):106:106 -> d
com.android.tools.r8.tracereferences.Tracer$UseCollector$MethodUseCollector -> com.android.tools.r8.tracereferences.i:
    com.android.tools.r8.diagnostic.DefinitionContext referencedFrom -> e
    boolean $assertionsDisabled -> g
    com.android.tools.r8.tracereferences.Tracer$UseCollector this$0 -> f
    1:1:void <clinit>():277:277 -> <clinit>
    1:3:void <init>(com.android.tools.r8.tracereferences.Tracer$UseCollector,com.android.tools.r8.graph.ProgramMethod):281:283 -> <init>
    1:1:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):290:290 -> a
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410:410 -> a
    2:2:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):290 -> a
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> a
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeDirect(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):410 -> a
    3:3:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):290 -> a
    4:8:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):291:295 -> a
    9:9:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):371:371 -> a
    9:9:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):294 -> a
    10:10:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):370:370 -> a
    10:10:void registerInvokeDirect(com.android.tools.r8.graph.DexMethod):294 -> a
    11:17:void handleInvokeWithDynamicDispatch(com.android.tools.r8.graph.GraphLens$MethodLookupResult):339:345 -> a
    18:18:boolean com.android.tools.r8.ir.code.Invoke$Type.isInterface():185:185 -> a
    18:18:void handleInvokeWithDynamicDispatch(com.android.tools.r8.graph.GraphLens$MethodLookupResult):345 -> a
    19:22:void handleInvokeWithDynamicDispatch(com.android.tools.r8.graph.GraphLens$MethodLookupResult):345:348 -> a
    23:23:boolean com.android.tools.r8.ir.code.Invoke$Type.isInterface():185:185 -> a
    23:23:void handleInvokeWithDynamicDispatch(com.android.tools.r8.graph.GraphLens$MethodLookupResult):348 -> a
    24:25:void handleInvokeWithDynamicDispatch(com.android.tools.r8.graph.GraphLens$MethodLookupResult):349:350 -> a
    26:26:void handleInvokeWithDynamicDispatch(com.android.tools.r8.graph.GraphLens$MethodLookupResult):346:346 -> a
    27:37:void handleRewrittenMethodResolution(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodResolutionResult):355:365 -> a
    38:38:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):371:371 -> a
    38:38:void handleRewrittenMethodResolution(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodResolutionResult):365 -> a
    39:39:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):370:370 -> a
    39:39:void handleRewrittenMethodResolution(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.MethodResolutionResult):365 -> a
    40:43:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):376:376 -> a
    46:59:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):379:392 -> a
    60:66:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):390:396 -> a
    67:67:void com.android.tools.r8.tracereferences.internal.TracedMethodImpl.<init>(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.diagnostic.DefinitionContext):17:17 -> a
    67:67:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):396 -> a
    68:69:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):397:398 -> a
    70:70:void handleFieldAccess(com.android.tools.r8.graph.DexField):432:432 -> a
    70:70:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):413 -> a
    71:71:com.android.tools.r8.graph.GraphLens$FieldLookupResult com.android.tools.r8.graph.GraphLens.lookupFieldResult(com.android.tools.r8.graph.DexField):481:481 -> a
    71:71:void handleFieldAccess(com.android.tools.r8.graph.DexField):432 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    71:71:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):413 -> a
    72:72:void handleFieldAccess(com.android.tools.r8.graph.DexField):433:433 -> a
    72:72:void registerInstanceFieldRead(com.android.tools.r8.graph.DexField):413 -> a
    73:91:void registerCallSite(com.android.tools.r8.graph.DexCallSite):472:490 -> a
    1:1:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):300:300 -> b
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):414:414 -> b
    2:2:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):300 -> b
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> b
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeInterface(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):414 -> b
    3:3:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):300 -> b
    4:5:void registerInvokeInterface(com.android.tools.r8.graph.DexMethod):301:302 -> b
    6:6:void lambda$handleRewrittenMethodResolution$0(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexEncodedMethod):361:361 -> b
    7:7:void registerInitClass(com.android.tools.r8.graph.DexType):406:406 -> b
    8:8:void registerInitClass(com.android.tools.r8.graph.DexType):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":417,"2":418,"3":419}}
    417:417:void registerInitClass(com.android.tools.r8.graph.DexType):406:406 -> b
    418:418:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    418:418:void registerInitClass(com.android.tools.r8.graph.DexType):406 -> b
    419:419:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> b
    419:419:void registerInitClass(com.android.tools.r8.graph.DexType):406 -> b
    415:416:void registerInitClass(com.android.tools.r8.graph.DexType):407:408 -> b
    1:1:void handleFieldAccess(com.android.tools.r8.graph.DexField):432:432 -> c
    1:1:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):418 -> c
    2:2:com.android.tools.r8.graph.GraphLens$FieldLookupResult com.android.tools.r8.graph.GraphLens.lookupFieldResult(com.android.tools.r8.graph.DexField):481:481 -> c
    2:2:void handleFieldAccess(com.android.tools.r8.graph.DexField):432 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):418 -> c
    3:3:void handleFieldAccess(com.android.tools.r8.graph.DexField):433:433 -> c
    3:3:void registerInstanceFieldWrite(com.android.tools.r8.graph.DexField):418 -> c
    1:1:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):307:307 -> d
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):418:418 -> d
    2:2:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):307 -> d
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> d
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeStatic(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):418 -> d
    3:3:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):307 -> d
    4:7:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):308:311 -> d
    8:8:void registerInvokeStatic(com.android.tools.r8.graph.DexMethod):310:310 -> d
    1:1:void handleFieldAccess(com.android.tools.r8.graph.DexField):432:432 -> e
    1:1:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):423 -> e
    2:2:com.android.tools.r8.graph.GraphLens$FieldLookupResult com.android.tools.r8.graph.GraphLens.lookupFieldResult(com.android.tools.r8.graph.DexField):481:481 -> e
    2:2:void handleFieldAccess(com.android.tools.r8.graph.DexField):432 -> e
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):423 -> e
    3:3:void handleFieldAccess(com.android.tools.r8.graph.DexField):433:433 -> e
    3:3:void registerStaticFieldRead(com.android.tools.r8.graph.DexField):423 -> e
    1:1:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):316:316 -> f
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):422:422 -> f
    2:2:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):316 -> f
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> f
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeSuper(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):422 -> f
    3:3:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):316 -> f
    4:15:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):317:328 -> f
    16:16:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):371:371 -> f
    16:16:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):326 -> f
    17:17:void handleRewrittenMethodReference(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexClassAndMethod):370:370 -> f
    17:17:void registerInvokeSuper(com.android.tools.r8.graph.DexMethod):326 -> f
    18:18:void registerTypeReference(com.android.tools.r8.graph.DexType):465:465 -> f
    19:19:void registerTypeReference(com.android.tools.r8.graph.DexType):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":485,"2":486,"3":487}}
    485:485:void registerTypeReference(com.android.tools.r8.graph.DexType):465:465 -> f
    486:486:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> f
    486:486:void registerTypeReference(com.android.tools.r8.graph.DexType):465 -> f
    487:487:com.android.tools.r8.graph.DexType com.android.tools.r8.graph.GraphLens.lookupType(com.android.tools.r8.graph.DexType):398:398 -> f
    487:487:void registerTypeReference(com.android.tools.r8.graph.DexType):465 -> f
    484:484:void registerTypeReference(com.android.tools.r8.graph.DexType):465:465 -> f
    1:1:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):333:333 -> g
    2:2:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):426:426 -> g
    2:2:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):333 -> g
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.ir.code.Invoke$Type):430:430 -> g
    3:3:com.android.tools.r8.graph.GraphLens$MethodLookupResult com.android.tools.r8.graph.GraphLens.lookupInvokeVirtual(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.ProgramMethod):426 -> g
    3:3:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):333 -> g
    4:5:void registerInvokeVirtual(com.android.tools.r8.graph.DexMethod):334:335 -> g
    6:6:void handleFieldAccess(com.android.tools.r8.graph.DexField):432:432 -> g
    6:6:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):428 -> g
    7:7:com.android.tools.r8.graph.GraphLens$FieldLookupResult com.android.tools.r8.graph.GraphLens.lookupFieldResult(com.android.tools.r8.graph.DexField):481:481 -> g
    7:7:void handleFieldAccess(com.android.tools.r8.graph.DexField):432 -> g
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):428 -> g
    8:8:void handleFieldAccess(com.android.tools.r8.graph.DexField):433:433 -> g
    8:8:void registerStaticFieldWrite(com.android.tools.r8.graph.DexField):428 -> g
    1:15:void handleRewrittenFieldReference(com.android.tools.r8.graph.DexField):437:451 -> i
    16:22:void handleRewrittenFieldReference(com.android.tools.r8.graph.DexField):449:455 -> i
    23:23:void com.android.tools.r8.tracereferences.internal.TracedFieldImpl.<init>(com.android.tools.r8.graph.DexField,com.android.tools.r8.diagnostic.DefinitionContext):17:17 -> i
    23:23:void handleRewrittenFieldReference(com.android.tools.r8.graph.DexField):455 -> i
    24:25:void handleRewrittenFieldReference(com.android.tools.r8.graph.DexField):456:457 -> i
com.android.tools.r8.tracereferences.internal.AccessFlagsImpl -> com.android.tools.r8.internal.w1:
    com.android.tools.r8.graph.AccessFlags accessFlags -> a
    1:2:void <init>(com.android.tools.r8.graph.AccessFlags):13:14 -> <init>
    1:1:boolean isPrivate():34:34 -> isPrivate
    1:1:boolean isProtected():29:29 -> isProtected
    1:1:boolean isPublic():24:24 -> isPublic
    1:1:boolean isStatic():19:19 -> isStatic
com.android.tools.r8.tracereferences.internal.ClassAccessFlagsImpl -> com.android.tools.r8.internal.E9:
    1:1:void <init>(com.android.tools.r8.graph.ClassAccessFlags):13:13 -> <init>
    1:1:boolean isEnum():23:23 -> isEnum
    1:1:boolean isInterface():18:18 -> isInterface
com.android.tools.r8.tracereferences.internal.FieldAccessFlagsImpl -> com.android.tools.r8.internal.Cj:
    1:1:void <init>(com.android.tools.r8.graph.FieldAccessFlags):13:13 -> <init>
com.android.tools.r8.tracereferences.internal.MethodAccessFlagsImpl -> com.android.tools.r8.internal.oE:
    1:1:void <init>(com.android.tools.r8.graph.MethodAccessFlags):13:13 -> <init>
com.android.tools.r8.tracereferences.internal.TraceReferencesResult -> com.android.tools.r8.internal.QY:
    java.util.Map fields -> b
    java.util.Map methods -> c
    java.util.Set keepPackageNames -> d
    java.util.Set types -> a
    1:5:void <init>(java.util.Set,java.util.Map,java.util.Map,java.util.Set):31:35 -> <init>
    1:1:java.util.Set getTracedClasses():39:39 -> a
    1:1:java.util.Map getTracedFields():43:43 -> b
    1:1:java.util.Map getTracedMethods():47:47 -> c
    1:1:java.util.Set getTracedPackageNames():51:51 -> d
com.android.tools.r8.tracereferences.internal.TraceReferencesResult$Builder -> com.android.tools.r8.internal.PY:
    java.util.Map fields -> b
    java.util.Map methods -> c
    java.util.Set keepPackageNames -> d
    java.util.Set types -> a
    1:5:void <init>():58:62 -> <init>
    1:1:java.util.Set lambda$acceptField$0(com.android.tools.r8.references.ClassReference):72:72 -> a
    2:2:com.android.tools.r8.tracereferences.internal.TraceReferencesResult build():90:90 -> a
    1:2:void acceptField(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedField,com.android.tools.r8.DiagnosticsHandler):71:72 -> acceptField
    1:2:void acceptMethod(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedMethod,com.android.tools.r8.DiagnosticsHandler):77:78 -> acceptMethod
    1:1:void acceptPackage(com.android.tools.r8.references.PackageReference,com.android.tools.r8.DiagnosticsHandler):83:83 -> acceptPackage
    1:1:void acceptType(com.android.tools.r8.tracereferences.TraceReferencesConsumer$TracedClass,com.android.tools.r8.DiagnosticsHandler):66:66 -> acceptType
    1:1:java.util.Set lambda$acceptMethod$1(com.android.tools.r8.references.ClassReference):78:78 -> b
com.android.tools.r8.tracereferences.internal.TracedClassImpl -> com.android.tools.r8.internal.SY:
    1:3:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):22:24 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.DexClass,com.android.tools.r8.diagnostic.DefinitionContext):21:21 -> <init>
    5:5:void <init>(com.android.tools.r8.references.ClassReference,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.tracereferences.TraceReferencesConsumer$ClassAccessFlags):31:31 -> <init>
    1:1:java.lang.String toString():36:36 -> toString
com.android.tools.r8.tracereferences.internal.TracedFieldImpl -> com.android.tools.r8.internal.TY:
    1:3:void <init>(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.diagnostic.DefinitionContext):22:24 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.DexClassAndField,com.android.tools.r8.diagnostic.DefinitionContext):21:21 -> <init>
    5:5:void <init>(com.android.tools.r8.references.FieldReference,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.tracereferences.TraceReferencesConsumer$FieldAccessFlags):31:31 -> <init>
    1:1:java.lang.String toString():36:36 -> toString
com.android.tools.r8.tracereferences.internal.TracedMethodImpl -> com.android.tools.r8.internal.UY:
    1:3:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.diagnostic.DefinitionContext):22:24 -> <init>
    4:4:void <init>(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.diagnostic.DefinitionContext):21:21 -> <init>
    5:5:void <init>(com.android.tools.r8.references.MethodReference,com.android.tools.r8.diagnostic.DefinitionContext,com.android.tools.r8.tracereferences.TraceReferencesConsumer$MethodAccessFlags):31:31 -> <init>
    1:1:java.lang.String toString():36:36 -> toString
com.android.tools.r8.tracereferences.internal.TracedReferenceBase -> com.android.tools.r8.internal.VY:
    com.android.tools.r8.diagnostic.DefinitionContext referencedFrom -> b
    boolean $assertionsDisabled -> e
    java.lang.Object accessFlags -> c
    java.lang.Object reference -> a
    boolean missingDefinition -> d
    1:1:void <clinit>():10:10 -> <clinit>
    1:6:void <init>(java.lang.Object,com.android.tools.r8.diagnostic.DefinitionContext,java.lang.Object,boolean):18:23 -> <init>
    1:4:boolean equals(java.lang.Object):55:58 -> equals
    1:1:java.lang.Object getAccessFlags():43:43 -> getAccessFlags
    1:1:java.lang.Object getReference():28:28 -> getReference
    1:1:com.android.tools.r8.diagnostic.DefinitionContext getReferencedFromContext():33:33 -> getReferencedFromContext
    1:1:int hashCode():49:49 -> hashCode
    1:1:boolean isMissingDefinition():38:38 -> isMissingDefinition
com.android.tools.r8.utils.AarArchiveResourceProvider -> com.android.tools.r8.utils.a:
    com.android.tools.r8.origin.Origin origin -> a
    java.nio.file.Path archive -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():32:32 -> <clinit>
    1:4:void <init>(java.nio.file.Path):41:44 -> <init>
    1:8:java.util.List readArchive():69:76 -> a
    9:20:java.util.List readClassesJar(java.util.zip.ZipInputStream):49:60 -> a
    9:20:java.util.List readArchive():77 -> a
    21:26:java.util.List readClassesJar(java.util.zip.ZipInputStream):56:61 -> a
    21:26:java.util.List readArchive():77 -> a
    27:30:java.util.List readArchive():78:81 -> a
    31:36:java.util.List readArchive():76:81 -> a
    37:50:java.util.List readArchive():73:86 -> a
    51:66:java.util.List readArchive():69:84 -> a
    67:67:java.util.List readArchive():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":152,"2":153,"3":154}}
    152:152:java.util.List readArchive():84:84 -> a
    153:153:java.util.List readArchive():84:84 -> a
    154:154:java.util.List readArchive():84:84 -> a
    151:151:java.util.List readArchive():84:84 -> a
    155:155:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):83:83 -> a
    1:3:java.util.Collection getProgramResources():92:94 -> getProgramResources
com.android.tools.r8.utils.AbortException -> com.android.tools.r8.internal.f:
    com.android.tools.r8.Diagnostic diagnostic -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():17:17 -> <clinit>
    1:3:void <init>(com.android.tools.r8.Diagnostic):20:22 -> <init>
    1:1:com.android.tools.r8.origin.Origin getOrigin():39:39 -> a
    1:1:com.android.tools.r8.position.Position getPosition():43:43 -> b
    1:2:java.lang.Throwable getCause():28:29 -> getCause
    1:1:java.lang.String getMessage():35:35 -> getMessage
com.android.tools.r8.utils.AccessUtils -> com.android.tools.r8.internal.x1:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:13:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):20:32 -> a
    14:14:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    14:14:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):33 -> a
    15:16:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):34:35 -> a
    17:17:boolean com.android.tools.r8.graph.DexClass.isPublic():741:741 -> a
    17:17:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):37 -> a
    18:29:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):38:49 -> a
    30:30:com.android.tools.r8.FeatureSplit com.android.tools.r8.features.ClassToFeatureSplitMap.getFeatureSplit(com.android.tools.r8.graph.ProgramDefinition,com.android.tools.r8.synthesis.SyntheticItems):156:156 -> a
    30:30:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):49 -> a
    31:33:boolean isAccessibleInSameContextsAs(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.AppView):50:52 -> a
com.android.tools.r8.utils.Action -> com.android.tools.r8.internal.y1:
    com.android.tools.r8.utils.Action EMPTY -> a
    1:1:void <clinit>():10:10 -> <clinit>
    void execute() -> a
    void lambda$static$0() -> b
com.android.tools.r8.utils.AndroidApiLevel -> com.android.tools.r8.internal.R1:
    com.android.tools.r8.utils.AndroidApiLevel L -> w
    com.android.tools.r8.utils.AndroidApiLevel K -> u
    com.android.tools.r8.utils.AndroidApiLevel M -> y
    int level -> b
    com.android.tools.r8.utils.AndroidApiLevel[] $VALUES -> L
    com.android.tools.r8.utils.AndroidApiLevel O_MR1 -> C
    com.android.tools.r8.utils.AndroidApiLevel N_MR1 -> A
    com.android.tools.r8.utils.AndroidApiLevel D -> f
    com.android.tools.r8.utils.AndroidApiLevel S -> G
    com.android.tools.r8.utils.AndroidApiLevel B_1_1 -> d
    com.android.tools.r8.utils.AndroidApiLevel Q -> E
    com.android.tools.r8.utils.AndroidApiLevel F -> j
    com.android.tools.r8.utils.AndroidApiLevel LATEST -> K
    com.android.tools.r8.utils.AndroidApiLevel E_0_1 -> h
    com.android.tools.r8.utils.AndroidApiLevel T -> I
    com.android.tools.r8.utils.AndroidApiLevel H_MR1 -> n
    com.android.tools.r8.utils.AndroidApiLevel G_MR1 -> l
    com.android.tools.r8.utils.AndroidApiLevel J -> r
    com.android.tools.r8.utils.AndroidApiLevel I -> p
    com.android.tools.r8.utils.AndroidApiLevel K_WATCH -> v
    boolean $assertionsDisabled -> M
    com.android.tools.r8.utils.AndroidApiLevel J_MR2 -> t
    com.android.tools.r8.utils.AndroidApiLevel N -> z
    com.android.tools.r8.utils.AndroidApiLevel L_MR1 -> x
    com.android.tools.r8.utils.AndroidApiLevel O -> B
    com.android.tools.r8.utils.AndroidApiLevel B -> c
    com.android.tools.r8.utils.AndroidApiLevel R -> F
    com.android.tools.r8.utils.AndroidApiLevel E -> g
    com.android.tools.r8.utils.AndroidApiLevel P -> D
    com.android.tools.r8.utils.AndroidApiLevel C -> e
    com.android.tools.r8.utils.AndroidApiLevel ANDROID_PLATFORM -> J
    com.android.tools.r8.utils.AndroidApiLevel G -> k
    com.android.tools.r8.utils.AndroidApiLevel Sv2 -> H
    com.android.tools.r8.utils.AndroidApiLevel E_MR1 -> i
    com.android.tools.r8.utils.AndroidApiLevel H_MR2 -> o
    com.android.tools.r8.utils.AndroidApiLevel H -> m
    com.android.tools.r8.utils.AndroidApiLevel J_MR1 -> s
    com.android.tools.r8.utils.AndroidApiLevel I_MR1 -> q
    1:36:void <clinit>():12:12 -> <clinit>
    75:75:void <clinit>():51:51 -> <clinit>
    1:2:void <init>(java.lang.String,int,int):55:56 -> <init>
    1:1:com.android.tools.r8.utils.AndroidApiLevel max(com.android.tools.r8.utils.AndroidApiLevel):72:72 -> a
    2:2:java.util.List getAndroidApiLevelsSorted():80:80 -> a
    3:13:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):84:94 -> a
    14:14:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):92:92 -> a
    15:15:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):90:90 -> a
    16:16:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):88:88 -> a
    17:17:com.android.tools.r8.utils.AndroidApiLevel getMinAndroidApiLevel(com.android.tools.r8.utils.DexVersion):86:86 -> a
    18:91:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):99:172 -> a
    92:92:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):168:168 -> a
    93:93:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):166:166 -> a
    94:94:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):164:164 -> a
    95:95:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):162:162 -> a
    96:96:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):160:160 -> a
    97:97:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):158:158 -> a
    98:98:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):156:156 -> a
    99:99:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):154:154 -> a
    100:100:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):152:152 -> a
    101:101:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):150:150 -> a
    102:102:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):148:148 -> a
    103:103:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):146:146 -> a
    104:104:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):144:144 -> a
    105:105:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):142:142 -> a
    106:106:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):140:140 -> a
    107:107:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):138:138 -> a
    108:108:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):136:136 -> a
    109:109:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):134:134 -> a
    110:110:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):132:132 -> a
    111:111:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):130:130 -> a
    112:112:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):128:128 -> a
    113:113:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):126:126 -> a
    114:114:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):124:124 -> a
    115:115:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):122:122 -> a
    116:116:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):120:120 -> a
    117:117:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):118:118 -> a
    118:118:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):116:116 -> a
    119:119:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):114:114 -> a
    120:120:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):112:112 -> a
    121:121:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):110:110 -> a
    122:122:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):108:108 -> a
    123:123:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):106:106 -> a
    124:190:com.android.tools.r8.utils.AndroidApiLevel getAndroidApiLevel(int):104:170 -> a
    1:1:com.android.tools.r8.utils.AndroidApiLevel getDefault():68:68 -> b
    1:1:com.android.tools.r8.utils.DexVersion getDexVersion():76:76 -> c
    1:1:int getLevel():60:60 -> d
    1:1:com.android.tools.r8.utils.AndroidApiLevel[] values():12:12 -> e
com.android.tools.r8.utils.AndroidApiLevel$1 -> com.android.tools.r8.internal.Q1:
    int[] $SwitchMap$com$android$tools$r8$utils$DexVersion -> a
    1:1:void <clinit>():84:84 -> <clinit>
com.android.tools.r8.utils.AndroidApiLevelUtils -> com.android.tools.r8.internal.Y1:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():17:17 -> <clinit>
    1:18:boolean isApiSafeForInlining(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.utils.InternalOptions,com.android.tools.r8.ir.optimize.inliner.WhyAreYouNotInliningReporter):30:47 -> a
    19:19:boolean isApiSafeForMemberRebinding(com.android.tools.r8.graph.LibraryMethod,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.utils.InternalOptions):85:85 -> a
    20:26:boolean isApiSafeForMemberRebinding(com.android.tools.r8.graph.LibraryMethod,com.android.tools.r8.androidapi.AndroidApiLevelCompute,com.android.tools.r8.utils.InternalOptions):84:90 -> a
com.android.tools.r8.utils.AndroidApp -> com.android.tools.r8.utils.j:
    com.android.tools.r8.StringResource proguardMapInputData -> g
    boolean $assertionsDisabled -> j
    com.android.tools.r8.StringResource proguardMapOutputData -> f
    com.android.tools.r8.com.google.common.collect.ImmutableList archiveProvidersToClose -> e
    java.util.List mainDexClasses -> i
    com.android.tools.r8.com.google.common.collect.ImmutableMap programResourcesMainDescriptor -> b
    java.util.List mainDexListResources -> h
    com.android.tools.r8.com.google.common.collect.ImmutableList programResourceProviders -> a
    com.android.tools.r8.com.google.common.collect.ImmutableList libraryResourceProviders -> d
    com.android.tools.r8.com.google.common.collect.ImmutableList classpathResourceProviders -> c
    1:1:void <clinit>():90:90 -> <clinit>
    1:1:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.StringResource,com.android.tools.r8.StringResource,java.util.List,java.util.List,com.android.tools.r8.utils.AndroidApp$1):90:90 -> <init>
    2:13:void <init>(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableMap,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.StringResource,com.android.tools.r8.StringResource,java.util.List,java.util.List):198:209 -> <init>
    1:1:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
    2:6:java.util.Map dumpFeatureSplitFileNames(com.android.tools.r8.features.FeatureSplitConfiguration):106:110 -> a
    2:6:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):594 -> a
    7:24:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):595:612 -> a
    25:25:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.<init>():119:119 -> a
    25:25:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):612 -> a
    26:32:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):613:619 -> a
    33:67:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):616:650 -> a
    68:77:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):647:656 -> a
    78:91:void closeOutputStreams(java.util.Collection):664:677 -> a
    78:91:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):656 -> a
    92:92:void closeOutputStreams(java.util.Collection):674:674 -> a
    92:92:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):656 -> a
    93:124:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):611:642 -> a
    125:171:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):610:656 -> a
    172:174:void closeOutputStreams(java.util.Collection):664:666 -> a
    172:174:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):656 -> a
    175:175:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):656:656 -> a
    176:176:void closeOutputStreams(java.util.Collection):677:677 -> a
    176:176:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):656 -> a
    177:177:void closeOutputStreams(java.util.Collection):674:674 -> a
    177:177:int dumpProgramResources(java.lang.String,com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.experimental.startup.StartupConfiguration,int,java.util.zip.ZipOutputStream,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):656 -> a
    java.util.zip.ZipOutputStream lambda$dumpClassFileResources$3(java.util.zip.ZipOutputStream,java.lang.String) -> a
    178:178:com.android.tools.r8.com.google.common.collect.ImmutableList access$200(com.android.tools.r8.utils.AndroidApp):90:90 -> a
    179:180:boolean verifyInternalProvidersInCloseSet(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.com.google.common.collect.ImmutableList):215:216 -> a
    181:181:boolean lambda$verifyInternalProvidersInCloseSet$0(com.android.tools.r8.com.google.common.collect.ImmutableList,com.android.tools.r8.ClassFileResourceProvider):217:217 -> a
    182:182:com.android.tools.r8.utils.AndroidApp$Builder builder(com.android.tools.r8.utils.Reporter):233:233 -> a
    183:183:com.android.tools.r8.utils.AndroidApp$Builder builder(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.Reporter):245:245 -> a
    184:186:int applicationSize():250:250 -> a
    188:196:int applicationSize():252:252 -> a
    203:203:int applicationSize():259:259 -> a
    204:204:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):259:259 -> a
    205:208:void write(java.nio.file.Path,com.android.tools.r8.OutputMode):417:420 -> a
    209:210:java.lang.String getPrimaryClassDescriptor(com.android.tools.r8.Resource):465:466 -> a
    211:215:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):474:478 -> a
    216:219:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):477:480 -> a
    220:226:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):479:485 -> a
    227:248:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):482:503 -> a
    249:258:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):500:509 -> a
    259:259:java.util.List getMainDexListResources():389:389 -> a
    259:259:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):511 -> a
    260:261:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):511:512 -> a
    262:262:java.util.List getMainDexClasses():396:396 -> a
    262:262:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):515 -> a
    263:273:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):515:525 -> a
    274:283:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):522:531 -> a
    284:284:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):529:529 -> a
    285:286:int dumpClasspathResources(int,java.util.zip.ZipOutputStream):553:554 -> a
    285:286:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):537 -> a
    287:288:int dumpLibraryResources(int,java.util.zip.ZipOutputStream):546:547 -> a
    287:288:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):538 -> a
    289:289:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):539:539 -> a
    290:354:void dump(java.nio.file.Path,com.android.tools.r8.dump.DumpOptions,com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexItemFactory):476:540 -> a
    355:359:java.util.zip.ZipOutputStream lambda$dumpProgramResources$2(com.android.tools.r8.features.FeatureSplitConfiguration,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.features.ClassToFeatureSplitMap,java.util.Map,java.util.zip.ZipOutputStream,java.lang.String):629:633 -> a
    360:362:int dumpClassFileResources(java.lang.String,int,java.util.zip.ZipOutputStream,com.android.tools.r8.com.google.common.collect.ImmutableList):687:689 -> a
    363:363:void com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntOpenHashMap.<init>():119:119 -> a
    363:363:int dumpClassFileResources(java.lang.String,int,java.util.zip.ZipOutputStream,com.android.tools.r8.com.google.common.collect.ImmutableList):689 -> a
    364:380:int dumpClassFileResources(java.lang.String,int,java.util.zip.ZipOutputStream,com.android.tools.r8.com.google.common.collect.ImmutableList):690:706 -> a
    381:397:int dumpClassFileResources(java.lang.String,int,java.util.zip.ZipOutputStream,com.android.tools.r8.com.google.common.collect.ImmutableList):688:704 -> a
    398:417:int dumpClassFileResources(java.lang.String,int,java.util.zip.ZipOutputStream,com.android.tools.r8.com.google.common.collect.ImmutableList):687:706 -> a
    418:424:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):717:723 -> a
    425:425:java.lang.String extractClassDescriptor(byte[]):762:762 -> a
    425:425:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):722 -> a
    426:426:void com.android.tools.r8.org.objectweb.asm.ClassReader.<init>(byte[]):166:166 -> a
    426:426:java.lang.String extractClassDescriptor(byte[]):762 -> a
    426:426:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):722 -> a
    427:433:java.lang.String extractClassDescriptor(byte[]):763:769 -> a
    427:433:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):722 -> a
    434:439:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):724:729 -> a
    440:443:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):728:731 -> a
    444:444:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1179,"2":1180,"3":1181}}
    1179:1179:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):732:732 -> a
    1180:1180:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):732:732 -> a
    1181:1181:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):732:732 -> a
    445:445:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1182,"2":1183,"3":1184}}
    1182:1182:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):732:732 -> a
    1183:1183:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):732:732 -> a
    1184:1184:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):732:732 -> a
    1178:1178:int dumpProgramResource(com.android.tools.r8.it.unimi.dsi.fastutil.objects.Object2IntMap,int,java.util.function.Function,java.util.zip.ZipOutputStream,com.android.tools.r8.ProgramResource):733:733 -> a
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$300(com.android.tools.r8.utils.AndroidApp):90:90 -> b
    2:2:com.android.tools.r8.utils.Reporter defaultReporter():221:221 -> b
    2:2:com.android.tools.r8.utils.AndroidApp$Builder builder():228 -> b
    3:3:com.android.tools.r8.utils.AndroidApp$Builder builder():228:228 -> b
    4:13:void writeToDirectory(java.nio.file.Path,com.android.tools.r8.OutputMode):428:437 -> b
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$400(com.android.tools.r8.utils.AndroidApp):90:90 -> c
    2:3:void closeInternalArchiveProviders():131:132 -> c
    4:6:void writeToZip(java.nio.file.Path,com.android.tools.r8.OutputMode):444:446 -> c
    7:16:void writeToZip(java.nio.file.Path,com.android.tools.r8.OutputMode):445:454 -> c
    17:20:void writeToZip(java.nio.file.Path,com.android.tools.r8.OutputMode):453:456 -> c
    21:31:void writeToZip(java.nio.file.Path,com.android.tools.r8.OutputMode):449:459 -> c
    1:1:com.android.tools.r8.com.google.common.collect.ImmutableList access$500(com.android.tools.r8.utils.AndroidApp):90:90 -> d
    2:4:java.util.Collection computeAllProgramResources():265:267 -> d
    1:1:java.util.List access$600(com.android.tools.r8.utils.AndroidApp):90:90 -> e
    2:2:java.util.List getClassProgramResourcesForTesting():288:288 -> e
    3:7:java.util.List filter(java.util.List,com.android.tools.r8.ProgramResource$Kind):345:349 -> e
    3:7:java.util.List getClassProgramResourcesForTesting():288 -> e
    8:11:java.util.List getClassProgramResourcesForTesting():290:293 -> e
    1:1:java.util.List access$700(com.android.tools.r8.utils.AndroidApp):90:90 -> f
    2:2:java.util.List getClasspathResourceProviders():335:335 -> f
    1:1:com.android.tools.r8.StringResource access$800(com.android.tools.r8.utils.AndroidApp):90:90 -> g
    2:6:java.util.Set getDataEntryResourcesForTesting():299:303 -> g
    1:1:com.android.tools.r8.utils.Reporter defaultReporter():221:221 -> h
    1:1:com.android.tools.r8.utils.AndroidApp$Builder builder(com.android.tools.r8.utils.AndroidApp):240 -> h
    2:2:com.android.tools.r8.utils.AndroidApp$Builder builder(com.android.tools.r8.utils.AndroidApp):240:240 -> h
    3:3:java.util.List getDexProgramResourcesForTesting():275:275 -> h
    4:8:java.util.List filter(java.util.List,com.android.tools.r8.ProgramResource$Kind):345:349 -> h
    4:8:java.util.List getDexProgramResourcesForTesting():275 -> h
    9:12:java.util.List getDexProgramResourcesForTesting():277:280 -> h
    1:1:java.util.List getLibraryResourceProviders():340:340 -> i
    1:1:java.util.List getMainDexClasses():396:396 -> j
    1:1:java.util.List getMainDexListResources():389:389 -> k
    1:1:java.util.List getProgramResourceProviders():330:330 -> l
    1:1:com.android.tools.r8.StringResource getProguardMapInputData():368:368 -> m
    1:1:com.android.tools.r8.StringResource getProguardMapOutputData():363:363 -> n
    1:1:boolean hasMainDexList():375:375 -> o
    1:1:boolean hasMainDexListResources():382:382 -> p
    1:11:void validateInputs():773:783 -> q
    12:12:void com.android.tools.r8.org.objectweb.asm.tree.ClassNode.<init>():149:149 -> q
    12:12:void validateInputs():783 -> q
    13:21:void validateInputs():783:791 -> q
    1:10:com.android.tools.r8.utils.AndroidApp withoutMainDexList():401:410 -> r
    1:5:java.lang.String toString():138:142 -> toString
    6:7:void printProgramResourceProviders(java.lang.StringBuilder,java.util.Collection):161:162 -> toString
    6:7:java.lang.String toString():142 -> toString
    8:14:void printProgramResource(java.lang.StringBuilder,com.android.tools.r8.ProgramResource):179:185 -> toString
    8:14:void printProgramResourceProviders(java.lang.StringBuilder,java.util.Collection):163 -> toString
    8:14:java.lang.String toString():142 -> toString
    15:17:java.lang.String toString():144:146 -> toString
    18:20:void printClassFileProviders(java.lang.StringBuilder,java.util.Collection):170:172 -> toString
    18:20:java.lang.String toString():146 -> toString
    21:27:void printProgramResource(java.lang.StringBuilder,com.android.tools.r8.ProgramResource):179:185 -> toString
    21:27:void printClassFileProviders(java.lang.StringBuilder,java.util.Collection):173 -> toString
    21:27:java.lang.String toString():146 -> toString
    28:30:java.lang.String toString():148:150 -> toString
    31:33:void printClassFileProviders(java.lang.StringBuilder,java.util.Collection):170:172 -> toString
    31:33:java.lang.String toString():150 -> toString
    34:40:void printProgramResource(java.lang.StringBuilder,com.android.tools.r8.ProgramResource):179:185 -> toString
    34:40:void printClassFileProviders(java.lang.StringBuilder,java.util.Collection):173 -> toString
    34:40:java.lang.String toString():150 -> toString
    41:43:java.lang.String toString():153:155 -> toString
com.android.tools.r8.utils.AndroidApp$1 -> com.android.tools.r8.utils.b:
    java.util.Set val$out -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp,java.util.Set):304:304 -> <init>
    1:6:void visit(com.android.tools.r8.DataEntryResource):314:319 -> visit
com.android.tools.r8.utils.AndroidApp$1ClassNameExtractor -> com.android.tools.r8.utils.c:
    java.lang.String className -> c
    1:1:void <init>():743:743 -> <init>
    1:1:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):754:754 -> a
    1:1:java.lang.String getDescriptor():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1518,"2":1519,"3":1520}}
    1518:1518:java.lang.String getDescriptor():758:758 -> b
    1519:1519:java.lang.String getDescriptor():758:758 -> b
    1520:1520:java.lang.String getDescriptor():758:758 -> b
    759:759:java.lang.String getDescriptor():758:758 -> b
    760:760:java.lang.String getDescriptor():0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1521,"2":1522,"3":1523}}
    1521:1521:java.lang.String getDescriptor():758:758 -> b
    1522:1522:java.lang.String getDescriptor():758:758 -> b
    1523:1523:java.lang.String getDescriptor():758:758 -> b
com.android.tools.r8.utils.AndroidApp$2 -> com.android.tools.r8.utils.d:
    java.util.Map val$classPathResources -> b
    1:1:void <init>(java.util.Map):561:561 -> <init>
    1:1:java.util.Set getClassDescriptors():564:564 -> getClassDescriptors
    1:1:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):569:569 -> getProgramResource
com.android.tools.r8.utils.AndroidApp$3 -> com.android.tools.r8.utils.e:
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp,int,com.android.tools.r8.org.objectweb.asm.ClassVisitor,boolean):784:784 -> <init>
com.android.tools.r8.utils.AndroidApp$Builder -> com.android.tools.r8.utils.j$a:
    boolean $assertionsDisabled -> n
    boolean ignoreDexInArchive -> j
    com.android.tools.r8.StringResource proguardMapOutputData -> k
    com.android.tools.r8.StringResource proguardMapInputData -> l
    java.util.List programResources -> b
    java.util.List programResourceProviders -> a
    com.android.tools.r8.utils.Reporter reporter -> m
    java.util.Map programResourcesMainDescriptor -> d
    java.util.List libraryResourceProviders -> f
    java.util.List classpathResourceProviders -> e
    java.util.List dataResources -> c
    java.util.List mainDexListClasses -> i
    java.util.List mainDexListResources -> h
    java.util.List archiveProvidersToClose -> g
    1:1:void <clinit>():799:799 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.AndroidApp$1):799:799 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.utils.AndroidApp$1):799:799 -> <init>
    3:3:void <init>(com.android.tools.r8.utils.Reporter):819:819 -> <init>
    4:23:void <init>(com.android.tools.r8.utils.Reporter):801:820 -> <init>
    24:31:void <init>(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.AndroidApp):825:832 -> <init>
    1:5:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):845:849 -> a
    6:20:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):896:910 -> a
    6:20:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    21:26:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):906:911 -> a
    21:26:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    27:28:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> a
    27:28:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):912 -> a
    27:28:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    29:32:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):913:916 -> a
    29:32:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    33:40:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):915:922 -> a
    33:40:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    41:41:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):921:921 -> a
    41:41:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    42:42:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):889:889 -> a
    42:42:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):925 -> a
    42:42:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    43:44:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):926:927 -> a
    43:44:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    45:45:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):898:898 -> a
    45:45:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    46:46:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):889:889 -> a
    46:46:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):925 -> a
    46:46:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    47:47:void readProgramDump(com.android.tools.r8.origin.Origin,java.io.InputStream):925:925 -> a
    47:47:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):850 -> a
    48:53:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):851:856 -> a
    54:54:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":911,"2":912,"3":913}}
    911:911:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):856:856 -> a
    912:912:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):856:856 -> a
    913:913:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):856:856 -> a
    910:910:void lambda$addDump$0(com.android.tools.r8.origin.Origin,java.util.zip.ZipEntry,java.io.InputStream):856:856 -> a
    914:927:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):868:881 -> a
    928:937:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):877:886 -> a
    938:938:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):889:889 -> a
    938:938:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):889 -> a
    939:940:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):890:891 -> a
    941:941:com.android.tools.r8.ClassFileResourceProvider com.android.tools.r8.utils.AndroidApp.createClassFileResourceProvider(java.util.Map):561:561 -> a
    941:941:com.android.tools.r8.ClassFileResourceProvider com.android.tools.r8.utils.AndroidApp.access$900(java.util.Map):90 -> a
    941:941:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):891 -> a
    942:942:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):891:891 -> a
    943:943:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):869:869 -> a
    944:944:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):889:889 -> a
    944:944:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):889 -> a
    945:945:void readClassFileDump(com.android.tools.r8.origin.Origin,java.io.InputStream,java.util.function.Consumer,java.lang.String):889:889 -> a
    946:947:com.android.tools.r8.utils.AndroidApp$Builder addProgramResourceProvider(com.android.tools.r8.ProgramResourceProvider):983:984 -> a
    948:948:com.android.tools.r8.utils.AndroidApp$Builder addClasspathFile(java.nio.file.Path):1003:1003 -> a
    949:949:com.android.tools.r8.utils.AndroidApp$Builder addClasspathResourceProvider(com.android.tools.r8.ClassFileResourceProvider):1011:1011 -> a
    950:950:com.android.tools.r8.utils.AndroidApp$Builder addLibraryFiles(java.nio.file.Path[]):1017:1017 -> a
    951:953:com.android.tools.r8.utils.AndroidApp$Builder addDexProgramData(byte[],java.util.Set):1072:1072 -> a
    954:954:com.android.tools.r8.utils.AndroidApp$Builder addDexProgramData(byte[],java.util.Set,java.lang.String):1085:1085 -> a
    955:958:com.android.tools.r8.utils.AndroidApp$Builder addDexProgramData(byte[],java.util.Set,java.lang.String):1084:1087 -> a
    959:959:com.android.tools.r8.utils.AndroidApp$Builder addClassProgramData(byte[][]):1111:1111 -> a
    960:961:com.android.tools.r8.utils.AndroidApp$Builder addClassProgramData(java.util.Collection):1116:1117 -> a
    962:962:com.android.tools.r8.utils.AndroidApp$Builder addClassProgramData(byte[],com.android.tools.r8.origin.Origin):1126:1126 -> a
    963:963:com.android.tools.r8.utils.AndroidApp$Builder addClassProgramData(byte[],com.android.tools.r8.origin.Origin,java.util.Set):1130:1130 -> a
    964:964:com.android.tools.r8.utils.AndroidApp$Builder addDataResource(com.android.tools.r8.DataResource):1136:1136 -> a
    965:965:void addDataResources(com.android.tools.r8.DataResource[]):1285:1285 -> a
    965:965:com.android.tools.r8.utils.AndroidApp$Builder addDataResource(com.android.tools.r8.DataResource):1136 -> a
    966:966:void addDataResources(java.util.Collection):1289:1289 -> a
    966:966:void addDataResources(com.android.tools.r8.DataResource[]):1285 -> a
    966:966:com.android.tools.r8.utils.AndroidApp$Builder addDataResource(com.android.tools.r8.DataResource):1136 -> a
    967:967:com.android.tools.r8.utils.AndroidApp$Builder setProguardMapOutputData(java.lang.String):1147:1147 -> a
    968:968:com.android.tools.r8.utils.AndroidApp$Builder addMainDexClasses(java.lang.String[]):1179:1179 -> a
    969:969:com.android.tools.r8.utils.AndroidApp$Builder addMainDexClasses(java.util.Collection):1186:1186 -> a
    969:969:com.android.tools.r8.utils.AndroidApp$Builder addMainDexClasses(java.lang.String[]):1179 -> a
    970:970:com.android.tools.r8.utils.AndroidApp$Builder setIgnoreDexInArchive(boolean):1202:1202 -> a
    971:1010:com.android.tools.r8.utils.AndroidApp build():1210:1249 -> a
    1011:1011:void addProgramResources(com.android.tools.r8.ProgramResource[]):1277:1277 -> a
    1012:1012:void addProgramResources(java.util.Collection):1281:1281 -> a
    1012:1012:void addProgramResources(com.android.tools.r8.ProgramResource[]):1277 -> a
    1013:1016:void addClasspathOrLibraryProvider(java.nio.file.Path,java.util.List):1294:1297 -> a
    1017:1032:void addClasspathOrLibraryProvider(java.nio.file.Path,java.util.List):1295:1310 -> a
    1033:1033:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    1033:1033:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> a
    1033:1033:void addClasspathOrLibraryProvider(java.nio.file.Path,java.util.List):1310 -> a
    1034:1034:void addClasspathOrLibraryProvider(java.nio.file.Path,java.util.List):1310:1310 -> a
    1:4:com.android.tools.r8.utils.AndroidApp$Builder addDump(java.nio.file.Path):840:843 -> b
    5:5:com.android.tools.r8.utils.AndroidApp$Builder addDump(java.nio.file.Path):842:842 -> b
    6:6:com.android.tools.r8.utils.AndroidApp$Builder addProgramFiles(java.nio.file.Path[]):953:953 -> b
    7:7:com.android.tools.r8.utils.AndroidApp$Builder addClasspathFiles(java.util.Collection):995:995 -> b
    8:8:com.android.tools.r8.utils.AndroidApp$Builder addClasspathFile(java.nio.file.Path):1003:1003 -> b
    8:8:com.android.tools.r8.utils.AndroidApp$Builder addClasspathFiles(java.util.Collection):996 -> b
    9:12:com.android.tools.r8.utils.AndroidApp$Builder addLibraryResourceProvider(com.android.tools.r8.ClassFileResourceProvider):1061:1064 -> b
    13:13:com.android.tools.r8.utils.AndroidApp$Builder addDexProgramData(byte[],com.android.tools.r8.origin.Origin):1095:1095 -> b
    14:14:java.util.List getProgramResourceProviders():1315:1315 -> b
    1:1:com.android.tools.r8.utils.Reporter getReporter():836:836 -> c
    2:2:com.android.tools.r8.utils.AndroidApp$Builder addLibraryFile(java.nio.file.Path):1030:1030 -> c
    3:4:com.android.tools.r8.utils.AndroidApp$Builder addDexProgramData(java.util.Collection):1103:1104 -> c
    1:16:com.android.tools.r8.utils.AndroidApp$Builder addFilteredLibraryArchives(java.util.Collection):1036:1051 -> d
    17:17:com.android.tools.r8.utils.AndroidApp$Builder addFilteredLibraryArchives(java.util.Collection):1047:1047 -> d
    18:18:boolean hasMainDexList():1191:1191 -> d
    19:27:com.android.tools.r8.utils.AndroidApp$Builder addProgramFile(java.nio.file.Path):1257:1265 -> d
    28:29:boolean com.android.tools.r8.utils.FileUtils.isAarFile(java.nio.file.Path):73:74 -> d
    28:29:com.android.tools.r8.utils.AndroidApp$Builder addProgramFile(java.nio.file.Path):1266 -> d
    30:30:com.android.tools.r8.utils.AarArchiveResourceProvider com.android.tools.r8.utils.AarArchiveResourceProvider.fromArchive(java.nio.file.Path):38:38 -> d
    30:30:com.android.tools.r8.utils.AndroidApp$Builder addProgramFile(java.nio.file.Path):1267 -> d
    31:35:com.android.tools.r8.utils.AndroidApp$Builder addProgramFile(java.nio.file.Path):1267:1271 -> d
    36:36:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> d
    36:36:com.android.tools.r8.utils.AndroidApp$Builder addProgramFile(java.nio.file.Path):1271 -> d
    37:37:com.android.tools.r8.utils.AndroidApp$Builder addProgramFile(java.nio.file.Path):1271:1271 -> d
    1:11:com.android.tools.r8.utils.AndroidApp$Builder addFilteredProgramArchives(java.util.Collection):966:976 -> e
    12:12:com.android.tools.r8.utils.AndroidApp$Builder addFilteredProgramArchives(java.util.Collection):972:972 -> e
    13:13:com.android.tools.r8.utils.AndroidApp$Builder setProguardMapInputData(java.nio.file.Path):1152:1152 -> e
    1:2:com.android.tools.r8.utils.AndroidApp$Builder addLibraryFiles(java.util.Collection):1022:1023 -> f
    1:1:com.android.tools.r8.utils.AndroidApp$Builder addMainDexClasses(java.util.Collection):1186:1186 -> g
    1:7:com.android.tools.r8.utils.AndroidApp$Builder addMainDexListFiles(java.util.Collection):1164:1170 -> h
    8:8:com.android.tools.r8.utils.AndroidApp$Builder addMainDexListFiles(java.util.Collection):1166:1166 -> h
    1:2:com.android.tools.r8.utils.AndroidApp$Builder addProgramFiles(java.util.Collection):958:959 -> i
com.android.tools.r8.utils.AndroidApp$Builder$1 -> com.android.tools.r8.utils.g:
    java.util.List val$dataResources -> b
    java.util.List val$programResources -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp$Builder,java.util.List,java.util.List):928:928 -> <init>
    1:3:com.android.tools.r8.DataResourceProvider getDataResourceProvider():936:938 -> getDataResourceProvider
    1:1:java.util.Collection getProgramResources():931:931 -> getProgramResources
com.android.tools.r8.utils.AndroidApp$Builder$1$1 -> com.android.tools.r8.utils.f:
    com.android.tools.r8.utils.AndroidApp$Builder$1 this$1 -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp$Builder$1):938:938 -> <init>
    1:2:void accept(com.android.tools.r8.DataResourceProvider$Visitor):941:942 -> accept
com.android.tools.r8.utils.AndroidApp$Builder$2 -> com.android.tools.r8.utils.i:
    java.util.List val$finalDataResources -> b
    java.util.List val$finalProgramResources -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp$Builder,java.util.List,java.util.List):1215:1215 -> <init>
    1:2:com.android.tools.r8.DataResourceProvider getDataResourceProvider():1223:1224 -> getDataResourceProvider
    1:1:java.util.Collection getProgramResources():1218:1218 -> getProgramResources
com.android.tools.r8.utils.AndroidApp$Builder$2$1 -> com.android.tools.r8.utils.h:
    com.android.tools.r8.utils.AndroidApp$Builder$2 this$1 -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():1224:1224 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp$Builder$2):1224:1224 -> <init>
    1:6:void accept(com.android.tools.r8.DataResourceProvider$Visitor):1227:1232 -> accept
com.android.tools.r8.utils.AndroidAppConsumers -> com.android.tools.r8.utils.s:
    com.android.tools.r8.utils.AndroidApp$Builder builder -> a
    boolean $assertionsDisabled -> e
    boolean closed -> b
    com.android.tools.r8.StringConsumer proguardMapConsumer -> d
    com.android.tools.r8.ProgramConsumer programConsumer -> c
    1:1:void <clinit>():30:30 -> <clinit>
    1:1:void <init>():38:38 -> <init>
    2:6:void <init>():32:36 -> <init>
    7:7:void <init>(com.android.tools.r8.BaseCompilerCommand$Builder):42:42 -> <init>
    8:19:void <init>(com.android.tools.r8.BaseCompilerCommand$Builder):32:43 -> <init>
    20:20:void <init>(com.android.tools.r8.utils.InternalOptions):46:46 -> <init>
    21:37:void <init>(com.android.tools.r8.utils.InternalOptions):32:48 -> <init>
    1:1:com.android.tools.r8.utils.AndroidApp$Builder access$000(com.android.tools.r8.utils.AndroidAppConsumers):30:30 -> a
    2:8:com.android.tools.r8.ProgramConsumer wrapProgramConsumer(com.android.tools.r8.ProgramConsumer):52:58 -> a
    9:81:com.android.tools.r8.DexFilePerClassFileConsumer wrapDexFilePerClassFileConsumer(com.android.tools.r8.DexFilePerClassFileConsumer):175:247 -> a
    9:81:com.android.tools.r8.ProgramConsumer wrapProgramConsumer(com.android.tools.r8.ProgramConsumer):58 -> a
    82:86:com.android.tools.r8.ProgramConsumer wrapProgramConsumer(com.android.tools.r8.ProgramConsumer):61:65 -> a
    87:111:com.android.tools.r8.StringConsumer wrapProguardMapConsumer(com.android.tools.r8.StringConsumer):69:93 -> a
    112:184:com.android.tools.r8.DexIndexedConsumer wrapDexIndexedConsumer(com.android.tools.r8.DexIndexedConsumer):97:169 -> a
    185:252:com.android.tools.r8.ClassFileConsumer wrapClassFileConsumer(com.android.tools.r8.ClassFileConsumer):252:319 -> a
    253:254:com.android.tools.r8.utils.AndroidApp build():324:325 -> a
    1:1:boolean access$100(com.android.tools.r8.utils.AndroidAppConsumers):30:30 -> b
    1:1:boolean access$102(com.android.tools.r8.utils.AndroidAppConsumers,boolean):30:30 -> c
com.android.tools.r8.utils.AndroidAppConsumers$1 -> com.android.tools.r8.utils.k:
    com.android.tools.r8.utils.AndroidAppConsumers this$0 -> c
    java.lang.StringBuilder stringBuilder -> b
    1:2:void <init>(com.android.tools.r8.utils.AndroidAppConsumers,com.android.tools.r8.StringConsumer):72:73 -> <init>
    1:5:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):77:81 -> accept
    1:3:void finished(com.android.tools.r8.DiagnosticsHandler):86:88 -> finished
com.android.tools.r8.utils.AndroidAppConsumers$2 -> com.android.tools.r8.utils.m:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap files -> c
    com.android.tools.r8.DexIndexedConsumer val$consumer -> d
    com.android.tools.r8.utils.AndroidAppConsumers this$0 -> e
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():99:99 -> <clinit>
    1:4:void <init>(com.android.tools.r8.utils.AndroidAppConsumers,com.android.tools.r8.DexIndexedConsumer,com.android.tools.r8.DexIndexedConsumer):99:102 -> <init>
    1:1:void lambda$finished$0(java.lang.Integer,com.android.tools.r8.utils.AndroidAppConsumers$DescriptorsWithContents):120:120 -> a
    1:2:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):111:112 -> accept
    3:3:void addDexFile(int,byte[],java.util.Set):166:166 -> accept
    3:3:void accept(int,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):112 -> accept
    1:7:void finished(com.android.tools.r8.DiagnosticsHandler):117:123 -> finished
    1:2:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():130:131 -> getDataResourceConsumer
com.android.tools.r8.utils.AndroidAppConsumers$2$1 -> com.android.tools.r8.utils.l:
    com.android.tools.r8.utils.AndroidAppConsumers$2 this$1 -> b
    com.android.tools.r8.DataResourceConsumer val$dataResourceConsumer -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidAppConsumers$2,com.android.tools.r8.DataResourceConsumer):131:131 -> <init>
    1:2:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):136:137 -> accept
    3:11:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):144:152 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):158:159 -> finished
com.android.tools.r8.utils.AndroidAppConsumers$3 -> com.android.tools.r8.utils.o:
    java.util.TreeMap files -> c
    com.android.tools.r8.utils.AndroidAppConsumers this$0 -> e
    com.android.tools.r8.DexFilePerClassFileConsumer val$consumer -> d
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():177:177 -> <clinit>
    1:4:void <init>(com.android.tools.r8.utils.AndroidAppConsumers,com.android.tools.r8.DexFilePerClassFileConsumer,com.android.tools.r8.DexFilePerClassFileConsumer):177:180 -> <init>
    1:1:void lambda$finished$0(java.lang.String,com.android.tools.r8.utils.AndroidAppConsumers$DescriptorsWithContents):202:202 -> a
    1:2:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):188:189 -> accept
    3:3:void addDexFile(java.lang.String,byte[],java.util.Set):194:194 -> accept
    3:3:void accept(java.lang.String,com.android.tools.r8.ByteDataView,java.util.Set,com.android.tools.r8.DiagnosticsHandler):189 -> accept
    1:7:void finished(com.android.tools.r8.DiagnosticsHandler):199:205 -> finished
    1:2:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():212:213 -> getDataResourceConsumer
com.android.tools.r8.utils.AndroidAppConsumers$3$1 -> com.android.tools.r8.utils.n:
    com.android.tools.r8.utils.AndroidAppConsumers$3 this$1 -> b
    com.android.tools.r8.DataResourceConsumer val$dataResourceConsumer -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidAppConsumers$3,com.android.tools.r8.DataResourceConsumer):213:213 -> <init>
    1:2:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):218:219 -> accept
    3:11:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):226:234 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):240:241 -> finished
com.android.tools.r8.utils.AndroidAppConsumers$4 -> com.android.tools.r8.utils.q:
    com.android.tools.r8.ClassFileConsumer val$consumer -> d
    com.android.tools.r8.utils.AndroidAppConsumers this$0 -> e
    java.util.List files -> c
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():254:254 -> <clinit>
    1:3:void <init>(com.android.tools.r8.utils.AndroidAppConsumers,com.android.tools.r8.ClassFileConsumer,com.android.tools.r8.ClassFileConsumer):254:256 -> <init>
    1:1:void lambda$finished$0(com.android.tools.r8.utils.AndroidAppConsumers$DescriptorsWithContents):274:274 -> a
    1:2:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):260:261 -> accept
    3:3:void addClassFile(byte[],java.lang.String):265:265 -> accept
    3:3:void accept(com.android.tools.r8.ByteDataView,java.lang.String,com.android.tools.r8.DiagnosticsHandler):261 -> accept
    1:8:void finished(com.android.tools.r8.DiagnosticsHandler):270:277 -> finished
    1:2:com.android.tools.r8.DataResourceConsumer getDataResourceConsumer():284:285 -> getDataResourceConsumer
com.android.tools.r8.utils.AndroidAppConsumers$4$1 -> com.android.tools.r8.utils.p:
    com.android.tools.r8.utils.AndroidAppConsumers$4 this$1 -> b
    com.android.tools.r8.DataResourceConsumer val$dataResourceConsumer -> a
    1:1:void <init>(com.android.tools.r8.utils.AndroidAppConsumers$4,com.android.tools.r8.DataResourceConsumer):285:285 -> <init>
    1:2:void accept(com.android.tools.r8.DataDirectoryResource,com.android.tools.r8.DiagnosticsHandler):290:291 -> accept
    3:11:void accept(com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):298:306 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):312:313 -> finished
com.android.tools.r8.utils.AndroidAppConsumers$DescriptorsWithContents -> com.android.tools.r8.utils.r:
    byte[] contents -> b
    java.util.Set descriptors -> a
    1:1:void <init>(java.util.Set,byte[],com.android.tools.r8.utils.AndroidAppConsumers$1):328:328 -> <init>
    2:4:void <init>(java.util.Set,byte[]):333:335 -> <init>
com.android.tools.r8.utils.ArchiveBuilder -> com.android.tools.r8.internal.F2:
    boolean $assertionsDisabled -> i
    com.android.tools.r8.origin.Origin origin -> b
    java.util.zip.ZipOutputStream stream -> c
    int classesFileIndex -> f
    int openCount -> e
    java.nio.file.Path archive -> a
    java.util.SortedSet delayedWrites -> h
    java.util.Map delayedClassesDexFiles -> g
    boolean closed -> d
    1:1:void <clinit>():29:29 -> <clinit>
    1:1:void <init>(java.nio.file.Path):39:39 -> <init>
    2:11:void <init>(java.nio.file.Path):32:41 -> <init>
    1:2:void close(com.android.tools.r8.DiagnosticsHandler):52:53 -> a
    3:7:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):68:72 -> a
    3:7:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    8:15:void com.android.tools.r8.utils.ArchiveBuilder.writeDirectoryNow(java.lang.String,com.android.tools.r8.DiagnosticsHandler):115:122 -> a
    8:15:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):72 -> a
    8:15:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    16:16:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():94:94 -> a
    16:16:void com.android.tools.r8.utils.ArchiveBuilder.writeDirectoryNow(java.lang.String,com.android.tools.r8.DiagnosticsHandler):122 -> a
    16:16:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):72 -> a
    16:16:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    17:23:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStreamRaw():81:87 -> a
    17:23:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():95 -> a
    17:23:void com.android.tools.r8.utils.ArchiveBuilder.writeDirectoryNow(java.lang.String,com.android.tools.r8.DiagnosticsHandler):122 -> a
    17:23:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):72 -> a
    17:23:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    24:25:void com.android.tools.r8.utils.ArchiveBuilder.writeDirectoryNow(java.lang.String,com.android.tools.r8.DiagnosticsHandler):123:124 -> a
    24:25:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):72 -> a
    24:25:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    26:32:void com.android.tools.r8.utils.ArchiveBuilder.handleIOException(java.io.IOException,com.android.tools.r8.DiagnosticsHandler):99:105 -> a
    26:32:void com.android.tools.r8.utils.ArchiveBuilder.writeDirectoryNow(java.lang.String,com.android.tools.r8.DiagnosticsHandler):126 -> a
    26:32:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):72 -> a
    26:32:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    33:33:void com.android.tools.r8.utils.ArchiveBuilder.writeDirectoryNow(java.lang.String,com.android.tools.r8.DiagnosticsHandler):128:128 -> a
    33:33:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):72 -> a
    33:33:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    34:35:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):74:75 -> a
    34:35:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    36:36:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153:153 -> a
    36:36:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):75 -> a
    36:36:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    37:37:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():94:94 -> a
    37:37:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    37:37:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):75 -> a
    37:37:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    38:44:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStreamRaw():81:87 -> a
    38:44:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():95 -> a
    38:44:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    38:44:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):75 -> a
    38:44:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    45:45:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153:153 -> a
    45:45:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):75 -> a
    45:45:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    46:58:void com.android.tools.r8.utils.ZipUtils.writeToZipStream(java.util.zip.ZipOutputStream,java.lang.String,com.android.tools.r8.ByteDataView,int):172:184 -> a
    46:58:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    46:58:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):75 -> a
    46:58:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    59:65:void com.android.tools.r8.utils.ArchiveBuilder.handleIOException(java.io.IOException,com.android.tools.r8.DiagnosticsHandler):99:105 -> a
    59:65:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):155 -> a
    59:65:void com.android.tools.r8.utils.ArchiveBuilder.writeDelayed(com.android.tools.r8.DiagnosticsHandler):75 -> a
    59:65:void close(com.android.tools.r8.DiagnosticsHandler):55 -> a
    66:66:void close(com.android.tools.r8.DiagnosticsHandler):56:56 -> a
    67:73:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStreamRaw():81:87 -> a
    67:73:void close(com.android.tools.r8.DiagnosticsHandler):58 -> a
    74:77:void close(com.android.tools.r8.DiagnosticsHandler):58:61 -> a
    78:78:void addDirectory(java.lang.String,com.android.tools.r8.DiagnosticsHandler):111:111 -> a
    79:84:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):133:138 -> a
    85:85:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):137:137 -> a
    86:94:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):133:141 -> a
    95:95:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":246,"2":247,"3":248}}
    246:246:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):141:141 -> a
    247:247:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):141:141 -> a
    248:248:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):141:141 -> a
    236:238:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):141:141 -> a
    239:245:void com.android.tools.r8.utils.ArchiveBuilder.handleIOException(java.io.IOException,com.android.tools.r8.DiagnosticsHandler):99:105 -> a
    239:245:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):139 -> a
    249:249:void addFile(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):148:148 -> a
    250:250:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):171:171 -> a
    251:251:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153:153 -> a
    251:251:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):173 -> a
    252:252:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():94:94 -> a
    252:252:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    252:252:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):173 -> a
    253:259:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStreamRaw():81:87 -> a
    253:259:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():95 -> a
    253:259:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    253:259:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):173 -> a
    260:260:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153:153 -> a
    260:260:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):173 -> a
    261:273:void com.android.tools.r8.utils.ZipUtils.writeToZipStream(java.util.zip.ZipOutputStream,java.lang.String,com.android.tools.r8.ByteDataView,int):172:184 -> a
    261:273:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    261:273:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):173 -> a
    274:280:void com.android.tools.r8.utils.ArchiveBuilder.handleIOException(java.io.IOException,com.android.tools.r8.DiagnosticsHandler):99:105 -> a
    274:280:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):155 -> a
    274:280:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):173 -> a
    281:281:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):174:174 -> a
    282:284:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):160:162 -> a
    282:284:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    285:285:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153:153 -> a
    285:285:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):162 -> a
    285:285:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    286:286:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():94:94 -> a
    286:286:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    286:286:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):162 -> a
    286:286:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    287:293:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStreamRaw():81:87 -> a
    287:293:java.util.zip.ZipOutputStream com.android.tools.r8.utils.ArchiveBuilder.getStream():95 -> a
    287:293:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    287:293:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):162 -> a
    287:293:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    294:294:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153:153 -> a
    294:294:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):162 -> a
    294:294:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    295:307:void com.android.tools.r8.utils.ZipUtils.writeToZipStream(java.util.zip.ZipOutputStream,java.lang.String,com.android.tools.r8.ByteDataView,int):172:184 -> a
    295:307:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):153 -> a
    295:307:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):162 -> a
    295:307:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    308:314:void com.android.tools.r8.utils.ArchiveBuilder.handleIOException(java.io.IOException,com.android.tools.r8.DiagnosticsHandler):99:105 -> a
    308:314:void com.android.tools.r8.utils.ArchiveBuilder.writeFileNow(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):155 -> a
    308:314:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):162 -> a
    308:314:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    315:316:void com.android.tools.r8.utils.ArchiveBuilder.writeNextIfAvailable(com.android.tools.r8.DiagnosticsHandler):163:164 -> a
    315:316:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):175 -> a
    317:319:void addIndexedClassFile(int,java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):178:178 -> a
    320:320:com.android.tools.r8.origin.Origin getOrigin():185:185 -> a
    1:1:java.nio.file.Path getPath():190:190 -> b
    1:2:void open():46:47 -> c
com.android.tools.r8.utils.ArchiveBuilder$DelayedData -> com.android.tools.r8.internal.E2:
    com.android.tools.r8.ByteDataView content -> c
    java.lang.String name -> b
    boolean isDirectory -> d
    1:1:void <init>(java.lang.String,com.android.tools.r8.ByteDataView,boolean,com.android.tools.r8.utils.ArchiveBuilder$1):193:193 -> <init>
    2:5:void <init>(java.lang.String,com.android.tools.r8.ByteDataView,boolean):206:209 -> <init>
    1:1:com.android.tools.r8.utils.ArchiveBuilder$DelayedData createFile(java.lang.String,com.android.tools.r8.ByteDataView):199:199 -> a
    2:2:com.android.tools.r8.utils.ArchiveBuilder$DelayedData createDirectory(java.lang.String):203:203 -> a
    1:1:int compareTo(java.lang.Object):193:193 -> compareTo
    2:4:int com.android.tools.r8.utils.ArchiveBuilder$DelayedData.compareTo(com.android.tools.r8.utils.ArchiveBuilder$DelayedData):215:217 -> compareTo
    2:4:int compareTo(java.lang.Object):193 -> compareTo
com.android.tools.r8.utils.ArchiveResourceProvider -> com.android.tools.r8.utils.ArchiveResourceProvider:
    com.android.tools.r8.origin.Origin origin -> a
    com.android.tools.r8.shaking.FilteredClassPath archive -> b
    boolean ignoreDexInArchive -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():36:36 -> <clinit>
    1:5:void <init>(com.android.tools.r8.shaking.FilteredClassPath,boolean):47:51 -> <init>
    1:12:java.util.List readArchive():59:70 -> a
    13:14:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> a
    13:14:java.util.List readArchive():70 -> a
    15:18:java.util.List readArchive():71:74 -> a
    19:30:java.util.List readArchive():73:84 -> a
    31:39:java.util.List readArchive():80:88 -> a
    40:69:java.util.List readArchive():66:95 -> a
    70:70:java.util.List readArchive():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":299,"2":300,"3":301}}
    299:299:java.util.List readArchive():95:95 -> a
    300:300:java.util.List readArchive():95:95 -> a
    301:301:java.util.List readArchive():95:95 -> a
    165:165:java.util.List readArchive():95:95 -> a
    166:166:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    166:166:java.util.List readArchive():95 -> a
    167:167:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    167:167:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    167:167:java.util.List readArchive():95 -> a
    168:172:java.util.List readArchive():95:99 -> a
    173:203:java.util.List readArchive():61:91 -> a
    204:204:java.util.List readArchive():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":302,"2":303,"3":304}}
    302:302:java.util.List readArchive():91:91 -> a
    303:303:java.util.List readArchive():91:91 -> a
    304:304:java.util.List readArchive():91:91 -> a
    295:296:java.util.List readArchive():91:92 -> a
    305:305:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):90:90 -> a
    1:7:void accept(com.android.tools.r8.DataResourceProvider$Visitor):118:124 -> accept
    8:8:boolean isProgramResourceName(java.lang.String):142:142 -> accept
    8:8:void accept(com.android.tools.r8.DataResourceProvider$Visitor):124 -> accept
    9:10:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> accept
    9:10:boolean isProgramResourceName(java.lang.String):142 -> accept
    9:10:void accept(com.android.tools.r8.DataResourceProvider$Visitor):124 -> accept
    11:11:boolean isProgramResourceName(java.lang.String):142:142 -> accept
    11:11:void accept(com.android.tools.r8.DataResourceProvider$Visitor):124 -> accept
    12:19:void accept(com.android.tools.r8.DataResourceProvider$Visitor):125:132 -> accept
    20:38:void accept(com.android.tools.r8.DataResourceProvider$Visitor):118:136 -> accept
    39:39:void accept(com.android.tools.r8.DataResourceProvider$Visitor):0:0 -> accept
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":314,"2":315,"3":316}}
    314:314:void accept(com.android.tools.r8.DataResourceProvider$Visitor):136:136 -> accept
    315:315:void accept(com.android.tools.r8.DataResourceProvider$Visitor):136:136 -> accept
    316:316:void accept(com.android.tools.r8.DataResourceProvider$Visitor):136:136 -> accept
    175:176:void accept(com.android.tools.r8.DataResourceProvider$Visitor):136:137 -> accept
    177:177:void accept(com.android.tools.r8.DataResourceProvider$Visitor):133:133 -> accept
    178:178:void accept(com.android.tools.r8.DataResourceProvider$Visitor):0:0 -> accept
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":317,"2":318,"3":319}}
    317:317:void accept(com.android.tools.r8.DataResourceProvider$Visitor):133:133 -> accept
    318:318:void accept(com.android.tools.r8.DataResourceProvider$Visitor):133:133 -> accept
    319:319:void accept(com.android.tools.r8.DataResourceProvider$Visitor):133:133 -> accept
    311:312:void accept(com.android.tools.r8.DataResourceProvider$Visitor):133:134 -> accept
    320:326:void accept(java.util.function.Consumer):146:152 -> accept
    327:327:boolean isProgramResourceName(java.lang.String):142:142 -> accept
    327:327:void accept(java.util.function.Consumer):152 -> accept
    328:329:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> accept
    328:329:boolean isProgramResourceName(java.lang.String):142 -> accept
    328:329:void accept(java.util.function.Consumer):152 -> accept
    330:330:boolean isProgramResourceName(java.lang.String):142:142 -> accept
    330:330:void accept(java.util.function.Consumer):152 -> accept
    331:332:void accept(java.util.function.Consumer):153:154 -> accept
    333:334:boolean com.android.tools.r8.utils.ZipUtils.isDexFile(java.lang.String):188:189 -> accept
    333:334:void accept(java.util.function.Consumer):155 -> accept
    335:337:void accept(java.util.function.Consumer):156:158 -> accept
    338:347:void accept(java.util.function.Consumer):157:166 -> accept
    348:355:void accept(java.util.function.Consumer):162:169 -> accept
    356:374:void accept(java.util.function.Consumer):154:172 -> accept
    375:406:void accept(java.util.function.Consumer):146:177 -> accept
    407:407:void accept(java.util.function.Consumer):0:0 -> accept
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":766,"2":767,"3":768}}
    766:766:void accept(java.util.function.Consumer):177:177 -> accept
    767:767:void accept(java.util.function.Consumer):177:177 -> accept
    768:768:void accept(java.util.function.Consumer):177:177 -> accept
    584:587:void accept(java.util.function.Consumer):177:180 -> accept
    588:588:void accept(java.util.function.Consumer):173:173 -> accept
    589:589:void accept(java.util.function.Consumer):0:0 -> accept
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":769,"2":770,"3":771}}
    769:769:void accept(java.util.function.Consumer):173:173 -> accept
    770:770:void accept(java.util.function.Consumer):173:173 -> accept
    771:771:void accept(java.util.function.Consumer):173:173 -> accept
    762:764:void accept(java.util.function.Consumer):173:175 -> accept
    1:1:com.android.tools.r8.utils.ArchiveResourceProvider fromArchive(java.nio.file.Path,boolean):44:44 -> fromArchive
    2:2:com.android.tools.r8.shaking.FilteredClassPath com.android.tools.r8.shaking.FilteredClassPath.unfiltered(java.nio.file.Path):39:39 -> fromArchive
    2:2:com.android.tools.r8.utils.ArchiveResourceProvider fromArchive(java.nio.file.Path,boolean):44 -> fromArchive
    3:3:void com.android.tools.r8.shaking.FilteredClassPath.<init>(java.nio.file.Path):35:35 -> fromArchive
    3:3:com.android.tools.r8.shaking.FilteredClassPath com.android.tools.r8.shaking.FilteredClassPath.unfiltered(java.nio.file.Path):39 -> fromArchive
    3:3:com.android.tools.r8.utils.ArchiveResourceProvider fromArchive(java.nio.file.Path,boolean):44 -> fromArchive
    4:4:com.android.tools.r8.utils.ArchiveResourceProvider fromArchive(java.nio.file.Path,boolean):44:44 -> fromArchive
    1:1:com.android.tools.r8.origin.Origin getOrigin():55:55 -> getOrigin
    1:3:java.util.Collection getProgramResources():105:107 -> getProgramResources
com.android.tools.r8.utils.ArrayUtils -> com.android.tools.r8.internal.r3:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():14:14 -> <clinit>
    1:10:java.lang.Object[] copyWithSparseChanges(java.lang.Class,java.lang.Object[],java.util.Map):36:45 -> a
    11:11:boolean isEmpty(java.lang.Object[]):51:51 -> a
    12:13:boolean isSorted(int[]):55:56 -> a
    14:33:java.lang.Object[] map(java.lang.Object[],java.util.function.Function,java.lang.Object[]):79:98 -> a
    34:34:java.lang.Object[] filter(java.lang.Object[],java.util.function.Predicate,java.lang.Object[]):102:102 -> a
    35:35:java.lang.Object lambda$filter$0(java.util.function.Predicate,java.lang.Object):102:102 -> a
    36:45:java.lang.Object[] filter(java.lang.Object[],java.util.function.Predicate,java.lang.Object[],int):107:116 -> a
    46:47:java.lang.Object[] appendSingleElement(java.lang.Object[],java.lang.Object):160:161 -> a
    1:1:java.lang.Object last(java.lang.Object[]):66:66 -> b
com.android.tools.r8.utils.AsmUtils -> com.android.tools.r8.internal.x3:
    boolean isDeprecated(int) -> a
com.android.tools.r8.utils.AssertionConfigurationWithDefault -> com.android.tools.r8.internal.z3:
    java.util.List assertionsConfigurations -> b
    com.android.tools.r8.AssertionsConfiguration defaultConfiguration -> a
    java.util.List allAssertionHandlers -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():15:15 -> <clinit>
    1:5:void <init>(com.android.tools.r8.AssertionsConfiguration,java.util.List):23:27 -> <init>
    1:6:java.util.List computeAllAssertionHandlers():45:50 -> a
    7:9:void lambda$computeAllAssertionHandlers$0(java.util.List,com.android.tools.r8.AssertionsConfiguration):52:54 -> a
    1:1:java.util.List getAllAssertionHandlers():41:41 -> b
com.android.tools.r8.utils.AssertionUtils -> com.android.tools.r8.internal.A3:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:boolean assertNotNull(java.lang.Object):12:12 -> a
com.android.tools.r8.utils.BiForEachable -> com.android.tools.r8.internal.K4:
com.android.tools.r8.utils.BiMapContainer -> com.android.tools.r8.internal.M4:
    java.util.Map original -> a
    java.util.Map inverse -> b
    1:3:void <init>(java.util.Map,java.util.Map):21:23 -> <init>
com.android.tools.r8.utils.BiPredicateUtils -> com.android.tools.r8.internal.N4:
    boolean lambda$alwaysFalse$0(java.lang.Object,java.lang.Object) -> a
    1:1:java.util.function.BiPredicate alwaysFalse():12:12 -> a
    2:2:java.util.function.BiPredicate or(java.util.function.BiPredicate[]):21:21 -> a
    3:4:boolean lambda$or$2(java.util.function.BiPredicate[],java.lang.Object,java.lang.Object):22:23 -> a
    boolean lambda$alwaysTrue$1(java.lang.Object,java.lang.Object) -> b
    1:1:java.util.function.BiPredicate alwaysTrue():16:16 -> b
com.android.tools.r8.utils.BitSetUtils -> com.android.tools.r8.internal.i5:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:1:boolean verifyLessThanOrEqualTo(java.util.BitSet,java.util.BitSet):27:27 -> a
    2:3:java.util.BitSet com.android.tools.r8.utils.BitSetUtils.or(java.util.BitSet,java.util.BitSet):21:22 -> a
    2:3:boolean verifyLessThanOrEqualTo(java.util.BitSet,java.util.BitSet):27 -> a
    4:4:boolean verifyLessThanOrEqualTo(java.util.BitSet,java.util.BitSet):27:27 -> a
com.android.tools.r8.utils.BitUtils -> com.android.tools.r8.internal.j5:
    boolean isBitInMaskSet(int,int) -> a
    boolean isBitSet(int,int) -> b
com.android.tools.r8.utils.BooleanBox -> com.android.tools.r8.internal.n5:
    boolean value -> a
    boolean assigned -> b
    1:1:void <init>():14:14 -> <init>
    2:2:void <init>():12:12 -> <init>
    3:3:void <init>(boolean):16:16 -> <init>
    4:9:void <init>(boolean):12:17 -> <init>
    1:1:boolean get():27:27 -> a
    2:2:boolean com.android.tools.r8.utils.BooleanBox.isFalse():31:31 -> a
    2:2:void computeIfNotSet(java.util.function.BooleanSupplier):21 -> a
    3:3:void computeIfNotSet(java.util.function.BooleanSupplier):22:22 -> a
    4:4:void and(boolean):52:52 -> a
    1:1:void or(boolean):56:56 -> b
    2:2:boolean isAssigned():60:60 -> b
    1:1:boolean isTrue():35:35 -> c
    2:3:void set(boolean):43:44 -> c
    1:1:void set():39:39 -> d
com.android.tools.r8.utils.BooleanLatticeElement -> com.android.tools.r8.internal.x5:
    1:1:void <init>():27:27 -> <init>
    boolean isFalse() -> a
    1:1:boolean isPossiblyFalse():52:52 -> b
    1:1:boolean isPossiblyTrue():48:48 -> c
    boolean isTrue() -> d
    boolean isUnknown() -> e
    1:1:int hashCode():74:74 -> hashCode
com.android.tools.r8.utils.BooleanUtils -> com.android.tools.r8.internal.E5:
    java.lang.Boolean[] VALUES -> a
    int $r8$clinit -> b
    1:1:void <clinit>():8:8 -> <clinit>
    int intValue(boolean) -> a
    boolean xor(boolean,boolean) -> a
    1:1:java.lang.Boolean[] values():21:21 -> a
com.android.tools.r8.utils.Box -> com.android.tools.r8.internal.T5:
    java.lang.Object value -> a
    1:1:void <init>():15:15 -> <init>
    2:3:void <init>(java.lang.Object):17:18 -> <init>
    1:4:java.lang.Object computeIfAbsent(java.util.function.Supplier):22:25 -> a
    5:5:void set(java.lang.Object):33:33 -> a
    6:6:void empty():67:67 -> a
    1:1:java.lang.Object get():29:29 -> b
    1:1:boolean isSet():43:43 -> c
    1:5:boolean equals(java.lang.Object):54:58 -> equals
    1:1:int hashCode():63:63 -> hashCode
com.android.tools.r8.utils.CfLineToMethodMapper -> com.android.tools.r8.internal.L7:
    java.util.Map sourceMethodMapping -> a
    com.android.tools.r8.utils.AndroidApp inputApp -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.AndroidApp):25:25 -> <init>
    2:7:void <init>(com.android.tools.r8.utils.AndroidApp):21:26 -> <init>
    1:1:java.util.Map access$100(com.android.tools.r8.utils.CfLineToMethodMapper):19:19 -> a
    2:7:java.lang.String lookupNameAndDescriptor(java.lang.String,int):31:36 -> a
    8:30:void readLineNumbersFromClassFiles():40:62 -> a
    31:36:void lambda$readLineNumbersFromClassFiles$0(com.android.tools.r8.utils.CfLineToMethodMapper$ClassVisitor,com.android.tools.r8.ProgramResource):46:51 -> a
com.android.tools.r8.utils.CfLineToMethodMapper$ClassVisitor -> com.android.tools.r8.internal.J7:
    com.android.tools.r8.utils.CfLineToMethodMapper this$0 -> d
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap currentLineNumberMapping -> c
    1:1:void <init>(com.android.tools.r8.utils.CfLineToMethodMapper,com.android.tools.r8.utils.CfLineToMethodMapper$1):85:85 -> <init>
    2:3:void <init>(com.android.tools.r8.utils.CfLineToMethodMapper):89:90 -> <init>
    4:4:void <init>(com.android.tools.r8.utils.CfLineToMethodMapper):87:87 -> <init>
    1:3:void visit(int,int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):101:103 -> a
    4:4:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):109:109 -> a
    5:5:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":115,"2":116,"3":117,"4":118,"5":119,"6":120}}
    115:115:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):109:109 -> a
    116:116:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):109:109 -> a
    117:117:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):109:109 -> a
    118:118:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):109:109 -> a
    119:119:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):109:109 -> a
    120:120:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):109:109 -> a
    114:114:com.android.tools.r8.org.objectweb.asm.MethodVisitor visitMethod(int,java.lang.String,java.lang.String,java.lang.String,java.lang.String[]):109:109 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap lambda$visit$0(java.lang.String):103:103 -> d
com.android.tools.r8.utils.CfLineToMethodMapper$MethodLineVisitor -> com.android.tools.r8.internal.K7:
    java.lang.String nameAndDescriptor -> j
    java.util.Map lineMethodMapping -> k
    1:1:void <init>(java.lang.String,java.util.Map,com.android.tools.r8.utils.CfLineToMethodMapper$1):114:114 -> <init>
    2:4:void <init>(java.lang.String,java.util.Map):120:122 -> <init>
    1:1:void visitLineNumber(int,com.android.tools.r8.org.objectweb.asm.Label):127:127 -> b
com.android.tools.r8.utils.CfgPrinter -> com.android.tools.r8.internal.Y8:
    java.util.Stack opened -> b
    java.lang.StringBuilder builder -> a
    int nextUnusedValue -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():11:11 -> <clinit>
    1:7:void <init>():11:17 -> <init>
    1:1:com.android.tools.r8.utils.CfgPrinter append(int):55:55 -> a
    2:2:com.android.tools.r8.utils.CfgPrinter append(java.lang.String):60:60 -> a
    3:3:com.android.tools.r8.utils.CfgPrinter ln():70:70 -> a
    1:1:com.android.tools.r8.utils.CfgPrinter begin(java.lang.String):28:28 -> b
    2:2:com.android.tools.r8.utils.CfgPrinter com.android.tools.r8.utils.CfgPrinter.append(java.lang.String):60:60 -> b
    2:2:com.android.tools.r8.utils.CfgPrinter begin(java.lang.String):29 -> b
    3:4:com.android.tools.r8.utils.CfgPrinter begin(java.lang.String):29:30 -> b
    5:5:com.android.tools.r8.utils.CfgPrinter sp():65:65 -> b
    6:7:void com.android.tools.r8.utils.CfgPrinter.printIndent():75:76 -> b
    6:7:com.android.tools.r8.utils.CfgPrinter print(int):43 -> b
    8:8:com.android.tools.r8.utils.CfgPrinter print(int):44:44 -> b
    1:3:com.android.tools.r8.utils.CfgPrinter end(java.lang.String):35:37 -> c
    4:4:com.android.tools.r8.utils.CfgPrinter com.android.tools.r8.utils.CfgPrinter.append(java.lang.String):60:60 -> c
    4:4:com.android.tools.r8.utils.CfgPrinter end(java.lang.String):38 -> c
    5:5:com.android.tools.r8.utils.CfgPrinter end(java.lang.String):38:38 -> c
    1:2:void com.android.tools.r8.utils.CfgPrinter.printIndent():75:76 -> d
    1:2:com.android.tools.r8.utils.CfgPrinter print(java.lang.String):49 -> d
    3:3:com.android.tools.r8.utils.CfgPrinter print(java.lang.String):50:50 -> d
    1:1:java.lang.String toString():82:82 -> toString
com.android.tools.r8.utils.ChainableStringConsumer -> com.android.tools.r8.internal.a9:
    com.android.tools.r8.utils.ChainableStringConsumer accept(java.lang.String) -> a
    1:1:com.android.tools.r8.utils.ChainableStringConsumer wrap(java.util.function.Consumer):15:15 -> a
com.android.tools.r8.utils.ChainableStringConsumer$1 -> com.android.tools.r8.internal.Z8:
    java.util.function.Consumer val$consumer -> a
    1:1:void <init>(java.util.function.Consumer):15:15 -> <init>
    1:1:com.android.tools.r8.utils.ChainableStringConsumer accept(java.lang.String):18:18 -> a
com.android.tools.r8.utils.ClassMap -> com.android.tools.r8.internal.pa:
    java.util.Map classes -> a
    java.util.concurrent.atomic.AtomicReference classProvider -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():35:35 -> <clinit>
    1:1:void <init>(java.util.Map,com.android.tools.r8.utils.ClassProvider):59:59 -> <init>
    2:7:void <init>(java.util.Map,com.android.tools.r8.utils.ClassProvider):57:62 -> <init>
    java.util.function.Supplier getTransparentSupplier(com.android.tools.r8.graph.DexClass) -> a
    com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass) -> a
    1:6:java.util.function.Supplier lambda$get$0(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):106:111 -> a
    7:12:void clearType(com.android.tools.r8.graph.DexType):123:128 -> a
    13:17:java.lang.Iterable getAllClassProviderTypes():167:171 -> a
    18:18:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    18:18:java.lang.Iterable getAllClassProviderTypes():171 -> a
    19:19:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    19:19:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    19:19:java.lang.Iterable getAllClassProviderTypes():171 -> a
    20:20:java.lang.Iterable getAllClassProviderTypes():171:171 -> a
    21:79:void forceLoad(java.util.function.Predicate):187:245 -> a
    1:28:com.android.tools.r8.graph.DexClass get(com.android.tools.r8.graph.DexType):88:115 -> b
    29:29:com.android.tools.r8.graph.DexClass get(com.android.tools.r8.graph.DexType):113:113 -> b
    30:40:java.util.List getAllClasses():135:145 -> b
    41:41:java.util.List getAllClasses():136:136 -> b
    1:9:com.android.tools.r8.com.google.common.collect.ImmutableMap getAllClassesInMap():151:159 -> c
    10:10:com.android.tools.r8.com.google.common.collect.ImmutableMap getAllClassesInMap():152:152 -> c
    1:1:java.lang.Iterable getAllTypes():163:163 -> d
    com.android.tools.r8.graph.ClassKind getClassKind() -> e
    1:1:boolean isFullyLoaded():249:249 -> f
    1:1:java.lang.String toString():80:80 -> toString
com.android.tools.r8.utils.ClassMap$ConcurrentClassLoader -> com.android.tools.r8.internal.oa:
    com.android.tools.r8.graph.DexType type -> d
    boolean ready -> f
    boolean $assertionsDisabled -> g
    com.android.tools.r8.graph.DexClass clazz -> e
    com.android.tools.r8.utils.ClassMap classMap -> b
    com.android.tools.r8.utils.ClassProvider provider -> c
    1:1:void <clinit>():255:255 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.ClassMap,com.android.tools.r8.utils.ClassProvider,com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.ClassMap$1):255:255 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.ClassMap,com.android.tools.r8.utils.ClassProvider,com.android.tools.r8.graph.DexType):264:264 -> <init>
    3:9:void <init>(com.android.tools.r8.utils.ClassMap,com.android.tools.r8.utils.ClassProvider,com.android.tools.r8.graph.DexType):261:267 -> <init>
    1:41:com.android.tools.r8.graph.DexClass get():272:312 -> a
    42:42:com.android.tools.r8.graph.DexClass get():308:308 -> a
    43:62:void lambda$get$0(com.android.tools.r8.graph.DexClass):280:299 -> a
    63:63:void lambda$get$0(com.android.tools.r8.graph.DexClass):285:285 -> a
    64:64:void lambda$get$0(com.android.tools.r8.graph.DexClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642}}
    640:640:void lambda$get$0(com.android.tools.r8.graph.DexClass):285:285 -> a
    641:641:void lambda$get$0(com.android.tools.r8.graph.DexClass):285:285 -> a
    642:642:void lambda$get$0(com.android.tools.r8.graph.DexClass):285:285 -> a
    349:349:void lambda$get$0(com.android.tools.r8.graph.DexClass):285:285 -> a
    350:350:void lambda$get$0(com.android.tools.r8.graph.DexClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":643,"2":644,"3":645}}
    643:643:void lambda$get$0(com.android.tools.r8.graph.DexClass):286:286 -> a
    644:644:void lambda$get$0(com.android.tools.r8.graph.DexClass):286:286 -> a
    645:645:void lambda$get$0(com.android.tools.r8.graph.DexClass):286:286 -> a
    636:637:void lambda$get$0(com.android.tools.r8.graph.DexClass):286:287 -> a
    638:638:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    638:638:void lambda$get$0(com.android.tools.r8.graph.DexClass):287 -> a
    639:639:void lambda$get$0(com.android.tools.r8.graph.DexClass):287:287 -> a
    1:1:java.lang.Object get():255:255 -> get
com.android.tools.r8.utils.ClassProvider -> com.android.tools.r8.internal.Ka:
    com.android.tools.r8.graph.ClassKind classKind -> a
    1:2:void <init>(com.android.tools.r8.graph.ClassKind):29:30 -> <init>
    void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer) -> a
    java.util.Collection collectTypes() -> a
    1:1:com.android.tools.r8.utils.ClassProvider forClassFileResources(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.ClassFileResourceProvider,com.android.tools.r8.graph.JarApplicationReader):61:61 -> a
    2:2:com.android.tools.r8.utils.ClassProvider$FilteringClassProvider without(java.util.Set):75:75 -> a
    3:3:com.android.tools.r8.utils.ClassProvider combine(com.android.tools.r8.graph.ClassKind,java.util.List):81:81 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableListMultimap$Builder com.android.tools.r8.com.google.common.collect.ImmutableListMultimap.builder():186:186 -> a
    4:4:com.android.tools.r8.utils.ClassProvider forPreloadedClasses(com.android.tools.r8.graph.ClassKind,java.util.Collection):67 -> a
    5:8:com.android.tools.r8.utils.ClassProvider forPreloadedClasses(com.android.tools.r8.graph.ClassKind,java.util.Collection):68:71 -> a
    1:1:com.android.tools.r8.graph.ClassKind getClassKind():35:35 -> b
com.android.tools.r8.utils.ClassProvider$ClassFileResourceReader -> com.android.tools.r8.internal.Ga:
    com.android.tools.r8.graph.JarApplicationReader reader -> d
    com.android.tools.r8.graph.ClassKind classKind -> b
    com.android.tools.r8.ClassFileResourceProvider provider -> c
    1:1:void <init>(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.ClassFileResourceProvider,com.android.tools.r8.graph.JarApplicationReader,com.android.tools.r8.utils.ClassProvider$1):84:84 -> <init>
    2:5:void <init>(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.ClassFileResourceProvider,com.android.tools.r8.graph.JarApplicationReader):91:94 -> <init>
    1:5:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):99:103 -> a
    6:6:void com.android.tools.r8.graph.JarClassFileReader.read(com.android.tools.r8.ProgramResource):92:92 -> a
    6:6:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):105 -> a
    7:7:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    8:8:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":116,"2":117,"3":118,"4":119,"5":120}}
    116:116:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    117:117:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    118:118:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    119:119:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    120:120:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    115:115:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):107:107 -> a
    121:123:java.util.Collection collectTypes():114:116 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":125,"2":126,"3":127}}
    125:125:java.lang.String toString():123:123 -> toString
    126:126:java.lang.String toString():123:123 -> toString
    127:127:java.lang.String toString():123:123 -> toString
    124:124:java.lang.String toString():123:123 -> toString
com.android.tools.r8.utils.ClassProvider$CombinedClassProvider -> com.android.tools.r8.internal.Ha:
    java.util.List providers -> b
    1:1:void <init>(com.android.tools.r8.graph.ClassKind,java.util.List,com.android.tools.r8.utils.ClassProvider$1):194:194 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.ClassKind,java.util.List):198:199 -> <init>
    1:2:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):204:205 -> a
    3:5:java.util.Collection collectTypes():211:213 -> a
    1:8:java.lang.String toString():220:227 -> toString
com.android.tools.r8.utils.ClassProvider$FilteringClassProvider -> com.android.tools.r8.internal.Ia:
    java.util.Set filteredOut -> c
    com.android.tools.r8.utils.ClassProvider provider -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():154:154 -> <clinit>
    1:4:void <init>(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.utils.ClassProvider,java.util.Set):160:163 -> <init>
    1:1:com.android.tools.r8.utils.ClassProvider$FilteringClassProvider without(java.util.Set):169:169 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:448 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    2:2:com.android.tools.r8.utils.ClassProvider$FilteringClassProvider without(java.util.Set):169 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):449 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    3:3:com.android.tools.r8.utils.ClassProvider$FilteringClassProvider without(java.util.Set):169 -> a
    4:5:com.android.tools.r8.utils.ClassProvider$FilteringClassProvider without(java.util.Set):169:170 -> a
    6:9:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):175:178 -> a
    10:11:java.util.Collection collectTypes():183:184 -> a
    1:1:java.lang.String toString():190:190 -> toString
com.android.tools.r8.utils.ClassProvider$PreloadedClassProvider -> com.android.tools.r8.internal.Ja:
    com.android.tools.r8.com.google.common.collect.Multimap classes -> b
    1:1:void <init>(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.com.google.common.collect.Multimap,com.android.tools.r8.utils.ClassProvider$1):127:127 -> <init>
    2:3:void <init>(com.android.tools.r8.graph.ClassKind,com.android.tools.r8.com.google.common.collect.Multimap):131:132 -> <init>
    1:2:void collectClass(com.android.tools.r8.graph.DexType,java.util.function.Consumer):137:138 -> a
    3:3:java.util.Collection collectTypes():144:144 -> a
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":151,"2":152,"3":153}}
    151:151:java.lang.String toString():149:149 -> toString
    152:152:java.lang.String toString():149:149 -> toString
    153:153:java.lang.String toString():149:149 -> toString
    150:150:java.lang.String toString():149:149 -> toString
com.android.tools.r8.utils.ClassReferenceUtils -> com.android.tools.r8.internal.Na:
    int $r8$clinit -> b
    java.util.Comparator COMPARATOR -> a
    1:2:void <clinit>():16:17 -> <clinit>
    1:1:java.util.Comparator com.android.tools.r8.utils.ClassReferenceUtils.getClassReferenceComparator():36:36 -> a
    1:1:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.ClassReference):20 -> a
    2:2:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.ClassReference):20:20 -> a
    3:3:java.util.Comparator com.android.tools.r8.utils.ClassReferenceUtils.getClassReferenceComparator():36:36 -> a
    3:3:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.FieldReference):25 -> a
    4:4:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.FieldReference):25:25 -> a
    5:5:java.util.Comparator com.android.tools.r8.utils.ClassReferenceUtils.getClassReferenceComparator():36:36 -> a
    5:5:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.MethodReference):31 -> a
    6:6:int compare(com.android.tools.r8.references.ClassReference,com.android.tools.r8.references.MethodReference):31:31 -> a
    7:7:java.util.Comparator getClassReferenceComparator():36:36 -> a
com.android.tools.r8.utils.ClasspathClassCollection -> com.android.tools.r8.internal.lb:
    1:1:void <init>(com.android.tools.r8.utils.ClassProvider):19:19 -> <init>
    1:1:java.util.function.Supplier getTransparentSupplier(com.android.tools.r8.graph.DexClass):12:12 -> a
    2:2:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12:12 -> a
    3:3:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28:28 -> a
    3:3:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    4:4:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":9,"2":10,"3":11}}
    9:9:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28:28 -> a
    9:9:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    10:10:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28:28 -> a
    10:10:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    11:11:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28:28 -> a
    11:11:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    5:5:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28:28 -> a
    5:5:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    6:6:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    6:6:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28 -> a
    6:6:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    7:7:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30:30 -> a
    7:7:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22 -> a
    7:7:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28 -> a
    7:7:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    8:8:com.android.tools.r8.graph.DexClasspathClass com.android.tools.r8.utils.ClasspathClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexClasspathClass,com.android.tools.r8.graph.DexClasspathClass):28:28 -> a
    8:8:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):12 -> a
    1:1:com.android.tools.r8.graph.ClassKind getClassKind():38:38 -> e
    1:1:com.android.tools.r8.utils.ClasspathClassCollection empty():23:23 -> g
    2:2:void com.android.tools.r8.utils.ClasspathClassCollection.<init>():15:15 -> g
    2:2:com.android.tools.r8.utils.ClasspathClassCollection empty():23 -> g
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47}}
    45:45:java.lang.String toString():43:43 -> toString
    46:46:java.lang.String toString():43:43 -> toString
    47:47:java.lang.String toString():43:43 -> toString
    44:44:java.lang.String toString():43:43 -> toString
com.android.tools.r8.utils.CollectionUtils -> com.android.tools.r8.internal.cc:
    1:1:java.util.Set mergeSets(java.util.Collection,java.util.Collection):22:22 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:448 -> a
    2:2:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    2:2:java.util.Set mergeSets(java.util.Collection,java.util.Collection):23 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):449 -> a
    3:3:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    3:3:java.util.Set mergeSets(java.util.Collection,java.util.Collection):23 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):448:448 -> a
    4:4:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    4:4:java.util.Set mergeSets(java.util.Collection,java.util.Collection):24 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.add(java.lang.Object):476:476 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder com.android.tools.r8.com.google.common.collect.ImmutableCollection$Builder.addAll(java.lang.Iterable):449 -> a
    5:5:com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder com.android.tools.r8.com.google.common.collect.ImmutableSet$Builder.addAll(java.lang.Iterable):535 -> a
    5:5:java.util.Set mergeSets(java.util.Collection,java.util.Collection):24 -> a
    6:6:java.util.Set mergeSets(java.util.Collection,java.util.Collection):25:25 -> a
    7:8:java.util.Collection sort(java.util.Collection,java.util.Comparator):36:37 -> a
com.android.tools.r8.utils.ComparatorUtils -> com.android.tools.r8.internal.mc:
    1:3:int lambda$listComparator$0(java.util.Comparator,java.util.List,java.util.List):18:20 -> a
    4:4:java.util.Comparator arrayComparator(java.util.Comparator):57:57 -> a
    5:7:int lambda$arrayComparator$1(java.util.Comparator,java.lang.Object[],java.lang.Object[]):58:60 -> a
    8:8:java.util.Comparator unreachableComparator():67:67 -> a
    9:9:int lambda$unreachableComparator$2(java.lang.Object,java.lang.Object):68:68 -> a
    1:1:java.util.Comparator listComparator(java.util.Comparator):17:17 -> b
com.android.tools.r8.utils.CompareResult$EnumUnboxingLocalUtility -> com.android.tools.r8.internal.nc:
# {"id":"sourceFile","fileName":"R8$$SyntheticClass"}
# {"id":"com.android.tools.r8.synthesized"}
    com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.fromComparisonResult(int) -> a
    boolean com.android.tools.r8.utils.CompareResult.isEqual() -> b
    int getComparisonResult(int) -> c
      # {"id":"com.android.tools.r8.synthesized"}
com.android.tools.r8.utils.ConsumerUtils -> com.android.tools.r8.internal.Td:
    void lambda$emptyBiConsumer$5(java.lang.Object,java.lang.Object) -> a
    void lambda$emptyConsumer$4(java.lang.Object) -> a
    1:1:java.util.function.Consumer acceptIfNotSeen(java.util.function.Consumer,java.util.Set):30:30 -> a
    2:3:void lambda$acceptIfNotSeen$2(java.util.Set,java.util.function.Consumer,java.lang.Object):31:32 -> a
    4:4:java.util.function.BiConsumer andThen(java.util.function.BiFunction,java.util.function.Consumer):39:39 -> a
    5:5:void lambda$andThen$3(java.util.function.Consumer,java.util.function.BiFunction,java.lang.Object,java.lang.Object):39:39 -> a
    6:6:java.util.function.BiConsumer emptyBiConsumer():47:47 -> a
    void lambda$emptyThrowingConsumer$6(java.lang.Object) -> b
    1:1:java.util.function.Consumer emptyConsumer():43:43 -> b
    1:1:com.android.tools.r8.utils.ThrowingConsumer emptyThrowingConsumer():51:51 -> c
com.android.tools.r8.utils.DepthFirstSearchWorkListBase -> com.android.tools.r8.internal.mf:
    java.util.ArrayDeque workList -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():21:21 -> <clinit>
    1:85:void <init>():21:105 -> <init>
    1:11:com.android.tools.r8.utils.TraversalContinuation run(java.util.Collection):129:139 -> a
    12:12:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.DepthFirstSearchWorkListBase$StatefulDepthFirstSearchWorkList.internalOnVisit(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeImpl):183:183 -> a
    12:12:com.android.tools.r8.utils.TraversalContinuation run(java.util.Collection):139 -> a
    13:14:com.android.tools.r8.utils.TraversalContinuation run(java.util.Collection):141:142 -> a
    15:15:com.android.tools.r8.utils.TraversalContinuation com.android.tools.r8.utils.DepthFirstSearchWorkListBase$StatefulDepthFirstSearchWorkList.internalOnJoin(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeImpl):183:183 -> a
    15:15:com.android.tools.r8.utils.TraversalContinuation run(java.util.Collection):142 -> a
    16:18:com.android.tools.r8.utils.TraversalContinuation run(java.util.Collection):143:145 -> a
    19:19:com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithStateImpl com.android.tools.r8.utils.DepthFirstSearchWorkListBase$StatefulDepthFirstSearchWorkList.createDfsNode(java.lang.Object):213:213 -> a
    19:19:com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeImpl com.android.tools.r8.utils.DepthFirstSearchWorkListBase$StatefulDepthFirstSearchWorkList.createDfsNode(java.lang.Object):183 -> a
    19:19:com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeImpl internalEnqueueNode(java.lang.Object):116 -> a
    20:21:com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeImpl internalEnqueueNode(java.lang.Object):117:118 -> a
com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNode -> com.android.tools.r8.internal.hf:
    java.lang.Object getNode() -> a
com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeImpl -> com.android.tools.r8.internal.if:
    com.android.tools.r8.utils.DepthFirstSearchWorkListBase$ProcessingState processingState -> b
    java.lang.Object node -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():44:44 -> <clinit>
    1:1:void <init>(java.lang.Object,com.android.tools.r8.utils.DepthFirstSearchWorkListBase$1):44:44 -> <init>
    2:2:void <init>(java.lang.Object):49:49 -> <init>
    3:6:void <init>(java.lang.Object):47:50 -> <init>
    1:1:java.lang.Object getNode():72:72 -> a
    1:1:boolean isFinished():58:58 -> d
    1:1:boolean isNotProcessed():54:54 -> e
    1:1:boolean seenAndNotProcessed():77:77 -> f
    1:2:void setFinished():66:67 -> g
    1:1:void setWaiting():62:62 -> h
com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState -> com.android.tools.r8.internal.jf:
    void setState(java.lang.Object) -> a
    java.lang.Object getState() -> b
    boolean hasState() -> c
com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithStateImpl -> com.android.tools.r8.internal.kf:
    java.lang.Object state -> d
    1:1:void <init>(java.lang.Object,com.android.tools.r8.utils.DepthFirstSearchWorkListBase$1):81:81 -> <init>
    2:2:void <init>(java.lang.Object):86:86 -> <init>
    1:1:void setState(java.lang.Object):96:96 -> a
    1:1:java.lang.Object getState():91:91 -> b
    1:1:boolean hasState():101:101 -> c
com.android.tools.r8.utils.DepthFirstSearchWorkListBase$StatefulDepthFirstSearchWorkList -> com.android.tools.r8.internal.lf:
    java.util.Map childStateMap -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():183:183 -> <clinit>
    1:4:void <init>():183:186 -> <init>
    com.android.tools.r8.utils.TraversalContinuation joiner(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.List) -> a
    com.android.tools.r8.utils.TraversalContinuation process(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState,java.util.function.Function) -> a
    1:2:com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithState lambda$internalOnVisit$0(java.util.List,java.lang.Object):224:225 -> a
    3:6:com.android.tools.r8.utils.TraversalContinuation internalOnJoin(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithStateImpl):232:232 -> a
    1:4:com.android.tools.r8.utils.TraversalContinuation internalOnVisit(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithStateImpl):218:221 -> b
    1:3:java.util.List lambda$internalOnJoin$1(com.android.tools.r8.utils.DepthFirstSearchWorkListBase$DFSNodeWithStateImpl):237:237 -> c
com.android.tools.r8.utils.DequeUtils -> com.android.tools.r8.internal.pf:
    1:2:java.util.Deque newArrayDeque(java.lang.Object):13:14 -> a
com.android.tools.r8.utils.DescriptorUtils -> com.android.tools.r8.internal.sf:
    java.util.Map typeNameToLetterMap -> a
    boolean $assertionsDisabled -> b
    int $r8$clinit -> c
    1:17:void <clinit>():21:37 -> <clinit>
    1:1:java.lang.String javaTypeToShorty(java.lang.String):149:149 -> A
    boolean isPrimitiveType(char) -> a
    1:10:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):43:52 -> a
    11:11:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":124,"2":125,"3":126}}
    124:124:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):53:53 -> a
    125:125:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):53:53 -> a
    126:126:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):53:53 -> a
    12:12:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":127,"3":128}}
    127:127:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):54:54 -> a
    128:128:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):54:54 -> a
    65:65:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):53:53 -> a
    66:66:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":131,"2":132,"3":133}}
    131:131:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):57:57 -> a
    132:132:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):57:57 -> a
    133:133:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):57:57 -> a
    123:123:java.lang.String internalToDescriptor(java.lang.String,boolean,boolean):57:57 -> a
    134:140:java.lang.String descriptorToInternalName(java.lang.String):169:175 -> a
    141:141:java.lang.String descriptorToInternalName(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":314,"3":315}}
    314:314:java.lang.String descriptorToInternalName(java.lang.String):173:173 -> a
    315:315:java.lang.String descriptorToInternalName(java.lang.String):173:173 -> a
    316:316:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):204:204 -> a
    317:317:java.lang.String com.android.tools.r8.utils.DescriptorUtils.primitiveDescriptorToJavaType(char):269:269 -> a
    317:317:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):216 -> a
    318:318:java.lang.String com.android.tools.r8.utils.DescriptorUtils.primitiveDescriptorToJavaType(char):253:253 -> a
    318:318:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):216 -> a
    319:331:java.lang.String com.android.tools.r8.utils.DescriptorUtils.primitiveDescriptorToJavaType(char):251:263 -> a
    319:331:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):216 -> a
    332:338:java.lang.String com.android.tools.r8.utils.DescriptorUtils.primitiveDescriptorToJavaType(char):261:267 -> a
    332:338:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):216 -> a
    339:339:java.lang.String com.android.tools.r8.utils.DescriptorUtils.primitiveDescriptorToJavaType(char):259:259 -> a
    339:339:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):216 -> a
    340:340:java.lang.String com.android.tools.r8.utils.DescriptorUtils.primitiveDescriptorToJavaType(char):255:255 -> a
    340:340:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):216 -> a
    341:341:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):214:214 -> a
    342:346:java.lang.String descriptorToJavaType(java.lang.String,com.android.tools.r8.naming.ClassNameMapper):207:211 -> a
    347:347:java.lang.String getClassBinaryName(java.lang.Class):348:348 -> a
    348:354:java.lang.String computeInnerClassSeparator(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):442:448 -> a
    355:355:java.lang.String computeInnerClassSeparator(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):447:447 -> a
    356:356:java.lang.String computeInnerClassSeparator(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString):445:445 -> a
    357:364:java.lang.String computeInnerClassSeparator(java.lang.String,java.lang.String,java.lang.String):453:460 -> a
    365:368:java.lang.String computeInnerClassSeparator(java.lang.String,java.lang.String,java.lang.String):459:462 -> a
    369:373:java.lang.String guessTypeDescriptor(java.nio.file.Path):534:538 -> a
    374:380:java.lang.String getInnerClassName(java.lang.String,java.lang.String):575:581 -> a
    381:381:java.lang.String getInnerClassName(java.lang.String,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":962,"3":963}}
    962:962:java.lang.String getInnerClassName(java.lang.String,java.lang.String):581:581 -> a
    963:963:java.lang.String getInnerClassName(java.lang.String,java.lang.String):581:581 -> a
    1:1:java.lang.String replaceSimpleClassNameInDescriptor(java.lang.String,java.lang.String):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":4,"2":5,"3":6}}
    4:4:java.lang.String replaceSimpleClassNameInDescriptor(java.lang.String,java.lang.String):314:314 -> b
    5:5:java.lang.String replaceSimpleClassNameInDescriptor(java.lang.String,java.lang.String):314:314 -> b
    6:6:java.lang.String replaceSimpleClassNameInDescriptor(java.lang.String,java.lang.String):314:314 -> b
    2:2:int com.android.tools.r8.utils.DescriptorUtils.getSimpleClassNameIndex(java.lang.String):327:327 -> b
    2:2:java.lang.String replaceSimpleClassNameInDescriptor(java.lang.String,java.lang.String):315 -> b
    3:3:java.lang.String replaceSimpleClassNameInDescriptor(java.lang.String,java.lang.String):315:315 -> b
    7:7:java.lang.String descriptorToJavaType(java.lang.String):159:159 -> b
    8:8:java.lang.String getPathFromJavaType(java.lang.Class):634:634 -> b
    1:4:java.lang.String descriptorToKotlinClassifier(java.lang.String):186:189 -> c
    5:5:java.lang.String descriptorToKotlinClassifier(java.lang.String):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":196,"2":197,"3":198}}
    196:196:java.lang.String descriptorToKotlinClassifier(java.lang.String):190:190 -> c
    197:197:java.lang.String descriptorToKotlinClassifier(java.lang.String):190:190 -> c
    198:198:java.lang.String descriptorToKotlinClassifier(java.lang.String):190:190 -> c
    195:195:java.lang.String descriptorToKotlinClassifier(java.lang.String):190:190 -> c
    1:20:int getArgumentCount(java.lang.String):705:724 -> d
    1:37:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):661:697 -> e
    38:44:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):682:688 -> e
    45:70:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):669:694 -> e
    71:71:java.lang.String[] getArgumentTypeDescriptors(java.lang.String):678:678 -> e
    1:1:java.lang.String getBinaryNameFromDescriptor(java.lang.String):398:398 -> f
    2:2:java.lang.String getBinaryNameFromDescriptor(java.lang.String):0:0 -> f
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":401,"3":402}}
    401:401:java.lang.String getBinaryNameFromDescriptor(java.lang.String):399:399 -> f
    402:402:java.lang.String getBinaryNameFromDescriptor(java.lang.String):399:399 -> f
    1:1:java.lang.String getBinaryNameFromJavaType(java.lang.String):390:390 -> g
    1:1:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    2:2:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":739,"2":740,"3":741,"4":742,"5":743}}
    739:739:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    740:740:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    741:741:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    742:742:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    743:743:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    370:370:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):368:368 -> h
    371:371:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):0:0 -> h
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":745,"3":746}}
    745:745:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):370:370 -> h
    746:746:java.lang.String getClassBinaryNameFromDescriptor(java.lang.String):370:370 -> h
    1:2:java.lang.String getClassFileName(java.lang.String):643:644 -> i
    1:2:java.lang.String getClassNameFromDescriptor(java.lang.String):290:291 -> j
    1:2:java.lang.String getDescriptorFromClassBinaryName(java.lang.String):409:410 -> k
    1:3:java.lang.String getDescriptorFromKotlinClassifier(java.lang.String):419:421 -> l
    1:1:java.lang.String getJavaTypeFromBinaryName(java.lang.String):394:394 -> m
    1:1:java.lang.String getPackageNameFromDescriptor(java.lang.String):358:358 -> n
    2:4:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getPackageNameFromBinaryName(java.lang.String):512:514 -> n
    2:4:java.lang.String getPackageNameFromDescriptor(java.lang.String):358 -> n
    1:3:java.lang.String getPathFromDescriptor(java.lang.String):628:630 -> o
    1:2:java.lang.String getPathFromJavaType(java.lang.String):638:639 -> p
    1:2:java.lang.String getReturnTypeDescriptor(java.lang.String):648:649 -> q
    1:1:int com.android.tools.r8.utils.DescriptorUtils.getSimpleClassNameIndex(java.lang.String):327:327 -> r
    1:1:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):302 -> r
    2:2:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):0:0 -> r
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":304,"3":305}}
    304:304:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):302:302 -> r
    305:305:java.lang.String getSimpleClassNameFromDescriptor(java.lang.String):301:301 -> r
    1:1:java.lang.String getUnqualifiedClassNameFromDescriptor(java.lang.String):280:280 -> s
    2:3:java.lang.String com.android.tools.r8.utils.DescriptorUtils.getUnqualifiedClassNameFromBinaryName(java.lang.String):436:437 -> s
    2:3:java.lang.String getUnqualifiedClassNameFromDescriptor(java.lang.String):280 -> s
    1:8:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):611:618 -> t
    9:9:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):0:0 -> t
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":637,"3":638}}
    637:637:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):619:619 -> t
    638:638:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):619:619 -> t
    629:632:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):620:623 -> t
    633:633:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    634:634:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):0:0 -> t
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":640,"2":641,"3":642,"4":643,"5":644}}
    640:640:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    641:641:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    642:642:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    643:643:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    644:644:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    635:635:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> t
    635:635:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621 -> t
    636:636:com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor guessJrtModuleAndTypeDescriptor(java.lang.String):621:621 -> t
    1:2:java.lang.String guessTypeDescriptor(java.lang.String):550:551 -> u
    3:3:java.lang.String guessTypeDescriptor(java.lang.String):0:0 -> u
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":565,"3":566}}
    565:565:java.lang.String guessTypeDescriptor(java.lang.String):553:553 -> u
    566:566:java.lang.String guessTypeDescriptor(java.lang.String):553:553 -> u
    557:560:java.lang.String guessTypeDescriptor(java.lang.String):554:557 -> u
    561:561:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    562:562:java.lang.String guessTypeDescriptor(java.lang.String):0:0 -> u
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":568,"2":569,"3":570,"4":571,"5":572}}
    568:568:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    569:569:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    570:570:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    571:571:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    572:572:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    563:563:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> u
    563:563:java.lang.String guessTypeDescriptor(java.lang.String):555 -> u
    564:564:java.lang.String guessTypeDescriptor(java.lang.String):555:555 -> u
    1:26:boolean isClassDescriptor(java.lang.String):469:494 -> v
    1:1:boolean isDescriptor(java.lang.String):243:243 -> w
    2:5:boolean com.android.tools.r8.utils.DescriptorUtils.isPrimitiveDescriptor(java.lang.String):221:224 -> w
    2:5:boolean isDescriptor(java.lang.String):244 -> w
    6:10:boolean com.android.tools.r8.utils.DescriptorUtils.isArrayDescriptor(java.lang.String):233:237 -> w
    6:10:boolean isDescriptor(java.lang.String):245 -> w
    1:6:boolean isValidJavaType(java.lang.String):123:128 -> x
    1:2:java.lang.String javaTypeToDescriptor(java.lang.String):67:68 -> y
    1:2:java.lang.String javaTypeToDescriptorIgnorePrimitives(java.lang.String):82:83 -> z
com.android.tools.r8.utils.DescriptorUtils$ModuleAndDescriptor -> com.android.tools.r8.internal.rf:
    java.lang.String module -> a
    java.lang.String descriptor -> b
    1:3:void <init>(java.lang.String,java.lang.String):590:592 -> <init>
    1:1:java.lang.String getDescriptor():600:600 -> a
    1:1:java.lang.String getModule():596:596 -> b
com.android.tools.r8.utils.DexUtils -> com.android.tools.r8.internal.kh:
    1:1:java.lang.String getDefaultDexFileName(int):10:10 -> a
    2:2:java.lang.String getDefaultDexFileName(int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":14,"2":15,"3":16}}
    14:14:java.lang.String getDefaultDexFileName(int):11:11 -> a
    15:15:java.lang.String getDefaultDexFileName(int):11:11 -> a
    16:16:java.lang.String getDefaultDexFileName(int):11:11 -> a
    13:13:java.lang.String getDefaultDexFileName(int):11:11 -> a
com.android.tools.r8.utils.DexVersion -> com.android.tools.r8.internal.mh:
    com.android.tools.r8.utils.DexVersion[] $VALUES -> h
    int dexVersion -> b
    com.android.tools.r8.utils.DexVersion V35 -> d
    byte[] dexVersionBytes -> c
    com.android.tools.r8.utils.DexVersion V37 -> e
    com.android.tools.r8.utils.DexVersion V38 -> f
    com.android.tools.r8.utils.DexVersion V39 -> g
    1:4:void <clinit>():13:16 -> <clinit>
    5:5:void <clinit>():12:12 -> <clinit>
    1:3:void <init>(java.lang.String,int,int,byte[]):22:24 -> <init>
    1:1:byte[] getBytes():32:32 -> a
    2:44:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):40:82 -> a
    45:45:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):80:80 -> a
    46:46:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):56:56 -> a
    47:47:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):53:53 -> a
    48:48:com.android.tools.r8.utils.DexVersion getDexVersion(com.android.tools.r8.utils.AndroidApiLevel):50:50 -> a
    49:49:java.util.Optional getDexVersion(int):97:97 -> a
    50:50:java.util.Optional getDexVersion(int):95:95 -> a
    51:51:java.util.Optional getDexVersion(int):93:93 -> a
    52:52:java.util.Optional getDexVersion(int):91:91 -> a
    53:53:java.util.Optional getDexVersion(int):89:89 -> a
    54:54:java.util.Optional getDexVersion(char,char,char):105:105 -> a
    55:55:java.util.Optional getDexVersion(char,char,char):103:103 -> a
    1:1:int getIntValue():28:28 -> b
    2:2:boolean matchesApiLevel(com.android.tools.r8.utils.AndroidApiLevel):36:36 -> b
    1:1:com.android.tools.r8.utils.DexVersion[] values():12:12 -> c
com.android.tools.r8.utils.DexVersion$1 -> com.android.tools.r8.internal.lh:
    int[] $SwitchMap$com$android$tools$r8$utils$AndroidApiLevel -> a
    1:1:void <clinit>():40:40 -> <clinit>
com.android.tools.r8.utils.DirectoryBuilder -> com.android.tools.r8.internal.qh:
    com.android.tools.r8.origin.Origin origin -> b
    java.nio.file.Path root -> a
    1:3:void <init>(java.nio.file.Path):24:26 -> <init>
    1:5:void addDirectory(java.lang.String,com.android.tools.r8.DiagnosticsHandler):39:43 -> a
    6:9:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):49:49 -> a
    11:14:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):51:54 -> a
    15:15:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":74,"2":75,"3":76}}
    74:74:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):54:54 -> a
    75:75:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):54:54 -> a
    76:76:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):54:54 -> a
    69:71:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):54:54 -> a
    72:72:void addFile(java.lang.String,com.android.tools.r8.DataEntryResource,com.android.tools.r8.DiagnosticsHandler):52:52 -> a
    77:82:void addFile(java.lang.String,com.android.tools.r8.ByteDataView,com.android.tools.r8.DiagnosticsHandler):61:66 -> a
    83:83:java.nio.file.Path getPath() -> a
com.android.tools.r8.utils.DisjointSets -> com.android.tools.r8.internal.th:
    java.util.Map parent -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():16:16 -> <clinit>
    1:4:void <init>():16:19 -> <init>
    1:9:java.util.Set collectSet(java.lang.Object):69:77 -> a
    10:20:java.lang.Object union(java.lang.Object,java.lang.Object):106:116 -> a
    21:25:java.util.Map collectSets():139:143 -> a
    26:27:void lambda$toString$2(java.lang.StringBuilder,java.lang.Object,java.util.Set):158:159 -> a
    28:28:void lambda$toString$1(java.lang.StringBuilder,java.lang.Object):159:159 -> a
    1:11:java.lang.Object findSet(java.lang.Object):39:49 -> b
    1:2:boolean isRepresentativeOrNotPresent(java.lang.Object):59:60 -> c
    1:1:java.util.Set lambda$collectSets$0(java.lang.Object):143:143 -> d
    1:3:java.lang.Object makeSet(java.lang.Object):27:29 -> e
    1:1:java.lang.String toString():150:150 -> toString
    2:2:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":164,"2":165,"3":167}}
    164:164:java.lang.String toString():151:151 -> toString
    165:165:java.lang.String toString():151:151 -> toString
    167:167:java.lang.String toString():153:153 -> toString
    156:163:java.lang.String toString():154:161 -> toString
com.android.tools.r8.utils.DumpInputFlags -> com.android.tools.r8.internal.Eh:
    1:1:void <init>():8:8 -> <init>
    java.nio.file.Path getDumpInputToDirectory() -> a
    1:1:com.android.tools.r8.utils.DumpInputFlags dumpToDirectory(java.nio.file.Path):39:39 -> a
    java.nio.file.Path getDumpInputToFile() -> b
    1:1:com.android.tools.r8.utils.DumpInputFlags dumpToFile(java.nio.file.Path):25:25 -> b
    1:1:com.android.tools.r8.utils.DumpInputFlags noDump():11:11 -> c
com.android.tools.r8.utils.DumpInputFlags$1 -> com.android.tools.r8.internal.Bh:
    1:1:void <init>():11:11 -> <init>
    java.nio.file.Path getDumpInputToDirectory() -> a
    java.nio.file.Path getDumpInputToFile() -> b
com.android.tools.r8.utils.DumpInputFlags$2 -> com.android.tools.r8.internal.Ch:
    java.nio.file.Path val$file -> a
    1:1:void <init>(java.nio.file.Path):25:25 -> <init>
    java.nio.file.Path getDumpInputToDirectory() -> a
    1:1:java.nio.file.Path getDumpInputToFile():28:28 -> b
com.android.tools.r8.utils.DumpInputFlags$3 -> com.android.tools.r8.internal.Dh:
    java.nio.file.Path val$file -> a
    1:1:void <init>(java.nio.file.Path):39:39 -> <init>
    1:1:java.nio.file.Path getDumpInputToDirectory():47:47 -> a
    java.nio.file.Path getDumpInputToFile() -> b
com.android.tools.r8.utils.EncodedValueUtils -> com.android.tools.r8.internal.ki:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():9:9 -> <clinit>
    1:6:int putBitsFromRightZeroExtended(com.android.tools.r8.dex.DexOutputBuffer,long,int):84:89 -> a
    7:8:int putFloat(com.android.tools.r8.dex.DexOutputBuffer,float):114:115 -> a
    9:9:byte[] encodeFloat(float):119:119 -> a
    10:15:byte[] com.android.tools.r8.utils.EncodedValueUtils.encodeBitsFromRightZeroExtended(long):96:101 -> a
    10:15:byte[] encodeFloat(float):120 -> a
    16:16:byte[] encodeFloat(float):121:121 -> a
    17:18:double parseDouble(com.android.tools.r8.dex.DexReader,int):127:128 -> a
    19:20:int putDouble(com.android.tools.r8.dex.DexOutputBuffer,double):132:133 -> a
    21:21:byte[] encodeDouble(double):137:137 -> a
    22:27:byte[] com.android.tools.r8.utils.EncodedValueUtils.encodeBitsFromRightZeroExtended(long):96:101 -> a
    22:27:byte[] encodeDouble(double):138 -> a
    28:28:byte[] encodeDouble(double):139:139 -> a
    1:5:int putSigned(com.android.tools.r8.dex.DexOutputBuffer,long,int):25:29 -> b
    6:7:float parseFloat(com.android.tools.r8.dex.DexReader,int):109:110 -> b
    1:9:long parseSigned(com.android.tools.r8.dex.DexReader,int):12:20 -> c
    10:14:int putUnsigned(com.android.tools.r8.dex.DexOutputBuffer,long,int):61:65 -> c
    1:5:long parseUnsigned(com.android.tools.r8.dex.DexReader,int):48:52 -> d
com.android.tools.r8.utils.ExceptionDiagnostic -> com.android.tools.r8.utils.ExceptionDiagnostic:
    com.android.tools.r8.origin.Origin origin -> c
    com.android.tools.r8.position.Position position -> d
    java.lang.Throwable cause -> b
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():21:21 -> <clinit>
    1:7:void <init>(java.lang.Throwable,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):28:34 -> <init>
    8:8:void <init>(java.lang.Throwable):38:38 -> <init>
    9:9:void <init>(java.lang.Throwable,com.android.tools.r8.origin.Origin):42:42 -> <init>
    10:10:void <init>(com.android.tools.r8.ResourceException):46:46 -> <init>
    1:1:java.lang.Throwable getCause():60:60 -> getCause
    1:1:java.lang.String getDiagnosticMessage():65:65 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():51:51 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():56:56 -> getPosition
com.android.tools.r8.utils.ExceptionUtils -> com.android.tools.r8.internal.lj:
    1:1:com.android.tools.r8.origin.Origin access$000(java.lang.Throwable):28:28 -> a
    2:7:java.lang.String getMainStackTrace():31:36 -> a
    8:8:boolean lambda$getMainStackTrace$0(java.util.Map$Entry):32:32 -> a
    9:9:java.util.stream.Stream lambda$getMainStackTrace$2(java.lang.StackTraceElement[]):34:34 -> a
    10:10:java.lang.String lambda$getMainStackTrace$3(java.lang.StackTraceElement):35:35 -> a
    11:11:void lambda$withConsumeResourceHandler$4(com.android.tools.r8.StringConsumer,java.lang.String,com.android.tools.r8.DiagnosticsHandler):41:41 -> a
    12:12:void withConsumeResourceHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.StringConsumer,java.lang.String):41:41 -> a
    13:17:void com.android.tools.r8.utils.ExceptionUtils.withConsumeResourceHandler(com.android.tools.r8.utils.Reporter,java.util.function.Consumer):51:55 -> a
    13:17:void withConsumeResourceHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.StringConsumer,java.lang.String):41 -> a
    18:18:void withFinishedResourceHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.StringConsumer):45:45 -> a
    19:23:void com.android.tools.r8.utils.ExceptionUtils.withConsumeResourceHandler(com.android.tools.r8.utils.Reporter,java.util.function.Consumer):51:55 -> a
    19:23:void withFinishedResourceHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.StringConsumer):45 -> a
    24:27:void withCompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):80:83 -> a
    28:28:com.android.tools.r8.CompilationFailedException failCompilation(com.android.tools.r8.utils.Reporter,java.lang.Throwable):89:89 -> a
    29:36:java.lang.Exception failWithFakeEntry(com.android.tools.r8.DiagnosticsHandler,java.lang.Throwable,java.util.function.BiFunction,java.lang.Class):100:107 -> a
    37:46:com.android.tools.r8.position.Position com.android.tools.r8.utils.ExceptionUtils.getPosition(java.lang.Throwable):168:177 -> a
    37:46:java.lang.Exception failWithFakeEntry(com.android.tools.r8.DiagnosticsHandler,java.lang.Throwable,java.util.function.BiFunction,java.lang.Class):110 -> a
    47:80:java.lang.Exception failWithFakeEntry(com.android.tools.r8.DiagnosticsHandler,java.lang.Throwable,java.util.function.BiFunction,java.lang.Class):111:144 -> a
    81:83:java.lang.Object[] com.android.tools.r8.com.google.common.collect.ObjectArrays.concat(java.lang.Object,java.lang.Object[]):86:88 -> a
    81:83:java.lang.Exception failWithFakeEntry(com.android.tools.r8.DiagnosticsHandler,java.lang.Throwable,java.util.function.BiFunction,java.lang.Class):144 -> a
    84:84:java.lang.Exception failWithFakeEntry(com.android.tools.r8.DiagnosticsHandler,java.lang.Throwable,java.util.function.BiFunction,java.lang.Class):144:144 -> a
    85:85:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):186:186 -> a
    86:86:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):197:197 -> a
    86:86:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):191 -> a
    87:87:boolean com.android.tools.r8.utils.ExceptionUtils.isExpectedException(java.lang.Throwable):204:204 -> a
    87:87:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):198 -> a
    87:87:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):191 -> a
    88:89:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):199:200 -> a
    88:89:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):191 -> a
    90:90:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):197:197 -> a
    90:90:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):191 -> a
    91:91:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):192:192 -> a
    92:92:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):188:188 -> a
    93:93:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):197:197 -> a
    93:93:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):188 -> a
    94:94:boolean com.android.tools.r8.utils.ExceptionUtils.isExpectedException(java.lang.Throwable):204:204 -> a
    94:94:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):198 -> a
    94:94:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):188 -> a
    95:96:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):199:200 -> a
    95:96:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):188 -> a
    97:97:void com.android.tools.r8.utils.ExceptionUtils.printExitMessage(java.lang.Throwable):197:197 -> a
    97:97:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):188 -> a
    98:98:void withMainProgramHandler(com.android.tools.r8.utils.ExceptionUtils$MainAction):189:189 -> a
    99:99:java.lang.RuntimeException unwrapExecutionException(java.util.concurrent.ExecutionException):221:221 -> a
    100:100:void withOriginAndPositionAttachmentHandler(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.lang.Runnable):234:234 -> a
    101:101:java.lang.Object lambda$withOriginAndPositionAttachmentHandler$5(java.lang.Runnable):238:238 -> a
    102:104:java.lang.Object withOriginAndPositionAttachmentHandler(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,java.util.function.Supplier):246:248 -> a
    1:1:java.lang.StackTraceElement[] lambda$getMainStackTrace$1(java.util.Map$Entry):33:33 -> b
    2:2:void withD8CompilationHandler(com.android.tools.r8.utils.Reporter,com.android.tools.r8.utils.ExceptionUtils$CompileAction):64:64 -> b
    3:12:com.android.tools.r8.position.Position com.android.tools.r8.utils.ExceptionUtils.getPosition(java.lang.Throwable):168:177 -> b
    3:12:com.android.tools.r8.position.Position access$100(java.lang.Throwable):28 -> b
    1:2:com.android.tools.r8.origin.Origin getOrigin(java.lang.Throwable):149:150 -> c
    3:9:com.android.tools.r8.origin.Origin com.android.tools.r8.utils.ExceptionUtils.extractIOExceptionOrigin(java.io.IOException):211:217 -> c
    3:9:com.android.tools.r8.origin.Origin getOrigin(java.lang.Throwable):150 -> c
    10:22:com.android.tools.r8.origin.Origin getOrigin(java.lang.Throwable):152:164 -> c
com.android.tools.r8.utils.ExceptionUtils$CompileAction -> com.android.tools.r8.internal.lj$a:
com.android.tools.r8.utils.ExceptionUtils$MainAction -> com.android.tools.r8.internal.mj:
com.android.tools.r8.utils.ExceptionUtils$OriginAttachmentException -> com.android.tools.r8.internal.nj:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    1:3:void <init>(java.lang.RuntimeException,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):263:265 -> <init>
    1:5:boolean com.android.tools.r8.utils.ExceptionUtils$OriginAttachmentException.needsAttachment(java.lang.RuntimeException,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):269:273 -> a
    1:5:java.lang.RuntimeException wrap(java.lang.RuntimeException,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):257 -> a
    6:6:java.lang.RuntimeException wrap(java.lang.RuntimeException,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):258:258 -> a
com.android.tools.r8.utils.FeatureClassMapping -> com.android.tools.r8.utils.FeatureClassMapping:
    java.util.Map parsedRules -> a
    java.util.Map parseNonClassRules -> b
    java.util.Set mappings -> d
    boolean usesOnlyExactMappings -> c
    java.lang.String baseName -> e
    1:1:void <init>(com.android.tools.r8.utils.FeatureClassMapping$1):49:49 -> <init>
    2:2:void <init>():173:173 -> <init>
    3:10:void <init>():51:58 -> <init>
    11:11:void <init>(java.util.List):192:192 -> <init>
    12:156:void <init>(java.util.List):51:195 -> <init>
    1:18:void parseAndAdd(java.lang.String,int):223:240 -> a
    19:19:void parseAndAdd(java.lang.String,int):235:235 -> a
    20:20:void error(java.lang.String,int):258:258 -> a
    20:20:void parseAndAdd(java.lang.String,int):235 -> a
    21:21:void parseAndAdd(java.lang.String,int):231:231 -> a
    22:22:void error(java.lang.String,int):258:258 -> a
    22:22:void parseAndAdd(java.lang.String,int):231 -> a
    23:24:void addRule(java.lang.String,java.lang.String,int):245:246 -> a
    25:25:void addRule(java.lang.String,java.lang.String,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":33,"2":34,"3":35,"4":36,"5":37,"6":38}}
    33:33:void addRule(java.lang.String,java.lang.String,int):247:247 -> a
    34:34:void addRule(java.lang.String,java.lang.String,int):247:247 -> a
    35:35:void addRule(java.lang.String,java.lang.String,int):247:247 -> a
    36:36:void addRule(java.lang.String,java.lang.String,int):247:247 -> a
    37:37:void addRule(java.lang.String,java.lang.String,int):247:247 -> a
    38:38:void addRule(java.lang.String,java.lang.String,int):247:247 -> a
    26:26:void error(java.lang.String,int):258:258 -> a
    26:26:void addRule(java.lang.String,java.lang.String,int):247 -> a
    27:30:void addRule(java.lang.String,java.lang.String,int):251:254 -> a
    31:31:boolean com.android.tools.r8.utils.FeatureClassMapping$FeaturePredicate.isExactmapping():310:310 -> a
    31:31:void addRule(java.lang.String,java.lang.String,int):254 -> a
    32:32:void addRule(java.lang.String,java.lang.String,int):254:254 -> a
    1:1:void addBaseMapping(java.lang.String):176:176 -> addBaseMapping
    1:1:void addBaseNonClassMapping(java.lang.String):180:180 -> addBaseNonClassMapping
    1:1:void addMapping(java.lang.String,java.lang.String):184:184 -> addMapping
    1:1:void addNonClassMapping(java.lang.String,java.lang.String):189:189 -> addNonClassMapping
    1:5:java.lang.String featureForClass(java.lang.String):200:204 -> featureForClass
    6:6:boolean com.android.tools.r8.utils.FeatureClassMapping$FeaturePredicate.match(java.lang.String):300:300 -> featureForClass
    6:6:java.lang.String featureForClass(java.lang.String):205 -> featureForClass
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:11:boolean com.android.tools.r8.utils.FeatureClassMapping$FeaturePredicate.match(java.lang.String):302:305 -> featureForClass
    8:11:java.lang.String featureForClass(java.lang.String):205 -> featureForClass
    12:20:java.lang.String featureForClass(java.lang.String):206:214 -> featureForClass
    1:1:java.lang.String featureForNonClass(java.lang.String):219:219 -> featureForNonClass
    1:1:com.android.tools.r8.utils.FeatureClassMapping fromSpecification(java.nio.file.Path):94:94 -> fromSpecification
    2:13:com.android.tools.r8.utils.FeatureClassMapping fromSpecification(java.nio.file.Path,com.android.tools.r8.DiagnosticsHandler):99:110 -> fromSpecification
    14:16:com.android.tools.r8.utils.FeatureClassMapping fromSpecification(java.nio.file.Path,com.android.tools.r8.DiagnosticsHandler):104:106 -> fromSpecification
    1:1:java.lang.String getBaseName():66:66 -> getBaseName
com.android.tools.r8.utils.FeatureClassMapping$1 -> com.android.tools.r8.utils.t:
    1:1:void <init>():94:94 -> <init>
com.android.tools.r8.utils.FeatureClassMapping$FeatureMappingException -> com.android.tools.r8.utils.FeatureClassMapping$FeatureMappingException:
    1:1:void <init>(java.lang.String):265:265 -> <init>
com.android.tools.r8.utils.FeatureClassMapping$FeaturePredicate -> com.android.tools.r8.utils.u:
    java.lang.String predicate -> a
    java.lang.String feature -> b
    boolean isCatchAll -> c
    boolean isWildcard -> d
    1:1:void <clinit>():271:271 -> <clinit>
    1:5:void <init>(java.lang.String,java.lang.String):278:282 -> <init>
    6:6:void <init>(java.lang.String,java.lang.String):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1174,"3":1175}}
    1174:1174:void <init>(java.lang.String,java.lang.String):284:284 -> <init>
    1175:1175:void <init>(java.lang.String,java.lang.String):284:284 -> <init>
    291:291:void <init>(java.lang.String,java.lang.String):285:285 -> <init>
    292:292:void <init>(java.lang.String,java.lang.String):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1180,"3":1181}}
    1180:1180:void <init>(java.lang.String,java.lang.String):289:289 -> <init>
    1181:1181:void <init>(java.lang.String,java.lang.String):289:289 -> <init>
    581:581:void <init>(java.lang.String,java.lang.String):289:289 -> <init>
    582:582:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
    583:583:void <init>(java.lang.String,java.lang.String):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1182,"2":1183,"3":1184,"4":1185,"5":1186}}
    1182:1182:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
    1183:1183:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
    1184:1184:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
    1185:1185:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
    1186:1186:void <init>(java.lang.String,java.lang.String):286:286 -> <init>
    869:879:void <init>(java.lang.String,java.lang.String):286:296 -> <init>
    880:880:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
    881:881:void <init>(java.lang.String,java.lang.String):0:0 -> <init>
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":1192,"2":1193,"3":1194,"4":1195,"5":1196}}
    1192:1192:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
    1193:1193:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
    1194:1194:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
    1195:1195:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
    1196:1196:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
    1173:1173:void <init>(java.lang.String,java.lang.String):292:292 -> <init>
com.android.tools.r8.utils.FeatureClassMapping$Internal -> com.android.tools.r8.utils.v:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():115:115 -> <clinit>
    1:10:java.util.List getClassFileDescriptors(java.lang.String,com.android.tools.r8.DiagnosticsHandler):117:126 -> a
    11:11:boolean lambda$getNonClassFiles$0(java.util.zip.ZipEntry):133:133 -> a
    12:32:com.android.tools.r8.utils.FeatureClassMapping fromJarFiles(java.util.List,java.util.List,java.lang.String,com.android.tools.r8.DiagnosticsHandler):147:167 -> a
    1:7:java.util.List getNonClassFiles(java.lang.String,com.android.tools.r8.DiagnosticsHandler):131:131 -> b
    12:15:java.util.List getNonClassFiles(java.lang.String,com.android.tools.r8.DiagnosticsHandler):136:139 -> b
com.android.tools.r8.utils.FeatureClassMapping$JarFileOrigin -> com.android.tools.r8.utils.w:
    1:1:void <init>(java.nio.file.Path):84:84 -> <init>
    1:1:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":180,"2":181,"3":182}}
    180:180:java.lang.String part():89:89 -> part
    181:181:java.lang.String part():89:89 -> part
    182:182:java.lang.String part():89:89 -> part
    90:90:java.lang.String part():89:89 -> part
    91:91:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":183,"2":184,"3":185}}
    183:183:java.lang.String part():89:89 -> part
    184:184:java.lang.String part():89:89 -> part
    185:185:java.lang.String part():89:89 -> part
com.android.tools.r8.utils.FeatureClassMapping$SpecificationOrigin -> com.android.tools.r8.utils.x:
    1:1:void <init>(java.nio.file.Path):72:72 -> <init>
    1:1:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":156,"2":157,"3":158}}
    156:156:java.lang.String part():77:77 -> part
    157:157:java.lang.String part():77:77 -> part
    158:158:java.lang.String part():77:77 -> part
    78:78:java.lang.String part():77:77 -> part
    79:79:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":159,"2":160,"3":161}}
    159:159:java.lang.String part():77:77 -> part
    160:160:java.lang.String part():77:77 -> part
    161:161:java.lang.String part():77:77 -> part
com.android.tools.r8.utils.FieldReferenceUtils -> com.android.tools.r8.internal.gk:
    int $r8$clinit -> b
    java.util.Comparator COMPARATOR -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:3:com.android.tools.r8.references.FieldReference fieldFromField(java.lang.Class,java.lang.String):50:52 -> a
    4:4:java.util.Comparator com.android.tools.r8.utils.FieldReferenceUtils.getFieldReferenceComparator():57:57 -> a
    4:4:int compare(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):39 -> a
    5:5:int compare(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):39:39 -> a
    6:6:java.util.Comparator getFieldReferenceComparator():57:57 -> a
    7:11:java.lang.String toSourceString(com.android.tools.r8.references.FieldReference):61:65 -> a
    1:1:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):22:22 -> b
    2:2:com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.compare(java.lang.Object,java.lang.Object,java.util.Comparator):33:33 -> b
    2:2:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):21 -> b
    3:3:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):23:23 -> b
    4:4:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
    4:4:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):24 -> b
    5:5:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):27:27 -> b
    6:6:com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.compare(java.lang.Comparable,java.lang.Comparable):29:29 -> b
    6:6:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):27 -> b
    7:7:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):28:28 -> b
    8:8:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
    8:8:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):29 -> b
    9:9:int lambda$static$0(com.android.tools.r8.references.FieldReference,com.android.tools.r8.references.FieldReference):31:31 -> b
com.android.tools.r8.utils.FieldSignatureEquivalence -> com.android.tools.r8.internal.jk:
    com.android.tools.r8.utils.FieldSignatureEquivalence INSTANCE -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(boolean):23:23 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):14:14 -> a
    2:2:boolean com.android.tools.r8.utils.FieldSignatureEquivalence.doEquivalent(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):40:40 -> a
    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):14 -> a
    3:3:int doHash(java.lang.Object):14:14 -> a
    4:4:int com.android.tools.r8.utils.FieldSignatureEquivalence.doHash(com.android.tools.r8.graph.DexField):48:48 -> a
    4:4:int doHash(java.lang.Object):14 -> a
    5:5:com.android.tools.r8.utils.FieldSignatureEquivalence get():28:28 -> a
com.android.tools.r8.utils.FileUtils -> com.android.tools.r8.internal.qk:
    boolean isAndroid -> a
    boolean $assertionsDisabled -> b
    1:16:void <clinit>():21:36 -> <clinit>
    1:5:boolean isArchive(java.nio.file.Path):78:82 -> a
    6:6:java.lang.String readTextFile(java.nio.file.Path,java.nio.charset.Charset):86:86 -> a
    7:7:void writeTextFile(java.nio.file.Path,java.util.List):94:94 -> a
    8:8:void writeTextFile(java.nio.file.Path,java.lang.String[]):98:98 -> a
    9:11:java.nio.file.Path validateOutputFile(java.nio.file.Path,com.android.tools.r8.utils.Reporter):103:105 -> a
    12:12:void writeToFile(java.nio.file.Path,java.io.OutputStream,byte[]):167:167 -> a
    13:14:void writeToFile(java.nio.file.Path,java.io.OutputStream,com.android.tools.r8.ByteDataView):172:173 -> a
    15:19:java.io.OutputStream com.android.tools.r8.utils.FileUtils.openPathWithDefault(com.android.tools.r8.com.google.common.io.Closer,java.nio.file.Path,java.io.OutputStream,java.nio.file.OpenOption[]):131:135 -> a
    15:19:void writeToFile(java.nio.file.Path,java.io.OutputStream,com.android.tools.r8.ByteDataView):174 -> a
    20:21:void writeToFile(java.nio.file.Path,java.io.OutputStream,com.android.tools.r8.ByteDataView):181:182 -> a
    22:32:void writeToFile(java.nio.file.Path,java.io.OutputStream,com.android.tools.r8.ByteDataView):172:182 -> a
    33:38:java.lang.String withNativeFileSeparators(java.lang.String):186:191 -> a
    39:52:java.util.zip.ZipFile createZipFile(java.io.File,java.nio.charset.Charset):196:209 -> a
    1:6:boolean isClassFile(java.nio.file.Path):49:54 -> b
    1:2:boolean isClassesDexFile(java.nio.file.Path):141:142 -> c
    3:3:boolean isClassesDexFile(java.nio.file.Path):0:0 -> c
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":161,"3":162}}
    161:161:boolean isClassesDexFile(java.nio.file.Path):145:145 -> c
    162:162:boolean isClassesDexFile(java.nio.file.Path):145:145 -> c
    149:160:boolean isClassesDexFile(java.nio.file.Path):146:157 -> c
    1:2:boolean isDexFile(java.nio.file.Path):39:40 -> d
    1:2:boolean isJarFile(java.nio.file.Path):58:59 -> e
    1:2:boolean isZipFile(java.nio.file.Path):63:64 -> f
    1:1:java.util.List readAllLines(java.nio.file.Path):90:90 -> g
com.android.tools.r8.utils.FilteredArchiveClassFileProvider -> com.android.tools.r8.utils.y:
    1:1:void <init>(com.android.tools.r8.shaking.FilteredClassPath):13:13 -> <init>
com.android.tools.r8.utils.FlagFile -> com.android.tools.r8.internal.Hk:
    1:15:java.lang.String[] expandFlagFiles(java.lang.String[],java.util.function.Consumer):34:48 -> a
com.android.tools.r8.utils.FlagFile$FlagFileOrigin -> com.android.tools.r8.internal.Gk:
    java.nio.file.Path path -> f
    1:2:void <init>(java.nio.file.Path):23:24 -> <init>
    1:1:java.lang.String part():0:0 -> part
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":31,"2":32,"3":33}}
    31:31:java.lang.String part():29:29 -> part
    32:32:java.lang.String part():29:29 -> part
    33:33:java.lang.String part():29:29 -> part
    30:30:java.lang.String part():29:29 -> part
com.android.tools.r8.utils.ForEachUtils -> com.android.tools.r8.internal.Tk:
    1:6:boolean allMatch(java.util.function.Consumer,java.util.function.Predicate):13:18 -> a
    7:7:void lambda$allMatch$0(com.android.tools.r8.utils.BooleanBox,java.util.function.Predicate,java.lang.Object):16:16 -> a
com.android.tools.r8.utils.ForEachable -> com.android.tools.r8.internal.Uk:
com.android.tools.r8.utils.ForEachableUtils -> com.android.tools.r8.internal.Vk:
    void lambda$empty$0(java.util.function.Consumer) -> a
    1:1:com.android.tools.r8.utils.ForEachable empty():10:10 -> a
com.android.tools.r8.utils.FunctionUtils -> com.android.tools.r8.internal.Il:
    1:1:java.lang.Object applyOrElse(java.lang.Object,java.util.function.Function,java.lang.Object):15:15 -> a
    2:3:void forEachApply(java.lang.Iterable,java.util.function.Function,java.lang.Object):28:29 -> a
    4:4:java.util.function.Function ignoreArgument(java.util.function.Supplier):34:34 -> a
    5:5:java.lang.Object lambda$ignoreArgument$2(java.util.function.Supplier,java.lang.Object):34:34 -> a
com.android.tools.r8.utils.HeapUtils -> com.android.tools.r8.internal.Tm:
    com.sun.management.HotSpotDiagnosticMXBean hotSpotDiagnosticMXBean -> a
    1:3:void com.android.tools.r8.utils.HeapUtils.initHotSpotMBean():19:21 -> a
    1:3:void dumpHeap(java.nio.file.Path,boolean):35 -> a
    4:5:com.sun.management.HotSpotDiagnosticMXBean com.android.tools.r8.utils.HeapUtils.getHotSpotDiagnosticMXBean():29:30 -> a
    4:5:void com.android.tools.r8.utils.HeapUtils.initHotSpotMBean():22 -> a
    4:5:void dumpHeap(java.nio.file.Path,boolean):35 -> a
    6:8:void com.android.tools.r8.utils.HeapUtils.initHotSpotMBean():22:24 -> a
    6:8:void dumpHeap(java.nio.file.Path,boolean):35 -> a
    9:9:void dumpHeap(java.nio.file.Path,boolean):36:36 -> a
com.android.tools.r8.utils.IROrdering -> com.android.tools.r8.internal.Fn:
    java.lang.Iterable order(java.lang.Iterable) -> a
com.android.tools.r8.utils.IROrdering$IdentityIROrdering -> com.android.tools.r8.internal.Dn:
    com.android.tools.r8.utils.IROrdering$IdentityIROrdering INSTANCE -> a
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>():27:27 -> <init>
    java.lang.Iterable order(java.lang.Iterable) -> a
    1:1:com.android.tools.r8.utils.IROrdering$IdentityIROrdering getInstance():30:30 -> a
com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering -> com.android.tools.r8.internal.En:
    com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering INSTANCE -> a
    1:1:void <clinit>():51:51 -> <clinit>
    1:1:void <init>():53:53 -> <init>
    1:1:com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering getInstance():56:56 -> a
    2:3:java.util.List com.android.tools.r8.utils.IROrdering$NondeterministicIROrdering.order(java.lang.Iterable):61:62 -> a
    2:3:java.lang.Iterable order(java.lang.Iterable):49 -> a
com.android.tools.r8.utils.IdentifierUtils -> com.android.tools.r8.internal.Qn:
    1:1:boolean isDexIdentifierPart(int):14:14 -> a
    1:1:boolean com.android.tools.r8.utils.IdentifierUtils.isDexIdentifierPart(int):14:14 -> b
    1:1:boolean isDexIdentifierStart(int):10 -> b
    1:1:boolean isRelaxedDexIdentifierPart(int):18:18 -> c
    boolean isSimpleNameChar(int) -> d
com.android.tools.r8.utils.Int2StructuralItemArrayMap -> com.android.tools.r8.internal.Ys:
    int[] keys -> b
    java.util.List values -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(int[],java.util.List,com.android.tools.r8.utils.Int2StructuralItemArrayMap$1):18:18 -> <init>
    2:5:void <init>(int[],java.util.List):24:27 -> <init>
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int[] lambda$specify$0(com.android.tools.r8.utils.Int2StructuralItemArrayMap):42:42 -> a
    2:2:void specify(com.android.tools.r8.utils.structural.StructuralSpecification):42:42 -> a
    3:4:void forEach(java.util.function.BiConsumer):55:56 -> a
    5:5:com.android.tools.r8.utils.Int2StructuralItemArrayMap$Builder builder():73:73 -> a
    1:1:java.util.Collection lambda$specify$1(com.android.tools.r8.utils.Int2StructuralItemArrayMap):42:42 -> b
    2:2:boolean isEmpty():77:77 -> b
    1:2:boolean equals(java.lang.Object):63:64 -> equals
    1:1:int hashCode():69:69 -> hashCode
    1:1:com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping():37:37 -> n
com.android.tools.r8.utils.Int2StructuralItemArrayMap$Builder -> com.android.tools.r8.internal.Xs:
    java.util.List keys -> a
    com.android.tools.r8.com.google.common.collect.ImmutableList$Builder values -> b
    1:1:void <init>(com.android.tools.r8.utils.Int2StructuralItemArrayMap$1):80:80 -> <init>
    2:2:void <init>():85:85 -> <init>
    3:4:void <init>():82:83 -> <init>
    1:2:com.android.tools.r8.utils.Int2StructuralItemArrayMap$Builder put(int,com.android.tools.r8.utils.structural.StructuralItem):88:89 -> a
    3:3:com.android.tools.r8.utils.Int2StructuralItemArrayMap build():98:98 -> a
    1:1:boolean isEmpty():94:94 -> b
com.android.tools.r8.utils.IntBox -> com.android.tools.r8.internal.ft:
    boolean $assertionsDisabled -> b
    int value -> a
    1:1:void <clinit>():7:7 -> <clinit>
    1:1:void <init>():11:11 -> <init>
    2:3:void <init>(int):13:14 -> <init>
    1:1:int get():28:28 -> a
    2:3:int getAndIncrement(int):36:37 -> a
    1:2:int com.android.tools.r8.utils.IntBox.getAndIncrement(int):36:37 -> b
    1:2:int getAndIncrement():32 -> b
    3:4:int getAndSet(int):42:43 -> b
    1:1:void increment():48:48 -> c
    2:3:void increment(int):52:53 -> c
    1:1:void set(int):57:57 -> d
com.android.tools.r8.utils.IntObjConsumer -> com.android.tools.r8.internal.wt:
    void accept(int,java.lang.Object) -> a
com.android.tools.r8.utils.IntObjPredicate -> com.android.tools.r8.internal.xt:
    boolean test(int,java.lang.Object) -> a
com.android.tools.r8.utils.IntObjToObjFunction -> com.android.tools.r8.internal.yt:
    java.lang.Object apply(int,java.lang.Object) -> a
com.android.tools.r8.utils.InternalArchiveClassFileProvider -> com.android.tools.r8.utils.z:
    java.util.zip.ZipFile openedZipFile -> e
    java.nio.file.Path path -> b
    com.android.tools.r8.origin.Origin origin -> c
    java.util.Set descriptors -> d
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():39:39 -> <clinit>
    1:1:void <init>(java.nio.file.Path):52:52 -> <init>
    2:2:void <init>(java.nio.file.Path,java.util.function.Predicate):62:62 -> <init>
    3:32:void <init>(java.nio.file.Path,java.util.function.Predicate):42:71 -> <init>
    boolean lambda$new$0(java.lang.String) -> a
    1:12:java.util.zip.ZipFile getOpenZipFile():101:112 -> a
    1:2:void close():117:118 -> close
    1:1:java.util.Set getClassDescriptors():78:78 -> getClassDescriptors
    1:1:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):83:83 -> getProgramResource
    2:3:java.util.zip.ZipEntry getZipEntryFromDescriptor(java.lang.String):122:123 -> getProgramResource
    2:3:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):87 -> getProgramResource
    4:9:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):88:93 -> getProgramResource
    10:15:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):89:94 -> getProgramResource
    16:24:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):88:96 -> getProgramResource
    25:25:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):0:0 -> getProgramResource
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":124,"2":125,"3":126,"4":127,"5":128}}
    124:124:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
    125:125:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
    126:126:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
    127:127:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
    128:128:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
    121:121:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
    122:122:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> getProgramResource
    122:122:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,com.android.tools.r8.origin.Origin):30 -> getProgramResource
    122:122:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96 -> getProgramResource
    123:123:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):96:96 -> getProgramResource
com.android.tools.r8.utils.InternalOptions -> com.android.tools.r8.internal.gu:
    boolean hasMarker -> f0
    boolean enableStringSwitchConversion -> P
    boolean printTimes -> i
    boolean ignoreJavaLibraryOverride -> b0
    com.android.tools.r8.utils.InternalOptions$TestingOptions testing -> R0
    java.util.Map warningInvalidDebugInfo -> Y0
    com.android.tools.r8.features.FeatureSplitConfiguration featureSplitConfiguration -> f
    com.android.tools.r8.experimental.startup.StartupConfiguration startupConfiguration -> g
    boolean enableFieldBitAccessAnalysis -> q
    com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions horizontalClassMergerOptions -> L0
    boolean skipReadingDexCode -> Z0
    java.util.Set invalidLibraryClasses -> r1
    com.android.tools.r8.StringConsumer proguardSeedsConsumer -> d1
    com.android.tools.r8.MapIdProvider mapIdProvider -> n1
    com.android.tools.r8.cf.CfVersion EXPERIMENTAL_CF_VERSION -> u1
    com.android.tools.r8.utils.OffOrAuto interfaceMethodDesugaring -> t0
    com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions protoShrinking -> N0
    boolean $assertionsDisabled -> w1
    boolean enableInitializedClassesAnalysis -> y
    java.util.Set extensiveInterfaceMethodMinifierLoggingFilter -> i0
    com.android.tools.r8.SourceFileProvider sourceFileProvider -> o1
    java.util.List outputInspections -> h
    boolean forceAnnotateSynthetics -> I
    boolean printMemory -> j
    boolean ignoreMissingClasses -> A0
    com.android.tools.r8.utils.InternalOptions$ClassInlinerOptions classInlinerOptions -> J0
    java.util.List mainDexKeepRules -> S0
    boolean enableVerticalClassMerging -> r
    boolean enableMinification -> z0
    boolean processCovariantReturnTypeAnnotations -> v0
    boolean useSmaliSyntax -> Y
    boolean enableSideEffectAnalysis -> z
    com.android.tools.r8.ir.desugar.desugaredlibrary.machinespecification.MachineDesugaredLibrarySpecification machineDesugaredLibrarySpecification -> g1
    boolean cfToCfDesugar -> H
    boolean ignoreBootClasspathEnumsForMaindexTracing -> n0
    com.android.tools.r8.experimental.graphinfo.GraphConsumer keptGraphConsumer -> j1
    int callGraphLikelySpuriousCallEdgeThreshold -> M
    java.lang.String dumpInputToDirectory -> l
    boolean ignoreMainDexMissingClasses -> c0
    boolean enableRedundantFieldLoadElimination -> V
    java.util.Map warningInvalidParameterAnnotations -> X0
    boolean enableClassInlining -> w
    com.android.tools.r8.cf.CfVersion SUPPORTED_CF_VERSION -> t1
    com.android.tools.r8.StringConsumer mainDexListConsumer -> a1
    java.util.Set extensiveLoggingFilter -> h0
    com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions callSiteOptimizationOptions -> I0
    com.android.tools.r8.StringConsumer configurationConsumer -> e1
    boolean enableTreeShakingOfLibraryMethodOverrides -> E
    com.android.tools.r8.StringConsumer desugaredLibraryKeepRuleConsumer -> i1
    com.android.tools.r8.ProgramConsumer programConsumer -> d
    com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions kotlinOptimizationOptions -> O0
    boolean enableSwitchRewriting -> O
    boolean configurationDebugging -> F0
    boolean libraryInterfacesMayHaveStaticInitialization -> p
    java.lang.String dumpInputToFile -> k
    boolean reportMissingClassesInEnclosingMethodAttribute -> B0
    boolean enableRedundantConstNumberOptimization -> W
    boolean enableClassStaticizer -> x
    com.android.tools.r8.utils.InternalOptions$LineNumberOptimization lineNumberOptimization -> V0
    com.android.tools.r8.graph.DexItemFactory itemFactory -> a
    java.util.List logArgumentsFilter -> p0
    boolean lookupLibraryBeforeProgram -> w0
    boolean enableNestReduction -> s0
    java.util.function.BiPredicate dexClassChecksumFilter -> G
    boolean encodeChecksums -> F
    boolean pruneNonVissibleAnnotationClasses -> o0
    com.android.tools.r8.DataResourceConsumer dataResourceConsumer -> e
    boolean passthroughDexCode -> m
    boolean enableCfByteCodePassThrough -> d0
    com.android.tools.r8.experimental.graphinfo.GraphConsumer mainDexKeptGraphConsumer -> k1
    boolean enableVisibilityBridgeRemoval -> L
    boolean enableEnumUnboxing -> u
    com.android.tools.r8.utils.InternalOptions$OpenClosedInterfacesOptions openClosedInterfacesOptions -> M0
    java.util.Set reportedMissingForDesugaring -> p1
    com.android.tools.r8.dex.Marker marker -> g0
    java.util.Map missingEnclosingMembers -> W0
    com.android.tools.r8.utils.Reporter reporter -> c
    boolean minimalMainDex -> T0
    com.android.tools.r8.utils.AssertionConfigurationWithDefault assertionsConfiguration -> E0
    com.android.tools.r8.StringConsumer proguardMapConsumer -> b1
    int threadCount -> X
    com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions apiModelTestingOptions -> P0
    java.util.Set neverMergePrefixes -> o
    java.lang.Thread mainThread -> N
    com.android.tools.r8.utils.Box reportedExperimentClassFileVersion -> s1
    boolean debug -> H0
    boolean enableNameReflectionOptimization -> C
    boolean enableNeverMergePrefixes -> n
    boolean skipIR -> G0
    boolean relocatorCompilation -> h1
    boolean reportMissingClassesInInnerClassAttributes -> C0
    boolean enableInitializedClassesInInstanceMethodsAnalysis -> U
    boolean enableSimpleInliningConstraints -> v
    boolean enableMainDexListCheck -> x0
    com.android.tools.r8.utils.InternalOptions$OutlineOptions outline -> T
    boolean intermediate -> l0
    com.android.tools.r8.dump.DumpOptions dumpOptions -> e0
    com.android.tools.r8.utils.InternalOptions$InlinerOptions inlinerOptions -> K0
    com.android.tools.r8.utils.ThrowingBiConsumer loadMachineDesugaredLibrarySpecification -> f1
    boolean enableStringConcatenationOptimization -> D
    int minimumStringSwitchSize -> Q
    boolean readDebugSetFileEvent -> J
    boolean invalidDebugInfoStrict -> a0
    boolean enableEnumValueOptimization -> R
    com.android.tools.r8.utils.InternalOptions$DesugarSpecificOptions desugarSpecificOptions -> Q0
    boolean enableUnusedInterfaceRemoval -> s
    boolean enableInheritanceClassInDexDistributor -> U0
    com.android.tools.r8.StringConsumer usageInformationConsumer -> c1
    boolean invalidDebugInfoFatal -> Z
    java.util.function.Consumer syntheticProguardRulesConsumer -> m1
    int SUPPORTED_DEX_VERSION -> v1
    boolean enableDeterminismAnalysis -> A
    boolean forceProguardCompatibility -> D0
    com.android.tools.r8.shaking.ProguardConfiguration proguardConfiguration -> b
    com.android.tools.r8.utils.InternalOptions$DesugarState desugarState -> r0
    boolean disableL8AnnotationRemoval -> K
    java.util.concurrent.atomic.AtomicBoolean reportedErrorReadingKotlinMetadataReflectively -> q1
    boolean enableTreeShaking -> y0
    boolean enableEnumSwitchMapRemoval -> S
    com.android.tools.r8.utils.OffOrAuto tryWithResourcesDesugaring -> u0
    boolean enableDevirtualization -> t
    com.android.tools.r8.utils.AndroidApiLevel minApiLevel -> k0
    boolean enableLoadStoreOptimization -> q0
    java.util.List methodsFilter -> j0
    com.android.tools.r8.DesugarGraphConsumer desugarGraphConsumer -> l1
    boolean retainCompileTimeAnnotations -> m0
    boolean enableServiceLoaderRewriting -> B
    1:32:void <clinit>():111:142 -> <clinit>
    1:1:void <init>():173:173 -> <init>
    2:955:void <init>():164:1117 -> <init>
    956:960:void <init>():174:178 -> <init>
    961:961:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):182:182 -> <init>
    962:1915:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):164:1117 -> <init>
    1916:1923:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.utils.Reporter):183:190 -> <init>
    1924:1924:void <init>(com.android.tools.r8.CompilationMode,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):195:195 -> <init>
    1925:2878:void <init>(com.android.tools.r8.CompilationMode,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):164:1117 -> <init>
    2879:2899:void <init>(com.android.tools.r8.CompilationMode,com.android.tools.r8.shaking.ProguardConfiguration,com.android.tools.r8.utils.Reporter):196:216 -> <init>
    1:1:boolean canHaveNumberConversionRegisterAllocationBug():2217:2217 -> A
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> A
    2:2:boolean canHaveNumberConversionRegisterAllocationBug():2217 -> A
    3:3:boolean canHaveNumberConversionRegisterAllocationBug():2217:2217 -> A
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> A0
    1:1:boolean isDesugaring():485 -> A0
    2:2:boolean isDesugaring():485:485 -> A0
    1:1:boolean canHaveOverlappingLongRegisterBug():2101:2101 -> B
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> B
    2:2:boolean canHaveOverlappingLongRegisterBug():2101 -> B
    3:3:boolean canHaveOverlappingLongRegisterBug():2101:2101 -> B
    1:1:boolean isForceProguardCompatibilityEnabled():634:634 -> B0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> C
    1:1:boolean canHaveSuperInvokeBug():2406 -> C
    2:2:boolean canHaveSuperInvokeBug():2406:2406 -> C
    1:1:boolean isGeneratingClassFiles():481:481 -> C0
    1:1:boolean canHaveSwitchMaxIntBug():2390:2390 -> D
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> D
    2:2:boolean canHaveSwitchMaxIntBug():2390 -> D
    3:3:boolean canHaveSwitchMaxIntBug():2390:2390 -> D
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexIndexed():473:473 -> D0
    1:1:boolean isGeneratingDex():469 -> D0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexFilePerClassFile():477:477 -> D0
    2:2:boolean isGeneratingDex():469 -> D0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> E
    1:1:boolean canHaveThisJitCodeDebuggingBug():2095 -> E
    2:2:boolean canHaveThisJitCodeDebuggingBug():2095:2095 -> E
    1:1:boolean com.android.tools.r8.utils.InternalOptions.hasConsumer():426:426 -> E0
    1:1:boolean isInterfaceMethodDesugaringEnabled():1977 -> E0
    2:4:boolean isInterfaceMethodDesugaringEnabled():1980:1982 -> E0
    1:1:boolean canHaveThisTypeVerifierBug():2086:2086 -> F
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> F
    2:2:boolean canHaveThisTypeVerifierBug():2086 -> F
    3:3:boolean canHaveThisTypeVerifierBug():2086:2086 -> F
    1:1:boolean isKeepAttributesSignatureEnabled():643:643 -> F0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> G
    1:1:boolean canHaveTracingPastInstructionsStreamBug():2257 -> G
    2:2:boolean canHaveTracingPastInstructionsStreamBug():2257:2257 -> G
    1:1:boolean isKeepEnclosingMethodAttributeEnabled():648:648 -> G0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> H
    1:1:boolean canHaveZipFileWithMissingCloseableBug():2382 -> H
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> H
    2:2:boolean canHaveZipFileWithMissingCloseableBug():2382 -> H
    3:3:boolean canHaveZipFileWithMissingCloseableBug():2382:2382 -> H
    1:1:boolean isKeepInnerClassesAttributeEnabled():653:653 -> H0
    1:1:boolean canInitCauseAfterAssertionErrorObjectConstructor():2031:2031 -> I
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> I
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> I
    2:2:boolean canInitCauseAfterAssertionErrorObjectConstructor():2031 -> I
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> I
    3:3:boolean canInitCauseAfterAssertionErrorObjectConstructor():2031 -> I
    1:1:boolean isKeepRuntimeInvisibleAnnotationsEnabled():658:658 -> I0
    1:1:boolean canLeaveStaticInterfaceMethodInvokes():1929:1929 -> J
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> J
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> J
    2:2:boolean canLeaveStaticInterfaceMethodInvokes():1929 -> J
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> J
    3:3:boolean canLeaveStaticInterfaceMethodInvokes():1929 -> J
    1:1:boolean isKeepRuntimeInvisibleParameterAnnotationsEnabled():663:663 -> J0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> K
    1:1:boolean canParseNumbersWithPlusPrefix():2398 -> K
    2:2:boolean canParseNumbersWithPlusPrefix():2398:2398 -> K
    1:1:boolean isKeepRuntimeVisibleAnnotationsEnabled():668:668 -> K0
    1:1:boolean canUseAssertionErrorTwoArgumentConstructor():2012:2012 -> L
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> L
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> L
    2:2:boolean canUseAssertionErrorTwoArgumentConstructor():2012 -> L
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> L
    3:3:boolean canUseAssertionErrorTwoArgumentConstructor():2012 -> L
    1:1:boolean isKeepRuntimeVisibleParameterAnnotationsEnabled():673:673 -> L0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> M
    1:1:boolean canUseConstantMethodHandle():1905 -> M
    2:2:boolean canUseConstantMethodHandle():1905:1905 -> M
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> M
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> M
    3:3:boolean canUseConstantMethodHandle():1905 -> M
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> M
    4:4:boolean canUseConstantMethodHandle():1905 -> M
    1:3:boolean isMinifying():602:602 -> M0
    5:5:boolean isMinifying():604:604 -> M0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> N
    1:1:boolean canUseConstantMethodType():1909 -> N
    2:2:boolean canUseConstantMethodType():1909:1909 -> N
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> N
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> N
    3:3:boolean canUseConstantMethodType():1909 -> N
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> N
    4:4:boolean canUseConstantMethodType():1909 -> N
    1:1:boolean isOptimizing():588:588 -> N0
    1:1:boolean canUseDefaultAndStaticInterfaceMethods():1917:1917 -> O
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> O
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> O
    2:2:boolean canUseDefaultAndStaticInterfaceMethods():1917 -> O
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> O
    3:3:boolean canUseDefaultAndStaticInterfaceMethods():1917 -> O
    1:1:boolean isRelease():592:592 -> O0
    1:2:boolean canUseFilledNewArrayOfObjects():2043:2044 -> P
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> P
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> P
    3:3:boolean canUseFilledNewArrayOfObjects():2044 -> P
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> P
    4:4:boolean canUseFilledNewArrayOfObjects():2044 -> P
    1:3:boolean isShrinking():596:596 -> P0
    5:5:boolean isShrinking():598:598 -> P0
    1:1:boolean canUseInputStackMaps():711:711 -> Q
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> Q
    2:2:boolean canUseInputStackMaps():711 -> Q
    1:1:boolean isStringSwitchConversionEnabled():1990:1990 -> Q0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> R
    1:1:boolean canUseInvokeCustom():1913 -> R
    2:2:boolean canUseInvokeCustom():1913:1913 -> R
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> R
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> R
    3:3:boolean canUseInvokeCustom():1913 -> R
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> R
    4:4:boolean canUseInvokeCustom():1913 -> R
    1:6:void keepDebugRelatedInformation():221:226 -> R0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> S
    1:1:boolean canUseInvokePolymorphic():1901 -> S
    2:2:boolean canUseInvokePolymorphic():1901:1901 -> S
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> S
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> S
    3:3:boolean canUseInvokePolymorphic():1901 -> S
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> S
    4:4:boolean canUseInvokePolymorphic():1901 -> S
    1:2:boolean keepInnerClassStructure():706:707 -> S0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> T
    1:1:boolean canUseInvokePolymorphicOnVarHandle():1897 -> T
    2:2:boolean canUseInvokePolymorphicOnVarHandle():1897:1897 -> T
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> T
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> T
    3:3:boolean canUseInvokePolymorphicOnVarHandle():1897 -> T
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> T
    4:4:boolean canUseInvokePolymorphicOnVarHandle():1897 -> T
    1:1:com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions kotlinOptimizationOptions():780:780 -> T0
    1:1:boolean canUseJavaUtilObjects():1999:1999 -> U
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> U
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> U
    2:2:boolean canUseJavaUtilObjects():1999 -> U
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> U
    3:3:boolean canUseJavaUtilObjects():1999 -> U
    1:1:boolean parseSignatureAttribute():638:638 -> U0
    1:1:boolean canUseJavaUtilObjectsIsNull():2003:2003 -> V
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> V
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> V
    2:2:boolean canUseJavaUtilObjectsIsNull():2003 -> V
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> V
    3:3:boolean canUseJavaUtilObjectsIsNull():2003 -> V
    1:32:boolean printWarnings():1137:1168 -> V0
    33:72:boolean printWarnings():1164:1203 -> V0
    1:2:boolean canUseMultidex():1994:1995 -> W
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> W
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> W
    3:3:boolean canUseMultidex():1995 -> W
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> W
    4:4:boolean canUseMultidex():1995 -> W
    1:1:com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions protoShrinking():776:776 -> W0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.canUseDexPc2PcAsDebugInformation():1966:1966 -> X
    1:1:boolean canUseNativeDexPcInsteadOfDebugInfo():1970 -> X
    2:2:boolean canUseNativeDexPcInsteadOfDebugInfo():1970:1970 -> X
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> X
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> X
    3:3:boolean canUseNativeDexPcInsteadOfDebugInfo():1971 -> X
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> X
    4:4:boolean canUseNativeDexPcInsteadOfDebugInfo():1971 -> X
    5:5:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1962:1962 -> X
    5:5:boolean canUseNativeDexPcInsteadOfDebugInfo():1972 -> X
    1:1:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1892:1892 -> X0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> X0
    2:2:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1892 -> X0
    3:4:com.android.tools.r8.cf.CfVersion requiredCfVersionForConstClassInstructions():1892:1893 -> X0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> Y
    1:1:boolean canUseNotInstruction():2079 -> Y
    2:2:boolean canUseNotInstruction():2079:2079 -> Y
    3:3:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> Y
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> Y
    3:3:boolean canUseNotInstruction():2079 -> Y
    4:4:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> Y
    4:4:boolean canUseNotInstruction():2079 -> Y
    1:1:boolean com.android.tools.r8.utils.InternalOptions.hasConsumer():426:426 -> Y0
    1:1:boolean shouldBackportMethods():454 -> Y0
    2:2:boolean shouldBackportMethods():454:454 -> Y0
    1:1:boolean canUsePrivateInterfaceMethods():1955:1955 -> Z
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> Z
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> Z
    2:2:boolean canUsePrivateInterfaceMethods():1955 -> Z
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> Z
    3:3:boolean canUsePrivateInterfaceMethods():1955 -> Z
    1:1:boolean shouldDesugarRecords():527:527 -> Z0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.canUseRecords():1925:1925 -> Z0
    2:2:boolean shouldDesugarRecords():527 -> Z0
    boolean lambda$new$0(java.lang.String,java.lang.Long) -> a
    1:1:com.android.tools.r8.utils.InternalOptions$InlinerOptions access$200(com.android.tools.r8.utils.InternalOptions):111:111 -> a
    2:3:void setMarker(com.android.tools.r8.dex.Marker):370:371 -> a
    4:5:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):375:376 -> a
    6:12:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):383:389 -> a
    6:12:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):378 -> a
    13:13:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    13:13:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):390 -> a
    13:13:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):378 -> a
    14:19:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):390:395 -> a
    14:19:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):378 -> a
    20:20:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> a
    20:20:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):396 -> a
    20:20:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):378 -> a
    21:30:com.android.tools.r8.dex.Marker com.android.tools.r8.utils.InternalOptions.createMarker(com.android.tools.r8.dex.Marker$Tool):396:405 -> a
    21:30:com.android.tools.r8.dex.Marker getMarker(com.android.tools.r8.dex.Marker$Tool):378 -> a
    31:40:void setDumpInputFlags(com.android.tools.r8.utils.DumpInputFlags,boolean):412:421 -> a
    41:42:void setMinApiLevel(com.android.tools.r8.utils.AndroidApiLevel):583:584 -> a
    43:43:boolean isOptimizationEnabled():624:624 -> a
    44:53:boolean isClassMergingExtensionRequired(com.android.tools.r8.shaking.Enqueuer$Mode):681:690 -> a
    54:57:void setDesugaredLibrarySpecification(com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification):900:903 -> a
    58:58:void lambda$setDesugaredLibrarySpecification$1(com.android.tools.r8.ir.desugar.desugaredlibrary.DesugaredLibrarySpecification,com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.DexApplication):906:906 -> a
    59:64:void loadMachineDesugaredLibrarySpecification(com.android.tools.r8.utils.Timing,com.android.tools.r8.graph.DexApplication):914:919 -> a
    65:67:java.lang.RuntimeException errorMissingNestMember(com.android.tools.r8.ir.desugar.nest.Nest):992:994 -> a
    68:68:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    68:68:java.lang.RuntimeException errorMissingNestMember(com.android.tools.r8.ir.desugar.nest.Nest):994 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    69:69:java.lang.RuntimeException errorMissingNestMember(com.android.tools.r8.ir.desugar.nest.Nest):994:994 -> a
    70:70:java.lang.RuntimeException errorMissingNestMember(com.android.tools.r8.ir.desugar.nest.Nest):992:992 -> a
    71:77:void warningMissingTypeForDesugar(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):1036:1042 -> a
    78:78:void warningMissingTypeForDesugar(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexMethod):1037:1037 -> a
    79:80:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1049:1050 -> a
    81:81:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    81:81:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1052 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    82:88:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1052:1058 -> a
    89:89:void warningMissingInterfaceForDesugar(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexType):1050:1050 -> a
    90:98:void warningInvalidLibrarySuperclassForDesugar(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.Set):1078:1086 -> a
    99:99:void warningInvalidLibrarySuperclassForDesugar(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.Set):1085:1085 -> a
    100:100:void warningInvalidLibrarySuperclassForDesugar(com.android.tools.r8.origin.Origin,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,java.lang.String,java.util.Set):1079:1079 -> a
    101:101:com.android.tools.r8.references.MethodReference lambda$warningInvalidLibrarySuperclassForDesugar$2(com.android.tools.r8.graph.DexMethod):1086:1086 -> a
    102:105:void warningMissingEnclosingMember(com.android.tools.r8.graph.DexType,com.android.tools.r8.origin.Origin,com.android.tools.r8.cf.CfVersion):1091:1094 -> a
    106:110:void warningInvalidParameterAnnotations(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.origin.Origin,int,int):1099:1103 -> a
    111:117:void warningInvalidDebugInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.errors.InvalidDebugInfoException):1108:1114 -> a
    118:118:void warningInvalidDebugInfo(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.origin.Origin,com.android.tools.r8.errors.InvalidDebugInfoException):1109:1109 -> a
    119:119:java.util.List lambda$warningInvalidDebugInfo$5(com.android.tools.r8.origin.Origin):1113:1113 -> a
    120:125:boolean methodMatchesFilter(com.android.tools.r8.graph.DexEncodedMethod):1217:1222 -> a
    126:126:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1887:1887 -> a
    127:127:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    127:127:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1887 -> a
    128:129:boolean canUseConstClassInstructions(com.android.tools.r8.cf.CfVersion):1887:1888 -> a
    1:1:boolean canUseSameArrayAndResultRegisterInArrayGetWide():2052:2052 -> a0
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> a0
    2:2:boolean canUseSameArrayAndResultRegisterInArrayGetWide():2053 -> a0
    3:3:boolean canUseSameArrayAndResultRegisterInArrayGetWide():2053:2053 -> a0
    1:1:boolean shouldKeepStackMapTable():458:458 -> a1
    2:2:boolean com.android.tools.r8.utils.InternalOptions.isRelocatorCompilation():450:450 -> a1
    2:2:boolean shouldKeepStackMapTable():458 -> a1
    3:4:boolean shouldKeepStackMapTable():458:459 -> a1
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isRelocatorCompilation():450:450 -> a1
    5:5:boolean shouldKeepStackMapTable():460 -> a1
    6:6:boolean shouldKeepStackMapTable():461:461 -> a1
    1:1:com.android.tools.r8.utils.Box access$300(com.android.tools.r8.utils.InternalOptions):111:111 -> b
    2:2:boolean isTreeShakingEnabled():614:614 -> b
    3:36:java.lang.String messageErrorIncompleteNest(com.android.tools.r8.ir.desugar.nest.Nest):998:1031 -> b
    37:37:java.util.List lambda$warningInvalidParameterAnnotations$4(com.android.tools.r8.origin.Origin):1102:1102 -> b
    1:1:boolean canUseSuppressedExceptions():2008:2008 -> b0
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> b0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> b0
    2:2:boolean canUseSuppressedExceptions():2008 -> b0
    3:3:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> b0
    3:3:boolean canUseSuppressedExceptions():2008 -> b0
    1:1:boolean shouldRerunEnqueuer():465:465 -> b1
    1:1:boolean isMinificationEnabled():619:619 -> c
    2:2:java.util.List lambda$warningMissingEnclosingMember$3(com.android.tools.r8.origin.Origin):1093:1093 -> c
    1:1:com.android.tools.r8.utils.InternalOptions$ClassInlinerOptions classInlinerOptions():764:764 -> c0
    1:18:void signalFinishedToConsumers():501:518 -> c1
    1:1:boolean isRepackagingEnabled():629:629 -> d
    2:2:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isSome():1263:1263 -> d
    2:2:boolean isRepackagingEnabled():629 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isNone():1247:1247 -> d
    3:3:boolean com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode.isSome():1263 -> d
    3:3:boolean isRepackagingEnabled():629 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    4:4:boolean isRepackagingEnabled():629:629 -> d
    5:14:void warningExperimentalClassFileVersion(com.android.tools.r8.origin.Origin):1120:1129 -> d
    15:21:void warningExperimentalClassFileVersion(com.android.tools.r8.origin.Origin):1125:1131 -> d
    1:1:com.android.tools.r8.utils.InternalOptions$DesugarSpecificOptions desugarSpecificOptions():788:788 -> d0
    1:2:void warningReadingKotlinMetadataReflective():1063:1064 -> d1
    1:1:boolean access$000(java.lang.String):0:0 -> e
    2:3:boolean com.android.tools.r8.utils.InternalOptions.isSystemPropertyForDevelopmentSet(java.lang.String):821:822 -> e
    2:3:boolean access$000(java.lang.String):111 -> e
    1:1:com.android.tools.r8.graph.DexItemFactory dexItemFactory():149:149 -> e0
    1:1:int access$100(java.lang.String,int):0:0 -> f
    2:5:int com.android.tools.r8.utils.InternalOptions.parseSystemPropertyForDevelopmentOrDefault(java.lang.String,int):829:832 -> f
    2:5:int access$100(java.lang.String,int):111 -> f
    1:3:void disableAllOptimizations():239:241 -> f0
    1:1:com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions apiModelingOptions():784:784 -> g
    1:13:void disableGlobalOptimizations():245:257 -> g0
    14:14:void com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions.disableApiCallerIdentification():1625:1625 -> g0
    14:14:void disableGlobalOptimizations():257 -> g0
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    1:1:boolean assertionsEnabled():959:959 -> h
    1:1:void disableNameReflectionOptimization():1854:1854 -> h0
    1:1:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions callSiteOptimizationOptions():760:760 -> i
    1:1:boolean enableBackportedMethodRewriting():1941:1941 -> i0
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> i0
    2:2:boolean enableBackportedMethodRewriting():1941 -> i0
    3:3:boolean enableBackportedMethodRewriting():1941:1941 -> i0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> j
    1:1:boolean canHaveArtCheckCastVerifierBug():2329 -> j
    2:2:boolean canHaveArtCheckCastVerifierBug():2329:2329 -> j
    1:6:void enableProtoShrinking():230:235 -> j0
    1:1:boolean canHaveArtInstanceOfVerifierBug():2284:2284 -> k
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> k
    2:2:boolean canHaveArtInstanceOfVerifierBug():2285 -> k
    3:3:boolean canHaveArtInstanceOfVerifierBug():2285:2285 -> k
    1:5:boolean enableTryWithResourcesDesugaring():1945:1949 -> k0
    6:6:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1933:1933 -> k0
    6:6:boolean enableTryWithResourcesDesugaring():1949 -> k0
    7:7:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> k0
    7:7:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858 -> k0
    7:7:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1933 -> k0
    7:7:boolean enableTryWithResourcesDesugaring():1949 -> k0
    8:8:boolean com.android.tools.r8.utils.InternalOptions.hasMinApi(com.android.tools.r8.utils.AndroidApiLevel):1858:1858 -> k0
    8:8:boolean com.android.tools.r8.utils.InternalOptions.canUseTwrCloseResourceMethod():1933 -> k0
    8:8:boolean enableTryWithResourcesDesugaring():1949 -> k0
    9:9:boolean enableTryWithResourcesDesugaring():1951:1951 -> k0
    1:1:boolean canHaveArtStringNewInitBug():2209:2209 -> l
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> l
    2:2:boolean canHaveArtStringNewInitBug():2209 -> l
    3:3:boolean canHaveArtStringNewInitBug():2209:2209 -> l
    1:9:java.util.Set getExtensiveInterfaceMethodMinifierLoggingFilter():809:817 -> l0
    1:1:boolean canHaveBoundsCheckEliminationBug():2070:2070 -> m
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> m
    2:2:boolean canHaveBoundsCheckEliminationBug():2070 -> m
    3:3:boolean canHaveBoundsCheckEliminationBug():2070:2070 -> m
    1:9:java.util.Set getExtensiveLoggingFilter():796:804 -> m0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> n
    1:1:boolean canHaveCmpIfFloatBug():2162 -> n
    2:2:boolean canHaveCmpIfFloatBug():2162:2162 -> n
    1:1:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():430:430 -> n0
    2:2:boolean com.android.tools.r8.utils.InternalOptions.hasConsumer():426:426 -> n0
    2:2:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():430 -> n0
    3:3:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():430:430 -> n0
    4:4:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexIndexed():473:473 -> n0
    4:4:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():431 -> n0
    5:5:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():432:432 -> n0
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingDexFilePerClassFile():477:477 -> n0
    6:6:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():433 -> n0
    7:7:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():434:434 -> n0
    8:8:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> n0
    8:8:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():435 -> n0
    9:11:com.android.tools.r8.utils.InternalOutputMode getInternalOutputMode():436:438 -> n0
    1:1:boolean canHaveCmpLongBug():2134:2134 -> o
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> o
    2:2:boolean canHaveCmpLongBug():2134 -> o
    3:3:boolean canHaveCmpLongBug():2134:2134 -> o
    1:1:com.android.tools.r8.utils.AndroidApiLevel getMinApiLevel():579:579 -> o0
    1:1:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2361:2361 -> p
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> p
    2:2:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2361 -> p
    3:3:boolean canHaveDalvikAbstractMethodOnNonAbstractClassVerificationBug():2361:2361 -> p
    1:1:com.android.tools.r8.utils.InternalOptions$OpenClosedInterfacesOptions getOpenClosedInterfacesOptions():792:792 -> p0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> q
    1:1:boolean canHaveDalvikCatchHandlerVerificationBug():2353 -> q
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> q
    2:2:boolean canHaveDalvikCatchHandlerVerificationBug():2353 -> q
    3:3:boolean canHaveDalvikCatchHandlerVerificationBug():2353:2353 -> q
    1:1:com.android.tools.r8.shaking.ProguardConfiguration getProguardConfiguration():157:157 -> q0
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> r
    1:1:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2375 -> r
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> r
    2:2:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2375 -> r
    3:3:boolean canHaveDalvikIntUsedAsNonIntPrimitiveTypeBug():2375:2375 -> r
    1:1:com.android.tools.r8.ir.desugar.TypeRewriter getTypeRewriter():927:927 -> r0
    2:2:com.android.tools.r8.ir.desugar.TypeRewriter com.android.tools.r8.ir.desugar.TypeRewriter.empty():18:18 -> r0
    2:2:com.android.tools.r8.ir.desugar.TypeRewriter getTypeRewriter():928 -> r0
    3:3:com.android.tools.r8.ir.desugar.TypeRewriter getTypeRewriter():929:929 -> r0
    1:1:boolean canHaveDex2OatInliningIssue():2201:2201 -> s
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> s
    2:2:boolean canHaveDex2OatInliningIssue():2201 -> s
    3:3:boolean canHaveDex2OatInliningIssue():2201:2201 -> s
    1:1:boolean hasMethodsFilter():1212:1212 -> s0
    1:1:boolean canHaveDex2OatLinkedListBug():2193:2193 -> t
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> t
    2:2:boolean canHaveDex2OatLinkedListBug():2193 -> t
    3:3:boolean canHaveDex2OatLinkedListBug():2193:2193 -> t
    1:1:boolean hasProguardConfiguration():153:153 -> t0
    1:1:boolean canHaveExceptionTargetingLoopHeaderBug():2242:2242 -> u
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> u
    2:2:boolean canHaveExceptionTargetingLoopHeaderBug():2242 -> u
    3:3:boolean canHaveExceptionTargetingLoopHeaderBug():2242:2242 -> u
    1:1:boolean hasUsageInformationConsumer():888:888 -> u0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> v
    1:1:boolean canHaveExceptionTypeBug():2321 -> v
    2:2:boolean canHaveExceptionTypeBug():2321:2321 -> v
    1:1:com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions horizontalClassMergerOptions():772:772 -> v0
    1:1:boolean canHaveForwardingInitInliningBug():2230:2230 -> w
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> w
    2:2:boolean canHaveForwardingInitInliningBug():2230 -> w
    3:3:boolean canHaveForwardingInitInliningBug():2230:2230 -> w
    1:1:com.android.tools.r8.utils.InternalOptions$InlinerOptions inlinerOptions():768:768 -> w0
    1:1:boolean canHaveInvokeInterfaceToObjectMethodBug():2418:2418 -> x
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> x
    2:2:boolean canHaveInvokeInterfaceToObjectMethodBug():2418 -> x
    3:3:boolean canHaveInvokeInterfaceToObjectMethodBug():2418:2418 -> x
    1:2:boolean isAccessModificationEnabled():696:697 -> x0
    1:1:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> y
    1:1:boolean canHaveLongToIntBug():2308 -> y
    2:2:boolean canHaveLongToIntBug():2308:2308 -> y
    1:1:boolean com.android.tools.r8.utils.InternalOptions.isForceProguardCompatibilityEnabled():634:634 -> y0
    1:1:boolean isAnnotationRemovalEnabled():609 -> y0
    1:1:boolean canHaveMul2AddrBug():2184:2184 -> z
    2:2:com.android.tools.r8.utils.AndroidApiLevel com.android.tools.r8.utils.InternalOptions.getMinApiLevel():579:579 -> z
    2:2:boolean canHaveMul2AddrBug():2184 -> z
    3:3:boolean canHaveMul2AddrBug():2184:2184 -> z
    1:1:boolean isDesugaredLibraryCompilation():446:446 -> z0
com.android.tools.r8.utils.InternalOptions$1 -> com.android.tools.r8.internal.fu:
    int[] $SwitchMap$com$android$tools$r8$utils$OffOrAuto -> a
    1:1:void <clinit>():1945:1945 -> <clinit>
com.android.tools.r8.utils.InternalOptions$ApiModelTestingOptions -> com.android.tools.r8.internal.gu$a:
    java.util.function.BiConsumer tracedMethodApiLevelCallback -> h
    boolean enableApiCallerIdentification -> a
    java.util.Map methodApiMapping -> e
    boolean checkAllApiReferencesAreSet -> b
    java.util.Map fieldApiMapping -> f
    boolean enableStubbingOfClasses -> c
    java.util.Map classApiMapping -> g
    boolean enableOutliningOfMethods -> d
    1:16:void <init>():1588:1603 -> <init>
    1:12:void visitMockedApiLevelsForReferences(com.android.tools.r8.graph.DexItemFactory,java.util.function.BiConsumer):1607:1618 -> a
    13:13:void lambda$visitMockedApiLevelsForReferences$0(java.util.function.BiConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.ClassReference,com.android.tools.r8.utils.AndroidApiLevel):1612:1612 -> a
    14:14:void lambda$visitMockedApiLevelsForReferences$1(java.util.function.BiConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.FieldReference,com.android.tools.r8.utils.AndroidApiLevel):1616:1616 -> a
    15:15:void lambda$visitMockedApiLevelsForReferences$2(java.util.function.BiConsumer,com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.MethodReference,com.android.tools.r8.utils.AndroidApiLevel):1620:1620 -> a
com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions -> com.android.tools.r8.internal.gu$b:
    com.android.tools.r8.utils.InternalOptions this$0 -> d
    boolean $assertionsDisabled -> e
    boolean enabled -> a
    boolean enableMethodStaticizing -> b
    boolean forceSyntheticsForInstanceInitializers -> c
    1:1:void <clinit>():1299:1299 -> <clinit>
    1:6:void <init>(com.android.tools.r8.utils.InternalOptions):1299:1304 -> <init>
    1:1:void disableOptimization():1307:1307 -> a
    2:2:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions setEnableMethodStaticizing(boolean):1345:1345 -> a
    1:4:boolean isEnabled():1315:1318 -> b
    5:5:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions setEnabled(boolean):1331:1331 -> b
    6:6:void com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions.disableOptimization():1307:1307 -> b
    6:6:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions setEnabled(boolean):1333 -> b
    1:1:boolean isForceSyntheticsForInstanceInitializersEnabled():1322:1322 -> c
    2:2:com.android.tools.r8.utils.InternalOptions$CallSiteOptimizationOptions setForceSyntheticsForInstanceInitializers(boolean):1340:1340 -> c
    1:1:boolean isMethodStaticizingEnabled():1326:1326 -> d
com.android.tools.r8.utils.InternalOptions$ClassInlinerOptions -> com.android.tools.r8.internal.gu$c:
    com.android.tools.r8.utils.InternalOptions this$0 -> b
    boolean $assertionsDisabled -> c
    int classInliningInstructionAllowance -> a
    1:1:void <clinit>():1350:1350 -> <clinit>
    1:3:void <init>(com.android.tools.r8.utils.InternalOptions):1350:1352 -> <init>
    1:4:int getClassInliningInstructionAllowance():1355:1358 -> a
    5:5:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    5:5:int getClassInliningInstructionAllowance():1358 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    6:6:int getClassInliningInstructionAllowance():1358 -> a
    7:7:int getClassInliningInstructionAllowance():1361:1361 -> a
com.android.tools.r8.utils.InternalOptions$DesugarSpecificOptions -> com.android.tools.r8.internal.gu$d:
    boolean sortMethodsOnCfOutput -> a
    boolean allowAllDesugaredInput -> b
    boolean noCfMarkerForDesugaredCode -> c
    boolean lambdaClassFieldsFinal -> d
    1:15:void <init>():1282:1296 -> <init>
com.android.tools.r8.utils.InternalOptions$DesugarState -> com.android.tools.r8.internal.gu$e:
    com.android.tools.r8.utils.InternalOptions$DesugarState OFF -> b
    com.android.tools.r8.utils.InternalOptions$DesugarState ON -> c
    com.android.tools.r8.utils.InternalOptions$DesugarState[] $VALUES -> d
    1:2:void <clinit>():126:127 -> <clinit>
    3:3:void <clinit>():125:125 -> <clinit>
    1:1:void <init>(java.lang.String,int):125:125 -> <init>
    1:1:boolean isOff():130:130 -> a
    1:1:boolean isOn():134:134 -> b
    1:1:com.android.tools.r8.utils.InternalOptions$DesugarState[] values():125:125 -> values
com.android.tools.r8.utils.InternalOptions$HorizontalClassMergerOptions -> com.android.tools.r8.internal.gu$f:
    boolean enableSyntheticMerging -> e
    boolean restrictToSynthetics -> f
    com.android.tools.r8.utils.InternalOptions this$0 -> g
    boolean $assertionsDisabled -> h
    boolean enable -> a
    boolean enableClassInitializerDeadlockDetection -> b
    boolean enableInterfaceMerging -> c
    boolean enableInterfaceMergingInInitial -> d
    1:1:void <clinit>():1415:1415 -> <clinit>
    1:14:void <init>(com.android.tools.r8.utils.InternalOptions):1415:1428 -> <init>
    1:1:void disable():1431:1431 -> a
    2:2:void enableIf(boolean):1443:1443 -> a
    3:9:boolean isEnabled(com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):1463:1469 -> a
    1:1:void disableSyntheticMerging():1435:1435 -> b
    2:8:boolean isInterfaceMergingEnabled(com.android.tools.r8.horizontalclassmerging.HorizontalClassMerger$Mode):1482:1488 -> b
    1:1:void enable():1439:1439 -> c
    int getMaxClassGroupSize() -> d
    1:1:boolean isClassInitializerDeadlockDetectionEnabled():1459:1459 -> e
    1:1:boolean isRestrictedToSynthetics():1493:1493 -> f
    1:1:boolean isSyntheticMergingEnabled():1478:1478 -> g
    1:1:void setEnableClassInitializerDeadlockDetection():1497:1497 -> h
    1:1:void setEnableInterfaceMerging():1501:1501 -> i
    1:1:void setEnableInterfaceMergingInInitial():1505:1505 -> j
    1:1:void setRestrictToSynthetics():1513:1513 -> k
com.android.tools.r8.utils.InternalOptions$InlinerOptions -> com.android.tools.r8.internal.gu$g:
    boolean $assertionsDisabled -> m
    boolean enableInliningOfInvokesWithClassInitializationSideEffects -> i
    boolean enableInliningOfInvokesWithNullableReceivers -> j
    int applyInliningToInlineeMaxDepth -> h
    boolean disableInliningOfLibraryMethodOverrides -> k
    int inliningControlFlowResolutionBlocksThreshold -> f
    int inliningInstructionAllowance -> d
    int inliningMonitorEnterValuesAllowance -> e
    int simpleInliningInstructionLimit -> b
    com.android.tools.r8.utils.InternalOptions this$0 -> l
    int[] multiCallerInliningInstructionLimits -> c
    boolean applyInliningToInlinee -> g
    boolean enableInlining -> a
    1:1:void <clinit>():1366:1366 -> <clinit>
    1:33:void <init>(com.android.tools.r8.utils.InternalOptions):1366:1398 -> <init>
    1:5:int getSimpleInliningInstructionLimit():1402:1406 -> a
    6:6:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    6:6:int getSimpleInliningInstructionLimit():1406 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    7:7:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    7:7:int getSimpleInliningInstructionLimit():1406 -> a
    8:8:int getSimpleInliningInstructionLimit():1410:1410 -> a
com.android.tools.r8.utils.InternalOptions$InvalidParameterAnnotationInfo -> com.android.tools.r8.internal.hu:
    int expectedParameterCount -> b
    int actualParameterCount -> c
    com.android.tools.r8.graph.DexMethod method -> a
    1:4:void <init>(com.android.tools.r8.graph.DexMethod,int,int):845:848 -> <init>
com.android.tools.r8.utils.InternalOptions$KotlinOptimizationOptions -> com.android.tools.r8.internal.iu:
    boolean disableKotlinSpecificOptimizations -> a
    1:3:void <init>():1275:1277 -> <init>
com.android.tools.r8.utils.InternalOptions$LineNumberOptimization -> com.android.tools.r8.internal.gu$h:
    com.android.tools.r8.utils.InternalOptions$LineNumberOptimization OFF -> b
    com.android.tools.r8.utils.InternalOptions$LineNumberOptimization ON -> c
    1:2:void <clinit>():121:122 -> <clinit>
    1:1:void <init>(java.lang.String,int):120:120 -> <init>
com.android.tools.r8.utils.InternalOptions$OpenClosedInterfacesOptions -> com.android.tools.r8.internal.gu$i:
    java.util.List suppressions -> b
    boolean allowOpenInterfaces -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():1517:1517 -> <clinit>
    1:16:void <init>():1517:1532 -> <init>
    1:1:void disallowOpenInterfaces():1535:1535 -> a
    2:4:boolean isSuppressed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexClass):1582:1584 -> a
    5:5:boolean lambda$isSuppressed$4(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexClass,com.android.tools.r8.utils.InternalOptions$OpenClosedInterfacesOptions$OpenInterfaceWitnessSuppression):1584:1584 -> a
    boolean lambda$suppressAllOpenInterfaces$0(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexClass) -> b
    1:1:boolean hasSuppressions():1575:1575 -> b
    1:1:boolean lambda$suppressAllOpenInterfacesDueToMissingClasses$1(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexClass):1546:1546 -> c
    2:2:boolean isOpenInterfacesAllowed():1571:1571 -> c
    1:2:void suppressAllOpenInterfaces():1539:1540 -> d
    3:4:boolean lambda$suppressArrayAssignmentsToJavaLangSerializable$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexClass):1553:1554 -> d
    1:2:void suppressAllOpenInterfacesDueToMissingClasses():1544:1545 -> e
    3:9:boolean lambda$suppressZipFileAssignmentsToJavaLangAutoCloseable$3(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexClass):1561:1567 -> e
    1:2:void suppressArrayAssignmentsToJavaLangSerializable():1550:1551 -> f
    1:2:void suppressZipFileAssignmentsToJavaLangAutoCloseable():1558:1559 -> g
com.android.tools.r8.utils.InternalOptions$OpenClosedInterfacesOptions$OpenInterfaceWitnessSuppression -> com.android.tools.r8.internal.ju:
    boolean isSuppressed(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.TypeElement,com.android.tools.r8.graph.DexClass) -> a
com.android.tools.r8.utils.InternalOptions$OutlineOptions -> com.android.tools.r8.internal.gu$j:
    int threshold -> d
    boolean enabled -> a
    int minSize -> b
    int maxSize -> c
    1:5:void <init>():1267:1271 -> <init>
com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode -> com.android.tools.r8.internal.gu$k:
    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode FLATTEN -> e
    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode REPACKAGE -> d
    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode MINIFICATION -> c
    com.android.tools.r8.utils.InternalOptions$PackageObfuscationMode NONE -> b
    1:8:void <clinit>():1237:1244 -> <clinit>
    1:1:void <init>(java.lang.String,int):1235:1235 -> <init>
com.android.tools.r8.utils.InternalOptions$ProtoShrinkingOptions -> com.android.tools.r8.internal.gu$l:
    boolean enableEnumLiteProtoShrinking -> e
    boolean enableGeneratedExtensionRegistryShrinking -> a
    boolean enableGeneratedMessageLiteShrinking -> b
    boolean enableGeneratedMessageLiteBuilderShrinking -> c
    boolean traverseOneOfAndRepeatedProtoFields -> d
    1:7:void <init>():1629:1635 -> <init>
    1:1:boolean enableRemoveProtoEnumSwitchMap():1649:1649 -> a
    1:1:boolean isEnumLiteProtoShrinkingEnabled():1660:1660 -> b
    1:1:boolean isProtoShrinkingEnabled():1653:1653 -> c
com.android.tools.r8.utils.InternalOptions$TestingOptions -> com.android.tools.r8.internal.gu$m:
    boolean allowCheckDiscardedErrors -> m
    boolean disableMarkingClassesFinal -> d0
    boolean keepMetadataInR8IfNotRewritten -> f0
    boolean enableTestAssertions -> b0
    com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData proguardIfRuleEvaluationData -> s0
    boolean reportUnusedProguardConfigurationRules -> u
    boolean allowInvalidCfAccessFlags -> X
    boolean allowTypeErrors -> q
    java.lang.Runnable hookInIrConversion -> q0
    boolean allowStaticInterfaceMethodsForPreNApiLevel -> T
    boolean enableInvokeSuperToInvokeVirtualRewriting -> y
    boolean placeExceptionalBlocksLast -> C
    java.util.Set allowedUnusedDontWarnPatterns -> a0
    boolean allowClassInliningOfSynthetics -> n
    java.util.function.BiConsumer irModifier -> K
    java.util.function.BiConsumer enqueuerInspector -> d
    boolean forceNameReflectionOptimization -> I
    java.util.function.Function horizontalClassMergingPolicyRewriter -> h
    boolean alwaysUseExistingAccessInfoCollectionsInMemberRebinding -> v
    com.android.tools.r8.utils.IROrdering irOrdering -> c
    boolean trackDesugaredAPIConversions -> Q
    boolean allowInvokeErrors -> r
    java.util.function.Consumer callSiteOptimizationInfoInspector -> t0
    java.util.function.Predicate cfByteCodePassThrough -> u0
    java.util.Set validInliningReasons -> G
    java.io.PrintStream whyAreYouNotInliningConsumer -> P
    boolean enableExperimentalMapFileVersion -> v0
    boolean verifyInputs -> Y
    boolean enableSwitchToIfRewriting -> z
    boolean measureProguardIfRuleEvaluations -> r0
    boolean readInputStackMaps -> l0
    java.util.function.Consumer processingContextsConsumer -> e
    boolean noLocalsTableOnInput -> H
    int verificationSizeLimitInBytesOverride -> U
    boolean allowOutlinerInterfaceArrayArguments -> n0
    java.util.function.Consumer inlineeIrModifier -> L
    boolean allowConflictingSyntheticTypes -> h0
    boolean allowNonAbstractClassesWithAbstractMethods -> j0
    boolean dontCreateMarkerInD8 -> D
    boolean dontReportFailingCheckDiscarded -> N
    boolean testEnableTestAssertions -> e0
    boolean allowInjectedAnnotationMethods -> o
    java.util.function.BiConsumer verticallyMergedClassesConsumer -> k
    int basicBlockMuncherIterationLimit -> M
    boolean enableRecordModeling -> g0
    boolean enableNarrowAndWideningingChecksInD8 -> J
    java.util.function.BiConsumer horizontallyMergedClassesConsumer -> g
    boolean disableMarkingMethodsFinal -> c0
    boolean forceIRForCfToCfDesugar -> V
    boolean enableCheckCastAndInstanceOfRemoval -> w
    boolean enumUnboxingRewriteJavaCGeneratedMethod -> R
    boolean allowUnnecessaryDontWarnWildcards -> s
    byte[] forceDexVersionBytes -> b
    boolean checkForNotExpandingMainDexTracingResult -> Z
    boolean forceJumboStringProcessing -> E
    java.util.function.Consumer waveModifier -> l
    boolean forceRedundantConstNumberRemoval -> A
    com.android.tools.r8.utils.InternalOptions$TestingOptions$MinifierTestingOptions minifier -> p0
    java.util.function.BiConsumer unboxedEnumsConsumer -> j
    boolean disableRecordApplicationReaderMap -> O
    boolean allowInliningOfSynthetics -> p
    boolean disableMappingToOriginalProgramVerification -> W
    java.util.function.Function repackagingConfigurationFactory -> f
    boolean enableDeadSwitchCaseElimination -> x
    int limitNumberOfClassesPerDex -> o0
    boolean assertConsistentRenamingOfSignature -> S
    com.android.tools.r8.utils.TriFunction horizontalClassMergingTarget -> i
    boolean allowUnusedDontWarnRules -> t
    com.android.tools.r8.optimize.argumentpropagation.ArgumentPropagatorEventConsumer argumentPropagatorEventConsumer -> a
    boolean disableStackMapVerification -> m0
    boolean forcePcBasedEncoding -> F
    boolean invertConditionals -> B
    boolean enableD8ResourcesPassThrough -> i0
    boolean verifyKeptGraphInfo -> k0
    1:178:void <init>():1664:1841 -> <init>
    com.android.tools.r8.graph.DexProgramClass lambda$new$0(com.android.tools.r8.graph.AppView,java.lang.Iterable,com.android.tools.r8.graph.DexProgramClass) -> a
    void lambda$new$1(java.util.Deque) -> a
    1:1:void allowExperimentClassFileVersion(com.android.tools.r8.utils.InternalOptions):1667:1667 -> a
com.android.tools.r8.utils.InternalOptions$TestingOptions$MinifierTestingOptions -> com.android.tools.r8.internal.gu$m$a:
    java.util.Comparator interfaceMethodOrdering -> a
    1:3:void <init>():1812:1814 -> <init>
    1:2:java.util.Comparator getInterfaceMethodOrderingOrDefault(java.util.Comparator):1818:1819 -> a
    3:3:int lambda$getInterfaceMethodOrderingOrDefault$0(com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):1820:1820 -> a
com.android.tools.r8.utils.InternalOptions$TestingOptions$ProguardIfRuleEvaluationData -> com.android.tools.r8.internal.gu$m$b:
    int numberOfProguardIfRuleMemberEvaluations -> b
    int numberOfProguardIfRuleClassEvaluations -> a
    1:4:void <init>():1830:1833 -> <init>
com.android.tools.r8.utils.InternalOptions$TypeVersionPair -> com.android.tools.r8.internal.ku:
    com.android.tools.r8.cf.CfVersion version -> a
    com.android.tools.r8.graph.DexType type -> b
    1:3:void <init>(com.android.tools.r8.cf.CfVersion,com.android.tools.r8.graph.DexType):857:859 -> <init>
com.android.tools.r8.utils.InternalOutputMode -> com.android.tools.r8.internal.lu:
    com.android.tools.r8.utils.InternalOutputMode ClassFile -> d
    com.android.tools.r8.utils.InternalOutputMode DexIndexed -> b
    com.android.tools.r8.utils.InternalOutputMode DexFilePerClassFile -> c
    1:3:void <clinit>():8:10 -> <clinit>
    1:1:void <init>(java.lang.String,int):7:7 -> <init>
    1:1:boolean isGeneratingClassFiles():13:13 -> a
    1:1:boolean isGeneratingDex():17:17 -> b
com.android.tools.r8.utils.IterableUtils -> com.android.tools.r8.internal.Vu:
    1:7:boolean allIdentical(java.lang.Iterable,java.util.function.Function):27:33 -> a
    8:9:boolean any(java.lang.Iterable,java.util.function.Function,java.util.function.Predicate):43:44 -> a
    10:10:java.lang.Iterable filter(java.lang.Iterable,java.util.function.Predicate):92:92 -> a
    11:11:int size(java.lang.Iterable):111:111 -> a
    12:12:java.util.Iterator lambda$singleton$1(java.lang.Object):132:132 -> a
    13:14:int sumInt(java.lang.Iterable,java.util.function.Function):152:153 -> a
    15:15:java.lang.Iterable flatten(java.lang.Iterable):157:157 -> a
    16:16:java.lang.Iterable flatMap(java.lang.Iterable,java.util.function.Function):162:162 -> a
    17:27:boolean testPairs(java.util.function.BiPredicate,java.lang.Iterable,java.lang.Iterable):183:193 -> a
    1:2:java.lang.Object findOrDefault(java.lang.Iterable,java.util.function.Predicate,java.lang.Object):68:69 -> b
    3:3:java.lang.Iterable transform(java.lang.Iterable,java.util.function.Function):124:124 -> b
    4:4:java.lang.Iterable singleton(java.lang.Object):132:132 -> b
    5:5:int sumInt(java.lang.Iterable):148:148 -> b
    6:7:java.lang.Object com.android.tools.r8.utils.IterableUtils.reduce(java.lang.Object,java.util.function.BiFunction,java.lang.Iterable):141:142 -> b
    6:7:int sumInt(java.lang.Iterable):148 -> b
    8:8:int sumInt(java.lang.Iterable):148:148 -> b
    1:2:int firstIndexMatching(java.lang.Iterable,java.util.function.Predicate):82:83 -> c
    3:4:java.util.List toNewArrayList(java.lang.Iterable):118:119 -> c
    1:1:java.util.Iterator lambda$filter$0(java.lang.Iterable,java.util.function.Predicate):92:92 -> d
    2:2:java.util.Iterator com.android.tools.r8.utils.IteratorUtils.filter(java.util.Iterator,java.util.function.Predicate):49:49 -> d
    2:2:java.util.Iterator lambda$filter$0(java.lang.Iterable,java.util.function.Predicate):92 -> d
com.android.tools.r8.utils.IteratorUtils -> com.android.tools.r8.internal.ev:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:java.util.Iterator createCircularIterator(java.lang.Iterable):21:22 -> a
    3:5:int countRemaining(java.util.Iterator):42:44 -> a
    6:6:void lambda$countRemaining$0(com.android.tools.r8.utils.IntBox,java.lang.Object):43:43 -> a
    7:7:java.util.Iterator filter(java.util.Iterator,java.util.function.Predicate):49:49 -> a
    8:11:java.lang.Object peekNext(java.util.ListIterator):99:102 -> a
    12:14:java.lang.Object previousUntilUnsafe(java.util.ListIterator,java.util.function.Predicate):119:121 -> a
    15:27:boolean anyRemainingMatch(java.util.ListIterator,java.util.function.Predicate):179:191 -> a
    1:3:java.lang.Object nextUntil(java.util.Iterator,java.util.function.Predicate):82:84 -> b
    4:6:java.lang.Object peekPrevious(java.util.ListIterator):92:94 -> b
    7:13:java.lang.Object previousUntil(java.util.ListIterator,java.util.function.Predicate):109:115 -> b
com.android.tools.r8.utils.IteratorUtils$1 -> com.android.tools.r8.internal.cv:
    java.util.Iterator iterator -> b
    java.lang.Iterable val$iterable -> c
    1:3:void <init>(java.lang.Iterable):22:24 -> <init>
    1:4:java.lang.Object next():33:36 -> next
com.android.tools.r8.utils.IteratorUtils$2 -> com.android.tools.r8.internal.dv:
    java.util.Iterator val$iterator -> c
    java.lang.Object next -> b
    java.util.function.Predicate val$predicate -> d
    1:3:void <init>(java.util.Iterator,java.util.function.Predicate):49:51 -> <init>
    1:1:boolean hasNext():66:66 -> hasNext
    1:3:java.lang.Object advance():55:57 -> j
    1:5:java.lang.Object next():71:75 -> next
    6:6:java.lang.Object next():73:73 -> next
com.android.tools.r8.utils.JoiningStringConsumer -> com.android.tools.r8.internal.Dv:
    com.android.tools.r8.StringConsumer consumer -> c
    java.lang.String separator -> b
    java.lang.StringBuilder builder -> d
    1:1:void <init>(com.android.tools.r8.StringConsumer,java.lang.String):22:22 -> <init>
    2:10:void <init>(com.android.tools.r8.StringConsumer,java.lang.String):16:24 -> <init>
    1:1:com.android.tools.r8.StringConsumer getConsumer():42:42 -> a
    1:4:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):29:32 -> accept
    1:2:void finished(com.android.tools.r8.DiagnosticsHandler):37:38 -> finished
com.android.tools.r8.utils.LRUCacheTable -> com.android.tools.r8.internal.wA:
    int rowCapacity -> b
    int columnCapacity -> c
    1:3:void <init>(int,int,float):31:33 -> <init>
    1:1:java.util.Map lambda$put$0(java.lang.Object):46:46 -> a
    2:3:java.lang.Object put(java.lang.Object,java.lang.Object,java.lang.Object):46:47 -> a
    1:1:com.android.tools.r8.utils.LRUCacheTable create(int,int):37:37 -> f
    1:1:boolean removeEldestEntry(java.util.Map$Entry):42:42 -> removeEldestEntry
com.android.tools.r8.utils.LRUCacheTable$LRUCacheRow -> com.android.tools.r8.internal.vA:
    int columnCapacity -> b
    1:2:void <init>(int,float):17:18 -> <init>
    1:1:boolean removeEldestEntry(java.util.Map$Entry):23:23 -> removeEldestEntry
com.android.tools.r8.utils.LazyBox -> com.android.tools.r8.internal.VA:
    java.util.function.Supplier supplier -> b
    1:2:void <init>(java.util.function.Supplier):13:14 -> <init>
    1:1:java.lang.Object computeIfAbsent():18:18 -> d
com.android.tools.r8.utils.LebUtils -> com.android.tools.r8.internal.aB:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():10:10 -> <clinit>
    1:6:int parseSleb128(com.android.tools.r8.dex.BinaryReader):65:70 -> a
    7:19:byte[] encodeSleb128(int):76:88 -> a
    20:20:void putSleb128(com.android.tools.r8.dex.DexOutputBuffer,int):99:99 -> a
    1:6:int parseUleb128(com.android.tools.r8.dex.BinaryReader):21:26 -> b
    7:16:byte[] encodeUleb128(int):32:41 -> b
    17:21:void putUleb128(com.android.tools.r8.dex.DexOutputBuffer,int):48:52 -> b
    1:1:int sizeAsSleb128(int):110:110 -> c
    1:1:int sizeAsUleb128(int):57:57 -> d
com.android.tools.r8.utils.LensUtils -> com.android.tools.r8.internal.mB:
    1:1:com.android.tools.r8.graph.DexReference com.android.tools.r8.graph.GraphLens.rewriteReference(com.android.tools.r8.graph.DexReference):640:640 -> a
    1:1:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):28 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:2:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):31:31 -> a
    3:3:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    3:3:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):31 -> a
    4:7:void rewriteAndApplyIfNotPrimitiveType(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexReference,java.util.function.Consumer):31:34 -> a
com.android.tools.r8.utils.LibraryClassCollection -> com.android.tools.r8.internal.oB:
    1:1:void <init>(com.android.tools.r8.utils.ClassProvider):15:15 -> <init>
    1:1:java.util.function.Supplier getTransparentSupplier(com.android.tools.r8.graph.DexClass):13:13 -> a
    2:2:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):13:13 -> a
    3:5:com.android.tools.r8.graph.DexLibraryClass com.android.tools.r8.utils.LibraryClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexLibraryClass):20:22 -> a
    3:5:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):13 -> a
    6:6:com.android.tools.r8.graph.DexLibraryClass com.android.tools.r8.utils.LibraryClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexLibraryClass,com.android.tools.r8.graph.DexLibraryClass):21:21 -> a
    6:6:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):13 -> a
    1:1:com.android.tools.r8.graph.ClassKind getClassKind():34:34 -> e
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":41,"2":42,"3":43}}
    41:41:java.lang.String toString():39:39 -> toString
    42:42:java.lang.String toString():39:39 -> toString
    43:43:java.lang.String toString():39:39 -> toString
    40:40:java.lang.String toString():39:39 -> toString
com.android.tools.r8.utils.LineNumberOptimizer -> com.android.tools.r8.internal.UB:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():91:91 -> <clinit>
    1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> a
    1:1:void lambda$getMappedRangesForPosition$11(java.lang.Object):810 -> a
    2:2:com.android.tools.r8.ir.code.Position access$1300(com.android.tools.r8.graph.DexDebugPositionState):91:91 -> a
    3:3:void access$1700(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):91:91 -> a
    4:12:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId runAndWriteMap(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):340:348 -> a
    13:23:com.android.tools.r8.naming.ProguardMapSupplier$ProguardMapId runAndWriteMap(com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.graph.AppView,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):346:356 -> a
    24:32:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):482:490 -> a
    33:33:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1962:1962 -> a
    33:33:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):490 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1962:1962 -> a
    34:34:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):490 -> a
    35:39:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):490:494 -> a
    40:40:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269:269 -> a
    40:40:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):494 -> a
    41:41:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexType):265:265 -> a
    41:41:boolean com.android.tools.r8.synthesis.SyntheticItems.isSyntheticClass(com.android.tools.r8.graph.DexProgramClass):269 -> a
    41:41:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):494 -> a
    42:72:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):497:527 -> a
    73:73:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):526:526 -> a
    74:76:void com.android.tools.r8.utils.LineNumberOptimizer.addClassToClassNaming(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexString,java.util.function.Supplier):898:900 -> a
    74:76:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):531 -> a
    77:77:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):535:535 -> a
    78:96:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):534:552 -> a
    97:97:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):819:819 -> a
    97:97:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):552 -> a
    98:98:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    98:98:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):819 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    98:98:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):552 -> a
    99:99:boolean com.android.tools.r8.utils.InternalOptions.isGeneratingClassFiles():481:481 -> a
    99:99:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):819 -> a
    99:99:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):552 -> a
    100:115:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):819:834 -> a
    100:115:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):552 -> a
    116:116:boolean com.android.tools.r8.utils.InternalOptions.isMinificationEnabled():619:619 -> a
    116:116:boolean com.android.tools.r8.shaking.KeepInfoCollection.isMinificationAllowed(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):186 -> a
    116:116:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):834 -> a
    116:116:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):552 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(3)"]}
    117:117:boolean com.android.tools.r8.shaking.KeepInfoCollection.isMinificationAllowed(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.shaking.GlobalKeepInfoConfiguration):187:187 -> a
    117:117:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):834 -> a
    117:117:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):552 -> a
    118:134:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyMethodsAreKeptDirectlyOrIndirectly(com.android.tools.r8.graph.AppView,java.util.List):838:854 -> a
    118:134:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):552 -> a
    135:155:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):556:576 -> a
    156:168:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1134:1146 -> a
    156:168:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):579 -> a
    169:169:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    169:169:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1146 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    169:169:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):579 -> a
    170:203:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1146:1179 -> a
    170:203:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):579 -> a
    204:219:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1176:1191 -> a
    204:219:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):579 -> a
    220:223:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositionsForPc(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder):1190:1193 -> a
    220:223:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):579 -> a
    224:224:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):584:584 -> a
    225:238:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):989:1002 -> a
    225:238:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):583 -> a
    239:239:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    239:239:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1002 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    239:239:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):583 -> a
    240:249:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1002:1011 -> a
    240:249:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):583 -> a
    250:250:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    250:250:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1011 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    250:250:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):583 -> a
    251:328:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1011:1088 -> a
    251:328:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):583 -> a
    329:329:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1962:1962 -> a
    329:329:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1088 -> a
    329:329:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):583 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(2)"]}
    330:330:boolean com.android.tools.r8.utils.InternalOptions.allowDiscardingResidualDebugInfo():1962:1962 -> a
    330:330:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1088 -> a
    330:330:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):583 -> a
    331:343:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1089:1101 -> a
    331:343:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):583 -> a
    344:347:boolean com.android.tools.r8.utils.LineNumberOptimizer.verifyIdentityMapping(com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo,com.android.tools.r8.graph.DexDebugInfo$EventBasedDebugInfo):1200:1203 -> a
    344:347:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1102 -> a
    344:347:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):583 -> a
    348:348:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeDexCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,boolean,boolean):1104:1104 -> a
    348:348:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):583 -> a
    349:350:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):586:587 -> a
    351:353:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.CfCode):974:976 -> a
    351:353:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):587 -> a
    354:354:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):588:588 -> a
    355:367:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1210:1222 -> a
    355:367:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):589 -> a
    368:379:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1242:1253 -> a
    368:379:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1222 -> a
    368:379:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):589 -> a
    380:380:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1245:1245 -> a
    380:380:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1222 -> a
    380:380:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):589 -> a
    381:394:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1222:1235 -> a
    381:394:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):589 -> a
    395:395:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176:176 -> a
    395:395:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1235 -> a
    395:395:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):589 -> a
    396:396:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):202:202 -> a
    396:396:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    396:396:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1235 -> a
    396:396:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):589 -> a
    397:397:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List,com.android.tools.r8.position.Position):194:194 -> a
    397:397:void com.android.tools.r8.graph.CfCode.<init>(com.android.tools.r8.graph.DexType,int,int,java.util.List,java.util.List,java.util.List):176 -> a
    397:397:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1235 -> a
    397:397:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):589 -> a
    398:398:java.util.List com.android.tools.r8.utils.LineNumberOptimizer.optimizeCfCodePositions(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.graph.AppView):1228:1228 -> a
    398:398:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):589 -> a
    399:406:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):591:598 -> a
    407:407:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    407:407:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):598 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    408:426:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):599:617 -> a
    427:455:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):615:643 -> a
    456:463:com.android.tools.r8.graph.DexMethod com.android.tools.r8.utils.LineNumberOptimizer.getOutlineMethod(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):768:775 -> a
    456:463:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):643 -> a
    464:466:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):645:647 -> a
    467:467:com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation com.android.tools.r8.naming.mappinginformation.OutlineMappingInformation$Builder.build():56:56 -> a
    467:467:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):648 -> a
    468:533:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):648:713 -> a
    534:572:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):705:743 -> a
    573:583:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):742:752 -> a
    584:597:com.android.tools.r8.naming.ClassNameMapper run(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.DexApplication,com.android.tools.r8.utils.AndroidApp,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.utils.OriginalSourceFiles,com.android.tools.r8.debuginfo.DebugRepresentation$DebugRepresentationPredicate):751:764 -> a
    598:599:com.android.tools.r8.naming.ClassNaming$Builder lambda$run$0(com.android.tools.r8.naming.ClassNameMapper$Builder,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):508:509 -> a
    600:600:com.android.tools.r8.naming.ClassNaming$Builder lambda$run$0(com.android.tools.r8.naming.ClassNameMapper$Builder,com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexType):507:507 -> a
    601:601:void lambda$run$4(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.naming.mappinginformation.MappingInformation):631:631 -> a
    602:602:com.android.tools.r8.naming.MemberNaming$MethodSignature lambda$run$6(java.util.Map,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):639:639 -> a
    603:603:com.android.tools.r8.naming.MemberNaming$MethodSignature lambda$run$5(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexMethod):640:640 -> a
    604:618:void lambda$run$9(boolean,int,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,java.lang.String,java.lang.Integer,com.android.tools.r8.ir.code.Position):725:739 -> a
    619:619:void lambda$run$9(boolean,int,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap,com.android.tools.r8.graph.AppView,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,java.lang.String,java.lang.Integer,com.android.tools.r8.ir.code.Position):731:731 -> a
    620:620:com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder lambda$run$10(com.android.tools.r8.graph.DexMethod):743:743 -> a
    621:621:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):790:790 -> a
    622:634:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):788:800 -> a
    635:642:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):797:804 -> a
    643:643:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$Builder com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation.builder():109:109 -> a
    643:643:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):804 -> a
    644:647:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):804:807 -> a
    648:648:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):806:806 -> a
    649:649:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):805:805 -> a
    650:650:com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction com.android.tools.r8.naming.mappinginformation.RewriteFrameMappingInformation$RemoveInnerFramesAction.create(int):269:269 -> a
    650:650:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):808 -> a
    651:652:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):808:809 -> a
    653:662:com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange getMappedRangesForPosition(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.naming.ClassNaming$Builder,com.android.tools.r8.graph.DexMethod,java.lang.String,com.android.tools.r8.naming.Range,com.android.tools.r8.naming.Range,com.android.tools.r8.ir.code.Position):803:812 -> a
    663:663:void sortMethods(java.util.List):882:882 -> a
    664:665:int lambda$sortMethods$12(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):884:885 -> a
    666:666:int com.android.tools.r8.graph.DexEncodedMethod.slowCompare(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):1232:1232 -> a
    666:666:int lambda$sortMethods$12(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):888 -> a
    667:667:void addFieldsToClassNaming(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexType,java.util.function.Supplier):910:910 -> a
    668:672:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):912:916 -> a
    673:673:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):185:185 -> a
    673:673:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):917 -> a
    674:674:java.lang.String com.android.tools.r8.graph.DexField.qualifiedName():190:190 -> a
    674:674:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):186 -> a
    674:674:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):917 -> a
    675:675:java.lang.String com.android.tools.r8.graph.DexField.qualifiedName():190:190 -> a
    675:675:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):186 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    675:675:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):917 -> a
    676:676:java.lang.String com.android.tools.r8.graph.DexField.qualifiedName():190:190 -> a
    676:676:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):186 -> a
    676:676:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):917 -> a
    677:678:com.android.tools.r8.naming.MemberNaming$FieldSignature com.android.tools.r8.naming.MemberNaming$FieldSignature.fromDexField(com.android.tools.r8.graph.DexField,boolean):186:187 -> a
    677:678:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):917 -> a
    679:680:void lambda$addFieldsToClassNaming$13(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexType,java.util.function.Supplier,com.android.tools.r8.graph.DexEncodedField):918:919 -> a
    681:687:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):926:932 -> a
    688:688:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    688:688:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):933 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    689:693:java.util.IdentityHashMap groupMethodsByRenamedName(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.naming.NamingLens,com.android.tools.r8.graph.DexProgramClass):934:938 -> a
    694:694:java.util.List lambda$groupMethodsByRenamedName$14(com.android.tools.r8.graph.DexString):937:937 -> a
    695:702:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):945:952 -> a
    703:705:boolean com.android.tools.r8.utils.LineNumberOptimizer.doesContainPositions(com.android.tools.r8.graph.CfCode):974:976 -> a
    703:705:boolean doesContainPositions(com.android.tools.r8.graph.DexEncodedMethod):952 -> a
    706:714:boolean doesContainPositions(com.android.tools.r8.graph.DexCode):958:966 -> a
    715:726:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1242:1253 -> a
    715:726:com.android.tools.r8.ir.code.Position access$1400(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):91 -> a
    727:727:com.android.tools.r8.ir.code.Position com.android.tools.r8.utils.LineNumberOptimizer.remapAndAdd(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1245:1245 -> a
    727:727:com.android.tools.r8.ir.code.Position access$1400(com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):91 -> a
    1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> b
    1:1:void lambda$run$1(java.lang.Object):519 -> b
    2:2:com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder lambda$run$7(com.android.tools.r8.graph.DexMethod):646:646 -> b
    3:16:int getMethodStartLine(com.android.tools.r8.graph.DexEncodedMethod):860:873 -> b
    17:33:com.android.tools.r8.ir.code.Position getPositionFromPositionState(com.android.tools.r8.graph.DexDebugPositionState):1110:1126 -> b
    34:48:void remapAndAddForPc(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1263:1277 -> b
    49:49:void remapAndAddForPc(int,int,com.android.tools.r8.ir.code.Position,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1267:1267 -> b
    1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> c
    1:1:void lambda$run$2(java.lang.Object):527 -> c
    1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> d
    1:1:void lambda$run$3(java.lang.Object):631 -> d
    1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> e
    1:1:void lambda$run$8(java.lang.Object):715 -> e
com.android.tools.r8.utils.LineNumberOptimizer$1 -> com.android.tools.r8.internal.IB:
    java.util.List val$processedEvents -> o
    boolean $assertionsDisabled -> p
    int emittedPc -> j
    com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter val$positionEventEmitter -> k
    com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper val$positionRemapper -> l
    com.android.tools.r8.utils.Box val$inlinedOriginalPosition -> n
    java.util.List val$mappedPositions -> m
    1:1:void <clinit>():1011:1011 -> <clinit>
    1:4:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List,com.android.tools.r8.utils.Box,java.util.List):1011:1014 -> <init>
    1:3:void com.android.tools.r8.utils.LineNumberOptimizer$1.flushPc():1018:1020 -> a
    1:3:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):1068 -> a
    4:4:void visit(com.android.tools.r8.graph.DexDebugEvent$EndLocal):1069:1069 -> a
    5:7:void com.android.tools.r8.utils.LineNumberOptimizer$1.flushPc():1018:1020 -> a
    5:7:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):1074 -> a
    8:8:void visit(com.android.tools.r8.graph.DexDebugEvent$RestartLocal):1075:1075 -> a
    9:11:void com.android.tools.r8.utils.LineNumberOptimizer$1.flushPc():1018:1020 -> a
    9:11:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):1062 -> a
    12:12:void visit(com.android.tools.r8.graph.DexDebugEvent$StartLocal):1063:1063 -> a
    13:22:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):1027:1036 -> a
    23:23:void visit(com.android.tools.r8.graph.DexDebugEvent$SetFile):1045:1045 -> a
    24:24:void visit(com.android.tools.r8.graph.DexDebugEvent$SetPrologueEnd):1050:1050 -> a
    25:25:void visit(com.android.tools.r8.graph.DexDebugEvent$SetEpilogueBegin):1055:1055 -> a
com.android.tools.r8.utils.LineNumberOptimizer$2 -> com.android.tools.r8.internal.JB:
    boolean $assertionsDisabled -> n
    com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper val$positionRemapper -> l
    com.android.tools.r8.utils.BooleanBox val$singleOriginalLine -> k
    java.util.List val$mappedPositions -> m
    com.android.tools.r8.utils.Pair val$lastPosition -> j
    1:1:void <clinit>():1146:1146 -> <clinit>
    1:1:void <init>(int,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Pair,com.android.tools.r8.utils.BooleanBox,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,java.util.List):1146:1146 -> <init>
    1:12:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):1149:1160 -> a
    13:22:void visit(com.android.tools.r8.graph.DexDebugEvent$Default):1157:1166 -> a
com.android.tools.r8.utils.LineNumberOptimizer$IdentityPositionRemapper -> com.android.tools.r8.internal.KB:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():101:101 -> <clinit>
    1:1:void <init>():101:101 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.LineNumberOptimizer$1):101:101 -> <init>
    1:2:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):106:107 -> a
com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper -> com.android.tools.r8.internal.LB:
    com.android.tools.r8.graph.DexItemFactory factory -> b
    com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result parsedData -> g
    java.util.Map parsedKotlinSourceDebugExtensions -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.utils.CfLineToMethodMapper lineToMethodMapper -> d
    boolean $assertionsDisabled -> h
    com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper baseRemapper -> e
    com.android.tools.r8.graph.DexEncodedMethod currentMethod -> f
    1:1:void <clinit>():147:147 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.CfLineToMethodMapper,com.android.tools.r8.utils.LineNumberOptimizer$1):147:147 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.CfLineToMethodMapper):162:162 -> <init>
    3:18:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper,com.android.tools.r8.utils.CfLineToMethodMapper):151:166 -> <init>
    1:1:com.android.tools.r8.graph.DexEncodedMethod access$302(com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper,com.android.tools.r8.graph.DexEncodedMethod):147:147 -> a
    2:4:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):171:173 -> a
    5:17:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper.getAndParseSourceDebugExtension(com.android.tools.r8.graph.DexType):234:246 -> a
    5:17:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):173 -> a
    18:18:com.android.tools.r8.kotlin.KotlinSourceDebugExtensionParser$Result com.android.tools.r8.utils.LineNumberOptimizer$KotlinInlineFunctionPositionRemapper.getAndParseSourceDebugExtension(com.android.tools.r8.graph.DexType):238:238 -> a
    18:18:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):173 -> a
    19:35:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):175:191 -> a
    36:38:java.lang.String com.android.tools.r8.utils.CfLineToMethodMapper.getName(java.lang.String):74:76 -> a
    36:38:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):192 -> a
    39:41:java.lang.String com.android.tools.r8.utils.CfLineToMethodMapper.getDescriptor(java.lang.String):80:82 -> a
    39:41:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):193 -> a
    42:52:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):194:204 -> a
    53:75:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):201:223 -> a
    76:88:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):218:230 -> a
com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition -> com.android.tools.r8.internal.MB:
    boolean isOutline -> e
    com.android.tools.r8.graph.DexMethod outlineCallee -> f
    int obfuscatedLine -> d
    int originalLine -> b
    com.android.tools.r8.ir.code.Position caller -> c
    com.android.tools.r8.graph.DexMethod method -> a
    com.android.tools.r8.utils.Int2StructuralItemArrayMap outlinePositions -> g
    1:1:void <init>(com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.ir.code.Position,int,boolean,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap,com.android.tools.r8.utils.LineNumberOptimizer$1):301:301 -> <init>
    2:9:void <init>(com.android.tools.r8.graph.DexMethod,int,com.android.tools.r8.ir.code.Position,int,boolean,com.android.tools.r8.graph.DexMethod,com.android.tools.r8.utils.Int2StructuralItemArrayMap):318:325 -> <init>
    1:1:boolean access$1000(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):301:301 -> a
    2:2:boolean isOutlineCaller():329:329 -> a
    1:1:int access$400(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):301:301 -> b
    1:1:int access$500(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):301:301 -> c
    1:1:com.android.tools.r8.graph.DexMethod access$600(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):301:301 -> d
    1:1:com.android.tools.r8.ir.code.Position access$700(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):301:301 -> e
    1:1:com.android.tools.r8.graph.DexMethod access$800(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):301:301 -> f
    1:1:com.android.tools.r8.utils.Int2StructuralItemArrayMap access$900(com.android.tools.r8.utils.LineNumberOptimizer$MappedPosition):301:301 -> g
com.android.tools.r8.utils.LineNumberOptimizer$NativePcSupport -> com.android.tools.r8.internal.NB:
    1:1:void <init>():446:446 -> <init>
    2:2:void <init>(com.android.tools.r8.utils.LineNumberOptimizer$1):446:446 -> <init>
    void updateDebugInfoInCodeObjects() -> a
    1:1:void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int):457:457 -> a
    2:2:void com.android.tools.r8.utils.LineNumberOptimizer$NativePcSupport.recordSingleLineFor(com.android.tools.r8.graph.DexCode,int):457:457 -> a
    2:2:void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int,int):462 -> a
    1:1:void recordPcMappingFor(com.android.tools.r8.graph.DexCode,int,int):451:451 -> b
com.android.tools.r8.utils.LineNumberOptimizer$OptimizingPositionRemapper -> com.android.tools.r8.internal.OB:
    boolean $assertionsDisabled -> e
    int nextOptimizedLineNumber -> d
    com.android.tools.r8.graph.DexMethod previousMethod -> b
    int previousSourceLine -> c
    int maxLineDelta -> a
    1:1:void <clinit>():111:111 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.InternalOptions):117:117 -> <init>
    2:10:void <init>(com.android.tools.r8.utils.InternalOptions):113:121 -> <init>
    1:18:com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position):126:143 -> a
com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder -> com.android.tools.r8.internal.PB:
    java.util.List mappedOutlineCalleePositions -> b
    java.util.List mappedOutlinePositions -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():1281:1281 -> <clinit>
    1:6:void <init>():1281:1286 -> <init>
    7:7:void <init>(com.android.tools.r8.utils.LineNumberOptimizer$1):1281:1281 -> <init>
    1:1:com.android.tools.r8.errors.Unreachable com.android.tools.r8.errors.Unreachable.raise(java.lang.Object[]):16:16 -> a
    1:1:void lambda$fixup$1(java.lang.Object):1317 -> a
    2:2:void setMappedPositionsOutline(java.util.List):1290:1290 -> a
    3:3:void addMappedRangeForOutlineCallee(com.android.tools.r8.naming.ClassNamingForNameMapper$MappedRange,com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap):1295:1295 -> a
    4:12:void fixup():1299:1307 -> a
    13:13:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntLinkedOpenHashMap.<init>():176:176 -> a
    13:13:void fixup():1307 -> a
    14:23:void fixup():1308:1317 -> a
    24:24:void fixup():1316:1316 -> a
    25:26:void fixup():1300:1301 -> a
    27:27:void lambda$fixup$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.lang.Integer,java.lang.Integer):1311:1311 -> a
    28:30:int com.android.tools.r8.utils.LineNumberOptimizer$OutlineFixupBuilder.getMinifiedLinePosition(int,java.util.List):1323:1325 -> a
    28:30:void lambda$fixup$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.lang.Integer,java.lang.Integer):1311 -> a
    31:31:void lambda$fixup$0(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntSortedMap,java.lang.Integer,java.lang.Integer):1313:1313 -> a
com.android.tools.r8.utils.LineNumberOptimizer$Pc2PcMappingSupport -> com.android.tools.r8.internal.QB:
    java.util.List codesToUpdate -> b
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2IntMap paramToMaxPc -> a
    java.util.List singleLineCodesToClear -> c
    1:1:void <init>(boolean):390:390 -> <init>
    2:11:void <init>(boolean):382:391 -> <init>
    1:6:void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int):405:410 -> a
    7:11:void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int,int):415:419 -> a
    12:13:void updateDebugInfoInCodeObjects():424:425 -> a
    14:14:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceOpenHashMap.<init>(int):110:110 -> a
    14:14:void updateDebugInfoInCodeObjects():425 -> a
    15:26:void updateDebugInfoInCodeObjects():426:437 -> a
    27:31:void lambda$updateDebugInfoInCodeObjects$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.utils.Pair):428:432 -> a
    32:35:void lambda$updateDebugInfoInCodeObjects$1(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceMap,com.android.tools.r8.utils.Pair):431:434 -> a
    36:36:com.android.tools.r8.graph.DexDebugInfo lambda$updateDebugInfoInCodeObjects$0(int,java.lang.Integer):433:433 -> a
    37:38:java.lang.Integer com.android.tools.r8.it.unimi.dsi.fastutil.ints.AbstractInt2IntFunction.get(java.lang.Object):120:121 -> a
    37:38:com.android.tools.r8.graph.DexDebugInfo lambda$updateDebugInfoInCodeObjects$0(int,java.lang.Integer):433 -> a
    39:39:com.android.tools.r8.graph.DexDebugInfo lambda$updateDebugInfoInCodeObjects$0(int,java.lang.Integer):433:433 -> a
    40:40:com.android.tools.r8.graph.DexDebugInfo com.android.tools.r8.utils.LineNumberOptimizer$Pc2PcMappingSupport.buildPc2PcDebugInfo(int,int):442:442 -> a
    40:40:com.android.tools.r8.graph.DexDebugInfo lambda$updateDebugInfoInCodeObjects$0(int,java.lang.Integer):433 -> a
    41:41:void lambda$updateDebugInfoInCodeObjects$2(com.android.tools.r8.graph.DexCode):437:437 -> a
    1:4:void recordPcMappingFor(com.android.tools.r8.graph.DexCode,int,int):396:399 -> b
com.android.tools.r8.utils.LineNumberOptimizer$PcBasedDebugInfoRecorder -> com.android.tools.r8.internal.RB:
    void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int) -> a
    void recordSingleLineFor(com.android.tools.r8.graph.DexCode,int,int) -> a
    void updateDebugInfoInCodeObjects() -> a
    void recordPcMappingFor(com.android.tools.r8.graph.DexCode,int,int) -> b
com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter -> com.android.tools.r8.internal.SB:
    java.util.List processedEvents -> f
    int previousPc -> d
    boolean $assertionsDisabled -> g
    int startLine -> b
    com.android.tools.r8.graph.DexMethod method -> c
    com.android.tools.r8.graph.DexItemFactory dexItemFactory -> a
    com.android.tools.r8.ir.code.Position previousPosition -> e
    1:1:void <clinit>():257:257 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,java.util.List,com.android.tools.r8.utils.LineNumberOptimizer$1):257:257 -> <init>
    2:2:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,java.util.List):266:266 -> <init>
    3:13:void <init>(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.graph.DexMethod,java.util.List):259:269 -> <init>
    1:1:void com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.emitAdvancePc(int):273:273 -> a
    1:1:void access$1200(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int):257 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    2:3:void com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.emitAdvancePc(int):273:274 -> a
    2:3:void access$1200(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int):257 -> a
    4:4:void com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.emitPositionEvents(int,com.android.tools.r8.ir.code.Position):278:278 -> a
    4:4:void access$1500(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int,com.android.tools.r8.ir.code.Position):257 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:17:void com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.emitPositionEvents(int,com.android.tools.r8.ir.code.Position):279:291 -> a
    5:17:void access$1500(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter,int,com.android.tools.r8.ir.code.Position):257 -> a
    18:18:int com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.getStartLine():295:295 -> a
    18:18:int access$1600(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter):257 -> a
    19:19:int com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.getStartLine():295:295 -> a
    19:19:int access$1600(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter):257 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    20:20:int com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.getStartLine():295:295 -> a
    20:20:int access$1600(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter):257 -> a
    21:21:int com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter.getStartLine():296:296 -> a
    21:21:int access$1600(com.android.tools.r8.utils.LineNumberOptimizer$PositionEventEmitter):257 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
com.android.tools.r8.utils.LineNumberOptimizer$PositionRemapper -> com.android.tools.r8.internal.TB:
    com.android.tools.r8.utils.Pair createRemappedPosition(com.android.tools.r8.ir.code.Position) -> a
com.android.tools.r8.utils.ListUtils -> com.android.tools.r8.internal.gC:
    1:2:java.util.List flatMap(java.util.List,java.util.function.Function):52:53 -> a
    3:3:void lambda$flatMap$0(java.util.List,java.util.function.Function,java.lang.Object):53:53 -> a
    4:5:java.util.List filter(java.util.Collection,java.util.function.Predicate):58:59 -> a
    6:7:void lambda$filter$1(java.util.function.Predicate,java.util.ArrayList,java.lang.Object):61:62 -> a
    8:8:java.lang.Object first(java.util.List):69:69 -> a
    9:11:java.util.List map(java.lang.Object[],java.util.function.Function):100:102 -> a
    12:14:java.util.List map(java.util.Collection,java.util.function.Function):116:118 -> a
    15:15:java.lang.Object lambda$mapOrElse$2(java.util.function.Function,int,java.lang.Object):139:139 -> a
    16:16:java.util.List mapOrElse(java.util.List,java.util.function.Function,java.util.List):139:139 -> a
    17:32:java.util.List mapOrElse(java.util.List,com.android.tools.r8.utils.IntObjToObjFunction,java.util.List):149:164 -> a
    33:33:java.lang.Object lambda$filterOrElse$3(java.util.function.Predicate,java.lang.Object):184:184 -> a
    34:35:java.util.ArrayList newArrayList(com.android.tools.r8.utils.ForEachable):201:202 -> a
    36:37:java.util.LinkedList newLinkedList(java.lang.Object):221:222 -> a
    38:39:java.lang.Object fold(java.util.Collection,java.lang.Object,java.util.function.BiFunction):255:256 -> a
    40:41:void forEachWithIndex(java.util.List,com.android.tools.r8.utils.ListUtils$ReferenceAndIntConsumer):262:263 -> a
    42:42:void destructiveSort(java.util.List,java.util.Comparator):272:272 -> a
    1:15:java.util.List flatMapSameType(java.util.List,java.util.function.Function,java.util.List):31:45 -> b
    16:16:java.lang.Object last(java.util.List):87:87 -> b
    17:17:java.util.List filterOrElse(java.util.List,java.util.function.Predicate):184:184 -> b
    18:20:com.android.tools.r8.com.google.common.collect.ImmutableList newImmutableList(com.android.tools.r8.utils.ForEachable):215:217 -> b
    1:2:int firstIndexMatching(java.util.List,java.util.function.Predicate):78:79 -> c
    1:2:int lastIndexMatching(java.util.List,java.util.function.Predicate):91:92 -> d
    1:3:int uniqueIndexMatching(java.util.List,java.util.function.Predicate):284:286 -> e
com.android.tools.r8.utils.ListUtils$ReferenceAndIntConsumer -> com.android.tools.r8.internal.fC:
com.android.tools.r8.utils.LongInterval -> com.android.tools.r8.internal.TC:
    long max -> b
    long min -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():10:10 -> <clinit>
    1:4:void <init>(int,int):15:18 -> <init>
    5:8:void <init>(long,long):21:24 -> <init>
    1:1:long getMax():32:32 -> a
    2:2:boolean containsValue(long):45:45 -> a
    3:3:boolean overlapsWith(com.android.tools.r8.utils.LongInterval):53:53 -> a
    1:1:long getMin():28:28 -> b
    1:2:long getSingleValue():40:41 -> c
    1:1:boolean isSingleValue():36:36 -> d
    1:2:boolean equals(java.lang.Object):66:67 -> equals
    1:1:int hashCode():58:58 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":76,"2":77,"3":78}}
    76:76:java.lang.String toString():74:74 -> toString
    77:77:java.lang.String toString():74:74 -> toString
    78:78:java.lang.String toString():74:74 -> toString
    75:75:java.lang.String toString():74:74 -> toString
com.android.tools.r8.utils.MainDexListParser -> com.android.tools.r8.internal.qD:
    1:1:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):21:21 -> a
    2:2:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":41,"3":42}}
    41:41:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):24:24 -> a
    42:42:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):24:24 -> a
    27:31:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):25:29 -> a
    32:32:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    33:33:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":44,"2":45,"3":46,"4":47,"5":48,"6":49}}
    44:44:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    45:45:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    46:46:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    47:47:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    48:48:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    49:49:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    34:34:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    34:34:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26 -> a
    35:35:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):26:26 -> a
    36:36:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    37:37:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":50,"2":51,"3":52,"4":53,"5":54,"6":55}}
    50:50:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    51:51:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    52:52:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    53:53:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    54:54:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    55:55:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    38:38:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    38:38:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22 -> a
    39:39:com.android.tools.r8.graph.DexType parseEntry(java.lang.String,com.android.tools.r8.graph.DexItemFactory):22:22 -> a
    56:74:java.util.Set parseList(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory):35:53 -> a
    75:75:java.util.Set parseList(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory):37:37 -> a
    76:76:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String,java.lang.Throwable,com.android.tools.r8.origin.Origin):38:38 -> a
    76:76:java.util.Set parseList(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory):37 -> a
    77:77:java.util.Set parseList(com.android.tools.r8.StringResource,com.android.tools.r8.graph.DexItemFactory):37:37 -> a
com.android.tools.r8.utils.MapIdTemplateProvider -> com.android.tools.r8.internal.sD:
    java.util.Map HANDLERS -> c
    java.lang.String template -> a
    java.lang.String cachedValue -> b
    boolean $assertionsDisabled -> d
    1:6:void <clinit>():12:17 -> <clinit>
    7:7:java.lang.String com.android.tools.r8.utils.MapIdTemplateProvider.var(java.lang.String):22:22 -> <clinit>
    7:7:void <clinit>():18 -> <clinit>
    8:9:void <clinit>():18:19 -> <clinit>
    1:1:void <init>(java.lang.String):57:57 -> <init>
    2:5:void <init>(java.lang.String):55:58 -> <init>
    1:6:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):35:40 -> a
    7:8:int com.android.tools.r8.utils.MapIdTemplateProvider.getMaxVariableLength():27:28 -> a
    7:8:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):43 -> a
    9:11:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):43:45 -> a
    12:12:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":64,"2":65,"3":66,"4":67,"5":68}}
    64:64:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):45:45 -> a
    65:65:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):45:45 -> a
    66:66:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):45:45 -> a
    67:67:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):45:45 -> a
    68:68:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):45:45 -> a
    57:63:com.android.tools.r8.MapIdProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):45:51 -> a
    69:69:void lambda$get$0(com.android.tools.r8.MapIdEnvironment,java.lang.String,com.android.tools.r8.MapIdProvider):67:67 -> a
    1:8:java.lang.String get(com.android.tools.r8.MapIdEnvironment):63:70 -> get
com.android.tools.r8.utils.MapUtils -> com.android.tools.r8.internal.vD:
    1:1:java.util.Map clone(java.util.Map,java.util.Map,java.util.function.Function):26:26 -> a
    2:2:void lambda$clone$0(java.util.Map,java.util.function.Function,java.lang.Object,java.lang.Object):26:26 -> a
    3:3:java.util.function.Function ignoreKey(java.util.function.Supplier):39:39 -> a
    4:4:java.lang.Object lambda$ignoreKey$1(java.util.function.Supplier,java.lang.Object):39:39 -> a
    5:6:java.util.IdentityHashMap newIdentityHashMap(com.android.tools.r8.utils.BiForEachable):43:44 -> a
    7:7:boolean lambda$removeIdentityMappings$2(java.util.Map$Entry):49:49 -> a
    8:8:void removeIdentityMappings(java.util.Map):49:49 -> a
    9:9:boolean lambda$removeIf$3(java.util.function.BiPredicate,java.util.Map$Entry):53:53 -> a
    10:10:void removeIf(java.util.Map,java.util.function.BiPredicate):53:53 -> a
    11:11:java.util.Map transform(java.util.Map,java.util.function.IntFunction,java.util.function.Function,java.util.function.Function,com.android.tools.r8.utils.TriFunction):67:67 -> a
    12:12:java.lang.Object lambda$transform$5(java.util.function.Function,java.lang.Object,java.lang.Object):70:70 -> a
    13:14:java.util.Map transform(java.util.Map,java.util.function.IntFunction,java.util.function.BiFunction,java.util.function.BiFunction,com.android.tools.r8.utils.TriFunction):81:82 -> a
    15:22:void lambda$transform$7(java.util.function.BiFunction,java.util.function.BiFunction,java.util.Map,com.android.tools.r8.utils.TriFunction,java.lang.Object,java.lang.Object):84:91 -> a
    1:1:java.lang.String lambda$toString$4(java.util.Map$Entry):58:58 -> b
    2:2:java.lang.String toString(java.util.Map):58:58 -> b
    3:3:java.lang.String toString(java.util.Map):57:57 -> b
    4:4:java.lang.Object lambda$transform$6(java.util.function.Function,java.lang.Object,java.lang.Object):71:71 -> b
com.android.tools.r8.utils.MethodJavaSignatureEquivalence -> com.android.tools.r8.internal.DE:
    com.android.tools.r8.utils.MethodJavaSignatureEquivalence INSTANCE_IGNORE_NAME -> c
    com.android.tools.r8.utils.MethodJavaSignatureEquivalence INSTANCE -> b
    boolean ignoreName -> a
    1:4:void <clinit>():17:20 -> <clinit>
    1:2:void <init>(boolean):25:26 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):15:15 -> a
    2:5:boolean com.android.tools.r8.utils.MethodJavaSignatureEquivalence.doEquivalent(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):39:42 -> a
    2:5:boolean doEquivalent(java.lang.Object,java.lang.Object):15 -> a
    6:6:int doHash(java.lang.Object):15:15 -> a
    7:10:int com.android.tools.r8.utils.MethodJavaSignatureEquivalence.doHash(com.android.tools.r8.graph.DexMethod):47:50 -> a
    7:10:int doHash(java.lang.Object):15 -> a
    11:11:com.android.tools.r8.utils.MethodJavaSignatureEquivalence get():30:30 -> a
    1:1:com.android.tools.r8.utils.MethodJavaSignatureEquivalence getEquivalenceIgnoreName():34:34 -> b
com.android.tools.r8.utils.MethodReferenceUtils -> com.android.tools.r8.internal.SE:
    int $r8$clinit -> b
    java.util.Comparator COMPARATOR -> a
    1:1:void <clinit>():24:24 -> <clinit>
    1:1:java.util.Comparator com.android.tools.r8.utils.MethodReferenceUtils.getMethodReferenceComparator():71:71 -> a
    1:1:int compare(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):67 -> a
    2:2:int compare(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):67:67 -> a
    3:3:java.util.Comparator getMethodReferenceComparator():71:71 -> a
    4:4:com.android.tools.r8.references.MethodReference mainMethod(java.lang.Class):75:75 -> a
    5:6:com.android.tools.r8.references.MethodReference com.android.tools.r8.utils.MethodReferenceUtils.mainMethod(com.android.tools.r8.references.ClassReference):79:80 -> a
    5:6:com.android.tools.r8.references.MethodReference mainMethod(java.lang.Class):75 -> a
    7:9:com.android.tools.r8.references.MethodReference methodFromMethod(java.lang.Class,java.lang.String,java.lang.Class[]):86:88 -> a
    10:10:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.graph.DexItemFactory):95:95 -> a
    11:11:com.android.tools.r8.graph.DexType com.android.tools.r8.utils.ClassReferenceUtils.toDexType(com.android.tools.r8.references.ClassReference,com.android.tools.r8.graph.DexItemFactory):40:40 -> a
    11:11:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.graph.DexItemFactory):95 -> a
    12:12:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.graph.DexItemFactory):97:97 -> a
    13:15:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.graph.DexItemFactory):96:98 -> a
    16:16:com.android.tools.r8.graph.DexMethod toDexMethod(com.android.tools.r8.references.MethodReference,com.android.tools.r8.graph.DexItemFactory):94:94 -> a
    17:17:java.lang.String toSourceString(com.android.tools.r8.references.MethodReference):106:106 -> a
    18:24:java.lang.String toSourceString(com.android.tools.r8.references.MethodReference,boolean,boolean):111:117 -> a
    25:42:java.lang.String toSourceString(com.android.tools.r8.references.MethodReference,boolean,boolean):114:131 -> a
    1:1:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):28:28 -> b
    2:2:com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.compare(java.lang.Object,java.lang.Object,java.util.Comparator):33:33 -> b
    2:2:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):27 -> b
    3:3:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):29:29 -> b
    4:4:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
    4:4:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):30 -> b
    5:5:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):33:33 -> b
    6:6:com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.compare(java.lang.Comparable,java.lang.Comparable):29:29 -> b
    6:6:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):33 -> b
    7:7:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):34:34 -> b
    8:8:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
    8:8:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):35 -> b
    9:9:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):39:39 -> b
    10:10:com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.compare(java.lang.Object,java.lang.Object,java.util.Comparator):33:33 -> b
    10:10:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):38 -> b
    11:11:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):40:40 -> b
    12:12:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
    12:12:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):41 -> b
    13:19:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):44:50 -> b
    20:20:com.android.tools.r8.utils.CompareResult com.android.tools.r8.utils.CompareResult.compare(java.lang.Object,java.lang.Object,java.util.Comparator):33:33 -> b
    20:20:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):47 -> b
    21:21:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):51:51 -> b
    22:22:int com.android.tools.r8.utils.CompareResult.getComparisonResult():21:21 -> b
    22:22:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):52 -> b
    23:23:int lambda$static$0(com.android.tools.r8.references.MethodReference,com.android.tools.r8.references.MethodReference):55:55 -> b
com.android.tools.r8.utils.MethodSignatureEquivalence -> com.android.tools.r8.internal.UE:
    com.android.tools.r8.utils.MethodSignatureEquivalence INSTANCE -> a
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(boolean):23:23 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):14:14 -> a
    2:2:boolean com.android.tools.r8.utils.MethodSignatureEquivalence.doEquivalent(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):40:40 -> a
    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):14 -> a
    3:3:int doHash(java.lang.Object):14:14 -> a
    4:4:int com.android.tools.r8.utils.MethodSignatureEquivalence.doHash(com.android.tools.r8.graph.DexMethod):48:48 -> a
    4:4:int doHash(java.lang.Object):14 -> a
    5:5:com.android.tools.r8.utils.MethodSignatureEquivalence get():28:28 -> a
com.android.tools.r8.utils.ObjectUtils -> com.android.tools.r8.internal.rK:
    1:1:boolean getBooleanOrElse(java.lang.Object,java.util.function.Predicate,boolean):14:14 -> a
    2:2:java.lang.Object mapNotNullOrDefault(java.lang.Object,java.lang.Object,java.util.function.Function):31:31 -> a
com.android.tools.r8.utils.OffOrAuto -> com.android.tools.r8.internal.wK:
    com.android.tools.r8.utils.OffOrAuto Auto -> c
    com.android.tools.r8.utils.OffOrAuto Off -> b
    com.android.tools.r8.utils.OffOrAuto[] $VALUES -> d
    1:1:void <clinit>():11:11 -> <clinit>
    2:2:void <clinit>():10:10 -> <clinit>
    1:1:void <init>(java.lang.String,int):10:10 -> <init>
    1:1:com.android.tools.r8.utils.OffOrAuto[] values():10:10 -> a
com.android.tools.r8.utils.OneShotByteResource -> com.android.tools.r8.utils.A:
    com.android.tools.r8.origin.Origin origin -> a
    java.util.Set classDescriptors -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.ProgramResource$Kind kind -> b
    byte[] bytes -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:6:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.ProgramResource$Kind,byte[],java.util.Set):26:31 -> <init>
    1:1:com.android.tools.r8.utils.OneShotByteResource create(com.android.tools.r8.ProgramResource$Kind,com.android.tools.r8.origin.Origin,byte[],java.util.Set):22:22 -> a
    1:1:java.io.InputStream getByteStream():46:46 -> getByteStream
    1:3:byte[] getBytes():51:53 -> getBytes
    1:1:java.util.Set getClassDescriptors():59:59 -> getClassDescriptors
    1:1:com.android.tools.r8.ProgramResource$Kind getKind():41:41 -> getKind
    1:1:com.android.tools.r8.origin.Origin getOrigin():36:36 -> getOrigin
com.android.tools.r8.utils.OptionalBool -> com.android.tools.r8.internal.PK:
    com.android.tools.r8.utils.OptionalBool UNKNOWN -> c
    com.android.tools.r8.utils.OptionalBool TRUE -> a
    com.android.tools.r8.utils.OptionalBool FALSE -> b
    1:39:void <clinit>():9:47 -> <clinit>
    1:1:void <init>():66:66 -> <init>
    1:1:com.android.tools.r8.utils.OptionalBool of(boolean):69:69 -> a
    int ordinal() -> f
    1:1:int hashCode():88:88 -> hashCode
com.android.tools.r8.utils.OptionalBool$1 -> com.android.tools.r8.internal.MK:
    1:1:void <init>():10:10 -> <init>
    boolean isTrue() -> d
    int ordinal() -> f
    1:1:java.lang.String toString():24:24 -> toString
com.android.tools.r8.utils.OptionalBool$2 -> com.android.tools.r8.internal.NK:
    1:1:void <init>():29:29 -> <init>
    boolean isFalse() -> a
    int ordinal() -> f
    1:1:java.lang.String toString():43:43 -> toString
com.android.tools.r8.utils.OptionalBool$3 -> com.android.tools.r8.internal.OK:
    1:1:void <init>():48:48 -> <init>
    boolean isUnknown() -> e
    int ordinal() -> f
    1:1:java.lang.String toString():62:62 -> toString
com.android.tools.r8.utils.OptionsParsing -> com.android.tools.r8.internal.SK:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():10:10 -> <clinit>
    1:13:java.lang.String tryParseSingle(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String,java.lang.String):37:49 -> a
    14:18:java.lang.String tryParseSingle(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String,java.lang.String):39:43 -> a
    19:19:java.lang.String tryParseSingle(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String,java.lang.String):41:41 -> a
    20:25:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):60:65 -> a
    26:26:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":94,"2":95,"3":96}}
    94:94:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):65:65 -> a
    95:95:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):65:65 -> a
    96:96:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):65:65 -> a
    91:93:java.lang.Boolean tryParseBoolean(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):65:67 -> a
    1:11:java.util.List tryParseMulti(com.android.tools.r8.utils.OptionsParsing$ParseContext,java.lang.String):18:28 -> b
com.android.tools.r8.utils.OptionsParsing$ParseContext -> com.android.tools.r8.internal.RK:
    java.lang.String[] args -> a
    int nextIndex -> b
    1:1:void <init>(java.lang.String[]):76:76 -> <init>
    2:5:void <init>(java.lang.String[]):74:77 -> <init>
    1:1:java.lang.String head():81:81 -> a
    1:5:java.lang.String next():85:89 -> b
com.android.tools.r8.utils.OriginWithPosition -> com.android.tools.r8.internal.XK:
    com.android.tools.r8.origin.Origin origin -> a
    com.android.tools.r8.position.Position position -> b
    1:3:void <init>(com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):14:16 -> <init>
    1:1:com.android.tools.r8.origin.Origin getOrigin():20:20 -> a
    1:1:com.android.tools.r8.position.Position getPosition():24:24 -> b
    1:3:boolean equals(java.lang.Object):34:36 -> equals
    1:1:int hashCode():29:29 -> hashCode
com.android.tools.r8.utils.OriginalSourceFiles -> com.android.tools.r8.internal.bL:
    com.android.tools.r8.utils.OriginalSourceFiles UNREACHABLE -> a
    com.android.tools.r8.utils.OriginalSourceFiles FROM_CLASSES -> b
    1:9:void <clinit>():15:23 -> <clinit>
    1:1:void <init>():13:13 -> <init>
    com.android.tools.r8.graph.DexString getOriginalSourceFile(com.android.tools.r8.graph.DexProgramClass) -> a
    1:1:com.android.tools.r8.utils.OriginalSourceFiles fromClasses():38:38 -> a
    2:2:com.android.tools.r8.utils.OriginalSourceFiles fromMap(java.util.Map):43:43 -> a
    1:1:com.android.tools.r8.utils.OriginalSourceFiles unreachable():33:33 -> b
com.android.tools.r8.utils.OriginalSourceFiles$1 -> com.android.tools.r8.internal.YK:
    1:1:void <init>():16:16 -> <init>
    1:1:com.android.tools.r8.graph.DexString getOriginalSourceFile(com.android.tools.r8.graph.DexProgramClass):19:19 -> a
com.android.tools.r8.utils.OriginalSourceFiles$2 -> com.android.tools.r8.internal.ZK:
    1:1:void <init>():24:24 -> <init>
    1:1:com.android.tools.r8.graph.DexString getOriginalSourceFile(com.android.tools.r8.graph.DexProgramClass):27:27 -> a
com.android.tools.r8.utils.OriginalSourceFiles$3 -> com.android.tools.r8.internal.aL:
    java.util.Map val$map -> c
    1:1:void <init>(java.util.Map):43:43 -> <init>
    1:1:com.android.tools.r8.graph.DexString getOriginalSourceFile(com.android.tools.r8.graph.DexProgramClass):46:46 -> a
com.android.tools.r8.utils.Pair -> com.android.tools.r8.internal.zL:
# {"id":"sourceFile","fileName":"Pair.java"}
    java.lang.Object second -> b
    java.lang.Object first -> a
    1:1:void <init>():20:20 -> <init>
    2:4:void <init>(java.lang.Object,java.lang.Object):23:25 -> <init>
    1:1:java.lang.Object getFirst():29:29 -> a
    2:2:void setFirst(java.lang.Object):37:37 -> a
    3:3:com.android.tools.r8.utils.Pair create(java.lang.Object,java.lang.Object):60:60 -> a
    1:1:java.lang.Object getSecond():33:33 -> b
    2:2:void setSecond(java.lang.Object):41:41 -> b
    1:1:boolean equals(java.lang.Object):51:51 -> equals
    1:1:int hashCode():46:46 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":58,"2":59,"3":60}}
    58:58:java.lang.String toString():56:56 -> toString
    59:59:java.lang.String toString():56:56 -> toString
    60:60:java.lang.String toString():56:56 -> toString
    57:57:java.lang.String toString():56:56 -> toString
com.android.tools.r8.utils.PredicateSet -> com.android.tools.r8.internal.kM:
    java.util.List predicates -> b
    java.util.Set elements -> a
    1:4:void <init>():14:17 -> <init>
    1:1:boolean addElement(java.lang.Object):20:20 -> a
    2:2:void addPredicate(java.util.function.Predicate):24:24 -> a
    3:3:com.android.tools.r8.utils.PredicateSet empty():28:28 -> a
    4:10:com.android.tools.r8.utils.PredicateSet rewriteItems(java.util.function.Function):32:38 -> a
    1:5:boolean contains(java.lang.Object):43:47 -> b
com.android.tools.r8.utils.PredicateUtils -> com.android.tools.r8.internal.lM:
    1:2:java.lang.Object findFirst(java.lang.Object[],java.util.function.Predicate):13:14 -> a
    3:3:boolean lambda$not$0(java.util.function.Predicate,java.lang.Object):22:22 -> a
    4:4:java.util.function.Predicate not(java.util.function.Predicate):22:22 -> a
    5:5:java.util.function.Predicate isNull(java.util.function.Function):26:26 -> a
    6:6:boolean lambda$isNull$1(java.util.function.Function,java.lang.Object):26:26 -> a
com.android.tools.r8.utils.PreloadedClassFileProvider -> com.android.tools.r8.internal.uM:
    java.util.Map content -> b
    1:1:void <init>(java.util.Map,com.android.tools.r8.utils.PreloadedClassFileProvider$1):19:19 -> <init>
    2:3:void <init>(java.util.Map):37:38 -> <init>
    1:3:com.android.tools.r8.ClassFileResourceProvider fromClassData(java.lang.String,byte[]):57:59 -> a
    4:4:com.android.tools.r8.utils.PreloadedClassFileProvider$Builder builder():71:71 -> a
    1:1:java.util.Set getClassDescriptors():43:43 -> getClassDescriptors
    2:4:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.lang.Iterable):219:221 -> getClassDescriptors
    2:4:java.util.Set getClassDescriptors():43 -> getClassDescriptors
    5:5:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet():178:178 -> getClassDescriptors
    5:5:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.util.Iterator):237 -> getClassDescriptors
    5:5:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.lang.Iterable):221 -> getClassDescriptors
    5:5:java.util.Set getClassDescriptors():43 -> getClassDescriptors
    6:6:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.util.Iterator):238:238 -> getClassDescriptors
    6:6:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.lang.Iterable):221 -> getClassDescriptors
    6:6:java.util.Set getClassDescriptors():43 -> getClassDescriptors
    1:6:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):48:53 -> getProgramResource
    7:7:com.android.tools.r8.ProgramResource getProgramResource(java.lang.String):52:52 -> getProgramResource
    1:1:java.lang.String toString():64:64 -> toString
com.android.tools.r8.utils.PreloadedClassFileProvider$Builder -> com.android.tools.r8.internal.uM$a:
    java.util.Map content -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():74:74 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.PreloadedClassFileProvider$1):74:74 -> <init>
    2:2:void <init>():78:78 -> <init>
    3:3:void <init>():76:76 -> <init>
    1:5:com.android.tools.r8.utils.PreloadedClassFileProvider$Builder addResource(java.lang.String,byte[]):82:86 -> a
    6:8:com.android.tools.r8.utils.PreloadedClassFileProvider build():91:93 -> a
com.android.tools.r8.utils.PreloadedClassFileProvider$ClassDescriptorOrigin -> com.android.tools.r8.internal.vM:
    java.lang.String descriptor -> f
    1:2:void <init>(java.lang.String):25:26 -> <init>
    1:1:java.lang.String part():31:31 -> part
com.android.tools.r8.utils.ProgramClassCollection -> com.android.tools.r8.internal.SM:
    com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver conflictResolver -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():18:18 -> <clinit>
    1:2:void <init>(java.util.concurrent.ConcurrentHashMap,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):36:37 -> <init>
    1:1:java.util.function.Supplier getTransparentSupplier(com.android.tools.r8.graph.DexClass):18:18 -> a
    2:2:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):18:18 -> a
    3:3:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.resolveClassConflict(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):47:47 -> a
    3:3:com.android.tools.r8.graph.DexClass resolveClassConflict(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.DexClass):18 -> a
    4:9:com.android.tools.r8.utils.ProgramClassCollection create(java.util.List,com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver):25:30 -> a
    10:10:java.util.function.Supplier lambda$create$0(com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver,java.util.function.Supplier,java.util.function.Supplier):28:28 -> a
    11:11:com.android.tools.r8.dex.ApplicationReader$ProgramClassConflictResolver defaultConflictResolver(com.android.tools.r8.utils.Reporter):63:63 -> a
    12:13:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):64:65 -> a
    14:14:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):82:82 -> a
    14:14:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):66 -> a
    15:15:boolean com.android.tools.r8.graph.DexType.isSynthesizedTypeAllowedDuplication():344:344 -> a
    15:15:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):83 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    15:15:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):66 -> a
    16:17:boolean com.android.tools.r8.graph.DexType.isSynthesizedTypeAllowedDuplication():344:345 -> a
    16:17:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):83 -> a
    16:17:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):66 -> a
    18:20:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):74:76 -> a
    18:20:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):87 -> a
    18:20:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):66 -> a
    21:21:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    21:21:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77 -> a
    21:21:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):87 -> a
    21:21:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):66 -> a
    22:22:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    22:22:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    22:22:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):87 -> a
    22:22:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):66 -> a
    23:23:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77:77 -> a
    23:23:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):87 -> a
    23:23:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):66 -> a
    24:24:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):74:74 -> a
    24:24:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):87 -> a
    24:24:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):66 -> a
    25:27:boolean com.android.tools.r8.utils.ProgramClassCollection.assertEqualClasses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):91:91 -> a
    25:27:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):84 -> a
    25:27:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):66 -> a
    29:29:boolean com.android.tools.r8.utils.ProgramClassCollection.assertEqualClasses(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):93:93 -> a
    29:29:com.android.tools.r8.graph.DexProgramClass com.android.tools.r8.utils.ProgramClassCollection.mergeClasses(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):84 -> a
    29:29:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):66 -> a
    30:32:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):74:76 -> a
    30:32:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):68 -> a
    33:33:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    33:33:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77 -> a
    33:33:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):68 -> a
    34:34:com.android.tools.r8.origin.Origin com.android.tools.r8.graph.DexClass.getOrigin():777:777 -> a
    34:34:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    34:34:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):68 -> a
    35:35:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):77:77 -> a
    35:35:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):68 -> a
    36:36:java.lang.RuntimeException com.android.tools.r8.utils.ProgramClassCollection.reportDuplicateTypes(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):74:74 -> a
    36:36:com.android.tools.r8.graph.DexProgramClass lambda$defaultConflictResolver$1(com.android.tools.r8.utils.Reporter,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexProgramClass):68 -> a
    1:1:com.android.tools.r8.graph.ClassKind getClassKind():57:57 -> e
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":44,"2":45,"3":46}}
    44:44:java.lang.String toString():42:42 -> toString
    45:45:java.lang.String toString():42:42 -> toString
    46:46:java.lang.String toString():42:42 -> toString
    43:43:java.lang.String toString():42:42 -> toString
com.android.tools.r8.utils.ProgramMethodEquivalence -> com.android.tools.r8.internal.cN:
    com.android.tools.r8.utils.ProgramMethodEquivalence INSTANCE -> a
    1:1:void <clinit>():12:12 -> <clinit>
    1:1:void <init>():14:14 -> <init>
    1:1:boolean doEquivalent(java.lang.Object,java.lang.Object):10:10 -> a
    2:2:boolean com.android.tools.r8.utils.ProgramMethodEquivalence.doEquivalent(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.ProgramMethod):22:22 -> a
    2:2:boolean doEquivalent(java.lang.Object,java.lang.Object):10 -> a
    3:3:int doHash(java.lang.Object):10:10 -> a
    4:4:int com.android.tools.r8.utils.ProgramMethodEquivalence.doHash(com.android.tools.r8.graph.ProgramMethod):27:27 -> a
    4:4:int doHash(java.lang.Object):10 -> a
    5:5:com.android.tools.r8.utils.ProgramMethodEquivalence get():17:17 -> a
com.android.tools.r8.utils.ReflectionHelper -> com.android.tools.r8.internal.cS:
com.android.tools.r8.utils.ReflectionHelper$ReflectiveFieldOperation -> com.android.tools.r8.internal.XR:
    1:1:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer,com.android.tools.r8.utils.ReflectionHelper$1):72:72 -> <init>
    2:2:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer):79:79 -> <init>
    1:5:java.lang.Object compute(java.lang.Object):84:88 -> a
com.android.tools.r8.utils.ReflectionHelper$ReflectiveMethodOperation -> com.android.tools.r8.internal.YR:
    1:1:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer,com.android.tools.r8.utils.ReflectionHelper$1):51:51 -> <init>
    2:2:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer):58:58 -> <init>
    1:6:java.lang.Object compute(java.lang.Object):63:68 -> a
com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation -> com.android.tools.r8.internal.ZR:
    java.util.function.Consumer modifier -> c
    com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation nextOperation -> d
    java.lang.Class classForDeclaration -> a
    java.lang.String declaredMember -> b
    1:1:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer,com.android.tools.r8.utils.ReflectionHelper$1):30:30 -> <init>
    2:6:void <init>(java.lang.Class,java.lang.String,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation,java.util.function.Consumer):41:45 -> <init>
    java.lang.Object compute(java.lang.Object) -> a
com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder -> com.android.tools.r8.internal.aS:
    com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder sequenceBuilder -> d
    boolean $assertionsDisabled -> e
    java.lang.String declaredMember -> a
    com.android.tools.r8.utils.ReflectionHelper$DeclaredType declaredType -> b
    boolean setAccessible -> c
    1:1:void <clinit>():121:121 -> <clinit>
    1:1:void <init>(java.lang.String,com.android.tools.r8.utils.ReflectionHelper$DeclaredType,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder,com.android.tools.r8.utils.ReflectionHelper$1):121:121 -> <init>
    2:2:void <init>(java.lang.String,com.android.tools.r8.utils.ReflectionHelper$DeclaredType,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder):131:131 -> <init>
    3:12:void <init>(java.lang.String,com.android.tools.r8.utils.ReflectionHelper$DeclaredType,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder):125:134 -> <init>
    1:1:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation access$200(com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder,com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation):121:121 -> a
    2:2:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder done():143:143 -> a
    3:15:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation build(com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation):147:159 -> a
    16:17:void lambda$build$0(java.lang.reflect.Field):153:154 -> a
    18:19:void lambda$build$1(java.lang.reflect.Method):164:165 -> a
    1:1:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder setSetAccessible(boolean):138:138 -> b
com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder -> com.android.tools.r8.internal.bS:
    java.util.List reflectiveOperationBuilderList -> a
    boolean $assertionsDisabled -> b
    1:1:void <clinit>():92:92 -> <clinit>
    1:3:void <init>():92:94 -> <init>
    1:3:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder.add(java.lang.String,com.android.tools.r8.utils.ReflectionHelper$DeclaredType):105:107 -> a
    1:3:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder readField(java.lang.String):101 -> a
    4:7:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperation build():112:115 -> a
    1:1:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder readMethod(java.lang.String):0:0 -> b
    2:4:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationSequenceBuilder.add(java.lang.String,com.android.tools.r8.utils.ReflectionHelper$DeclaredType):105:107 -> b
    2:4:com.android.tools.r8.utils.ReflectionHelper$ReflectiveOperationBuilder readMethod(java.lang.String):97 -> b
com.android.tools.r8.utils.Reporter -> com.android.tools.r8.internal.NS:
    java.util.List diagnosticsLevelMapping -> b
    com.android.tools.r8.DiagnosticsHandler clientHandler -> a
    com.android.tools.r8.utils.AbortException abort -> c
    1:1:void <init>():56:56 -> <init>
    2:2:void <init>(com.android.tools.r8.DiagnosticsHandler):59:59 -> <init>
    3:11:void <init>(com.android.tools.r8.DiagnosticsHandler):52:60 -> <init>
    1:1:void handleDiagnostic(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):67:67 -> a
    2:3:com.android.tools.r8.DiagnosticsLevel com.android.tools.r8.utils.Reporter.mapDiagnosticsLevel(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):139:140 -> a
    2:3:void handleDiagnostic(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):69 -> a
    4:18:void handleDiagnostic(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):71:85 -> a
    19:19:void handleDiagnostic(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):78:78 -> a
    20:20:void handleDiagnostic(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):75:75 -> a
    21:21:void error(java.lang.String):113:113 -> a
    22:23:java.lang.RuntimeException fatalError(com.android.tools.r8.Diagnostic):127:128 -> a
    24:25:void failIfPendingErrors():133:134 -> a
    26:26:void addDiagnosticsLevelMapping(com.android.tools.r8.DiagnosticsLevel,java.lang.String,com.android.tools.r8.DiagnosticsLevel):147:147 -> a
    1:1:java.lang.RuntimeException fatalError(java.lang.String):120:120 -> b
    1:1:void warning(java.lang.String):104:104 -> c
    1:1:void error(com.android.tools.r8.Diagnostic):109:109 -> error
    1:1:void info(com.android.tools.r8.Diagnostic):91:91 -> info
    1:1:void warning(com.android.tools.r8.Diagnostic):100:100 -> warning
com.android.tools.r8.utils.Reporter$1 -> com.android.tools.r8.internal.KS:
    1:1:void <init>():56:56 -> <init>
com.android.tools.r8.utils.Reporter$2 -> com.android.tools.r8.internal.LS:
    int[] $SwitchMap$com$android$tools$r8$DiagnosticsLevel -> a
    1:1:void <clinit>():73:73 -> <clinit>
com.android.tools.r8.utils.Reporter$DiagnosticsLevelMapping -> com.android.tools.r8.internal.MS:
    com.android.tools.r8.DiagnosticsLevel from -> a
    com.android.tools.r8.DiagnosticsLevel to -> b
    java.lang.String diagnosticsClassName -> c
    1:4:void <init>(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.DiagnosticsLevel,java.lang.String):25:28 -> <init>
    1:13:com.android.tools.r8.DiagnosticsLevel map(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):32:44 -> a
    14:14:com.android.tools.r8.DiagnosticsLevel map(com.android.tools.r8.DiagnosticsLevel,com.android.tools.r8.Diagnostic):38:38 -> a
com.android.tools.r8.utils.SegmentTree -> com.android.tools.r8.internal.gU:
    java.util.TreeMap internalTree -> a
    boolean allowIntervalOverwrites -> b
    int size -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(boolean):21:21 -> <init>
    2:8:void <init>(boolean):16:22 -> <init>
    1:2:java.lang.Object find(int):26:27 -> a
    3:4:java.util.Map$Entry findEntry(java.lang.Integer):31:32 -> a
    5:44:com.android.tools.r8.utils.SegmentTree add(int,int,java.lang.Object):36:75 -> a
    45:48:boolean lambda$add$0(int,int,com.android.tools.r8.utils.Box,java.lang.Integer):43:46 -> a
    49:49:int size():80:80 -> a
com.android.tools.r8.utils.SemanticVersion -> com.android.tools.r8.internal.hU:
    int minor -> b
    int patch -> c
    int major -> a
    1:4:void <init>(int,int,int):38:41 -> <init>
    1:21:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):11:31 -> a
    22:22:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    23:23:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":102,"2":103,"3":104,"4":105,"5":106}}
    102:102:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    103:103:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    104:104:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    105:105:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    106:106:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    52:52:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):29:29 -> a
    53:53:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    54:54:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":107,"2":108,"3":109,"4":110,"5":111}}
    107:107:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    108:108:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    109:109:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    110:110:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    111:111:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    71:71:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):17:17 -> a
    72:72:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    73:73:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":112,"2":113,"3":114,"4":115,"5":116}}
    112:112:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    113:113:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    114:114:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    115:115:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    116:116:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    86:86:com.android.tools.r8.utils.SemanticVersion parse(java.lang.String):13:13 -> a
    117:117:int getMajor():45:45 -> a
    118:124:boolean isNewerOrEqual(com.android.tools.r8.utils.SemanticVersion):57:63 -> a
    1:1:int getMinor():49:49 -> b
    1:1:int getPatch():53:53 -> c
    1:5:boolean equals(java.lang.Object):68:72 -> equals
    1:1:int hashCode():77:77 -> hashCode
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":84,"2":85,"3":86}}
    84:84:java.lang.String toString():82:82 -> toString
    85:85:java.lang.String toString():82:82 -> toString
    86:86:java.lang.String toString():82:82 -> toString
    83:83:java.lang.String toString():82:82 -> toString
com.android.tools.r8.utils.SetUtils -> com.android.tools.r8.internal.lU:
    1:1:java.util.Set newConcurrentHashSet(int):28:28 -> a
    2:3:java.util.HashSet newHashSet(java.lang.Object):32:33 -> a
    4:5:java.util.HashSet newHashSet(java.lang.Object[]):39:40 -> a
    6:7:java.util.Set newIdentityHashSet(java.lang.Object):45:46 -> a
    8:9:java.util.Set newIdentityHashSet(com.android.tools.r8.utils.ForEachable):58:59 -> a
    10:11:java.util.Set newIdentityHashSet(java.lang.Iterable):64:65 -> a
    12:14:java.util.Set newIdentityHashSet(java.lang.Iterable,java.lang.Iterable):70:72 -> a
    15:18:java.util.Set newIdentityHashSet(java.lang.Iterable,java.lang.Iterable,java.lang.Iterable):77:80 -> a
    19:21:java.util.Set mapIdentityHashSet(java.util.Set,java.util.function.Function):112:114 -> a
    1:1:java.util.Set newIdentityHashSet(int):85:85 -> b
    2:4:com.android.tools.r8.com.google.common.collect.ImmutableSet newImmutableSet(com.android.tools.r8.utils.ForEachable):95:97 -> b
    5:11:com.android.tools.r8.com.google.common.collect.ImmutableSet newImmutableSetExcludingNullItems(java.lang.Object[]):102:108 -> b
com.android.tools.r8.utils.SortingStringConsumer -> com.android.tools.r8.internal.xV:
    java.util.List accepted -> b
    1:1:void <init>(com.android.tools.r8.StringConsumer):24:24 -> <init>
    2:2:void <init>(com.android.tools.r8.StringConsumer):17:17 -> <init>
    1:1:void lambda$finished$0(com.android.tools.r8.DiagnosticsHandler,java.lang.String):35:35 -> a
    1:1:void accept(java.lang.String,com.android.tools.r8.DiagnosticsHandler):29:29 -> accept
    1:3:void finished(com.android.tools.r8.DiagnosticsHandler):34:36 -> finished
com.android.tools.r8.utils.SourceFileTemplateProvider -> com.android.tools.r8.internal.BV:
    java.util.Map HANDLERS -> c
    java.lang.String template -> a
    java.lang.String cachedValue -> b
    boolean $assertionsDisabled -> d
    1:7:void <clinit>():12:18 -> <clinit>
    8:8:java.lang.String com.android.tools.r8.utils.SourceFileTemplateProvider.var(java.lang.String):23:23 -> <clinit>
    8:8:void <clinit>():18 -> <clinit>
    9:10:void <clinit>():18:19 -> <clinit>
    11:11:java.lang.String com.android.tools.r8.utils.SourceFileTemplateProvider.var(java.lang.String):23:23 -> <clinit>
    11:11:void <clinit>():19 -> <clinit>
    12:13:void <clinit>():19:20 -> <clinit>
    1:1:void <init>(java.lang.String):58:58 -> <init>
    2:5:void <init>(java.lang.String):56:59 -> <init>
    1:6:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):36:41 -> a
    7:8:int com.android.tools.r8.utils.SourceFileTemplateProvider.getMaxVariableLength():28:29 -> a
    7:8:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):44 -> a
    9:11:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):44:46 -> a
    12:12:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":65,"2":66,"3":67,"4":68,"5":69}}
    65:65:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):46:46 -> a
    66:66:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):46:46 -> a
    67:67:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):46:46 -> a
    68:68:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):46:46 -> a
    69:69:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):46:46 -> a
    58:64:com.android.tools.r8.SourceFileProvider create(java.lang.String,com.android.tools.r8.DiagnosticsHandler):46:52 -> a
    70:70:void lambda$get$0(com.android.tools.r8.SourceFileEnvironment,java.lang.String,com.android.tools.r8.SourceFileProvider):68:68 -> a
    1:8:java.lang.String get(com.android.tools.r8.SourceFileEnvironment):64:71 -> get
com.android.tools.r8.utils.StreamUtils -> com.android.tools.r8.internal.AW:
    1:2:byte[] StreamToByteArrayClose(java.io.InputStream):17:18 -> a
com.android.tools.r8.utils.StringDiagnostic -> com.android.tools.r8.utils.StringDiagnostic:
    com.android.tools.r8.origin.Origin origin -> b
    com.android.tools.r8.position.Position position -> c
    boolean $assertionsDisabled -> e
    java.lang.String message -> d
    1:1:void <clinit>():20:20 -> <clinit>
    1:1:void <init>(java.lang.String):28:28 -> <init>
    2:2:void <init>(java.lang.String,com.android.tools.r8.origin.Origin):32:32 -> <init>
    3:9:void <init>(java.lang.String,com.android.tools.r8.origin.Origin,com.android.tools.r8.position.Position):35:41 -> <init>
    1:1:java.lang.String getDiagnosticMessage():56:56 -> getDiagnosticMessage
    1:1:com.android.tools.r8.origin.Origin getOrigin():46:46 -> getOrigin
    1:1:com.android.tools.r8.position.Position getPosition():51:51 -> getPosition
com.android.tools.r8.utils.StringUtils -> com.android.tools.r8.internal.iX:
    char[] EMPTY_CHAR_ARRAY -> a
    java.lang.String LINE_SEPARATOR -> c
    java.lang.String[] EMPTY_ARRAY -> b
    boolean $assertionsDisabled -> d
    1:4:void <clinit>():19:22 -> <clinit>
    1:6:boolean appendNonEmpty(java.lang.StringBuilder,java.lang.String,java.lang.Object,java.lang.String):69:74 -> a
    7:10:java.lang.StringBuilder appendLeftPadded(java.lang.StringBuilder,java.lang.String,int):92:95 -> a
    11:13:java.lang.StringBuilder appendRightPadded(java.lang.StringBuilder,java.lang.String,int):100:102 -> a
    14:14:java.lang.StringBuilder append(java.lang.StringBuilder,java.util.Collection):108:108 -> a
    15:15:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113:113 -> a
    16:21:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.left():32:37 -> a
    16:21:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113 -> a
    22:22:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.left():36:36 -> a
    22:22:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113 -> a
    23:23:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.left():35:35 -> a
    23:23:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113 -> a
    24:24:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.left():34:34 -> a
    24:24:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113 -> a
    25:25:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.left():33:33 -> a
    25:25:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113 -> a
    26:34:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):113:121 -> a
    35:40:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.right():42:47 -> a
    35:40:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):123 -> a
    41:41:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.right():46:46 -> a
    41:41:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):123 -> a
    42:42:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.right():45:45 -> a
    42:42:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):123 -> a
    43:43:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.right():44:44 -> a
    43:43:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):123 -> a
    44:44:java.lang.String com.android.tools.r8.utils.StringUtils$BraceType.right():43:43 -> a
    44:44:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):123 -> a
    45:45:java.lang.StringBuilder append(java.lang.StringBuilder,java.lang.Iterable,java.lang.String,com.android.tools.r8.utils.StringUtils$BraceType):123:123 -> a
    46:46:java.lang.String join(java.lang.String,java.lang.String[]):128:128 -> a
    47:47:java.lang.String join(java.lang.String,java.lang.Iterable):132:132 -> a
    48:48:java.lang.String join(java.lang.String,java.lang.Iterable,java.util.function.Function):136:136 -> a
    49:49:java.lang.String join(java.lang.String,java.lang.Iterable,com.android.tools.r8.utils.StringUtils$BraceType):140:140 -> a
    50:52:java.lang.String join(java.lang.String,java.lang.Iterable,java.util.function.Function,com.android.tools.r8.utils.StringUtils$BraceType):145:147 -> a
    53:57:java.lang.String lines(java.util.List):151:155 -> a
    58:58:java.lang.String joinLines(java.lang.String[]):173:173 -> a
    59:59:java.lang.String joinLines(java.util.Collection):177:177 -> a
    60:67:java.lang.String zeroPrefixString(java.lang.String,int):209:216 -> a
    68:68:java.lang.String hexString(int,int):223:223 -> a
    69:71:java.lang.String hexString(int,int,boolean):227:229 -> a
    72:72:java.lang.String hexString(int,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":538,"2":539,"3":540}}
    538:538:java.lang.String hexString(int,int,boolean):231:231 -> a
    539:539:java.lang.String hexString(int,int,boolean):231:231 -> a
    540:540:java.lang.String hexString(int,int,boolean):231:231 -> a
    303:306:java.lang.String hexString(int,int,boolean):231:234 -> a
    307:307:java.lang.String hexString(int,int,boolean):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":544,"2":545,"3":546,"4":547,"5":548}}
    544:544:java.lang.String hexString(int,int,boolean):235:235 -> a
    545:545:java.lang.String hexString(int,int,boolean):235:235 -> a
    546:546:java.lang.String hexString(int,int,boolean):235:235 -> a
    547:547:java.lang.String hexString(int,int,boolean):235:235 -> a
    548:548:java.lang.String hexString(int,int,boolean):235:235 -> a
    549:551:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):244:246 -> a
    549:551:java.lang.String hexString(long,int):240 -> a
    552:552:java.lang.String hexString(long,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":558,"2":559,"3":560}}
    558:558:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):248:248 -> a
    558:558:java.lang.String hexString(long,int):240 -> a
    559:559:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):248:248 -> a
    559:559:java.lang.String hexString(long,int):240 -> a
    560:560:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):248:248 -> a
    560:560:java.lang.String hexString(long,int):240 -> a
    553:556:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):248:251 -> a
    553:556:java.lang.String hexString(long,int):240 -> a
    557:557:java.lang.String hexString(long,int):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":564,"2":565,"3":566,"4":567,"5":568}}
    564:564:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):252:252 -> a
    564:564:java.lang.String hexString(long,int):240 -> a
    565:565:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):252:252 -> a
    565:565:java.lang.String hexString(long,int):240 -> a
    566:566:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):252:252 -> a
    566:566:java.lang.String hexString(long,int):240 -> a
    567:567:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):252:252 -> a
    567:567:java.lang.String hexString(long,int):240 -> a
    568:568:java.lang.String com.android.tools.r8.utils.StringUtils.hexString(long,int,boolean):252:252 -> a
    568:568:java.lang.String hexString(long,int):240 -> a
    569:573:java.lang.String times(java.lang.String,int):271:275 -> a
    574:574:boolean isWhitespace(int):283:283 -> a
    575:575:java.lang.String replaceAll(java.lang.String,java.lang.String,java.lang.String):340:340 -> a
    576:579:java.lang.String capitalize(java.lang.String):350:353 -> a
    1:1:java.lang.String lines(java.lang.String[]):159:159 -> b
    2:19:java.util.List splitLines(java.lang.String):181:198 -> b
    20:20:java.lang.String zeroPrefix(int,int):205:205 -> b
    1:2:java.lang.String stripLeadingBOM(java.lang.String):287:288 -> c
    1:9:java.lang.String toASCIIString(java.lang.String):53:61 -> d
    1:9:java.lang.String trim(java.lang.String):296:304 -> e
    1:5:java.lang.String withNativeLineSeparator(java.lang.String):163:167 -> f
com.android.tools.r8.utils.StringUtils$1 -> com.android.tools.r8.internal.hX:
    int[] $SwitchMap$com$android$tools$r8$utils$StringUtils$BraceType -> a
    1:1:void <clinit>():32:32 -> <clinit>
com.android.tools.r8.utils.StringUtils$BraceType -> com.android.tools.r8.internal.iX$a:
    com.android.tools.r8.utils.StringUtils$BraceType PARENS -> b
    com.android.tools.r8.utils.StringUtils$BraceType SQUARE -> c
    com.android.tools.r8.utils.StringUtils$BraceType[] $VALUES -> f
    com.android.tools.r8.utils.StringUtils$BraceType TUBORG -> d
    com.android.tools.r8.utils.StringUtils$BraceType NONE -> e
    1:4:void <clinit>():26:29 -> <clinit>
    5:5:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(java.lang.String,int):25:25 -> <init>
    1:1:com.android.tools.r8.utils.StringUtils$BraceType[] values():25:25 -> a
com.android.tools.r8.utils.SupplierUtils -> com.android.tools.r8.internal.BX:
    1:3:java.lang.Object lambda$memoize$1(com.android.tools.r8.utils.ThrowingSupplier):21:23 -> a
    1:1:java.util.function.Supplier memoize(com.android.tools.r8.utils.ThrowingSupplier):18:18 -> b
com.android.tools.r8.utils.SymbolGenerationUtils -> com.android.tools.r8.internal.MX:
    char[] IDENTIFIER_CHARACTERS -> b
    boolean $assertionsDisabled -> e
    java.util.Set PRIMITIVE_TYPE_NAMES -> a
    int NUMBER_OF_CHARACTERS_MINUS_CAPITAL_LETTERS -> d
    int NUMBER_OF_CHARACTERS -> c
    1:8:void <clinit>():13:20 -> <clinit>
    9:10:java.util.HashSet com.android.tools.r8.com.google.common.collect.Sets.newHashSet(java.lang.Object[]):195:196 -> <clinit>
    9:10:void <clinit>():21 -> <clinit>
    11:17:void <clinit>():21:27 -> <clinit>
    1:1:java.lang.String numberToIdentifier(int,com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing):31:31 -> a
    2:35:java.lang.String com.android.tools.r8.utils.SymbolGenerationUtils.numberToIdentifier(int,com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing,char[],boolean):43:76 -> a
    2:35:java.lang.String numberToIdentifier(int,com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing):31 -> a
com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing -> com.android.tools.r8.internal.MX$a:
    com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing DONT_USE_MIXED_CASE -> c
    com.android.tools.r8.utils.SymbolGenerationUtils$MixedCasing USE_MIXED_CASE -> b
    1:2:void <clinit>():16:17 -> <clinit>
    1:1:void <init>(java.lang.String,int):15:15 -> <init>
com.android.tools.r8.utils.ThreadUtils -> com.android.tools.r8.utils.B:
    1:1:java.util.concurrent.Future processAsynchronously(com.android.tools.r8.utils.Action,java.util.concurrent.ExecutorService):26:26 -> a
    2:2:java.util.concurrent.Future processAsynchronously(java.util.concurrent.Callable,java.util.concurrent.ExecutorService):36:36 -> a
    2:2:java.util.concurrent.Future processAsynchronously(com.android.tools.r8.utils.Action,java.util.concurrent.ExecutorService):26 -> a
    3:3:java.lang.Object lambda$processAsynchronously$0(com.android.tools.r8.utils.Action):28:28 -> a
    4:4:java.lang.Object lambda$processItemsWithResults$1(com.android.tools.r8.utils.ThrowingFunction,java.lang.Object,int):42:42 -> a
    5:5:java.util.Collection processItemsWithResults(java.lang.Iterable,com.android.tools.r8.utils.ThrowingFunction,java.util.concurrent.ExecutorService):42:42 -> a
    6:6:java.util.Collection processItemsWithResults(java.lang.Iterable,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.util.concurrent.ExecutorService):50:50 -> a
    7:9:java.util.Collection processItemsWithResults(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.util.concurrent.ExecutorService):64:66 -> a
    10:24:java.util.Collection awaitFuturesWithResults(java.util.Collection):163:177 -> a
    10:24:java.util.Collection processItemsWithResults(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.util.concurrent.ExecutorService):71 -> a
    25:35:java.util.Collection awaitFuturesWithResults(java.util.Collection):170:180 -> a
    25:35:java.util.Collection processItemsWithResults(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.util.concurrent.ExecutorService):71 -> a
    36:37:void lambda$processItemsWithResults$4(com.android.tools.r8.utils.IntBox,java.util.List,java.util.concurrent.ExecutorService,com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.lang.Object):68:69 -> a
    38:38:java.lang.Object lambda$processItemsWithResults$3(com.android.tools.r8.utils.ThrowingReferenceIntFunction,java.lang.Object,int):69:69 -> a
    39:39:void lambda$processItems$5(com.android.tools.r8.utils.ThrowingConsumer,java.lang.Object,int):77:77 -> a
    40:40:void processItems(java.lang.Iterable,com.android.tools.r8.utils.ThrowingConsumer,java.util.concurrent.ExecutorService):77:77 -> a
    41:41:void processItems(java.lang.Iterable,com.android.tools.r8.utils.ThrowingReferenceIntConsumer,java.util.concurrent.ExecutorService):85:85 -> a
    42:42:void processItems(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingConsumer,java.util.concurrent.ExecutorService):91:91 -> a
    43:43:void processItems(com.android.tools.r8.utils.ForEachable,com.android.tools.r8.utils.ThrowingReferenceIntConsumer,java.util.concurrent.ExecutorService):99:99 -> a
    44:44:java.lang.Object lambda$processItems$7(com.android.tools.r8.utils.ThrowingReferenceIntConsumer,java.lang.Object,int):102:102 -> a
    45:45:void processMap(java.util.Map,com.android.tools.r8.utils.ThrowingBiConsumer,java.util.concurrent.ExecutorService):111:111 -> a
    46:46:java.lang.Object lambda$processMap$8(com.android.tools.r8.utils.ThrowingBiConsumer,java.lang.Object,java.lang.Object):114:114 -> a
    47:47:java.lang.Object lambda$processMapWithResults$9(com.android.tools.r8.utils.ThrowingBiFunction,java.util.Map$Entry):124:124 -> a
    48:48:java.util.Collection processMapWithResults(java.util.Map,com.android.tools.r8.utils.ThrowingBiFunction,java.util.concurrent.ExecutorService):124:124 -> a
    49:49:java.util.Collection processMapWithResults(java.util.Map,com.android.tools.r8.utils.ThrowingBiFunction,java.util.concurrent.ExecutorService):123:123 -> a
    50:50:void processMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.ThrowingConsumer,java.util.concurrent.ExecutorService):133:133 -> a
    51:51:void processMethods(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.ThrowingConsumer,java.util.concurrent.ExecutorService):132:132 -> a
    52:52:void lambda$processMethods$10(com.android.tools.r8.utils.ThrowingConsumer,com.android.tools.r8.graph.DexProgramClass):134:134 -> a
    53:66:void awaitFutures(java.lang.Iterable):140:153 -> a
    67:77:void awaitFutures(java.lang.Iterable):146:156 -> a
    78:78:java.util.concurrent.ExecutorService getExecutorService(int):200:200 -> a
    79:79:java.util.concurrent.ExecutorService getExecutorServiceForThreads(int):195:195 -> a
    79:79:java.util.concurrent.ExecutorService getExecutorService(int):201 -> a
    80:80:java.util.concurrent.ExecutorService getExecutorService(com.android.tools.r8.utils.InternalOptions):205:205 -> a
    81:82:int getNumberOfThreads(java.util.concurrent.ExecutorService):209:210 -> a
    1:1:void lambda$processItems$6(com.android.tools.r8.utils.ThrowingConsumer,java.lang.Object,int):91:91 -> b
    2:2:java.util.concurrent.ExecutorService getExecutorServiceForProcessors(int):188:188 -> b
    3:3:java.util.concurrent.ExecutorService getExecutorServiceForThreads(int):195:195 -> b
    3:3:java.util.concurrent.ExecutorService getExecutorServiceForProcessors(int):189 -> b
com.android.tools.r8.utils.ThrowingAction -> com.android.tools.r8.internal.kY:
    void execute() -> a
com.android.tools.r8.utils.ThrowingBiConsumer -> com.android.tools.r8.internal.lY:
com.android.tools.r8.utils.ThrowingBiFunction -> com.android.tools.r8.internal.mY:
com.android.tools.r8.utils.ThrowingCharIterator -> com.android.tools.r8.internal.nY:
    char nextChar() -> a
com.android.tools.r8.utils.ThrowingConsumer -> com.android.tools.r8.internal.oY:
    1:7:void acceptWithRuntimeException(java.lang.Object):20:26 -> a
com.android.tools.r8.utils.ThrowingFunction -> com.android.tools.r8.internal.pY:
com.android.tools.r8.utils.ThrowingIntIterator -> com.android.tools.r8.internal.rY:
    1:1:void <init>():9:9 -> <init>
    boolean hasNext() -> a
    1:2:void forEachRemaining(java.util.function.IntConsumer):12:13 -> a
    3:6:int nextIntComputeIfAbsent(com.android.tools.r8.utils.ThrowingIntSupplier):22:25 -> a
    int nextInt() -> b
com.android.tools.r8.utils.ThrowingIntSupplier -> com.android.tools.r8.internal.sY:
com.android.tools.r8.utils.ThrowingIterator -> com.android.tools.r8.internal.tY:
    1:1:void <init>():11:11 -> <init>
    boolean hasNext() -> a
    1:6:java.util.List take(int):25:30 -> a
    7:7:java.util.List take(int):28:28 -> a
    java.lang.Object next() -> b
com.android.tools.r8.utils.ThrowingReferenceIntConsumer -> com.android.tools.r8.internal.uY:
com.android.tools.r8.utils.ThrowingReferenceIntFunction -> com.android.tools.r8.internal.vY:
    java.lang.Object apply(java.lang.Object,int) -> a
com.android.tools.r8.utils.ThrowingSupplier -> com.android.tools.r8.internal.wY:
com.android.tools.r8.utils.Timing -> com.android.tools.r8.internal.HY:
    java.util.Stack stack -> b
    com.android.tools.r8.utils.Timing EMPTY -> d
    boolean $assertionsDisabled -> e
    com.android.tools.r8.utils.Timing$Node top -> a
    boolean trackMemory -> c
    1:5:void <clinit>():25:29 -> <clinit>
    1:1:void <init>(java.lang.String,boolean,com.android.tools.r8.utils.Timing$1):25:25 -> <init>
    2:2:void <init>(java.lang.String):93:93 -> <init>
    3:7:void <init>(java.lang.String,boolean):96:100 -> <init>
    1:1:com.android.tools.r8.utils.Timing$Node access$1100(com.android.tools.r8.utils.Timing):25:25 -> a
    2:4:com.android.tools.r8.utils.Timing create(java.lang.String,com.android.tools.r8.utils.InternalOptions):78:80 -> a
    5:5:com.android.tools.r8.utils.Timing create(java.lang.String,com.android.tools.r8.utils.InternalOptions):79:79 -> a
    6:6:com.android.tools.r8.utils.Timing create(java.lang.String,boolean):84:84 -> a
    7:7:com.android.tools.r8.utils.Timing$TimingMerger beginMerger(java.lang.String,int):326:326 -> a
    8:8:java.lang.String com.android.tools.r8.utils.Timing.prettyPercentage(long,long):334:334 -> a
    8:8:java.lang.String access$400(long,long):25 -> a
    9:9:long com.android.tools.r8.utils.Timing.percentage(long,long):330:330 -> a
    9:9:java.lang.String com.android.tools.r8.utils.Timing.prettyPercentage(long,long):334 -> a
    9:9:java.lang.String access$400(long,long):25 -> a
    10:10:java.lang.String com.android.tools.r8.utils.Timing.prettyPercentage(long,long):334:334 -> a
    10:10:java.lang.String access$400(long,long):25 -> a
    11:11:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342:342 -> a
    11:11:java.lang.String access$600(long):25 -> a
    12:12:java.lang.String access$600(long):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":31,"2":32,"3":33}}
    31:31:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):346:346 -> a
    31:31:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342 -> a
    31:31:java.lang.String access$600(long):25 -> a
    32:32:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):346:346 -> a
    32:32:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342 -> a
    32:32:java.lang.String access$600(long):25 -> a
    33:33:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):346:346 -> a
    33:33:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342 -> a
    33:33:java.lang.String access$600(long):25 -> a
    13:29:java.lang.String com.android.tools.r8.utils.Timing.prettyNumber(long):346:362 -> a
    13:29:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342 -> a
    13:29:java.lang.String access$600(long):25 -> a
    30:30:java.lang.String access$600(long):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":34,"2":35,"3":36}}
    34:34:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342:342 -> a
    34:34:java.lang.String access$600(long):25 -> a
    35:35:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342:342 -> a
    35:35:java.lang.String access$600(long):25 -> a
    36:36:java.lang.String com.android.tools.r8.utils.Timing.prettySize(long):342:342 -> a
    36:36:java.lang.String access$600(long):25 -> a
    37:40:void begin(java.lang.String):366:369 -> a
    41:41:void com.android.tools.r8.utils.Timing$Node.restart():139:139 -> a
    41:41:void begin(java.lang.String):370 -> a
    42:42:void com.android.tools.r8.utils.Timing$Node.restart():139:139 -> a
    42:42:void begin(java.lang.String):370 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    43:43:void com.android.tools.r8.utils.Timing$Node.restart():139:139 -> a
    43:43:void begin(java.lang.String):370 -> a
    44:44:void com.android.tools.r8.utils.Timing$Node.restart():140:140 -> a
    44:44:void begin(java.lang.String):370 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    45:47:void com.android.tools.r8.utils.Timing$Node.restart():141:143 -> a
    45:47:void begin(java.lang.String):370 -> a
    48:51:void begin(java.lang.String):372:375 -> a
    52:56:java.lang.Object time(java.lang.String,com.android.tools.r8.utils.ThrowingSupplier):388:392 -> a
    57:61:java.lang.Object scope(java.lang.String,com.android.tools.r8.utils.Timing$TimingScope):420:424 -> a
    62:67:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():437:442 -> a
    62:67:java.util.Map access$200():25 -> a
    68:68:com.android.tools.r8.utils.Timing$MemInfo com.android.tools.r8.utils.Timing$MemInfo.fromTotalAndFree(long,long):111:111 -> a
    68:68:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():441 -> a
    68:68:java.util.Map access$200():25 -> a
    69:69:java.util.Map com.android.tools.r8.utils.Timing.computeMemoryInformation():439:439 -> a
    69:69:java.util.Map access$200():25 -> a
    1:1:java.util.Stack access$700(com.android.tools.r8.utils.Timing):25:25 -> b
    2:2:com.android.tools.r8.utils.Timing empty():73:73 -> b
    3:3:long com.android.tools.r8.utils.Timing.percentage(long,long):330:330 -> b
    3:3:long access$500(long,long):25 -> b
    1:1:boolean access$800(com.android.tools.r8.utils.Timing):25:25 -> c
    2:2:void end():397:397 -> c
    3:3:void com.android.tools.r8.utils.Timing$Node.end():147:147 -> c
    3:3:void end():397 -> c
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    4:8:void com.android.tools.r8.utils.Timing$Node.end():147:151 -> c
    4:8:void end():397 -> c
    9:9:void end():398:398 -> c
    1:3:void report():402:404 -> d
    4:4:void com.android.tools.r8.utils.Timing$Node.end():147:147 -> d
    4:4:void report():405 -> d
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    5:9:void com.android.tools.r8.utils.Timing$Node.end():147:151 -> d
    5:9:void report():405 -> d
    10:11:void report():406:407 -> d
com.android.tools.r8.utils.Timing$1 -> com.android.tools.r8.internal.AY:
    1:1:void <init>(java.lang.String,boolean):30:30 -> <init>
    void begin(java.lang.String) -> a
    1:1:com.android.tools.r8.utils.Timing$TimingMerger beginMerger(java.lang.String,int):33:33 -> a
    2:2:java.lang.Object scope(java.lang.String,com.android.tools.r8.utils.Timing$TimingScope):63:63 -> a
    void end() -> c
    void report() -> d
com.android.tools.r8.utils.Timing$1$1 -> com.android.tools.r8.internal.zY:
    1:1:void <init>(com.android.tools.r8.utils.Timing$1,java.lang.String,int,com.android.tools.r8.utils.Timing):33:33 -> <init>
    void add(java.util.Collection) -> a
    void end() -> a
com.android.tools.r8.utils.Timing$MemInfo -> com.android.tools.r8.internal.BY:
    long used -> a
    1:2:void <init>(long):106:107 -> <init>
com.android.tools.r8.utils.Timing$Node -> com.android.tools.r8.internal.CY:
    java.util.Map children -> c
    long start_time -> e
    java.lang.String title -> a
    long duration -> d
    boolean $assertionsDisabled -> h
    boolean trackMemory -> b
    java.util.Map startMemory -> f
    java.util.Map endMemory -> g
    1:1:void <clinit>():119:119 -> <clinit>
    1:1:void <init>(java.lang.String,boolean):129:129 -> <init>
    2:14:void <init>(java.lang.String,boolean):123:135 -> <init>
    1:1:void report(int,com.android.tools.r8.utils.Timing$Node):170:170 -> a
    2:2:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    2:2:void report(int,com.android.tools.r8.utils.Timing$Node):170 -> a
    3:3:void report(int,com.android.tools.r8.utils.Timing$Node):170:170 -> a
    4:4:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    4:4:void report(int,com.android.tools.r8.utils.Timing$Node):171 -> a
    5:5:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    5:5:void report(int,com.android.tools.r8.utils.Timing$Node):171 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void report(int,com.android.tools.r8.utils.Timing$Node):171:171 -> a
    7:8:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
    7:8:void report(int,com.android.tools.r8.utils.Timing$Node):174 -> a
    9:9:void report(int,com.android.tools.r8.utils.Timing$Node):175:175 -> a
    10:10:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):165:165 -> a
    10:10:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    11:11:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":45,"2":46,"3":47}}
    45:45:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    45:45:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    46:46:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    46:46:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    47:47:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    47:47:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    12:12:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    12:12:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166 -> a
    12:12:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    13:13:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    13:13:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    13:13:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    14:14:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    14:14:void report(int,com.android.tools.r8.utils.Timing$Node):175 -> a
    15:24:void report(int,com.android.tools.r8.utils.Timing$Node):175:184 -> a
    25:25:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    25:25:void report(int,com.android.tools.r8.utils.Timing$Node):185 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    26:26:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    26:26:void report(int,com.android.tools.r8.utils.Timing$Node):187 -> a
    27:27:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    27:27:void report(int,com.android.tools.r8.utils.Timing$Node):189 -> a
    28:28:void report(int,com.android.tools.r8.utils.Timing$Node):189:189 -> a
    29:30:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
    29:30:void report(int,com.android.tools.r8.utils.Timing$Node):190 -> a
    31:31:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
    32:32:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":48,"2":49,"3":50}}
    48:48:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
    49:49:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
    50:50:void report(int,com.android.tools.r8.utils.Timing$Node):191:191 -> a
    33:33:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    33:33:void report(int,com.android.tools.r8.utils.Timing$Node):193 -> a
    34:34:void report(int,com.android.tools.r8.utils.Timing$Node):193:193 -> a
    35:35:java.lang.String com.android.tools.r8.utils.Timing.prettyTime(long):338:338 -> a
    35:35:java.lang.String com.android.tools.r8.utils.Timing.access$300(long):25 -> a
    35:35:void report(int,com.android.tools.r8.utils.Timing$Node):195 -> a
    36:36:void report(int,com.android.tools.r8.utils.Timing$Node):195:195 -> a
    37:44:void report(int,com.android.tools.r8.utils.Timing$Node):191:198 -> a
    51:51:void lambda$report$0(int,com.android.tools.r8.utils.Timing$Node,com.android.tools.r8.utils.Timing$Node):198:198 -> a
    52:64:void printMemory(int):210:222 -> a
    65:65:long com.android.tools.r8.utils.Timing$MemInfo.usedDelta(com.android.tools.r8.utils.Timing$MemInfo):115:115 -> a
    65:65:void printMemory(int):224 -> a
    66:66:void printMemory(int):224:224 -> a
    67:67:void printMemory(int):217:217 -> a
    1:1:java.lang.String toString():161:161 -> toString
    2:2:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> toString
    2:2:java.lang.String toString():161 -> toString
    3:3:java.lang.String toString():161:161 -> toString
    4:4:java.lang.String com.android.tools.r8.utils.Timing.prettyTime(long):338:338 -> toString
    4:4:java.lang.String com.android.tools.r8.utils.Timing.access$300(long):25 -> toString
    4:4:java.lang.String toString():161 -> toString
    5:5:java.lang.String toString():161:161 -> toString
com.android.tools.r8.utils.Timing$TimingMerger -> com.android.tools.r8.internal.FY:
    boolean $assertionsDisabled -> e
    com.android.tools.r8.utils.Timing$Node slowest -> d
    int taskCount -> c
    com.android.tools.r8.utils.Timing$Node parent -> a
    com.android.tools.r8.utils.Timing$Node merged -> b
    1:1:void <clinit>():230:230 -> <clinit>
    1:1:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing,com.android.tools.r8.utils.Timing$1):230:230 -> <init>
    2:2:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing):237:237 -> <init>
    3:9:void <init>(java.lang.String,int,com.android.tools.r8.utils.Timing):234:240 -> <init>
    1:1:com.android.tools.r8.utils.Timing$Node access$1000(com.android.tools.r8.utils.Timing$TimingMerger):230:230 -> a
    2:18:void add(java.util.Collection):291:307 -> a
    19:23:void lambda$add$1(com.android.tools.r8.utils.Timing$TimingMerger$Item,boolean,java.util.Deque,java.lang.String,com.android.tools.r8.utils.Timing$Node):309:313 -> a
    24:24:com.android.tools.r8.utils.Timing$Node lambda$add$0(boolean,java.lang.String):310:310 -> a
    25:26:void end():320:321 -> a
    1:1:int access$900(com.android.tools.r8.utils.Timing$TimingMerger):230:230 -> b
com.android.tools.r8.utils.Timing$TimingMerger$1 -> com.android.tools.r8.internal.DY:
    boolean $assertionsDisabled -> k
    int val$numberOfThreads -> i
    com.android.tools.r8.utils.Timing$TimingMerger this$0 -> j
    1:1:void <clinit>():240:240 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.Timing$TimingMerger,java.lang.String,boolean,int):240:240 -> <init>
    1:1:void report(int,com.android.tools.r8.utils.Timing$Node):243:243 -> a
    2:2:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    2:2:void report(int,com.android.tools.r8.utils.Timing$Node):243 -> a
    3:3:void report(int,com.android.tools.r8.utils.Timing$Node):243:243 -> a
    4:5:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
    4:5:void report(int,com.android.tools.r8.utils.Timing$Node):244 -> a
    6:10:void report(int,com.android.tools.r8.utils.Timing$Node):245:249 -> a
    11:11:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    11:11:void report(int,com.android.tools.r8.utils.Timing$Node):249 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    12:12:void report(int,com.android.tools.r8.utils.Timing$Node):250 -> a
    13:14:void report(int,com.android.tools.r8.utils.Timing$Node):250:251 -> a
    15:15:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":569,"2":570,"3":571}}
    569:569:void report(int,com.android.tools.r8.utils.Timing$Node):251:251 -> a
    570:570:void report(int,com.android.tools.r8.utils.Timing$Node):251:251 -> a
    571:571:void report(int,com.android.tools.r8.utils.Timing$Node):251:251 -> a
    266:273:void report(int,com.android.tools.r8.utils.Timing$Node):251:251 -> a
    281:288:void report(int,com.android.tools.r8.utils.Timing$Node):259:266 -> a
    289:290:void com.android.tools.r8.utils.Timing$Node.printPrefix(int):204:205 -> a
    289:290:void report(int,com.android.tools.r8.utils.Timing$Node):267 -> a
    291:291:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
    292:292:void report(int,com.android.tools.r8.utils.Timing$Node):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":588,"2":589,"3":590}}
    588:588:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
    589:589:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
    590:590:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
    560:560:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
    561:561:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):165:165 -> a
    561:561:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    562:562:void report(int,com.android.tools.r8.utils.Timing$Node):268:268 -> a
    563:563:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    563:563:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
    564:564:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    564:564:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166 -> a
    564:564:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
    565:565:long com.android.tools.r8.utils.Timing$Node.duration():156:156 -> a
    565:565:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    565:565:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
    566:566:java.lang.String com.android.tools.r8.utils.Timing$Node.toString(com.android.tools.r8.utils.Timing$Node):166:166 -> a
    566:566:void report(int,com.android.tools.r8.utils.Timing$Node):268 -> a
    567:568:void report(int,com.android.tools.r8.utils.Timing$Node):268:269 -> a
    591:591:void lambda$report$0(int,java.lang.String,com.android.tools.r8.utils.Timing$Node):264:264 -> a
    1:1:void lambda$report$1(int,java.lang.String,com.android.tools.r8.utils.Timing$Node):269:269 -> b
    1:1:java.lang.String toString():0:0 -> toString
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":277,"2":278,"3":279}}
    277:277:java.lang.String toString():275:275 -> toString
    278:278:java.lang.String toString():275:275 -> toString
    279:279:java.lang.String toString():275:275 -> toString
    276:276:java.lang.String toString():275:275 -> toString
com.android.tools.r8.utils.Timing$TimingMerger$Item -> com.android.tools.r8.internal.EY:
    com.android.tools.r8.utils.Timing$Node mergeTarget -> a
    com.android.tools.r8.utils.Timing$Node mergeSource -> b
    1:3:void <init>(com.android.tools.r8.utils.Timing$Node,com.android.tools.r8.utils.Timing$Node):284:286 -> <init>
com.android.tools.r8.utils.Timing$TimingScope -> com.android.tools.r8.internal.GY:
    java.lang.Object apply() -> a
com.android.tools.r8.utils.TraversalContinuation -> com.android.tools.r8.internal.ZY:
    com.android.tools.r8.utils.TraversalContinuation BREAK -> c
    com.android.tools.r8.utils.TraversalContinuation CONTINUE -> b
    1:2:void <clinit>():9:10 -> <clinit>
    1:1:void <init>(java.lang.String,int):8:8 -> <init>
    1:1:boolean shouldBreak():21:21 -> a
    1:1:boolean shouldContinue():25:25 -> b
com.android.tools.r8.utils.TriConsumer -> com.android.tools.r8.internal.eZ:
    void accept(java.lang.Object,java.lang.Object,java.lang.Object) -> a
com.android.tools.r8.utils.TriFunction -> com.android.tools.r8.internal.fZ:
    java.lang.Object apply(java.lang.Object,java.lang.Object,java.lang.Object) -> a
com.android.tools.r8.utils.TriPredicate -> com.android.tools.r8.internal.gZ:
    boolean test(java.lang.Object,java.lang.Object,java.lang.Object) -> a
com.android.tools.r8.utils.TypeReferenceUtils -> com.android.tools.r8.internal.m00:
    boolean $assertionsDisabled -> b
    java.util.Comparator COMPARATOR -> a
    1:3:void <clinit>():19:21 -> <clinit>
    1:1:int lambda$static$0(com.android.tools.r8.references.TypeReference,com.android.tools.r8.references.TypeReference):33:33 -> a
    2:2:java.util.Comparator getTypeReferenceComparator():37:37 -> a
    3:3:com.android.tools.r8.graph.DexProto toDexProto(java.util.List,com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory):42:42 -> a
    4:4:com.android.tools.r8.graph.DexType lambda$toDexProto$1(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.ClassReference):46:46 -> a
    5:5:com.android.tools.r8.graph.DexType com.android.tools.r8.utils.ClassReferenceUtils.toDexType(com.android.tools.r8.references.ClassReference,com.android.tools.r8.graph.DexItemFactory):40:40 -> a
    5:5:com.android.tools.r8.graph.DexType lambda$toDexProto$1(com.android.tools.r8.graph.DexItemFactory,com.android.tools.r8.references.ClassReference):46 -> a
    6:7:com.android.tools.r8.graph.DexProto toDexProto(java.util.List,com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):61:62 -> a
    8:8:com.android.tools.r8.graph.DexProto toDexProto(java.util.List,com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):60:60 -> a
    9:9:com.android.tools.r8.graph.DexType lambda$toDexProto$2(com.android.tools.r8.graph.DexItemFactory,java.util.function.Function,com.android.tools.r8.references.TypeReference):64:64 -> a
    1:23:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):85:107 -> b
    24:24:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):0:0 -> b
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":184,"2":185,"3":186}}
    184:184:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):107:107 -> b
    185:185:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):107:107 -> b
    186:186:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):107:107 -> b
    132:132:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):108:108 -> b
    133:145:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):91:103 -> b
    146:152:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):99:105 -> b
    153:153:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):95:95 -> b
    154:177:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):93:116 -> b
    178:183:com.android.tools.r8.graph.DexType toDexType(com.android.tools.r8.references.TypeReference,com.android.tools.r8.graph.DexItemFactory,java.util.function.Function):114:119 -> b
com.android.tools.r8.utils.VersionProperties -> com.android.tools.r8.internal.E10:
    com.android.tools.r8.utils.VersionProperties INSTANCE -> c
    java.lang.String sha -> a
    java.lang.String releaser -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():14:14 -> <clinit>
    2:7:com.android.tools.r8.utils.VersionProperties com.android.tools.r8.utils.VersionProperties.get():28:33 -> <clinit>
    2:7:void <clinit>():16 -> <clinit>
    8:13:com.android.tools.r8.utils.VersionProperties com.android.tools.r8.utils.VersionProperties.get():29:34 -> <clinit>
    8:13:void <clinit>():16 -> <clinit>
    14:14:void <clinit>():16:16 -> <clinit>
    1:1:void <init>():38:38 -> <init>
    2:10:void <init>(java.io.InputStream):41:49 -> <init>
    1:1:java.lang.String getDescription():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":109,"2":110,"3":111}}
    109:109:java.lang.String getDescription():53:53 -> a
    110:110:java.lang.String getDescription():53:53 -> a
    111:111:java.lang.String getDescription():53:53 -> a
    54:54:java.lang.String getDescription():53:53 -> a
    55:55:java.lang.String getDescription():0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":112,"2":113,"3":114}}
    112:112:java.lang.String getDescription():53:53 -> a
    113:113:java.lang.String getDescription():53:53 -> a
    114:114:java.lang.String getDescription():53:53 -> a
    108:108:java.lang.String getDescription():53:53 -> a
    1:1:java.lang.String getSha():57:57 -> b
    1:1:boolean isEngineering():66:66 -> c
    1:1:java.lang.String toString():62:62 -> toString
com.android.tools.r8.utils.Visibility -> com.android.tools.r8.internal.p20:
    com.android.tools.r8.utils.Visibility PACKAGE_PRIVATE -> e
    com.android.tools.r8.utils.Visibility[] $VALUES -> f
    com.android.tools.r8.utils.Visibility PUBLIC -> b
    com.android.tools.r8.utils.Visibility PROTECTED -> c
    com.android.tools.r8.utils.Visibility PRIVATE -> d
    1:4:void <clinit>():10:13 -> <clinit>
    5:5:void <clinit>():9:9 -> <clinit>
    1:1:void <init>(java.lang.String,int):9:9 -> <init>
    1:1:com.android.tools.r8.utils.Visibility[] values():9:9 -> a
    1:15:java.lang.String toString():33:47 -> toString
    16:16:java.lang.String toString():44:44 -> toString
    17:17:java.lang.String toString():41:41 -> toString
    18:18:java.lang.String toString():38:38 -> toString
    19:19:java.lang.String toString():35:35 -> toString
com.android.tools.r8.utils.Visibility$1 -> com.android.tools.r8.internal.o20:
    int[] $SwitchMap$com$android$tools$r8$utils$Visibility -> a
    1:1:void <clinit>():33:33 -> <clinit>
com.android.tools.r8.utils.WorkList -> com.android.tools.r8.internal.H20:
    java.util.Deque workingList -> a
    java.util.Set seen -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():14:14 -> <clinit>
    1:1:void <init>(com.android.tools.r8.utils.WorkList$EqualityTest):62:62 -> <init>
    2:2:void <init>(java.util.Set):65:65 -> <init>
    3:53:void <init>(java.util.Set):16:66 -> <init>
    1:2:com.android.tools.r8.utils.WorkList newIdentityWorkList(java.lang.Object,java.util.Set):46:47 -> a
    3:3:com.android.tools.r8.utils.WorkList newWorkList(java.util.Set):58:58 -> a
    4:4:void addAllIgnoringSeenSet(java.lang.Iterable):74:74 -> a
    5:5:void addIfNotSeen(java.lang.Iterable):78:78 -> a
    6:7:boolean addIfNotSeen(java.lang.Object):88:89 -> a
    8:8:java.util.Set getMutableSeenSet():143:143 -> a
    1:2:com.android.tools.r8.utils.WorkList newIdentityWorkList(java.lang.Iterable):52:53 -> b
    3:3:void addIgnoringSeenSet(java.lang.Object):70:70 -> b
    4:4:void markAsSeen(java.lang.Iterable):124:124 -> b
    5:5:java.util.Set getSeenSet():139:139 -> b
    1:2:com.android.tools.r8.utils.WorkList newEqualityWorkList(java.lang.Iterable):30:31 -> c
    3:3:boolean hasNext():108:108 -> c
    4:4:boolean isSeen(java.lang.Object):116:116 -> c
    1:1:com.android.tools.r8.utils.WorkList newEqualityWorkList():20:20 -> d
    2:2:void markAsSeen(java.lang.Object):120:120 -> d
    1:2:com.android.tools.r8.utils.WorkList newEqualityWorkList(java.lang.Object):24:25 -> e
    3:3:com.android.tools.r8.utils.WorkList newIdentityWorkList():36:36 -> e
    1:2:com.android.tools.r8.utils.WorkList newIdentityWorkList(java.lang.Object):40:41 -> f
    3:4:java.lang.Object next():128:129 -> f
    1:2:java.lang.Object removeSeen():133:134 -> g
com.android.tools.r8.utils.ZipUtils -> com.android.tools.r8.utils.C:
    boolean $assertionsDisabled -> a
    int $r8$clinit -> b
    1:1:void <clinit>():44:44 -> <clinit>
    boolean lambda$unzip$1(java.util.zip.ZipEntry) -> a
    1:12:void writeResourcesToZip(java.util.List,java.util.Set,com.android.tools.r8.com.google.common.io.Closer,java.util.zip.ZipOutputStream):52:63 -> a
    13:13:void iter(java.lang.String,com.android.tools.r8.utils.ZipUtils$OnEntryHandler):72:72 -> a
    14:20:void iter(java.nio.file.Path,com.android.tools.r8.utils.ZipUtils$OnEntryHandler):76:82 -> a
    21:25:void iter(java.nio.file.Path,com.android.tools.r8.utils.ZipUtils$OnEntryHandler):80:84 -> a
    26:34:void iter(java.nio.file.Path,com.android.tools.r8.utils.ZipUtils$OnEntryHandler):76:84 -> a
    35:35:void $closeResource(java.lang.Throwable,java.lang.AutoCloseable):84:84 -> a
    36:39:byte[] readSingleEntry(java.nio.file.Path,java.lang.String):88:88 -> a
    41:41:byte[] readSingleEntry(java.nio.file.Path,java.lang.String):90:90 -> a
    42:42:boolean lambda$zip$0(java.nio.file.Path):96:96 -> a
    43:48:void zip(java.util.zip.ZipOutputStream,java.nio.file.Path,java.util.Collection):111:116 -> a
    49:49:void zip(java.util.zip.ZipOutputStream,java.nio.file.Path,java.util.Collection):115:115 -> a
    50:58:void zip(java.util.zip.ZipOutputStream,java.nio.file.Path,java.util.Collection):114:122 -> a
    59:61:java.util.List unzip(java.nio.file.Path,java.nio.file.Path):131:133 -> a
    62:62:java.util.List unzip(java.lang.String,java.io.File):137:137 -> a
    63:65:java.util.List unzip(java.lang.String,java.io.File,java.util.function.Predicate):142:144 -> a
    66:76:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):145:155 -> a
    77:77:long com.android.tools.r8.com.google.common.io.ByteStreams.copy(java.io.InputStream,java.io.OutputStream):104:104 -> a
    77:77:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):155 -> a
    78:78:java.lang.Object com.android.tools.r8.com.google.common.base.Preconditions.checkNotNull(java.lang.Object):880:880 -> a
    78:78:long com.android.tools.r8.com.google.common.io.ByteStreams.copy(java.io.InputStream,java.io.OutputStream):104 -> a
    78:78:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):155 -> a
    79:79:byte[] com.android.tools.r8.com.google.common.io.ByteStreams.createBuffer():59:59 -> a
    79:79:long com.android.tools.r8.com.google.common.io.ByteStreams.copy(java.io.InputStream,java.io.OutputStream):106 -> a
    79:79:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):155 -> a
    80:80:long com.android.tools.r8.com.google.common.io.ByteStreams.copy(java.io.InputStream,java.io.OutputStream):109:109 -> a
    80:80:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):155 -> a
    81:82:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):156:157 -> a
    83:83:long com.android.tools.r8.com.google.common.io.ByteStreams.copy(java.io.InputStream,java.io.OutputStream):113:113 -> a
    83:83:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):155 -> a
    84:86:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):154:156 -> a
    87:87:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    88:88:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":91,"2":92,"3":93,"4":94,"5":95,"6":96}}
    91:91:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    92:92:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    93:93:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    94:94:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    95:95:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    96:96:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    89:89:void com.android.tools.r8.errors.CompilationError.<init>(java.lang.String):22:22 -> a
    89:89:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149 -> a
    90:90:void lambda$unzip$3(java.util.function.Predicate,java.nio.file.Path,java.util.List,java.util.zip.ZipEntry,java.io.InputStream):149:149 -> a
    97:97:void writeToZipStream(java.util.zip.ZipOutputStream,java.lang.String,byte[],int):166:166 -> a
    98:110:void writeToZipStream(java.util.zip.ZipOutputStream,java.lang.String,com.android.tools.r8.ByteDataView,int):172:184 -> a
    98:110:void writeToZipStream(java.util.zip.ZipOutputStream,java.lang.String,byte[],int):166 -> a
    111:118:boolean isClassFile(java.lang.String):193:200 -> a
    119:119:java.lang.String zipEntryNameForClass(java.lang.Class):253:253 -> a
    boolean lambda$unzip$2(java.util.zip.ZipEntry) -> b
    1:4:void zip(java.nio.file.Path,java.nio.file.Path):94:97 -> b
    5:9:void zip(java.nio.file.Path,java.nio.file.Path,java.util.Collection):103:103 -> b
    5:9:void zip(java.nio.file.Path,java.nio.file.Path):98 -> b
    12:12:void zip(java.nio.file.Path,java.nio.file.Path,java.util.Collection):106:106 -> b
    12:12:void zip(java.nio.file.Path,java.nio.file.Path):98 -> b
com.android.tools.r8.utils.ZipUtils$OnEntryHandler -> com.android.tools.r8.utils.C$a:
    void onEntry(java.util.zip.ZipEntry,java.io.InputStream) -> a
com.android.tools.r8.utils.ZipUtils$ZipBuilder -> com.android.tools.r8.utils.C$b:
    java.util.zip.ZipOutputStream stream -> b
    java.nio.file.Path zipFile -> a
    1:3:void <init>(java.nio.file.Path):207:209 -> <init>
    1:1:com.android.tools.r8.utils.ZipUtils$ZipBuilder builder(java.nio.file.Path):213:213 -> a
    2:7:com.android.tools.r8.utils.ZipUtils$ZipBuilder addFilesRelative(java.nio.file.Path,java.util.Collection):218:223 -> a
    8:8:com.android.tools.r8.utils.ZipUtils$ZipBuilder addFilesRelative(java.nio.file.Path,java.util.Collection):222:222 -> a
    9:17:com.android.tools.r8.utils.ZipUtils$ZipBuilder addFilesRelative(java.nio.file.Path,java.util.Collection):221:229 -> a
    18:18:com.android.tools.r8.utils.ZipUtils$ZipBuilder addFilesRelative(java.nio.file.Path,java.nio.file.Path[]):235:235 -> a
    19:22:com.android.tools.r8.utils.ZipUtils$ZipBuilder addBytes(java.lang.String,byte[]):239:242 -> a
    23:24:java.nio.file.Path build():247:248 -> a
com.android.tools.r8.utils.classhierarchy.MethodOverridesCollector -> com.android.tools.r8.internal.ME:
    1:31:com.android.tools.r8.utils.collections.ProgramMethodSet findAllMethodsAndOverridesThatMatches(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,java.util.Collection,java.util.function.Predicate):36:66 -> a
    32:36:void lambda$findAllMethodsAndOverridesThatMatches$0(java.util.function.Predicate,com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):42:46 -> a
com.android.tools.r8.utils.classhierarchy.MethodOverridesCollector$InterfaceMethodToClassSiblingPropagator -> com.android.tools.r8.internal.KE:
    com.android.tools.r8.utils.collections.ProgramMethodSet classRootMethods -> f
    java.util.Map interfaceMethodsOfInterest -> g
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.utils.collections.ProgramMethodSet):81:81 -> <init>
    2:15:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.utils.collections.ProgramMethodSet):73:86 -> <init>
    1:3:void lambda$visit$0(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexProgramClass):100:100 -> a
    4:6:void forEachSubClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):143:145 -> a
    1:1:boolean isRoot(com.android.tools.r8.graph.DexProgramClass):138:138 -> c
    1:1:void prune(com.android.tools.r8.graph.DexProgramClass):133:133 -> i
    1:3:void visit(com.android.tools.r8.graph.DexProgramClass):92:94 -> k
    4:8:void visit(com.android.tools.r8.graph.DexProgramClass):93:97 -> k
    9:9:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> k
    9:9:void visit(com.android.tools.r8.graph.DexProgramClass):97 -> k
    10:10:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> k
    10:10:void visit(com.android.tools.r8.graph.DexProgramClass):97 -> k
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    11:20:void visit(com.android.tools.r8.graph.DexProgramClass):105:114 -> k
    21:21:com.android.tools.r8.graph.MethodResolutionResult com.android.tools.r8.graph.AppInfoWithClassHierarchy.resolveMethodOnClass(com.android.tools.r8.graph.DexMethodSignature,com.android.tools.r8.graph.DexClass):784:784 -> k
    21:21:void visit(com.android.tools.r8.graph.DexProgramClass):114 -> k
    22:33:void visit(com.android.tools.r8.graph.DexProgramClass):115:126 -> k
com.android.tools.r8.utils.classhierarchy.MethodOverridesCollector$TopDownClassHierarchyPropagator -> com.android.tools.r8.internal.LE:
    com.android.tools.r8.utils.collections.ProgramMethodSet result -> g
    java.util.Map methodsOfInterest -> f
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.utils.collections.ProgramMethodSet):164:164 -> <init>
    2:14:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.graph.ImmediateProgramSubtypingInfo,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.utils.collections.ProgramMethodSet):154:166 -> <init>
    1:3:void addRootMethod(com.android.tools.r8.graph.ProgramMethod):170:172 -> a
    4:4:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexClassAndMethod):66:66 -> a
    4:4:void addRootMethod(com.android.tools.r8.graph.ProgramMethod):172 -> a
    5:5:com.android.tools.r8.utils.collections.ProgramMethodSet getResult():176:176 -> a
    6:6:void lambda$visit$0(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.DexProgramClass):186:186 -> a
    7:8:void lambda$visit$1(com.android.tools.r8.utils.collections.DexMethodSignatureSet,com.android.tools.r8.graph.ProgramMethod):192:193 -> a
    1:1:void prune(com.android.tools.r8.graph.DexProgramClass):200:200 -> i
    1:5:void visit(com.android.tools.r8.graph.DexProgramClass):181:185 -> k
    6:6:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> k
    6:6:void visit(com.android.tools.r8.graph.DexProgramClass):185 -> k
    7:7:void com.android.tools.r8.graph.ImmediateProgramSubtypingInfo.forEachImmediateProgramSuperClass(com.android.tools.r8.graph.DexProgramClass,java.util.function.Consumer):86:86 -> k
    7:7:void visit(com.android.tools.r8.graph.DexProgramClass):185 -> k
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    8:8:void visit(com.android.tools.r8.graph.DexProgramClass):190:190 -> k
com.android.tools.r8.utils.collections.BidirectionalManyToManyMap -> com.android.tools.r8.internal.P4:
    java.util.Set getKeys(java.lang.Object) -> c
com.android.tools.r8.utils.collections.BidirectionalManyToManyRepresentativeMap -> com.android.tools.r8.internal.Q4:
    java.lang.Object getRepresentativeValue(java.lang.Object) -> a
    java.lang.Object getRepresentativeKey(java.lang.Object) -> b
    1:1:java.lang.Object getRepresentativeValueOrDefault(java.lang.Object,java.lang.Object):29:29 -> b
    1:1:java.lang.Object getRepresentativeKeyOrDefault(java.lang.Object,java.lang.Object):22:22 -> c
com.android.tools.r8.utils.collections.BidirectionalManyToOneHashMap -> com.android.tools.r8.internal.R4:
    java.util.Map backing -> b
    java.util.Map inverse -> c
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():16:16 -> <clinit>
    1:3:void <init>(java.util.Map,java.util.Map):29:31 -> <init>
    1:2:void clear():36:37 -> a
    3:3:void forEachManyToOneMapping(java.util.function.BiConsumer):62:62 -> a
    4:4:void lambda$forEachManyToOneMapping$0(java.util.function.BiConsumer,java.lang.Object,java.util.Set):62:62 -> a
    5:5:void removeAll(java.lang.Iterable):121:121 -> a
    6:12:java.util.Set removeValue(java.lang.Object):126:132 -> a
    13:13:void lambda$put$2(java.lang.Object,java.lang.Object):147:147 -> a
    14:14:void put(java.lang.Iterable,java.lang.Object):147:147 -> a
    1:1:com.android.tools.r8.utils.collections.BidirectionalManyToOneHashMap newIdentityHashMap():22:22 -> b
    1:1:com.android.tools.r8.utils.collections.BidirectionalManyToOneHashMap newLinkedHashMap():26:26 -> c
    2:2:java.util.Set getKeys(java.lang.Object):92:92 -> c
    1:1:boolean containsKey(java.lang.Object):42:42 -> containsKey
    1:1:boolean containsValue(java.lang.Object):47:47 -> containsValue
    1:1:java.util.Set lambda$put$1(java.lang.Object):141:141 -> d
    1:6:java.lang.Object remove(java.lang.Object):108:113 -> e
    1:1:java.util.Map getForwardMap():82:82 -> f
    1:1:void forEach(java.util.function.BiConsumer):52:52 -> forEach
    1:1:java.lang.Object get(java.lang.Object):72:72 -> get
    1:1:java.lang.Object getOrDefault(java.lang.Object,java.lang.Object):77:77 -> getOrDefault
    1:1:boolean isEmpty():103:103 -> isEmpty
    1:1:java.util.Set keySet():87:87 -> keySet
    1:3:java.lang.Object put(java.lang.Object,java.lang.Object):139:141 -> put
    1:1:java.util.Set values():152:152 -> values
com.android.tools.r8.utils.collections.BidirectionalManyToOneMap -> com.android.tools.r8.internal.S4:
    void forEachManyToOneMapping(java.util.function.BiConsumer) -> a
    java.util.Map getForwardMap() -> f
com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap -> com.android.tools.r8.internal.T4:
    boolean $assertionsDisabled -> f
    java.util.Map representatives -> e
    1:1:void <clinit>():13:13 -> <clinit>
    1:2:void <init>(java.util.Map,java.util.Map,java.util.Map):26:27 -> <init>
    1:2:void clear():32:33 -> a
    3:3:void forEachManyToOneMapping(com.android.tools.r8.utils.TriConsumer):38:38 -> a
    4:4:void lambda$forEachManyToOneMapping$0(com.android.tools.r8.utils.TriConsumer,java.util.Set,java.lang.Object):39:39 -> a
    5:5:java.lang.Object getRepresentativeValue(java.lang.Object):72:72 -> a
    6:6:void putAll(com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap):85:85 -> a
    7:8:void lambda$putAll$1(java.util.Set,java.lang.Object,java.lang.Object):87:88 -> a
    9:9:void com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.setRepresentative(java.lang.Object,java.lang.Object):49:49 -> a
    9:9:void lambda$putAll$1(java.util.Set,java.lang.Object,java.lang.Object):89 -> a
    10:10:java.util.Set removeValue(java.lang.Object):107:107 -> a
    11:11:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.removeRepresentativeFor(java.lang.Object):44:44 -> a
    11:11:java.util.Set removeValue(java.lang.Object):108 -> a
    1:6:java.lang.Object getRepresentativeKey(java.lang.Object):59:64 -> b
    7:7:boolean com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.hasExplicitRepresentativeKey(java.lang.Object):54:54 -> b
    7:7:java.lang.Object getRepresentativeKey(java.lang.Object):64 -> b
    8:9:java.lang.Object getRepresentativeKey(java.lang.Object):64:65 -> b
    1:1:com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap newIdentityHashMap():20:20 -> d
    2:2:void setRepresentative(java.lang.Object,java.lang.Object):49:49 -> d
    1:1:java.lang.Object remove(java.lang.Object):96:96 -> e
    2:2:boolean com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.hasExplicitRepresentativeKey(java.lang.Object):54:54 -> e
    2:2:java.lang.Object remove(java.lang.Object):97 -> e
    3:3:java.lang.Object remove(java.lang.Object):98:98 -> e
    4:4:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeHashMap.removeRepresentativeFor(java.lang.Object):44:44 -> e
    4:4:java.lang.Object remove(java.lang.Object):99 -> e
    1:1:boolean hasExplicitRepresentativeKey(java.lang.Object):54:54 -> f
com.android.tools.r8.utils.collections.BidirectionalManyToOneRepresentativeMap -> com.android.tools.r8.internal.U4:
com.android.tools.r8.utils.collections.BidirectionalOneToManyHashMap -> com.android.tools.r8.internal.V4:
    java.util.Map backing -> b
    java.util.Map inverse -> c
    1:1:void <init>():21:21 -> <init>
    2:4:void <init>(java.util.Map,java.util.Map):24:26 -> <init>
    1:1:void lambda$forEach$0(java.util.function.BiConsumer,java.lang.Object,java.lang.Object):47:47 -> a
    2:2:void lambda$forEach$1(java.util.function.BiConsumer,java.lang.Object,java.util.Set):47:47 -> a
    3:3:java.lang.Object getKeyOrDefault(java.lang.Object,java.lang.Object):82:82 -> a
    4:6:void put(java.lang.Object,java.lang.Object):138:140 -> a
    1:1:boolean containsKey(java.lang.Object):37:37 -> containsKey
    1:1:boolean containsValue(java.lang.Object):42:42 -> containsValue
    1:1:java.lang.Object getKey(java.lang.Object):77:77 -> d
    1:1:java.util.Set getValues(java.lang.Object):93:93 -> e
    2:2:java.util.Set com.android.tools.r8.utils.collections.BidirectionalOneToManyHashMap.getOrDefault(java.lang.Object,java.util.Set):72:72 -> e
    2:2:java.util.Set getValues(java.lang.Object):93 -> e
    1:1:java.util.Set lambda$put$2(java.lang.Object):139:139 -> f
    1:1:void forEach(java.util.function.BiConsumer):47:47 -> forEach
    1:6:java.lang.Object removeValue(java.lang.Object):125:130 -> g
com.android.tools.r8.utils.collections.BidirectionalOneToManyRepresentativeHashMap -> com.android.tools.r8.internal.W4:
    java.util.Map representatives -> d
    boolean $assertionsDisabled -> e
    1:1:void <clinit>():12:12 -> <clinit>
    1:5:void <init>():12:16 -> <init>
    1:3:java.lang.Object getRepresentativeValue(java.lang.Object):37:39 -> a
    1:1:java.lang.Object getRepresentativeKey(java.lang.Object):32:32 -> b
    1:3:void setRepresentative(java.lang.Object,java.lang.Object):73:75 -> d
    1:2:java.lang.Object removeValue(java.lang.Object):64:65 -> g
    3:3:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalOneToManyRepresentativeHashMap.removeRepresentativeFor(java.lang.Object):59:59 -> g
    3:3:java.lang.Object removeValue(java.lang.Object):66 -> g
com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap -> com.android.tools.r8.internal.X4:
    com.android.tools.r8.com.google.common.collect.BiMap backing -> b
    1:1:void <init>():22:22 -> <init>
    2:3:void <init>(com.android.tools.r8.com.google.common.collect.BiMap):25:26 -> <init>
    1:1:void forEachManyToOneMapping(java.util.function.BiConsumer):61:61 -> a
    2:2:void lambda$forEachManyToOneMapping$0(java.util.function.BiConsumer,java.lang.Object,java.lang.Object):61:61 -> a
    3:3:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.get(java.lang.Object):76:76 -> a
    3:3:java.lang.Object getRepresentativeValue(java.lang.Object):113 -> a
    4:4:void putAll(com.android.tools.r8.utils.collections.BidirectionalManyToManyMap):149:149 -> a
    5:5:void com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.forEach(java.util.function.BiConsumer):51:51 -> a
    5:5:void putAll(com.android.tools.r8.utils.collections.BidirectionalManyToManyMap):149 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:void com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.forEach(java.util.function.BiConsumer):51:51 -> a
    6:6:void putAll(com.android.tools.r8.utils.collections.BidirectionalManyToManyMap):149 -> a
    1:1:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.getKey(java.lang.Object):87:87 -> b
    1:1:java.lang.Object getRepresentativeKey(java.lang.Object):108 -> b
    1:1:boolean com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.containsValue(java.lang.Object):41:41 -> c
    1:1:java.util.Set getKeys(java.lang.Object):118 -> c
    2:4:java.util.Set getKeys(java.lang.Object):119:121 -> c
    1:1:void clear():31:31 -> clear
    1:1:boolean containsKey(java.lang.Object):36:36 -> containsKey
    1:1:boolean containsValue(java.lang.Object):41:41 -> containsValue
    1:1:java.util.Set entrySet():46:46 -> entrySet
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.getForwardMap():92:92 -> f
    1:1:java.util.Map getForwardMap():16 -> f
    1:1:void forEach(java.util.function.BiConsumer):51:51 -> forEach
    1:1:java.lang.Object get(java.lang.Object):76:76 -> get
    1:1:java.lang.Object com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.get(java.lang.Object):76:76 -> getOrDefault
    1:1:java.lang.Object getOrDefault(java.lang.Object,java.lang.Object):81 -> getOrDefault
    1:1:boolean isEmpty():134:134 -> isEmpty
    1:1:java.util.Set keySet():139:139 -> keySet
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):144:144 -> put
    1:1:void putAll(java.util.Map):154:154 -> putAll
    1:1:java.lang.Object remove(java.lang.Object):159:159 -> remove
    1:1:int size():164:164 -> size
    1:1:java.util.Set com.android.tools.r8.utils.collections.BidirectionalOneToOneHashMap.values():169:169 -> values
    1:1:java.util.Collection values():16 -> values
    2:2:java.util.Set values():169:169 -> values
com.android.tools.r8.utils.collections.BidirectionalOneToOneMap -> com.android.tools.r8.internal.Y4:
com.android.tools.r8.utils.collections.DexClassAndMethodSet -> com.android.tools.r8.internal.wg:
    com.android.tools.r8.utils.collections.DexClassAndMethodSet EMPTY -> e
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(java.util.function.Supplier):22:22 -> <init>
    1:1:com.android.tools.r8.utils.collections.DexClassAndMethodSet create():32:32 -> c
    1:1:com.android.tools.r8.utils.collections.DexClassAndMethodSet empty():60:60 -> d
com.android.tools.r8.utils.collections.DexClassAndMethodSetBase -> com.android.tools.r8.internal.xg:
    java.util.function.Supplier backingFactory -> c
    java.util.Map backing -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():21:21 -> <clinit>
    1:1:void <init>(java.util.function.Supplier):27:27 -> <init>
    2:4:void <init>(java.util.function.Supplier,java.util.Map):31:33 -> <init>
    1:2:boolean add(com.android.tools.r8.graph.DexClassAndMethod):37:38 -> a
    3:3:boolean com.android.tools.r8.graph.DexClassAndMethod.isStructurallyEqualTo(com.android.tools.r8.graph.DexClassAndMethod):41:41 -> a
    3:3:boolean add(com.android.tools.r8.graph.DexClassAndMethod):38 -> a
    4:4:boolean add(com.android.tools.r8.graph.DexClassAndMethod):38:38 -> a
    5:5:void addAll(java.lang.Iterable):43:43 -> a
    6:6:boolean contains(com.android.tools.r8.graph.DexEncodedMethod):59:59 -> a
    7:7:boolean removeIf(java.util.function.Predicate):89:89 -> a
    8:8:int com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.size():93:93 -> a
    8:8:java.util.Set toDefinitionSet(java.util.function.IntFunction):110 -> a
    9:10:java.util.Set toDefinitionSet(java.util.function.IntFunction):110:111 -> a
    11:11:java.util.Collection toCollection():101:101 -> a
    12:12:void lambda$toDefinitionSet$0(java.util.Set,com.android.tools.r8.graph.DexClassAndMethod):111:111 -> a
    1:1:boolean contains(com.android.tools.r8.graph.DexClassAndMethod):63:63 -> b
    2:2:boolean remove(com.android.tools.r8.graph.DexEncodedMethod):85:85 -> b
    3:3:boolean com.android.tools.r8.utils.collections.DexClassAndMethodSetBase.remove(com.android.tools.r8.graph.DexMethod):80:80 -> b
    3:3:boolean remove(com.android.tools.r8.graph.DexEncodedMethod):85 -> b
    4:5:java.util.Set toDefinitionSet():105:106 -> b
    1:1:void clear():67:67 -> clear
    1:1:boolean isEmpty():71:71 -> isEmpty
    1:1:java.util.Iterator iterator():76:76 -> iterator
    1:1:int size():93:93 -> size
    1:1:java.util.stream.Stream stream():97:97 -> stream
com.android.tools.r8.utils.collections.DexMethodSignatureSet -> com.android.tools.r8.internal.eh:
    com.android.tools.r8.utils.collections.DexMethodSignatureSet EMPTY -> c
    java.util.Set backing -> b
    1:2:void <clinit>():23:24 -> <clinit>
    1:2:void <init>(java.util.Set):28:29 -> <init>
    1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet create():33:33 -> a
    2:2:boolean add(com.android.tools.r8.graph.DexMethodSignature):54:54 -> a
    3:3:boolean add(com.android.tools.r8.graph.DexMethod):58:58 -> a
    4:4:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexMethodSignature):54:54 -> a
    4:4:boolean add(com.android.tools.r8.graph.DexMethod):58 -> a
    5:5:boolean add(com.android.tools.r8.graph.DexEncodedMethod):62:62 -> a
    6:6:boolean add(com.android.tools.r8.graph.DexClassAndMethod):66:66 -> a
    7:7:void addAllMethods(java.lang.Iterable):75:75 -> a
    8:8:void addAll(com.android.tools.r8.utils.collections.DexMethodSignatureSet):79:79 -> a
    9:9:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.addAll(java.util.Collection):71:71 -> a
    9:9:void addAll(com.android.tools.r8.utils.collections.DexMethodSignatureSet):79 -> a
    10:11:void addAll(java.lang.Iterable,java.util.function.Function):83:84 -> a
    1:1:boolean add(java.lang.Object):21:21 -> add
    2:2:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.add(com.android.tools.r8.graph.DexMethodSignature):54:54 -> add
    2:2:boolean add(java.lang.Object):21 -> add
    1:1:boolean addAll(java.util.Collection):71:71 -> addAll
    1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet createConcurrent():41:41 -> b
    2:2:boolean contains(com.android.tools.r8.graph.DexMethodSignature):99:99 -> b
    3:3:boolean contains(com.android.tools.r8.graph.DexClassAndMethod):111:111 -> b
    4:4:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.contains(com.android.tools.r8.graph.DexMethodSignature):99:99 -> b
    4:4:boolean contains(com.android.tools.r8.graph.DexClassAndMethod):111 -> b
    5:5:java.util.Iterator com.android.tools.r8.utils.collections.DexMethodSignatureSet.iterator():135:135 -> b
    5:5:boolean containsAnyOf(java.lang.Iterable):120 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    6:6:java.util.Iterator com.android.tools.r8.utils.collections.DexMethodSignatureSet.iterator():135:135 -> b
    6:6:boolean containsAnyOf(java.lang.Iterable):120 -> b
    7:7:boolean containsAnyOf(java.lang.Iterable):120:120 -> b
    8:8:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.contains(com.android.tools.r8.graph.DexMethodSignature):99:99 -> b
    8:8:boolean containsAnyOf(java.lang.Iterable):121 -> b
    9:9:boolean remove(com.android.tools.r8.graph.DexEncodedMethod):148:148 -> b
    10:10:boolean com.android.tools.r8.utils.collections.DexMethodSignatureSet.remove(com.android.tools.r8.graph.DexMethodSignature):144:144 -> b
    10:10:boolean remove(com.android.tools.r8.graph.DexEncodedMethod):148 -> b
    11:11:void removeAllMethods(java.lang.Iterable):157:157 -> b
    1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet create(com.android.tools.r8.utils.collections.DexMethodSignatureSet):37:37 -> c
    2:2:com.android.tools.r8.utils.collections.DexMethodSignatureSet createLinked():45:45 -> c
    1:1:void clear():90:90 -> clear
    1:1:boolean contains(java.lang.Object):95:95 -> contains
    1:1:boolean containsAll(java.util.Collection):116:116 -> containsAll
    1:1:com.android.tools.r8.utils.collections.DexMethodSignatureSet empty():49:49 -> d
    1:1:boolean isEmpty():130:130 -> isEmpty
    1:1:java.util.Iterator iterator():135:135 -> iterator
    1:1:boolean remove(java.lang.Object):140:140 -> remove
    1:1:boolean removeAll(java.util.Collection):153:153 -> removeAll
    1:1:boolean retainAll(java.util.Collection):162:162 -> retainAll
    1:1:int size():167:167 -> size
    1:1:java.lang.Object[] toArray():172:172 -> toArray
    2:2:java.lang.Object[] toArray(java.lang.Object[]):177:177 -> toArray
com.android.tools.r8.utils.collections.EmptyBidirectionalOneToOneMap -> com.android.tools.r8.internal.Rh:
    1:1:void <init>():15:15 -> <init>
    void forEachManyToOneMapping(java.util.function.BiConsumer) -> a
    java.lang.Object getRepresentativeValue(java.lang.Object) -> a
    java.lang.Object getRepresentativeKey(java.lang.Object) -> b
    1:1:java.util.Set getKeys(java.lang.Object):92:92 -> c
    1:1:com.android.tools.r8.com.google.common.collect.BiMap com.android.tools.r8.utils.collections.EmptyBidirectionalOneToOneMap.getForwardMap():72:72 -> f
    1:1:java.util.Map getForwardMap():15 -> f
    1:1:java.util.Set keySet():107:107 -> keySet
    1:1:java.util.Set values():112:112 -> values
com.android.tools.r8.utils.collections.IdentityHashSetFromMap -> com.android.tools.r8.internal.Rn:
    java.util.Map backing -> b
    java.util.function.Function valueToKeyMapping -> c
    1:1:void <init>(java.util.function.Function):21:21 -> <init>
    2:6:void <init>(java.util.function.Function):18:22 -> <init>
    1:1:com.android.tools.r8.graph.DexReference lambda$newProgramDerivedContextSet$0(com.android.tools.r8.graph.ProgramDerivedContext):26:26 -> a
    2:2:java.util.Set newProgramDerivedContextSet():26:26 -> a
    1:1:boolean add(java.lang.Object):62:62 -> add
    1:2:boolean addAll(java.util.Collection):79:80 -> addAll
    1:1:void clear():113:113 -> clear
    1:1:boolean contains(java.lang.Object):42:42 -> contains
    1:1:boolean containsAll(java.util.Collection):73:73 -> containsAll
    1:1:boolean isEmpty():36:36 -> isEmpty
    1:1:java.util.Iterator iterator():47:47 -> iterator
    1:1:boolean remove(java.lang.Object):68:68 -> remove
    1:2:boolean removeAll(java.util.Collection):105:106 -> removeAll
    1:9:boolean retainAll(java.util.Collection):88:96 -> retainAll
    1:1:int size():31:31 -> size
    1:1:java.lang.Object[] toArray():52:52 -> toArray
    2:2:java.lang.Object[] toArray(java.lang.Object[]):57:57 -> toArray
com.android.tools.r8.utils.collections.ImmutableDeque -> com.android.tools.r8.internal.bo:
    boolean isClosed -> b
    1:1:void <init>(java.util.Collection):20:20 -> <init>
    2:2:void <init>(java.util.Collection):17:17 -> <init>
    1:1:java.util.Deque of(java.lang.Object[]):111:111 -> a
    2:2:void com.android.tools.r8.utils.collections.ImmutableDeque.close():24:24 -> a
    2:2:java.util.Deque of(java.lang.Object[]):112 -> a
    1:4:boolean add(java.lang.Object):93:96 -> add
    5:5:boolean add(java.lang.Object):94:94 -> add
    1:4:boolean addAll(java.util.Collection):102:105 -> addAll
    5:5:boolean addAll(java.util.Collection):103:103 -> addAll
    1:1:void addFirst(java.lang.Object):39:39 -> addFirst
    1:4:void addLast(java.lang.Object):44:47 -> addLast
    5:5:void addLast(java.lang.Object):45:45 -> addLast
    1:1:java.lang.Object pop():34:34 -> pop
    1:1:void push(java.lang.Object):29:29 -> push
    1:1:boolean remove(java.lang.Object):58:58 -> remove
    2:2:java.lang.Object remove():88:88 -> remove
    1:1:boolean removeAll(java.util.Collection):68:68 -> removeAll
    1:1:java.lang.Object removeFirst():63:63 -> removeFirst
    1:1:boolean removeFirstOccurrence(java.lang.Object):53:53 -> removeFirstOccurrence
    1:1:boolean removeIf(java.util.function.Predicate):73:73 -> removeIf
    1:1:java.lang.Object removeLast():83:83 -> removeLast
    1:1:boolean removeLastOccurrence(java.lang.Object):78:78 -> removeLastOccurrence
com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap -> com.android.tools.r8.internal.go:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap sortedMap -> c
    1:1:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap,com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$1):17:17 -> <init>
    2:3:void <init>(com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap):21:22 -> <init>
    1:1:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap of(int[],java.lang.Object[]):30:30 -> a
    2:2:void com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceAVLTreeMap.<init>(int[],java.lang.Object[]):202:202 -> a
    2:2:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap of(int[],java.lang.Object[]):30 -> a
    3:3:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap of(int[],java.lang.Object[]):30:30 -> a
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.int2ReferenceEntrySet():78:78 -> a
    4:4:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet int2ReferenceEntrySet():17 -> a
    5:5:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet int2ReferenceEntrySet():78:78 -> a
    6:6:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(int,int):96:96 -> a
    7:7:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(java.lang.Integer):135:135 -> a
    8:8:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap subMap(java.lang.Integer,java.lang.Integer):141:141 -> a
    9:9:java.lang.Object put(int,java.lang.Object):158:158 -> a
    10:10:java.lang.Object put(java.lang.Integer,java.lang.Object):163:163 -> a
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap tailMap(int):108:108 -> b
    2:2:int firstIntKey():118:118 -> b
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(java.lang.Integer):129:129 -> b
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap headMap(int):102:102 -> c
    1:1:java.lang.Object compute(java.lang.Object,java.util.function.BiFunction):17:17 -> compute
    2:2:java.lang.Object com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.compute(java.lang.Integer,java.util.function.BiFunction):179:179 -> compute
    2:2:java.lang.Object compute(java.lang.Object,java.util.function.BiFunction):17 -> compute
    1:1:java.lang.Object computeIfAbsent(java.lang.Object,java.util.function.Function):17:17 -> computeIfAbsent
    2:2:java.lang.Object com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.computeIfAbsent(java.lang.Integer,java.util.function.Function):184:184 -> computeIfAbsent
    2:2:java.lang.Object computeIfAbsent(java.lang.Object,java.util.function.Function):17 -> computeIfAbsent
    1:1:java.lang.Object computeIfPresent(java.lang.Object,java.util.function.BiFunction):17:17 -> computeIfPresent
    2:2:java.lang.Object com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.computeIfPresent(java.lang.Integer,java.util.function.BiFunction):190:190 -> computeIfPresent
    2:2:java.lang.Object computeIfPresent(java.lang.Object,java.util.function.BiFunction):17 -> computeIfPresent
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet entrySet():85:85 -> entrySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.entrySet():85:85 -> entrySet
    2:2:java.util.Set entrySet():17 -> entrySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSortedSet com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.entrySet():85:85 -> f
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.objects.ObjectSet entrySet():17 -> f
    1:1:java.lang.Integer firstKey():147:147 -> firstKey
    2:2:java.lang.Integer com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.firstKey():147:147 -> firstKey
    2:2:java.lang.Object firstKey():17 -> firstKey
    1:1:java.lang.Object get(int):57:57 -> get
    2:2:java.lang.Object get(java.lang.Object):62:62 -> get
    1:1:java.lang.Object getOrDefault(java.lang.Object,java.lang.Object):67:67 -> getOrDefault
    1:1:java.util.SortedMap headMap(java.lang.Object):17:17 -> headMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.headMap(java.lang.Integer):129:129 -> headMap
    2:2:java.util.SortedMap headMap(java.lang.Object):17 -> headMap
    1:1:boolean isEmpty():113:113 -> isEmpty
    1:1:int lastIntKey():123:123 -> j
    1:1:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder builder():38:38 -> k
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.keySet():90:90 -> keySet
    1:1:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSet keySet():17 -> keySet
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet keySet():90:90 -> keySet
    3:3:com.android.tools.r8.it.unimi.dsi.fastutil.ints.IntSortedSet com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.keySet():90:90 -> keySet
    3:3:java.util.Set keySet():17 -> keySet
    1:1:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap empty():34:34 -> l
    1:1:java.lang.Integer lastKey():153:153 -> lastKey
    2:2:java.lang.Integer com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.lastKey():153:153 -> lastKey
    2:2:java.lang.Object lastKey():17 -> lastKey
    1:1:java.lang.Object put(java.lang.Object,java.lang.Object):17:17 -> put
    1:1:void putAll(java.util.Map):168:168 -> putAll
    1:1:java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object):17:17 -> putIfAbsent
    2:2:java.lang.Object com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.putIfAbsent(java.lang.Integer,java.lang.Object):173:173 -> putIfAbsent
    2:2:java.lang.Object putIfAbsent(java.lang.Object,java.lang.Object):17 -> putIfAbsent
    1:1:java.lang.Object remove(int):195:195 -> remove
    2:2:boolean remove(java.lang.Object,java.lang.Object):200:200 -> remove
    3:3:java.lang.Object remove(java.lang.Object):205:205 -> remove
    1:1:int size():72:72 -> size
    1:1:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):17:17 -> subMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.subMap(java.lang.Integer,java.lang.Integer):141:141 -> subMap
    2:2:java.util.SortedMap subMap(java.lang.Object,java.lang.Object):17 -> subMap
    1:1:java.util.SortedMap tailMap(java.lang.Object):17:17 -> tailMap
    2:2:com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap.tailMap(java.lang.Integer):135:135 -> tailMap
    2:2:java.util.SortedMap tailMap(java.lang.Object):17 -> tailMap
com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder -> com.android.tools.r8.internal.fo:
    com.android.tools.r8.it.unimi.dsi.fastutil.ints.Int2ReferenceSortedMap sortedMap -> a
    1:3:void <init>():41:43 -> <init>
    1:1:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap$Builder put(int,java.lang.Object):46:46 -> a
    2:2:com.android.tools.r8.utils.collections.ImmutableInt2ReferenceSortedMap build():51:51 -> a
com.android.tools.r8.utils.collections.LongLivedClassSetBuilder -> com.android.tools.r8.internal.WC:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():16:16 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction,java.util.function.IntFunction):23:23 -> <init>
    1:1:com.android.tools.r8.utils.collections.LongLivedClassSetBuilder createConcurrentBuilderForIdentitySet(com.android.tools.r8.graph.GraphLens):29:29 -> a
    2:2:void add(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.GraphLens):35:35 -> a
    3:3:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39:39 -> a
    3:3:void add(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.GraphLens):35 -> a
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):35:35 -> a
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39 -> a
    4:4:void add(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.GraphLens):35 -> a
    5:5:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39:39 -> a
    5:5:void add(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.GraphLens):35 -> a
    6:6:void add(com.android.tools.r8.graph.DexClass,com.android.tools.r8.graph.GraphLens):36:36 -> a
    7:14:java.util.Set build(com.android.tools.r8.graph.AppView):63:70 -> a
    15:15:java.util.Set build(com.android.tools.r8.graph.AppView):0:0 -> a
      # {"id":"com.android.tools.r8.outlineCallsite","positions":{"1":86,"2":87,"3":88}}
    86:86:java.util.Set build(com.android.tools.r8.graph.AppView):70:70 -> a
    87:87:java.util.Set build(com.android.tools.r8.graph.AppView):70:70 -> a
    88:88:java.util.Set build(com.android.tools.r8.graph.AppView):70:70 -> a
    85:85:java.util.Set build(com.android.tools.r8.graph.AppView):70:70 -> a
com.android.tools.r8.utils.collections.LongLivedCollectionBuilder -> com.android.tools.r8.internal.XC:
    java.util.function.IntFunction factoryForBuilder -> b
    java.lang.Object backing -> d
    boolean $assertionsDisabled -> e
    java.util.function.IntFunction factory -> a
    com.android.tools.r8.graph.GraphLens appliedGraphLens -> c
    1:1:void <clinit>():10:10 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction,java.util.function.IntFunction):27:31 -> <init>
com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder -> com.android.tools.r8.internal.YC:
    boolean $assertionsDisabled -> f
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction,java.util.function.IntFunction):30:30 -> <init>
    1:1:com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder createConcurrentBuilderForNonConcurrentMap(com.android.tools.r8.graph.GraphLens):40:40 -> a
    2:2:java.lang.Object computeIfAbsent(com.android.tools.r8.graph.ProgramMethod,java.util.function.Function,com.android.tools.r8.graph.GraphLens):46:46 -> a
    3:3:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39:39 -> a
    3:3:java.lang.Object computeIfAbsent(com.android.tools.r8.graph.ProgramMethod,java.util.function.Function,com.android.tools.r8.graph.GraphLens):46 -> a
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):35:35 -> a
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39 -> a
    4:4:java.lang.Object computeIfAbsent(com.android.tools.r8.graph.ProgramMethod,java.util.function.Function,com.android.tools.r8.graph.GraphLens):46 -> a
    5:5:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39:39 -> a
    5:5:java.lang.Object computeIfAbsent(com.android.tools.r8.graph.ProgramMethod,java.util.function.Function,com.android.tools.r8.graph.GraphLens):46 -> a
    6:6:java.lang.Object computeIfAbsent(com.android.tools.r8.graph.ProgramMethod,java.util.function.Function,com.android.tools.r8.graph.GraphLens):47:47 -> a
    7:7:java.lang.Object lambda$computeIfAbsent$0(java.util.function.Function,com.android.tools.r8.graph.ProgramMethod):47:47 -> a
    8:24:com.android.tools.r8.utils.collections.LongLivedProgramMethodMapBuilder rewrittenWithLens(java.util.function.BiFunction,com.android.tools.r8.graph.GraphLens):69:85 -> a
    25:28:void lambda$rewrittenWithLens$1(com.android.tools.r8.graph.GraphLens,java.util.function.BiFunction,java.util.Map,com.android.tools.r8.graph.DexMethod,java.lang.Object):77:80 -> a
    29:29:com.android.tools.r8.utils.collections.ProgramMethodMap build(com.android.tools.r8.graph.AppView,java.util.function.Function):92:92 -> a
    30:30:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39:39 -> a
    30:30:com.android.tools.r8.utils.collections.ProgramMethodMap build(com.android.tools.r8.graph.AppView,java.util.function.Function):92 -> a
    31:31:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):35:35 -> a
    31:31:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39 -> a
    31:31:com.android.tools.r8.utils.collections.ProgramMethodMap build(com.android.tools.r8.graph.AppView,java.util.function.Function):92 -> a
    32:32:boolean com.android.tools.r8.utils.collections.LongLivedCollectionBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):39:39 -> a
    32:32:com.android.tools.r8.utils.collections.ProgramMethodMap build(com.android.tools.r8.graph.AppView,java.util.function.Function):92 -> a
    33:34:com.android.tools.r8.utils.collections.ProgramMethodMap build(com.android.tools.r8.graph.AppView,java.util.function.Function):94:95 -> a
    35:40:void lambda$build$2(com.android.tools.r8.graph.AppView,com.android.tools.r8.utils.collections.ProgramMethodMap,java.util.function.Function,com.android.tools.r8.graph.DexMethod,java.lang.Object):97:102 -> a
com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder -> com.android.tools.r8.internal.ZC:
    java.util.function.IntFunction factoryForBuilder -> b
    java.util.Set methods -> d
    boolean $assertionsDisabled -> e
    java.util.function.IntFunction factory -> a
    com.android.tools.r8.graph.GraphLens appliedGraphLens -> c
    1:1:void <clinit>():21:21 -> <clinit>
    1:5:void <init>(com.android.tools.r8.graph.GraphLens,java.util.function.IntFunction,java.util.function.IntFunction):38:42 -> <init>
    boolean lambda$verifyIsRewrittenWithNewerLens$2(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens) -> a
    1:1:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder createConcurrentForIdentitySet(com.android.tools.r8.graph.GraphLens):53:53 -> a
    2:2:void add(com.android.tools.r8.graph.ProgramMethod):59:59 -> a
    3:3:void add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):65:65 -> a
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):85:85 -> a
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175 -> a
    4:4:void add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):65 -> a
    5:5:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175:175 -> a
    5:5:void add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):65 -> a
    6:6:void add(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):66:66 -> a
    7:7:void clear():75:75 -> a
    8:8:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder merge(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder):92:92 -> a
    9:9:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):85:85 -> a
    9:9:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder merge(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder):92 -> a
    10:16:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder merge(com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder):93:99 -> a
    17:17:void remove(com.android.tools.r8.graph.DexMethod):107:107 -> a
    18:18:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111:111 -> a
    19:19:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isEmpty():171:171 -> a
    19:19:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111 -> a
    20:20:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):85:85 -> a
    20:20:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175 -> a
    20:20:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111 -> a
    21:21:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175:175 -> a
    21:21:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):111 -> a
    22:22:void remove(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.GraphLens):112:112 -> a
    23:23:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder removeAll(java.lang.Iterable):116:116 -> a
    24:24:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder removeIf(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Predicate):122:122 -> a
    25:31:boolean lambda$removeIf$1(com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Predicate,com.android.tools.r8.graph.DexMethod):125:131 -> a
    32:35:com.android.tools.r8.utils.collections.ProgramMethodSet build(com.android.tools.r8.graph.AppView):160:163 -> a
    36:36:com.android.tools.r8.graph.DexClass com.android.tools.r8.graph.DexDefinitionSupplier.definitionForHolder(com.android.tools.r8.graph.DexMember):113:113 -> a
    36:36:com.android.tools.r8.utils.collections.ProgramMethodSet build(com.android.tools.r8.graph.AppView):164 -> a
    37:38:com.android.tools.r8.utils.collections.ProgramMethodSet build(com.android.tools.r8.graph.AppView):164:165 -> a
    39:39:boolean com.android.tools.r8.utils.collections.ProgramMethodSet.createAndAdd(com.android.tools.r8.graph.DexProgramClass,com.android.tools.r8.graph.DexEncodedMethod):78:78 -> a
    39:39:com.android.tools.r8.utils.collections.ProgramMethodSet build(com.android.tools.r8.graph.AppView):165 -> a
    1:1:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder createForIdentitySet(com.android.tools.r8.graph.GraphLens):47:47 -> b
    2:2:boolean contains(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):80:80 -> b
    3:3:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.isRewrittenWithLens(com.android.tools.r8.graph.GraphLens):85:85 -> b
    3:3:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175 -> b
    3:3:boolean contains(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):80 -> b
    4:4:boolean com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder.verifyIsRewrittenWithLens(com.android.tools.r8.graph.GraphLens):175:175 -> b
    4:4:boolean contains(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):80 -> b
    5:5:boolean contains(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.GraphLens):81:81 -> b
    6:6:boolean isEmpty():171:171 -> b
    1:13:com.android.tools.r8.utils.collections.LongLivedProgramMethodSetBuilder rewrittenWithLens(com.android.tools.r8.graph.GraphLens):143:155 -> c
    1:4:boolean verifyIsRewrittenWithNewerLens(com.android.tools.r8.graph.GraphLens):180:183 -> d
    5:5:boolean verifyIsRewrittenWithNewerLens(com.android.tools.r8.graph.GraphLens):182:182 -> d
com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneMap -> com.android.tools.r8.internal.iG:
    void put(java.lang.Iterable,java.lang.Object) -> a
com.android.tools.r8.utils.collections.MutableBidirectionalManyToOneRepresentativeMap -> com.android.tools.r8.internal.jG:
com.android.tools.r8.utils.collections.MutableBidirectionalOneToManyRepresentativeMap -> com.android.tools.r8.internal.kG:
com.android.tools.r8.utils.collections.ProgramFieldSet -> com.android.tools.r8.internal.ZM:
    java.util.Map backing -> b
    com.android.tools.r8.utils.collections.ProgramFieldSet EMPTY -> c
    boolean $assertionsDisabled -> d
    1:3:void <clinit>():19:21 -> <clinit>
    1:2:void <init>(java.util.Map):25:26 -> <init>
    1:1:com.android.tools.r8.utils.collections.ProgramFieldSet create():30:30 -> a
    2:3:boolean add(com.android.tools.r8.graph.ProgramField):38:39 -> a
    4:4:boolean com.android.tools.r8.graph.ProgramField.isStructurallyEqualTo(com.android.tools.r8.graph.ProgramField):27:27 -> a
    4:4:boolean add(com.android.tools.r8.graph.ProgramField):39 -> a
    5:5:boolean add(com.android.tools.r8.graph.ProgramField):39:39 -> a
    1:1:com.android.tools.r8.utils.collections.ProgramFieldSet empty():34:34 -> b
    2:2:boolean contains(com.android.tools.r8.graph.ProgramField):60:60 -> b
    1:1:java.util.Iterator iterator():73:73 -> iterator
com.android.tools.r8.utils.collections.ProgramMemberMap -> com.android.tools.r8.internal.bN:
    java.util.Map backing -> a
    1:2:void <init>(java.util.function.Supplier):20:21 -> <init>
    3:4:void <init>(java.util.Map):24:25 -> <init>
    1:1:void clear():29:29 -> a
    2:2:java.lang.Object compute(com.android.tools.r8.graph.ProgramMember,java.util.function.BiFunction):33:33 -> a
    3:3:java.lang.Object lambda$compute$0(java.util.function.BiFunction,com.android.tools.r8.graph.ProgramMember,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object):33:33 -> a
    4:4:java.lang.Object computeIfAbsent(com.android.tools.r8.graph.ProgramMember,java.util.function.Function):37:37 -> a
    5:5:java.lang.Object lambda$computeIfAbsent$1(java.util.function.Function,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):37:37 -> a
    6:6:boolean containsKey(com.android.tools.r8.graph.ProgramMember):41:41 -> a
    7:7:void forEach(java.util.function.BiConsumer):45:45 -> a
    8:8:void lambda$forEach$2(java.util.function.BiConsumer,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,java.lang.Object):45:45 -> a
    9:10:java.lang.Object getOrDefault(com.android.tools.r8.graph.ProgramMember,java.util.function.Supplier):57:58 -> a
    11:12:java.lang.Object put(com.android.tools.r8.graph.ProgramMember,java.lang.Object):66:67 -> a
    13:13:java.lang.Object remove(com.android.tools.r8.graph.ProgramMember):71:71 -> a
    14:14:boolean lambda$removeIf$3(java.util.function.BiPredicate,java.util.Map$Entry):75:75 -> a
    15:15:void removeIf(java.util.function.BiPredicate):75:75 -> a
    1:1:java.lang.Object get(com.android.tools.r8.graph.ProgramMember):49:49 -> b
    com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.ProgramMember) -> c
com.android.tools.r8.utils.collections.ProgramMethodMap -> com.android.tools.r8.internal.dN:
    com.android.tools.r8.utils.collections.ProgramMethodMap EMPTY -> b
    1:1:void <clinit>():18:18 -> <clinit>
    1:1:void <init>(java.util.function.Supplier):21:21 -> <init>
    2:2:void <init>(java.util.Map):25:25 -> <init>
    1:1:com.android.tools.r8.utils.collections.ProgramMethodMap create(int):33:33 -> a
    1:1:com.android.tools.r8.utils.collections.ProgramMethodMap create():29:29 -> b
    1:1:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.ProgramMember):16:16 -> c
    2:2:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper com.android.tools.r8.utils.collections.ProgramMethodMap.wrap(com.android.tools.r8.graph.ProgramMethod):47:47 -> c
    2:2:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper wrap(com.android.tools.r8.graph.ProgramMember):16 -> c
    3:3:com.android.tools.r8.utils.collections.ProgramMethodMap createConcurrent():37:37 -> c
    1:1:com.android.tools.r8.utils.collections.ProgramMethodMap empty():42:42 -> d
com.android.tools.r8.utils.collections.ProgramMethodMultiset -> com.android.tools.r8.internal.eN:
    com.android.tools.r8.com.google.common.collect.Multiset backing -> a
    1:2:void <init>(com.android.tools.r8.com.google.common.collect.Multiset):22:23 -> <init>
    1:1:com.android.tools.r8.utils.collections.ProgramMethodMultiset createConcurrent():27:27 -> a
    2:2:void add(com.android.tools.r8.graph.ProgramMethod):35:35 -> a
    3:3:com.android.tools.r8.com.google.common.base.Equivalence$Wrapper com.android.tools.r8.utils.collections.ProgramMethodMultiset.wrap(com.android.tools.r8.graph.ProgramMethod):55:55 -> a
    3:3:void add(com.android.tools.r8.graph.ProgramMethod):35 -> a
    4:4:void add(com.android.tools.r8.graph.ProgramMethod):35:35 -> a
    5:5:void forEachEntry(java.util.function.ObjIntConsumer):43:43 -> a
    6:6:void lambda$forEachEntry$0(java.util.function.ObjIntConsumer,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper,int):43:43 -> a
    7:7:boolean lambda$removeIf$1(java.util.function.Predicate,com.android.tools.r8.com.google.common.base.Equivalence$Wrapper):47:47 -> a
    8:8:boolean removeIf(java.util.function.Predicate):47:47 -> a
    1:1:int size():51:51 -> b
com.android.tools.r8.utils.collections.ProgramMethodSet -> com.android.tools.r8.internal.fN:
    com.android.tools.r8.utils.collections.ProgramMethodSet EMPTY -> e
    1:1:void <clinit>():23:23 -> <clinit>
    1:1:void <init>(java.util.function.Supplier):26:26 -> <init>
    2:2:void <init>(java.util.function.Supplier,java.util.Map):32:32 -> <init>
    1:2:com.android.tools.r8.utils.collections.ProgramMethodSet create(com.android.tools.r8.utils.ForEachable):50:51 -> a
    3:3:void addAll(com.android.tools.r8.utils.collections.ProgramMethodSet):74:74 -> a
    4:5:com.android.tools.r8.utils.collections.ProgramMethodSet rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):82:83 -> a
    6:6:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):85:85 -> a
    7:7:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):375:375 -> a
    7:7:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):85 -> a
    8:8:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    8:8:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):375 -> a
    8:8:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):85 -> a
    9:10:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):376:377 -> a
    9:10:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):85 -> a
    11:11:void lambda$rewrittenWithLens$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.utils.collections.ProgramMethodSet,com.android.tools.r8.graph.ProgramMethod):87:87 -> a
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet create(com.android.tools.r8.utils.collections.ProgramMethodSet):56:56 -> b
    2:2:void com.android.tools.r8.utils.collections.ProgramMethodSet.addAll(com.android.tools.r8.utils.collections.ProgramMethodSet):74:74 -> b
    2:2:com.android.tools.r8.utils.collections.ProgramMethodSet create(com.android.tools.r8.utils.collections.ProgramMethodSet):57 -> b
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    3:3:void com.android.tools.r8.utils.collections.ProgramMethodSet.addAll(com.android.tools.r8.utils.collections.ProgramMethodSet):74:74 -> b
    3:3:com.android.tools.r8.utils.collections.ProgramMethodSet create(com.android.tools.r8.utils.collections.ProgramMethodSet):57 -> b
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet create():36:36 -> c
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet createConcurrent():62:62 -> d
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet createLinked():66:66 -> e
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet empty():70:70 -> f
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet create(int):40:40 -> h
com.android.tools.r8.utils.collections.SortedProgramMethodSet -> com.android.tools.r8.internal.uV:
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(java.util.function.Supplier):29:29 -> <init>
    1:1:com.android.tools.r8.utils.collections.ProgramMethodSet rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):23:23 -> a
    2:2:void lambda$rewrittenWithLens$3(java.util.function.Consumer,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):61:61 -> a
    3:3:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):375:375 -> a
    3:3:void lambda$rewrittenWithLens$3(java.util.function.Consumer,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):61 -> a
    4:4:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getRenamedMethodSignature(com.android.tools.r8.graph.DexMethod):345:345 -> a
    4:4:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):375 -> a
    4:4:void lambda$rewrittenWithLens$3(java.util.function.Consumer,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):61 -> a
    5:6:com.android.tools.r8.graph.ProgramMethod com.android.tools.r8.graph.GraphLens.mapProgramMethod(com.android.tools.r8.graph.ProgramMethod,com.android.tools.r8.graph.DexDefinitionSupplier):376:377 -> a
    5:6:void lambda$rewrittenWithLens$3(java.util.function.Consumer,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):61 -> a
    7:7:void lambda$rewrittenWithLens$3(java.util.function.Consumer,com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.ProgramMethod):61:61 -> a
    8:8:void lambda$rewrittenWithLens$4(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.DexDefinitionSupplier,java.util.function.Consumer):61:61 -> a
    9:9:int lambda$toDefinitionSet$5(com.android.tools.r8.graph.DexEncodedMethod,com.android.tools.r8.graph.DexEncodedMethod):67:67 -> a
    10:10:void lambda$toDefinitionSet$6(java.util.Set,com.android.tools.r8.graph.ProgramMethod):69:69 -> a
    1:3:com.android.tools.r8.utils.collections.SortedProgramMethodSet create(com.android.tools.r8.utils.ForEachable):43:45 -> b
    4:4:com.android.tools.r8.utils.collections.SortedProgramMethodSet rewrittenWithLens(com.android.tools.r8.graph.DexDefinitionSupplier,com.android.tools.r8.graph.GraphLens):60:60 -> b
    5:8:java.util.Set toDefinitionSet():66:69 -> b
    1:1:com.android.tools.r8.utils.collections.SortedProgramMethodSet create():33:33 -> g
    1:1:java.util.SortedMap lambda$create$1():44:44 -> h
    1:1:java.util.SortedMap lambda$static$0():26:26 -> i
com.android.tools.r8.utils.dfs.DFSStack -> com.android.tools.r8.internal.ke:
    java.util.Deque stack -> a
    java.util.Set stackSet -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():13:13 -> <clinit>
    1:3:void <init>(java.util.Deque,java.util.Set):18:20 -> <init>
    1:1:com.android.tools.r8.utils.dfs.DFSStack createIdentityStack():24:24 -> a
    2:2:boolean contains(java.lang.Object):28:28 -> a
    3:3:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):42:42 -> a
    4:4:boolean com.android.tools.r8.utils.dfs.DFSWorklistItem.isNewlyVisited():0:0 -> a
    4:4:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):42 -> a
    5:5:java.lang.Object com.android.tools.r8.utils.dfs.DFSWorklistItem.getValue():16:16 -> a
    5:5:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):43 -> a
    6:8:void com.android.tools.r8.utils.dfs.DFSStack.push(java.lang.Object):58:60 -> a
    6:8:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):43 -> a
    9:9:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):45:45 -> a
    10:10:boolean com.android.tools.r8.utils.dfs.DFSWorklistItem.isFullyVisited():0:0 -> a
    10:10:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):45 -> a
    11:11:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):45:45 -> a
    12:12:java.lang.Object com.android.tools.r8.utils.dfs.DFSWorklistItem.getValue():16:16 -> a
    12:12:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):46 -> a
    13:16:void com.android.tools.r8.utils.dfs.DFSStack.pop(java.lang.Object):51:54 -> a
    13:16:void handle(com.android.tools.r8.utils.dfs.DFSWorklistItem):46 -> a
    1:5:java.util.Deque getCycleStartingAt(java.lang.Object):32:36 -> b
    6:8:void com.android.tools.r8.utils.dfs.DFSStack.recoverStack(java.util.Deque):64:66 -> b
    6:8:java.util.Deque getCycleStartingAt(java.lang.Object):37 -> b
com.android.tools.r8.utils.dfs.DFSWorklistItem -> com.android.tools.r8.internal.ne:
    java.lang.Object value -> a
    1:2:void <init>(java.lang.Object):11:12 -> <init>
    com.android.tools.r8.utils.dfs.DFSWorklistItem$NewlyVisitedDFSWorklistItem asNewlyVisited() -> a
    1:1:java.lang.Object getValue():16:16 -> b
com.android.tools.r8.utils.dfs.DFSWorklistItem$FullyVisitedDFSWorklistItem -> com.android.tools.r8.internal.le:
    1:1:void <init>(java.lang.Object):55:55 -> <init>
com.android.tools.r8.utils.dfs.DFSWorklistItem$NewlyVisitedDFSWorklistItem -> com.android.tools.r8.internal.me:
    1:1:void <init>(java.lang.Object):34:34 -> <init>
    com.android.tools.r8.utils.dfs.DFSWorklistItem$NewlyVisitedDFSWorklistItem asNewlyVisited() -> a
    1:1:com.android.tools.r8.utils.dfs.DFSWorklistItem$FullyVisitedDFSWorklistItem toFullyVisited():48:48 -> c
    2:2:java.lang.Object com.android.tools.r8.utils.dfs.DFSWorklistItem.getValue():16:16 -> c
    2:2:com.android.tools.r8.utils.dfs.DFSWorklistItem$FullyVisitedDFSWorklistItem toFullyVisited():48 -> c
    3:3:com.android.tools.r8.utils.dfs.DFSWorklistItem$FullyVisitedDFSWorklistItem toFullyVisited():48:48 -> c
com.android.tools.r8.utils.structural.CompareToVisitor -> com.android.tools.r8.internal.oc:
    1:1:void <init>():18:18 -> <init>
    int visit(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping) -> a
    int visitBool(boolean,boolean) -> a
    int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference) -> a
    int visitDexString(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString) -> a
    int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType) -> a
    int visitDouble(double,double) -> a
    int visitFloat(float,float) -> a
    int visitInt(int,int) -> a
    int visitItemIterator(java.util.Iterator,java.util.Iterator,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept) -> a
    int visitLong(long,long) -> a
    1:1:int visitItemCollection(java.util.Collection,java.util.Collection):40:40 -> a
    2:2:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):48:48 -> a
    3:3:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):52:52 -> a
com.android.tools.r8.utils.structural.CompareToVisitorBase -> com.android.tools.r8.internal.qc:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():19:19 -> <clinit>
    1:1:void <init>():19:19 -> <init>
    1:1:int visitBool(boolean,boolean):33:33 -> a
    2:2:int visitInt(int,int):38:38 -> a
    3:3:int visitLong(long,long):43:43 -> a
    4:4:int visitFloat(float,float):48:48 -> a
    5:5:int visitDouble(double,double):53:53 -> a
    6:10:int visitItemIterator(java.util.Iterator,java.util.Iterator,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):60:64 -> a
    11:11:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitBool(boolean,boolean):33:33 -> a
    11:11:int visitItemIterator(java.util.Iterator,java.util.Iterator,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):64 -> a
    12:12:int visitDexString(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):71:71 -> a
    13:13:int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):76:76 -> a
    14:14:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> a
    14:14:int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):76 -> a
    15:15:int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):78:78 -> a
    16:16:boolean com.android.tools.r8.graph.DexReference.isDexType():0:0 -> a
    16:16:int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):79 -> a
    17:21:int visitDexReference(com.android.tools.r8.graph.DexReference,com.android.tools.r8.graph.DexReference):80:84 -> a
    22:24:int visit(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping):97:99 -> a
com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification -> com.android.tools.r8.internal.pc:
    com.android.tools.r8.utils.structural.CompareToVisitorBase parent -> a
    java.lang.Object item1 -> b
    boolean $assertionsDisabled -> e
    java.lang.Object item2 -> c
    int order -> d
    1:1:void <clinit>():102:102 -> <clinit>
    1:1:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitorBase,com.android.tools.r8.utils.structural.CompareToVisitorBase$1):102:102 -> <init>
    2:2:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitorBase):110:110 -> <init>
    3:8:void <init>(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitorBase):108:113 -> <init>
    com.android.tools.r8.utils.structural.StructuralSpecification self() -> a
    1:1:int access$100(com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification):102:102 -> a
    2:3:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withAssert(java.util.function.Predicate):123:124 -> a
    2:3:com.android.tools.r8.utils.structural.StructuralSpecification withAssert(java.util.function.Predicate):102 -> a
    4:5:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withInt(java.util.function.ToIntFunction):138:139 -> a
    4:5:com.android.tools.r8.utils.structural.StructuralSpecification withInt(java.util.function.ToIntFunction):102 -> a
    6:6:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> a
    6:6:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withInt(java.util.function.ToIntFunction):139 -> a
    6:6:com.android.tools.r8.utils.structural.StructuralSpecification withInt(java.util.function.ToIntFunction):102 -> a
    7:7:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withInt(java.util.function.ToIntFunction):139:139 -> a
    7:7:com.android.tools.r8.utils.structural.StructuralSpecification withInt(java.util.function.ToIntFunction):102 -> a
    8:9:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withLong(java.util.function.ToLongFunction):146:147 -> a
    8:9:com.android.tools.r8.utils.structural.StructuralSpecification withLong(java.util.function.ToLongFunction):102 -> a
    10:10:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitLong(long,long):43:43 -> a
    10:10:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withLong(java.util.function.ToLongFunction):147 -> a
    10:10:com.android.tools.r8.utils.structural.StructuralSpecification withLong(java.util.function.ToLongFunction):102 -> a
    11:11:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withLong(java.util.function.ToLongFunction):147:147 -> a
    11:11:com.android.tools.r8.utils.structural.StructuralSpecification withLong(java.util.function.ToLongFunction):102 -> a
    12:18:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):198:204 -> a
    12:18:com.android.tools.r8.utils.structural.StructuralSpecification withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):102 -> a
    19:19:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitBool(boolean,boolean):33:33 -> a
    19:19:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):204 -> a
    19:19:com.android.tools.r8.utils.structural.StructuralSpecification withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):102 -> a
    20:20:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):204:204 -> a
    20:20:com.android.tools.r8.utils.structural.StructuralSpecification withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):102 -> a
    21:22:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withDexReference(java.util.function.Function):221:222 -> a
    21:22:com.android.tools.r8.utils.structural.StructuralSpecification withDexReference(java.util.function.Function):102 -> a
    1:2:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withBool(java.util.function.Predicate):130:131 -> b
    1:2:com.android.tools.r8.utils.structural.StructuralSpecification withBool(java.util.function.Predicate):102 -> b
    3:3:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitBool(boolean,boolean):33:33 -> b
    3:3:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withBool(java.util.function.Predicate):131 -> b
    3:3:com.android.tools.r8.utils.structural.StructuralSpecification withBool(java.util.function.Predicate):102 -> b
    4:4:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withBool(java.util.function.Predicate):131:131 -> b
    4:4:com.android.tools.r8.utils.structural.StructuralSpecification withBool(java.util.function.Predicate):102 -> b
    5:10:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withIntArray(java.util.function.Function):162:167 -> b
    5:10:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):102 -> b
    11:11:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> b
    11:11:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withIntArray(java.util.function.Function):167 -> b
    11:11:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):102 -> b
    12:15:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withIntArray(java.util.function.Function):167:170 -> b
    12:15:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):102 -> b
    16:16:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> b
    16:16:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withIntArray(java.util.function.Function):170 -> b
    16:16:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):102 -> b
    17:17:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withIntArray(java.util.function.Function):170:170 -> b
    17:17:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):102 -> b
    18:19:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):213:214 -> b
    18:19:com.android.tools.r8.utils.structural.StructuralSpecification withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):102 -> b
    1:6:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withShortArray(java.util.function.Function):178:183 -> i
    1:6:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):102 -> i
    7:7:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> i
    7:7:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withShortArray(java.util.function.Function):183 -> i
    7:7:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):102 -> i
    8:11:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withShortArray(java.util.function.Function):183:186 -> i
    8:11:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):102 -> i
    12:12:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> i
    12:12:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withShortArray(java.util.function.Function):186 -> i
    12:12:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):102 -> i
    13:13:com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification com.android.tools.r8.utils.structural.CompareToVisitorBase$ItemSpecification.withShortArray(java.util.function.Function):186:186 -> i
    13:13:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):102 -> i
com.android.tools.r8.utils.structural.CompareToVisitorWithNamingLens -> com.android.tools.r8.internal.rc:
    com.android.tools.r8.naming.NamingLens namingLens -> b
    1:2:void <init>(com.android.tools.r8.naming.NamingLens):29:30 -> <init>
    1:4:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):38:41 -> a
    5:5:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    5:5:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):41 -> a
    6:6:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):49:49 -> a
    7:7:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    7:7:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):49 -> a
    8:8:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):53:53 -> a
    9:9:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    9:9:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):53 -> a
    10:10:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):57:57 -> a
    11:11:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    11:11:int visitDexField(com.android.tools.r8.graph.DexField,com.android.tools.r8.graph.DexField):57 -> a
    12:12:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):65:65 -> a
    13:13:int com.android.tools.r8.graph.DexType.acceptCompareTo(com.android.tools.r8.graph.DexType,com.android.tools.r8.utils.structural.CompareToVisitor):99:99 -> a
    13:13:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):65 -> a
    14:14:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):69:69 -> a
    15:15:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    15:15:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):69 -> a
    16:16:int visitDexMethod(com.android.tools.r8.graph.DexMethod,com.android.tools.r8.graph.DexMethod):73:73 -> a
com.android.tools.r8.utils.structural.CompareToVisitorWithStringTable -> com.android.tools.r8.internal.sc:
    java.util.function.ToIntFunction stringTable -> c
    1:2:void <init>(com.android.tools.r8.naming.NamingLens,java.util.function.ToIntFunction):16:17 -> <init>
    1:1:int visitDexString(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):25:25 -> a
    2:2:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> a
    2:2:int visitDexString(com.android.tools.r8.graph.DexString,com.android.tools.r8.graph.DexString):25 -> a
com.android.tools.r8.utils.structural.CompareToVisitorWithTypeEquivalence -> com.android.tools.r8.internal.tc:
    com.android.tools.r8.utils.structural.RepresentativeMap representatives -> b
    1:2:void <init>(com.android.tools.r8.utils.structural.RepresentativeMap):26:27 -> <init>
    1:3:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):35:37 -> a
    4:4:int com.android.tools.r8.graph.DexString.acceptCompareTo(com.android.tools.r8.graph.DexString,com.android.tools.r8.utils.structural.CompareToVisitor):65:65 -> a
    4:4:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):37 -> a
com.android.tools.r8.utils.structural.CompareToVisitorWithTypeTable -> com.android.tools.r8.internal.uc:
    java.util.function.ToIntFunction typeTable -> d
    1:2:void <init>(com.android.tools.r8.naming.NamingLens,java.util.function.ToIntFunction,java.util.function.ToIntFunction):19:20 -> <init>
    1:1:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):28:28 -> a
    2:2:int com.android.tools.r8.utils.structural.CompareToVisitorBase.visitInt(int,int):38:38 -> a
    2:2:int visitDexType(com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):28 -> a
com.android.tools.r8.utils.structural.DefaultCompareToVisitor -> com.android.tools.r8.internal.Pe:
    com.android.tools.r8.graph.DexType lambda$run$1(com.android.tools.r8.graph.DexType) -> a
    1:1:int run(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):21:21 -> a
    2:3:int com.android.tools.r8.utils.structural.CompareToVisitorWithTypeEquivalence.run(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.RepresentativeMap,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):20:21 -> a
    2:3:int run(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):21 -> a
com.android.tools.r8.utils.structural.DefaultHashingVisitor -> com.android.tools.r8.internal.Re:
    com.android.tools.r8.graph.DexType lambda$run$1(com.android.tools.r8.graph.DexType) -> a
    1:1:void run(java.lang.Object,com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):21:21 -> a
com.android.tools.r8.utils.structural.Equatable -> com.android.tools.r8.internal.fj:
    1:1:void <clinit>():6:6 -> <clinit>
    boolean isEqualTo(java.lang.Object) -> a
    1:8:boolean equalsImpl(com.android.tools.r8.utils.structural.Equatable,java.lang.Object):47:54 -> a
com.android.tools.r8.utils.structural.Equatable$1 -> com.android.tools.r8.internal.ej:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():47:47 -> <clinit>
com.android.tools.r8.utils.structural.HashCodeVisitor -> com.android.tools.r8.internal.Gm:
    int $r8$clinit -> d
    java.lang.Object item -> a
    int hashCode -> b
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():25:25 -> <clinit>
    1:1:void <init>(java.lang.Object):41:41 -> <init>
    2:5:void <init>(java.lang.Object):39:42 -> <init>
    com.android.tools.r8.utils.structural.StructuralSpecification self() -> a
    1:3:int run(java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping):32:34 -> a
    4:4:com.android.tools.r8.utils.structural.HashCodeVisitor amend(int):52:52 -> a
    5:5:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withAssert(java.util.function.Predicate):58:58 -> a
    5:5:com.android.tools.r8.utils.structural.StructuralSpecification withAssert(java.util.function.Predicate):25 -> a
    6:6:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withInt(java.util.function.ToIntFunction):69:69 -> a
    6:6:com.android.tools.r8.utils.structural.StructuralSpecification withInt(java.util.function.ToIntFunction):25 -> a
    7:7:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withLong(java.util.function.ToLongFunction):74:74 -> a
    7:7:com.android.tools.r8.utils.structural.StructuralSpecification withLong(java.util.function.ToLongFunction):25 -> a
    8:13:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):98:103 -> a
    8:13:com.android.tools.r8.utils.structural.StructuralSpecification withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):25 -> a
    14:14:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withDexReference(java.util.function.Function):119:119 -> a
    14:14:com.android.tools.r8.utils.structural.StructuralSpecification withDexReference(java.util.function.Function):25 -> a
    1:1:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withBool(java.util.function.Predicate):64:64 -> b
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withBool(java.util.function.Predicate):25 -> b
    2:2:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withIntArray(java.util.function.Function):84:84 -> b
    2:2:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):25 -> b
    3:5:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):110:112 -> b
    3:5:com.android.tools.r8.utils.structural.StructuralSpecification withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):25 -> b
    1:1:com.android.tools.r8.utils.structural.HashCodeVisitor com.android.tools.r8.utils.structural.HashCodeVisitor.withShortArray(java.util.function.Function):89:89 -> i
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):25 -> i
com.android.tools.r8.utils.structural.HasherWrapper -> com.android.tools.r8.internal.Mm:
    java.lang.Object hash() -> a
    void putBoolean(boolean) -> a
    void putBytes(byte[]) -> a
    void putDouble(double) -> a
    void putFloat(float) -> a
    void putInt(int) -> a
    void putLong(long) -> a
    java.lang.String hashCodeAsString() -> b
    1:1:com.android.tools.r8.utils.structural.HasherWrapper sha256Hasher():33:33 -> c
com.android.tools.r8.utils.structural.HasherWrapper$HasherWrapped -> com.android.tools.r8.internal.Lm:
    com.android.tools.r8.com.google.common.hash.Hasher hasher -> a
    1:2:void <init>(com.android.tools.r8.com.google.common.hash.Hasher):44:45 -> <init>
    1:1:void putBoolean(boolean):50:50 -> a
    2:2:void putInt(int):55:55 -> a
    3:3:void putFloat(float):60:60 -> a
    4:4:void putLong(long):65:65 -> a
    5:5:void putDouble(double):70:70 -> a
    6:6:void putBytes(byte[]):75:75 -> a
    7:7:java.lang.Object hash():81:81 -> a
    1:1:java.lang.String hashCodeAsString():86:86 -> b
com.android.tools.r8.utils.structural.HashingVisitor -> com.android.tools.r8.internal.Qm:
    1:1:void <init>():16:16 -> <init>
    void visit(java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping) -> a
    void visitBool(boolean) -> a
    void visitDexString(com.android.tools.r8.graph.DexString) -> a
    void visitDexType(com.android.tools.r8.graph.DexType) -> a
    void visitDouble(double) -> a
    void visitFloat(float) -> a
    void visitInt(int) -> a
    void visitItemIterator(java.util.Iterator,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept) -> a
    void visitLong(long) -> a
    1:1:void visitItemCollection(java.util.Collection):36:36 -> a
    2:2:void visitDexField(com.android.tools.r8.graph.DexField):44:44 -> a
    3:3:void visitDexMethod(com.android.tools.r8.graph.DexMethod):48:48 -> a
    4:4:void visitDexReference(com.android.tools.r8.graph.DexReference):52:52 -> a
com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence -> com.android.tools.r8.internal.Sm:
    com.android.tools.r8.utils.structural.HasherWrapper hash -> a
    com.android.tools.r8.utils.structural.RepresentativeMap representatives -> b
    1:3:void <init>(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap):34:36 -> <init>
    1:1:void run(java.lang.Object,com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):28:28 -> a
    2:2:void visitBool(boolean):41:41 -> a
    3:3:void visitInt(int):46:46 -> a
    4:4:void visitFloat(float):51:51 -> a
    5:5:void visitLong(long):56:56 -> a
    6:6:void visitDouble(double):61:61 -> a
    7:7:void visitDexString(com.android.tools.r8.graph.DexString):66:66 -> a
    8:8:void visitDexType(com.android.tools.r8.graph.DexType):71:71 -> a
    9:9:void visit(java.lang.Object,com.android.tools.r8.utils.structural.StructuralMapping):76:76 -> a
    10:11:void visitItemIterator(java.util.Iterator,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):81:82 -> a
com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification -> com.android.tools.r8.internal.Rm:
    java.lang.Object item -> b
    com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence parent -> a
    boolean $assertionsDisabled -> c
    1:1:void <clinit>():86:86 -> <clinit>
    1:1:void <init>(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence,com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$1):86:86 -> <init>
    2:4:void <init>(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence):92:94 -> <init>
    com.android.tools.r8.utils.structural.StructuralSpecification self() -> a
    1:1:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withAssert(java.util.function.Predicate):104:104 -> a
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withAssert(java.util.function.Predicate):86 -> a
    2:2:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withInt(java.util.function.ToIntFunction):116:116 -> a
    2:2:com.android.tools.r8.utils.structural.StructuralSpecification withInt(java.util.function.ToIntFunction):86 -> a
    3:3:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withLong(java.util.function.ToLongFunction):122:122 -> a
    3:3:com.android.tools.r8.utils.structural.StructuralSpecification withLong(java.util.function.ToLongFunction):86 -> a
    4:8:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):156:160 -> a
    4:8:com.android.tools.r8.utils.structural.StructuralSpecification withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):86 -> a
    9:9:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withDexReference(java.util.function.Function):174:174 -> a
    9:9:com.android.tools.r8.utils.structural.StructuralSpecification withDexReference(java.util.function.Function):86 -> a
    1:1:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withBool(java.util.function.Predicate):110:110 -> b
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withBool(java.util.function.Predicate):86 -> b
    2:4:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withIntArray(java.util.function.Function):134:136 -> b
    2:4:com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function):86 -> b
    5:5:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):168:168 -> b
    5:5:com.android.tools.r8.utils.structural.StructuralSpecification withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):86 -> b
    1:3:com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification com.android.tools.r8.utils.structural.HashingVisitorWithTypeEquivalence$ItemSpecification.withShortArray(java.util.function.Function):143:145 -> i
    1:3:com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function):86 -> i
com.android.tools.r8.utils.structural.Ordered -> com.android.tools.r8.internal.VK:
    1:1:void <clinit>():7:7 -> <clinit>
    1:2:boolean isEqualTo(java.lang.Object):16:17 -> a
    3:3:com.android.tools.r8.utils.structural.Ordered maxIgnoreNull(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):45:45 -> a
    4:4:boolean betweenBothIncluded(java.lang.Object,java.lang.Object):65:65 -> a
    1:1:com.android.tools.r8.utils.structural.Ordered com.android.tools.r8.utils.structural.Ordered.min(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):21:21 -> b
    1:1:com.android.tools.r8.utils.structural.Ordered minIgnoreNull(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):35 -> b
    2:2:boolean isGreaterThan(java.lang.Object):57:57 -> b
    1:1:com.android.tools.r8.utils.structural.Ordered max(com.android.tools.r8.utils.structural.Ordered,com.android.tools.r8.utils.structural.Ordered):25:25 -> c
    2:2:boolean isLessThan(java.lang.Object):49:49 -> c
    1:1:boolean isGreaterThanOrEqualTo(java.lang.Object):61:61 -> d
    1:1:boolean isLessThanOrEqualTo(java.lang.Object):53:53 -> e
com.android.tools.r8.utils.structural.Ordered$1 -> com.android.tools.r8.internal.UK:
    boolean $assertionsDisabled -> a
    1:1:void <clinit>():16:16 -> <clinit>
com.android.tools.r8.utils.structural.RepresentativeMap -> com.android.tools.r8.internal.OS:
    com.android.tools.r8.graph.DexType getRepresentative(com.android.tools.r8.graph.DexType) -> a
com.android.tools.r8.utils.structural.StructuralAcceptor -> com.android.tools.r8.internal.rX:
com.android.tools.r8.utils.structural.StructuralItem -> com.android.tools.r8.internal.tX:
    com.android.tools.r8.utils.structural.StructuralItem self() -> E
    1:1:int compareTo(com.android.tools.r8.utils.structural.StructuralItem):28:28 -> a
    2:2:int compareWithTypeEquivalenceTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.RepresentativeMap):39:39 -> a
    3:4:int com.android.tools.r8.utils.structural.CompareToVisitorWithTypeEquivalence.run(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.RepresentativeMap,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept):20:21 -> a
    3:4:int compareWithTypeEquivalenceTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.RepresentativeMap):38 -> a
    5:5:int acceptCompareTo(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):44:44 -> a
    6:6:void hash(com.android.tools.r8.utils.structural.HasherWrapper):61:61 -> a
    7:7:void hashWithTypeEquivalence(com.android.tools.r8.utils.structural.HasherWrapper,com.android.tools.r8.utils.structural.RepresentativeMap):71:71 -> a
    8:8:void acceptHashing(com.android.tools.r8.utils.structural.HashingVisitor):76:76 -> a
    1:1:int compareTo(java.lang.Object):7:7 -> compareTo
    com.android.tools.r8.utils.structural.StructuralMapping getStructuralMapping() -> n
com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept -> com.android.tools.r8.internal.sX:
    int acceptCompareTo(java.lang.Object,java.lang.Object,com.android.tools.r8.utils.structural.CompareToVisitor) -> a
com.android.tools.r8.utils.structural.StructuralItem$HashingAccept -> com.android.tools.r8.internal.tX$a:
    void acceptHashing(java.lang.Object,com.android.tools.r8.utils.structural.HashingVisitor) -> a
com.android.tools.r8.utils.structural.StructuralMapping -> com.android.tools.r8.internal.uX:
    void apply(com.android.tools.r8.utils.structural.StructuralSpecification) -> a
com.android.tools.r8.utils.structural.StructuralSpecification -> com.android.tools.r8.internal.vX:
    1:1:void <init>():18:18 -> <init>
    boolean lambda$withCustomItem$0(java.lang.Object) -> a
    com.android.tools.r8.utils.structural.StructuralSpecification self() -> a
    com.android.tools.r8.utils.structural.StructuralSpecification withAssert(java.util.function.Predicate) -> a
    com.android.tools.r8.utils.structural.StructuralSpecification withConditionalCustomItem(java.util.function.Predicate,java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept) -> a
    com.android.tools.r8.utils.structural.StructuralSpecification withDexReference(java.util.function.Function) -> a
    com.android.tools.r8.utils.structural.StructuralSpecification withInt(java.util.function.ToIntFunction) -> a
    com.android.tools.r8.utils.structural.StructuralSpecification withLong(java.util.function.ToLongFunction) -> a
    1:2:com.android.tools.r8.utils.structural.StructuralSpecification withSpec(com.android.tools.r8.utils.structural.StructuralMapping):24:25 -> a
    3:3:com.android.tools.r8.utils.structural.StructuralSpecification withCustomItem(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept):39:39 -> a
    4:4:com.android.tools.r8.utils.structural.StructuralSpecification withCustomItemCollection(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralAcceptor):59:59 -> a
    5:5:boolean lambda$withNullableItem$2(java.util.function.Function,java.lang.Object):73:73 -> a
    6:6:com.android.tools.r8.utils.structural.StructuralSpecification withConditionalItem(java.util.function.Predicate,java.util.function.Function):78:78 -> a
    7:7:java.util.Iterator lambda$withItemArray$3(com.android.tools.r8.utils.structural.StructuralItem[]):93:93 -> a
    8:8:int lambda$withItemArrayAllowingNullMembers$5(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):104:104 -> a
    9:9:int lambda$withItemArrayAllowingNullMembers$5(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.CompareToVisitor):102:102 -> a
    10:12:void lambda$withItemArrayAllowingNullMembers$6(com.android.tools.r8.utils.structural.StructuralItem,com.android.tools.r8.utils.structural.HashingVisitor):108:110 -> a
    boolean lambda$withItem$1(java.lang.Object) -> b
    com.android.tools.r8.utils.structural.StructuralSpecification withBool(java.util.function.Predicate) -> b
    com.android.tools.r8.utils.structural.StructuralSpecification withCustomItemIterator(java.util.function.Function,com.android.tools.r8.utils.structural.StructuralItem$CompareToAccept,com.android.tools.r8.utils.structural.StructuralItem$HashingAccept) -> b
    com.android.tools.r8.utils.structural.StructuralSpecification withIntArray(java.util.function.Function) -> b
    1:1:java.util.Iterator lambda$withItemArrayAllowingNullMembers$4(com.android.tools.r8.utils.structural.StructuralItem[]):99:99 -> b
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withItem(java.util.function.Function):69:69 -> c
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withItemArray(java.util.function.Function):93:93 -> d
    1:3:com.android.tools.r8.utils.structural.StructuralSpecification withItemArrayAllowingNullMembers(java.util.function.Function):98:98 -> e
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withItemCollection(java.util.function.Function):89:89 -> f
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withItemIterator(java.util.function.Function):83:83 -> g
    1:1:com.android.tools.r8.utils.structural.StructuralSpecification withNullableItem(java.util.function.Function):73:73 -> h
    com.android.tools.r8.utils.structural.StructuralSpecification withShortArray(java.util.function.Function) -> i
com.android.tools.r8.verticalclassmerging.EmptyInterfaceTypeToClassTypeLensCodeRewriterHelper -> com.android.tools.r8.internal.Zh:
    1:1:void <init>():16:16 -> <init>
    void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
    void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
    void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
    void processWorklist() -> a
com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelper -> com.android.tools.r8.internal.Wt:
    1:1:void <init>():40:40 -> <init>
    void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
    void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
    void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator) -> a
    void processWorklist() -> a
    1:2:com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelper create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):47:48 -> a
    3:3:boolean com.android.tools.r8.graph.GraphLens.isVerticalClassMergerLens():0:0 -> a
    3:3:com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelper create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):51 -> a
    4:6:com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelper create(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens,com.android.tools.r8.graph.GraphLens):52:54 -> a
    7:7:boolean lambda$create$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):48:48 -> a
    8:8:boolean com.android.tools.r8.graph.GraphLens.isVerticalClassMergerLens():0:0 -> a
    8:8:boolean lambda$create$0(com.android.tools.r8.graph.GraphLens,com.android.tools.r8.graph.GraphLens$NonIdentityGraphLens):48 -> a
com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl -> com.android.tools.r8.internal.Yt:
    java.util.Map worklist -> c
    com.android.tools.r8.graph.AppView appView -> a
    com.android.tools.r8.ir.code.IRCode code -> b
    boolean $assertionsDisabled -> d
    1:1:void <clinit>():36:36 -> <clinit>
    1:1:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):45:45 -> <init>
    2:7:void <init>(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.code.IRCode):42:47 -> <init>
    1:9:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):58:66 -> a
    10:10:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    10:10:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):67 -> a
    11:11:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> a
    11:11:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):67 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    12:12:int com.android.tools.r8.graph.DexMethod.getNumberOfArguments(boolean):82:82 -> a
    12:12:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):67 -> a
    13:16:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):74:77 -> a
    17:17:boolean com.android.tools.r8.ir.code.Instruction.isInvokeStatic():0:0 -> a
    17:17:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):79 -> a
    18:18:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):79:79 -> a
    19:19:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):235:235 -> a
    19:19:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):80 -> a
    20:21:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.ir.code.InvokeMethod,com.android.tools.r8.graph.GraphLens$MethodLookupResult,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):80:81 -> a
    22:24:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):92:94 -> a
    25:25:com.android.tools.r8.graph.DexMethod com.android.tools.r8.graph.GraphLens.getOriginalMethodSignature(com.android.tools.r8.graph.DexMethod):317:317 -> a
    25:25:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):94 -> a
      # {"id":"com.android.tools.r8.rewriteFrame","conditions":["throws(Ljava/lang/NullPointerException;)"],"actions":["removeInnerFrames(1)"]}
    26:29:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):95:98 -> a
    30:30:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):235:235 -> a
    30:30:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):97 -> a
    31:32:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.Return,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):99:100 -> a
    33:35:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):128:130 -> a
    36:36:com.android.tools.r8.utils.OptionalBool com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):235:235 -> a
    36:36:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):130 -> a
    37:40:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):131:134 -> a
    41:41:void insertCastsForOperandsIfNeeded(com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.FieldPut,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):132:132 -> a
    42:65:void processWorklist():142:165 -> a
    66:70:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.insertCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):192:196 -> a
    66:70:void processWorklist():167 -> a
    71:71:com.android.tools.r8.ir.code.CheckCast$Builder com.android.tools.r8.ir.code.CheckCast.builder():50:50 -> a
    71:71:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.insertCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):196 -> a
    71:71:void processWorklist():167 -> a
    72:76:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.insertCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):197:201 -> a
    72:76:void processWorklist():167 -> a
    77:77:com.android.tools.r8.ir.analysis.type.TypeElement com.android.tools.r8.graph.DexType.toTypeElement(com.android.tools.r8.graph.AppView,com.android.tools.r8.ir.analysis.type.Nullability):73:73 -> a
    77:77:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.insertCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):201 -> a
    77:77:void processWorklist():167 -> a
    78:78:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.insertCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):202:202 -> a
    78:78:void processWorklist():167 -> a
    79:97:com.android.tools.r8.ir.code.InstructionListIterator com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.insertCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.graph.DexType,com.android.tools.r8.ir.code.Instruction,com.android.tools.r8.ir.code.BasicBlockIterator,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.ir.code.InstructionListIterator):199:217 -> a
    79:97:void processWorklist():167 -> a
    98:100:void addWorklistItem(com.android.tools.r8.ir.code.Instruction,int,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):180:182 -> a
    101:111:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):244:254 -> a
    112:116:boolean com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl.isOperandRewrittenWithLens(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,boolean):226:230 -> a
    112:116:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):259 -> a
    117:123:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):260:266 -> a
    124:124:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):265:265 -> a
    125:125:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):255:255 -> a
    126:126:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):250:250 -> a
    127:127:com.android.tools.r8.utils.OptionalBool needsCastForOperand(com.android.tools.r8.ir.code.Value,com.android.tools.r8.ir.code.BasicBlock,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType,boolean):245:245 -> a
com.android.tools.r8.verticalclassmerging.InterfaceTypeToClassTypeLensCodeRewriterHelperImpl$WorklistItem -> com.android.tools.r8.internal.Xt:
    com.android.tools.r8.graph.DexType rewrittenType -> c
    com.android.tools.r8.graph.DexType originalType -> b
    int operandIndex -> a
    1:4:void <init>(int,com.android.tools.r8.graph.DexType,com.android.tools.r8.graph.DexType):275:278 -> <init>
